effect-agent 0.1.0-beta.113 → 0.1.0-beta.115
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-1DMSO_Fl.mjs.map +1 -1
- package/dist/{Agent-DriBcXBN.d.mts → Agent-D9cXqfF3.d.mts} +9 -2
- package/dist/{AgentRuntime-DLwPoEVH.mjs → AgentRuntime-Cp1hAb-W.mjs} +8 -4
- package/dist/AgentRuntime-Cp1hAb-W.mjs.map +1 -0
- package/dist/{AgentRuntime-CWkHuzyt.d.mts → AgentRuntime-DyZv8uu2.d.mts} +6 -6
- package/dist/{DurableAgentRuntime-BIrgxwRl.mjs → DurableAgentRuntime-tNrkJZNo.mjs} +254 -162
- package/dist/DurableAgentRuntime-tNrkJZNo.mjs.map +1 -0
- package/dist/{DurableFailpoint-mx3-nsxU.d.mts → DurableFailpoint-Cnr3wx1L.d.mts} +3 -3
- package/dist/{EventSource-ARs56eBq.d.mts → EventSource-DPRdlvhV.d.mts} +3 -3
- package/dist/{Messaging-DaZDlBqh.d.mts → Messaging-JYYN3oYS.d.mts} +3 -3
- package/dist/{MessagingHost-e1Sbzfao.d.mts → MessagingHost-CqzpxbGz.d.mts} +3 -3
- package/dist/{MessagingHost-D89X7ma8.mjs → MessagingHost-DfsbMPvq.mjs} +2 -2
- package/dist/{MessagingHost-D89X7ma8.mjs.map → MessagingHost-DfsbMPvq.mjs.map} +1 -1
- package/dist/{Output-CAFJTAbP.d.mts → Output-V-6YL1_Z.d.mts} +2 -2
- package/dist/{PreparedInputAdmission-_WYg-D0f.d.mts → PreparedInputAdmission-DqQUjA9k.d.mts} +4 -4
- package/dist/{Records-BtxMy8xD.d.mts → Records-Byeb70tt.d.mts} +89 -31
- package/dist/{RunOptions-BoESJrxw.d.mts → RunOptions-CSBsSj0X.d.mts} +3 -3
- package/dist/{Schedule-DGPyXBzK.d.mts → Schedule-krSnBcbU.d.mts} +2 -2
- package/dist/{Subagent-D9eYdGTl.mjs → Subagent-Di8EEjWZ.mjs} +67 -105
- package/dist/Subagent-Di8EEjWZ.mjs.map +1 -0
- package/dist/{Subagent-F72tuaxy.d.mts → Subagent-gw9KD6eb.d.mts} +310 -35
- package/dist/{SubagentHost-CmiNTOBZ.d.mts → SubagentHost-P9zB_TfV.d.mts} +24 -18
- package/dist/{Subscription-B9VszlF9.d.mts → Subscription-Xnwd42Sm.d.mts} +6 -3
- package/dist/{SubscriptionInput-BJWZqCWP.d.mts → SubscriptionInput-CqtJ58vl.d.mts} +3 -3
- package/dist/{Worker-T_3RbaKc.mjs → Worker-CfwzMZEK.mjs} +66 -5
- package/dist/Worker-CfwzMZEK.mjs.map +1 -0
- package/dist/{Worker-Du9dhVnp.d.mts → Worker-fwWkBg12.d.mts} +199 -6
- package/dist/{agent-registration-B5CI-Ygk.mjs → agent-registration-CKNsrpwo.mjs} +7 -7
- package/dist/agent-registration-CKNsrpwo.mjs.map +1 -0
- package/dist/capabilities/Commands.d.mts +1 -1
- package/dist/capabilities/Messaging.d.mts +1 -1
- package/dist/capabilities/Messaging.mjs +2 -2
- package/dist/capabilities/RunHooks.d.mts +1 -1
- package/dist/capabilities/Subagent.d.mts +3 -3
- package/dist/capabilities/Subagent.mjs +3 -3
- package/dist/core/Agent.d.mts +1 -1
- package/dist/core/Worker.d.mts +2 -2
- package/dist/core/Worker.mjs +2 -2
- package/dist/durable/ActivityStore.d.mts +1 -1
- package/dist/durable/Admin.d.mts +1 -1
- package/dist/durable/AgentRegistration.d.mts +1 -1
- package/dist/durable/AgentRegistration.mjs +1 -1
- package/dist/durable/Certification.d.mts +2 -2
- package/dist/durable/CommittedActivity.d.mts +1 -1
- package/dist/durable/Digest.d.mts +1 -1
- package/dist/durable/DurableAgentRuntime.d.mts +1 -1
- package/dist/durable/DurableAgentRuntime.mjs +1 -1
- package/dist/durable/DurableFailpoint.d.mts +1 -1
- package/dist/durable/DurableFailpoint.mjs +4 -0
- package/dist/durable/DurableFailpoint.mjs.map +1 -1
- package/dist/durable/DurableFailpointTestControl.d.mts +1 -1
- package/dist/durable/EventSource.d.mts +1 -1
- package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
- package/dist/durable/MessageDelivery.d.mts +20 -3
- package/dist/durable/MessageDelivery.mjs +12 -4
- package/dist/durable/MessageDelivery.mjs.map +1 -1
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +41 -39
- package/dist/durable/MessageDeliveryStoreConformance.mjs +1 -1
- package/dist/durable/PersistentHistory.d.mts +1 -1
- package/dist/durable/PreparedInputAdmission.d.mts +1 -1
- package/dist/durable/Records.d.mts +2 -2
- package/dist/durable/Records.mjs +12 -5
- package/dist/durable/Records.mjs.map +1 -1
- package/dist/durable/Recovery.d.mts +1 -1
- package/dist/durable/RunJournal.d.mts +1 -1
- package/dist/durable/Schedule.d.mts +1 -1
- package/dist/durable/ScheduleStoreConformance.d.mts +1 -1
- package/dist/durable/ScheduleTransition.d.mts +1 -1
- package/dist/durable/Scheduling.d.mts +2 -2
- package/dist/durable/SqlMessageDeliveryStore.mjs +7 -1
- package/dist/durable/SqlMessageDeliveryStore.mjs.map +1 -1
- package/dist/durable/SqlStorageV2Upgrade.d.mts +2 -2
- package/dist/durable/SqlSubscriptionStore.d.mts +2 -2
- package/dist/durable/SqlThreadNativeReads.d.mts +5 -1
- package/dist/durable/SqlThreadNativeReads.mjs +6 -0
- package/dist/durable/SqlThreadNativeReads.mjs.map +1 -1
- package/dist/durable/SubmissionLedger.d.mts +2 -2
- package/dist/durable/SubmissionLedger.mjs +34 -4
- package/dist/durable/SubmissionLedger.mjs.map +1 -1
- package/dist/durable/SubmissionLedgerConformance.d.mts +1 -1
- package/dist/durable/SubmissionLedgerConformance.mjs +899 -706
- package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -1
- package/dist/durable/SubmissionStatus.d.mts +1 -1
- package/dist/durable/Subscription.d.mts +1 -1
- package/dist/durable/Subscription.mjs +1 -1
- package/dist/durable/SubscriptionInput.d.mts +1 -1
- package/dist/durable/SubscriptionInput.mjs +1 -1
- package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
- package/dist/durable/SubscriptionTools.d.mts +3 -3
- package/dist/durable/SubscriptionTransition.d.mts +1 -1
- package/dist/durable/Subscriptions.d.mts +5 -5
- package/dist/durable/ThreadContextHistory.d.mts +1 -1
- package/dist/durable/ThreadContextHistoryProjection.d.mts +1 -1
- package/dist/durable/ThreadInvariants.d.mts +1 -1
- package/dist/durable/ThreadProjection.d.mts +1 -1
- package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
- package/dist/durable/ThreadStore.d.mts +1 -1
- package/dist/durable/ThreadStore.mjs +5 -0
- package/dist/durable/ThreadStore.mjs.map +1 -1
- package/dist/durable/ThreadStoreConformance.d.mts +1 -1
- package/dist/durable/WorkerHost.d.mts +3 -3
- package/dist/durable/WorkerHost.mjs +1 -1
- package/dist/engine/AgentRuntime.d.mts +1 -1
- package/dist/engine/AgentRuntime.mjs +1 -1
- package/dist/engine/MessagingHost.d.mts +1 -1
- package/dist/engine/MessagingHost.mjs +1 -1
- package/dist/engine/Output.d.mts +1 -1
- package/dist/engine/RunOptions.d.mts +1 -1
- package/dist/engine/SubagentHost.d.mts +2 -2
- package/dist/engine/SubagentHost.mjs +5 -1
- package/dist/engine/SubagentHost.mjs.map +1 -1
- package/dist/index.d.mts +16 -16
- package/dist/index.mjs +5 -5
- package/package.json +1 -1
- package/src/capabilities/Subagent.ts +2 -1
- package/src/capabilities/internal/subagent-background.ts +86 -57
- package/src/capabilities/internal/subagent-reporting.ts +3 -128
- package/src/core/Agent.ts +8 -1
- package/src/core/Worker.ts +58 -2
- package/src/durable/DurableAgentRuntime.ts +2 -0
- package/src/durable/DurableFailpoint.ts +4 -0
- package/src/durable/MessageDelivery.ts +17 -2
- package/src/durable/Records.ts +12 -2
- package/src/durable/SqlMessageDeliveryStore.ts +15 -1
- package/src/durable/SqlThreadNativeReads.ts +14 -0
- package/src/durable/SubmissionLedger.ts +48 -1
- package/src/durable/SubmissionLedgerConformance.ts +260 -42
- package/src/durable/ThreadStore.ts +5 -0
- package/src/durable/internal/agent-registration.ts +13 -48
- package/src/durable/internal/worker-host.ts +490 -341
- package/src/engine/SubagentHost.ts +37 -13
- package/src/engine/internal/agent-runtime.ts +17 -2
- package/dist/AgentRuntime-DLwPoEVH.mjs.map +0 -1
- package/dist/DurableAgentRuntime-BIrgxwRl.mjs.map +0 -1
- package/dist/Subagent-D9eYdGTl.mjs.map +0 -1
- package/dist/Worker-T_3RbaKc.mjs.map +0 -1
- package/dist/agent-registration-B5CI-Ygk.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"effect-agent","version":"0.1.0-beta.113","devDependencies":{"@effect/platform-node":"4.0.0-rc.116","@effect/vitest":"4.0.0-rc.116","effect":"4.0.0-rc.116","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.116"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./protected-browser":{"types":"./dist/sandbox/ProtectedBrowser.d.mts","default":"./dist/sandbox/ProtectedBrowser.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
1
|
+
{"name":"effect-agent","version":"0.1.0-beta.115","devDependencies":{"@effect/platform-node":"4.0.0-rc.116","@effect/vitest":"4.0.0-rc.116","effect":"4.0.0-rc.116","typescript":"7.0.2","vite-plus":"0.3.2"},"peerDependencies":{"effect":"^4.0.0-rc.116"},"exports":{".":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"./activity-store":{"types":"./dist/durable/ActivityStore.d.mts","default":"./dist/durable/ActivityStore.mjs"},"./admin":{"types":"./dist/durable/Admin.d.mts","default":"./dist/durable/Admin.mjs"},"./agent":{"types":"./dist/core/Agent.d.mts","default":"./dist/core/Agent.mjs"},"./agent-error":{"types":"./dist/core/AgentError.d.mts","default":"./dist/core/AgentError.mjs"},"./agent-policy":{"types":"./dist/core/AgentPolicy.d.mts","default":"./dist/core/AgentPolicy.mjs"},"./agent-registration":{"types":"./dist/durable/AgentRegistration.d.mts","default":"./dist/durable/AgentRegistration.mjs"},"./agent-runtime":{"types":"./dist/engine/AgentRuntime.d.mts","default":"./dist/engine/AgentRuntime.mjs"},"./agent-updates":{"types":"./dist/core/AgentUpdates.d.mts","default":"./dist/core/AgentUpdates.mjs"},"./approval":{"types":"./dist/capabilities/Approval.d.mts","default":"./dist/capabilities/Approval.mjs"},"./budget":{"types":"./dist/capabilities/Budget.d.mts","default":"./dist/capabilities/Budget.mjs"},"./code-executor":{"types":"./dist/sandbox/CodeExecutor.d.mts","default":"./dist/sandbox/CodeExecutor.mjs"},"./code-mode":{"types":"./dist/capabilities/CodeMode.d.mts","default":"./dist/capabilities/CodeMode.mjs"},"./commands":{"types":"./dist/capabilities/Commands.d.mts","default":"./dist/capabilities/Commands.mjs"},"./committed-activity":{"types":"./dist/durable/CommittedActivity.d.mts","default":"./dist/durable/CommittedActivity.mjs"},"./compaction":{"types":"./dist/engine/Compaction.d.mts","default":"./dist/engine/Compaction.mjs"},"./context-compactor":{"types":"./dist/engine/ContextCompactor.d.mts","default":"./dist/engine/ContextCompactor.mjs"},"./context-history":{"types":"./dist/engine/ContextHistory.d.mts","default":"./dist/engine/ContextHistory.mjs"},"./context-tools":{"types":"./dist/capabilities/ContextTools.d.mts","default":"./dist/capabilities/ContextTools.mjs"},"./context-window":{"types":"./dist/engine/ContextWindow.d.mts","default":"./dist/engine/ContextWindow.mjs"},"./digest":{"types":"./dist/durable/Digest.d.mts","default":"./dist/durable/Digest.mjs"},"./durable-agent-runtime":{"types":"./dist/durable/DurableAgentRuntime.d.mts","default":"./dist/durable/DurableAgentRuntime.mjs"},"./durable-failpoint":{"types":"./dist/durable/DurableFailpoint.d.mts","default":"./dist/durable/DurableFailpoint.mjs"},"./durable-step":{"types":"./dist/engine/DurableStep.d.mts","default":"./dist/engine/DurableStep.mjs"},"./event-source":{"types":"./dist/durable/EventSource.d.mts","default":"./dist/durable/EventSource.mjs"},"./failure-diagnostic":{"types":"./dist/core/FailureDiagnostic.d.mts","default":"./dist/core/FailureDiagnostic.mjs"},"./git-hub-workflow-source":{"types":"./dist/durable/GitHubWorkflowSource.d.mts","default":"./dist/durable/GitHubWorkflowSource.mjs"},"./id-generator":{"types":"./dist/core/IdGenerator.d.mts","default":"./dist/core/IdGenerator.mjs"},"./identifiers":{"types":"./dist/core/Identifiers.d.mts","default":"./dist/core/Identifiers.mjs"},"./in-memory":{"types":"./dist/InMemory.d.mts","default":"./dist/InMemory.mjs"},"./interactive-browser":{"types":"./dist/sandbox/InteractiveBrowser.d.mts","default":"./dist/sandbox/InteractiveBrowser.mjs"},"./mcp":{"types":"./dist/capabilities/Mcp.d.mts","default":"./dist/capabilities/Mcp.mjs"},"./mcp-client":{"types":"./dist/capabilities/McpClient.d.mts","default":"./dist/capabilities/McpClient.mjs"},"./memory":{"types":"./dist/core/Memory.d.mts","default":"./dist/core/Memory.mjs"},"./memory-namespace":{"types":"./dist/core/MemoryNamespace.d.mts","default":"./dist/core/MemoryNamespace.mjs"},"./memory-notes":{"types":"./dist/capabilities/MemoryNotes.d.mts","default":"./dist/capabilities/MemoryNotes.mjs"},"./memory-reference":{"types":"./dist/core/MemoryReference.d.mts","default":"./dist/core/MemoryReference.mjs"},"./memory-revalidation":{"types":"./dist/core/MemoryRevalidation.d.mts","default":"./dist/core/MemoryRevalidation.mjs"},"./memory-store":{"types":"./dist/core/MemoryStore.d.mts","default":"./dist/core/MemoryStore.mjs"},"./message-delivery":{"types":"./dist/durable/MessageDelivery.d.mts","default":"./dist/durable/MessageDelivery.mjs"},"./messaging":{"types":"./dist/capabilities/Messaging.d.mts","default":"./dist/capabilities/Messaging.mjs"},"./messaging-host":{"types":"./dist/engine/MessagingHost.d.mts","default":"./dist/engine/MessagingHost.mjs"},"./model-context":{"types":"./dist/capabilities/ModelContext.d.mts","default":"./dist/capabilities/ModelContext.mjs"},"./operation-authorizer":{"types":"./dist/durable/OperationAuthorizer.d.mts","default":"./dist/durable/OperationAuthorizer.mjs"},"./output":{"types":"./dist/engine/Output.d.mts","default":"./dist/engine/Output.mjs"},"./page-capture":{"types":"./dist/sandbox/PageCapture.d.mts","default":"./dist/sandbox/PageCapture.mjs"},"./page-crawl":{"types":"./dist/sandbox/PageCrawl.d.mts","default":"./dist/sandbox/PageCrawl.mjs"},"./page-screenshot":{"types":"./dist/sandbox/PageScreenshot.d.mts","default":"./dist/sandbox/PageScreenshot.mjs"},"./persistent-history":{"types":"./dist/durable/PersistentHistory.d.mts","default":"./dist/durable/PersistentHistory.mjs"},"./prepared-input-admission":{"types":"./dist/durable/PreparedInputAdmission.d.mts","default":"./dist/durable/PreparedInputAdmission.mjs"},"./protected-browser":{"types":"./dist/sandbox/ProtectedBrowser.d.mts","default":"./dist/sandbox/ProtectedBrowser.mjs"},"./receipt":{"types":"./dist/core/Receipt.d.mts","default":"./dist/core/Receipt.mjs"},"./records":{"types":"./dist/durable/Records.d.mts","default":"./dist/durable/Records.mjs"},"./recovery":{"types":"./dist/durable/Recovery.d.mts","default":"./dist/durable/Recovery.mjs"},"./redaction":{"types":"./dist/capabilities/Redaction.d.mts","default":"./dist/capabilities/Redaction.mjs"},"./remembering":{"types":"./dist/capabilities/Remembering.d.mts","default":"./dist/capabilities/Remembering.mjs"},"./remembering-store":{"types":"./dist/core/RememberingStore.d.mts","default":"./dist/core/RememberingStore.mjs"},"./run-event":{"types":"./dist/core/RunEvent.d.mts","default":"./dist/core/RunEvent.mjs"},"./run-event-sink":{"types":"./dist/engine/RunEventSink.d.mts","default":"./dist/engine/RunEventSink.mjs"},"./run-hooks":{"types":"./dist/capabilities/RunHooks.d.mts","default":"./dist/capabilities/RunHooks.mjs"},"./run-journal":{"types":"./dist/durable/RunJournal.d.mts","default":"./dist/durable/RunJournal.mjs"},"./run-options":{"types":"./dist/engine/RunOptions.d.mts","default":"./dist/engine/RunOptions.mjs"},"./run-policy-usage":{"types":"./dist/core/RunPolicyUsage.d.mts","default":"./dist/core/RunPolicyUsage.mjs"},"./sandbox":{"types":"./dist/sandbox/Sandbox.d.mts","default":"./dist/sandbox/Sandbox.mjs"},"./schedule":{"types":"./dist/durable/Schedule.d.mts","default":"./dist/durable/Schedule.mjs"},"./schedule-transition":{"types":"./dist/durable/ScheduleTransition.d.mts","default":"./dist/durable/ScheduleTransition.mjs"},"./scheduling":{"types":"./dist/durable/Scheduling.d.mts","default":"./dist/durable/Scheduling.mjs"},"./semantic-memory":{"types":"./dist/capabilities/SemanticMemory.d.mts","default":"./dist/capabilities/SemanticMemory.mjs"},"./semantic-memory-index":{"types":"./dist/core/SemanticMemoryIndex.d.mts","default":"./dist/core/SemanticMemoryIndex.mjs"},"./semantic-memory-revalidation":{"types":"./dist/core/SemanticMemoryRevalidation.d.mts","default":"./dist/core/SemanticMemoryRevalidation.mjs"},"./sql-thread-native-reads":{"types":"./dist/durable/SqlThreadNativeReads.d.mts","default":"./dist/durable/SqlThreadNativeReads.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-message-delivery-store":{"types":"./dist/durable/SqlMessageDeliveryStore.d.mts","default":"./dist/durable/SqlMessageDeliveryStore.mjs"},"./sql-storage-v2-upgrade":{"types":"./dist/durable/SqlStorageV2Upgrade.d.mts","default":"./dist/durable/SqlStorageV2Upgrade.mjs"},"./sql-subscription-store":{"types":"./dist/durable/SqlSubscriptionStore.d.mts","default":"./dist/durable/SqlSubscriptionStore.mjs"},"./subagent":{"types":"./dist/capabilities/Subagent.d.mts","default":"./dist/capabilities/Subagent.mjs"},"./subagent-contract":{"types":"./dist/core/SubagentContract.d.mts","default":"./dist/core/SubagentContract.mjs"},"./subagent-host":{"types":"./dist/engine/SubagentHost.d.mts","default":"./dist/engine/SubagentHost.mjs"},"./subagent-reservations":{"types":"./dist/capabilities/SubagentReservations.d.mts","default":"./dist/capabilities/SubagentReservations.mjs"},"./submission-ledger":{"types":"./dist/durable/SubmissionLedger.d.mts","default":"./dist/durable/SubmissionLedger.mjs"},"./submission-status":{"types":"./dist/durable/SubmissionStatus.d.mts","default":"./dist/durable/SubmissionStatus.mjs"},"./subscription":{"types":"./dist/durable/Subscription.d.mts","default":"./dist/durable/Subscription.mjs"},"./subscription-input":{"types":"./dist/durable/SubscriptionInput.d.mts","default":"./dist/durable/SubscriptionInput.mjs"},"./subscription-tools":{"types":"./dist/durable/SubscriptionTools.d.mts","default":"./dist/durable/SubscriptionTools.mjs"},"./subscription-transition":{"types":"./dist/durable/SubscriptionTransition.d.mts","default":"./dist/durable/SubscriptionTransition.mjs"},"./subscriptions":{"types":"./dist/durable/Subscriptions.d.mts","default":"./dist/durable/Subscriptions.mjs"},"./testing/certification":{"types":"./dist/durable/Certification.d.mts","default":"./dist/durable/Certification.mjs"},"./testing/durable-failpoint-test-control":{"types":"./dist/durable/DurableFailpointTestControl.d.mts","default":"./dist/durable/DurableFailpointTestControl.mjs"},"./testing/message-delivery-store-conformance":{"types":"./dist/durable/MessageDeliveryStoreConformance.d.mts","default":"./dist/durable/MessageDeliveryStoreConformance.mjs"},"./testing/schedule-store-conformance":{"types":"./dist/durable/ScheduleStoreConformance.d.mts","default":"./dist/durable/ScheduleStoreConformance.mjs"},"./testing/submission-ledger-conformance":{"types":"./dist/durable/SubmissionLedgerConformance.d.mts","default":"./dist/durable/SubmissionLedgerConformance.mjs"},"./testing/subscription-store-conformance":{"types":"./dist/durable/SubscriptionStoreConformance.d.mts","default":"./dist/durable/SubscriptionStoreConformance.mjs"},"./testing/thread-store-conformance":{"types":"./dist/durable/ThreadStoreConformance.d.mts","default":"./dist/durable/ThreadStoreConformance.mjs"},"./thread":{"types":"./dist/core/Thread.d.mts","default":"./dist/core/Thread.mjs"},"./thread-context-history":{"types":"./dist/durable/ThreadContextHistory.d.mts","default":"./dist/durable/ThreadContextHistory.mjs"},"./thread-context-history-projection":{"types":"./dist/durable/ThreadContextHistoryProjection.d.mts","default":"./dist/durable/ThreadContextHistoryProjection.mjs"},"./thread-history":{"types":"./dist/engine/ThreadHistory.d.mts","default":"./dist/engine/ThreadHistory.mjs"},"./thread-invariants":{"types":"./dist/durable/ThreadInvariants.d.mts","default":"./dist/durable/ThreadInvariants.mjs"},"./thread-projection":{"types":"./dist/durable/ThreadProjection.d.mts","default":"./dist/durable/ThreadProjection.mjs"},"./thread-projection-maintenance":{"types":"./dist/durable/ThreadProjectionMaintenance.d.mts","default":"./dist/durable/ThreadProjectionMaintenance.mjs"},"./thread-store":{"types":"./dist/durable/ThreadStore.d.mts","default":"./dist/durable/ThreadStore.mjs"},"./tool-broker":{"types":"./dist/engine/ToolBroker.d.mts","default":"./dist/engine/ToolBroker.mjs"},"./tool-discovery":{"types":"./dist/capabilities/ToolDiscovery.d.mts","default":"./dist/capabilities/ToolDiscovery.mjs"},"./tool-exposure":{"types":"./dist/ToolExposure.d.mts","default":"./dist/ToolExposure.mjs"},"./tool-reconciler":{"types":"./dist/durable/ToolReconciler.d.mts","default":"./dist/durable/ToolReconciler.mjs"},"./tool-result":{"types":"./dist/core/ToolResult.d.mts","default":"./dist/core/ToolResult.mjs"},"./usage":{"types":"./dist/core/Usage.d.mts","default":"./dist/core/Usage.mjs"},"./wake-scheduler":{"types":"./dist/durable/WakeScheduler.d.mts","default":"./dist/durable/WakeScheduler.mjs"},"./web-capture":{"types":"./dist/capabilities/WebCapture.d.mts","default":"./dist/capabilities/WebCapture.mjs"},"./web-search":{"types":"./dist/capabilities/WebSearch.d.mts","default":"./dist/capabilities/WebSearch.mjs"},"./worker":{"types":"./dist/core/Worker.d.mts","default":"./dist/core/Worker.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"}},"description":"Effect-native agents, execution, subagents, and sandbox contracts in one tree-shakeable package.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/danieljvdm/effect-agent.git","directory":"packages/effect-agent"},"files":["dist","src"],"type":"module","sideEffects":[],"publishConfig":{"access":"public"},"scripts":{"build":"vp pack","check":"tsc --noEmit -p tsconfig.json","test":"vp test --passWithNoTests"}}
|
|
@@ -2374,7 +2374,7 @@ export function layer<
|
|
|
2374
2374
|
return toolkit.toLayer(build);
|
|
2375
2375
|
}
|
|
2376
2376
|
|
|
2377
|
-
export {
|
|
2377
|
+
export { WorkerReport } from "./internal/subagent-reporting.ts";
|
|
2378
2378
|
|
|
2379
2379
|
export {
|
|
2380
2380
|
Worker,
|
|
@@ -2386,6 +2386,7 @@ export {
|
|
|
2386
2386
|
awaitWorker as await,
|
|
2387
2387
|
list,
|
|
2388
2388
|
cancel,
|
|
2389
|
+
stop,
|
|
2389
2390
|
type BackgroundOptions,
|
|
2390
2391
|
type BackgroundTools,
|
|
2391
2392
|
} from "./internal/subagent-background.ts";
|
|
@@ -22,6 +22,8 @@ import {
|
|
|
22
22
|
WorkerPage,
|
|
23
23
|
WorkerRef,
|
|
24
24
|
WorkerStarted,
|
|
25
|
+
WorkerStop,
|
|
26
|
+
WorkerStopped,
|
|
25
27
|
WorkerSummary,
|
|
26
28
|
} from "../../core/Worker.ts";
|
|
27
29
|
import {
|
|
@@ -221,10 +223,6 @@ const operations = <
|
|
|
221
223
|
parameters: Parameters["Type"],
|
|
222
224
|
caller: WorkerContext,
|
|
223
225
|
) {
|
|
224
|
-
const encodedParameters = yield* Schema.encodeEffect(declaration.parameters)(parameters).pipe(
|
|
225
|
-
Effect.mapError((cause) => projectionFailure("input", cause)),
|
|
226
|
-
);
|
|
227
|
-
|
|
228
226
|
const source = caller.source;
|
|
229
227
|
|
|
230
228
|
const preparation: SubagentPrepareContext =
|
|
@@ -247,7 +245,7 @@ const operations = <
|
|
|
247
245
|
Effect.mapError((cause) => projectionFailure("input", cause)),
|
|
248
246
|
);
|
|
249
247
|
|
|
250
|
-
return
|
|
248
|
+
return encodedInput;
|
|
251
249
|
});
|
|
252
250
|
|
|
253
251
|
const validateKey = (key: IdempotencyKey, operation: "start" | "followUp") =>
|
|
@@ -284,23 +282,8 @@ const operations = <
|
|
|
284
282
|
});
|
|
285
283
|
}
|
|
286
284
|
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
const effectiveTarget = yield* service.resolveTargetPolicy({
|
|
290
|
-
target: declaration.target,
|
|
291
|
-
encodedInput: prepared.encodedInput,
|
|
292
|
-
});
|
|
293
|
-
|
|
294
|
-
const resolvedTarget = Option.getOrUndefined(effectiveTarget);
|
|
295
|
-
|
|
296
|
-
const resolved = resolveSubagentPolicy(
|
|
297
|
-
declaration,
|
|
298
|
-
options.budgetScope === "worker-run"
|
|
299
|
-
? (resolvedTarget ?? declaration.target.policy)
|
|
300
|
-
: caller.policy,
|
|
301
|
-
undefined,
|
|
302
|
-
options.budgetScope === "worker-run" ? "root-attached" : "conserved",
|
|
303
|
-
resolvedTarget,
|
|
285
|
+
const encodedParameters = yield* Schema.encodeEffect(declaration.parameters)(parameters).pipe(
|
|
286
|
+
Effect.mapError((cause) => projectionFailure("input", cause)),
|
|
304
287
|
);
|
|
305
288
|
|
|
306
289
|
const encodedGrant = yield* Schema.encodeEffect(SubagentGrant)(grant).pipe(
|
|
@@ -308,26 +291,50 @@ const operations = <
|
|
|
308
291
|
);
|
|
309
292
|
|
|
310
293
|
const started = yield* service.start({
|
|
311
|
-
...prepared,
|
|
312
294
|
delegationId: declaration.delegationId,
|
|
313
295
|
target: declaration.target,
|
|
314
296
|
idempotencyKey: key,
|
|
315
|
-
|
|
297
|
+
encodedParameters,
|
|
316
298
|
encodedGrant,
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
299
|
+
...(options.budgetScope === undefined ? {} : { budgetScope: options.budgetScope }),
|
|
300
|
+
prepare: Effect.gen(function* () {
|
|
301
|
+
const encodedInput = yield* prepare(parameters, caller);
|
|
302
|
+
|
|
303
|
+
const effectiveTarget = yield* service.resolveTargetPolicy({
|
|
304
|
+
target: declaration.target,
|
|
305
|
+
encodedInput,
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
const resolvedTarget = Option.getOrUndefined(effectiveTarget);
|
|
309
|
+
|
|
310
|
+
const resolved = resolveSubagentPolicy(
|
|
311
|
+
declaration,
|
|
312
|
+
options.budgetScope === "worker-run"
|
|
313
|
+
? (resolvedTarget ?? declaration.target.policy)
|
|
314
|
+
: caller.policy,
|
|
315
|
+
undefined,
|
|
316
|
+
options.budgetScope === "worker-run" ? "root-attached" : "conserved",
|
|
317
|
+
resolvedTarget,
|
|
318
|
+
);
|
|
319
|
+
|
|
320
|
+
return {
|
|
321
|
+
encodedInput,
|
|
322
|
+
policy: resolved.childPolicy,
|
|
323
|
+
budget: SubagentBudgetReservation.make({
|
|
324
|
+
caps: resolved.caps,
|
|
325
|
+
allocation: resolved.allocation,
|
|
326
|
+
...(resolved.policy.descendantInvocations === undefined
|
|
327
|
+
? {}
|
|
328
|
+
: { descendantInvocations: resolved.policy.descendantInvocations }),
|
|
329
|
+
}),
|
|
330
|
+
toolCallAllowance: resolveToolCallAllowance(
|
|
331
|
+
declaration.toolCallAllowance,
|
|
332
|
+
parameters,
|
|
333
|
+
resolved.policy,
|
|
334
|
+
resolved.childPolicy,
|
|
335
|
+
),
|
|
336
|
+
};
|
|
324
337
|
}),
|
|
325
|
-
toolCallAllowance: resolveToolCallAllowance(
|
|
326
|
-
declaration.toolCallAllowance,
|
|
327
|
-
parameters,
|
|
328
|
-
resolved.policy,
|
|
329
|
-
resolved.childPolicy,
|
|
330
|
-
),
|
|
331
338
|
});
|
|
332
339
|
|
|
333
340
|
const validated = yield* Schema.decodeEffect(WorkerStarted)(started).pipe(
|
|
@@ -354,12 +361,18 @@ const operations = <
|
|
|
354
361
|
const validated = yield* validateWorker(worker, "followUp");
|
|
355
362
|
const caller = yield* context;
|
|
356
363
|
const key = yield* validateKey(options.idempotencyKey, "followUp");
|
|
357
|
-
|
|
364
|
+
|
|
365
|
+
const encodedParameters = yield* Schema.encodeEffect(declaration.parameters)(parameters).pipe(
|
|
366
|
+
Effect.mapError((cause) => projectionFailure("input", cause)),
|
|
367
|
+
);
|
|
368
|
+
|
|
369
|
+
const encodedInput = yield* prepare(parameters, caller);
|
|
358
370
|
|
|
359
371
|
const delivery = yield* validateDelivery(
|
|
360
372
|
validated,
|
|
361
373
|
yield* service.followUp({
|
|
362
|
-
|
|
374
|
+
encodedParameters,
|
|
375
|
+
encodedInput,
|
|
363
376
|
worker: validated,
|
|
364
377
|
target: declaration.target,
|
|
365
378
|
idempotencyKey: key,
|
|
@@ -738,6 +751,35 @@ export const observe = <const Name extends string>(
|
|
|
738
751
|
}),
|
|
739
752
|
);
|
|
740
753
|
|
|
754
|
+
/** Seal a continuing worker, retaining a stable command identity across retries and Runs. */
|
|
755
|
+
export const stop = <const Name extends string>(
|
|
756
|
+
declaration: WorkerDeclaration<Name> & { readonly target: AnyDefinition },
|
|
757
|
+
worker: Worker<Name>,
|
|
758
|
+
options: { readonly idempotencyKey: IdempotencyKey },
|
|
759
|
+
) =>
|
|
760
|
+
Effect.gen(function* () {
|
|
761
|
+
const service = yield* host;
|
|
762
|
+
|
|
763
|
+
const command = yield* Schema.decodeEffect(WorkerStop)({ worker, ...options }).pipe(
|
|
764
|
+
Effect.mapError((cause) => WorkerError.make({ operation: "stop", reason: "corrupt", cause })),
|
|
765
|
+
);
|
|
766
|
+
|
|
767
|
+
if (
|
|
768
|
+
worker.delegationId !== declaration.delegationId ||
|
|
769
|
+
worker.targetAgentId !== declaration.target.id
|
|
770
|
+
)
|
|
771
|
+
return yield* WorkerError.make({ operation: "stop", reason: "worker-mismatch" });
|
|
772
|
+
|
|
773
|
+
return yield* service.stop({ ...command, target: declaration.target }).pipe(
|
|
774
|
+
Effect.flatMap(Schema.decodeEffect(WorkerStopped)),
|
|
775
|
+
Effect.mapError((cause) =>
|
|
776
|
+
Schema.is(WorkerError)(cause)
|
|
777
|
+
? cause
|
|
778
|
+
: WorkerError.make({ operation: "stop", reason: "corrupt", cause }),
|
|
779
|
+
),
|
|
780
|
+
);
|
|
781
|
+
});
|
|
782
|
+
|
|
741
783
|
/** Wait for the exact Receipt. Interrupting this Effect never cancels accepted work. */
|
|
742
784
|
export const awaitWorker = <
|
|
743
785
|
const Name extends string,
|
|
@@ -787,8 +829,8 @@ export const cancel = <
|
|
|
787
829
|
|
|
788
830
|
/** Opt in to each model-facing operation. Waiting remains programmatic only. */
|
|
789
831
|
export interface BackgroundOptions {
|
|
790
|
-
/** Deliver
|
|
791
|
-
readonly reportToParent?: true
|
|
832
|
+
/** Deliver standard completion and progress messages to the parent. */
|
|
833
|
+
readonly reportToParent?: true;
|
|
792
834
|
readonly start?: true;
|
|
793
835
|
readonly followUp?: true;
|
|
794
836
|
readonly inspect?: true;
|
|
@@ -832,9 +874,8 @@ const WorkerParameters = <Name extends string>(declaration: WorkerDeclaration<Na
|
|
|
832
874
|
|
|
833
875
|
const Summary = <Name extends string>(declaration: WorkerDeclaration<Name>) =>
|
|
834
876
|
Schema.Struct({
|
|
877
|
+
...WorkerSummary.fields,
|
|
835
878
|
worker: Worker(declaration),
|
|
836
|
-
latestReceipt: Schema.NullOr(Receipt),
|
|
837
|
-
state: Schema.Literals(["starting", "active", "idle"]),
|
|
838
879
|
});
|
|
839
880
|
|
|
840
881
|
const FollowUpParameters = <Name extends string, Parameters extends Schema.Top>(
|
|
@@ -1021,14 +1062,7 @@ export const background = <
|
|
|
1021
1062
|
declaration: Declaration<Name, Input, Output, Parameters, Success, Failure, Prepare, Project>,
|
|
1022
1063
|
selected: Selected,
|
|
1023
1064
|
) => {
|
|
1024
|
-
const report =
|
|
1025
|
-
selected.reportToParent === true ? automaticReporting(declaration) : selected.reportToParent;
|
|
1026
|
-
|
|
1027
|
-
if (
|
|
1028
|
-
report !== undefined &&
|
|
1029
|
-
(report.delegationId !== declaration.delegationId || report.target !== declaration.target)
|
|
1030
|
-
)
|
|
1031
|
-
throw new TypeError("Background reporting must use the same subagent declaration and target");
|
|
1065
|
+
const report = selected.reportToParent === true ? automaticReporting(declaration) : undefined;
|
|
1032
1066
|
|
|
1033
1067
|
const reportService = Context.Service<WorkerReporting<WorkerReportPreparationFailure>>(
|
|
1034
1068
|
`@effect-agent/capabilities/BackgroundReport/${declaration.name}/${reportingServiceId++}`,
|
|
@@ -1131,11 +1165,6 @@ export const background = <
|
|
|
1131
1165
|
| Parameters["DecodingServices"]
|
|
1132
1166
|
| Output["DecodingServices"]
|
|
1133
1167
|
| Success["EncodingServices"];
|
|
1134
|
-
type ReportServices<Report> = Report extends true
|
|
1135
|
-
? Exclude<ProjectServices, Scope.Scope>
|
|
1136
|
-
: Report extends WorkerReporting<infer _E, infer R>
|
|
1137
|
-
? Exclude<R, Scope.Scope>
|
|
1138
|
-
: never;
|
|
1139
1168
|
type Services = PrepareServices | ProjectServices;
|
|
1140
1169
|
type SelectionServices<Flag, Requirements> = Flag extends true ? Requirements : never;
|
|
1141
1170
|
|
|
@@ -1211,7 +1240,7 @@ export const background = <
|
|
|
1211
1240
|
| SelectionServices<Selected["start"], PrepareServices>
|
|
1212
1241
|
| SelectionServices<Selected["followUp"], PrepareServices>
|
|
1213
1242
|
| SelectionServices<Selected["inspect"], ProjectServices>
|
|
1214
|
-
|
|
|
1243
|
+
| SelectionServices<Selected["reportToParent"], Exclude<ProjectServices, Scope.Scope>>;
|
|
1215
1244
|
|
|
1216
1245
|
// Unselected handlers are never installed. Only selected operations consume projection services.
|
|
1217
1246
|
const reportingLayer =
|
|
@@ -3,11 +3,7 @@ import { Effect, Schema } from "effect";
|
|
|
3
3
|
import { utf8ByteLength } from "../../core/internal/utf8.ts";
|
|
4
4
|
import { Receipt } from "../../core/Receipt.ts";
|
|
5
5
|
import { type WorkerReport, WorkerCompletion } from "../../core/Worker.ts";
|
|
6
|
-
import {
|
|
7
|
-
WorkerReportPreparationFailure,
|
|
8
|
-
type WorkerReporting,
|
|
9
|
-
type WorkerRunReport,
|
|
10
|
-
} from "../../engine/SubagentHost.ts";
|
|
6
|
+
import { WorkerReportPreparationFailure, type WorkerRunReport } from "../../engine/SubagentHost.ts";
|
|
11
7
|
import { type Declaration } from "./subagent-background.ts";
|
|
12
8
|
import { SubagentExecutionFailure } from "./subagent-contract.ts";
|
|
13
9
|
|
|
@@ -100,7 +96,7 @@ const projectReport = <
|
|
|
100
96
|
return { projected, encodedResult };
|
|
101
97
|
});
|
|
102
98
|
|
|
103
|
-
/**
|
|
99
|
+
/** Project a canonical child outcome into the bounded standard completion message. */
|
|
104
100
|
export const automaticReporting = <
|
|
105
101
|
const Name extends string,
|
|
106
102
|
Input extends Schema.Top,
|
|
@@ -115,7 +111,6 @@ export const automaticReporting = <
|
|
|
115
111
|
) => ({
|
|
116
112
|
delegationId: declaration.delegationId,
|
|
117
113
|
target: declaration.target,
|
|
118
|
-
mode: "standard" as const,
|
|
119
114
|
prepare: Effect.fn("Subagent.automaticReport")(function* (report: WorkerRunReport) {
|
|
120
115
|
const { projected, encodedResult } = yield* projectReport(declaration)(report);
|
|
121
116
|
|
|
@@ -136,126 +131,6 @@ export const automaticReporting = <
|
|
|
136
131
|
budgetExhausted: report.observation.budgetExhausted,
|
|
137
132
|
}).pipe(Effect.mapError(() => WorkerReportPreparationFailure.make({ stage: "projection" })));
|
|
138
133
|
|
|
139
|
-
return {
|
|
134
|
+
return { message };
|
|
140
135
|
}),
|
|
141
136
|
});
|
|
142
|
-
|
|
143
|
-
/**
|
|
144
|
-
* Define an optional application-specific conversion for `background({ reportToParent: report })`.
|
|
145
|
-
* Existing Agent Registration `reporting` arrays remain supported. The input Schema must be the coordinator Definition's exact input Schema.
|
|
146
|
-
* Preparation is bounded by the durable host; a retained prepared envelope is never reprojected
|
|
147
|
-
* during delivery retries. The callback should be deterministic and have no external side effects.
|
|
148
|
-
*/
|
|
149
|
-
export const reporting = <
|
|
150
|
-
const Name extends string,
|
|
151
|
-
Input extends Schema.Top,
|
|
152
|
-
Output extends Schema.Top,
|
|
153
|
-
Parameters extends Schema.Top,
|
|
154
|
-
Success extends Schema.Top,
|
|
155
|
-
Failure extends Schema.Top,
|
|
156
|
-
Prepare,
|
|
157
|
-
Project,
|
|
158
|
-
CoordinatorInput extends Schema.Top,
|
|
159
|
-
ReportFailure extends Schema.Top = typeof Schema.Never,
|
|
160
|
-
ReportRequirements = never,
|
|
161
|
-
>(
|
|
162
|
-
declaration: Declaration<Name, Input, Output, Parameters, Success, Failure, Prepare, Project>,
|
|
163
|
-
options: {
|
|
164
|
-
readonly input: CoordinatorInput;
|
|
165
|
-
readonly failure?: ReportFailure;
|
|
166
|
-
readonly prepare: (
|
|
167
|
-
report: WorkerReport<Success>,
|
|
168
|
-
) => Effect.Effect<CoordinatorInput["Type"], ReportFailure["Type"], ReportRequirements>;
|
|
169
|
-
},
|
|
170
|
-
): WorkerReporting<
|
|
171
|
-
Failure["Type"] | ReportFailure["Type"],
|
|
172
|
-
| Parameters["DecodingServices"]
|
|
173
|
-
| Output["DecodingServices"]
|
|
174
|
-
| Success["EncodingServices"]
|
|
175
|
-
| CoordinatorInput["EncodingServices"]
|
|
176
|
-
| Project
|
|
177
|
-
| ReportRequirements
|
|
178
|
-
> => {
|
|
179
|
-
const prepare = Effect.fn("Subagent.reporting.prepare")(function* (report: WorkerRunReport) {
|
|
180
|
-
const { projected } = yield* projectReport(declaration)(report);
|
|
181
|
-
const input = yield* options.prepare(projected);
|
|
182
|
-
|
|
183
|
-
const encoded = yield* Schema.encodeEffect(options.input)(input).pipe(
|
|
184
|
-
Effect.mapError(() => WorkerReportPreparationFailure.make({ stage: "input" })),
|
|
185
|
-
);
|
|
186
|
-
|
|
187
|
-
const encodedInput = yield* Schema.decodeUnknownEffect(Schema.Json)(encoded).pipe(
|
|
188
|
-
Effect.mapError(() => WorkerReportPreparationFailure.make({ stage: "input" })),
|
|
189
|
-
);
|
|
190
|
-
|
|
191
|
-
return { encodedInput };
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
return Object.freeze({
|
|
195
|
-
delegationId: declaration.delegationId,
|
|
196
|
-
target: declaration.target,
|
|
197
|
-
input: options.input,
|
|
198
|
-
prepare,
|
|
199
|
-
});
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
/**
|
|
203
|
-
* Adapt a report expressed in a receiving worker declaration's Parameters to its Agent input.
|
|
204
|
-
* Use this on that worker's registration when it can itself launch reporting workers. This
|
|
205
|
-
* explicit conversion preserves custom Parameters and charges the next input to its ancestor.
|
|
206
|
-
*/
|
|
207
|
-
export const reportingToWorker = <
|
|
208
|
-
E,
|
|
209
|
-
R,
|
|
210
|
-
const Name extends string,
|
|
211
|
-
Input extends Schema.Top,
|
|
212
|
-
Output extends Schema.Top,
|
|
213
|
-
Parameters extends Schema.Top,
|
|
214
|
-
Success extends Schema.Top,
|
|
215
|
-
Failure extends Schema.Top,
|
|
216
|
-
Prepare,
|
|
217
|
-
Project,
|
|
218
|
-
>(
|
|
219
|
-
report: WorkerReporting<E, R>,
|
|
220
|
-
destination: Declaration<Name, Input, Output, Parameters, Success, Failure, Prepare, Project>,
|
|
221
|
-
): WorkerReporting<
|
|
222
|
-
E | Failure["Type"],
|
|
223
|
-
R | Prepare | Parameters["DecodingServices"] | Input["EncodingServices"]
|
|
224
|
-
> => {
|
|
225
|
-
if (report.input !== destination.parameters) {
|
|
226
|
-
throw new TypeError(
|
|
227
|
-
"Worker reporting must use the destination declaration's Parameters Schema",
|
|
228
|
-
);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
return Object.freeze({
|
|
232
|
-
delegationId: report.delegationId,
|
|
233
|
-
target: report.target,
|
|
234
|
-
input: destination.target.input,
|
|
235
|
-
destination: { delegationId: destination.delegationId, target: destination.target },
|
|
236
|
-
prepare: Effect.fn("Subagent.reportingToWorker.prepare")(function* (run: WorkerRunReport) {
|
|
237
|
-
const encodedParameters = (yield* report.prepare(run)).encodedInput;
|
|
238
|
-
const invalid = () => WorkerReportPreparationFailure.make({ stage: "input" });
|
|
239
|
-
|
|
240
|
-
const parameters = yield* Schema.decodeEffect(destination.parameters)(encodedParameters).pipe(
|
|
241
|
-
Effect.mapError(invalid),
|
|
242
|
-
);
|
|
243
|
-
|
|
244
|
-
const input = yield* destination.prepareInput(parameters, {
|
|
245
|
-
source: "programmatic",
|
|
246
|
-
delegationId: destination.delegationId,
|
|
247
|
-
parent: { agentId: run.context.source.agentId, threadId: run.context.source.threadId },
|
|
248
|
-
});
|
|
249
|
-
|
|
250
|
-
const encoded = yield* Schema.encodeEffect(destination.target.input)(input).pipe(
|
|
251
|
-
Effect.mapError(invalid),
|
|
252
|
-
);
|
|
253
|
-
|
|
254
|
-
const encodedInput = yield* Schema.decodeUnknownEffect(Schema.Json)(encoded).pipe(
|
|
255
|
-
Effect.mapError(invalid),
|
|
256
|
-
);
|
|
257
|
-
|
|
258
|
-
return { encodedInput, encodedParameters };
|
|
259
|
-
}),
|
|
260
|
-
});
|
|
261
|
-
};
|
package/src/core/Agent.ts
CHANGED
|
@@ -63,9 +63,16 @@ export type NativeModel<ModelValue> =
|
|
|
63
63
|
|
|
64
64
|
/** Definition-owned boundary for selecting and validating an application run disposition. */
|
|
65
65
|
export interface RunDispositionDeclaration<Output, DispositionSchema extends Schema.Top> {
|
|
66
|
+
/**
|
|
67
|
+
* Opt background workers into one retained assignment. The encoded disposition must be
|
|
68
|
+
* Worker.AssignmentDisposition: completed seals the worker, waiting leaves it steerable.
|
|
69
|
+
* Failures and exhausted Runs seal as failed; aborting an active Run seals as cancelled.
|
|
70
|
+
* The worker origin retains this choice. Omission preserves reusable workers.
|
|
71
|
+
*/
|
|
72
|
+
readonly workerLifecycle?: "assignment" | undefined;
|
|
66
73
|
/** Canonical Schema used to validate and encode the selected disposition. */
|
|
67
74
|
readonly schema: DispositionSchema;
|
|
68
|
-
/** Pure selection from decoded output
|
|
75
|
+
/** Pure selection from decoded output. `undefined` declares none, except for assignments. */
|
|
69
76
|
readonly fromOutput: (output: Output) => unknown;
|
|
70
77
|
}
|
|
71
78
|
|
package/src/core/Worker.ts
CHANGED
|
@@ -5,9 +5,17 @@ import { Update } from "./AgentUpdates.ts";
|
|
|
5
5
|
import * as FailureDiagnostic from "./FailureDiagnostic.ts";
|
|
6
6
|
import { AgentId, DelegationId, RunId, SettlementId, ThreadId, ToolCallId } from "./Identifiers.ts";
|
|
7
7
|
import { MessageStatus } from "./internal/message-status.ts";
|
|
8
|
-
import { Receipt } from "./Receipt.ts";
|
|
8
|
+
import { IdempotencyKey, Receipt } from "./Receipt.ts";
|
|
9
9
|
import { SubagentExecutionFailure, SubagentGrant } from "./SubagentContract.ts";
|
|
10
10
|
|
|
11
|
+
/** Assignment output selected through the Definition's runDisposition declaration. */
|
|
12
|
+
export const AssignmentDisposition = Schema.Literals(["completed", "waiting"]);
|
|
13
|
+
export type AssignmentDisposition = typeof AssignmentDisposition.Type;
|
|
14
|
+
|
|
15
|
+
/** A permanent destination outcome; an ordinary Run completion does not imply this. */
|
|
16
|
+
export const AssignmentTerminal = Schema.Literals(["completed", "failed", "cancelled"]);
|
|
17
|
+
export type AssignmentTerminal = typeof AssignmentTerminal.Type;
|
|
18
|
+
|
|
11
19
|
/** A reusable child Thread, correlated with its declaration. This value grants no authority. */
|
|
12
20
|
export const WorkerRef = Schema.Struct({
|
|
13
21
|
schemaVersion: Schema.Literal(1),
|
|
@@ -31,6 +39,14 @@ export const WorkerStarted = Schema.Struct({
|
|
|
31
39
|
|
|
32
40
|
export type WorkerStarted = typeof WorkerStarted.Type;
|
|
33
41
|
|
|
42
|
+
/** Stable owner command. Reusing its key for a different worker conflicts. */
|
|
43
|
+
export const WorkerStop = Schema.Struct({ worker: WorkerRef, idempotencyKey: IdempotencyKey });
|
|
44
|
+
export type WorkerStop = typeof WorkerStop.Type;
|
|
45
|
+
|
|
46
|
+
/** The inbox is sealed and active execution has released ownership. External actions are not undone. */
|
|
47
|
+
export const WorkerStopped = WorkerStop;
|
|
48
|
+
export type WorkerStopped = typeof WorkerStopped.Type;
|
|
49
|
+
|
|
34
50
|
/** A host-authorized Run allowance is independent of the immutable delegation lineage. */
|
|
35
51
|
export const WorkerBudgetScope = Schema.Literals(["source-subtree", "worker-run"]);
|
|
36
52
|
export type WorkerBudgetScope = typeof WorkerBudgetScope.Type;
|
|
@@ -63,11 +79,50 @@ export const WorkerContext = Schema.Struct({
|
|
|
63
79
|
|
|
64
80
|
export type WorkerContext = typeof WorkerContext.Type;
|
|
65
81
|
|
|
82
|
+
/** Admission identity is distinct from canonical input application. */
|
|
83
|
+
export const WorkerInput = Schema.Struct({ receipt: Receipt, messageId: IdempotencyKey });
|
|
84
|
+
export type WorkerInput = typeof WorkerInput.Type;
|
|
85
|
+
|
|
86
|
+
export const WorkerAppliedInput = Schema.Struct({
|
|
87
|
+
...WorkerInput.fields,
|
|
88
|
+
runId: RunId,
|
|
89
|
+
sequence: Schema.Natural,
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
/** A Run outcome is not assignment completion. Interpret only a Definition's disposition. */
|
|
93
|
+
export const WorkerRun = Schema.Struct({
|
|
94
|
+
runId: RunId,
|
|
95
|
+
hostReceipt: Receipt,
|
|
96
|
+
outcome: Schema.NullOr(Schema.Literals(["completed", "failed", "aborted"])),
|
|
97
|
+
disposition: Schema.NullOr(Schema.Json),
|
|
98
|
+
});
|
|
99
|
+
|
|
66
100
|
/** Bounded durable listing data; a latest Receipt never substitutes for a requested Receipt. */
|
|
67
101
|
export const WorkerSummary = Schema.Struct({
|
|
68
102
|
worker: WorkerRef,
|
|
69
103
|
latestReceipt: Schema.NullOr(Receipt),
|
|
70
|
-
|
|
104
|
+
/** stopping/stopped identify an owner-issued worker stop, never an ordinary Receipt abort. */
|
|
105
|
+
state: Schema.Literals([
|
|
106
|
+
"starting",
|
|
107
|
+
"active",
|
|
108
|
+
"idle",
|
|
109
|
+
"stopping",
|
|
110
|
+
"stopped",
|
|
111
|
+
"completed",
|
|
112
|
+
"failed",
|
|
113
|
+
"cancelled",
|
|
114
|
+
]),
|
|
115
|
+
acceptedInput: Schema.NullOr(WorkerInput),
|
|
116
|
+
appliedInput: Schema.NullOr(WorkerAppliedInput),
|
|
117
|
+
run: Schema.NullOr(WorkerRun),
|
|
118
|
+
/** One retained unadmitted input, if any; its state is independent of destination execution. */
|
|
119
|
+
pendingDelivery: Schema.NullOr(MessageStatus),
|
|
120
|
+
/** Consistent destination facts; pending delivery has its own source-owned version. */
|
|
121
|
+
watermark: Schema.Struct({
|
|
122
|
+
canonicalSequence: Schema.Natural,
|
|
123
|
+
acceptedQueueSequence: Schema.Natural,
|
|
124
|
+
pendingDeliveryVersion: Schema.NullOr(Schema.Natural),
|
|
125
|
+
}),
|
|
71
126
|
});
|
|
72
127
|
|
|
73
128
|
export type WorkerSummary = typeof WorkerSummary.Type;
|
|
@@ -107,6 +162,7 @@ export class WorkerError extends Schema.TaggedError<WorkerError>()("WorkerError"
|
|
|
107
162
|
"await",
|
|
108
163
|
"list",
|
|
109
164
|
"cancel",
|
|
165
|
+
"stop",
|
|
110
166
|
]),
|
|
111
167
|
reason: Schema.Literals([
|
|
112
168
|
"denied",
|
|
@@ -6965,6 +6965,8 @@ const make = Effect.fn("DurableAgentRuntime.make")(function* (
|
|
|
6965
6965
|
history: pending === undefined ? journal.historyBefore : resumeProjection.historyBefore,
|
|
6966
6966
|
onHistory,
|
|
6967
6967
|
input,
|
|
6968
|
+
// Worker corrections drain together at safe seams, bounded by MAX_JOIN_DRAIN.
|
|
6969
|
+
commandDrainPolicy: submission.workerAdmission === undefined ? "one" : "all",
|
|
6968
6970
|
...(journal.committedTurns > 0 || Schema.is(FrameworkMessage)(submission.messageAdmission)
|
|
6969
6971
|
? { retainedInput: submission.inputPayload }
|
|
6970
6972
|
: {}),
|
|
@@ -57,6 +57,10 @@ export const DurableRuntimeFailpointLocation = Schema.Literals([
|
|
|
57
57
|
"subagent:after-join-append",
|
|
58
58
|
"subagent:after-release-pending",
|
|
59
59
|
"subagent:after-release",
|
|
60
|
+
"worker:before-stop-append",
|
|
61
|
+
"worker:after-stop-append",
|
|
62
|
+
"worker:before-stop-seal",
|
|
63
|
+
"worker:after-stop-seal",
|
|
60
64
|
"worker:before-source-append",
|
|
61
65
|
"worker:after-source-append",
|
|
62
66
|
"worker:before-origin-append",
|