@linnlabs/linnkit 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/bin/linnkit.cjs +7 -0
  3. package/dist/{agentSpec-EkmviZjy.d.cts → agentSpec-Du4Iye0q.d.cts} +16 -1
  4. package/dist/{agentSpec-EkmviZjy.d.ts → agentSpec-Du4Iye0q.d.ts} +16 -1
  5. package/dist/cli.cjs +118 -65
  6. package/dist/cli.cjs.map +1 -1
  7. package/dist/cli.js +118 -65
  8. package/dist/cli.js.map +1 -1
  9. package/dist/context-manager.cjs +234 -32
  10. package/dist/context-manager.cjs.map +1 -1
  11. package/dist/context-manager.d.cts +52 -15
  12. package/dist/context-manager.d.ts +52 -15
  13. package/dist/context-manager.js +234 -33
  14. package/dist/context-manager.js.map +1 -1
  15. package/dist/{context-trace-HE2qY5Q-.d.cts → context-trace-BHKDS-eq.d.cts} +2 -2
  16. package/dist/{context-trace-DRi5M4lX.d.ts → context-trace-CHbqHmyE.d.ts} +2 -2
  17. package/dist/contracts.cjs +3 -1
  18. package/dist/contracts.cjs.map +1 -1
  19. package/dist/contracts.d.cts +3 -3
  20. package/dist/contracts.d.ts +3 -3
  21. package/dist/contracts.js +3 -1
  22. package/dist/contracts.js.map +1 -1
  23. package/dist/{defaultGraphExecutor-BBswR8wn.d.ts → defaultGraphExecutor-B29_qTHy.d.ts} +16 -15
  24. package/dist/{defaultGraphExecutor-BIjJj7WF.d.cts → defaultGraphExecutor-C2E59v_R.d.cts} +16 -15
  25. package/dist/{index-BanRABEt.d.cts → index-BAaUP9yU.d.cts} +26 -14
  26. package/dist/{index-Z8NXKNwI.d.ts → index-BaVpVNi2.d.ts} +26 -14
  27. package/dist/{index-DO4dQgf2.d.cts → index-BnYCS8Zg.d.cts} +2 -2
  28. package/dist/{index-CJeWHopy.d.ts → index-C0DAjsdX.d.ts} +2 -2
  29. package/dist/{index-Dl5PLgAv.d.cts → index-CKQzzZ5Y.d.cts} +2 -2
  30. package/dist/{index-CHqwkvGp.d.ts → index-D0mKxTR5.d.ts} +2 -2
  31. package/dist/index.cjs +186 -85
  32. package/dist/index.cjs.map +1 -1
  33. package/dist/index.d.cts +10 -10
  34. package/dist/index.d.ts +10 -10
  35. package/dist/index.js +186 -85
  36. package/dist/index.js.map +1 -1
  37. package/dist/{ports-DnLuKfpE.d.ts → ports-DpPTFhSd.d.ts} +2 -2
  38. package/dist/{ports-DaatKJXp.d.cts → ports-s-tSp3sB.d.cts} +2 -2
  39. package/dist/quickstart.cjs +119 -65
  40. package/dist/quickstart.cjs.map +1 -1
  41. package/dist/quickstart.d.cts +7 -7
  42. package/dist/quickstart.d.ts +7 -7
  43. package/dist/quickstart.js +119 -65
  44. package/dist/quickstart.js.map +1 -1
  45. package/dist/{runAgent-CPj_9e58.d.ts → runAgent-C6F-399C.d.ts} +5 -5
  46. package/dist/{runAgent-HYKlXbVr.d.cts → runAgent-ilEj66Ik.d.cts} +5 -5
  47. package/dist/{runHandle-D3gPsD7B.d.cts → runHandle-BNOqS-Bl.d.cts} +3 -3
  48. package/dist/{runHandle-CyXvzgzk.d.ts → runHandle-BdLXOFqF.d.ts} +3 -3
  49. package/dist/runtime-kernel/events.cjs +1 -0
  50. package/dist/runtime-kernel/events.cjs.map +1 -1
  51. package/dist/runtime-kernel/events.d.cts +4 -4
  52. package/dist/runtime-kernel/events.d.ts +4 -4
  53. package/dist/runtime-kernel/events.js +1 -0
  54. package/dist/runtime-kernel/events.js.map +1 -1
  55. package/dist/runtime-kernel.cjs +181 -82
  56. package/dist/runtime-kernel.cjs.map +1 -1
  57. package/dist/runtime-kernel.d.cts +8 -8
  58. package/dist/runtime-kernel.d.ts +8 -8
  59. package/dist/runtime-kernel.js +181 -83
  60. package/dist/runtime-kernel.js.map +1 -1
  61. package/dist/testkit.cjs +181 -82
  62. package/dist/testkit.cjs.map +1 -1
  63. package/dist/testkit.d.cts +8 -8
  64. package/dist/testkit.d.ts +8 -8
  65. package/dist/testkit.js +181 -82
  66. package/dist/testkit.js.map +1 -1
  67. package/dist/{todo-B1PmDlp3.d.cts → todo-Ca8llpRQ.d.cts} +1 -1
  68. package/dist/{todo-B1PmDlp3.d.ts → todo-Ca8llpRQ.d.ts} +1 -1
  69. package/dist/{toolContracts-CLkQmhTG.d.cts → toolContracts-Bm3EZ1UM.d.cts} +13 -2
  70. package/dist/{toolContracts-Blll0241.d.ts → toolContracts-f8lzZBNa.d.ts} +13 -2
  71. package/docs/integration/README.md +1 -1
  72. package/docs/integration/agent-registration-guide.md +1 -1
  73. package/docs/integration/child-runs.md +4 -1
  74. package/docs/integration/context-engineering.md +30 -15
  75. package/docs/integration/context-fences.md +32 -3
  76. package/docs/integration/llm-provider.md +1 -1
  77. package/docs/integration/persistence.md +1 -0
  78. package/docs/integration/run-supervisor.md +3 -0
  79. package/docs/integration/tool-development-guide.md +7 -5
  80. package/docs/integration/tool-history.md +43 -17
  81. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contracts/messages.ts","../src/contracts/contextPolicy.ts","../src/contracts/agentSpec.ts","../src/contracts/audit.ts","../src/contracts/events.ts","../src/contracts/constants.ts","../src/contracts/execution.ts","../src/contracts/sse.ts"],"names":["z","JsonRecord"],"mappings":"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","file":"contracts.js","sourcesContent":["import { z } from 'zod';\n\nexport const ProviderReasoningDetails = z.array(z.unknown());\nexport type ProviderReasoningDetails = z.infer<typeof ProviderReasoningDetails>;\n\nexport const ToolCallExtraContent = z.object({\n google: z.object({\n thought_signature: z.string().optional(),\n }).passthrough().optional(),\n}).passthrough();\n\nexport type ToolCallExtraContent = z.infer<typeof ToolCallExtraContent>;\n\nexport const ToolCallWire = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: z.object({\n name: z.string(),\n arguments: z.string(),\n }),\n extra_content: ToolCallExtraContent.optional(),\n}).passthrough();\n\nexport type ToolCallWire = z.infer<typeof ToolCallWire>;\n\nexport const HistorySummaryMeta = z.object({\n messageType: z.literal('summary'),\n originalMessageCount: z.number().int().positive(),\n compressionRatio: z.number().min(0).max(1).optional(),\n includedOldSummary: z.boolean(),\n replacedMessageIds: z.array(z.string()),\n summarySeq: z.number().int().nonnegative(),\n});\n\nexport type HistorySummaryMeta = z.infer<typeof HistorySummaryMeta>;\n\nexport const ToolCallsMeta = z.object({\n tool_calls: z.array(ToolCallWire),\n reasoning_details: ProviderReasoningDetails.optional(),\n});\n\nexport type ToolCallsMeta = z.infer<typeof ToolCallsMeta>;\n\nexport const ToolOutputMeta = z.object({\n tool_name: z.string(),\n args: z.record(z.unknown()).optional(),\n tool_call_id: z.string(),\n});\n\nexport type ToolOutputMeta = z.infer<typeof ToolOutputMeta>;\n\nexport const ImageInfoMeta = z.object({\n url: z.string().optional(),\n width: z.number().int().positive().optional(),\n height: z.number().int().positive().optional(),\n format: z.string().optional(),\n size: z.number().int().nonnegative().optional(),\n});\n\nexport type ImageInfoMeta = z.infer<typeof ImageInfoMeta>;\n\nexport const TaskTrackingMeta = z.object({\n taskType: z.string().optional(),\n taskId: z.string().optional(),\n taskStatus: z.enum(['requested', 'in_progress', 'completed', 'failed']).optional(),\n taskTrackingInfo: z.object({\n startTime: z.number().optional(),\n endTime: z.number().optional(),\n duration: z.number().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n lastError: z.string().optional(),\n }).optional(),\n});\n\nexport type TaskTrackingMeta = z.infer<typeof TaskTrackingMeta>;\n\nexport const PersistentMetadata = z.object({\n messageType: z.literal('summary').optional(),\n originalMessageCount: z.number().int().positive().optional(),\n compressionRatio: z.number().min(0).max(1).optional(),\n includedOldSummary: z.boolean().optional(),\n replacedMessageIds: z.array(z.string()).optional(),\n summarySeq: z.number().int().nonnegative().optional(),\n tool_calls: z.array(ToolCallWire).optional(),\n reasoning_details: ProviderReasoningDetails.optional(),\n tool_name: z.string().optional(),\n args: z.record(z.unknown()).optional(),\n tool_call_id: z.string().optional(),\n raw_output: z.string().optional(),\n image_info: ImageInfoMeta.optional(),\n taskType: z.string().optional(),\n taskId: z.string().optional(),\n taskStatus: z.enum(['requested', 'in_progress', 'completed', 'failed']).optional(),\n taskTrackingInfo: z.object({\n startTime: z.number().optional(),\n endTime: z.number().optional(),\n duration: z.number().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n lastError: z.string().optional(),\n }).optional(),\n fenceKind: z.string().optional(),\n fenceAttrs: z.record(z.unknown()).optional(),\n fencePlacement: z.string().optional(),\n}).passthrough();\n\nexport type PersistentMetadata = z.infer<typeof PersistentMetadata>;\n\nconst BaseMessage = z.object({\n id: z.string(),\n content: z.string(),\n timestamp: z.number().int().nonnegative(),\n metadata: PersistentMetadata.optional(),\n});\n\nexport const SystemMessage = BaseMessage.extend({\n role: z.literal('system'),\n type: z.enum(['system_prompt', 'history_summary', 'context_injection']),\n});\n\nexport type SystemMessage = z.infer<typeof SystemMessage>;\n\nexport const UserMessage = BaseMessage.extend({\n role: z.literal('user'),\n type: z.enum([\n 'user_input',\n 'context_injection',\n 'context_before',\n 'context_after',\n 'document_fragment',\n 'task_request',\n 'image',\n ]),\n});\n\nexport type UserMessage = z.infer<typeof UserMessage>;\n\nexport const AssistantMessage = BaseMessage.extend({\n role: z.literal('assistant'),\n type: z.enum([\n 'thought',\n 'final_answer',\n 'tool_code',\n 'tool_calls',\n 'task_completion',\n ]),\n});\n\nexport type AssistantMessage = z.infer<typeof AssistantMessage>;\n\nexport const ToolMessage = BaseMessage.extend({\n role: z.literal('tool'),\n type: z.literal('tool_output'),\n});\n\nexport type ToolMessage = z.infer<typeof ToolMessage>;\n\nexport const AiMessage = z.discriminatedUnion('role', [\n SystemMessage,\n UserMessage,\n AssistantMessage,\n ToolMessage,\n]);\n\nexport type AiMessage = z.infer<typeof AiMessage>;\n\nexport function createSystemMessage(\n type: SystemMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): SystemMessage {\n return {\n id: crypto.randomUUID(),\n role: 'system',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createUserMessage(\n type: UserMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): UserMessage {\n return {\n id: crypto.randomUUID(),\n role: 'user',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createAssistantMessage(\n type: AssistantMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): AssistantMessage {\n return {\n id: crypto.randomUUID(),\n role: 'assistant',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createToolMessage(\n content: string,\n toolCallId: string,\n toolName: string,\n metadata?: PersistentMetadata,\n): ToolMessage {\n return {\n id: crypto.randomUUID(),\n role: 'tool',\n type: 'tool_output',\n content,\n timestamp: Date.now(),\n metadata: {\n ...metadata,\n tool_call_id: toolCallId,\n tool_name: toolName,\n },\n };\n}\n\nexport function createHistorySummaryMessage(\n content: string,\n summaryMeta: HistorySummaryMeta,\n): SystemMessage {\n return {\n id: crypto.randomUUID(),\n role: 'system',\n type: 'history_summary',\n content,\n timestamp: Date.now(),\n metadata: summaryMeta,\n };\n}\n\nexport function validateAiMessage(data: unknown): z.SafeParseReturnType<unknown, AiMessage> {\n return AiMessage.safeParse(data);\n}\n\nexport function validateHistorySummaryMeta(\n data: unknown,\n): z.SafeParseReturnType<unknown, HistorySummaryMeta> {\n return HistorySummaryMeta.safeParse(data);\n}\n\nexport function isSystemMessage(message: AiMessage): message is SystemMessage {\n return message.role === 'system';\n}\n\nexport function isUserMessage(message: AiMessage): message is UserMessage {\n return message.role === 'user';\n}\n\nexport function isAssistantMessage(message: AiMessage): message is AssistantMessage {\n return message.role === 'assistant';\n}\n\nexport function isToolMessage(message: AiMessage): message is ToolMessage {\n return message.role === 'tool';\n}\n\nexport function isHistorySummaryMessage(message: AiMessage): message is SystemMessage {\n return message.role === 'system'\n && message.type === 'history_summary'\n && message.metadata?.messageType === 'summary';\n}\n\nexport function hasToolCalls(message: AiMessage): boolean {\n return message.role === 'assistant'\n && Array.isArray(message.metadata?.tool_calls)\n && message.metadata.tool_calls.length > 0;\n}\n","import { z } from 'zod';\n\ntype SerializableJsonValue =\n | string\n | number\n | boolean\n | null\n | SerializableJsonValue[]\n | { [key: string]: SerializableJsonValue };\n\nconst SerializableJsonValueSchema: z.ZodType<SerializableJsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(SerializableJsonValueSchema),\n z.record(z.string(), SerializableJsonValueSchema),\n ]),\n);\n\nconst SerializableJsonRecord = z.record(z.string(), SerializableJsonValueSchema);\n\nexport const AgentSpecMessageType = z.enum([\n 'system_prompt',\n 'history_summary',\n 'context_injection',\n 'user_input',\n 'context_before',\n 'context_after',\n 'document_fragment',\n 'task_request',\n 'image',\n 'thought',\n 'final_answer',\n 'tool_code',\n 'tool_calls',\n 'task_completion',\n 'tool_output',\n]);\nexport type AgentSpecMessageType = z.infer<typeof AgentSpecMessageType>;\n\nexport const AgentSpecBudgetPolicy = z.object({\n maxTokens: z.number().int().positive().optional(),\n reservedForResponse: z.number().int().nonnegative().optional(),\n workingMemoryBudgetPercentage: z.number().min(0).max(1).optional(),\n});\nexport type AgentSpecBudgetPolicy = z.infer<typeof AgentSpecBudgetPolicy>;\n\nexport const AgentSpecToolHistoryPolicy = z.object({\n strategy: z.enum(['per-pair', 'per-run', 'none']).optional(),\n keepLatestToolPairs: z.number().int().nonnegative().optional(),\n keepLatestRuns: z.number().int().nonnegative().optional(),\n maxInteractionGroups: z.number().int().nonnegative().optional(),\n overflowStrategy: z.enum(['keep-latest', 'fail-fast']).optional(),\n maxPairTokens: z.number().int().nonnegative().optional(),\n maxOutputSummaryTokens: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecToolHistoryPolicy = z.infer<typeof AgentSpecToolHistoryPolicy>;\n\nexport const AgentSpecToolObservationGovernancePolicy = z.object({\n enabled: z.boolean().optional(),\n maxChars: z.number().int().positive().optional(),\n maxLines: z.number().int().positive().optional(),\n});\nexport type AgentSpecToolObservationGovernancePolicy = z.infer<typeof AgentSpecToolObservationGovernancePolicy>;\n\nexport const AgentSpecToolOutputPolicy = z.object({\n observationGovernance: AgentSpecToolObservationGovernancePolicy.optional(),\n});\nexport type AgentSpecToolOutputPolicy = z.infer<typeof AgentSpecToolOutputPolicy>;\n\nexport const AgentSpecProviderReplayPolicy = z.object({\n provider: z.string().min(1).optional(),\n requiresReasoningDetailsForToolReplay: z.boolean().optional(),\n missingSidecarBehavior: z.enum(['allow', 'degrade_to_text', 'provider_empty_replay_field']).optional(),\n});\nexport type AgentSpecProviderReplayPolicy = z.infer<typeof AgentSpecProviderReplayPolicy>;\n\nexport const AgentSpecSummarizationPolicy = z.object({\n triggerThreshold: z.number().min(0).max(1).optional(),\n budgetPercentage: z.number().min(0).max(1).optional(),\n oldestMessagesPercentage: z.number().min(0).max(1).optional(),\n agentId: z.string().min(1).optional(),\n failureBehavior: z.enum(['fail-fast', 'continue-if-within-budget']).optional(),\n});\nexport type AgentSpecSummarizationPolicy = z.infer<typeof AgentSpecSummarizationPolicy>;\n\nexport const AgentSpecMustKeepTruncationRule = z.object({\n fenceKind: z.string().min(1),\n maxBudgetFraction: z.number().gt(0).max(1),\n strategyName: z.string().min(1),\n});\nexport type AgentSpecMustKeepTruncationRule = z.infer<typeof AgentSpecMustKeepTruncationRule>;\n\nexport const AgentSpecMustKeepPolicy = z.object({\n alwaysKeepTypes: z.array(AgentSpecMessageType).optional(),\n alwaysKeepFenceKinds: z.array(z.string().min(1)).optional(),\n truncationRules: z.array(AgentSpecMustKeepTruncationRule).optional(),\n});\nexport type AgentSpecMustKeepPolicy = z.infer<typeof AgentSpecMustKeepPolicy>;\n\nexport const AgentSpecWorkingMemoryPolicy = z.object({\n maxRecentToolInteractions: z.number().int().nonnegative().optional(),\n minToolInteractionsToKeep: z.number().int().nonnegative().optional(),\n toolPairingSearchRange: z.number().int().positive().optional(),\n});\nexport type AgentSpecWorkingMemoryPolicy = z.infer<typeof AgentSpecWorkingMemoryPolicy>;\n\nexport const AgentSpecCheckpointPolicy = z.object({\n keepPairsBefore: z.number().int().nonnegative().optional(),\n triggerToolName: z.string().min(1).optional(),\n});\nexport type AgentSpecCheckpointPolicy = z.infer<typeof AgentSpecCheckpointPolicy>;\n\nexport const AgentSpecReasoningRetentionPolicy = z.object({\n keepLatestThoughts: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecReasoningRetentionPolicy = z.infer<typeof AgentSpecReasoningRetentionPolicy>;\n\nexport const AgentSpecTokenEstimationPolicy = z.object({\n encoding: z.string().min(1).optional(),\n avgCharsPerToken: z.number().positive().optional(),\n toolCallOverhead: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecTokenEstimationPolicy = z.infer<typeof AgentSpecTokenEstimationPolicy>;\n\nexport const SYSTEM_REMINDER_BUILTIN_TRIGGER_KINDS = [\n 'phase-equals',\n 'remaining-steps-leq',\n 'step-count-modulo',\n 'tool-call-streak',\n 'budget-warning',\n 'agent-has-tool',\n] as const;\n\nexport const AgentSpecSystemReminderTrigger = z.object({\n kind: z.string().min(1),\n threshold: z.number().nonnegative().optional(),\n value: z.union([z.string(), z.number(), z.boolean()]).optional(),\n moduloStep: z.boolean().optional(),\n toolName: z.string().min(1).optional(),\n period: z.number().int().positive().optional(),\n minStep: z.number().int().nonnegative().optional(),\n ratio: z.number().min(0).max(1).optional(),\n config: SerializableJsonRecord.optional(),\n});\nexport type AgentSpecSystemReminderTrigger = z.infer<typeof AgentSpecSystemReminderTrigger>;\n\nexport const AgentSpecSystemReminderExtraRule = z.object({\n id: z.string().min(1),\n trigger: AgentSpecSystemReminderTrigger,\n contentTemplate: z.string().min(1),\n contentArgs: SerializableJsonRecord.optional(),\n});\nexport type AgentSpecSystemReminderExtraRule = z.infer<typeof AgentSpecSystemReminderExtraRule>;\n\nexport const AgentSpecSystemReminderPolicy = z.object({\n enabledRuleIds: z.array(z.string().min(1)).nullable().optional(),\n disabledRuleIds: z.array(z.string().min(1)).optional(),\n thresholds: z.object({\n toolCallStreak: z.number().int().nonnegative().optional(),\n taskstateReflectionPeriod: z.number().int().positive().optional(),\n budgetWarningRatio: z.number().min(0).max(1).optional(),\n lastStepsHintThreshold: z.number().int().nonnegative().optional(),\n }).optional(),\n extraRules: z.array(AgentSpecSystemReminderExtraRule).optional(),\n}).superRefine((value, ctx) => {\n if (value.enabledRuleIds !== undefined && value.enabledRuleIds !== null && value.disabledRuleIds?.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['disabledRuleIds'],\n message: 'enabledRuleIds and disabledRuleIds cannot be configured at the same time',\n });\n }\n});\nexport type AgentSpecSystemReminderPolicy = z.infer<typeof AgentSpecSystemReminderPolicy>;\n\nexport const AgentSpecContextTracePolicy = z.object({\n enabled: z.boolean().optional(),\n includeMessageIds: z.boolean().optional(),\n includeTokenBreakdown: z.boolean().optional(),\n maxTraceEvents: z.number().int().positive().optional(),\n});\nexport type AgentSpecContextTracePolicy = z.infer<typeof AgentSpecContextTracePolicy>;\n\nexport const AgentSpecContextPolicy = z.object({\n profileId: z.string().min(1),\n budget: AgentSpecBudgetPolicy.optional(),\n toolHistory: AgentSpecToolHistoryPolicy.optional(),\n toolOutput: AgentSpecToolOutputPolicy.optional(),\n providerReplay: AgentSpecProviderReplayPolicy.optional(),\n summarization: AgentSpecSummarizationPolicy.optional(),\n mustKeep: AgentSpecMustKeepPolicy.optional(),\n workingMemory: AgentSpecWorkingMemoryPolicy.optional(),\n checkpoint: AgentSpecCheckpointPolicy.optional(),\n reasoningRetention: AgentSpecReasoningRetentionPolicy.optional(),\n tokenEstimation: AgentSpecTokenEstimationPolicy.optional(),\n systemReminder: AgentSpecSystemReminderPolicy.optional(),\n contextTrace: AgentSpecContextTracePolicy.optional(),\n});\nexport type AgentSpecContextPolicy = z.infer<typeof AgentSpecContextPolicy>;\n\nexport type AgentSpecContextPolicyInput = Omit<z.input<typeof AgentSpecContextPolicy>, 'profileId'> & {\n profileId?: string;\n};\n\nconst DEFAULT_CONTEXT_POLICY: Required<AgentSpecContextPolicy> = {\n profileId: 'agent',\n budget: {\n maxTokens: 120000,\n reservedForResponse: 2400,\n workingMemoryBudgetPercentage: 0.7,\n },\n toolHistory: {\n strategy: 'per-run',\n keepLatestToolPairs: 2,\n keepLatestRuns: 1,\n maxInteractionGroups: 12,\n overflowStrategy: 'keep-latest',\n maxPairTokens: 6000,\n maxOutputSummaryTokens: 1000,\n },\n toolOutput: {\n observationGovernance: {\n enabled: true,\n maxChars: 20_000,\n maxLines: 1_200,\n },\n },\n providerReplay: {},\n summarization: {\n triggerThreshold: 0.7,\n budgetPercentage: 0.12,\n oldestMessagesPercentage: 0.75,\n failureBehavior: 'fail-fast',\n },\n mustKeep: {\n alwaysKeepTypes: ['system_prompt', 'user_input'],\n alwaysKeepFenceKinds: [],\n truncationRules: [],\n },\n workingMemory: {\n maxRecentToolInteractions: 2,\n minToolInteractionsToKeep: 2,\n toolPairingSearchRange: 10,\n },\n checkpoint: {\n keepPairsBefore: 2,\n triggerToolName: 'context_checkpoint',\n },\n reasoningRetention: {\n keepLatestThoughts: 1,\n },\n tokenEstimation: {\n encoding: 'cl100k_base',\n avgCharsPerToken: 2.0,\n toolCallOverhead: 50,\n },\n systemReminder: {\n enabledRuleIds: null,\n disabledRuleIds: [],\n thresholds: {\n toolCallStreak: 10,\n taskstateReflectionPeriod: 30,\n budgetWarningRatio: 0.9,\n lastStepsHintThreshold: 0,\n },\n extraRules: [],\n },\n contextTrace: {\n enabled: false,\n includeMessageIds: true,\n includeTokenBreakdown: true,\n maxTraceEvents: 200,\n },\n};\n\n/**\n * 创建完整 contextPolicy。\n *\n * 中文备注:\n * - schema 保持 optional,避免现有 host 的 `{ profileId: 'agent' }` 类型大面积变红;\n * - 需要完整默认值时走这个 helper,后续 F1.2/F1.3 的 adapter 与 fallback 会复用它。\n */\nexport function defineContextPolicy(input: AgentSpecContextPolicyInput = {}): AgentSpecContextPolicy {\n const merged: Required<AgentSpecContextPolicy> = {\n profileId: input.profileId ?? DEFAULT_CONTEXT_POLICY.profileId,\n budget: { ...DEFAULT_CONTEXT_POLICY.budget, ...input.budget },\n toolHistory: { ...DEFAULT_CONTEXT_POLICY.toolHistory, ...input.toolHistory },\n toolOutput: {\n ...DEFAULT_CONTEXT_POLICY.toolOutput,\n ...input.toolOutput,\n observationGovernance: {\n ...DEFAULT_CONTEXT_POLICY.toolOutput.observationGovernance,\n ...input.toolOutput?.observationGovernance,\n },\n },\n providerReplay: { ...DEFAULT_CONTEXT_POLICY.providerReplay, ...input.providerReplay },\n summarization: { ...DEFAULT_CONTEXT_POLICY.summarization, ...input.summarization },\n mustKeep: { ...DEFAULT_CONTEXT_POLICY.mustKeep, ...input.mustKeep },\n workingMemory: { ...DEFAULT_CONTEXT_POLICY.workingMemory, ...input.workingMemory },\n checkpoint: { ...DEFAULT_CONTEXT_POLICY.checkpoint, ...input.checkpoint },\n reasoningRetention: { ...DEFAULT_CONTEXT_POLICY.reasoningRetention, ...input.reasoningRetention },\n tokenEstimation: { ...DEFAULT_CONTEXT_POLICY.tokenEstimation, ...input.tokenEstimation },\n systemReminder: {\n ...DEFAULT_CONTEXT_POLICY.systemReminder,\n ...input.systemReminder,\n thresholds: {\n ...DEFAULT_CONTEXT_POLICY.systemReminder.thresholds,\n ...input.systemReminder?.thresholds,\n },\n extraRules: input.systemReminder?.extraRules ?? DEFAULT_CONTEXT_POLICY.systemReminder.extraRules,\n },\n contextTrace: { ...DEFAULT_CONTEXT_POLICY.contextTrace, ...input.contextTrace },\n };\n\n return AgentSpecContextPolicy.parse(merged);\n}\n","import { z } from 'zod';\nimport { AgentSpecContextPolicy } from './contextPolicy';\n\nconst JsonRecord = z.record(z.string(), z.unknown());\n\n/**\n * 工具参数 schema 在 AgentSpec 里是可序列化契约,不是运行时 zod 对象。\n * 这里主动拦截 zod-like 对象,避免把 `z.any()` 一类实现细节混进协议层。\n */\nconst ToolArgsSchemaSpec = JsonRecord.superRefine((value, ctx) => {\n const parse = value['parse'];\n const safeParse = value['safeParse'];\n const definition = value['_def'];\n if (typeof parse === 'function' && typeof safeParse === 'function' && definition !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'argsSchema must be a serializable record, not a runtime zod schema',\n });\n }\n});\n\nexport const AgentCapability = z.string().min(1);\nexport type AgentCapability = z.infer<typeof AgentCapability>;\n\nexport const ToolBindingSpec = z.object({\n toolId: z.string().min(1),\n bindingId: z.string().min(1).optional(),\n argsSchema: ToolArgsSchemaSpec.optional(),\n config: JsonRecord.optional(),\n metadata: JsonRecord.optional(),\n});\nexport type ToolBindingSpec = z.infer<typeof ToolBindingSpec>;\n\nexport const AgentSpecModelHints = z.object({\n preferredProviders: z.array(z.string().min(1)).optional(),\n preferredModels: z.array(z.string().min(1)).optional(),\n fallbackChain: z.array(z.string().min(1)).optional(),\n});\nexport type AgentSpecModelHints = z.infer<typeof AgentSpecModelHints>;\n\nexport const AgentSpecAuditConfig = z.object({\n redactionLevel: z.enum(['none', 'standard', 'strict']).optional(),\n pii: z.boolean().optional(),\n});\nexport type AgentSpecAuditConfig = z.infer<typeof AgentSpecAuditConfig>;\n\nexport const AgentSpec = z.object({\n id: z.string().min(1),\n version: z.string().min(1),\n role: z.string().optional(),\n description: z.string().optional(),\n capabilities: z.array(AgentCapability),\n tools: z.array(ToolBindingSpec),\n contextPolicy: AgentSpecContextPolicy,\n modelHints: AgentSpecModelHints.optional(),\n audit: AgentSpecAuditConfig.optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AgentSpec = z.infer<typeof AgentSpec>;\n","import { z } from 'zod';\n\nconst JsonRecord = z.record(z.string(), z.unknown());\n\nexport const AUDIT_ACTIONS = [\n 'model.select',\n 'model.fallback',\n 'tool.allow',\n 'tool.deny',\n 'wait_user.request',\n 'sandbox.decide',\n 'run.cancel',\n 'run.pause',\n 'run.resume',\n 'memory.write',\n] as const;\n\nexport const AUDIT_DECISION_OUTCOMES = [\n 'allowed',\n 'denied',\n 'fallback',\n 'retry',\n 'cancelled',\n 'paused',\n 'resumed',\n 'requested',\n 'recorded',\n] as const;\n\nexport const AuditActor = z.object({\n kind: z.enum(['system', 'host', 'agent', 'model', 'tool', 'user']),\n id: z.string().min(1).optional(),\n name: z.string().min(1).optional(),\n});\nexport type AuditActor = z.infer<typeof AuditActor>;\n\nexport const AuditDecision = z.object({\n outcome: z.enum(AUDIT_DECISION_OUTCOMES),\n reason: z.string().optional(),\n policy: z.string().optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditDecision = z.infer<typeof AuditDecision>;\n\nexport const AuditEvidence = z.object({\n kind: z.string().min(1),\n ref: z.string().min(1).optional(),\n summary: z.string().optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditEvidence = z.infer<typeof AuditEvidence>;\n\nexport const AuditCostDelta = z.object({\n tokensInput: z.number().int().nonnegative().optional(),\n tokensOutput: z.number().int().nonnegative().optional(),\n totalCostUsd: z.number().nonnegative().optional(),\n latencyMs: z.number().nonnegative().optional(),\n});\nexport type AuditCostDelta = z.infer<typeof AuditCostDelta>;\n\nexport const AuditScope = z.object({\n conversationId: z.string().min(1).optional(),\n runId: z.string().min(1).optional(),\n parentRunId: z.string().min(1).optional(),\n turnId: z.string().min(1).optional(),\n traceId: z.string().min(1).optional(),\n agentSpecId: z.string().min(1).optional(),\n toolCallId: z.string().min(1).optional(),\n toolName: z.string().min(1).optional(),\n modelId: z.string().min(1).optional(),\n nodeId: z.string().min(1).optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditScope = z.infer<typeof AuditScope>;\n\n/**\n * 标准审计信封。\n *\n * 中文备注:\n * - action 保持 string,以便 host 扩展自己的动作名;\n * - decision/evidence/costDelta 都是可选事实片段,避免把所有审计场景压成同一种形状;\n * - envelope 必须追加只读,更新/撤回应追加新的补偿 envelope。\n */\nexport const AuditEnvelope = z.object({\n envelopeId: z.string().min(1),\n runId: z.string().min(1),\n parentRunId: z.string().min(1).optional(),\n ts: z.number().int().nonnegative(),\n actor: AuditActor,\n action: z.string().min(1),\n decision: AuditDecision.optional(),\n evidence: z.array(AuditEvidence).optional(),\n costDelta: AuditCostDelta.optional(),\n scope: AuditScope.optional(),\n});\nexport type AuditEnvelope = z.infer<typeof AuditEnvelope>;\n","import { z } from 'zod';\nimport { AuditEnvelope } from './audit';\n\nexport const BaseEvent = z.object({\n id: z.string(),\n conversation_id: z.string(),\n timestamp: z.number(),\n metadata: z.record(z.unknown()).optional(),\n version: z.literal(1).default(1),\n turn_id: z.string(),\n ephemeral: z.boolean().optional(),\n});\n\nexport const ToolCallPhase = z.enum(['start', 'update', 'complete', 'error']);\nexport const Status = z.enum(['loading', 'success', 'error']);\nexport const AgentTodoStatus = z.enum(['pending', 'in_progress', 'completed', 'cancelled']);\n\nexport const AgentTodoItem = z.object({\n id: z.string(),\n content: z.string(),\n status: AgentTodoStatus,\n});\n\nexport const ProviderReasoningDetailsPayload = z.array(z.unknown());\nexport type ProviderReasoningDetailsPayload = z.infer<typeof ProviderReasoningDetailsPayload>;\n\nexport const ToolCallDecisionPayload = z.object({\n args: z.record(z.any()).optional(),\n tool_calls: z.array(z.unknown()).optional(),\n /**\n * 不透明 provider reasoning replay blocks。\n *\n * RuntimeEvent 层的标准位置是 assistant 产出事件携带 reasoning_details;\n * context-manager 会把它回放到 AiMessage.metadata.reasoning_details。\n */\n reasoning_details: ProviderReasoningDetailsPayload.optional(),\n}).passthrough();\n\nexport type ToolCallDecisionPayload = z.infer<typeof ToolCallDecisionPayload>;\n\nexport const RuntimeEvent = z.discriminatedUnion('type', [\n BaseEvent.extend({\n type: z.literal('user_input'),\n content: z.string(),\n raw_content: z.string().optional(),\n source: z.enum(['user', 'editor', 'system']).default('user'),\n }),\n BaseEvent.extend({\n type: z.literal('thought'),\n content: z.string(),\n thought_message_id: z.string().optional(),\n delta: z.string().optional(),\n is_complete: z.boolean().default(false),\n }),\n BaseEvent.extend({\n type: z.literal('tool_call_decision'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: ToolCallPhase,\n status: Status,\n args: z.record(z.any()).optional(),\n payload: ToolCallDecisionPayload.optional(),\n parent_tool_call_id: z.string().optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('tool_process'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: ToolCallPhase,\n status: Status,\n args: z.record(z.any()).optional(),\n payload: z.record(z.any()).optional(),\n parent_tool_call_id: z.string().optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('tool_output'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n status: z.enum(['success', 'error']),\n output: z.any().optional(),\n payload: z.record(z.any()).optional(),\n error: z.string().optional(),\n duration_ms: z.number().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('todo_updated'),\n todo_list_id: z.string(),\n todo_list_version: z.number().int().nonnegative(),\n items: z.array(AgentTodoItem),\n }),\n BaseEvent.extend({\n type: z.literal('subrun_trace'),\n parent_tool_call_id: z.string(),\n subrun_id: z.string(),\n subrun_parent_id: z.string().optional(),\n kind: z.enum([\n 'thought_delta',\n 'thought_complete',\n 'tool_call_decision',\n 'tool_process',\n 'tool_output',\n 'final_answer_chunk',\n 'final_answer',\n ]),\n delta: z.string().optional(),\n content: z.string().optional(),\n tool_name: z.string().optional(),\n tool_call_id: z.string().optional(),\n phase: ToolCallPhase.optional(),\n status: Status.optional(),\n args: z.unknown().optional(),\n output: z.unknown().optional(),\n duration_ms: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('requires_user_interaction'),\n form: z.any().optional(),\n interaction_type: z.string().optional(),\n prompt: z.string().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('audit_envelope'),\n envelope: AuditEnvelope,\n }),\n BaseEvent.extend({\n type: z.literal('final_answer'),\n answer_id: z.string(),\n content: z.string(),\n is_complete: z.boolean().default(true),\n reasoning_details: ProviderReasoningDetailsPayload.optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('final_answer_chunk'),\n answer_id: z.string(),\n seq: z.number().int().nonnegative(),\n content: z.string(),\n is_last: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('history_summary'),\n content: z.string(),\n replaced_message_ids: z.array(z.string()),\n summary_seq: z.number().int().nonnegative(),\n original_message_count: z.number().int().nonnegative().optional(),\n compression_ratio: z.number().min(0).max(1).optional(),\n included_old_summary: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('error'),\n error: z.string(),\n details: z.any().optional(),\n error_code: z.string().optional(),\n retryable: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('control'),\n op: z.enum(['truncate_after', 'replace', 'redo', 'branch']),\n target_id: z.string().optional(),\n reason: z.string().optional(),\n meta: z.any().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('stream_end'),\n reason: z.enum(['complete', 'error', 'interrupted', 'timeout']).optional(),\n reason_message: z.string().optional(),\n stats: z.object({\n total_events: z.number().optional(),\n duration_ms: z.number().optional(),\n error_count: z.number().optional(),\n }).optional(),\n }),\n]);\n\nexport type RuntimeEvent = z.infer<typeof RuntimeEvent>;\nexport type UserInputEvent = Extract<RuntimeEvent, { type: 'user_input' }>;\nexport type ThoughtEvent = Extract<RuntimeEvent, { type: 'thought' }>;\nexport type ToolCallDecisionEvent = Extract<RuntimeEvent, { type: 'tool_call_decision' }>;\nexport type ToolProcessEvent = Extract<RuntimeEvent, { type: 'tool_process' }>;\nexport type ToolOutputEvent = Extract<RuntimeEvent, { type: 'tool_output' }>;\nexport type TodoUpdatedEvent = Extract<RuntimeEvent, { type: 'todo_updated' }>;\nexport type SubRunTraceEvent = Extract<RuntimeEvent, { type: 'subrun_trace' }>;\nexport type RequiresUserInteractionEvent = Extract<RuntimeEvent, { type: 'requires_user_interaction' }>;\nexport type AuditEnvelopeEvent = Extract<RuntimeEvent, { type: 'audit_envelope' }>;\nexport type FinalAnswerEvent = Extract<RuntimeEvent, { type: 'final_answer' }>;\nexport type FinalAnswerChunkEvent = Extract<RuntimeEvent, { type: 'final_answer_chunk' }>;\nexport type HistorySummaryEvent = Extract<RuntimeEvent, { type: 'history_summary' }>;\nexport type ErrorEvent = Extract<RuntimeEvent, { type: 'error' }>;\nexport type ControlEvent = Extract<RuntimeEvent, { type: 'control' }>;\nexport type StreamEndEvent = Extract<RuntimeEvent, { type: 'stream_end' }>;\n\nexport const validateRuntimeEvent = (event: unknown) => RuntimeEvent.safeParse(event);\nexport const validateRuntimeEvents = (events: unknown[]) => z.array(RuntimeEvent).safeParse(events);\n\nexport const createUserInputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n options: Partial<UserInputEvent> = {},\n): UserInputEvent => ({\n type: 'user_input',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n source: 'user',\n ...options,\n});\n\nexport const createThoughtEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n options: Partial<ThoughtEvent> = {},\n): ThoughtEvent => ({\n type: 'thought',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n is_complete: false,\n ...options,\n});\n\nexport const createToolCallDecisionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n options: Partial<ToolCallDecisionEvent> = {},\n): ToolCallDecisionEvent => ({\n type: 'tool_call_decision',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase: 'start',\n status: 'loading',\n ...options,\n});\n\nexport const createToolProcessEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n options: Partial<ToolProcessEvent> = {},\n): ToolProcessEvent => ({\n type: 'tool_process',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase: 'start',\n status: 'loading',\n ...options,\n});\n\nexport const createSubRunTraceEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n parentToolCallId: string,\n subrunId: string,\n kind: SubRunTraceEvent['kind'],\n options: Partial<SubRunTraceEvent> = {},\n): SubRunTraceEvent => ({\n type: 'subrun_trace',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n ephemeral: true,\n parent_tool_call_id: parentToolCallId,\n subrun_id: subrunId,\n kind,\n ...options,\n});\n\nexport const createToolOutputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n output: unknown,\n status: 'success' | 'error' = 'success',\n options: Partial<ToolOutputEvent> = {},\n): ToolOutputEvent => ({\n type: 'tool_output',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n status,\n output,\n ...options,\n});\n\nexport const createTodoUpdatedEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n todoListId: string,\n todoListVersion: number,\n items: TodoUpdatedEvent['items'],\n options: Partial<TodoUpdatedEvent> = {},\n): TodoUpdatedEvent => ({\n type: 'todo_updated',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n todo_list_id: todoListId,\n todo_list_version: todoListVersion,\n items,\n ...options,\n});\n\nexport const createFinalAnswerEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n content: string,\n options: Partial<FinalAnswerEvent> = {},\n): FinalAnswerEvent => ({\n type: 'final_answer',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n answer_id: answerId,\n content,\n is_complete: true,\n ...options,\n});\n\nexport const createAuditEnvelopeEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n envelope: AuditEnvelopeEvent['envelope'],\n options: Partial<AuditEnvelopeEvent> = {},\n): AuditEnvelopeEvent => ({\n type: 'audit_envelope',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: envelope.ts,\n version: 1,\n envelope,\n metadata: {\n audit_action: envelope.action,\n run_context: {\n runId: envelope.runId,\n parentId: envelope.parentRunId,\n traceId: envelope.scope?.traceId,\n },\n },\n ...options,\n});\n\nexport const createFinalAnswerChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n seq: number,\n content: string,\n options: Partial<FinalAnswerChunkEvent> = {},\n): FinalAnswerChunkEvent => ({\n type: 'final_answer_chunk',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n answer_id: answerId,\n seq,\n content,\n ...options,\n});\n\nexport const createHistorySummaryEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n replacedMessageIds: string[],\n summarySeq: number,\n options: Partial<HistorySummaryEvent> = {},\n): HistorySummaryEvent => ({\n type: 'history_summary',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n replaced_message_ids: replacedMessageIds,\n summary_seq: summarySeq,\n ...options,\n});\n\nexport const createErrorEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n error: string,\n options: Partial<ErrorEvent> = {},\n): ErrorEvent => ({\n type: 'error',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n error,\n ...options,\n});\n\nexport const createStreamEndEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<StreamEndEvent> = {},\n): StreamEndEvent => ({\n type: 'stream_end',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n ...options,\n});\n","export const DEFAULT_MAX_STEPS = 80;\n","import { z } from 'zod';\n\nexport const ExecutionTraceContext = z.object({\n execution_id: z.string().describe('The unique identifier for a single, complete execution flow.'),\n trace_id: z.string().optional().describe('An optional trace ID for correlating logs in an APM system.'),\n});\n\nconst EventEnvelopeSchema = z.object({\n seq: z.number().int().nonnegative().describe('A monotonically increasing sequence number within a single execution.'),\n timestamp: z.number().describe('The high-precision timestamp of when the event occurred.'),\n trace: ExecutionTraceContext,\n source: z.string().describe(\"The origin of the event, e.g., 'ai', 'tool:file_reader', 'system:summary'.\"),\n payload: z.unknown(),\n render_hint: z.object({\n card: z.enum(['normal', 'collapsible', 'none', 'image', 'interactive']).optional().describe('Hint for how the UI card should be rendered.'),\n content: z.enum(['markdown', 'text', 'json', 'image_url', 'code']).default('text').describe('Hint for how the content itself should be interpreted.'),\n }).optional(),\n run_location: z.enum(['frontend', 'backend']).optional().describe('Specifies where a tool action should be or was executed.'),\n});\n\nexport const EventEnvelope = EventEnvelopeSchema;\n\ntype EventEnvelopeBase = z.infer<typeof EventEnvelopeSchema>;\n\nexport type EventEnvelope<TPayload = unknown> = Omit<EventEnvelopeBase, 'payload'> & {\n payload: TPayload;\n};\n\nexport type ExecutionTraceContext = z.infer<typeof ExecutionTraceContext>;\n","import { z } from 'zod';\n\nexport const BaseSSEEvent = z.object({\n id: z.string(),\n timestamp: z.number(),\n conversation_id: z.string(),\n turn_id: z.string(),\n metadata: z.record(z.unknown()).optional(),\n});\n\nexport type BaseSSEEvent = z.infer<typeof BaseSSEEvent>;\n\nexport const SSEThoughtEvent = BaseSSEEvent.extend({\n type: z.literal('thought'),\n thought_message_id: z.string().optional(),\n delta: z.string().optional(),\n content: z.string().optional(),\n is_complete: z.boolean().default(false),\n});\n\nexport type SSEThoughtEvent = z.infer<typeof SSEThoughtEvent>;\n\nexport const SSEFinalAnswerChunkEvent = BaseSSEEvent.extend({\n type: z.literal('final_answer_chunk'),\n answer_id: z.string(),\n seq: z.number().int().nonnegative(),\n chunk: z.string(),\n is_last: z.boolean().optional(),\n});\n\nexport type SSEFinalAnswerChunkEvent = z.infer<typeof SSEFinalAnswerChunkEvent>;\n\nexport const SSEFinalAnswerEvent = BaseSSEEvent.extend({\n type: z.literal('final_answer'),\n answer_id: z.string(),\n content: z.string(),\n meta: z.record(z.any()).optional(),\n});\n\nexport type SSEFinalAnswerEvent = z.infer<typeof SSEFinalAnswerEvent>;\n\nexport const SSEMarkdownChunkEvent = BaseSSEEvent.extend({\n type: z.literal('markdown_chunk'),\n content_type: z.enum(['text', 'code', 'table', 'image']).default('text'),\n text: z.string(),\n seq: z.number().optional(),\n});\n\nexport type SSEMarkdownChunkEvent = z.infer<typeof SSEMarkdownChunkEvent>;\n\nconst BaseSSEToolLifecycleEvent = BaseSSEEvent.extend({\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: z.enum(['start', 'update', 'complete', 'error']),\n status: z.enum(['loading', 'success', 'error']),\n args: z.any().optional(),\n payload: z.any().optional(),\n meta: z.record(z.any()).optional(),\n});\n\nexport const SSEToolCallDecisionEvent = BaseSSEToolLifecycleEvent.extend({\n type: z.literal('tool_call_decision'),\n});\n\nexport type SSEToolCallDecisionEvent = z.infer<typeof SSEToolCallDecisionEvent>;\n\nexport const SSEToolProcessEvent = BaseSSEToolLifecycleEvent.extend({\n type: z.literal('tool_process'),\n});\n\nexport type SSEToolProcessEvent = z.infer<typeof SSEToolProcessEvent>;\n\nexport const SSEToolOutputEvent = BaseSSEEvent.extend({\n type: z.literal('tool_output'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n status: z.enum(['success', 'error']),\n output: z.any().optional(),\n payload: z.record(z.any()).optional(),\n duration_ms: z.number().optional(),\n});\n\nexport type SSEToolOutputEvent = z.infer<typeof SSEToolOutputEvent>;\n\nexport const SSETodoUpdatedEvent = BaseSSEEvent.extend({\n type: z.literal('todo_updated'),\n todo_list_id: z.string(),\n todo_list_version: z.number().int().nonnegative(),\n items: z.array(z.object({\n id: z.string(),\n content: z.string(),\n status: z.enum(['pending', 'in_progress', 'completed', 'cancelled']),\n })),\n});\n\nexport type SSETodoUpdatedEvent = z.infer<typeof SSETodoUpdatedEvent>;\n\nexport const SSESubRunTraceEvent = BaseSSEEvent.extend({\n type: z.literal('subrun_trace'),\n parent_tool_call_id: z.string(),\n subrun_id: z.string(),\n subrun_parent_id: z.string().optional(),\n kind: z.enum([\n 'thought_delta',\n 'thought_complete',\n 'tool_call_decision',\n 'tool_process',\n 'tool_output',\n 'final_answer_chunk',\n 'final_answer',\n ]),\n delta: z.string().optional(),\n content: z.string().optional(),\n tool_name: z.string().optional(),\n tool_call_id: z.string().optional(),\n phase: z.enum(['start', 'update', 'complete', 'error']).optional(),\n status: z.enum(['loading', 'success', 'error']).optional(),\n args: z.unknown().optional(),\n output: z.unknown().optional(),\n duration_ms: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n});\n\nexport type SSESubRunTraceEvent = z.infer<typeof SSESubRunTraceEvent>;\n\nexport const SSERequiresUserInteractionEvent = BaseSSEEvent.extend({\n type: z.literal('requires_user_interaction'),\n form: z.any().optional(),\n interaction_type: z.string().optional(),\n prompt: z.string().optional(),\n});\n\nexport type SSERequiresUserInteractionEvent = z.infer<typeof SSERequiresUserInteractionEvent>;\n\nexport const SSEErrorEvent = BaseSSEEvent.extend({\n type: z.literal('error'),\n error: z.string(),\n details: z.any().optional(),\n error_code: z.string().optional(),\n retryable: z.boolean().optional(),\n});\n\nexport type SSEErrorEvent = z.infer<typeof SSEErrorEvent>;\n\nexport const SSEStreamEndEvent = BaseSSEEvent.extend({\n type: z.literal('stream_end'),\n reason: z.enum(['complete', 'error', 'interrupted', 'timeout']).optional(),\n reason_message: z.string().optional(),\n stats: z.object({\n total_events: z.number().optional(),\n duration_ms: z.number().optional(),\n error_count: z.number().optional(),\n benchmark: z.record(z.unknown()).optional(),\n }).optional(),\n});\n\nexport type SSEStreamEndEvent = z.infer<typeof SSEStreamEndEvent>;\n\nexport const SSEHistorySummaryEvent = BaseSSEEvent.extend({\n type: z.literal('history_summary'),\n summary_id: z.string(),\n content: z.string(),\n original_message_count: z.number().int().nonnegative(),\n summary_seq: z.number().int().nonnegative(),\n});\n\nexport type SSEHistorySummaryEvent = z.infer<typeof SSEHistorySummaryEvent>;\n\nexport const SSESummarizationStartEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_start'),\n originalMessages: z.number().optional(),\n});\n\nexport type SSESummarizationStartEvent = z.infer<typeof SSESummarizationStartEvent>;\n\nexport const SSESummarizationEndEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_end'),\n originalMessages: z.number().optional(),\n compressedMessages: z.number().optional(),\n compressionRatio: z.string().optional(),\n timeSaved: z.string().optional(),\n});\n\nexport type SSESummarizationEndEvent = z.infer<typeof SSESummarizationEndEvent>;\n\nexport const SSESummarizationErrorEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_error'),\n error: z.string(),\n});\n\nexport type SSESummarizationErrorEvent = z.infer<typeof SSESummarizationErrorEvent>;\n\nexport const SSEEvent = z.discriminatedUnion('type', [\n SSEThoughtEvent,\n SSEFinalAnswerChunkEvent,\n SSEFinalAnswerEvent,\n SSEMarkdownChunkEvent,\n SSEToolCallDecisionEvent,\n SSEToolProcessEvent,\n SSEToolOutputEvent,\n SSETodoUpdatedEvent,\n SSESubRunTraceEvent,\n SSERequiresUserInteractionEvent,\n SSEErrorEvent,\n SSEStreamEndEvent,\n SSEHistorySummaryEvent,\n SSESummarizationStartEvent,\n SSESummarizationEndEvent,\n SSESummarizationErrorEvent,\n]);\n\nexport type SSEEvent = z.infer<typeof SSEEvent>;\n\nexport const validateSSEEvent = (event: unknown) => SSEEvent.safeParse(event);\n\nexport const createSSEThoughtEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: { thought_message_id?: string; delta?: string; content?: string; is_complete?: boolean } = {},\n): SSEThoughtEvent => ({\n type: 'thought',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n is_complete: false,\n ...options,\n});\n\nexport const createSSEFinalAnswerChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n seq: number,\n chunk: string,\n options: { is_last?: boolean } = {},\n): SSEFinalAnswerChunkEvent => ({\n type: 'final_answer_chunk',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n answer_id: answerId,\n seq,\n chunk,\n ...options,\n});\n\nexport const createSSEFinalAnswerEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n content: string,\n options: Partial<SSEFinalAnswerEvent> = {},\n): SSEFinalAnswerEvent => ({\n type: 'final_answer',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n answer_id: answerId,\n content,\n ...options,\n});\n\nexport const createSSEMarkdownChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n text: string,\n options: Partial<SSEMarkdownChunkEvent> = {},\n): SSEMarkdownChunkEvent => ({\n type: 'markdown_chunk',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n text,\n content_type: 'text',\n ...options,\n});\n\nexport const createSSEToolCallDecisionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n phase: SSEToolCallDecisionEvent['phase'],\n status: SSEToolCallDecisionEvent['status'],\n options: Partial<SSEToolCallDecisionEvent> = {},\n): SSEToolCallDecisionEvent => ({\n type: 'tool_call_decision',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase,\n status,\n ...options,\n});\n\nexport const createSSEToolProcessEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n phase: SSEToolProcessEvent['phase'],\n status: SSEToolProcessEvent['status'],\n options: Partial<SSEToolProcessEvent> = {},\n): SSEToolProcessEvent => ({\n type: 'tool_process',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase,\n status,\n ...options,\n});\n\nexport const createSSEToolOutputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n status: SSEToolOutputEvent['status'],\n output: unknown,\n options: Partial<SSEToolOutputEvent> = {},\n): SSEToolOutputEvent => ({\n type: 'tool_output',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n status,\n output,\n ...options,\n});\n\nexport const createSSETodoUpdatedEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n todoListId: string,\n todoListVersion: number,\n items: SSETodoUpdatedEvent['items'],\n options: Partial<SSETodoUpdatedEvent> = {},\n): SSETodoUpdatedEvent => ({\n type: 'todo_updated',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n todo_list_id: todoListId,\n todo_list_version: todoListVersion,\n items,\n ...options,\n});\n\nexport const createSSESubRunTraceEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n parentToolCallId: string,\n subrunId: string,\n kind: SSESubRunTraceEvent['kind'],\n options: Partial<SSESubRunTraceEvent> = {},\n): SSESubRunTraceEvent => ({\n type: 'subrun_trace',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n parent_tool_call_id: parentToolCallId,\n subrun_id: subrunId,\n kind,\n ...options,\n});\n\nexport const createSSERequiresUserInteractionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<SSERequiresUserInteractionEvent> = {},\n): SSERequiresUserInteractionEvent => ({\n type: 'requires_user_interaction',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n ...options,\n});\n\nexport const createSSEErrorEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n error: string,\n options: Partial<SSEErrorEvent> = {},\n): SSEErrorEvent => ({\n type: 'error',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n error,\n ...options,\n});\n\nexport const createSSEStreamEndEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<SSEStreamEndEvent> = {},\n): SSEStreamEndEvent => ({\n type: 'stream_end',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n ...options,\n});\n\nexport const createSSEHistorySummaryEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n summaryId: string,\n content: string,\n originalMessageCount: number,\n summarySeq: number,\n options: Partial<SSEHistorySummaryEvent> = {},\n): SSEHistorySummaryEvent => ({\n type: 'history_summary',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n summary_id: summaryId,\n content,\n original_message_count: originalMessageCount,\n summary_seq: summarySeq,\n ...options,\n});\n"]}
1
+ {"version":3,"sources":["../src/contracts/messages.ts","../src/contracts/contextPolicy.ts","../src/contracts/agentSpec.ts","../src/contracts/audit.ts","../src/contracts/events.ts","../src/contracts/constants.ts","../src/contracts/execution.ts","../src/contracts/sse.ts"],"names":["z","JsonRecord"],"mappings":"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","file":"contracts.js","sourcesContent":["import { z } from 'zod';\n\nexport const ProviderReasoningDetails = z.array(z.unknown());\nexport type ProviderReasoningDetails = z.infer<typeof ProviderReasoningDetails>;\n\nexport const ToolCallExtraContent = z.object({\n google: z.object({\n thought_signature: z.string().optional(),\n }).passthrough().optional(),\n}).passthrough();\n\nexport type ToolCallExtraContent = z.infer<typeof ToolCallExtraContent>;\n\nexport const ToolCallWire = z.object({\n id: z.string(),\n type: z.literal('function'),\n function: z.object({\n name: z.string(),\n arguments: z.string(),\n }),\n extra_content: ToolCallExtraContent.optional(),\n}).passthrough();\n\nexport type ToolCallWire = z.infer<typeof ToolCallWire>;\n\nexport const HistorySummaryMeta = z.object({\n messageType: z.literal('summary'),\n originalMessageCount: z.number().int().positive(),\n compressionRatio: z.number().min(0).max(1).optional(),\n includedOldSummary: z.boolean(),\n replacedMessageIds: z.array(z.string()),\n summarySeq: z.number().int().nonnegative(),\n});\n\nexport type HistorySummaryMeta = z.infer<typeof HistorySummaryMeta>;\n\nexport const ToolCallsMeta = z.object({\n tool_calls: z.array(ToolCallWire),\n reasoning_details: ProviderReasoningDetails.optional(),\n});\n\nexport type ToolCallsMeta = z.infer<typeof ToolCallsMeta>;\n\nexport const ToolOutputMeta = z.object({\n tool_name: z.string(),\n args: z.record(z.unknown()).optional(),\n tool_call_id: z.string(),\n});\n\nexport type ToolOutputMeta = z.infer<typeof ToolOutputMeta>;\n\nexport const ImageInfoMeta = z.object({\n url: z.string().optional(),\n width: z.number().int().positive().optional(),\n height: z.number().int().positive().optional(),\n format: z.string().optional(),\n size: z.number().int().nonnegative().optional(),\n});\n\nexport type ImageInfoMeta = z.infer<typeof ImageInfoMeta>;\n\nexport const TaskTrackingMeta = z.object({\n taskType: z.string().optional(),\n taskId: z.string().optional(),\n taskStatus: z.enum(['requested', 'in_progress', 'completed', 'failed']).optional(),\n taskTrackingInfo: z.object({\n startTime: z.number().optional(),\n endTime: z.number().optional(),\n duration: z.number().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n lastError: z.string().optional(),\n }).optional(),\n});\n\nexport type TaskTrackingMeta = z.infer<typeof TaskTrackingMeta>;\n\nexport const PersistentMetadata = z.object({\n messageType: z.literal('summary').optional(),\n originalMessageCount: z.number().int().positive().optional(),\n compressionRatio: z.number().min(0).max(1).optional(),\n includedOldSummary: z.boolean().optional(),\n replacedMessageIds: z.array(z.string()).optional(),\n summarySeq: z.number().int().nonnegative().optional(),\n tool_calls: z.array(ToolCallWire).optional(),\n reasoning_details: ProviderReasoningDetails.optional(),\n tool_name: z.string().optional(),\n args: z.record(z.unknown()).optional(),\n tool_call_id: z.string().optional(),\n raw_output: z.string().optional(),\n image_info: ImageInfoMeta.optional(),\n taskType: z.string().optional(),\n taskId: z.string().optional(),\n taskStatus: z.enum(['requested', 'in_progress', 'completed', 'failed']).optional(),\n taskTrackingInfo: z.object({\n startTime: z.number().optional(),\n endTime: z.number().optional(),\n duration: z.number().optional(),\n retryCount: z.number().int().nonnegative().optional(),\n lastError: z.string().optional(),\n }).optional(),\n fenceKind: z.string().optional(),\n fenceAttrs: z.record(z.unknown()).optional(),\n fencePlacement: z.string().optional(),\n}).passthrough();\n\nexport type PersistentMetadata = z.infer<typeof PersistentMetadata>;\n\nconst BaseMessage = z.object({\n id: z.string(),\n content: z.string(),\n timestamp: z.number().int().nonnegative(),\n metadata: PersistentMetadata.optional(),\n});\n\nexport const SystemMessage = BaseMessage.extend({\n role: z.literal('system'),\n type: z.enum(['system_prompt', 'history_summary', 'context_injection']),\n});\n\nexport type SystemMessage = z.infer<typeof SystemMessage>;\n\nexport const UserMessage = BaseMessage.extend({\n role: z.literal('user'),\n type: z.enum([\n 'user_input',\n 'context_injection',\n 'context_before',\n 'context_after',\n 'document_fragment',\n 'task_request',\n 'image',\n ]),\n});\n\nexport type UserMessage = z.infer<typeof UserMessage>;\n\nexport const AssistantMessage = BaseMessage.extend({\n role: z.literal('assistant'),\n type: z.enum([\n 'thought',\n 'final_answer',\n 'tool_code',\n 'tool_calls',\n 'task_completion',\n ]),\n});\n\nexport type AssistantMessage = z.infer<typeof AssistantMessage>;\n\nexport const ToolMessage = BaseMessage.extend({\n role: z.literal('tool'),\n type: z.literal('tool_output'),\n});\n\nexport type ToolMessage = z.infer<typeof ToolMessage>;\n\nexport const AiMessage = z.discriminatedUnion('role', [\n SystemMessage,\n UserMessage,\n AssistantMessage,\n ToolMessage,\n]);\n\nexport type AiMessage = z.infer<typeof AiMessage>;\n\nexport function createSystemMessage(\n type: SystemMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): SystemMessage {\n return {\n id: crypto.randomUUID(),\n role: 'system',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createUserMessage(\n type: UserMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): UserMessage {\n return {\n id: crypto.randomUUID(),\n role: 'user',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createAssistantMessage(\n type: AssistantMessage['type'],\n content: string,\n metadata?: PersistentMetadata,\n): AssistantMessage {\n return {\n id: crypto.randomUUID(),\n role: 'assistant',\n type,\n content,\n timestamp: Date.now(),\n metadata,\n };\n}\n\nexport function createToolMessage(\n content: string,\n toolCallId: string,\n toolName: string,\n metadata?: PersistentMetadata,\n): ToolMessage {\n return {\n id: crypto.randomUUID(),\n role: 'tool',\n type: 'tool_output',\n content,\n timestamp: Date.now(),\n metadata: {\n ...metadata,\n tool_call_id: toolCallId,\n tool_name: toolName,\n },\n };\n}\n\nexport function createHistorySummaryMessage(\n content: string,\n summaryMeta: HistorySummaryMeta,\n): SystemMessage {\n return {\n id: crypto.randomUUID(),\n role: 'system',\n type: 'history_summary',\n content,\n timestamp: Date.now(),\n metadata: summaryMeta,\n };\n}\n\nexport function validateAiMessage(data: unknown): z.SafeParseReturnType<unknown, AiMessage> {\n return AiMessage.safeParse(data);\n}\n\nexport function validateHistorySummaryMeta(\n data: unknown,\n): z.SafeParseReturnType<unknown, HistorySummaryMeta> {\n return HistorySummaryMeta.safeParse(data);\n}\n\nexport function isSystemMessage(message: AiMessage): message is SystemMessage {\n return message.role === 'system';\n}\n\nexport function isUserMessage(message: AiMessage): message is UserMessage {\n return message.role === 'user';\n}\n\nexport function isAssistantMessage(message: AiMessage): message is AssistantMessage {\n return message.role === 'assistant';\n}\n\nexport function isToolMessage(message: AiMessage): message is ToolMessage {\n return message.role === 'tool';\n}\n\nexport function isHistorySummaryMessage(message: AiMessage): message is SystemMessage {\n return message.role === 'system'\n && message.type === 'history_summary'\n && message.metadata?.messageType === 'summary';\n}\n\nexport function hasToolCalls(message: AiMessage): boolean {\n return message.role === 'assistant'\n && Array.isArray(message.metadata?.tool_calls)\n && message.metadata.tool_calls.length > 0;\n}\n","import { z } from 'zod';\n\ntype SerializableJsonValue =\n | string\n | number\n | boolean\n | null\n | SerializableJsonValue[]\n | { [key: string]: SerializableJsonValue };\n\nconst SerializableJsonValueSchema: z.ZodType<SerializableJsonValue> = z.lazy(() =>\n z.union([\n z.string(),\n z.number(),\n z.boolean(),\n z.null(),\n z.array(SerializableJsonValueSchema),\n z.record(z.string(), SerializableJsonValueSchema),\n ]),\n);\n\nconst SerializableJsonRecord = z.record(z.string(), SerializableJsonValueSchema);\n\nexport const AgentSpecMessageType = z.enum([\n 'system_prompt',\n 'history_summary',\n 'context_injection',\n 'user_input',\n 'context_before',\n 'context_after',\n 'document_fragment',\n 'task_request',\n 'image',\n 'thought',\n 'final_answer',\n 'tool_code',\n 'tool_calls',\n 'task_completion',\n 'tool_output',\n]);\nexport type AgentSpecMessageType = z.infer<typeof AgentSpecMessageType>;\n\nexport const AgentSpecBudgetPolicy = z.object({\n maxTokens: z.number().int().positive().optional(),\n reservedForResponse: z.number().int().nonnegative().optional(),\n workingMemoryBudgetPercentage: z.number().min(0).max(1).optional(),\n});\nexport type AgentSpecBudgetPolicy = z.infer<typeof AgentSpecBudgetPolicy>;\n\nexport const AgentSpecToolHistoryPolicy = z.object({\n strategy: z.enum(['per-pair', 'per-run', 'none']).optional(),\n retentionMode: z.enum(['drop', 'compress']).optional(),\n keepLatestToolPairs: z.number().int().nonnegative().optional(),\n keepLatestRuns: z.number().int().nonnegative().optional(),\n maxInteractionGroups: z.number().int().nonnegative().optional(),\n overflowStrategy: z.enum(['keep-latest', 'fail-fast']).optional(),\n maxPairTokens: z.number().int().nonnegative().optional(),\n maxOutputSummaryTokens: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecToolHistoryPolicy = z.infer<typeof AgentSpecToolHistoryPolicy>;\n\nexport const AgentSpecToolObservationGovernancePolicy = z.object({\n enabled: z.boolean().optional(),\n maxChars: z.number().int().positive().optional(),\n maxLines: z.number().int().positive().optional(),\n});\nexport type AgentSpecToolObservationGovernancePolicy = z.infer<typeof AgentSpecToolObservationGovernancePolicy>;\n\nexport const AgentSpecToolOutputPolicy = z.object({\n observationGovernance: AgentSpecToolObservationGovernancePolicy.optional(),\n});\nexport type AgentSpecToolOutputPolicy = z.infer<typeof AgentSpecToolOutputPolicy>;\n\nexport const AgentSpecProviderReplayPolicy = z.object({\n provider: z.string().min(1).optional(),\n requiresReasoningDetailsForToolReplay: z.boolean().optional(),\n missingSidecarBehavior: z.enum(['allow', 'degrade_to_text', 'provider_empty_replay_field']).optional(),\n});\nexport type AgentSpecProviderReplayPolicy = z.infer<typeof AgentSpecProviderReplayPolicy>;\n\nexport const AgentSpecSummarizationPolicy = z.object({\n triggerThreshold: z.number().min(0).max(1).optional(),\n budgetPercentage: z.number().min(0).max(1).optional(),\n oldestMessagesPercentage: z.number().min(0).max(1).optional(),\n agentId: z.string().min(1).optional(),\n failureBehavior: z.enum(['fail-fast', 'continue-if-within-budget']).optional(),\n});\nexport type AgentSpecSummarizationPolicy = z.infer<typeof AgentSpecSummarizationPolicy>;\n\nexport const AgentSpecMustKeepTruncationRule = z.object({\n fenceKind: z.string().min(1),\n maxBudgetFraction: z.number().gt(0).max(1),\n strategyName: z.string().min(1),\n});\nexport type AgentSpecMustKeepTruncationRule = z.infer<typeof AgentSpecMustKeepTruncationRule>;\n\nexport const AgentSpecMustKeepPolicy = z.object({\n alwaysKeepTypes: z.array(AgentSpecMessageType).optional(),\n alwaysKeepFenceKinds: z.array(z.string().min(1)).optional(),\n truncationRules: z.array(AgentSpecMustKeepTruncationRule).optional(),\n});\nexport type AgentSpecMustKeepPolicy = z.infer<typeof AgentSpecMustKeepPolicy>;\n\nexport const AgentSpecWorkingMemoryPolicy = z.object({\n maxRecentToolInteractions: z.number().int().nonnegative().optional(),\n minToolInteractionsToKeep: z.number().int().nonnegative().optional(),\n toolPairingSearchRange: z.number().int().positive().optional(),\n});\nexport type AgentSpecWorkingMemoryPolicy = z.infer<typeof AgentSpecWorkingMemoryPolicy>;\n\nexport const AgentSpecCheckpointPolicy = z.object({\n keepPairsBefore: z.number().int().nonnegative().optional(),\n triggerToolName: z.string().min(1).optional(),\n});\nexport type AgentSpecCheckpointPolicy = z.infer<typeof AgentSpecCheckpointPolicy>;\n\nexport const AgentSpecReasoningRetentionPolicy = z.object({\n keepLatestThoughts: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecReasoningRetentionPolicy = z.infer<typeof AgentSpecReasoningRetentionPolicy>;\n\nexport const AgentSpecTokenEstimationPolicy = z.object({\n encoding: z.string().min(1).optional(),\n avgCharsPerToken: z.number().positive().optional(),\n toolCallOverhead: z.number().int().nonnegative().optional(),\n});\nexport type AgentSpecTokenEstimationPolicy = z.infer<typeof AgentSpecTokenEstimationPolicy>;\n\nexport const SYSTEM_REMINDER_BUILTIN_TRIGGER_KINDS = [\n 'phase-equals',\n 'remaining-steps-leq',\n 'step-count-modulo',\n 'tool-call-streak',\n 'budget-warning',\n 'agent-has-tool',\n] as const;\n\nexport const AgentSpecSystemReminderTrigger = z.object({\n kind: z.string().min(1),\n threshold: z.number().nonnegative().optional(),\n value: z.union([z.string(), z.number(), z.boolean()]).optional(),\n moduloStep: z.boolean().optional(),\n toolName: z.string().min(1).optional(),\n period: z.number().int().positive().optional(),\n minStep: z.number().int().nonnegative().optional(),\n ratio: z.number().min(0).max(1).optional(),\n config: SerializableJsonRecord.optional(),\n});\nexport type AgentSpecSystemReminderTrigger = z.infer<typeof AgentSpecSystemReminderTrigger>;\n\nexport const AgentSpecSystemReminderExtraRule = z.object({\n id: z.string().min(1),\n trigger: AgentSpecSystemReminderTrigger,\n contentTemplate: z.string().min(1),\n contentArgs: SerializableJsonRecord.optional(),\n});\nexport type AgentSpecSystemReminderExtraRule = z.infer<typeof AgentSpecSystemReminderExtraRule>;\n\nexport const AgentSpecSystemReminderPolicy = z.object({\n enabledRuleIds: z.array(z.string().min(1)).nullable().optional(),\n disabledRuleIds: z.array(z.string().min(1)).optional(),\n thresholds: z.object({\n toolCallStreak: z.number().int().nonnegative().optional(),\n taskstateReflectionPeriod: z.number().int().positive().optional(),\n budgetWarningRatio: z.number().min(0).max(1).optional(),\n lastStepsHintThreshold: z.number().int().nonnegative().optional(),\n }).optional(),\n extraRules: z.array(AgentSpecSystemReminderExtraRule).optional(),\n}).superRefine((value, ctx) => {\n if (value.enabledRuleIds !== undefined && value.enabledRuleIds !== null && value.disabledRuleIds?.length) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n path: ['disabledRuleIds'],\n message: 'enabledRuleIds and disabledRuleIds cannot be configured at the same time',\n });\n }\n});\nexport type AgentSpecSystemReminderPolicy = z.infer<typeof AgentSpecSystemReminderPolicy>;\n\nexport const AgentSpecContextTracePolicy = z.object({\n enabled: z.boolean().optional(),\n includeMessageIds: z.boolean().optional(),\n includeTokenBreakdown: z.boolean().optional(),\n maxTraceEvents: z.number().int().positive().optional(),\n});\nexport type AgentSpecContextTracePolicy = z.infer<typeof AgentSpecContextTracePolicy>;\n\nexport const AgentSpecContextPolicy = z.object({\n profileId: z.string().min(1),\n budget: AgentSpecBudgetPolicy.optional(),\n toolHistory: AgentSpecToolHistoryPolicy.optional(),\n toolOutput: AgentSpecToolOutputPolicy.optional(),\n providerReplay: AgentSpecProviderReplayPolicy.optional(),\n summarization: AgentSpecSummarizationPolicy.optional(),\n mustKeep: AgentSpecMustKeepPolicy.optional(),\n workingMemory: AgentSpecWorkingMemoryPolicy.optional(),\n checkpoint: AgentSpecCheckpointPolicy.optional(),\n reasoningRetention: AgentSpecReasoningRetentionPolicy.optional(),\n tokenEstimation: AgentSpecTokenEstimationPolicy.optional(),\n systemReminder: AgentSpecSystemReminderPolicy.optional(),\n contextTrace: AgentSpecContextTracePolicy.optional(),\n});\nexport type AgentSpecContextPolicy = z.infer<typeof AgentSpecContextPolicy>;\n\nexport type AgentSpecContextPolicyInput = Omit<z.input<typeof AgentSpecContextPolicy>, 'profileId'> & {\n profileId?: string;\n};\n\nconst DEFAULT_CONTEXT_POLICY: Required<AgentSpecContextPolicy> = {\n profileId: 'agent',\n budget: {\n maxTokens: 232000,\n reservedForResponse: 2400,\n workingMemoryBudgetPercentage: 0.7,\n },\n toolHistory: {\n strategy: 'per-run',\n retentionMode: 'drop',\n keepLatestToolPairs: 2,\n keepLatestRuns: 1,\n maxInteractionGroups: 12,\n overflowStrategy: 'keep-latest',\n maxPairTokens: 6000,\n maxOutputSummaryTokens: 1000,\n },\n toolOutput: {\n observationGovernance: {\n enabled: true,\n maxChars: 20_000,\n maxLines: 1_200,\n },\n },\n providerReplay: {},\n summarization: {\n triggerThreshold: 0.7,\n budgetPercentage: 0.12,\n oldestMessagesPercentage: 0.75,\n failureBehavior: 'fail-fast',\n },\n mustKeep: {\n alwaysKeepTypes: ['system_prompt', 'user_input'],\n alwaysKeepFenceKinds: [],\n truncationRules: [],\n },\n workingMemory: {\n maxRecentToolInteractions: 2,\n minToolInteractionsToKeep: 2,\n toolPairingSearchRange: 10,\n },\n checkpoint: {\n keepPairsBefore: 2,\n triggerToolName: 'context_checkpoint',\n },\n reasoningRetention: {\n keepLatestThoughts: 1,\n },\n tokenEstimation: {\n encoding: 'cl100k_base',\n avgCharsPerToken: 2.0,\n toolCallOverhead: 50,\n },\n systemReminder: {\n enabledRuleIds: null,\n disabledRuleIds: [],\n thresholds: {\n toolCallStreak: 10,\n taskstateReflectionPeriod: 30,\n budgetWarningRatio: 0.9,\n lastStepsHintThreshold: 0,\n },\n extraRules: [],\n },\n contextTrace: {\n enabled: false,\n includeMessageIds: true,\n includeTokenBreakdown: true,\n maxTraceEvents: 200,\n },\n};\n\n/**\n * 创建完整 contextPolicy。\n *\n * 中文备注:\n * - schema 保持 optional,避免现有 host 的 `{ profileId: 'agent' }` 类型大面积变红;\n * - 需要完整默认值时走这个 helper,后续 F1.2/F1.3 的 adapter 与 fallback 会复用它。\n */\nexport function defineContextPolicy(input: AgentSpecContextPolicyInput = {}): AgentSpecContextPolicy {\n const merged: Required<AgentSpecContextPolicy> = {\n profileId: input.profileId ?? DEFAULT_CONTEXT_POLICY.profileId,\n budget: { ...DEFAULT_CONTEXT_POLICY.budget, ...input.budget },\n toolHistory: { ...DEFAULT_CONTEXT_POLICY.toolHistory, ...input.toolHistory },\n toolOutput: {\n ...DEFAULT_CONTEXT_POLICY.toolOutput,\n ...input.toolOutput,\n observationGovernance: {\n ...DEFAULT_CONTEXT_POLICY.toolOutput.observationGovernance,\n ...input.toolOutput?.observationGovernance,\n },\n },\n providerReplay: { ...DEFAULT_CONTEXT_POLICY.providerReplay, ...input.providerReplay },\n summarization: { ...DEFAULT_CONTEXT_POLICY.summarization, ...input.summarization },\n mustKeep: { ...DEFAULT_CONTEXT_POLICY.mustKeep, ...input.mustKeep },\n workingMemory: { ...DEFAULT_CONTEXT_POLICY.workingMemory, ...input.workingMemory },\n checkpoint: { ...DEFAULT_CONTEXT_POLICY.checkpoint, ...input.checkpoint },\n reasoningRetention: { ...DEFAULT_CONTEXT_POLICY.reasoningRetention, ...input.reasoningRetention },\n tokenEstimation: { ...DEFAULT_CONTEXT_POLICY.tokenEstimation, ...input.tokenEstimation },\n systemReminder: {\n ...DEFAULT_CONTEXT_POLICY.systemReminder,\n ...input.systemReminder,\n thresholds: {\n ...DEFAULT_CONTEXT_POLICY.systemReminder.thresholds,\n ...input.systemReminder?.thresholds,\n },\n extraRules: input.systemReminder?.extraRules ?? DEFAULT_CONTEXT_POLICY.systemReminder.extraRules,\n },\n contextTrace: { ...DEFAULT_CONTEXT_POLICY.contextTrace, ...input.contextTrace },\n };\n\n return AgentSpecContextPolicy.parse(merged);\n}\n","import { z } from 'zod';\nimport { AgentSpecContextPolicy } from './contextPolicy';\n\nconst JsonRecord = z.record(z.string(), z.unknown());\n\n/**\n * 工具参数 schema 在 AgentSpec 里是可序列化契约,不是运行时 zod 对象。\n * 这里主动拦截 zod-like 对象,避免把 `z.any()` 一类实现细节混进协议层。\n */\nconst ToolArgsSchemaSpec = JsonRecord.superRefine((value, ctx) => {\n const parse = value['parse'];\n const safeParse = value['safeParse'];\n const definition = value['_def'];\n if (typeof parse === 'function' && typeof safeParse === 'function' && definition !== undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: 'argsSchema must be a serializable record, not a runtime zod schema',\n });\n }\n});\n\nexport const AgentCapability = z.string().min(1);\nexport type AgentCapability = z.infer<typeof AgentCapability>;\n\nexport const ToolBindingSpec = z.object({\n toolId: z.string().min(1),\n bindingId: z.string().min(1).optional(),\n argsSchema: ToolArgsSchemaSpec.optional(),\n config: JsonRecord.optional(),\n metadata: JsonRecord.optional(),\n});\nexport type ToolBindingSpec = z.infer<typeof ToolBindingSpec>;\n\nexport const AgentSpecModelHints = z.object({\n preferredProviders: z.array(z.string().min(1)).optional(),\n preferredModels: z.array(z.string().min(1)).optional(),\n fallbackChain: z.array(z.string().min(1)).optional(),\n});\nexport type AgentSpecModelHints = z.infer<typeof AgentSpecModelHints>;\n\nexport const AgentSpecAuditConfig = z.object({\n redactionLevel: z.enum(['none', 'standard', 'strict']).optional(),\n pii: z.boolean().optional(),\n});\nexport type AgentSpecAuditConfig = z.infer<typeof AgentSpecAuditConfig>;\n\nexport const AgentSpec = z.object({\n id: z.string().min(1),\n version: z.string().min(1),\n role: z.string().optional(),\n description: z.string().optional(),\n capabilities: z.array(AgentCapability),\n tools: z.array(ToolBindingSpec),\n contextPolicy: AgentSpecContextPolicy,\n modelHints: AgentSpecModelHints.optional(),\n audit: AgentSpecAuditConfig.optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AgentSpec = z.infer<typeof AgentSpec>;\n","import { z } from 'zod';\n\nconst JsonRecord = z.record(z.string(), z.unknown());\n\nexport const AUDIT_ACTIONS = [\n 'model.select',\n 'model.fallback',\n 'tool.allow',\n 'tool.deny',\n 'wait_user.request',\n 'sandbox.decide',\n 'run.cancel',\n 'run.pause',\n 'run.resume',\n 'memory.write',\n] as const;\n\nexport const AUDIT_DECISION_OUTCOMES = [\n 'allowed',\n 'denied',\n 'fallback',\n 'retry',\n 'cancelled',\n 'paused',\n 'resumed',\n 'requested',\n 'recorded',\n] as const;\n\nexport const AuditActor = z.object({\n kind: z.enum(['system', 'host', 'agent', 'model', 'tool', 'user']),\n id: z.string().min(1).optional(),\n name: z.string().min(1).optional(),\n});\nexport type AuditActor = z.infer<typeof AuditActor>;\n\nexport const AuditDecision = z.object({\n outcome: z.enum(AUDIT_DECISION_OUTCOMES),\n reason: z.string().optional(),\n policy: z.string().optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditDecision = z.infer<typeof AuditDecision>;\n\nexport const AuditEvidence = z.object({\n kind: z.string().min(1),\n ref: z.string().min(1).optional(),\n summary: z.string().optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditEvidence = z.infer<typeof AuditEvidence>;\n\nexport const AuditCostDelta = z.object({\n tokensInput: z.number().int().nonnegative().optional(),\n tokensOutput: z.number().int().nonnegative().optional(),\n totalCostUsd: z.number().nonnegative().optional(),\n latencyMs: z.number().nonnegative().optional(),\n});\nexport type AuditCostDelta = z.infer<typeof AuditCostDelta>;\n\nexport const AuditScope = z.object({\n conversationId: z.string().min(1).optional(),\n runId: z.string().min(1).optional(),\n parentRunId: z.string().min(1).optional(),\n turnId: z.string().min(1).optional(),\n traceId: z.string().min(1).optional(),\n agentSpecId: z.string().min(1).optional(),\n toolCallId: z.string().min(1).optional(),\n toolName: z.string().min(1).optional(),\n modelId: z.string().min(1).optional(),\n nodeId: z.string().min(1).optional(),\n metadata: JsonRecord.optional(),\n});\nexport type AuditScope = z.infer<typeof AuditScope>;\n\n/**\n * 标准审计信封。\n *\n * 中文备注:\n * - action 保持 string,以便 host 扩展自己的动作名;\n * - decision/evidence/costDelta 都是可选事实片段,避免把所有审计场景压成同一种形状;\n * - envelope 必须追加只读,更新/撤回应追加新的补偿 envelope。\n */\nexport const AuditEnvelope = z.object({\n envelopeId: z.string().min(1),\n runId: z.string().min(1),\n parentRunId: z.string().min(1).optional(),\n ts: z.number().int().nonnegative(),\n actor: AuditActor,\n action: z.string().min(1),\n decision: AuditDecision.optional(),\n evidence: z.array(AuditEvidence).optional(),\n costDelta: AuditCostDelta.optional(),\n scope: AuditScope.optional(),\n});\nexport type AuditEnvelope = z.infer<typeof AuditEnvelope>;\n","import { z } from 'zod';\nimport { AuditEnvelope } from './audit';\n\nexport const BaseEvent = z.object({\n id: z.string(),\n conversation_id: z.string(),\n timestamp: z.number(),\n metadata: z.record(z.unknown()).optional(),\n version: z.literal(1).default(1),\n turn_id: z.string(),\n ephemeral: z.boolean().optional(),\n});\n\nexport const ToolCallPhase = z.enum(['start', 'update', 'complete', 'error']);\nexport const Status = z.enum(['loading', 'success', 'error']);\nexport const AgentTodoStatus = z.enum(['pending', 'in_progress', 'completed', 'cancelled']);\n\nexport const AgentTodoItem = z.object({\n id: z.string(),\n content: z.string(),\n status: AgentTodoStatus,\n});\n\nexport const ProviderReasoningDetailsPayload = z.array(z.unknown());\nexport type ProviderReasoningDetailsPayload = z.infer<typeof ProviderReasoningDetailsPayload>;\n\nexport const ToolCallDecisionPayload = z.object({\n args: z.record(z.any()).optional(),\n tool_calls: z.array(z.unknown()).optional(),\n /**\n * 不透明 provider reasoning replay blocks。\n *\n * RuntimeEvent 层的标准位置是 assistant 产出事件携带 reasoning_details;\n * context-manager 会把它回放到 AiMessage.metadata.reasoning_details。\n */\n reasoning_details: ProviderReasoningDetailsPayload.optional(),\n}).passthrough();\n\nexport type ToolCallDecisionPayload = z.infer<typeof ToolCallDecisionPayload>;\n\nexport const RuntimeEvent = z.discriminatedUnion('type', [\n BaseEvent.extend({\n type: z.literal('user_input'),\n content: z.string(),\n raw_content: z.string().optional(),\n source: z.enum(['user', 'editor', 'system']).default('user'),\n }),\n BaseEvent.extend({\n type: z.literal('thought'),\n content: z.string(),\n thought_message_id: z.string().optional(),\n delta: z.string().optional(),\n is_complete: z.boolean().default(false),\n }),\n BaseEvent.extend({\n type: z.literal('tool_call_decision'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: ToolCallPhase,\n status: Status,\n args: z.record(z.any()).optional(),\n payload: ToolCallDecisionPayload.optional(),\n parent_tool_call_id: z.string().optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('tool_process'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: ToolCallPhase,\n status: Status,\n args: z.record(z.any()).optional(),\n payload: z.record(z.any()).optional(),\n parent_tool_call_id: z.string().optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('tool_output'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n status: z.enum(['success', 'error']),\n output: z.any().optional(),\n payload: z.record(z.any()).optional(),\n error: z.string().optional(),\n duration_ms: z.number().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('todo_updated'),\n todo_list_id: z.string(),\n todo_list_version: z.number().int().nonnegative(),\n items: z.array(AgentTodoItem),\n }),\n BaseEvent.extend({\n type: z.literal('subrun_trace'),\n parent_tool_call_id: z.string(),\n subrun_id: z.string(),\n subrun_parent_id: z.string().optional(),\n kind: z.enum([\n 'thought_delta',\n 'thought_complete',\n 'tool_call_decision',\n 'tool_process',\n 'tool_output',\n 'final_answer_chunk',\n 'final_answer',\n ]),\n delta: z.string().optional(),\n content: z.string().optional(),\n tool_name: z.string().optional(),\n tool_call_id: z.string().optional(),\n phase: ToolCallPhase.optional(),\n status: Status.optional(),\n args: z.unknown().optional(),\n output: z.unknown().optional(),\n duration_ms: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('requires_user_interaction'),\n form: z.any().optional(),\n interaction_type: z.string().optional(),\n prompt: z.string().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('audit_envelope'),\n envelope: AuditEnvelope,\n }),\n BaseEvent.extend({\n type: z.literal('final_answer'),\n answer_id: z.string(),\n content: z.string(),\n is_complete: z.boolean().default(true),\n reasoning_details: ProviderReasoningDetailsPayload.optional(),\n meta: z.record(z.any()).optional(),\n }),\n BaseEvent.extend({\n type: z.literal('final_answer_chunk'),\n answer_id: z.string(),\n seq: z.number().int().nonnegative(),\n content: z.string(),\n is_last: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('history_summary'),\n content: z.string(),\n replaced_message_ids: z.array(z.string()),\n summary_seq: z.number().int().nonnegative(),\n original_message_count: z.number().int().nonnegative().optional(),\n compression_ratio: z.number().min(0).max(1).optional(),\n included_old_summary: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('error'),\n error: z.string(),\n details: z.any().optional(),\n error_code: z.string().optional(),\n retryable: z.boolean().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('control'),\n op: z.enum(['truncate_after', 'replace', 'redo', 'branch']),\n target_id: z.string().optional(),\n reason: z.string().optional(),\n meta: z.any().optional(),\n }),\n BaseEvent.extend({\n type: z.literal('stream_end'),\n reason: z.enum(['complete', 'error', 'interrupted', 'timeout']).optional(),\n reason_message: z.string().optional(),\n stats: z.object({\n total_events: z.number().optional(),\n duration_ms: z.number().optional(),\n error_count: z.number().optional(),\n }).optional(),\n }),\n]);\n\nexport type RuntimeEvent = z.infer<typeof RuntimeEvent>;\nexport type UserInputEvent = Extract<RuntimeEvent, { type: 'user_input' }>;\nexport type ThoughtEvent = Extract<RuntimeEvent, { type: 'thought' }>;\nexport type ToolCallDecisionEvent = Extract<RuntimeEvent, { type: 'tool_call_decision' }>;\nexport type ToolProcessEvent = Extract<RuntimeEvent, { type: 'tool_process' }>;\nexport type ToolOutputEvent = Extract<RuntimeEvent, { type: 'tool_output' }>;\nexport type TodoUpdatedEvent = Extract<RuntimeEvent, { type: 'todo_updated' }>;\nexport type SubRunTraceEvent = Extract<RuntimeEvent, { type: 'subrun_trace' }>;\nexport type RequiresUserInteractionEvent = Extract<RuntimeEvent, { type: 'requires_user_interaction' }>;\nexport type AuditEnvelopeEvent = Extract<RuntimeEvent, { type: 'audit_envelope' }>;\nexport type FinalAnswerEvent = Extract<RuntimeEvent, { type: 'final_answer' }>;\nexport type FinalAnswerChunkEvent = Extract<RuntimeEvent, { type: 'final_answer_chunk' }>;\nexport type HistorySummaryEvent = Extract<RuntimeEvent, { type: 'history_summary' }>;\nexport type ErrorEvent = Extract<RuntimeEvent, { type: 'error' }>;\nexport type ControlEvent = Extract<RuntimeEvent, { type: 'control' }>;\nexport type StreamEndEvent = Extract<RuntimeEvent, { type: 'stream_end' }>;\n\nexport const validateRuntimeEvent = (event: unknown) => RuntimeEvent.safeParse(event);\nexport const validateRuntimeEvents = (events: unknown[]) => z.array(RuntimeEvent).safeParse(events);\n\nexport const createUserInputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n options: Partial<UserInputEvent> = {},\n): UserInputEvent => ({\n type: 'user_input',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n source: 'user',\n ...options,\n});\n\nexport const createThoughtEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n options: Partial<ThoughtEvent> = {},\n): ThoughtEvent => ({\n type: 'thought',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n is_complete: false,\n ...options,\n});\n\nexport const createToolCallDecisionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n options: Partial<ToolCallDecisionEvent> = {},\n): ToolCallDecisionEvent => ({\n type: 'tool_call_decision',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase: 'start',\n status: 'loading',\n ...options,\n});\n\nexport const createToolProcessEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n options: Partial<ToolProcessEvent> = {},\n): ToolProcessEvent => ({\n type: 'tool_process',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase: 'start',\n status: 'loading',\n ...options,\n});\n\nexport const createSubRunTraceEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n parentToolCallId: string,\n subrunId: string,\n kind: SubRunTraceEvent['kind'],\n options: Partial<SubRunTraceEvent> = {},\n): SubRunTraceEvent => ({\n type: 'subrun_trace',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n ephemeral: true,\n parent_tool_call_id: parentToolCallId,\n subrun_id: subrunId,\n kind,\n ...options,\n});\n\nexport const createToolOutputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n output: unknown,\n status: 'success' | 'error' = 'success',\n options: Partial<ToolOutputEvent> = {},\n): ToolOutputEvent => ({\n type: 'tool_output',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n tool_name: toolName,\n tool_call_id: toolCallId,\n status,\n output,\n ...options,\n});\n\nexport const createTodoUpdatedEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n todoListId: string,\n todoListVersion: number,\n items: TodoUpdatedEvent['items'],\n options: Partial<TodoUpdatedEvent> = {},\n): TodoUpdatedEvent => ({\n type: 'todo_updated',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n todo_list_id: todoListId,\n todo_list_version: todoListVersion,\n items,\n ...options,\n});\n\nexport const createFinalAnswerEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n content: string,\n options: Partial<FinalAnswerEvent> = {},\n): FinalAnswerEvent => ({\n type: 'final_answer',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n answer_id: answerId,\n content,\n is_complete: true,\n ...options,\n});\n\nexport const createAuditEnvelopeEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n envelope: AuditEnvelopeEvent['envelope'],\n options: Partial<AuditEnvelopeEvent> = {},\n): AuditEnvelopeEvent => ({\n type: 'audit_envelope',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: envelope.ts,\n version: 1,\n envelope,\n metadata: {\n audit_action: envelope.action,\n run_context: {\n runId: envelope.runId,\n parentId: envelope.parentRunId,\n traceId: envelope.scope?.traceId,\n },\n },\n ...options,\n});\n\nexport const createFinalAnswerChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n seq: number,\n content: string,\n options: Partial<FinalAnswerChunkEvent> = {},\n): FinalAnswerChunkEvent => ({\n type: 'final_answer_chunk',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n answer_id: answerId,\n seq,\n content,\n ...options,\n});\n\nexport const createHistorySummaryEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n content: string,\n replacedMessageIds: string[],\n summarySeq: number,\n options: Partial<HistorySummaryEvent> = {},\n): HistorySummaryEvent => ({\n type: 'history_summary',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n content,\n replaced_message_ids: replacedMessageIds,\n summary_seq: summarySeq,\n ...options,\n});\n\nexport const createErrorEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n error: string,\n options: Partial<ErrorEvent> = {},\n): ErrorEvent => ({\n type: 'error',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n error,\n ...options,\n});\n\nexport const createStreamEndEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<StreamEndEvent> = {},\n): StreamEndEvent => ({\n type: 'stream_end',\n id,\n conversation_id: conversationId,\n turn_id: turnId,\n timestamp: Date.now(),\n version: 1,\n ...options,\n});\n","export const DEFAULT_MAX_STEPS = 80;\n","import { z } from 'zod';\n\nexport const ExecutionTraceContext = z.object({\n execution_id: z.string().describe('The unique identifier for a single, complete execution flow.'),\n trace_id: z.string().optional().describe('An optional trace ID for correlating logs in an APM system.'),\n});\n\nconst EventEnvelopeSchema = z.object({\n seq: z.number().int().nonnegative().describe('A monotonically increasing sequence number within a single execution.'),\n timestamp: z.number().describe('The high-precision timestamp of when the event occurred.'),\n trace: ExecutionTraceContext,\n source: z.string().describe(\"The origin of the event, e.g., 'ai', 'tool:file_reader', 'system:summary'.\"),\n payload: z.unknown(),\n render_hint: z.object({\n card: z.enum(['normal', 'collapsible', 'none', 'image', 'interactive']).optional().describe('Hint for how the UI card should be rendered.'),\n content: z.enum(['markdown', 'text', 'json', 'image_url', 'code']).default('text').describe('Hint for how the content itself should be interpreted.'),\n }).optional(),\n run_location: z.enum(['frontend', 'backend']).optional().describe('Specifies where a tool action should be or was executed.'),\n});\n\nexport const EventEnvelope = EventEnvelopeSchema;\n\ntype EventEnvelopeBase = z.infer<typeof EventEnvelopeSchema>;\n\nexport type EventEnvelope<TPayload = unknown> = Omit<EventEnvelopeBase, 'payload'> & {\n payload: TPayload;\n};\n\nexport type ExecutionTraceContext = z.infer<typeof ExecutionTraceContext>;\n","import { z } from 'zod';\n\nexport const BaseSSEEvent = z.object({\n id: z.string(),\n timestamp: z.number(),\n conversation_id: z.string(),\n turn_id: z.string(),\n metadata: z.record(z.unknown()).optional(),\n});\n\nexport type BaseSSEEvent = z.infer<typeof BaseSSEEvent>;\n\nexport const SSEThoughtEvent = BaseSSEEvent.extend({\n type: z.literal('thought'),\n thought_message_id: z.string().optional(),\n delta: z.string().optional(),\n content: z.string().optional(),\n is_complete: z.boolean().default(false),\n});\n\nexport type SSEThoughtEvent = z.infer<typeof SSEThoughtEvent>;\n\nexport const SSEFinalAnswerChunkEvent = BaseSSEEvent.extend({\n type: z.literal('final_answer_chunk'),\n answer_id: z.string(),\n seq: z.number().int().nonnegative(),\n chunk: z.string(),\n is_last: z.boolean().optional(),\n});\n\nexport type SSEFinalAnswerChunkEvent = z.infer<typeof SSEFinalAnswerChunkEvent>;\n\nexport const SSEFinalAnswerEvent = BaseSSEEvent.extend({\n type: z.literal('final_answer'),\n answer_id: z.string(),\n content: z.string(),\n meta: z.record(z.any()).optional(),\n});\n\nexport type SSEFinalAnswerEvent = z.infer<typeof SSEFinalAnswerEvent>;\n\nexport const SSEMarkdownChunkEvent = BaseSSEEvent.extend({\n type: z.literal('markdown_chunk'),\n content_type: z.enum(['text', 'code', 'table', 'image']).default('text'),\n text: z.string(),\n seq: z.number().optional(),\n});\n\nexport type SSEMarkdownChunkEvent = z.infer<typeof SSEMarkdownChunkEvent>;\n\nconst BaseSSEToolLifecycleEvent = BaseSSEEvent.extend({\n tool_name: z.string(),\n tool_call_id: z.string(),\n phase: z.enum(['start', 'update', 'complete', 'error']),\n status: z.enum(['loading', 'success', 'error']),\n args: z.any().optional(),\n payload: z.any().optional(),\n meta: z.record(z.any()).optional(),\n});\n\nexport const SSEToolCallDecisionEvent = BaseSSEToolLifecycleEvent.extend({\n type: z.literal('tool_call_decision'),\n});\n\nexport type SSEToolCallDecisionEvent = z.infer<typeof SSEToolCallDecisionEvent>;\n\nexport const SSEToolProcessEvent = BaseSSEToolLifecycleEvent.extend({\n type: z.literal('tool_process'),\n});\n\nexport type SSEToolProcessEvent = z.infer<typeof SSEToolProcessEvent>;\n\nexport const SSEToolOutputEvent = BaseSSEEvent.extend({\n type: z.literal('tool_output'),\n tool_name: z.string(),\n tool_call_id: z.string(),\n status: z.enum(['success', 'error']),\n output: z.any().optional(),\n payload: z.record(z.any()).optional(),\n duration_ms: z.number().optional(),\n});\n\nexport type SSEToolOutputEvent = z.infer<typeof SSEToolOutputEvent>;\n\nexport const SSETodoUpdatedEvent = BaseSSEEvent.extend({\n type: z.literal('todo_updated'),\n todo_list_id: z.string(),\n todo_list_version: z.number().int().nonnegative(),\n items: z.array(z.object({\n id: z.string(),\n content: z.string(),\n status: z.enum(['pending', 'in_progress', 'completed', 'cancelled']),\n })),\n});\n\nexport type SSETodoUpdatedEvent = z.infer<typeof SSETodoUpdatedEvent>;\n\nexport const SSESubRunTraceEvent = BaseSSEEvent.extend({\n type: z.literal('subrun_trace'),\n parent_tool_call_id: z.string(),\n subrun_id: z.string(),\n subrun_parent_id: z.string().optional(),\n kind: z.enum([\n 'thought_delta',\n 'thought_complete',\n 'tool_call_decision',\n 'tool_process',\n 'tool_output',\n 'final_answer_chunk',\n 'final_answer',\n ]),\n delta: z.string().optional(),\n content: z.string().optional(),\n tool_name: z.string().optional(),\n tool_call_id: z.string().optional(),\n phase: z.enum(['start', 'update', 'complete', 'error']).optional(),\n status: z.enum(['loading', 'success', 'error']).optional(),\n args: z.unknown().optional(),\n output: z.unknown().optional(),\n duration_ms: z.number().optional(),\n meta: z.record(z.unknown()).optional(),\n});\n\nexport type SSESubRunTraceEvent = z.infer<typeof SSESubRunTraceEvent>;\n\nexport const SSERequiresUserInteractionEvent = BaseSSEEvent.extend({\n type: z.literal('requires_user_interaction'),\n form: z.any().optional(),\n interaction_type: z.string().optional(),\n prompt: z.string().optional(),\n});\n\nexport type SSERequiresUserInteractionEvent = z.infer<typeof SSERequiresUserInteractionEvent>;\n\nexport const SSEErrorEvent = BaseSSEEvent.extend({\n type: z.literal('error'),\n error: z.string(),\n details: z.any().optional(),\n error_code: z.string().optional(),\n retryable: z.boolean().optional(),\n});\n\nexport type SSEErrorEvent = z.infer<typeof SSEErrorEvent>;\n\nexport const SSEStreamEndEvent = BaseSSEEvent.extend({\n type: z.literal('stream_end'),\n reason: z.enum(['complete', 'error', 'interrupted', 'timeout']).optional(),\n reason_message: z.string().optional(),\n stats: z.object({\n total_events: z.number().optional(),\n duration_ms: z.number().optional(),\n error_count: z.number().optional(),\n benchmark: z.record(z.unknown()).optional(),\n }).optional(),\n});\n\nexport type SSEStreamEndEvent = z.infer<typeof SSEStreamEndEvent>;\n\nexport const SSEHistorySummaryEvent = BaseSSEEvent.extend({\n type: z.literal('history_summary'),\n summary_id: z.string(),\n content: z.string(),\n original_message_count: z.number().int().nonnegative(),\n summary_seq: z.number().int().nonnegative(),\n});\n\nexport type SSEHistorySummaryEvent = z.infer<typeof SSEHistorySummaryEvent>;\n\nexport const SSESummarizationStartEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_start'),\n originalMessages: z.number().optional(),\n});\n\nexport type SSESummarizationStartEvent = z.infer<typeof SSESummarizationStartEvent>;\n\nexport const SSESummarizationEndEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_end'),\n originalMessages: z.number().optional(),\n compressedMessages: z.number().optional(),\n compressionRatio: z.string().optional(),\n timeSaved: z.string().optional(),\n});\n\nexport type SSESummarizationEndEvent = z.infer<typeof SSESummarizationEndEvent>;\n\nexport const SSESummarizationErrorEvent = BaseSSEEvent.extend({\n type: z.literal('summarization_error'),\n error: z.string(),\n});\n\nexport type SSESummarizationErrorEvent = z.infer<typeof SSESummarizationErrorEvent>;\n\nexport const SSEEvent = z.discriminatedUnion('type', [\n SSEThoughtEvent,\n SSEFinalAnswerChunkEvent,\n SSEFinalAnswerEvent,\n SSEMarkdownChunkEvent,\n SSEToolCallDecisionEvent,\n SSEToolProcessEvent,\n SSEToolOutputEvent,\n SSETodoUpdatedEvent,\n SSESubRunTraceEvent,\n SSERequiresUserInteractionEvent,\n SSEErrorEvent,\n SSEStreamEndEvent,\n SSEHistorySummaryEvent,\n SSESummarizationStartEvent,\n SSESummarizationEndEvent,\n SSESummarizationErrorEvent,\n]);\n\nexport type SSEEvent = z.infer<typeof SSEEvent>;\n\nexport const validateSSEEvent = (event: unknown) => SSEEvent.safeParse(event);\n\nexport const createSSEThoughtEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: { thought_message_id?: string; delta?: string; content?: string; is_complete?: boolean } = {},\n): SSEThoughtEvent => ({\n type: 'thought',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n is_complete: false,\n ...options,\n});\n\nexport const createSSEFinalAnswerChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n seq: number,\n chunk: string,\n options: { is_last?: boolean } = {},\n): SSEFinalAnswerChunkEvent => ({\n type: 'final_answer_chunk',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n answer_id: answerId,\n seq,\n chunk,\n ...options,\n});\n\nexport const createSSEFinalAnswerEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n answerId: string,\n content: string,\n options: Partial<SSEFinalAnswerEvent> = {},\n): SSEFinalAnswerEvent => ({\n type: 'final_answer',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n answer_id: answerId,\n content,\n ...options,\n});\n\nexport const createSSEMarkdownChunkEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n text: string,\n options: Partial<SSEMarkdownChunkEvent> = {},\n): SSEMarkdownChunkEvent => ({\n type: 'markdown_chunk',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n text,\n content_type: 'text',\n ...options,\n});\n\nexport const createSSEToolCallDecisionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n phase: SSEToolCallDecisionEvent['phase'],\n status: SSEToolCallDecisionEvent['status'],\n options: Partial<SSEToolCallDecisionEvent> = {},\n): SSEToolCallDecisionEvent => ({\n type: 'tool_call_decision',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase,\n status,\n ...options,\n});\n\nexport const createSSEToolProcessEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n phase: SSEToolProcessEvent['phase'],\n status: SSEToolProcessEvent['status'],\n options: Partial<SSEToolProcessEvent> = {},\n): SSEToolProcessEvent => ({\n type: 'tool_process',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n phase,\n status,\n ...options,\n});\n\nexport const createSSEToolOutputEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n toolName: string,\n toolCallId: string,\n status: SSEToolOutputEvent['status'],\n output: unknown,\n options: Partial<SSEToolOutputEvent> = {},\n): SSEToolOutputEvent => ({\n type: 'tool_output',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n tool_name: toolName,\n tool_call_id: toolCallId,\n status,\n output,\n ...options,\n});\n\nexport const createSSETodoUpdatedEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n todoListId: string,\n todoListVersion: number,\n items: SSETodoUpdatedEvent['items'],\n options: Partial<SSETodoUpdatedEvent> = {},\n): SSETodoUpdatedEvent => ({\n type: 'todo_updated',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n todo_list_id: todoListId,\n todo_list_version: todoListVersion,\n items,\n ...options,\n});\n\nexport const createSSESubRunTraceEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n parentToolCallId: string,\n subrunId: string,\n kind: SSESubRunTraceEvent['kind'],\n options: Partial<SSESubRunTraceEvent> = {},\n): SSESubRunTraceEvent => ({\n type: 'subrun_trace',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n parent_tool_call_id: parentToolCallId,\n subrun_id: subrunId,\n kind,\n ...options,\n});\n\nexport const createSSERequiresUserInteractionEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<SSERequiresUserInteractionEvent> = {},\n): SSERequiresUserInteractionEvent => ({\n type: 'requires_user_interaction',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n ...options,\n});\n\nexport const createSSEErrorEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n error: string,\n options: Partial<SSEErrorEvent> = {},\n): SSEErrorEvent => ({\n type: 'error',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n error,\n ...options,\n});\n\nexport const createSSEStreamEndEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n options: Partial<SSEStreamEndEvent> = {},\n): SSEStreamEndEvent => ({\n type: 'stream_end',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n ...options,\n});\n\nexport const createSSEHistorySummaryEvent = (\n id: string,\n conversationId: string,\n turnId: string,\n summaryId: string,\n content: string,\n originalMessageCount: number,\n summarySeq: number,\n options: Partial<SSEHistorySummaryEvent> = {},\n): SSEHistorySummaryEvent => ({\n type: 'history_summary',\n id,\n timestamp: Date.now(),\n conversation_id: conversationId,\n turn_id: turnId,\n summary_id: summaryId,\n content,\n original_message_count: originalMessageCount,\n summary_seq: summarySeq,\n ...options,\n});\n"]}
@@ -1,12 +1,12 @@
1
- import { a as EventStore, P as PersistedEvent, E as EventRangeOptions, m as RunRegistryStore, l as RunRecord, L as ListRunsFilter, n as RunRequestSnapshot, b as EventBus, f as RunCostCollector, h as RunHandle, k as RunObserveFilter, C as CancelOpts, R as RunAwaitingUserPatch, j as RunMeta } from './runHandle-CyXvzgzk.js';
2
- import { p as AgentSpecSystemReminderPolicy, t as AgentSpecToolObservationGovernancePolicy, a as AgentSpec } from './agentSpec-EkmviZjy.js';
3
- import { e as RuntimeEvent } from './todo-B1PmDlp3.js';
1
+ import { a as EventStore, P as PersistedEvent, E as EventRangeOptions, m as RunRegistryStore, l as RunRecord, L as ListRunsFilter, n as RunRequestSnapshot, b as EventBus, f as RunCostCollector, h as RunHandle, k as RunObserveFilter, C as CancelOpts, e as RunAwaitingUserPatch, j as RunMeta } from './runHandle-BdLXOFqF.js';
2
+ import { e as AgentSpecSystemReminderPolicy, u as AgentSpecToolObservationGovernancePolicy, f as AgentSpec } from './agentSpec-Du4Iye0q.js';
3
+ import { R as RuntimeEvent } from './todo-Ca8llpRQ.js';
4
4
  import { A as AgentAiEngine, b as AuditPort } from './audit-CtcfART1.js';
5
5
  import { A as AgentInvocationRequest } from './agent-invocation-BznDaXDs.js';
6
6
  import { A as AnyAgentEvent } from './agentEvents-DEB7Fy_J.js';
7
7
  import { T as ToolCall, c as LlmRetryConfig, a as LlmRequestMessage, L as LlmCallOptions, e as ToolCallExtraContent } from './ai-engine.types-vZRnQcJa.js';
8
- import { T as ToolExecutionContext } from './toolContracts-Blll0241.js';
9
- import { h as ToolRuntimePort, O as ObservationPreviewPort } from './ports-DnLuKfpE.js';
8
+ import { a as ToolExecutionContext } from './toolContracts-f8lzZBNa.js';
9
+ import { h as ToolRuntimePort, O as ObservationPreviewPort } from './ports-DpPTFhSd.js';
10
10
 
11
11
  type NormalizedLlmUsage = {
12
12
  promptTokens: number;
@@ -373,7 +373,7 @@ interface StandardToolCall {
373
373
  */
374
374
 
375
375
  type CheckpointMeta = {
376
- conversationId: string;
376
+ checkpointKey: string;
377
377
  schemaVersion: number;
378
378
  savedAt: number;
379
379
  currentNode?: string;
@@ -387,13 +387,13 @@ type CheckpointListFilter = {
387
387
  };
388
388
  type CheckpointSummary = CheckpointMeta;
389
389
  interface Checkpointer {
390
- load(conversationId: string): Promise<EngineState | null>;
391
- save(conversationId: string, state: EngineState): Promise<void>;
392
- clear(conversationId: string): Promise<void>;
393
- peekMeta?(conversationId: string): Promise<CheckpointMeta | null>;
390
+ load(checkpointKey: string): Promise<EngineState | null>;
391
+ save(checkpointKey: string, state: EngineState): Promise<void>;
392
+ clear(checkpointKey: string): Promise<void>;
393
+ peekMeta?(checkpointKey: string): Promise<CheckpointMeta | null>;
394
394
  list?(filter?: CheckpointListFilter): Promise<CheckpointSummary[]>;
395
395
  }
396
- declare function summarizeCheckpoint(conversationId: string, state: EngineState, savedAt: number): CheckpointSummary;
396
+ declare function summarizeCheckpoint(checkpointKey: string, state: EngineState, savedAt: number): CheckpointSummary;
397
397
 
398
398
  interface GraphExecutorConfig {
399
399
  maxSteps?: number;
@@ -412,15 +412,16 @@ declare class GraphExecutor {
412
412
  private readonly telemetryPort;
413
413
  constructor(checkpointer: Checkpointer, config?: GraphExecutorConfig);
414
414
  registerNode(node: GraphNode): void;
415
- peekCheckpoint(conversationId: string): Promise<EngineState | null>;
415
+ peekCheckpoint(checkpointKey: string): Promise<EngineState | null>;
416
416
  private sanitize;
417
- prime(conversationId: string, local: Record<string, unknown>, nodeId?: string): Promise<void>;
418
- setNode(conversationId: string, nodeId: string, localPatch?: Record<string, unknown>): Promise<void>;
419
- runUntilYield(conversationId: string): Promise<{
417
+ prime(checkpointKey: string, local: Record<string, unknown>, nodeId?: string): Promise<void>;
418
+ setNode(checkpointKey: string, nodeId: string, localPatch?: Record<string, unknown>): Promise<void>;
419
+ runUntilYield(checkpointKey: string): Promise<{
420
420
  events: RuntimeEvent[];
421
421
  checkpoint: EngineState;
422
422
  stepCount: number;
423
423
  }>;
424
+ private loadInitialState;
424
425
  private runUntilYieldInternal;
425
426
  }
426
427
 
@@ -1,12 +1,12 @@
1
- import { a as EventStore, P as PersistedEvent, E as EventRangeOptions, m as RunRegistryStore, l as RunRecord, L as ListRunsFilter, n as RunRequestSnapshot, b as EventBus, f as RunCostCollector, h as RunHandle, k as RunObserveFilter, C as CancelOpts, R as RunAwaitingUserPatch, j as RunMeta } from './runHandle-D3gPsD7B.cjs';
2
- import { p as AgentSpecSystemReminderPolicy, t as AgentSpecToolObservationGovernancePolicy, a as AgentSpec } from './agentSpec-EkmviZjy.cjs';
3
- import { e as RuntimeEvent } from './todo-B1PmDlp3.cjs';
1
+ import { a as EventStore, P as PersistedEvent, E as EventRangeOptions, m as RunRegistryStore, l as RunRecord, L as ListRunsFilter, n as RunRequestSnapshot, b as EventBus, f as RunCostCollector, h as RunHandle, k as RunObserveFilter, C as CancelOpts, e as RunAwaitingUserPatch, j as RunMeta } from './runHandle-BNOqS-Bl.cjs';
2
+ import { e as AgentSpecSystemReminderPolicy, u as AgentSpecToolObservationGovernancePolicy, f as AgentSpec } from './agentSpec-Du4Iye0q.cjs';
3
+ import { R as RuntimeEvent } from './todo-Ca8llpRQ.cjs';
4
4
  import { A as AgentAiEngine, b as AuditPort } from './audit-LeOrm2hX.cjs';
5
5
  import { A as AgentInvocationRequest } from './agent-invocation-BHcNfrBV.cjs';
6
6
  import { A as AnyAgentEvent } from './agentEvents-DEB7Fy_J.cjs';
7
7
  import { T as ToolCall, c as LlmRetryConfig, a as LlmRequestMessage, L as LlmCallOptions, e as ToolCallExtraContent } from './ai-engine.types-BpeU_XQG.cjs';
8
- import { T as ToolExecutionContext } from './toolContracts-CLkQmhTG.cjs';
9
- import { h as ToolRuntimePort, O as ObservationPreviewPort } from './ports-DaatKJXp.cjs';
8
+ import { a as ToolExecutionContext } from './toolContracts-Bm3EZ1UM.cjs';
9
+ import { h as ToolRuntimePort, O as ObservationPreviewPort } from './ports-s-tSp3sB.cjs';
10
10
 
11
11
  type NormalizedLlmUsage = {
12
12
  promptTokens: number;
@@ -373,7 +373,7 @@ interface StandardToolCall {
373
373
  */
374
374
 
375
375
  type CheckpointMeta = {
376
- conversationId: string;
376
+ checkpointKey: string;
377
377
  schemaVersion: number;
378
378
  savedAt: number;
379
379
  currentNode?: string;
@@ -387,13 +387,13 @@ type CheckpointListFilter = {
387
387
  };
388
388
  type CheckpointSummary = CheckpointMeta;
389
389
  interface Checkpointer {
390
- load(conversationId: string): Promise<EngineState | null>;
391
- save(conversationId: string, state: EngineState): Promise<void>;
392
- clear(conversationId: string): Promise<void>;
393
- peekMeta?(conversationId: string): Promise<CheckpointMeta | null>;
390
+ load(checkpointKey: string): Promise<EngineState | null>;
391
+ save(checkpointKey: string, state: EngineState): Promise<void>;
392
+ clear(checkpointKey: string): Promise<void>;
393
+ peekMeta?(checkpointKey: string): Promise<CheckpointMeta | null>;
394
394
  list?(filter?: CheckpointListFilter): Promise<CheckpointSummary[]>;
395
395
  }
396
- declare function summarizeCheckpoint(conversationId: string, state: EngineState, savedAt: number): CheckpointSummary;
396
+ declare function summarizeCheckpoint(checkpointKey: string, state: EngineState, savedAt: number): CheckpointSummary;
397
397
 
398
398
  interface GraphExecutorConfig {
399
399
  maxSteps?: number;
@@ -412,15 +412,16 @@ declare class GraphExecutor {
412
412
  private readonly telemetryPort;
413
413
  constructor(checkpointer: Checkpointer, config?: GraphExecutorConfig);
414
414
  registerNode(node: GraphNode): void;
415
- peekCheckpoint(conversationId: string): Promise<EngineState | null>;
415
+ peekCheckpoint(checkpointKey: string): Promise<EngineState | null>;
416
416
  private sanitize;
417
- prime(conversationId: string, local: Record<string, unknown>, nodeId?: string): Promise<void>;
418
- setNode(conversationId: string, nodeId: string, localPatch?: Record<string, unknown>): Promise<void>;
419
- runUntilYield(conversationId: string): Promise<{
417
+ prime(checkpointKey: string, local: Record<string, unknown>, nodeId?: string): Promise<void>;
418
+ setNode(checkpointKey: string, nodeId: string, localPatch?: Record<string, unknown>): Promise<void>;
419
+ runUntilYield(checkpointKey: string): Promise<{
420
420
  events: RuntimeEvent[];
421
421
  checkpoint: EngineState;
422
422
  stepCount: number;
423
423
  }>;
424
+ private loadInitialState;
424
425
  private runUntilYieldInternal;
425
426
  }
426
427