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...

    Variable StreamEventSchemaConst

    StreamEventSchema: ZodDiscriminatedUnion<
        [
            ZodObject<
                {
                    data: ZodObject<
                        {
                            births: ZodOptional<ZodNumber>;
                            category: ZodOptional<ZodString>;
                            crisis: ZodOptional<ZodString>;
                            deaths: ZodOptional<ZodNumber>;
                            description: ZodOptional<ZodString>;
                            emergent: ZodOptional<ZodBoolean>;
                            metrics: ZodOptional<ZodRecord<ZodString, ZodNumber>>;
                            pacing: ZodOptional<ZodUnknown>;
                            summary: ZodOptional<ZodString>;
                            title: ZodOptional<ZodString>;
                            totalEvents: ZodOptional<ZodNumber>;
                            turnSummary: ZodOptional<ZodString>;
                        },
                        $strip,
                    >;
                    leader: ZodString;
                    time: ZodOptional<ZodNumber>;
                    turn: ZodOptional<ZodNumber>;
                    type: ZodLiteral<string>;
                },
                $strip,
            >,
            ZodObject<
                {
                    data: ZodObject<
                        {
                            category: ZodString;
                            description: ZodOptional<ZodString>;
                            emergent: ZodOptional<ZodBoolean>;
                            eventIndex: ZodNumber;
                            pacing: ZodOptional<ZodUnknown>;
                            summary: ZodOptional<ZodString>;
                            title: ZodString;
                            totalEvents: ZodNumber;
                            turnSummary: ZodOptional<ZodString>;
                        },
                        $strip,
                    >;
                    leader: ZodString;
                    time: ZodOptional<ZodNumber>;
                    turn: ZodOptional<ZodNumber>;
                    type: ZodLiteral<string>;
                },
                $strip,
            >,
            ZodObject<
                {
                    data: ZodObject<
                        {
                            department: ZodString;
                            eventIndex: ZodNumber;
                            summary: ZodOptional<ZodString>;
                        },
                        $strip,
                    >;
                    leader: ZodString;
                    time: ZodOptional<ZodNumber>;
                    turn: ZodOptional<ZodNumber>;
                    type: ZodLiteral<string>;
                },
                $strip,
            >,
        ],
        "type",
    > = ...

    Every SSE event emitted by runSimulation validates against this union. Consumers switch on event.type for full narrow-typed access to event.data fields.

    import { StreamEventSchema } from 'paracosm/schema';

    for await (const raw of sse) {
    const event = StreamEventSchema.parse(JSON.parse(raw));
    switch (event.type) {
    case 'outcome': console.log(event.data.systemDeltas); break;
    case 'decision_made': console.log(event.data.rationale); break;
    case 'provider_error': console.error(event.data.kind, event.data.message); break;
    }
    }