{"version":3,"file":"agentModel.mjs","names":[],"sources":["../../src/schemas/agentModel.ts"],"sourcesContent":["import { type Static, Type } from 'typebox';\n\n/**\n * The custom session entry the runtime journals when the agent's model changes\n * without a client having asked for it.\n *\n * Pi reports a thinking-level switch on the wire as `thinking_level_changed`,\n * so a cockpit can follow that field from the frame alone. It has no matching\n * event for the model: `model_select` is delivered to extensions inside the\n * agent process and never leaves it. A client therefore learns about a model\n * an extension chose (plan mode applying its configured planning model) only\n * by asking for `get_state`, which nothing prompts it to do.\n *\n * This entry closes that gap on the road the minor-mode projection already\n * uses: it rides Pi's `entry_appended` frames, so any RPC client sees the\n * change live and on replay without a new protocol.\n */\nexport const DOOM_AGENT_MODEL_ENTRY_TYPE = 'doom-agent-model';\n\nexport const AgentModelProjectionSchema = Type.Object(\n  {\n    provider: Type.String({ minLength: 1, maxLength: 128 }),\n    id: Type.String({ minLength: 1, maxLength: 256 }),\n  },\n  { additionalProperties: false },\n);\n\n/** The model the agent is on, named the way `set_model` and `get_state` name it. */\nexport type AgentModelProjection = Static<typeof AgentModelProjectionSchema>;\n"],"mappings":"+BAiBA,MAAa,EAA8B,mBAE9B,EAA6B,EAAK,OAC7C,CACE,SAAU,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,GAAI,CAAC,EACtD,GAAI,EAAK,OAAO,CAAE,UAAW,EAAG,UAAW,GAAI,CAAC,CAClD,EACA,CAAE,qBAAsB,EAAM,CAChC"}