effect-agent 0.1.0-beta.85 → 0.1.0-beta.87
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.
- package/dist/Agent-CN0EWRsR.d.mts +226 -0
- package/dist/Agent-RklVROrm.mjs +83 -0
- package/dist/Agent-RklVROrm.mjs.map +1 -0
- package/dist/AgentError-CggcAQ7V.d.mts +101 -0
- package/dist/AgentPolicy-CetmQrf3.d.mts +96 -0
- package/dist/AgentRuntime-BLyETCPo.mjs +4562 -0
- package/dist/AgentRuntime-BLyETCPo.mjs.map +1 -0
- package/dist/AgentRuntime-uxR_a4VM.d.mts +346 -0
- package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
- package/dist/ContextCompactor-Dxu5zhOL.d.mts +161 -0
- package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
- package/dist/DurableAgentRuntime-uggeJpv3.mjs +6368 -0
- package/dist/DurableAgentRuntime-uggeJpv3.mjs.map +1 -0
- package/dist/DurableFailpoint-Oinuuedm.d.mts +41 -0
- package/dist/DurableStep-Cry_iol4.d.mts +103 -0
- package/dist/Ephemeral.d.mts +22 -0
- package/dist/Ephemeral.mjs +22 -0
- package/dist/Ephemeral.mjs.map +1 -0
- package/dist/EventSource-OqS_P9ug.d.mts +51 -0
- package/dist/Identifiers-CN2s30fF.d.mts +40 -0
- package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
- package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
- package/dist/Messaging-CkcIdt4I.d.mts +490 -0
- package/dist/MessagingHost-CRk0kXzT.d.mts +246 -0
- package/dist/MessagingHost-CWi_PP3g.mjs +137 -0
- package/dist/MessagingHost-CWi_PP3g.mjs.map +1 -0
- package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
- package/dist/Output-D6SkedVx.d.mts +25 -0
- package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
- package/dist/PageScreenshot-BpgZKAxl.d.mts +48 -0
- package/dist/PreparedInputAdmission-C4HbjHgl.d.mts +38 -0
- package/dist/Receipt-BAHyigAF.d.mts +33 -0
- package/dist/Records-BAGkekt8.d.mts +3570 -0
- package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
- package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
- package/dist/RunJournal-Cgg1kNvc.mjs +825 -0
- package/dist/RunJournal-Cgg1kNvc.mjs.map +1 -0
- package/dist/RunOptions-g1aigcKI.d.mts +915 -0
- package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
- package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
- package/dist/Schedule-H3SEYX9g.d.mts +842 -0
- package/dist/Scheduling-C9aIP8zT.mjs +691 -0
- package/dist/Scheduling-C9aIP8zT.mjs.map +1 -0
- package/dist/Subagent-Cy_hU1tv.mjs +1469 -0
- package/dist/Subagent-Cy_hU1tv.mjs.map +1 -0
- package/dist/Subagent-DyfzHNdv.d.mts +826 -0
- package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
- package/dist/SubagentHost-CJUBQlcc.d.mts +140 -0
- package/dist/Subscription-BEP8oQO5.d.mts +921 -0
- package/dist/SubscriptionInput-vAAOBrK7.d.mts +41 -0
- package/dist/Thread-DOBQ0QUY.d.mts +96 -0
- package/dist/ThreadHistory-tS1KwxHR.d.mts +60 -0
- package/dist/ToolBroker-DWs4tZra.d.mts +133 -0
- package/dist/ToolExposure-9uF_Yo0T.mjs +10 -0
- package/dist/ToolExposure-9uF_Yo0T.mjs.map +1 -0
- package/dist/ToolExposure-C93U1sPu.mjs +30 -0
- package/dist/ToolExposure-C93U1sPu.mjs.map +1 -0
- package/dist/ToolExposure-UCN12eCd.d.mts +39 -0
- package/dist/ToolExposure-r2eOWk4F.d.mts +46 -0
- package/dist/ToolExposure.d.mts +6 -5
- package/dist/ToolExposure.mjs +17 -9
- package/dist/ToolExposure.mjs.map +1 -1
- package/dist/ToolReconciler-DQVaJfpE.d.mts +76 -0
- package/dist/ToolResult-DmmgoChv.d.mts +61 -0
- package/dist/Usage-Dx0aknfk.d.mts +121 -0
- package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
- package/dist/Worker-CaPYykpe.d.mts +228 -0
- package/dist/agent-registration-CWDMOAZA.mjs +172 -0
- package/dist/agent-registration-CWDMOAZA.mjs.map +1 -0
- package/dist/capabilities/Approval.d.mts +114 -0
- package/dist/capabilities/Approval.mjs +226 -0
- package/dist/capabilities/Approval.mjs.map +1 -0
- package/dist/capabilities/Budget.d.mts +112 -0
- package/dist/capabilities/Budget.mjs +346 -0
- package/dist/capabilities/Budget.mjs.map +1 -0
- package/dist/capabilities/CodeMode.d.mts +157 -0
- package/dist/capabilities/CodeMode.mjs +522 -0
- package/dist/capabilities/CodeMode.mjs.map +1 -0
- package/dist/capabilities/Commands.d.mts +55 -0
- package/dist/capabilities/Commands.mjs +57 -0
- package/dist/capabilities/Commands.mjs.map +1 -0
- package/dist/capabilities/ContextTools.d.mts +321 -0
- package/dist/capabilities/ContextTools.mjs +126 -0
- package/dist/capabilities/ContextTools.mjs.map +1 -0
- package/dist/capabilities/Mcp.d.mts +108 -0
- package/dist/capabilities/Mcp.mjs +260 -0
- package/dist/capabilities/Mcp.mjs.map +1 -0
- package/dist/capabilities/McpClient.d.mts +115 -0
- package/dist/capabilities/McpClient.mjs +506 -0
- package/dist/capabilities/McpClient.mjs.map +1 -0
- package/dist/capabilities/MemoryNotes.d.mts +424 -0
- package/dist/capabilities/MemoryNotes.mjs +128 -0
- package/dist/capabilities/MemoryNotes.mjs.map +1 -0
- package/dist/capabilities/Messaging.d.mts +3 -0
- package/dist/capabilities/Messaging.mjs +151 -0
- package/dist/capabilities/Messaging.mjs.map +1 -0
- package/dist/capabilities/ModelContext.d.mts +89 -0
- package/dist/capabilities/ModelContext.mjs +168 -0
- package/dist/capabilities/ModelContext.mjs.map +1 -0
- package/dist/capabilities/Redaction.d.mts +37 -0
- package/dist/capabilities/Redaction.mjs +104 -0
- package/dist/capabilities/Redaction.mjs.map +1 -0
- package/dist/capabilities/Remembering.d.mts +434 -0
- package/dist/capabilities/Remembering.mjs +290 -0
- package/dist/capabilities/Remembering.mjs.map +1 -0
- package/dist/capabilities/RunHooks.d.mts +82 -0
- package/dist/capabilities/RunHooks.mjs +144 -0
- package/dist/capabilities/RunHooks.mjs.map +1 -0
- package/dist/capabilities/SemanticMemory.d.mts +431 -0
- package/dist/capabilities/SemanticMemory.mjs +315 -0
- package/dist/capabilities/SemanticMemory.mjs.map +1 -0
- package/dist/capabilities/Subagent.d.mts +4 -0
- package/dist/capabilities/Subagent.mjs +5 -0
- package/dist/capabilities/SubagentReservations.d.mts +186 -0
- package/dist/capabilities/SubagentReservations.mjs +479 -0
- package/dist/capabilities/SubagentReservations.mjs.map +1 -0
- package/dist/capabilities/ToolDiscovery.d.mts +109 -0
- package/dist/capabilities/ToolDiscovery.mjs +211 -0
- package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
- package/dist/capabilities/WebCapture.d.mts +163 -0
- package/dist/capabilities/WebCapture.mjs +335 -0
- package/dist/capabilities/WebCapture.mjs.map +1 -0
- package/dist/capabilities/WebSearch.d.mts +71 -0
- package/dist/capabilities/WebSearch.mjs +112 -0
- package/dist/capabilities/WebSearch.mjs.map +1 -0
- package/dist/compaction-C2OTceKw.mjs +505 -0
- package/dist/compaction-C2OTceKw.mjs.map +1 -0
- package/dist/core/Agent.d.mts +2 -0
- package/dist/core/Agent.mjs +2 -0
- package/dist/core/AgentError.d.mts +2 -0
- package/dist/core/AgentError.mjs +117 -0
- package/dist/core/AgentError.mjs.map +1 -0
- package/dist/core/AgentPolicy.d.mts +2 -0
- package/dist/core/AgentPolicy.mjs +94 -0
- package/dist/core/AgentPolicy.mjs.map +1 -0
- package/dist/core/AgentUpdates.d.mts +2 -0
- package/dist/core/AgentUpdates.mjs +63 -0
- package/dist/core/AgentUpdates.mjs.map +1 -0
- package/dist/core/IdGenerator.d.mts +26 -0
- package/dist/core/IdGenerator.mjs +27 -0
- package/dist/core/IdGenerator.mjs.map +1 -0
- package/dist/core/Identifiers.d.mts +2 -0
- package/dist/core/Identifiers.mjs +43 -0
- package/dist/core/Identifiers.mjs.map +1 -0
- package/dist/core/Memory.d.mts +57 -0
- package/dist/core/Memory.mjs +203 -0
- package/dist/core/Memory.mjs.map +1 -0
- package/dist/core/MemoryNamespace.d.mts +2 -0
- package/dist/core/MemoryNamespace.mjs +116 -0
- package/dist/core/MemoryNamespace.mjs.map +1 -0
- package/dist/core/MemoryReference.d.mts +2 -0
- package/dist/core/MemoryReference.mjs +109 -0
- package/dist/core/MemoryReference.mjs.map +1 -0
- package/dist/core/MemoryRevalidation.d.mts +65 -0
- package/dist/core/MemoryRevalidation.mjs +126 -0
- package/dist/core/MemoryRevalidation.mjs.map +1 -0
- package/dist/core/MemoryStore.d.mts +186 -0
- package/dist/core/MemoryStore.mjs +243 -0
- package/dist/core/MemoryStore.mjs.map +1 -0
- package/dist/core/Receipt.d.mts +2 -0
- package/dist/core/Receipt.mjs +36 -0
- package/dist/core/Receipt.mjs.map +1 -0
- package/dist/core/RememberingStore.d.mts +1562 -0
- package/dist/core/RememberingStore.mjs +190 -0
- package/dist/core/RememberingStore.mjs.map +1 -0
- package/dist/core/RunEvent.d.mts +2 -0
- package/dist/core/RunEvent.mjs +337 -0
- package/dist/core/RunEvent.mjs.map +1 -0
- package/dist/core/RunPolicyUsage.d.mts +2 -0
- package/dist/core/RunPolicyUsage.mjs +21 -0
- package/dist/core/RunPolicyUsage.mjs.map +1 -0
- package/dist/core/SemanticMemoryIndex.d.mts +826 -0
- package/dist/core/SemanticMemoryIndex.mjs +185 -0
- package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
- package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
- package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
- package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
- package/dist/core/SubagentContract.d.mts +2 -0
- package/dist/core/SubagentContract.mjs +148 -0
- package/dist/core/SubagentContract.mjs.map +1 -0
- package/dist/core/Thread.d.mts +2 -0
- package/dist/core/Thread.mjs +250 -0
- package/dist/core/Thread.mjs.map +1 -0
- package/dist/core/ToolResult.d.mts +2 -0
- package/dist/core/ToolResult.mjs +140 -0
- package/dist/core/ToolResult.mjs.map +1 -0
- package/dist/core/Usage.d.mts +2 -0
- package/dist/core/Usage.mjs +319 -0
- package/dist/core/Usage.mjs.map +1 -0
- package/dist/core/Worker.d.mts +3 -0
- package/dist/core/Worker.mjs +147 -0
- package/dist/core/Worker.mjs.map +1 -0
- package/dist/durable/ActivityStore.d.mts +116 -0
- package/dist/durable/ActivityStore.mjs +131 -0
- package/dist/durable/ActivityStore.mjs.map +1 -0
- package/dist/durable/Admin.d.mts +2 -0
- package/dist/durable/Admin.mjs +328 -0
- package/dist/durable/Admin.mjs.map +1 -0
- package/dist/durable/AgentRegistration.d.mts +2 -0
- package/dist/durable/AgentRegistration.mjs +14 -0
- package/dist/durable/AgentRegistration.mjs.map +1 -0
- package/dist/durable/Certification.d.mts +111 -0
- package/dist/durable/Certification.mjs +159 -0
- package/dist/durable/Certification.mjs.map +1 -0
- package/dist/durable/CommittedActivity.d.mts +62 -0
- package/dist/durable/CommittedActivity.mjs +159 -0
- package/dist/durable/CommittedActivity.mjs.map +1 -0
- package/dist/durable/Digest.d.mts +2 -0
- package/dist/durable/Digest.mjs +50 -0
- package/dist/durable/Digest.mjs.map +1 -0
- package/dist/durable/DurableAgentRuntime.d.mts +3 -0
- package/dist/durable/DurableAgentRuntime.mjs +3 -0
- package/dist/durable/DurableFailpoint.d.mts +2 -0
- package/dist/durable/DurableFailpoint.mjs +94 -0
- package/dist/durable/DurableFailpoint.mjs.map +1 -0
- package/dist/durable/DurableFailpointTestControl.d.mts +15 -0
- package/dist/durable/DurableFailpointTestControl.mjs +19 -0
- package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
- package/dist/durable/EventSource.d.mts +2 -0
- package/dist/durable/EventSource.mjs +65 -0
- package/dist/durable/EventSource.mjs.map +1 -0
- package/dist/durable/GitHubWorkflowSource.d.mts +144 -0
- package/dist/durable/GitHubWorkflowSource.mjs +209 -0
- package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
- package/dist/durable/MessageDelivery.d.mts +492 -0
- package/dist/durable/MessageDelivery.mjs +495 -0
- package/dist/durable/MessageDelivery.mjs.map +1 -0
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +358 -0
- package/dist/durable/MessageDeliveryStoreConformance.mjs +243 -0
- package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
- package/dist/durable/OperationAuthorizer.d.mts +2 -0
- package/dist/durable/OperationAuthorizer.mjs +70 -0
- package/dist/durable/OperationAuthorizer.mjs.map +1 -0
- package/dist/durable/PersistentHistory.d.mts +16 -0
- package/dist/durable/PersistentHistory.mjs +125 -0
- package/dist/durable/PersistentHistory.mjs.map +1 -0
- package/dist/durable/PreparedInputAdmission.d.mts +2 -0
- package/dist/durable/PreparedInputAdmission.mjs +34 -0
- package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
- package/dist/durable/Records.d.mts +2 -0
- package/dist/durable/Records.mjs +795 -0
- package/dist/durable/Records.mjs.map +1 -0
- package/dist/durable/Recovery.d.mts +2 -0
- package/dist/durable/Recovery.mjs +739 -0
- package/dist/durable/Recovery.mjs.map +1 -0
- package/dist/durable/RunJournal.d.mts +2 -0
- package/dist/durable/RunJournal.mjs +2 -0
- package/dist/durable/Schedule.d.mts +2 -0
- package/dist/durable/Schedule.mjs +382 -0
- package/dist/durable/Schedule.mjs.map +1 -0
- package/dist/durable/ScheduleStoreConformance.d.mts +18 -0
- package/dist/durable/ScheduleStoreConformance.mjs +420 -0
- package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
- package/dist/durable/ScheduleTransition.d.mts +24 -0
- package/dist/durable/ScheduleTransition.mjs +180 -0
- package/dist/durable/ScheduleTransition.mjs.map +1 -0
- package/dist/durable/Scheduling.d.mts +54 -0
- package/dist/durable/Scheduling.mjs +2 -0
- package/dist/durable/SqlMemoryStore.d.mts +30 -0
- package/dist/durable/SqlMemoryStore.mjs +435 -0
- package/dist/durable/SqlMemoryStore.mjs.map +1 -0
- package/dist/durable/SqlMessageDeliveryStore.d.mts +40 -0
- package/dist/durable/SqlMessageDeliveryStore.mjs +167 -0
- package/dist/durable/SqlMessageDeliveryStore.mjs.map +1 -0
- package/dist/durable/SqlStorageV2Upgrade.d.mts +22 -0
- package/dist/durable/SqlStorageV2Upgrade.mjs +459 -0
- package/dist/durable/SqlStorageV2Upgrade.mjs.map +1 -0
- package/dist/durable/SqlSubscriptionStore.d.mts +63 -0
- package/dist/durable/SqlSubscriptionStore.mjs +751 -0
- package/dist/durable/SqlSubscriptionStore.mjs.map +1 -0
- package/dist/durable/SubmissionLedger.d.mts +3 -0
- package/dist/durable/SubmissionLedger.mjs +914 -0
- package/dist/durable/SubmissionLedger.mjs.map +1 -0
- package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
- package/dist/durable/SubmissionLedgerConformance.mjs +1986 -0
- package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
- package/dist/durable/SubmissionStatus.d.mts +2 -0
- package/dist/durable/SubmissionStatus.mjs +18 -0
- package/dist/durable/SubmissionStatus.mjs.map +1 -0
- package/dist/durable/Subscription.d.mts +2 -0
- package/dist/durable/Subscription.mjs +360 -0
- package/dist/durable/Subscription.mjs.map +1 -0
- package/dist/durable/SubscriptionInput.d.mts +2 -0
- package/dist/durable/SubscriptionInput.mjs +52 -0
- package/dist/durable/SubscriptionInput.mjs.map +1 -0
- package/dist/durable/SubscriptionStoreConformance.d.mts +17 -0
- package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
- package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
- package/dist/durable/SubscriptionTools.d.mts +273 -0
- package/dist/durable/SubscriptionTools.mjs +190 -0
- package/dist/durable/SubscriptionTools.mjs.map +1 -0
- package/dist/durable/SubscriptionTransition.d.mts +21 -0
- package/dist/durable/SubscriptionTransition.mjs +148 -0
- package/dist/durable/SubscriptionTransition.mjs.map +1 -0
- package/dist/durable/Subscriptions.d.mts +73 -0
- package/dist/durable/Subscriptions.mjs +627 -0
- package/dist/durable/Subscriptions.mjs.map +1 -0
- package/dist/durable/ThreadContextHistory.d.mts +32 -0
- package/dist/durable/ThreadContextHistory.mjs +152 -0
- package/dist/durable/ThreadContextHistory.mjs.map +1 -0
- package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
- package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
- package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
- package/dist/durable/ThreadInvariants.d.mts +74 -0
- package/dist/durable/ThreadInvariants.mjs +200 -0
- package/dist/durable/ThreadInvariants.mjs.map +1 -0
- package/dist/durable/ThreadProjection.d.mts +78 -0
- package/dist/durable/ThreadProjection.mjs +158 -0
- package/dist/durable/ThreadProjection.mjs.map +1 -0
- package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
- package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
- package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
- package/dist/durable/ThreadStore.d.mts +2 -0
- package/dist/durable/ThreadStore.mjs +147 -0
- package/dist/durable/ThreadStore.mjs.map +1 -0
- package/dist/durable/ThreadStoreConformance.d.mts +29 -0
- package/dist/durable/ThreadStoreConformance.mjs +248 -0
- package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
- package/dist/durable/ToolReconciler.d.mts +2 -0
- package/dist/durable/ToolReconciler.mjs +81 -0
- package/dist/durable/ToolReconciler.mjs.map +1 -0
- package/dist/durable/WakeScheduler.d.mts +2 -0
- package/dist/durable/WakeScheduler.mjs +85 -0
- package/dist/durable/WakeScheduler.mjs.map +1 -0
- package/dist/durable/WorkerHost.d.mts +129 -0
- package/dist/durable/WorkerHost.mjs +77 -0
- package/dist/durable/WorkerHost.mjs.map +1 -0
- package/dist/engine/AgentRuntime.d.mts +2 -0
- package/dist/engine/AgentRuntime.mjs +2 -0
- package/dist/engine/Compaction.d.mts +7 -0
- package/dist/engine/Compaction.mjs +16 -0
- package/dist/engine/Compaction.mjs.map +1 -0
- package/dist/engine/ContextCompactor.d.mts +2 -0
- package/dist/engine/ContextCompactor.mjs +119 -0
- package/dist/engine/ContextCompactor.mjs.map +1 -0
- package/dist/engine/ContextHistory.d.mts +65 -0
- package/dist/engine/ContextHistory.mjs +76 -0
- package/dist/engine/ContextHistory.mjs.map +1 -0
- package/dist/engine/ContextWindow.d.mts +2 -0
- package/dist/engine/ContextWindow.mjs +59 -0
- package/dist/engine/ContextWindow.mjs.map +1 -0
- package/dist/engine/DurableStep.d.mts +2 -0
- package/dist/engine/DurableStep.mjs +62 -0
- package/dist/engine/DurableStep.mjs.map +1 -0
- package/dist/engine/MessagingHost.d.mts +2 -0
- package/dist/engine/MessagingHost.mjs +2 -0
- package/dist/engine/Output.d.mts +2 -0
- package/dist/engine/Output.mjs +8 -0
- package/dist/engine/Output.mjs.map +1 -0
- package/dist/engine/RunEventSink.d.mts +2 -0
- package/dist/engine/RunEventSink.mjs +22 -0
- package/dist/engine/RunEventSink.mjs.map +1 -0
- package/dist/engine/RunOptions.d.mts +2 -0
- package/dist/engine/RunOptions.mjs +122 -0
- package/dist/engine/RunOptions.mjs.map +1 -0
- package/dist/engine/SubagentHost.d.mts +2 -0
- package/dist/engine/SubagentHost.mjs +72 -0
- package/dist/engine/SubagentHost.mjs.map +1 -0
- package/dist/engine/ThreadHistory.d.mts +2 -0
- package/dist/engine/ThreadHistory.mjs +67 -0
- package/dist/engine/ThreadHistory.mjs.map +1 -0
- package/dist/engine/ToolBroker.d.mts +2 -0
- package/dist/engine/ToolBroker.mjs +42 -0
- package/dist/engine/ToolBroker.mjs.map +1 -0
- package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
- package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
- package/dist/index.d.mts +88 -54
- package/dist/index.mjs +97 -54
- package/dist/output-contract-BC7tjlGw.mjs +84 -0
- package/dist/output-contract-BC7tjlGw.mjs.map +1 -0
- package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/dist/sandbox/CodeExecutor.d.mts +194 -0
- package/dist/sandbox/CodeExecutor.mjs +278 -0
- package/dist/sandbox/CodeExecutor.mjs.map +1 -0
- package/dist/sandbox/InteractiveBrowser.d.mts +142 -0
- package/dist/sandbox/InteractiveBrowser.mjs +165 -0
- package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
- package/dist/sandbox/PageCapture.d.mts +2 -0
- package/dist/sandbox/PageCapture.mjs +450 -0
- package/dist/sandbox/PageCapture.mjs.map +1 -0
- package/dist/sandbox/PageCrawl.d.mts +88 -0
- package/dist/sandbox/PageCrawl.mjs +124 -0
- package/dist/sandbox/PageCrawl.mjs.map +1 -0
- package/dist/sandbox/PageScreenshot.d.mts +2 -0
- package/dist/sandbox/PageScreenshot.mjs +53 -0
- package/dist/sandbox/PageScreenshot.mjs.map +1 -0
- package/dist/sandbox/ProtectedBrowser.d.mts +252 -0
- package/dist/sandbox/ProtectedBrowser.mjs +270 -0
- package/dist/sandbox/ProtectedBrowser.mjs.map +1 -0
- package/dist/sandbox/Sandbox.d.mts +2 -0
- package/dist/sandbox/Sandbox.mjs +208 -0
- package/dist/sandbox/Sandbox.mjs.map +1 -0
- package/dist/utf8-BYfhEkcj.mjs +11 -0
- package/dist/utf8-BYfhEkcj.mjs.map +1 -0
- package/dist/utf8-DchGZRBd.mjs +23 -0
- package/dist/utf8-DchGZRBd.mjs.map +1 -0
- package/package.json +1 -1
- package/src/Ephemeral.ts +17 -0
- package/src/ToolExposure.ts +2 -2
- package/src/capabilities/Approval.ts +352 -0
- package/src/capabilities/Budget.ts +536 -0
- package/src/capabilities/CodeMode.ts +1090 -0
- package/src/capabilities/Commands.ts +86 -0
- package/src/capabilities/ContextTools.ts +184 -0
- package/src/capabilities/Mcp.ts +427 -0
- package/src/capabilities/McpClient.ts +967 -0
- package/src/capabilities/MemoryNotes.ts +174 -0
- package/src/capabilities/Messaging.ts +261 -0
- package/src/capabilities/ModelContext.ts +354 -0
- package/src/capabilities/Redaction.ts +157 -0
- package/src/capabilities/Remembering.ts +550 -0
- package/src/capabilities/RunHooks.ts +280 -0
- package/src/capabilities/SemanticMemory.ts +447 -0
- package/src/capabilities/Subagent.ts +2277 -0
- package/src/capabilities/SubagentReservations.ts +850 -0
- package/src/capabilities/ToolDiscovery.ts +339 -0
- package/src/capabilities/WebCapture.ts +722 -0
- package/src/capabilities/WebSearch.ts +184 -0
- package/src/capabilities/internal/subagent-background.ts +1106 -0
- package/src/capabilities/internal/subagent-contract.ts +142 -0
- package/src/capabilities/internal/subagent-policy.ts +235 -0
- package/src/capabilities/internal/subagent-reporting.ts +261 -0
- package/src/capabilities/internal/utf8.ts +10 -0
- package/src/core/Agent.ts +575 -0
- package/src/core/AgentError.ts +152 -0
- package/src/core/AgentPolicy.ts +153 -0
- package/src/core/AgentUpdates.ts +100 -0
- package/src/core/IdGenerator.ts +39 -0
- package/src/core/Identifiers.ts +48 -0
- package/src/core/Memory.ts +290 -0
- package/src/core/MemoryNamespace.ts +196 -0
- package/src/core/MemoryReference.ts +121 -0
- package/src/core/MemoryRevalidation.ts +185 -0
- package/src/core/MemoryStore.ts +368 -0
- package/src/core/Messaging.ts +90 -0
- package/src/core/Receipt.ts +42 -0
- package/src/core/RememberingStore.ts +300 -0
- package/src/core/RunEvent.ts +366 -0
- package/src/core/RunPolicyUsage.ts +17 -0
- package/src/core/SemanticMemoryIndex.ts +250 -0
- package/src/core/SemanticMemoryRevalidation.ts +254 -0
- package/src/core/SubagentContract.ts +196 -0
- package/src/core/Thread.ts +371 -0
- package/src/core/ToolExposure.ts +74 -0
- package/src/core/ToolResult.ts +170 -0
- package/src/core/Usage.ts +529 -0
- package/src/core/Worker.ts +173 -0
- package/src/core/internal/agent-updates.ts +32 -0
- package/src/core/internal/utf8.ts +23 -0
- package/src/durable/ActivityStore.ts +160 -0
- package/src/durable/Admin.ts +496 -0
- package/src/durable/AgentRegistration.ts +13 -0
- package/src/durable/Certification.ts +210 -0
- package/src/durable/CommittedActivity.ts +296 -0
- package/src/durable/Digest.ts +93 -0
- package/src/durable/DurableAgentRuntime.ts +10340 -0
- package/src/durable/DurableFailpoint.ts +103 -0
- package/src/durable/DurableFailpointTestControl.ts +39 -0
- package/src/durable/EventSource.ts +172 -0
- package/src/durable/GitHubWorkflowSource.ts +453 -0
- package/src/durable/MessageDelivery.ts +708 -0
- package/src/durable/MessageDeliveryStoreConformance.ts +363 -0
- package/src/durable/OperationAuthorizer.ts +85 -0
- package/src/durable/PersistentHistory.ts +260 -0
- package/src/durable/PreparedInputAdmission.ts +44 -0
- package/src/durable/Records.ts +1010 -0
- package/src/durable/Recovery.ts +1018 -0
- package/src/durable/RunJournal.ts +1479 -0
- package/src/durable/Schedule.ts +504 -0
- package/src/durable/ScheduleStoreConformance.ts +638 -0
- package/src/durable/ScheduleTransition.ts +265 -0
- package/src/durable/Scheduling.ts +1077 -0
- package/src/durable/SqlMemoryStore.ts +774 -0
- package/src/durable/SqlMessageDeliveryStore.ts +302 -0
- package/src/durable/SqlStorageV2Upgrade.ts +500 -0
- package/src/durable/SqlSubscriptionStore.ts +1440 -0
- package/src/durable/SubmissionLedger.ts +1201 -0
- package/src/durable/SubmissionLedgerConformance.ts +4579 -0
- package/src/durable/SubmissionStatus.ts +14 -0
- package/src/durable/Subscription.ts +544 -0
- package/src/durable/SubscriptionInput.ts +144 -0
- package/src/durable/SubscriptionStoreConformance.ts +945 -0
- package/src/durable/SubscriptionTools.ts +327 -0
- package/src/durable/SubscriptionTransition.ts +302 -0
- package/src/durable/Subscriptions.ts +1210 -0
- package/src/durable/ThreadContextHistory.ts +227 -0
- package/src/durable/ThreadContextHistoryProjection.ts +216 -0
- package/src/durable/ThreadInvariants.ts +442 -0
- package/src/durable/ThreadProjection.ts +269 -0
- package/src/durable/ThreadProjectionMaintenance.ts +67 -0
- package/src/durable/ThreadStore.ts +242 -0
- package/src/durable/ThreadStoreConformance.ts +710 -0
- package/src/durable/ToolReconciler.ts +105 -0
- package/src/durable/WakeScheduler.ts +134 -0
- package/src/durable/WorkerHost.ts +171 -0
- package/src/durable/internal/agent-registration.ts +525 -0
- package/src/durable/internal/agent-updates.ts +302 -0
- package/src/durable/internal/foreign-diagnostic.ts +47 -0
- package/src/durable/internal/journal-checkpoint.ts +104 -0
- package/src/durable/internal/journal-metadata.ts +107 -0
- package/src/durable/internal/messaging-host.ts +608 -0
- package/src/durable/internal/schedule-time.ts +303 -0
- package/src/durable/internal/storage-v2-layout.ts +163 -0
- package/src/durable/internal/storage-v2.ts +73 -0
- package/src/durable/internal/worker-host.ts +2467 -0
- package/src/durable/internal/worker-runtime.ts +9 -0
- package/src/engine/AgentRuntime.ts +37 -0
- package/src/engine/Compaction.ts +11 -0
- package/src/engine/ContextCompactor.ts +277 -0
- package/src/engine/ContextHistory.ts +73 -0
- package/src/engine/ContextWindow.ts +72 -0
- package/src/engine/DurableStep.ts +132 -0
- package/src/engine/MessagingHost.ts +110 -0
- package/src/engine/Output.ts +2 -0
- package/src/engine/RunEventSink.ts +132 -0
- package/src/engine/RunOptions.ts +1077 -0
- package/src/engine/SubagentHost.ts +181 -0
- package/src/engine/ThreadHistory.ts +120 -0
- package/src/engine/ToolBroker.ts +157 -0
- package/src/engine/ToolExposure.ts +48 -0
- package/src/engine/internal/agent-runtime.ts +10117 -0
- package/src/engine/internal/bounded-value.ts +315 -0
- package/src/engine/internal/compaction.ts +678 -0
- package/src/engine/internal/error-diagnostic.ts +39 -0
- package/src/engine/internal/output-contract.ts +173 -0
- package/src/engine/internal/primitive-delta.ts +80 -0
- package/src/engine/internal/provider-result-staging.ts +211 -0
- package/src/engine/internal/tool-derivative.ts +106 -0
- package/src/engine/internal/tool-exposure.ts +224 -0
- package/src/engine/internal/tool-telemetry.ts +484 -0
- package/src/index.ts +96 -53
- package/src/sandbox/CodeExecutor.ts +352 -0
- package/src/sandbox/InteractiveBrowser.ts +257 -0
- package/src/sandbox/PageCapture.ts +692 -0
- package/src/sandbox/PageCrawl.ts +148 -0
- package/src/sandbox/PageScreenshot.ts +81 -0
- package/src/sandbox/ProtectedBrowser.ts +413 -0
- package/src/sandbox/Sandbox.ts +241 -0
- package/dist/Agent.d.mts +0 -5
- package/dist/Agent.mjs +0 -10
- package/dist/Agent.mjs.map +0 -1
- package/dist/AgentError.d.mts +0 -5
- package/dist/AgentError.mjs +0 -10
- package/dist/AgentError.mjs.map +0 -1
- package/dist/AgentPolicy.d.mts +0 -5
- package/dist/AgentPolicy.mjs +0 -10
- package/dist/AgentPolicy.mjs.map +0 -1
- package/dist/AgentRuntime.d.mts +0 -5
- package/dist/AgentRuntime.mjs +0 -10
- package/dist/AgentRuntime.mjs.map +0 -1
- package/dist/AgentUpdates.d.mts +0 -5
- package/dist/AgentUpdates.mjs +0 -10
- package/dist/AgentUpdates.mjs.map +0 -1
- package/dist/Approval.d.mts +0 -5
- package/dist/Approval.mjs +0 -10
- package/dist/Approval.mjs.map +0 -1
- package/dist/Budget.d.mts +0 -5
- package/dist/Budget.mjs +0 -10
- package/dist/Budget.mjs.map +0 -1
- package/dist/CodeMode.d.mts +0 -5
- package/dist/CodeMode.mjs +0 -10
- package/dist/CodeMode.mjs.map +0 -1
- package/dist/Commands.d.mts +0 -5
- package/dist/Commands.mjs +0 -10
- package/dist/Commands.mjs.map +0 -1
- package/dist/Compaction.d.mts +0 -5
- package/dist/Compaction.mjs +0 -10
- package/dist/Compaction.mjs.map +0 -1
- package/dist/ContextCompactor.d.mts +0 -5
- package/dist/ContextCompactor.mjs +0 -10
- package/dist/ContextCompactor.mjs.map +0 -1
- package/dist/ContextHistory.d.mts +0 -5
- package/dist/ContextHistory.mjs +0 -10
- package/dist/ContextHistory.mjs.map +0 -1
- package/dist/ContextTools.d.mts +0 -5
- package/dist/ContextTools.mjs +0 -10
- package/dist/ContextTools.mjs.map +0 -1
- package/dist/ContextWindow.d.mts +0 -5
- package/dist/ContextWindow.mjs +0 -10
- package/dist/ContextWindow.mjs.map +0 -1
- package/dist/DurableStep.d.mts +0 -5
- package/dist/DurableStep.mjs +0 -10
- package/dist/DurableStep.mjs.map +0 -1
- package/dist/EphemeralThreads.d.mts +0 -5
- package/dist/EphemeralThreads.mjs +0 -10
- package/dist/EphemeralThreads.mjs.map +0 -1
- package/dist/IdGenerator.d.mts +0 -5
- package/dist/IdGenerator.mjs +0 -10
- package/dist/IdGenerator.mjs.map +0 -1
- package/dist/Identifiers.d.mts +0 -5
- package/dist/Identifiers.mjs +0 -10
- package/dist/Identifiers.mjs.map +0 -1
- package/dist/Mcp.d.mts +0 -5
- package/dist/Mcp.mjs +0 -10
- package/dist/Mcp.mjs.map +0 -1
- package/dist/McpClient.d.mts +0 -5
- package/dist/McpClient.mjs +0 -10
- package/dist/McpClient.mjs.map +0 -1
- package/dist/Memory.d.mts +0 -5
- package/dist/Memory.mjs +0 -10
- package/dist/Memory.mjs.map +0 -1
- package/dist/MemoryNamespace.d.mts +0 -5
- package/dist/MemoryNamespace.mjs +0 -10
- package/dist/MemoryNamespace.mjs.map +0 -1
- package/dist/MemoryNotes.d.mts +0 -5
- package/dist/MemoryNotes.mjs +0 -10
- package/dist/MemoryNotes.mjs.map +0 -1
- package/dist/MemoryReference.d.mts +0 -5
- package/dist/MemoryReference.mjs +0 -10
- package/dist/MemoryReference.mjs.map +0 -1
- package/dist/MemoryRevalidation.d.mts +0 -5
- package/dist/MemoryRevalidation.mjs +0 -10
- package/dist/MemoryRevalidation.mjs.map +0 -1
- package/dist/MemoryStore.d.mts +0 -5
- package/dist/MemoryStore.mjs +0 -10
- package/dist/MemoryStore.mjs.map +0 -1
- package/dist/Messaging.d.mts +0 -5
- package/dist/Messaging.mjs +0 -10
- package/dist/Messaging.mjs.map +0 -1
- package/dist/MessagingHost.d.mts +0 -5
- package/dist/MessagingHost.mjs +0 -10
- package/dist/MessagingHost.mjs.map +0 -1
- package/dist/ModelContext.d.mts +0 -5
- package/dist/ModelContext.mjs +0 -10
- package/dist/ModelContext.mjs.map +0 -1
- package/dist/Receipt.d.mts +0 -5
- package/dist/Receipt.mjs +0 -10
- package/dist/Receipt.mjs.map +0 -1
- package/dist/Redaction.d.mts +0 -5
- package/dist/Redaction.mjs +0 -10
- package/dist/Redaction.mjs.map +0 -1
- package/dist/Remembering.d.mts +0 -5
- package/dist/Remembering.mjs +0 -10
- package/dist/Remembering.mjs.map +0 -1
- package/dist/RememberingStore.d.mts +0 -5
- package/dist/RememberingStore.mjs +0 -10
- package/dist/RememberingStore.mjs.map +0 -1
- package/dist/RunEvent.d.mts +0 -5
- package/dist/RunEvent.mjs +0 -10
- package/dist/RunEvent.mjs.map +0 -1
- package/dist/RunEventSink.d.mts +0 -5
- package/dist/RunEventSink.mjs +0 -10
- package/dist/RunEventSink.mjs.map +0 -1
- package/dist/RunHooks.d.mts +0 -5
- package/dist/RunHooks.mjs +0 -10
- package/dist/RunHooks.mjs.map +0 -1
- package/dist/RunOptions.d.mts +0 -5
- package/dist/RunOptions.mjs +0 -10
- package/dist/RunOptions.mjs.map +0 -1
- package/dist/RunPolicyUsage.d.mts +0 -5
- package/dist/RunPolicyUsage.mjs +0 -10
- package/dist/RunPolicyUsage.mjs.map +0 -1
- package/dist/SemanticMemory.d.mts +0 -5
- package/dist/SemanticMemory.mjs +0 -10
- package/dist/SemanticMemory.mjs.map +0 -1
- package/dist/SemanticMemoryIndex.d.mts +0 -5
- package/dist/SemanticMemoryIndex.mjs +0 -10
- package/dist/SemanticMemoryIndex.mjs.map +0 -1
- package/dist/SemanticMemoryRevalidation.d.mts +0 -5
- package/dist/SemanticMemoryRevalidation.mjs +0 -10
- package/dist/SemanticMemoryRevalidation.mjs.map +0 -1
- package/dist/Subagent.d.mts +0 -5
- package/dist/Subagent.mjs +0 -10
- package/dist/Subagent.mjs.map +0 -1
- package/dist/SubagentContract.d.mts +0 -5
- package/dist/SubagentContract.mjs +0 -10
- package/dist/SubagentContract.mjs.map +0 -1
- package/dist/SubagentHost.d.mts +0 -5
- package/dist/SubagentHost.mjs +0 -10
- package/dist/SubagentHost.mjs.map +0 -1
- package/dist/SubagentReservations.d.mts +0 -5
- package/dist/SubagentReservations.mjs +0 -10
- package/dist/SubagentReservations.mjs.map +0 -1
- package/dist/ThreadHistory.d.mts +0 -5
- package/dist/ThreadHistory.mjs +0 -10
- package/dist/ThreadHistory.mjs.map +0 -1
- package/dist/ToolBroker.d.mts +0 -5
- package/dist/ToolBroker.mjs +0 -10
- package/dist/ToolBroker.mjs.map +0 -1
- package/dist/ToolDiscovery.d.mts +0 -5
- package/dist/ToolDiscovery.mjs +0 -10
- package/dist/ToolDiscovery.mjs.map +0 -1
- package/dist/ToolResult.d.mts +0 -5
- package/dist/ToolResult.mjs +0 -10
- package/dist/ToolResult.mjs.map +0 -1
- package/dist/Usage.d.mts +0 -5
- package/dist/Usage.mjs +0 -10
- package/dist/Usage.mjs.map +0 -1
- package/dist/WebCapture.d.mts +0 -5
- package/dist/WebCapture.mjs +0 -10
- package/dist/WebCapture.mjs.map +0 -1
- package/dist/WebSearch.d.mts +0 -5
- package/dist/WebSearch.mjs +0 -10
- package/dist/WebSearch.mjs.map +0 -1
- package/dist/Worker.d.mts +0 -5
- package/dist/Worker.mjs +0 -10
- package/dist/Worker.mjs.map +0 -1
- package/dist/rolldown-runtime-BBjsoOtd.mjs +0 -27
- package/src/Agent.ts +0 -1
- package/src/AgentError.ts +0 -1
- package/src/AgentPolicy.ts +0 -1
- package/src/AgentRuntime.ts +0 -1
- package/src/AgentUpdates.ts +0 -1
- package/src/Approval.ts +0 -1
- package/src/Budget.ts +0 -1
- package/src/CodeMode.ts +0 -1
- package/src/Commands.ts +0 -1
- package/src/Compaction.ts +0 -1
- package/src/ContextCompactor.ts +0 -1
- package/src/ContextHistory.ts +0 -1
- package/src/ContextTools.ts +0 -1
- package/src/ContextWindow.ts +0 -1
- package/src/DurableStep.ts +0 -1
- package/src/EphemeralThreads.ts +0 -1
- package/src/IdGenerator.ts +0 -1
- package/src/Identifiers.ts +0 -1
- package/src/Mcp.ts +0 -1
- package/src/McpClient.ts +0 -1
- package/src/Memory.ts +0 -1
- package/src/MemoryNamespace.ts +0 -1
- package/src/MemoryNotes.ts +0 -1
- package/src/MemoryReference.ts +0 -1
- package/src/MemoryRevalidation.ts +0 -1
- package/src/MemoryStore.ts +0 -1
- package/src/Messaging.ts +0 -1
- package/src/MessagingHost.ts +0 -1
- package/src/ModelContext.ts +0 -1
- package/src/Receipt.ts +0 -1
- package/src/Redaction.ts +0 -1
- package/src/Remembering.ts +0 -1
- package/src/RememberingStore.ts +0 -1
- package/src/RunEvent.ts +0 -1
- package/src/RunEventSink.ts +0 -1
- package/src/RunHooks.ts +0 -1
- package/src/RunOptions.ts +0 -1
- package/src/RunPolicyUsage.ts +0 -1
- package/src/SemanticMemory.ts +0 -1
- package/src/SemanticMemoryIndex.ts +0 -1
- package/src/SemanticMemoryRevalidation.ts +0 -1
- package/src/Subagent.ts +0 -1
- package/src/SubagentContract.ts +0 -1
- package/src/SubagentHost.ts +0 -1
- package/src/SubagentReservations.ts +0 -1
- package/src/ThreadHistory.ts +0 -1
- package/src/ToolBroker.ts +0 -1
- package/src/ToolDiscovery.ts +0 -1
- package/src/ToolResult.ts +0 -1
- package/src/Usage.ts +0 -1
- package/src/WebCapture.ts +0 -1
- package/src/WebSearch.ts +0 -1
- package/src/Worker.ts +0 -1
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.mjs";
|
|
2
|
+
import { RunId } from "./Identifiers.mjs";
|
|
3
|
+
import { Effect, Schema } from "effect";
|
|
4
|
+
//#region src/core/Usage.ts
|
|
5
|
+
var Usage_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
+
ChildRunUsage: () => ChildRunUsage,
|
|
7
|
+
InputTokenUsage: () => InputTokenUsage,
|
|
8
|
+
ModelCallUsage: () => ModelCallUsage,
|
|
9
|
+
ModelResponseIdentity: () => ModelResponseIdentity,
|
|
10
|
+
ModelUsageGroup: () => ModelUsageGroup,
|
|
11
|
+
OutputTokenUsage: () => OutputTokenUsage,
|
|
12
|
+
RunTotals: () => RunTotals,
|
|
13
|
+
RunUsageReport: () => RunUsageReport,
|
|
14
|
+
RunUsageSummary: () => RunUsageSummary,
|
|
15
|
+
UsageAggregationError: () => UsageAggregationError,
|
|
16
|
+
UsageCompleteness: () => UsageCompleteness,
|
|
17
|
+
emptyRunTotals: () => emptyRunTotals,
|
|
18
|
+
runTotalsFromSummary: () => runTotalsFromSummary,
|
|
19
|
+
sumRunTotals: () => sumRunTotals,
|
|
20
|
+
summarizeModelUsage: () => summarizeModelUsage,
|
|
21
|
+
unknownRunTotals: () => unknownRunTotals
|
|
22
|
+
});
|
|
23
|
+
const UsageIdentity = Schema.NonEmptyString.check(Schema.isMaxLength(256));
|
|
24
|
+
/** Bounded provider response identity. Request configuration is not response evidence. */
|
|
25
|
+
var ModelResponseIdentity = class extends Schema.Class("@effect-agent/core/ModelResponseIdentity")({
|
|
26
|
+
id: Schema.optionalKey(UsageIdentity),
|
|
27
|
+
model: Schema.optionalKey(UsageIdentity)
|
|
28
|
+
}) {};
|
|
29
|
+
/** Missing legacy status means unknown, never a free call or a complete report. */
|
|
30
|
+
const UsageCompleteness = Schema.Literals([
|
|
31
|
+
"complete",
|
|
32
|
+
"partial",
|
|
33
|
+
"unknown"
|
|
34
|
+
]);
|
|
35
|
+
const hasAdditiveTotal = (total, components) => {
|
|
36
|
+
const sum = components.reduce((accumulator, component) => accumulator + component, 0);
|
|
37
|
+
return Number.isSafeInteger(sum) && total === sum;
|
|
38
|
+
};
|
|
39
|
+
const InputTokenUsageFields = Schema.Struct({
|
|
40
|
+
total: Schema.Natural,
|
|
41
|
+
uncached: Schema.Natural,
|
|
42
|
+
cacheRead: Schema.Natural,
|
|
43
|
+
cacheWrite: Schema.Natural
|
|
44
|
+
}).check(Schema.makeFilter((usage) => hasAdditiveTotal(usage.total, [
|
|
45
|
+
usage.uncached,
|
|
46
|
+
usage.cacheRead,
|
|
47
|
+
usage.cacheWrite
|
|
48
|
+
]), { title: "Input token total equals uncached, cache-read, and cache-write components" }));
|
|
49
|
+
/** Provider-reported input-token components for one completed model call. */
|
|
50
|
+
var InputTokenUsage = class extends Schema.Class("@effect-agent/core/InputTokenUsage")(InputTokenUsageFields) {};
|
|
51
|
+
const OutputTokenUsageFields = Schema.Struct({
|
|
52
|
+
total: Schema.Natural,
|
|
53
|
+
text: Schema.Natural,
|
|
54
|
+
reasoning: Schema.Natural
|
|
55
|
+
}).check(Schema.makeFilter((usage) => hasAdditiveTotal(usage.total, [usage.text, usage.reasoning]), { title: "Output token total equals text and reasoning components" }));
|
|
56
|
+
/** Provider-reported output-token components for one completed model call. */
|
|
57
|
+
var OutputTokenUsage = class extends Schema.Class("@effect-agent/core/OutputTokenUsage")(OutputTokenUsageFields) {};
|
|
58
|
+
/** Canonical, provider-independent accounting for one completed model call. */
|
|
59
|
+
var ModelCallUsage = class extends Schema.Class("@effect-agent/core/ModelCallUsage")({
|
|
60
|
+
provider: UsageIdentity,
|
|
61
|
+
/** Configured binding identity. See response.model for provider-reported identity. */
|
|
62
|
+
model: UsageIdentity,
|
|
63
|
+
serviceTier: Schema.optionalKey(UsageIdentity),
|
|
64
|
+
pricingVersion: Schema.optionalKey(UsageIdentity),
|
|
65
|
+
response: Schema.optionalKey(ModelResponseIdentity),
|
|
66
|
+
purpose: Schema.optionalKey(Schema.Literals(["turn", "summary"])),
|
|
67
|
+
usageStatus: Schema.optionalKey(UsageCompleteness),
|
|
68
|
+
pricingStatus: Schema.optionalKey(Schema.Literals(["estimated", "unknown"])),
|
|
69
|
+
inputTokens: InputTokenUsage,
|
|
70
|
+
outputTokens: OutputTokenUsage,
|
|
71
|
+
costMicrousd: Schema.Natural
|
|
72
|
+
}) {};
|
|
73
|
+
/**
|
|
74
|
+
* Observed model usage and estimated cost, without per-model attribution.
|
|
75
|
+
* Numeric zero with unknown coverage never establishes free execution. Missing legacy
|
|
76
|
+
* statuses mean unknown. Unobserved calls are excluded from the numeric call/token totals.
|
|
77
|
+
*/
|
|
78
|
+
var RunTotals = class extends Schema.Class("@effect-agent/core/RunTotals")({
|
|
79
|
+
modelCalls: Schema.Natural,
|
|
80
|
+
inputTokens: Schema.Natural,
|
|
81
|
+
outputTokens: Schema.Natural,
|
|
82
|
+
costMicrousd: Schema.Natural,
|
|
83
|
+
usageStatus: Schema.optionalKey(UsageCompleteness),
|
|
84
|
+
pricingStatus: Schema.optionalKey(UsageCompleteness),
|
|
85
|
+
unobservedModelCalls: Schema.optionalKey(Schema.Natural)
|
|
86
|
+
}) {};
|
|
87
|
+
/** Own Run usage and disjoint attached-descendant usage. Add each component once. */
|
|
88
|
+
var RunUsageReport = class extends Schema.Class("@effect-agent/core/RunUsageReport")({
|
|
89
|
+
usage: RunTotals,
|
|
90
|
+
delegatedUsage: RunTotals
|
|
91
|
+
}) {};
|
|
92
|
+
/** A verified child report retained across durable parent Attempts. */
|
|
93
|
+
var ChildRunUsage = class extends Schema.Class("@effect-agent/core/ChildRunUsage")({
|
|
94
|
+
runId: RunId,
|
|
95
|
+
report: RunUsageReport
|
|
96
|
+
}) {};
|
|
97
|
+
/** Known absence of observed work. */
|
|
98
|
+
const emptyRunTotals = () => RunTotals.make({
|
|
99
|
+
modelCalls: 0,
|
|
100
|
+
inputTokens: 0,
|
|
101
|
+
outputTokens: 0,
|
|
102
|
+
costMicrousd: 0,
|
|
103
|
+
usageStatus: "complete",
|
|
104
|
+
pricingStatus: "complete",
|
|
105
|
+
unobservedModelCalls: 0
|
|
106
|
+
});
|
|
107
|
+
/** No accounting evidence, including legacy child reports. This is not known zero spend. */
|
|
108
|
+
const unknownRunTotals = () => RunTotals.make({
|
|
109
|
+
...emptyRunTotals(),
|
|
110
|
+
usageStatus: "unknown",
|
|
111
|
+
pricingStatus: "unknown"
|
|
112
|
+
});
|
|
113
|
+
/** Settlement-sized aggregate for calls sharing one pricing identity. */
|
|
114
|
+
var ModelUsageGroup = class extends Schema.Class("@effect-agent/core/ModelUsageGroup")({
|
|
115
|
+
provider: UsageIdentity,
|
|
116
|
+
model: UsageIdentity,
|
|
117
|
+
/** Actual returned model; absent when only the configured binding is known. */
|
|
118
|
+
responseModel: Schema.optionalKey(UsageIdentity),
|
|
119
|
+
serviceTier: Schema.optionalKey(UsageIdentity),
|
|
120
|
+
pricingVersion: Schema.optionalKey(UsageIdentity),
|
|
121
|
+
modelCalls: Schema.Natural.check(Schema.isGreaterThan(0)),
|
|
122
|
+
inputTokens: InputTokenUsage,
|
|
123
|
+
outputTokens: OutputTokenUsage,
|
|
124
|
+
costMicrousd: Schema.Natural
|
|
125
|
+
}) {};
|
|
126
|
+
const RunUsageSummaryFields = Schema.Struct({
|
|
127
|
+
modelCalls: Schema.Natural,
|
|
128
|
+
inputTokens: InputTokenUsage,
|
|
129
|
+
outputTokens: OutputTokenUsage,
|
|
130
|
+
costMicrousd: Schema.Natural,
|
|
131
|
+
byModel: Schema.Array(ModelUsageGroup),
|
|
132
|
+
/** Coverage of recorded calls only; interruptions can make the Run less complete. */
|
|
133
|
+
usageStatus: Schema.optionalKey(UsageCompleteness),
|
|
134
|
+
pricingStatus: Schema.optionalKey(UsageCompleteness),
|
|
135
|
+
/** Observed invocations without retained accounting, excluded from numeric call/token totals. */
|
|
136
|
+
unobservedModelCalls: Schema.optionalKey(Schema.Natural)
|
|
137
|
+
}).check(Schema.makeFilter((summary) => {
|
|
138
|
+
const identities = summary.byModel.map((group) => JSON.stringify([
|
|
139
|
+
group.provider,
|
|
140
|
+
group.model,
|
|
141
|
+
group.responseModel ?? null,
|
|
142
|
+
group.serviceTier ?? null,
|
|
143
|
+
group.pricingVersion ?? null
|
|
144
|
+
]));
|
|
145
|
+
return new Set(identities).size === identities.length && hasAdditiveTotal(summary.modelCalls, summary.byModel.map((group) => group.modelCalls)) && hasAdditiveTotal(summary.inputTokens.total, summary.byModel.map((group) => group.inputTokens.total)) && hasAdditiveTotal(summary.inputTokens.uncached, summary.byModel.map((group) => group.inputTokens.uncached)) && hasAdditiveTotal(summary.inputTokens.cacheRead, summary.byModel.map((group) => group.inputTokens.cacheRead)) && hasAdditiveTotal(summary.inputTokens.cacheWrite, summary.byModel.map((group) => group.inputTokens.cacheWrite)) && hasAdditiveTotal(summary.outputTokens.total, summary.byModel.map((group) => group.outputTokens.total)) && hasAdditiveTotal(summary.outputTokens.text, summary.byModel.map((group) => group.outputTokens.text)) && hasAdditiveTotal(summary.outputTokens.reasoning, summary.byModel.map((group) => group.outputTokens.reasoning)) && hasAdditiveTotal(summary.costMicrousd, summary.byModel.map((group) => group.costMicrousd));
|
|
146
|
+
}, { title: "Run usage totals equal unique per-model pricing groups within safe-integer accounting" }));
|
|
147
|
+
/** Settlement aggregate included with a terminal Run settlement. */
|
|
148
|
+
var RunUsageSummary = class extends Schema.Class("@effect-agent/core/RunUsageSummary")(RunUsageSummaryFields) {};
|
|
149
|
+
const emptyInputTokens = () => ({
|
|
150
|
+
total: 0,
|
|
151
|
+
uncached: 0,
|
|
152
|
+
cacheRead: 0,
|
|
153
|
+
cacheWrite: 0
|
|
154
|
+
});
|
|
155
|
+
const emptyOutputTokens = () => ({
|
|
156
|
+
total: 0,
|
|
157
|
+
text: 0,
|
|
158
|
+
reasoning: 0
|
|
159
|
+
});
|
|
160
|
+
/** Canonical usage could not be aggregated without exceeding safe-integer accounting. */
|
|
161
|
+
var UsageAggregationError = class extends Schema.TaggedError()("UsageAggregationError", {
|
|
162
|
+
field: Schema.NonEmptyString,
|
|
163
|
+
message: Schema.String
|
|
164
|
+
}) {};
|
|
165
|
+
const checkedAdd = (field, left, right) => {
|
|
166
|
+
const total = left + right;
|
|
167
|
+
return Number.isSafeInteger(left) && left >= 0 && Number.isSafeInteger(right) && right >= 0 && Number.isSafeInteger(total) ? Effect.succeed(total) : Effect.fail(UsageAggregationError.make({
|
|
168
|
+
field,
|
|
169
|
+
message: `Canonical usage aggregation exceeded the safe-integer range at ${field}`
|
|
170
|
+
}));
|
|
171
|
+
};
|
|
172
|
+
/** Combine disjoint totals, retaining uncertainty and rejecting numeric overflow. */
|
|
173
|
+
const sumRunTotals = Effect.fn("sumRunTotals")(function* (contributions) {
|
|
174
|
+
let modelCalls = 0;
|
|
175
|
+
let inputTokens = 0;
|
|
176
|
+
let outputTokens = 0;
|
|
177
|
+
let costMicrousd = 0;
|
|
178
|
+
let unobservedModelCalls = 0;
|
|
179
|
+
const usageStatuses = [];
|
|
180
|
+
const pricingStatuses = [];
|
|
181
|
+
for (const contribution of contributions) {
|
|
182
|
+
const value = yield* Schema.decodeEffect(RunTotals)(contribution).pipe(Effect.mapError(() => new UsageAggregationError({
|
|
183
|
+
field: "totals",
|
|
184
|
+
message: "Invalid Run totals"
|
|
185
|
+
})));
|
|
186
|
+
modelCalls = yield* checkedAdd("modelCalls", modelCalls, value.modelCalls);
|
|
187
|
+
inputTokens = yield* checkedAdd("inputTokens", inputTokens, value.inputTokens);
|
|
188
|
+
outputTokens = yield* checkedAdd("outputTokens", outputTokens, value.outputTokens);
|
|
189
|
+
costMicrousd = yield* checkedAdd("costMicrousd", costMicrousd, value.costMicrousd);
|
|
190
|
+
unobservedModelCalls = yield* checkedAdd("unobservedModelCalls", unobservedModelCalls, value.unobservedModelCalls ?? 0);
|
|
191
|
+
if (value.modelCalls > 0 || (value.unobservedModelCalls ?? 0) > 0 || value.usageStatus !== "complete") usageStatuses.push(value.usageStatus ?? "unknown");
|
|
192
|
+
if (value.modelCalls > 0 || (value.unobservedModelCalls ?? 0) > 0 || value.pricingStatus !== "complete") pricingStatuses.push(value.pricingStatus ?? "unknown");
|
|
193
|
+
}
|
|
194
|
+
const coverage = (statuses) => statuses.every((status) => status === "complete") ? "complete" : statuses.every((status) => status === "unknown") ? "unknown" : "partial";
|
|
195
|
+
return RunTotals.make({
|
|
196
|
+
modelCalls,
|
|
197
|
+
inputTokens,
|
|
198
|
+
outputTokens,
|
|
199
|
+
costMicrousd,
|
|
200
|
+
unobservedModelCalls,
|
|
201
|
+
usageStatus: coverage(usageStatuses),
|
|
202
|
+
pricingStatus: coverage(pricingStatuses)
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
/** Flatten a canonical settlement summary without discarding its coverage markers. */
|
|
206
|
+
const runTotalsFromSummary = (summary) => RunTotals.make({
|
|
207
|
+
modelCalls: summary.modelCalls,
|
|
208
|
+
inputTokens: summary.inputTokens.total,
|
|
209
|
+
outputTokens: summary.outputTokens.total,
|
|
210
|
+
costMicrousd: summary.costMicrousd,
|
|
211
|
+
usageStatus: summary.usageStatus ?? "unknown",
|
|
212
|
+
pricingStatus: summary.pricingStatus ?? "unknown",
|
|
213
|
+
unobservedModelCalls: summary.unobservedModelCalls ?? 0
|
|
214
|
+
});
|
|
215
|
+
/**
|
|
216
|
+
* Deterministically aggregate canonical per-call usage without making cached tokens free.
|
|
217
|
+
* A validated seed retains earlier call totals and pricing groups without retaining those calls.
|
|
218
|
+
* Empty contributions do not change completeness; the seed is never mutated.
|
|
219
|
+
*/
|
|
220
|
+
const summarizeModelUsage = Effect.fn("summarizeModelUsage")(function* (calls, seed) {
|
|
221
|
+
const initial = seed === void 0 ? void 0 : yield* Schema.decodeEffect(RunUsageSummary)(seed).pipe(Effect.mapError(() => new UsageAggregationError({
|
|
222
|
+
field: "seed",
|
|
223
|
+
message: "Canonical usage seed does not satisfy the RunUsageSummary Schema"
|
|
224
|
+
})));
|
|
225
|
+
const inputTokens = initial === void 0 ? emptyInputTokens() : { ...initial.inputTokens };
|
|
226
|
+
const outputTokens = initial === void 0 ? emptyOutputTokens() : { ...initial.outputTokens };
|
|
227
|
+
const groups = /* @__PURE__ */ new Map();
|
|
228
|
+
let modelCalls = initial?.modelCalls ?? 0;
|
|
229
|
+
let costMicrousd = initial?.costMicrousd ?? 0;
|
|
230
|
+
const hasSeedCalls = modelCalls > 0;
|
|
231
|
+
let allUsageUnknown = !hasSeedCalls || initial?.usageStatus === void 0 || initial.usageStatus === "unknown";
|
|
232
|
+
let allUsageComplete = !hasSeedCalls || initial?.usageStatus === "complete";
|
|
233
|
+
let allPricingUnknown = !hasSeedCalls || initial?.pricingStatus === void 0 || initial.pricingStatus === "unknown";
|
|
234
|
+
let allPricingComplete = !hasSeedCalls || initial?.pricingStatus === "complete";
|
|
235
|
+
for (const group of initial?.byModel ?? []) {
|
|
236
|
+
const key = JSON.stringify([
|
|
237
|
+
group.provider,
|
|
238
|
+
group.model,
|
|
239
|
+
group.responseModel ?? null,
|
|
240
|
+
group.serviceTier ?? null,
|
|
241
|
+
group.pricingVersion ?? null
|
|
242
|
+
]);
|
|
243
|
+
groups.set(key, {
|
|
244
|
+
...group,
|
|
245
|
+
inputTokens: { ...group.inputTokens },
|
|
246
|
+
outputTokens: { ...group.outputTokens }
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
for (const call of calls) {
|
|
250
|
+
allUsageUnknown &&= call.usageStatus === void 0 || call.usageStatus === "unknown";
|
|
251
|
+
allUsageComplete &&= call.usageStatus === "complete";
|
|
252
|
+
allPricingUnknown &&= call.pricingStatus !== "estimated";
|
|
253
|
+
allPricingComplete &&= call.pricingStatus === "estimated";
|
|
254
|
+
modelCalls = yield* checkedAdd("modelCalls", modelCalls, 1);
|
|
255
|
+
inputTokens.total = yield* checkedAdd("inputTokens.total", inputTokens.total, call.inputTokens.total);
|
|
256
|
+
inputTokens.uncached = yield* checkedAdd("inputTokens.uncached", inputTokens.uncached, call.inputTokens.uncached);
|
|
257
|
+
inputTokens.cacheRead = yield* checkedAdd("inputTokens.cacheRead", inputTokens.cacheRead, call.inputTokens.cacheRead);
|
|
258
|
+
inputTokens.cacheWrite = yield* checkedAdd("inputTokens.cacheWrite", inputTokens.cacheWrite, call.inputTokens.cacheWrite);
|
|
259
|
+
outputTokens.total = yield* checkedAdd("outputTokens.total", outputTokens.total, call.outputTokens.total);
|
|
260
|
+
outputTokens.text = yield* checkedAdd("outputTokens.text", outputTokens.text, call.outputTokens.text);
|
|
261
|
+
outputTokens.reasoning = yield* checkedAdd("outputTokens.reasoning", outputTokens.reasoning, call.outputTokens.reasoning);
|
|
262
|
+
costMicrousd = yield* checkedAdd("costMicrousd", costMicrousd, call.costMicrousd);
|
|
263
|
+
const key = JSON.stringify([
|
|
264
|
+
call.provider,
|
|
265
|
+
call.model,
|
|
266
|
+
call.response?.model ?? null,
|
|
267
|
+
call.serviceTier ?? null,
|
|
268
|
+
call.pricingVersion ?? null
|
|
269
|
+
]);
|
|
270
|
+
let group = groups.get(key);
|
|
271
|
+
if (group === void 0) {
|
|
272
|
+
group = {
|
|
273
|
+
provider: call.provider,
|
|
274
|
+
model: call.model,
|
|
275
|
+
...call.response?.model === void 0 ? {} : { responseModel: call.response.model },
|
|
276
|
+
...call.serviceTier === void 0 ? {} : { serviceTier: call.serviceTier },
|
|
277
|
+
...call.pricingVersion === void 0 ? {} : { pricingVersion: call.pricingVersion },
|
|
278
|
+
modelCalls: 0,
|
|
279
|
+
inputTokens: emptyInputTokens(),
|
|
280
|
+
outputTokens: emptyOutputTokens(),
|
|
281
|
+
costMicrousd: 0
|
|
282
|
+
};
|
|
283
|
+
groups.set(key, group);
|
|
284
|
+
}
|
|
285
|
+
group.modelCalls = yield* checkedAdd("byModel.modelCalls", group.modelCalls, 1);
|
|
286
|
+
group.inputTokens.total = yield* checkedAdd("byModel.inputTokens.total", group.inputTokens.total, call.inputTokens.total);
|
|
287
|
+
group.inputTokens.uncached = yield* checkedAdd("byModel.inputTokens.uncached", group.inputTokens.uncached, call.inputTokens.uncached);
|
|
288
|
+
group.inputTokens.cacheRead = yield* checkedAdd("byModel.inputTokens.cacheRead", group.inputTokens.cacheRead, call.inputTokens.cacheRead);
|
|
289
|
+
group.inputTokens.cacheWrite = yield* checkedAdd("byModel.inputTokens.cacheWrite", group.inputTokens.cacheWrite, call.inputTokens.cacheWrite);
|
|
290
|
+
group.outputTokens.total = yield* checkedAdd("byModel.outputTokens.total", group.outputTokens.total, call.outputTokens.total);
|
|
291
|
+
group.outputTokens.text = yield* checkedAdd("byModel.outputTokens.text", group.outputTokens.text, call.outputTokens.text);
|
|
292
|
+
group.outputTokens.reasoning = yield* checkedAdd("byModel.outputTokens.reasoning", group.outputTokens.reasoning, call.outputTokens.reasoning);
|
|
293
|
+
group.costMicrousd = yield* checkedAdd("byModel.costMicrousd", group.costMicrousd, call.costMicrousd);
|
|
294
|
+
}
|
|
295
|
+
return RunUsageSummary.make({
|
|
296
|
+
modelCalls,
|
|
297
|
+
inputTokens: InputTokenUsage.make(inputTokens),
|
|
298
|
+
outputTokens: OutputTokenUsage.make(outputTokens),
|
|
299
|
+
costMicrousd,
|
|
300
|
+
usageStatus: allUsageUnknown ? "unknown" : allUsageComplete ? "complete" : "partial",
|
|
301
|
+
pricingStatus: allPricingUnknown ? "unknown" : allPricingComplete ? "complete" : "partial",
|
|
302
|
+
...initial?.unobservedModelCalls === void 0 ? {} : { unobservedModelCalls: initial.unobservedModelCalls },
|
|
303
|
+
byModel: [...groups.values()].map((group) => ModelUsageGroup.make({
|
|
304
|
+
provider: group.provider,
|
|
305
|
+
model: group.model,
|
|
306
|
+
...group.responseModel === void 0 ? {} : { responseModel: group.responseModel },
|
|
307
|
+
...group.serviceTier === void 0 ? {} : { serviceTier: group.serviceTier },
|
|
308
|
+
...group.pricingVersion === void 0 ? {} : { pricingVersion: group.pricingVersion },
|
|
309
|
+
modelCalls: group.modelCalls,
|
|
310
|
+
inputTokens: InputTokenUsage.make(group.inputTokens),
|
|
311
|
+
outputTokens: OutputTokenUsage.make(group.outputTokens),
|
|
312
|
+
costMicrousd: group.costMicrousd
|
|
313
|
+
}))
|
|
314
|
+
});
|
|
315
|
+
});
|
|
316
|
+
//#endregion
|
|
317
|
+
export { ChildRunUsage, InputTokenUsage, ModelCallUsage, ModelResponseIdentity, ModelUsageGroup, OutputTokenUsage, RunTotals, RunUsageReport, RunUsageSummary, UsageAggregationError, UsageCompleteness, emptyRunTotals, runTotalsFromSummary, sumRunTotals, summarizeModelUsage, Usage_exports as t, unknownRunTotals };
|
|
318
|
+
|
|
319
|
+
//# sourceMappingURL=Usage.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Usage.mjs","names":[],"sources":["../../src/core/Usage.ts"],"sourcesContent":["import { Effect, Schema } from \"effect\";\n\nimport { RunId } from \"./Identifiers.ts\";\n\nconst UsageIdentity = Schema.NonEmptyString.check(Schema.isMaxLength(256));\n\n/** Bounded provider response identity. Request configuration is not response evidence. */\nexport class ModelResponseIdentity extends Schema.Class<ModelResponseIdentity>(\n \"@effect-agent/core/ModelResponseIdentity\",\n)({\n id: Schema.optionalKey(UsageIdentity),\n model: Schema.optionalKey(UsageIdentity),\n}) {}\n\n/** Missing legacy status means unknown, never a free call or a complete report. */\nexport const UsageCompleteness = Schema.Literals([\"complete\", \"partial\", \"unknown\"]);\n\nconst hasAdditiveTotal = (total: number, components: ReadonlyArray<number>): boolean => {\n const sum = components.reduce((accumulator, component) => accumulator + component, 0);\n\n return Number.isSafeInteger(sum) && total === sum;\n};\n\nconst InputTokenUsageFields = Schema.Struct({\n total: Schema.Natural,\n uncached: Schema.Natural,\n cacheRead: Schema.Natural,\n cacheWrite: Schema.Natural,\n}).check(\n Schema.makeFilter(\n (usage) => hasAdditiveTotal(usage.total, [usage.uncached, usage.cacheRead, usage.cacheWrite]),\n { title: \"Input token total equals uncached, cache-read, and cache-write components\" },\n ),\n);\n\n/** Provider-reported input-token components for one completed model call. */\nexport class InputTokenUsage extends Schema.Class<InputTokenUsage>(\n \"@effect-agent/core/InputTokenUsage\",\n)(InputTokenUsageFields) {}\n\nconst OutputTokenUsageFields = Schema.Struct({\n total: Schema.Natural,\n text: Schema.Natural,\n reasoning: Schema.Natural,\n}).check(\n Schema.makeFilter((usage) => hasAdditiveTotal(usage.total, [usage.text, usage.reasoning]), {\n title: \"Output token total equals text and reasoning components\",\n }),\n);\n\n/** Provider-reported output-token components for one completed model call. */\nexport class OutputTokenUsage extends Schema.Class<OutputTokenUsage>(\n \"@effect-agent/core/OutputTokenUsage\",\n)(OutputTokenUsageFields) {}\n\n/** Canonical, provider-independent accounting for one completed model call. */\nexport class ModelCallUsage extends Schema.Class<ModelCallUsage>(\n \"@effect-agent/core/ModelCallUsage\",\n)({\n provider: UsageIdentity,\n /** Configured binding identity. See response.model for provider-reported identity. */\n model: UsageIdentity,\n serviceTier: Schema.optionalKey(UsageIdentity),\n pricingVersion: Schema.optionalKey(UsageIdentity),\n response: Schema.optionalKey(ModelResponseIdentity),\n purpose: Schema.optionalKey(Schema.Literals([\"turn\", \"summary\"])),\n usageStatus: Schema.optionalKey(UsageCompleteness),\n pricingStatus: Schema.optionalKey(Schema.Literals([\"estimated\", \"unknown\"])),\n inputTokens: InputTokenUsage,\n outputTokens: OutputTokenUsage,\n costMicrousd: Schema.Natural,\n}) {}\n\n/**\n * Observed model usage and estimated cost, without per-model attribution.\n * Numeric zero with unknown coverage never establishes free execution. Missing legacy\n * statuses mean unknown. Unobserved calls are excluded from the numeric call/token totals.\n */\nexport class RunTotals extends Schema.Class<RunTotals>(\"@effect-agent/core/RunTotals\")({\n modelCalls: Schema.Natural,\n inputTokens: Schema.Natural,\n outputTokens: Schema.Natural,\n costMicrousd: Schema.Natural,\n usageStatus: Schema.optionalKey(UsageCompleteness),\n pricingStatus: Schema.optionalKey(UsageCompleteness),\n unobservedModelCalls: Schema.optionalKey(Schema.Natural),\n}) {}\n\n/** Own Run usage and disjoint attached-descendant usage. Add each component once. */\nexport class RunUsageReport extends Schema.Class<RunUsageReport>(\n \"@effect-agent/core/RunUsageReport\",\n)({\n usage: RunTotals,\n delegatedUsage: RunTotals,\n}) {}\n\n/** A verified child report retained across durable parent Attempts. */\nexport class ChildRunUsage extends Schema.Class<ChildRunUsage>(\"@effect-agent/core/ChildRunUsage\")({\n runId: RunId,\n report: RunUsageReport,\n}) {}\n\n/** Known absence of observed work. */\nexport const emptyRunTotals = (): RunTotals =>\n RunTotals.make({\n modelCalls: 0,\n inputTokens: 0,\n outputTokens: 0,\n costMicrousd: 0,\n usageStatus: \"complete\",\n pricingStatus: \"complete\",\n unobservedModelCalls: 0,\n });\n\n/** No accounting evidence, including legacy child reports. This is not known zero spend. */\nexport const unknownRunTotals = (): RunTotals =>\n RunTotals.make({\n ...emptyRunTotals(),\n usageStatus: \"unknown\",\n pricingStatus: \"unknown\",\n });\n\n/** Settlement-sized aggregate for calls sharing one pricing identity. */\nexport class ModelUsageGroup extends Schema.Class<ModelUsageGroup>(\n \"@effect-agent/core/ModelUsageGroup\",\n)({\n provider: UsageIdentity,\n model: UsageIdentity,\n /** Actual returned model; absent when only the configured binding is known. */\n responseModel: Schema.optionalKey(UsageIdentity),\n serviceTier: Schema.optionalKey(UsageIdentity),\n pricingVersion: Schema.optionalKey(UsageIdentity),\n modelCalls: Schema.Natural.check(Schema.isGreaterThan(0)),\n inputTokens: InputTokenUsage,\n outputTokens: OutputTokenUsage,\n costMicrousd: Schema.Natural,\n}) {}\n\nconst RunUsageSummaryFields = Schema.Struct({\n modelCalls: Schema.Natural,\n inputTokens: InputTokenUsage,\n outputTokens: OutputTokenUsage,\n costMicrousd: Schema.Natural,\n byModel: Schema.Array(ModelUsageGroup),\n /** Coverage of recorded calls only; interruptions can make the Run less complete. */\n usageStatus: Schema.optionalKey(UsageCompleteness),\n pricingStatus: Schema.optionalKey(UsageCompleteness),\n /** Observed invocations without retained accounting, excluded from numeric call/token totals. */\n unobservedModelCalls: Schema.optionalKey(Schema.Natural),\n}).check(\n Schema.makeFilter(\n (summary) => {\n const identities = summary.byModel.map((group) =>\n JSON.stringify([\n group.provider,\n group.model,\n group.responseModel ?? null,\n group.serviceTier ?? null,\n group.pricingVersion ?? null,\n ]),\n );\n\n return (\n new Set(identities).size === identities.length &&\n hasAdditiveTotal(\n summary.modelCalls,\n summary.byModel.map((group) => group.modelCalls),\n ) &&\n hasAdditiveTotal(\n summary.inputTokens.total,\n summary.byModel.map((group) => group.inputTokens.total),\n ) &&\n hasAdditiveTotal(\n summary.inputTokens.uncached,\n summary.byModel.map((group) => group.inputTokens.uncached),\n ) &&\n hasAdditiveTotal(\n summary.inputTokens.cacheRead,\n summary.byModel.map((group) => group.inputTokens.cacheRead),\n ) &&\n hasAdditiveTotal(\n summary.inputTokens.cacheWrite,\n summary.byModel.map((group) => group.inputTokens.cacheWrite),\n ) &&\n hasAdditiveTotal(\n summary.outputTokens.total,\n summary.byModel.map((group) => group.outputTokens.total),\n ) &&\n hasAdditiveTotal(\n summary.outputTokens.text,\n summary.byModel.map((group) => group.outputTokens.text),\n ) &&\n hasAdditiveTotal(\n summary.outputTokens.reasoning,\n summary.byModel.map((group) => group.outputTokens.reasoning),\n ) &&\n hasAdditiveTotal(\n summary.costMicrousd,\n summary.byModel.map((group) => group.costMicrousd),\n )\n );\n },\n {\n title:\n \"Run usage totals equal unique per-model pricing groups within safe-integer accounting\",\n },\n ),\n);\n\n/** Settlement aggregate included with a terminal Run settlement. */\nexport class RunUsageSummary extends Schema.Class<RunUsageSummary>(\n \"@effect-agent/core/RunUsageSummary\",\n)(RunUsageSummaryFields) {}\n\ninterface MutableUsageGroup {\n readonly provider: string;\n readonly model: string;\n readonly responseModel?: string | undefined;\n readonly serviceTier?: string | undefined;\n readonly pricingVersion?: string | undefined;\n modelCalls: number;\n inputTokens: {\n total: number;\n uncached: number;\n cacheRead: number;\n cacheWrite: number;\n };\n outputTokens: { total: number; text: number; reasoning: number };\n costMicrousd: number;\n}\n\nconst emptyInputTokens = () => ({ total: 0, uncached: 0, cacheRead: 0, cacheWrite: 0 });\nconst emptyOutputTokens = () => ({ total: 0, text: 0, reasoning: 0 });\n\n/** Canonical usage could not be aggregated without exceeding safe-integer accounting. */\nexport class UsageAggregationError extends Schema.TaggedError<UsageAggregationError>()(\n \"UsageAggregationError\",\n {\n field: Schema.NonEmptyString,\n message: Schema.String,\n },\n) {}\n\nconst checkedAdd = (\n field: string,\n left: number,\n right: number,\n): Effect.Effect<number, UsageAggregationError> => {\n const total = left + right;\n\n return Number.isSafeInteger(left) &&\n left >= 0 &&\n Number.isSafeInteger(right) &&\n right >= 0 &&\n Number.isSafeInteger(total)\n ? Effect.succeed(total)\n : Effect.fail(\n UsageAggregationError.make({\n field,\n message: `Canonical usage aggregation exceeded the safe-integer range at ${field}`,\n }),\n );\n};\n\n/** Combine disjoint totals, retaining uncertainty and rejecting numeric overflow. */\nexport const sumRunTotals = Effect.fn(\"sumRunTotals\")(function* (\n contributions: ReadonlyArray<RunTotals>,\n): Effect.fn.Return<RunTotals, UsageAggregationError> {\n let modelCalls = 0;\n let inputTokens = 0;\n let outputTokens = 0;\n let costMicrousd = 0;\n let unobservedModelCalls = 0;\n const usageStatuses: Array<typeof UsageCompleteness.Type> = [];\n const pricingStatuses: Array<typeof UsageCompleteness.Type> = [];\n\n for (const contribution of contributions) {\n const value = yield* Schema.decodeEffect(RunTotals)(contribution).pipe(\n Effect.mapError(\n () => new UsageAggregationError({ field: \"totals\", message: \"Invalid Run totals\" }),\n ),\n );\n\n modelCalls = yield* checkedAdd(\"modelCalls\", modelCalls, value.modelCalls);\n inputTokens = yield* checkedAdd(\"inputTokens\", inputTokens, value.inputTokens);\n outputTokens = yield* checkedAdd(\"outputTokens\", outputTokens, value.outputTokens);\n costMicrousd = yield* checkedAdd(\"costMicrousd\", costMicrousd, value.costMicrousd);\n unobservedModelCalls = yield* checkedAdd(\n \"unobservedModelCalls\",\n unobservedModelCalls,\n value.unobservedModelCalls ?? 0,\n );\n // Known empty contributions are identities; unknown empty contributions are evidence gaps.\n if (\n value.modelCalls > 0 ||\n (value.unobservedModelCalls ?? 0) > 0 ||\n value.usageStatus !== \"complete\"\n ) {\n usageStatuses.push(value.usageStatus ?? \"unknown\");\n }\n if (\n value.modelCalls > 0 ||\n (value.unobservedModelCalls ?? 0) > 0 ||\n value.pricingStatus !== \"complete\"\n ) {\n pricingStatuses.push(value.pricingStatus ?? \"unknown\");\n }\n }\n\n const coverage = (statuses: ReadonlyArray<typeof UsageCompleteness.Type>) =>\n statuses.every((status) => status === \"complete\")\n ? (\"complete\" as const)\n : statuses.every((status) => status === \"unknown\")\n ? (\"unknown\" as const)\n : (\"partial\" as const);\n\n return RunTotals.make({\n modelCalls,\n inputTokens,\n outputTokens,\n costMicrousd,\n unobservedModelCalls,\n usageStatus: coverage(usageStatuses),\n pricingStatus: coverage(pricingStatuses),\n });\n});\n\n/** Flatten a canonical settlement summary without discarding its coverage markers. */\nexport const runTotalsFromSummary = (summary: RunUsageSummary): RunTotals =>\n RunTotals.make({\n modelCalls: summary.modelCalls,\n inputTokens: summary.inputTokens.total,\n outputTokens: summary.outputTokens.total,\n costMicrousd: summary.costMicrousd,\n usageStatus: summary.usageStatus ?? \"unknown\",\n pricingStatus: summary.pricingStatus ?? \"unknown\",\n unobservedModelCalls: summary.unobservedModelCalls ?? 0,\n });\n\n/**\n * Deterministically aggregate canonical per-call usage without making cached tokens free.\n * A validated seed retains earlier call totals and pricing groups without retaining those calls.\n * Empty contributions do not change completeness; the seed is never mutated.\n */\nexport const summarizeModelUsage = Effect.fn(\"summarizeModelUsage\")(function* (\n calls: ReadonlyArray<ModelCallUsage>,\n seed?: RunUsageSummary,\n): Effect.fn.Return<RunUsageSummary, UsageAggregationError> {\n const initial =\n seed === undefined\n ? undefined\n : yield* Schema.decodeEffect(RunUsageSummary)(seed).pipe(\n Effect.mapError(\n () =>\n new UsageAggregationError({\n field: \"seed\",\n message: \"Canonical usage seed does not satisfy the RunUsageSummary Schema\",\n }),\n ),\n );\n\n const inputTokens = initial === undefined ? emptyInputTokens() : { ...initial.inputTokens };\n const outputTokens = initial === undefined ? emptyOutputTokens() : { ...initial.outputTokens };\n const groups = new Map<string, MutableUsageGroup>();\n let modelCalls = initial?.modelCalls ?? 0;\n let costMicrousd = initial?.costMicrousd ?? 0;\n const hasSeedCalls = modelCalls > 0;\n\n let allUsageUnknown =\n !hasSeedCalls || initial?.usageStatus === undefined || initial.usageStatus === \"unknown\";\n\n let allUsageComplete = !hasSeedCalls || initial?.usageStatus === \"complete\";\n\n let allPricingUnknown =\n !hasSeedCalls || initial?.pricingStatus === undefined || initial.pricingStatus === \"unknown\";\n\n let allPricingComplete = !hasSeedCalls || initial?.pricingStatus === \"complete\";\n\n for (const group of initial?.byModel ?? []) {\n const key = JSON.stringify([\n group.provider,\n group.model,\n group.responseModel ?? null,\n group.serviceTier ?? null,\n group.pricingVersion ?? null,\n ]);\n\n groups.set(key, {\n ...group,\n inputTokens: { ...group.inputTokens },\n outputTokens: { ...group.outputTokens },\n });\n }\n\n for (const call of calls) {\n allUsageUnknown &&= call.usageStatus === undefined || call.usageStatus === \"unknown\";\n allUsageComplete &&= call.usageStatus === \"complete\";\n allPricingUnknown &&= call.pricingStatus !== \"estimated\";\n allPricingComplete &&= call.pricingStatus === \"estimated\";\n modelCalls = yield* checkedAdd(\"modelCalls\", modelCalls, 1);\n inputTokens.total = yield* checkedAdd(\n \"inputTokens.total\",\n inputTokens.total,\n call.inputTokens.total,\n );\n inputTokens.uncached = yield* checkedAdd(\n \"inputTokens.uncached\",\n inputTokens.uncached,\n call.inputTokens.uncached,\n );\n inputTokens.cacheRead = yield* checkedAdd(\n \"inputTokens.cacheRead\",\n inputTokens.cacheRead,\n call.inputTokens.cacheRead,\n );\n inputTokens.cacheWrite = yield* checkedAdd(\n \"inputTokens.cacheWrite\",\n inputTokens.cacheWrite,\n call.inputTokens.cacheWrite,\n );\n outputTokens.total = yield* checkedAdd(\n \"outputTokens.total\",\n outputTokens.total,\n call.outputTokens.total,\n );\n outputTokens.text = yield* checkedAdd(\n \"outputTokens.text\",\n outputTokens.text,\n call.outputTokens.text,\n );\n outputTokens.reasoning = yield* checkedAdd(\n \"outputTokens.reasoning\",\n outputTokens.reasoning,\n call.outputTokens.reasoning,\n );\n costMicrousd = yield* checkedAdd(\"costMicrousd\", costMicrousd, call.costMicrousd);\n\n const key = JSON.stringify([\n call.provider,\n call.model,\n call.response?.model ?? null,\n call.serviceTier ?? null,\n call.pricingVersion ?? null,\n ]);\n\n let group = groups.get(key);\n\n if (group === undefined) {\n group = {\n provider: call.provider,\n model: call.model,\n ...(call.response?.model === undefined ? {} : { responseModel: call.response.model }),\n ...(call.serviceTier === undefined ? {} : { serviceTier: call.serviceTier }),\n ...(call.pricingVersion === undefined ? {} : { pricingVersion: call.pricingVersion }),\n modelCalls: 0,\n inputTokens: emptyInputTokens(),\n outputTokens: emptyOutputTokens(),\n costMicrousd: 0,\n };\n groups.set(key, group);\n }\n group.modelCalls = yield* checkedAdd(\"byModel.modelCalls\", group.modelCalls, 1);\n group.inputTokens.total = yield* checkedAdd(\n \"byModel.inputTokens.total\",\n group.inputTokens.total,\n call.inputTokens.total,\n );\n group.inputTokens.uncached = yield* checkedAdd(\n \"byModel.inputTokens.uncached\",\n group.inputTokens.uncached,\n call.inputTokens.uncached,\n );\n group.inputTokens.cacheRead = yield* checkedAdd(\n \"byModel.inputTokens.cacheRead\",\n group.inputTokens.cacheRead,\n call.inputTokens.cacheRead,\n );\n group.inputTokens.cacheWrite = yield* checkedAdd(\n \"byModel.inputTokens.cacheWrite\",\n group.inputTokens.cacheWrite,\n call.inputTokens.cacheWrite,\n );\n group.outputTokens.total = yield* checkedAdd(\n \"byModel.outputTokens.total\",\n group.outputTokens.total,\n call.outputTokens.total,\n );\n group.outputTokens.text = yield* checkedAdd(\n \"byModel.outputTokens.text\",\n group.outputTokens.text,\n call.outputTokens.text,\n );\n group.outputTokens.reasoning = yield* checkedAdd(\n \"byModel.outputTokens.reasoning\",\n group.outputTokens.reasoning,\n call.outputTokens.reasoning,\n );\n group.costMicrousd = yield* checkedAdd(\n \"byModel.costMicrousd\",\n group.costMicrousd,\n call.costMicrousd,\n );\n }\n\n return RunUsageSummary.make({\n modelCalls,\n inputTokens: InputTokenUsage.make(inputTokens),\n outputTokens: OutputTokenUsage.make(outputTokens),\n costMicrousd,\n usageStatus: allUsageUnknown ? \"unknown\" : allUsageComplete ? \"complete\" : \"partial\",\n pricingStatus: allPricingUnknown ? \"unknown\" : allPricingComplete ? \"complete\" : \"partial\",\n ...(initial?.unobservedModelCalls === undefined\n ? {}\n : { unobservedModelCalls: initial.unobservedModelCalls }),\n byModel: [...groups.values()].map((group) =>\n ModelUsageGroup.make({\n provider: group.provider,\n model: group.model,\n ...(group.responseModel === undefined ? {} : { responseModel: group.responseModel }),\n ...(group.serviceTier === undefined ? {} : { serviceTier: group.serviceTier }),\n ...(group.pricingVersion === undefined ? {} : { pricingVersion: group.pricingVersion }),\n modelCalls: group.modelCalls,\n inputTokens: InputTokenUsage.make(group.inputTokens),\n outputTokens: OutputTokenUsage.make(group.outputTokens),\n costMicrousd: group.costMicrousd,\n }),\n ),\n });\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { p as WorkerOperationTool } from "../SubagentContract-DdT7Cqe6.mjs";
|
|
2
|
+
import { a as WorkerError, c as WorkerRef, d as WorkerStarted, f as WorkerSummary, i as WorkerContext, l as WorkerReport, n as WorkerBudgetScope, o as WorkerHistoryEntry, p as WorkerUpdate, r as WorkerCompletion, s as WorkerPage, t as FrameworkMessage, u as WorkerSource } from "../Worker-CaPYykpe.mjs";
|
|
3
|
+
export { FrameworkMessage, WorkerBudgetScope, WorkerCompletion, WorkerContext, WorkerError, WorkerHistoryEntry, WorkerOperationTool, WorkerPage, WorkerRef, WorkerReport, WorkerSource, WorkerStarted, WorkerSummary, WorkerUpdate };
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.mjs";
|
|
2
|
+
import { AgentPolicy } from "./AgentPolicy.mjs";
|
|
3
|
+
import { AgentId, DelegationId, RunId, SettlementId, ThreadId, ToolCallId } from "./Identifiers.mjs";
|
|
4
|
+
import { Receipt } from "./Receipt.mjs";
|
|
5
|
+
import { Update } from "./AgentUpdates.mjs";
|
|
6
|
+
import { SubagentExecutionFailure, SubagentGrant, WorkerOperationTool } from "./SubagentContract.mjs";
|
|
7
|
+
import { Schema } from "effect";
|
|
8
|
+
//#region src/core/Worker.ts
|
|
9
|
+
var Worker_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
+
FrameworkMessage: () => FrameworkMessage,
|
|
11
|
+
WorkerBudgetScope: () => WorkerBudgetScope,
|
|
12
|
+
WorkerCompletion: () => WorkerCompletion,
|
|
13
|
+
WorkerContext: () => WorkerContext,
|
|
14
|
+
WorkerError: () => WorkerError,
|
|
15
|
+
WorkerHistoryEntry: () => WorkerHistoryEntry,
|
|
16
|
+
WorkerOperationTool: () => WorkerOperationTool,
|
|
17
|
+
WorkerPage: () => WorkerPage,
|
|
18
|
+
WorkerRef: () => WorkerRef,
|
|
19
|
+
WorkerReport: () => WorkerReport,
|
|
20
|
+
WorkerSource: () => WorkerSource,
|
|
21
|
+
WorkerStarted: () => WorkerStarted,
|
|
22
|
+
WorkerSummary: () => WorkerSummary,
|
|
23
|
+
WorkerUpdate: () => WorkerUpdate
|
|
24
|
+
});
|
|
25
|
+
/** A reusable child Thread, correlated with its declaration. This value grants no authority. */
|
|
26
|
+
const WorkerRef = Schema.Struct({
|
|
27
|
+
schemaVersion: Schema.Literal(1),
|
|
28
|
+
delegationId: DelegationId,
|
|
29
|
+
targetAgentId: AgentId,
|
|
30
|
+
threadId: ThreadId
|
|
31
|
+
});
|
|
32
|
+
/** A worker identity and the Receipt for one accepted input, never an execution handle. */
|
|
33
|
+
const WorkerStarted = Schema.Struct({
|
|
34
|
+
worker: WorkerRef,
|
|
35
|
+
receipt: Receipt
|
|
36
|
+
}).check(Schema.makeFilter((value) => value.worker.threadId === value.receipt.threadId));
|
|
37
|
+
/** A host-authorized Run allowance is independent of the immutable delegation lineage. */
|
|
38
|
+
const WorkerBudgetScope = Schema.Literals(["source-subtree", "worker-run"]);
|
|
39
|
+
/** Host-bound caller metadata. Programmatic calls never fabricate Run or Tool Call identities. */
|
|
40
|
+
const WorkerSource = Schema.Union([Schema.Struct({
|
|
41
|
+
_tag: Schema.Literal("tool"),
|
|
42
|
+
agentId: AgentId,
|
|
43
|
+
threadId: ThreadId,
|
|
44
|
+
runId: RunId,
|
|
45
|
+
toolCallId: ToolCallId
|
|
46
|
+
}), Schema.Struct({
|
|
47
|
+
_tag: Schema.Literal("programmatic"),
|
|
48
|
+
agentId: AgentId,
|
|
49
|
+
threadId: ThreadId
|
|
50
|
+
})]);
|
|
51
|
+
/** The caller's effective policy and root-relative depth, resolved by its host. */
|
|
52
|
+
const WorkerContext = Schema.Struct({
|
|
53
|
+
source: WorkerSource,
|
|
54
|
+
policy: AgentPolicy,
|
|
55
|
+
depth: Schema.Natural,
|
|
56
|
+
grant: Schema.optionalKey(SubagentGrant)
|
|
57
|
+
});
|
|
58
|
+
/** Bounded durable listing data; a latest Receipt never substitutes for a requested Receipt. */
|
|
59
|
+
const WorkerSummary = Schema.Struct({
|
|
60
|
+
worker: WorkerRef,
|
|
61
|
+
latestReceipt: Schema.NullOr(Receipt),
|
|
62
|
+
state: Schema.Literals([
|
|
63
|
+
"starting",
|
|
64
|
+
"active",
|
|
65
|
+
"idle"
|
|
66
|
+
])
|
|
67
|
+
});
|
|
68
|
+
const WorkerPage = Schema.Struct({
|
|
69
|
+
items: Schema.Array(WorkerSummary).check(Schema.isMaxLength(100)),
|
|
70
|
+
next: Schema.NullOr(ThreadId)
|
|
71
|
+
});
|
|
72
|
+
/** Authorized canonical history, encoded independently of storage-adapter representations. */
|
|
73
|
+
const WorkerHistoryEntry = Schema.Struct({
|
|
74
|
+
sequence: Schema.Natural.check(Schema.isGreaterThan(0)),
|
|
75
|
+
recordId: Schema.NonEmptyString.check(Schema.isMaxLength(1024)),
|
|
76
|
+
record: Schema.Json
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Closed host-boundary failures. Infrastructure diagnostics remain in host telemetry.
|
|
80
|
+
* `delivery-pending` confirms retained input, not destination acceptance or execution.
|
|
81
|
+
* Keep the same idempotency key and parameters when reconciling; never launch a replacement.
|
|
82
|
+
*/
|
|
83
|
+
var WorkerError = class extends Schema.TaggedError()("WorkerError", {
|
|
84
|
+
/** Pending input or concurrency pressure may clear without changing the request. */
|
|
85
|
+
retryable: Schema.optionalKey(Schema.Literal(true)),
|
|
86
|
+
operation: Schema.Literals([
|
|
87
|
+
"context",
|
|
88
|
+
"start",
|
|
89
|
+
"followUp",
|
|
90
|
+
"inspect",
|
|
91
|
+
"observe",
|
|
92
|
+
"await",
|
|
93
|
+
"list",
|
|
94
|
+
"cancel"
|
|
95
|
+
]),
|
|
96
|
+
reason: Schema.Literals([
|
|
97
|
+
"denied",
|
|
98
|
+
"declaration-unavailable",
|
|
99
|
+
"worker-mismatch",
|
|
100
|
+
"receipt-mismatch",
|
|
101
|
+
"idempotency-conflict",
|
|
102
|
+
"capacity",
|
|
103
|
+
"not-found",
|
|
104
|
+
"delivery-pending",
|
|
105
|
+
"storage",
|
|
106
|
+
"corrupt",
|
|
107
|
+
"unavailable"
|
|
108
|
+
])
|
|
109
|
+
}) {};
|
|
110
|
+
/** One projected canonical Run outcome. Joined receipts share this identity. */
|
|
111
|
+
const WorkerReport = (success) => {
|
|
112
|
+
const identity = {
|
|
113
|
+
_tag: Schema.Literal("Settled"),
|
|
114
|
+
worker: WorkerRef,
|
|
115
|
+
receipt: Receipt,
|
|
116
|
+
runId: RunId,
|
|
117
|
+
settlementId: SettlementId
|
|
118
|
+
};
|
|
119
|
+
return Schema.Union([Schema.Struct({
|
|
120
|
+
...identity,
|
|
121
|
+
outcome: Schema.Literal("completed"),
|
|
122
|
+
result: Schema.Union([success])
|
|
123
|
+
}), Schema.Struct({
|
|
124
|
+
...identity,
|
|
125
|
+
outcome: Schema.Literals(["failed", "aborted"]),
|
|
126
|
+
failure: SubagentExecutionFailure
|
|
127
|
+
})]);
|
|
128
|
+
};
|
|
129
|
+
/** Framework message stored separately from the parent's application input. */
|
|
130
|
+
const WorkerCompletion = Schema.Struct({
|
|
131
|
+
_tag: Schema.Literal("WorkerCompletion"),
|
|
132
|
+
budgetExhausted: Schema.Boolean,
|
|
133
|
+
schemaVersion: Schema.Literal(1),
|
|
134
|
+
report: WorkerReport(Schema.Json)
|
|
135
|
+
}).check(Schema.makeFilter(({ report }) => report.worker.threadId === report.receipt.threadId));
|
|
136
|
+
/** Source-worker intermediate output, kept separate from application input. */
|
|
137
|
+
const WorkerUpdate = Schema.Struct({
|
|
138
|
+
_tag: Schema.Literal("WorkerUpdate"),
|
|
139
|
+
schemaVersion: Schema.Literal(1),
|
|
140
|
+
worker: WorkerRef,
|
|
141
|
+
update: Update
|
|
142
|
+
}).check(Schema.makeFilter(({ worker, update }) => worker.threadId === update.threadId && worker.targetAgentId === update.agentId));
|
|
143
|
+
const FrameworkMessage = Schema.Union([WorkerCompletion, WorkerUpdate]);
|
|
144
|
+
//#endregion
|
|
145
|
+
export { FrameworkMessage, WorkerBudgetScope, WorkerCompletion, WorkerContext, WorkerError, WorkerHistoryEntry, WorkerOperationTool, WorkerPage, WorkerRef, WorkerReport, WorkerSource, WorkerStarted, WorkerSummary, WorkerUpdate, Worker_exports as t };
|
|
146
|
+
|
|
147
|
+
//# sourceMappingURL=Worker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Worker.mjs","names":[],"sources":["../../src/core/Worker.ts"],"sourcesContent":["import { Schema } from \"effect\";\n\nimport { AgentPolicy } from \"./AgentPolicy.ts\";\nimport { Update } from \"./AgentUpdates.ts\";\nimport { AgentId, DelegationId, RunId, SettlementId, ThreadId, ToolCallId } from \"./Identifiers.ts\";\nimport { Receipt } from \"./Receipt.ts\";\nimport { SubagentExecutionFailure, SubagentGrant } from \"./SubagentContract.ts\";\n\n/** A reusable child Thread, correlated with its declaration. This value grants no authority. */\nexport const WorkerRef = Schema.Struct({\n schemaVersion: Schema.Literal(1),\n delegationId: DelegationId,\n targetAgentId: AgentId,\n threadId: ThreadId,\n});\n\nexport type WorkerRef = typeof WorkerRef.Type;\n\n/** A worker identity and the Receipt for one accepted input, never an execution handle. */\nexport const WorkerStarted = Schema.Struct({\n worker: WorkerRef,\n receipt: Receipt,\n}).check(Schema.makeFilter((value) => value.worker.threadId === value.receipt.threadId));\n\nexport type WorkerStarted = typeof WorkerStarted.Type;\n\n/** A host-authorized Run allowance is independent of the immutable delegation lineage. */\nexport const WorkerBudgetScope = Schema.Literals([\"source-subtree\", \"worker-run\"]);\nexport type WorkerBudgetScope = typeof WorkerBudgetScope.Type;\n\n/** Host-bound caller metadata. Programmatic calls never fabricate Run or Tool Call identities. */\nexport const WorkerSource = Schema.Union([\n Schema.Struct({\n _tag: Schema.Literal(\"tool\"),\n agentId: AgentId,\n threadId: ThreadId,\n runId: RunId,\n toolCallId: ToolCallId,\n }),\n Schema.Struct({\n _tag: Schema.Literal(\"programmatic\"),\n agentId: AgentId,\n threadId: ThreadId,\n }),\n]);\n\nexport type WorkerSource = typeof WorkerSource.Type;\n\n/** The caller's effective policy and root-relative depth, resolved by its host. */\nexport const WorkerContext = Schema.Struct({\n source: WorkerSource,\n policy: AgentPolicy,\n depth: Schema.Natural,\n grant: Schema.optionalKey(SubagentGrant),\n});\n\nexport type WorkerContext = typeof WorkerContext.Type;\n\n/** Bounded durable listing data; a latest Receipt never substitutes for a requested Receipt. */\nexport const WorkerSummary = Schema.Struct({\n worker: WorkerRef,\n latestReceipt: Schema.NullOr(Receipt),\n state: Schema.Literals([\"starting\", \"active\", \"idle\"]),\n});\n\nexport type WorkerSummary = typeof WorkerSummary.Type;\n\nexport const WorkerPage = Schema.Struct({\n items: Schema.Array(WorkerSummary).check(Schema.isMaxLength(100)),\n next: Schema.NullOr(ThreadId),\n});\n\nexport type WorkerPage = typeof WorkerPage.Type;\n\n/** Authorized canonical history, encoded independently of storage-adapter representations. */\nexport const WorkerHistoryEntry = Schema.Struct({\n sequence: Schema.Natural.check(Schema.isGreaterThan(0)),\n recordId: Schema.NonEmptyString.check(Schema.isMaxLength(1_024)),\n record: Schema.Json,\n});\n\nexport type WorkerHistoryEntry = typeof WorkerHistoryEntry.Type;\n\n/**\n * Closed host-boundary failures. Infrastructure diagnostics remain in host telemetry.\n * `delivery-pending` confirms retained input, not destination acceptance or execution.\n * Keep the same idempotency key and parameters when reconciling; never launch a replacement.\n */\nexport class WorkerError extends Schema.TaggedError<WorkerError>()(\"WorkerError\", {\n /** Pending input or concurrency pressure may clear without changing the request. */\n retryable: Schema.optionalKey(Schema.Literal(true)),\n operation: Schema.Literals([\n \"context\",\n \"start\",\n \"followUp\",\n \"inspect\",\n \"observe\",\n \"await\",\n \"list\",\n \"cancel\",\n ]),\n reason: Schema.Literals([\n \"denied\",\n \"declaration-unavailable\",\n \"worker-mismatch\",\n \"receipt-mismatch\",\n \"idempotency-conflict\",\n \"capacity\",\n \"not-found\",\n \"delivery-pending\",\n \"storage\",\n \"corrupt\",\n \"unavailable\",\n ]),\n}) {}\n\nexport { WorkerOperationTool } from \"./SubagentContract.ts\";\n\n/** One projected canonical Run outcome. Joined receipts share this identity. */\nexport const WorkerReport = <Success extends Schema.Top>(success: Success) => {\n const identity = {\n _tag: Schema.Literal(\"Settled\"),\n worker: WorkerRef,\n receipt: Receipt,\n runId: RunId,\n settlementId: SettlementId,\n };\n\n return Schema.Union([\n // Union preserves the Success codec while making the result field required.\n Schema.Struct({\n ...identity,\n outcome: Schema.Literal(\"completed\"),\n result: Schema.Union([success]),\n }),\n Schema.Struct({\n ...identity,\n outcome: Schema.Literals([\"failed\", \"aborted\"]),\n failure: SubagentExecutionFailure,\n }),\n ]);\n};\n\nexport type WorkerReport<Success extends Schema.Top> = ReturnType<\n typeof WorkerReport<Success>\n>[\"Type\"];\n\n/** Framework message stored separately from the parent's application input. */\nexport const WorkerCompletion = Schema.Struct({\n _tag: Schema.Literal(\"WorkerCompletion\"),\n budgetExhausted: Schema.Boolean,\n schemaVersion: Schema.Literal(1),\n report: WorkerReport(Schema.Json),\n}).check(Schema.makeFilter(({ report }) => report.worker.threadId === report.receipt.threadId));\n\nexport type WorkerCompletion = typeof WorkerCompletion.Type;\n\n/** Source-worker intermediate output, kept separate from application input. */\nexport const WorkerUpdate = Schema.Struct({\n _tag: Schema.Literal(\"WorkerUpdate\"),\n schemaVersion: Schema.Literal(1),\n worker: WorkerRef,\n update: Update,\n}).check(\n Schema.makeFilter(\n ({ worker, update }) =>\n worker.threadId === update.threadId && worker.targetAgentId === update.agentId,\n ),\n);\n\nexport type WorkerUpdate = typeof WorkerUpdate.Type;\nexport const FrameworkMessage = Schema.Union([WorkerCompletion, WorkerUpdate]);\nexport type FrameworkMessage = typeof FrameworkMessage.Type;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAa,YAAY,OAAO,OAAO;CACrC,eAAe,OAAO,QAAQ,CAAC;CAC/B,cAAc;CACd,eAAe;CACf,UAAU;AACZ,CAAC;;AAKD,MAAa,gBAAgB,OAAO,OAAO;CACzC,QAAQ;CACR,SAAS;AACX,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,UAAU,MAAM,OAAO,aAAa,MAAM,QAAQ,QAAQ,CAAC;;AAKvF,MAAa,oBAAoB,OAAO,SAAS,CAAC,kBAAkB,YAAY,CAAC;;AAIjF,MAAa,eAAe,OAAO,MAAM,CACvC,OAAO,OAAO;CACZ,MAAM,OAAO,QAAQ,MAAM;CAC3B,SAAS;CACT,UAAU;CACV,OAAO;CACP,YAAY;AACd,CAAC,GACD,OAAO,OAAO;CACZ,MAAM,OAAO,QAAQ,cAAc;CACnC,SAAS;CACT,UAAU;AACZ,CAAC,CACH,CAAC;;AAKD,MAAa,gBAAgB,OAAO,OAAO;CACzC,QAAQ;CACR,QAAQ;CACR,OAAO,OAAO;CACd,OAAO,OAAO,YAAY,aAAa;AACzC,CAAC;;AAKD,MAAa,gBAAgB,OAAO,OAAO;CACzC,QAAQ;CACR,eAAe,OAAO,OAAO,OAAO;CACpC,OAAO,OAAO,SAAS;EAAC;EAAY;EAAU;CAAM,CAAC;AACvD,CAAC;AAID,MAAa,aAAa,OAAO,OAAO;CACtC,OAAO,OAAO,MAAM,aAAa,CAAC,CAAC,MAAM,OAAO,YAAY,GAAG,CAAC;CAChE,MAAM,OAAO,OAAO,QAAQ;AAC9B,CAAC;;AAKD,MAAa,qBAAqB,OAAO,OAAO;CAC9C,UAAU,OAAO,QAAQ,MAAM,OAAO,cAAc,CAAC,CAAC;CACtD,UAAU,OAAO,eAAe,MAAM,OAAO,YAAY,IAAK,CAAC;CAC/D,QAAQ,OAAO;AACjB,CAAC;;;;;;AASD,IAAa,cAAb,cAAiC,OAAO,YAAyB,CAAC,CAAC,eAAe;;CAEhF,WAAW,OAAO,YAAY,OAAO,QAAQ,IAAI,CAAC;CAClD,WAAW,OAAO,SAAS;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CACD,QAAQ,OAAO,SAAS;EACtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH,CAAC,CAAC,CAAC,CAAC;;AAKJ,MAAa,gBAA4C,YAAqB;CAC5E,MAAM,WAAW;EACf,MAAM,OAAO,QAAQ,SAAS;EAC9B,QAAQ;EACR,SAAS;EACT,OAAO;EACP,cAAc;CAChB;CAEA,OAAO,OAAO,MAAM,CAElB,OAAO,OAAO;EACZ,GAAG;EACH,SAAS,OAAO,QAAQ,WAAW;EACnC,QAAQ,OAAO,MAAM,CAAC,OAAO,CAAC;CAChC,CAAC,GACD,OAAO,OAAO;EACZ,GAAG;EACH,SAAS,OAAO,SAAS,CAAC,UAAU,SAAS,CAAC;EAC9C,SAAS;CACX,CAAC,CACH,CAAC;AACH;;AAOA,MAAa,mBAAmB,OAAO,OAAO;CAC5C,MAAM,OAAO,QAAQ,kBAAkB;CACvC,iBAAiB,OAAO;CACxB,eAAe,OAAO,QAAQ,CAAC;CAC/B,QAAQ,aAAa,OAAO,IAAI;AAClC,CAAC,CAAC,CAAC,MAAM,OAAO,YAAY,EAAE,aAAa,OAAO,OAAO,aAAa,OAAO,QAAQ,QAAQ,CAAC;;AAK9F,MAAa,eAAe,OAAO,OAAO;CACxC,MAAM,OAAO,QAAQ,cAAc;CACnC,eAAe,OAAO,QAAQ,CAAC;CAC/B,QAAQ;CACR,QAAQ;AACV,CAAC,CAAC,CAAC,MACD,OAAO,YACJ,EAAE,QAAQ,aACT,OAAO,aAAa,OAAO,YAAY,OAAO,kBAAkB,OAAO,OAC3E,CACF;AAGA,MAAa,mBAAmB,OAAO,MAAM,CAAC,kBAAkB,YAAY,CAAC"}
|