PARACOSM AGENTOS | API Reference v0.9.1035
Home Simulation API Docs GitHub npm
Home Simulation API Docs GitHub npm AgentOS Discord
paracosm - v0.9.1035
    Preparing search index...

    Interface ParacosmClient

    Handle returned by createParacosmClient. The three methods mirror the corresponding standalone exports — same arg shapes, same return types — but with the client's defaults layered in.

    interface ParacosmClient {
        compileScenario: (
            scenarioJson: Record<string, unknown>,
            opts?: CompileOptions,
        ) => Promise<ScenarioPackage>;
        runBatch: (config: BatchConfig) => Promise<BatchManifest>;
        runSimulation: (
            leader: ActorConfig,
            keyPersonnel: KeyPersonnel[],
            opts?: RunOptions,
        ) => Promise<
            {
                aborted?: boolean;
                assumptions?: string[];
                citations?: { context: string; doi?: string; text: string; url: string }[];
                cost?: {
                    breakdown?: Record<string, number>;
                    cachedReadTokens?: number;
                    cacheSavingsUSD?: number;
                    inputTokens?: number;
                    llmCalls?: number;
                    outputTokens?: number;
                    totalUSD: number;
                };
                decisions?: {
                    actor?: string;
                    choice: string;
                    outcome?: | "risky_success"
                    | "risky_failure"
                    | "conservative_success"
                    | "conservative_failure";
                    rationale?: string;
                    reasoning?: string;
                    scenarioExtensions?: Record<string, unknown>;
                    time: number;
                }[];
                disclaimer?: string;
                finalState?: {
                    capacities?: Record<string, number>;
                    environment?: Record<string, string | number | boolean>;
                    metrics: Record<string, number>;
                    politics?: Record<string, string | number | boolean>;
                    scenarioExtensions?: Record<string, unknown>;
                    statuses?: Record<string, string | boolean>;
                };
                finalSwarm?: {
                    agents: {
                        age?: number;
                        agentId: string;
                        alive: boolean;
                        childrenIds?: string[];
                        department: string;
                        featured?: boolean;
                        generation?: number;
                        marsborn?: boolean;
                        mood?: string;
                        name: string;
                        partnerId?: string;
                        psychScore?: number;
                        rank?: "junior"
                        | "senior"
                        | "lead"
                        | "chief";
                        role: string;
                        shortTermMemory?: string[];
                    }[];
                    births?: number;
                    deaths?: number;
                    morale?: number;
                    population: number;
                    scenarioExtensions?: Record<string, unknown>;
                    time: number;
                    turn: number;
                };
                fingerprint?: Record<string, string | number>;
                forgedTools?: {
                    approved: boolean;
                    confidence?: number;
                    department?: string;
                    description?: string;
                    name: string;
                }[];
                intervention?: {
                    adherenceProfile?: { expected: number; risks?: string[] };
                    category?: string;
                    description: string;
                    duration?: { unit: string; value: number };
                    id: string;
                    mechanism?: string;
                    name: string;
                    scenarioExtensions?: Record<string, unknown>;
                    targetBehaviors?: string[];
                };
                leveragePoints?: string[];
                metadata: {
                    completedAt?: string;
                    forkedFrom?: { atTurn: number; parentRunId: string };
                    mode: "turn-loop" | "batch-trajectory" | "batch-point";
                    runId: string;
                    scenario: { id: string; name: string; version?: string };
                    scenarioExtensions?: Record<string, unknown>;
                    seed?: number;
                    startedAt: string;
                };
                overview?: string;
                providerError?: | {
                    actionUrl?: string;
                    kind: "unknown"
                    | "auth"
                    | "quota"
                    | "rate_limit"
                    | "network";
                    message: string;
                    provider: string;
                }
                | null;
                riskFlags?: {
                    detail: string;
                    label: string;
                    scenarioExtensions?: Record<string, unknown>;
                    severity: "low" | "medium" | "high";
                }[];
                scenarioExtensions?: Record<string, unknown>;
                specialistNotes?: {
                    confidence?: number;
                    detail?: {
                        citations?: { context: ...; doi?: ...; text: ...; url: ... }[];
                        openQuestions?: string[];
                        opportunities?: { description: ...; impact: ... }[];
                        recommendedActions?: string[];
                        risks?: { description: ...; severity: ... }[];
                    };
                    domain: string;
                    scenarioExtensions?: Record<string, unknown>;
                    summary: string;
                    trajectory?: "positive" | "negative" | "neutral" | "mixed";
                }[];
                subject?: {
                    conditions?: string[];
                    id: string;
                    markers?: {
                        category?: string;
                        id: string;
                        interpretation?: string;
                        value?: string;
                    }[];
                    name: string;
                    personality?: Record<string, number>;
                    profile?: Record<string, unknown>;
                    scenarioExtensions?: Record<string, unknown>;
                    signals?: {
                        label: string;
                        recordedAt?: string;
                        unit?: string;
                        value: string | number;
                    }[];
                };
                trajectory?: {
                    points?: {
                        metrics: Record<string, number>;
                        scenarioExtensions?: Record<string, unknown>;
                        time: number;
                    }[];
                    timepoints?: {
                        confidence?: number;
                        highlightMetrics?: {
                            color?: ...;
                            direction?: ...;
                            label: ...;
                            value: ...;
                        }[];
                        label: string;
                        narrative?: string;
                        reasoning?: string;
                        scenarioExtensions?: Record<string, unknown>;
                        score?: { label: string; max: number; min: number; value: number };
                        time: number;
                        worldSnapshot?: {
                            capacities?: (...) | (...);
                            environment?: (...) | (...);
                            metrics: Record<(...), (...)>;
                            politics?: (...) | (...);
                            scenarioExtensions?: (...) | (...);
                            statuses?: (...) | (...);
                        };
                    }[];
                    timeUnit: { plural: string; singular: string };
                };
            },
        >;
    }
    Index
    compileScenario: (
        scenarioJson: Record<string, unknown>,
        opts?: CompileOptions,
    ) => Promise<ScenarioPackage>

    Compile a scenario with the client's compiler defaults.

    runBatch: (config: BatchConfig) => Promise<BatchManifest>

    Run a batch sweep. Scenarios / leaders / turns / seed are the caller's responsibility; provider + costPreset + models inherit.

    runSimulation: (
        leader: ActorConfig,
        keyPersonnel: KeyPersonnel[],
        opts?: RunOptions,
    ) => Promise<
        {
            aborted?: boolean;
            assumptions?: string[];
            citations?: { context: string; doi?: string; text: string; url: string }[];
            cost?: {
                breakdown?: Record<string, number>;
                cachedReadTokens?: number;
                cacheSavingsUSD?: number;
                inputTokens?: number;
                llmCalls?: number;
                outputTokens?: number;
                totalUSD: number;
            };
            decisions?: {
                actor?: string;
                choice: string;
                outcome?: | "risky_success"
                | "risky_failure"
                | "conservative_success"
                | "conservative_failure";
                rationale?: string;
                reasoning?: string;
                scenarioExtensions?: Record<string, unknown>;
                time: number;
            }[];
            disclaimer?: string;
            finalState?: {
                capacities?: Record<string, number>;
                environment?: Record<string, string | number | boolean>;
                metrics: Record<string, number>;
                politics?: Record<string, string | number | boolean>;
                scenarioExtensions?: Record<string, unknown>;
                statuses?: Record<string, string | boolean>;
            };
            finalSwarm?: {
                agents: {
                    age?: number;
                    agentId: string;
                    alive: boolean;
                    childrenIds?: string[];
                    department: string;
                    featured?: boolean;
                    generation?: number;
                    marsborn?: boolean;
                    mood?: string;
                    name: string;
                    partnerId?: string;
                    psychScore?: number;
                    rank?: "junior"
                    | "senior"
                    | "lead"
                    | "chief";
                    role: string;
                    shortTermMemory?: string[];
                }[];
                births?: number;
                deaths?: number;
                morale?: number;
                population: number;
                scenarioExtensions?: Record<string, unknown>;
                time: number;
                turn: number;
            };
            fingerprint?: Record<string, string | number>;
            forgedTools?: {
                approved: boolean;
                confidence?: number;
                department?: string;
                description?: string;
                name: string;
            }[];
            intervention?: {
                adherenceProfile?: { expected: number; risks?: string[] };
                category?: string;
                description: string;
                duration?: { unit: string; value: number };
                id: string;
                mechanism?: string;
                name: string;
                scenarioExtensions?: Record<string, unknown>;
                targetBehaviors?: string[];
            };
            leveragePoints?: string[];
            metadata: {
                completedAt?: string;
                forkedFrom?: { atTurn: number; parentRunId: string };
                mode: "turn-loop" | "batch-trajectory" | "batch-point";
                runId: string;
                scenario: { id: string; name: string; version?: string };
                scenarioExtensions?: Record<string, unknown>;
                seed?: number;
                startedAt: string;
            };
            overview?: string;
            providerError?: | {
                actionUrl?: string;
                kind: "unknown"
                | "auth"
                | "quota"
                | "rate_limit"
                | "network";
                message: string;
                provider: string;
            }
            | null;
            riskFlags?: {
                detail: string;
                label: string;
                scenarioExtensions?: Record<string, unknown>;
                severity: "low" | "medium" | "high";
            }[];
            scenarioExtensions?: Record<string, unknown>;
            specialistNotes?: {
                confidence?: number;
                detail?: {
                    citations?: { context: ...; doi?: ...; text: ...; url: ... }[];
                    openQuestions?: string[];
                    opportunities?: { description: ...; impact: ... }[];
                    recommendedActions?: string[];
                    risks?: { description: ...; severity: ... }[];
                };
                domain: string;
                scenarioExtensions?: Record<string, unknown>;
                summary: string;
                trajectory?: "positive" | "negative" | "neutral" | "mixed";
            }[];
            subject?: {
                conditions?: string[];
                id: string;
                markers?: {
                    category?: string;
                    id: string;
                    interpretation?: string;
                    value?: string;
                }[];
                name: string;
                personality?: Record<string, number>;
                profile?: Record<string, unknown>;
                scenarioExtensions?: Record<string, unknown>;
                signals?: {
                    label: string;
                    recordedAt?: string;
                    unit?: string;
                    value: string | number;
                }[];
            };
            trajectory?: {
                points?: {
                    metrics: Record<string, number>;
                    scenarioExtensions?: Record<string, unknown>;
                    time: number;
                }[];
                timepoints?: {
                    confidence?: number;
                    highlightMetrics?: {
                        color?: ...;
                        direction?: ...;
                        label: ...;
                        value: ...;
                    }[];
                    label: string;
                    narrative?: string;
                    reasoning?: string;
                    scenarioExtensions?: Record<string, unknown>;
                    score?: { label: string; max: number; min: number; value: number };
                    time: number;
                    worldSnapshot?: {
                        capacities?: (...) | (...);
                        environment?: (...) | (...);
                        metrics: Record<(...), (...)>;
                        politics?: (...) | (...);
                        scenarioExtensions?: (...) | (...);
                        statuses?: (...) | (...);
                    };
                }[];
                timeUnit: { plural: string; singular: string };
            };
        },
    >

    Run one simulation. Leader + key personnel passed per-call; all other options inherit from the client with per-call overrides.