effect-agent 0.1.0-beta.15 → 0.1.0-beta.151
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/Admin-CKIdJoP8.d.mts +4236 -0
- package/dist/Agent-1DMSO_Fl.mjs +86 -0
- package/dist/Agent-1DMSO_Fl.mjs.map +1 -0
- package/dist/Agent-Cjd_ZveM.d.mts +259 -0
- package/dist/AgentError-Bn1ytXRD.d.mts +117 -0
- package/dist/AgentPolicy-BqDoSXO6.d.mts +96 -0
- package/dist/AgentRuntime-D8U9gl9Q.mjs +4745 -0
- package/dist/AgentRuntime-D8U9gl9Q.mjs.map +1 -0
- package/dist/AgentRuntime-sXpKcyxu.d.mts +346 -0
- package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
- package/dist/ContextCompactor-WwSIG_Z2.d.mts +161 -0
- package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
- package/dist/Digest-U69rDHuO.d.mts +22 -0
- package/dist/DurableAgentRuntime-R2LUYnRl.mjs +7207 -0
- package/dist/DurableAgentRuntime-R2LUYnRl.mjs.map +1 -0
- package/dist/DurableFailpoint-Cnr3wx1L.d.mts +41 -0
- package/dist/DurableStep-Cry_iol4.d.mts +103 -0
- package/dist/EventSource-CMbXXmwe.d.mts +51 -0
- package/dist/FailureDiagnostic-BElLOoED.mjs +274 -0
- package/dist/FailureDiagnostic-BElLOoED.mjs.map +1 -0
- package/dist/FailureDiagnostic-CaAkzGHL.d.mts +223 -0
- package/dist/Identifiers-CN2s30fF.d.mts +40 -0
- package/dist/InMemory.d.mts +24 -0
- package/dist/InMemory.mjs +24 -0
- package/dist/InMemory.mjs.map +1 -0
- package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
- package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
- package/dist/Messaging-Dkg87ebg.d.mts +221 -0
- package/dist/Messaging-ccQURKCf.d.mts +1067 -0
- package/dist/MessagingHost-D04wE-7W.d.mts +74 -0
- package/dist/MessagingHost-DfsbMPvq.mjs +110 -0
- package/dist/MessagingHost-DfsbMPvq.mjs.map +1 -0
- package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
- package/dist/Output-CFD1CPfU.d.mts +25 -0
- package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
- package/dist/PreparedInputAdmission-Bt6rgtVu.d.mts +42 -0
- package/dist/Receipt-BAHyigAF.d.mts +33 -0
- package/dist/Records-B5GFWCpn.d.mts +1104 -0
- package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
- package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
- package/dist/RunJournal-Gd83HYqG.mjs +954 -0
- package/dist/RunJournal-Gd83HYqG.mjs.map +1 -0
- package/dist/RunOptions-Bv9NpkPZ.d.mts +943 -0
- package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
- package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
- package/dist/Schedule-CtYREFnz.d.mts +847 -0
- package/dist/Scheduling-DPb2QyAK.mjs +691 -0
- package/dist/Scheduling-DPb2QyAK.mjs.map +1 -0
- package/dist/Subagent-VHrANXFy.d.mts +1652 -0
- package/dist/Subagent-hG9lJ7tJ.mjs +1502 -0
- package/dist/Subagent-hG9lJ7tJ.mjs.map +1 -0
- package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
- package/dist/SubagentHost-C-4A7tA2.d.mts +172 -0
- package/dist/Subscription-BJAzYNw1.d.mts +979 -0
- package/dist/SubscriptionInput-CkBJt0AS.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 +8 -0
- package/dist/ToolExposure.mjs +21 -0
- package/dist/ToolExposure.mjs.map +1 -0
- package/dist/ToolReconciler-BmVRAHKs.d.mts +80 -0
- package/dist/ToolResult-BKdqWRff.d.mts +78 -0
- package/dist/Usage-Dx0aknfk.d.mts +121 -0
- package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
- package/dist/Worker-CfwzMZEK.mjs +271 -0
- package/dist/Worker-CfwzMZEK.mjs.map +1 -0
- package/dist/Worker-fwWkBg12.d.mts +472 -0
- package/dist/WorkerAdmission-CJ_oWRuS.mjs +171 -0
- package/dist/WorkerAdmission-CJ_oWRuS.mjs.map +1 -0
- package/dist/agent-registration-CKNsrpwo.mjs +201 -0
- package/dist/agent-registration-CKNsrpwo.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 +523 -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 +259 -0
- package/dist/capabilities/Mcp.mjs.map +1 -0
- package/dist/capabilities/McpClient.d.mts +115 -0
- package/dist/capabilities/McpClient.mjs +519 -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 +152 -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 +124 -0
- package/dist/capabilities/ToolDiscovery.mjs +230 -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 +115 -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 +134 -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/FailureDiagnostic.d.mts +2 -0
- package/dist/core/FailureDiagnostic.mjs +2 -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 +156 -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 +3 -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 +330 -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 +110 -0
- package/dist/durable/Certification.mjs +159 -0
- package/dist/durable/Certification.mjs.map +1 -0
- package/dist/durable/CommittedActivity.d.mts +64 -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 +4 -0
- package/dist/durable/DurableFailpoint.d.mts +2 -0
- package/dist/durable/DurableFailpoint.mjs +102 -0
- package/dist/durable/DurableFailpoint.mjs.map +1 -0
- package/dist/durable/DurableFailpointTestControl.d.mts +14 -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 +185 -0
- package/dist/durable/GitHubWorkflowSource.mjs +209 -0
- package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
- package/dist/durable/LifecyclePublication.d.mts +2 -0
- package/dist/durable/LifecyclePublication.mjs +189 -0
- package/dist/durable/LifecyclePublication.mjs.map +1 -0
- package/dist/durable/MessageDelivery.d.mts +935 -0
- package/dist/durable/MessageDelivery.mjs +557 -0
- package/dist/durable/MessageDelivery.mjs.map +1 -0
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +400 -0
- package/dist/durable/MessageDeliveryStoreConformance.mjs +270 -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 +38 -0
- package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
- package/dist/durable/Records.d.mts +2 -0
- package/dist/durable/Records.mjs +858 -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 +391 -0
- package/dist/durable/Schedule.mjs.map +1 -0
- package/dist/durable/ScheduleStoreConformance.d.mts +17 -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 +55 -0
- package/dist/durable/Scheduling.mjs +2 -0
- package/dist/durable/SqlMemoryStore.d.mts +29 -0
- package/dist/durable/SqlMemoryStore.mjs +436 -0
- package/dist/durable/SqlMemoryStore.mjs.map +1 -0
- package/dist/durable/SubmissionLedger.d.mts +3 -0
- package/dist/durable/SubmissionLedger.mjs +986 -0
- package/dist/durable/SubmissionLedger.mjs.map +1 -0
- package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
- package/dist/durable/SubmissionLedgerConformance.mjs +2254 -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 +16 -0
- package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
- package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
- package/dist/durable/SubscriptionTools.d.mts +274 -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 +74 -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 +77 -0
- package/dist/durable/ThreadInvariants.mjs +246 -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 +383 -0
- package/dist/durable/ThreadStore.mjs.map +1 -0
- package/dist/durable/ThreadStoreConformance.d.mts +28 -0
- package/dist/durable/ThreadStoreConformance.mjs +543 -0
- package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
- package/dist/durable/ToolReconciler.d.mts +2 -0
- package/dist/durable/ToolReconciler.mjs +85 -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/WorkerAdmission.d.mts +172 -0
- package/dist/durable/WorkerAdmission.mjs +2 -0
- package/dist/durable/WorkerHost.d.mts +156 -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 +124 -0
- package/dist/engine/RunOptions.mjs.map +1 -0
- package/dist/engine/SubagentHost.d.mts +2 -0
- package/dist/engine/SubagentHost.mjs +76 -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 +92 -6
- package/dist/index.mjs +100 -6
- package/dist/output-contract-DS-S8mTv.mjs +135 -0
- package/dist/output-contract-DS-S8mTv.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 +257 -0
- package/dist/sandbox/InteractiveBrowser.mjs +236 -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 +48 -0
- package/dist/sandbox/PageScreenshot.mjs +53 -0
- package/dist/sandbox/PageScreenshot.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 -40
- package/src/InMemory.ts +19 -0
- package/src/ToolExposure.ts +2 -0
- package/src/capabilities/Approval.ts +352 -0
- package/src/capabilities/Budget.ts +536 -0
- package/src/capabilities/CodeMode.ts +1099 -0
- package/src/capabilities/Commands.ts +86 -0
- package/src/capabilities/ContextTools.ts +184 -0
- package/src/capabilities/Mcp.ts +426 -0
- package/src/capabilities/McpClient.ts +983 -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 +2489 -0
- package/src/capabilities/SubagentReservations.ts +850 -0
- package/src/capabilities/ToolDiscovery.ts +369 -0
- package/src/capabilities/WebCapture.ts +722 -0
- package/src/capabilities/WebSearch.ts +190 -0
- package/src/capabilities/internal/subagent-background.ts +1307 -0
- package/src/capabilities/internal/subagent-contract.ts +146 -0
- package/src/capabilities/internal/subagent-policy.ts +235 -0
- package/src/capabilities/internal/subagent-reporting.ts +136 -0
- package/src/capabilities/internal/utf8.ts +10 -0
- package/src/core/Agent.ts +609 -0
- package/src/core/AgentError.ts +172 -0
- package/src/core/AgentPolicy.ts +153 -0
- package/src/core/AgentUpdates.ts +100 -0
- package/src/core/FailureDiagnostic.ts +343 -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 +72 -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 +190 -0
- package/src/core/Usage.ts +529 -0
- package/src/core/Worker.ts +240 -0
- package/src/core/internal/agent-updates.ts +34 -0
- package/src/core/internal/message-status.ts +60 -0
- package/src/core/internal/strict-schema.ts +14 -0
- package/src/core/internal/utf8.ts +23 -0
- package/src/durable/ActivityStore.ts +160 -0
- package/src/durable/Admin.ts +505 -0
- package/src/durable/AgentRegistration.ts +14 -0
- package/src/durable/Certification.ts +210 -0
- package/src/durable/CommittedActivity.ts +296 -0
- package/src/durable/Digest.ts +87 -0
- package/src/durable/DurableAgentRuntime.ts +11367 -0
- package/src/durable/DurableFailpoint.ts +111 -0
- package/src/durable/DurableFailpointTestControl.ts +39 -0
- package/src/durable/EventSource.ts +172 -0
- package/src/durable/GitHubWorkflowSource.ts +447 -0
- package/src/durable/LifecyclePublication.ts +298 -0
- package/src/durable/MessageDelivery.ts +834 -0
- package/src/durable/MessageDeliveryStoreConformance.ts +410 -0
- package/src/durable/OperationAuthorizer.ts +85 -0
- package/src/durable/PersistentHistory.ts +260 -0
- package/src/durable/PreparedInputAdmission.ts +57 -0
- package/src/durable/Records.ts +1087 -0
- package/src/durable/Recovery.ts +1018 -0
- package/src/durable/RunJournal.ts +1695 -0
- package/src/durable/Schedule.ts +513 -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 +778 -0
- package/src/durable/SubmissionLedger.ts +1297 -0
- package/src/durable/SubmissionLedgerConformance.ts +4940 -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 +507 -0
- package/src/durable/ThreadProjection.ts +269 -0
- package/src/durable/ThreadProjectionMaintenance.ts +67 -0
- package/src/durable/ThreadStore.ts +637 -0
- package/src/durable/ThreadStoreConformance.ts +1296 -0
- package/src/durable/ToolReconciler.ts +109 -0
- package/src/durable/WakeScheduler.ts +134 -0
- package/src/durable/WorkerAdmission.ts +104 -0
- package/src/durable/WorkerHost.ts +205 -0
- package/src/durable/internal/agent-registration.ts +587 -0
- package/src/durable/internal/agent-updates.ts +306 -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 +124 -0
- package/src/durable/internal/message-status.ts +20 -0
- package/src/durable/internal/messaging-host.ts +637 -0
- package/src/durable/internal/schedule-time.ts +303 -0
- package/src/durable/internal/thread-initialization.ts +195 -0
- package/src/durable/internal/worker-host.ts +3309 -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 +1109 -0
- package/src/engine/SubagentHost.ts +239 -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 +10596 -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 +250 -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 +99 -22
- package/src/sandbox/CodeExecutor.ts +352 -0
- package/src/sandbox/InteractiveBrowser.ts +339 -0
- package/src/sandbox/PageCapture.ts +691 -0
- package/src/sandbox/PageCrawl.ts +148 -0
- package/src/sandbox/PageScreenshot.ts +81 -0
- package/src/sandbox/Sandbox.ts +241 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import type { Effect, Option } from "effect";
|
|
2
|
+
import { Context, Schema, Stream } from "effect";
|
|
3
|
+
|
|
4
|
+
import type * as Agent from "../core/Agent.ts";
|
|
5
|
+
import type { AgentPolicy } from "../core/AgentPolicy.ts";
|
|
6
|
+
import type { Update } from "../core/AgentUpdates.ts";
|
|
7
|
+
import type * as FailureDiagnostic from "../core/FailureDiagnostic.ts";
|
|
8
|
+
import type { DelegationId, RunId, SettlementId, ThreadId } from "../core/Identifiers.ts";
|
|
9
|
+
import type { MessageRef, MessageStatus } from "../core/Messaging.ts";
|
|
10
|
+
import { type IdempotencyKey, type JoinedToHost, type Receipt } from "../core/Receipt.ts";
|
|
11
|
+
import type { SubagentBudgetReservation } from "../core/SubagentContract.ts";
|
|
12
|
+
import {
|
|
13
|
+
WorkerError,
|
|
14
|
+
type WorkerStop,
|
|
15
|
+
type WorkerStopped,
|
|
16
|
+
type WorkerCompletion,
|
|
17
|
+
type WorkerHistoryEntry,
|
|
18
|
+
type WorkerContext,
|
|
19
|
+
type WorkerBudgetScope,
|
|
20
|
+
type WorkerSource,
|
|
21
|
+
type WorkerPage,
|
|
22
|
+
type WorkerRef,
|
|
23
|
+
type WorkerStarted,
|
|
24
|
+
type WorkerSummary,
|
|
25
|
+
} from "../core/Worker.ts";
|
|
26
|
+
|
|
27
|
+
/** Prepared values cross this port only to be Schema-decoded before durable storage. */
|
|
28
|
+
export interface StartWorkerRequest {
|
|
29
|
+
readonly delegationId: DelegationId;
|
|
30
|
+
/** Start a distinct assignment using verified completed predecessor authority. */
|
|
31
|
+
readonly continuationOf?: WorkerRef;
|
|
32
|
+
readonly target: Agent.AnyDefinition;
|
|
33
|
+
readonly idempotencyKey: IdempotencyKey;
|
|
34
|
+
readonly encodedInput: unknown;
|
|
35
|
+
readonly encodedParameters: unknown;
|
|
36
|
+
readonly policy: AgentPolicy;
|
|
37
|
+
readonly budget: SubagentBudgetReservation;
|
|
38
|
+
readonly encodedGrant: unknown;
|
|
39
|
+
readonly toolCallAllowance?: number;
|
|
40
|
+
/** Author-owned request; the durable host must separately authorize worker-run funding. */
|
|
41
|
+
readonly budgetScope?: WorkerBudgetScope;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* First-admission preparation stays lazy until the owner authorizes the caller and checks the
|
|
46
|
+
* retained command. Replays compare declared parameters/options and reuse the original capture.
|
|
47
|
+
* Prepared policy, budget, and allowance are frozen first-admission configuration, not replay
|
|
48
|
+
* arguments; changing them requires a new command key. Current caller authorization still applies.
|
|
49
|
+
* Preparation must be free of external effects: concurrent first admissions can prepare before
|
|
50
|
+
* the retained delivery chooses its first writer.
|
|
51
|
+
*/
|
|
52
|
+
export interface DeferredStartWorkerRequest<E = never, R = never> extends Pick<
|
|
53
|
+
StartWorkerRequest,
|
|
54
|
+
| "delegationId"
|
|
55
|
+
| "continuationOf"
|
|
56
|
+
| "target"
|
|
57
|
+
| "idempotencyKey"
|
|
58
|
+
| "encodedParameters"
|
|
59
|
+
| "encodedGrant"
|
|
60
|
+
| "budgetScope"
|
|
61
|
+
> {
|
|
62
|
+
readonly prepare: Effect.Effect<
|
|
63
|
+
Pick<StartWorkerRequest, "encodedInput" | "policy" | "budget" | "toolCallAllowance">,
|
|
64
|
+
E,
|
|
65
|
+
R
|
|
66
|
+
>;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface FollowUpWorkerRequest {
|
|
70
|
+
readonly worker: WorkerRef;
|
|
71
|
+
readonly target: Agent.AnyDefinition;
|
|
72
|
+
readonly idempotencyKey: IdempotencyKey;
|
|
73
|
+
readonly encodedInput: unknown;
|
|
74
|
+
readonly encodedParameters: unknown;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Like deferred starts, follow-ups prepare only after current authorization and retained-command
|
|
79
|
+
* lookup. Replays compare declared parameters and reuse the original input and worker authority.
|
|
80
|
+
* Preparation must be free of external effects because concurrent first admissions can prepare.
|
|
81
|
+
*/
|
|
82
|
+
export interface DeferredFollowUpWorkerRequest<E = never, R = never> extends Omit<
|
|
83
|
+
FollowUpWorkerRequest,
|
|
84
|
+
"encodedInput"
|
|
85
|
+
> {
|
|
86
|
+
readonly prepare: Effect.Effect<Pick<FollowUpWorkerRequest, "encodedInput">, E, R>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export interface WorkerReceiptRequest {
|
|
90
|
+
readonly worker: WorkerRef;
|
|
91
|
+
readonly target: Agent.AnyDefinition;
|
|
92
|
+
readonly receipt: Receipt;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export interface WorkerMessageRequest {
|
|
96
|
+
readonly worker: WorkerRef;
|
|
97
|
+
readonly target: Agent.AnyDefinition;
|
|
98
|
+
readonly message: MessageRef;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Canonical terminal values remain encoded until the capability decodes the saved parameters
|
|
103
|
+
* and target output and applies its declared result projection. Child E does not survive settlement.
|
|
104
|
+
*/
|
|
105
|
+
export type WorkerObservation =
|
|
106
|
+
| { readonly _tag: "Pending"; readonly receipt: Receipt }
|
|
107
|
+
| {
|
|
108
|
+
readonly _tag: "Settled";
|
|
109
|
+
readonly receipt: Receipt;
|
|
110
|
+
/** Absent when an input failed or was cancelled before any Run started. */
|
|
111
|
+
readonly runId?: RunId;
|
|
112
|
+
readonly settlementId: SettlementId;
|
|
113
|
+
readonly outcome: "completed" | "failed" | "aborted";
|
|
114
|
+
readonly encodedParameters: unknown;
|
|
115
|
+
readonly encodedResult: unknown;
|
|
116
|
+
/** Operator-private failed-settlement evidence; never part of a model Tool result. */
|
|
117
|
+
readonly diagnostic?: FailureDiagnostic.Failure;
|
|
118
|
+
readonly budgetExhausted: boolean;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/** One actual canonical Run, independent of how many input Receipts joined it. */
|
|
122
|
+
export interface WorkerRunReport {
|
|
123
|
+
readonly worker: WorkerRef;
|
|
124
|
+
readonly context: WorkerContext;
|
|
125
|
+
readonly observation: Extract<WorkerObservation, { readonly _tag: "Settled" }> & {
|
|
126
|
+
readonly runId: RunId;
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** A bounded projection failure; raw application errors never enter durable report records. */
|
|
131
|
+
export class WorkerReportPreparationFailure extends Schema.TaggedError<WorkerReportPreparationFailure>()(
|
|
132
|
+
"WorkerReportPreparationFailure",
|
|
133
|
+
{ stage: Schema.Literals(["projection", "input", "preparation"]) },
|
|
134
|
+
) {}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Source-owned standard projection discovered from background tools.
|
|
138
|
+
* The concrete descriptor retains its E/R; durable registration captures R and records
|
|
139
|
+
* bounded preparation failure rather than serializing arbitrary application errors.
|
|
140
|
+
*/
|
|
141
|
+
export interface WorkerReporting<E = never, R = never> {
|
|
142
|
+
readonly delegationId: DelegationId;
|
|
143
|
+
readonly target: Agent.AnyDefinition;
|
|
144
|
+
/** Pure first-emission selection. False retains the canonical update without parent delivery. */
|
|
145
|
+
readonly reportUpdate?: (update: Update) => boolean;
|
|
146
|
+
/** False retains a filtered report receipt without waking the parent. */
|
|
147
|
+
readonly reportCompletion?: (report: WorkerRunReport) => boolean;
|
|
148
|
+
readonly prepare: (report: WorkerRunReport) => Effect.Effect<
|
|
149
|
+
{
|
|
150
|
+
readonly message: WorkerCompletion;
|
|
151
|
+
},
|
|
152
|
+
E | WorkerReportPreparationFailure,
|
|
153
|
+
R
|
|
154
|
+
>;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/** Descriptor carried by background tools; registration discovers it without an app handoff. */
|
|
158
|
+
export const BackgroundReporting = Context.Reference<
|
|
159
|
+
WorkerReporting<WorkerReportPreparationFailure> | undefined
|
|
160
|
+
>("@effect-agent/engine/BackgroundReporting", { defaultValue: () => undefined });
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Trusted, caller-bound host port. The interpreter supplies a fresh facet for each Tool Call;
|
|
164
|
+
* programmatic callers acquire a separately authorized Thread facet. Request values cannot
|
|
165
|
+
* choose the source identity, replace worker provenance or expand its authority and budgets.
|
|
166
|
+
*/
|
|
167
|
+
export class SubagentHost extends Context.Service<
|
|
168
|
+
SubagentHost,
|
|
169
|
+
{
|
|
170
|
+
readonly context: Effect.Effect<WorkerContext, WorkerError>;
|
|
171
|
+
/** Resolve prepared input through host authority; None retains legacy target inheritance. */
|
|
172
|
+
readonly resolveTargetPolicy: (request: {
|
|
173
|
+
readonly continuationOf?: WorkerRef;
|
|
174
|
+
readonly target: Agent.AnyDefinition;
|
|
175
|
+
readonly encodedInput: unknown;
|
|
176
|
+
}) => Effect.Effect<Option.Option<AgentPolicy>, WorkerError>;
|
|
177
|
+
/** Prepared callers retain strict input/policy conflicts; deferred callers replay the saved capture. */
|
|
178
|
+
readonly start: <E = never, R = never>(
|
|
179
|
+
request: StartWorkerRequest | DeferredStartWorkerRequest<E, R>,
|
|
180
|
+
) => Effect.Effect<WorkerStarted, WorkerError | E, R>;
|
|
181
|
+
/** Prepared callers retain strict input conflicts; deferred callers replay the saved capture. */
|
|
182
|
+
readonly followUp: <E = never, R = never>(
|
|
183
|
+
request: FollowUpWorkerRequest | DeferredFollowUpWorkerRequest<E, R>,
|
|
184
|
+
) => Effect.Effect<MessageStatus, WorkerError | E, R>;
|
|
185
|
+
readonly inspect: (
|
|
186
|
+
request: WorkerReceiptRequest | WorkerMessageRequest,
|
|
187
|
+
) => Effect.Effect<WorkerObservation | MessageStatus, WorkerError>;
|
|
188
|
+
/** Inspect the continuing worker using the same summary contract as discovery. */
|
|
189
|
+
readonly summary: (request: {
|
|
190
|
+
readonly worker: WorkerRef;
|
|
191
|
+
readonly target: Agent.AnyDefinition;
|
|
192
|
+
}) => Effect.Effect<WorkerSummary, WorkerError>;
|
|
193
|
+
/** A finite snapshot through the captured tail; resume with the last sequence as `after`. */
|
|
194
|
+
readonly observe: (request: {
|
|
195
|
+
readonly worker: WorkerRef;
|
|
196
|
+
readonly target: Agent.AnyDefinition;
|
|
197
|
+
readonly after?: number;
|
|
198
|
+
}) => Stream.Stream<WorkerHistoryEntry, WorkerError>;
|
|
199
|
+
/** Interrupting this wait never requests cancellation of accepted work. */
|
|
200
|
+
readonly await: (
|
|
201
|
+
request: WorkerReceiptRequest,
|
|
202
|
+
) => Effect.Effect<WorkerObservation, WorkerError>;
|
|
203
|
+
readonly list: (request: {
|
|
204
|
+
readonly delegationId: DelegationId;
|
|
205
|
+
readonly target: Agent.AnyDefinition;
|
|
206
|
+
readonly limit: number;
|
|
207
|
+
readonly after?: ThreadId;
|
|
208
|
+
}) => Effect.Effect<WorkerPage, WorkerError>;
|
|
209
|
+
/** Seal the whole worker; retries reconcile the same command, including a lost acknowledgement. */
|
|
210
|
+
readonly stop: (
|
|
211
|
+
request: WorkerStop & { readonly target: Agent.AnyDefinition },
|
|
212
|
+
) => Effect.Effect<WorkerStopped, WorkerError>;
|
|
213
|
+
/** Cancel exactly this Receipt; preserve JoinedToHost without broadening its target. */
|
|
214
|
+
readonly cancel: (
|
|
215
|
+
request: WorkerReceiptRequest,
|
|
216
|
+
) => Effect.Effect<void, WorkerError | JoinedToHost>;
|
|
217
|
+
}
|
|
218
|
+
>()("@effect-agent/engine/SubagentHost") {
|
|
219
|
+
static readonly unavailable: SubagentHost["Service"] = {
|
|
220
|
+
context: WorkerError.make({ operation: "context", reason: "unavailable" }),
|
|
221
|
+
resolveTargetPolicy: () => WorkerError.make({ operation: "start", reason: "unavailable" }),
|
|
222
|
+
start: () => WorkerError.make({ operation: "start", reason: "unavailable" }),
|
|
223
|
+
followUp: () => WorkerError.make({ operation: "followUp", reason: "unavailable" }),
|
|
224
|
+
inspect: () => WorkerError.make({ operation: "inspect", reason: "unavailable" }),
|
|
225
|
+
summary: () => WorkerError.make({ operation: "inspect", reason: "unavailable" }),
|
|
226
|
+
observe: () => Stream.fail(WorkerError.make({ operation: "observe", reason: "unavailable" })),
|
|
227
|
+
await: () => WorkerError.make({ operation: "await", reason: "unavailable" }),
|
|
228
|
+
list: () => WorkerError.make({ operation: "list", reason: "unavailable" }),
|
|
229
|
+
stop: () => WorkerError.make({ operation: "stop", reason: "unavailable" }),
|
|
230
|
+
cancel: () => WorkerError.make({ operation: "cancel", reason: "unavailable" }),
|
|
231
|
+
};
|
|
232
|
+
|
|
233
|
+
/** Runtime-owned per-call binding. Unconfigured Runs deny background operations. */
|
|
234
|
+
static readonly forTool = Context.Reference<
|
|
235
|
+
(source: Extract<WorkerSource, { readonly _tag: "tool" }>) => SubagentHost["Service"]
|
|
236
|
+
>("@effect-agent/engine/SubagentHost/forTool", {
|
|
237
|
+
defaultValue: () => () => SubagentHost.unavailable,
|
|
238
|
+
});
|
|
239
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Context, Effect, Layer, Schema } from "effect";
|
|
2
|
+
import type { Prompt } from "effect/unstable/ai";
|
|
3
|
+
|
|
4
|
+
import { ThreadId, type RunId } from "../core/Identifiers.ts";
|
|
5
|
+
import { type RunCompleted } from "../core/RunEvent.ts";
|
|
6
|
+
import {
|
|
7
|
+
Store as ConversationStore,
|
|
8
|
+
layerMemory,
|
|
9
|
+
toPrompt,
|
|
10
|
+
type ThreadError,
|
|
11
|
+
} from "../core/Thread.ts";
|
|
12
|
+
|
|
13
|
+
/** A history adapter rejected a read, staged value, or completed Run commit. */
|
|
14
|
+
export class ThreadHistoryError extends Schema.TaggedError<ThreadHistoryError>()(
|
|
15
|
+
"ThreadHistoryError",
|
|
16
|
+
{
|
|
17
|
+
threadId: ThreadId,
|
|
18
|
+
reason: Schema.Literals([
|
|
19
|
+
"not-found",
|
|
20
|
+
"conflict",
|
|
21
|
+
"fenced",
|
|
22
|
+
"incompatible",
|
|
23
|
+
"limit",
|
|
24
|
+
"encoding",
|
|
25
|
+
"storage",
|
|
26
|
+
]),
|
|
27
|
+
message: Schema.String,
|
|
28
|
+
cause: Schema.optionalKey(Schema.Defect()),
|
|
29
|
+
},
|
|
30
|
+
) {}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* One Run's history owner. Incremental adapters retain each stageHistory update; on-success
|
|
34
|
+
* adapters stage privately until commit. Before commit, the interpreter
|
|
35
|
+
* finishes run-owned work and closes resources acquired for that Run, then validates the result
|
|
36
|
+
* for run/start.await. Shared model, provider, and client services supplied by an enclosing
|
|
37
|
+
* application Layer remain owned by that application's Scope and may outlive multiple Runs.
|
|
38
|
+
* Commit must succeed before RunCompleted becomes observable. Schema-encoded input is opaque
|
|
39
|
+
* here; the adapter owns its persistence boundary. A failed commit may have reached storage;
|
|
40
|
+
* callers must inspect history before retrying external execution.
|
|
41
|
+
*/
|
|
42
|
+
export interface ThreadHistoryRun {
|
|
43
|
+
readonly prompt: Prompt.Prompt;
|
|
44
|
+
readonly stageInput: (input: unknown) => Effect.Effect<void, ThreadHistoryError>;
|
|
45
|
+
readonly stageHistory: (history: Prompt.Prompt) => Effect.Effect<void, ThreadHistoryError>;
|
|
46
|
+
readonly commit: (completed: RunCompleted) => Effect.Effect<void, ThreadHistoryError>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* History shared by Runs with the same Thread ID. The default layer retains native messages
|
|
51
|
+
* incrementally in memory for its application Scope, including completed updates before a failure.
|
|
52
|
+
* PersistentHistory.layer from effect-agent/persistent-history instead commits successful
|
|
53
|
+
* Runs to an explicit ThreadStore. Durable hosts retain history through their journal hooks.
|
|
54
|
+
* No implementation may retry model or Tool execution or claim interrupted-work recovery.
|
|
55
|
+
*/
|
|
56
|
+
export class ThreadHistory extends Context.Service<
|
|
57
|
+
ThreadHistory,
|
|
58
|
+
{
|
|
59
|
+
readonly retention: "incremental" | "on-success";
|
|
60
|
+
readonly open: (request: {
|
|
61
|
+
readonly threadId: ThreadId;
|
|
62
|
+
readonly runId: RunId;
|
|
63
|
+
}) => Effect.Effect<ThreadHistoryRun, ThreadHistoryError>;
|
|
64
|
+
readonly load: (threadId: ThreadId) => Effect.Effect<Prompt.Prompt, ThreadHistoryError>;
|
|
65
|
+
}
|
|
66
|
+
>()("@effect-agent/engine/ThreadHistory") {
|
|
67
|
+
/**
|
|
68
|
+
* Retain bounded in-memory history across Runs. Provide once around the application so
|
|
69
|
+
* all Runs share the same store. The underlying Thread.Store service is exposed for
|
|
70
|
+
* snapshots and interactive hooks; separate Layer builds own separate stores.
|
|
71
|
+
*/
|
|
72
|
+
static readonly layer = Layer.effect(
|
|
73
|
+
ThreadHistory,
|
|
74
|
+
Effect.gen(function* () {
|
|
75
|
+
const threads = yield* ConversationStore;
|
|
76
|
+
|
|
77
|
+
const historyError = (cause: ThreadError): ThreadHistoryError =>
|
|
78
|
+
ThreadHistoryError.make({
|
|
79
|
+
threadId: cause.threadId,
|
|
80
|
+
reason:
|
|
81
|
+
cause._tag === "ThreadNotFound"
|
|
82
|
+
? "not-found"
|
|
83
|
+
: cause._tag === "ThreadLimitExceeded"
|
|
84
|
+
? "limit"
|
|
85
|
+
: cause._tag === "ThreadHistoryDiverged"
|
|
86
|
+
? "conflict"
|
|
87
|
+
: "encoding",
|
|
88
|
+
message:
|
|
89
|
+
cause._tag === "ThreadNotFound"
|
|
90
|
+
? "Thread history is not present in this application Scope"
|
|
91
|
+
: cause._tag === "ThreadLimitExceeded"
|
|
92
|
+
? `In-memory history exceeds the ${cause.limit} limit of ${cause.limitValue}`
|
|
93
|
+
: cause.message,
|
|
94
|
+
cause,
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
return ThreadHistory.of({
|
|
98
|
+
retention: "incremental",
|
|
99
|
+
load: (threadId) =>
|
|
100
|
+
threads.snapshot(threadId).pipe(Effect.map(toPrompt), Effect.mapError(historyError)),
|
|
101
|
+
open: Effect.fn("ThreadHistory.open")(function* ({ threadId, runId }) {
|
|
102
|
+
const snapshot = yield* threads.create(threadId).pipe(Effect.mapError(historyError));
|
|
103
|
+
|
|
104
|
+
return {
|
|
105
|
+
prompt: toPrompt(snapshot),
|
|
106
|
+
stageInput: () => Effect.void,
|
|
107
|
+
stageHistory: (history: Prompt.Prompt) =>
|
|
108
|
+
threads
|
|
109
|
+
.recordHistory(threadId, runId, history)
|
|
110
|
+
.pipe(Effect.asVoid, Effect.mapError(historyError)),
|
|
111
|
+
commit: () => Effect.void,
|
|
112
|
+
};
|
|
113
|
+
}),
|
|
114
|
+
});
|
|
115
|
+
}),
|
|
116
|
+
).pipe(Layer.provideMerge(layerMemory));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/** Retain in-memory conversation history for the application Scope. */
|
|
120
|
+
export const layer = ThreadHistory.layer;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type { Effect } from "effect";
|
|
2
|
+
import { Context, Schema } from "effect";
|
|
3
|
+
import type { Tool, Toolkit } from "effect/unstable/ai";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Programmatic Tool invocation seam for Code Mode (runtime spec §12.1,
|
|
7
|
+
* ADR-0017 decision 3). The interpreter provides `ToolBroker` locally in the
|
|
8
|
+
* same pattern as `AgentSpawner` and `DurableStep`: a fail-closed Run-level
|
|
9
|
+
* default shadowed by a live per-outer-Tool-Call service, excluded from
|
|
10
|
+
* `AgentRuntimeRequirements`. The live service is bound to the outer Tool
|
|
11
|
+
* Call's identity, the Run's policy context, and the already-held scheduling
|
|
12
|
+
* permit; per-call input from generated code is data only, and the broker
|
|
13
|
+
* allocates every sequence index from its own monotonic per-pass state.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** One programmatic invocation request. Data only: the broker owns identity. */
|
|
17
|
+
export interface ProgrammaticToolInput {
|
|
18
|
+
/** The exact Effect AI Tool name resolved by the capability's namespace map. */
|
|
19
|
+
readonly toolName: string;
|
|
20
|
+
/** Schema-encoded (wire-form) parameters, exactly as they cross the sandbox. */
|
|
21
|
+
readonly encodedArguments: unknown;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** The handler ran and settled with an owned JSON snapshot of its encoded success value. */
|
|
25
|
+
export interface ProgrammaticCallSuccess {
|
|
26
|
+
readonly _tag: "ProgrammaticCallSuccess";
|
|
27
|
+
/** Broker-owned invocation index within the pass; rejected calls leave gaps. */
|
|
28
|
+
readonly index: number;
|
|
29
|
+
readonly encodedResult: unknown;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The handler settled with the Tool's declared, Schema-encoded typed failure
|
|
34
|
+
* (an Effect AI `failureMode: "return"` result). The program may catch and
|
|
35
|
+
* branch on it.
|
|
36
|
+
*/
|
|
37
|
+
export interface ProgrammaticCallFailure {
|
|
38
|
+
readonly _tag: "ProgrammaticCallFailure";
|
|
39
|
+
readonly index: number;
|
|
40
|
+
readonly encodedResult: unknown;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* The call never produced a settled handler result: a broker preflight
|
|
45
|
+
* rejected it (authorization, budget, unknown Tool, approval-requiring Tool,
|
|
46
|
+
* invalid parameters), the handler failed in its typed error channel, or the
|
|
47
|
+
* result failed encoding or the broker-owned size bound. `errorTag` and
|
|
48
|
+
* `message` are the same bounded projection the direct path uses for
|
|
49
|
+
* `ToolCallFailed` events; `index` is present only when the handler was
|
|
50
|
+
* actually started (preflight rejections consume no identity and no budget).
|
|
51
|
+
*/
|
|
52
|
+
export interface ProgrammaticCallError {
|
|
53
|
+
readonly _tag: "ProgrammaticCallError";
|
|
54
|
+
readonly index: number | undefined;
|
|
55
|
+
readonly errorTag: string;
|
|
56
|
+
readonly message: string;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Total outcome of one programmatic invocation; defects stay defects. Trusted applications may
|
|
61
|
+
* install `CurrentToolFailureObserver` to receive non-propagating failures before the outcome
|
|
62
|
+
* returns, with the live Cause retained before projection. Neither Causes nor observation values
|
|
63
|
+
* cross the broker boundary.
|
|
64
|
+
*/
|
|
65
|
+
export type ProgrammaticCallOutcome =
|
|
66
|
+
| ProgrammaticCallSuccess
|
|
67
|
+
| ProgrammaticCallFailure
|
|
68
|
+
| ProgrammaticCallError;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Ephemeral execution evidence, ordered by invocation rather than completion. No arguments or
|
|
72
|
+
* results are copied into this diagnostic. A started call without a confirmed result is uncertain;
|
|
73
|
+
* a failed call is a confirmed failure, not a promise that external effects were rolled back.
|
|
74
|
+
*/
|
|
75
|
+
export const ProgrammaticCallRecord = Schema.Struct({
|
|
76
|
+
sequenceIndex: Schema.Natural,
|
|
77
|
+
toolName: Schema.String,
|
|
78
|
+
status: Schema.Literals(["not-started", "succeeded", "failed", "uncertain"]),
|
|
79
|
+
errorTag: Schema.optionalKey(Schema.String),
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
export type ProgrammaticCallRecord = typeof ProgrammaticCallRecord.Type;
|
|
83
|
+
|
|
84
|
+
/** Broker-owned per-pass policy for results crossing back into the sandbox. */
|
|
85
|
+
export interface ToolBrokerPassOptions {
|
|
86
|
+
/** Maximum active invocations in this pass, from one through 64. Defaults to four. */
|
|
87
|
+
readonly concurrency?: number | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Maximum UTF-8 byte size of one encoded success result at the sandbox
|
|
90
|
+
* boundary. The returned value is decoded from the exact JSON representation
|
|
91
|
+
* admitted by this bound, after redaction. Later handler or redactor mutations
|
|
92
|
+
* cannot change it. The executor enforces its own transport bound independently.
|
|
93
|
+
*/
|
|
94
|
+
readonly maxResultBytes: number;
|
|
95
|
+
/**
|
|
96
|
+
* Optional broker-owned redaction pass applied to every encoded success
|
|
97
|
+
* result before the size bound. It must be total; a defect stays a defect.
|
|
98
|
+
*/
|
|
99
|
+
readonly redactResult?: ((encodedResult: unknown) => Effect.Effect<unknown>) | undefined;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* One open programmatic pass, bound to one outer Tool Call. A finite Effect Semaphore bounds
|
|
104
|
+
* execution. The caller owns invocation fibers and must join or interrupt them before leaving
|
|
105
|
+
* its Scope. Results return as soon as they settle, without waiting for unrelated earlier calls.
|
|
106
|
+
*/
|
|
107
|
+
export interface ToolBrokerPass {
|
|
108
|
+
readonly invoke: (input: ProgrammaticToolInput) => Effect.Effect<ProgrammaticCallOutcome>;
|
|
109
|
+
/** Owned snapshot in invocation order, including interrupted and rejected calls. Never replay it. */
|
|
110
|
+
readonly snapshot: Effect.Effect<ReadonlyArray<ProgrammaticCallRecord>>;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** The broker was used outside a live Tool batch; there is nothing to bind to. */
|
|
114
|
+
export class ToolBrokerUnavailableError extends Schema.TaggedError<ToolBrokerUnavailableError>()(
|
|
115
|
+
"ToolBrokerUnavailableError",
|
|
116
|
+
{
|
|
117
|
+
message: Schema.String,
|
|
118
|
+
},
|
|
119
|
+
) {}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* The pass options are invalid — for example a `maxResultBytes` that is not
|
|
123
|
+
* a positive safe integer, which would make the size comparison fail open.
|
|
124
|
+
*/
|
|
125
|
+
export class ToolBrokerConfigurationError extends Schema.TaggedError<ToolBrokerConfigurationError>()(
|
|
126
|
+
"ToolBrokerConfigurationError",
|
|
127
|
+
{
|
|
128
|
+
message: Schema.String,
|
|
129
|
+
},
|
|
130
|
+
) {}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* The engine-owned broker service. `openPass` fixes the capability-supplied
|
|
134
|
+
* Toolkit and per-pass result policy once for the whole pass and captures the
|
|
135
|
+
* handler services present at the call site, so nothing inside business
|
|
136
|
+
* execution — least of all generated code — can substitute handlers, policy,
|
|
137
|
+
* or identity afterwards.
|
|
138
|
+
*/
|
|
139
|
+
export interface ToolBrokerService {
|
|
140
|
+
readonly openPass: <Tools extends Record<string, Tool.Any>>(
|
|
141
|
+
toolkit: Toolkit.WithHandler<Tools>,
|
|
142
|
+
options: ToolBrokerPassOptions,
|
|
143
|
+
) => Effect.Effect<
|
|
144
|
+
ToolBrokerPass,
|
|
145
|
+
ToolBrokerUnavailableError | ToolBrokerConfigurationError,
|
|
146
|
+
Tool.HandlerServices<Tools[keyof Tools]>
|
|
147
|
+
>;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Engine-provided programmatic Tool broker (RUN-016, RUN-017). Declare it
|
|
152
|
+
* with `.addDependency(ToolBroker)` on a Tool that performs programmatic
|
|
153
|
+
* invocation; the interpreter supplies it, and an application Layer must not.
|
|
154
|
+
*/
|
|
155
|
+
export class ToolBroker extends Context.Service<ToolBroker, ToolBrokerService>()(
|
|
156
|
+
"@effect-agent/engine/ToolBroker",
|
|
157
|
+
) {}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Context, type Effect } from "effect";
|
|
2
|
+
import type { Tool } from "effect/unstable/ai";
|
|
3
|
+
|
|
4
|
+
import type { RunId, ThreadId } from "../core/Identifiers.ts";
|
|
5
|
+
|
|
6
|
+
export type CatalogEntry =
|
|
7
|
+
| {
|
|
8
|
+
readonly kind: "native";
|
|
9
|
+
readonly tool: Tool.Any;
|
|
10
|
+
readonly namespace?: string | undefined;
|
|
11
|
+
readonly nativeToolName: string;
|
|
12
|
+
}
|
|
13
|
+
| {
|
|
14
|
+
readonly kind: "code-mode";
|
|
15
|
+
readonly tool: Tool.Any;
|
|
16
|
+
readonly namespace: string;
|
|
17
|
+
readonly method: string;
|
|
18
|
+
readonly nativeToolName: string;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/** Engine-owned per-Turn snapshot. All candidates passed host visibility and inherited grants. */
|
|
22
|
+
export class CurrentToolCatalog extends Context.Service<
|
|
23
|
+
CurrentToolCatalog,
|
|
24
|
+
{
|
|
25
|
+
readonly entries: ReadonlyArray<CatalogEntry>;
|
|
26
|
+
}
|
|
27
|
+
>()("@effect-agent/engine/ToolExposure/CurrentToolCatalog") {}
|
|
28
|
+
|
|
29
|
+
/** Host visibility is checked before a discovery Handler may inspect candidate documentation. */
|
|
30
|
+
export interface VisibilityRequest {
|
|
31
|
+
readonly threadId: ThreadId;
|
|
32
|
+
readonly runId: RunId;
|
|
33
|
+
readonly turn: number;
|
|
34
|
+
readonly input: unknown;
|
|
35
|
+
/** Includes registered native names and explicitly advertised programmatic names. */
|
|
36
|
+
readonly toolNames: ReadonlyArray<string>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** Resolve host dependencies when constructing the policy Layer. */
|
|
40
|
+
export interface VisibilityHook {
|
|
41
|
+
readonly visible: (request: VisibilityRequest) => Effect.Effect<ReadonlyArray<string>>;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/** Optional host policy captured by durable runtimes; action authorization remains independent. */
|
|
45
|
+
export const RunToolVisibility = Context.Reference<VisibilityHook | undefined>(
|
|
46
|
+
"@effect-agent/engine/ToolExposure/RunToolVisibility",
|
|
47
|
+
{ defaultValue: () => undefined },
|
|
48
|
+
);
|