@yielded/agent 0.1.0-beta.182 → 0.1.0-beta.183
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-C4mPa0M2.d.mts → Admin-BgCHCGSl.d.mts} +5 -5
- package/dist/{AgentRuntime-CVsnQBPe.d.mts → AgentRuntime-DhRchFzv.d.mts} +4 -1
- package/dist/{AgentRuntime-1OjlOCa9.mjs → AgentRuntime-ILtyHuQG.mjs} +52 -40
- package/dist/AgentRuntime-ILtyHuQG.mjs.map +1 -0
- package/dist/{Digest-DjUgS5PG.d.mts → Digest-1iVcDLVm.d.mts} +2 -2
- package/dist/{Digest-ft4ku9pj.mjs → Digest-CzLJcsWv.mjs} +2 -2
- package/dist/{Digest-ft4ku9pj.mjs.map → Digest-CzLJcsWv.mjs.map} +1 -1
- package/dist/{DurableAgentRuntime-D2I_T2Yt.mjs → DurableAgentRuntime-Cj263rW9.mjs} +20 -55
- package/dist/DurableAgentRuntime-Cj263rW9.mjs.map +1 -0
- package/dist/{EventSource-gc82d-f6.d.mts → EventSource-CaA6RAtC.d.mts} +3 -3
- package/dist/{MessageDelivery-DrQKvh93.d.mts → MessageDelivery-rlLpakO8.d.mts} +43 -43
- package/dist/{PreparedInputAdmission-CrqdFUd8.d.mts → PreparedInputAdmission-DjbWz2lW.d.mts} +4 -4
- package/dist/{RecordFormat-BNiLpe43.d.mts → RecordFormat-CjMl0uu8.d.mts} +2 -2
- package/dist/{Records-BTnGRdcf.d.mts → Records-BP67Yz6n.d.mts} +20 -8
- package/dist/{Records-CZRedCE7.mjs → Records-bbGVHprv.mjs} +14 -10
- package/dist/Records-bbGVHprv.mjs.map +1 -0
- package/dist/{RunContinuation-DMbA81sZ.d.mts → RunContinuation-CIJRN_vC.d.mts} +4 -4
- package/dist/{RunContinuation-DWiO2K9D.mjs → RunContinuation-DJ6kkbQG.mjs} +17 -58
- package/dist/RunContinuation-DJ6kkbQG.mjs.map +1 -0
- package/dist/{RunJournal-oJLo-pjS.mjs → RunJournal-DQr2dUgg.mjs} +4 -7
- package/dist/RunJournal-DQr2dUgg.mjs.map +1 -0
- package/dist/{RunStorage-DlfvMfHM.mjs → RunStorage-DblN-cmM.mjs} +2 -2
- package/dist/{RunStorage-DlfvMfHM.mjs.map → RunStorage-DblN-cmM.mjs.map} +1 -1
- package/dist/{Schedule-CDgTz0vj.d.mts → Schedule-CVLtl5rP.d.mts} +2 -2
- package/dist/{Scheduling-BebkRVc2.mjs → Scheduling-B6l0lWdr.mjs} +3 -3
- package/dist/{Scheduling-BebkRVc2.mjs.map → Scheduling-B6l0lWdr.mjs.map} +1 -1
- package/dist/{Subagent-BRiDyUS4.mjs → Subagent-Bm842K7J.mjs} +43 -17
- package/dist/Subagent-Bm842K7J.mjs.map +1 -0
- package/dist/{Subagent-FypBXZP1.d.mts → Subagent-CWWmA1UQ.d.mts} +15 -3
- package/dist/{Subscription-Bx0LiX3x.d.mts → Subscription-BRsNy0TA.d.mts} +4 -4
- package/dist/{SubscriptionInput-CBFCfuOF.d.mts → SubscriptionInput-ClCaW_kX.d.mts} +3 -3
- package/dist/{ThreadImport-DlCLjRHK.mjs → ThreadImport-CkPAxXU5.mjs} +7 -7
- package/dist/{ThreadImport-DlCLjRHK.mjs.map → ThreadImport-CkPAxXU5.mjs.map} +1 -1
- package/dist/{ThreadImport-DTV_ario.d.mts → ThreadImport-DtRNoHIr.d.mts} +5 -5
- package/dist/{ThreadStore-D2rqtt7k.mjs → ThreadStore-C_ofHc7h.mjs} +4 -4
- package/dist/{ThreadStore-D2rqtt7k.mjs.map → ThreadStore-C_ofHc7h.mjs.map} +1 -1
- package/dist/{ThreadTransfer-BFolkpEp.mjs → ThreadTransfer-C_TRuo_9.mjs} +4 -4
- package/dist/{ThreadTransfer-BFolkpEp.mjs.map → ThreadTransfer-C_TRuo_9.mjs.map} +1 -1
- package/dist/{WorkerAdmission-Cxg_REhE.mjs → WorkerAdmission-9Ka3edXj.mjs} +5 -5
- package/dist/{WorkerAdmission-Cxg_REhE.mjs.map → WorkerAdmission-9Ka3edXj.mjs.map} +1 -1
- package/dist/{agent-registration-C6tkQz8r.mjs → agent-registration-7kp1dHT0.mjs} +4 -4
- package/dist/{agent-registration-C6tkQz8r.mjs.map → agent-registration-7kp1dHT0.mjs.map} +1 -1
- package/dist/capabilities/Subagent.d.mts +1 -1
- package/dist/capabilities/Subagent.mjs +1 -1
- package/dist/capabilities/SubagentReservations.d.mts +4 -1
- package/dist/capabilities/SubagentReservations.mjs +4 -1
- package/dist/capabilities/SubagentReservations.mjs.map +1 -1
- package/dist/durable/ActivityStore.d.mts +1 -1
- package/dist/durable/ActivityStore.mjs +1 -1
- package/dist/durable/Admin.d.mts +1 -1
- package/dist/durable/Admin.mjs +1 -1
- package/dist/durable/AgentRegistration.d.mts +1 -1
- package/dist/durable/AgentRegistration.mjs +1 -1
- package/dist/durable/Certification.d.mts +1 -1
- package/dist/durable/CommittedActivity.d.mts +3 -3
- package/dist/durable/CommittedActivity.mjs +3 -3
- package/dist/durable/Digest.d.mts +1 -1
- package/dist/durable/Digest.mjs +1 -1
- package/dist/durable/DurableAgentRuntime.d.mts +1 -1
- package/dist/durable/DurableAgentRuntime.mjs +2 -2
- package/dist/durable/EventSource.d.mts +1 -1
- package/dist/durable/EventSource.mjs +1 -1
- package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
- package/dist/durable/LifecyclePublication.d.mts +1 -1
- package/dist/durable/LifecyclePublication.mjs +2 -2
- package/dist/durable/MessageDelivery.d.mts +1 -1
- package/dist/durable/MessageDelivery.mjs +2 -2
- package/dist/durable/MessageDeliveryStoreConformance.d.mts +4 -4
- package/dist/durable/MessageDeliveryStoreConformance.mjs +2 -2
- package/dist/durable/PersistentHistory.d.mts +1 -1
- package/dist/durable/PersistentHistory.mjs +4 -4
- package/dist/durable/PreparedInputAdmission.d.mts +1 -1
- package/dist/durable/RecordFormat.d.mts +1 -1
- package/dist/durable/RecordFormat.mjs +1 -1
- package/dist/durable/Records.d.mts +1 -1
- package/dist/durable/Records.mjs +1 -1
- package/dist/durable/Recovery.d.mts +1 -1
- package/dist/durable/Recovery.mjs +1 -1
- package/dist/durable/RunContinuation.d.mts +3 -3
- package/dist/durable/RunContinuation.mjs +3 -3
- package/dist/durable/RunJournal.d.mts +1 -1
- package/dist/durable/RunJournal.mjs +1 -1
- package/dist/durable/RunStorage.d.mts +1 -1
- package/dist/durable/RunStorage.mjs +1 -1
- package/dist/durable/Schedule.d.mts +1 -1
- package/dist/durable/Schedule.mjs +1 -1
- package/dist/durable/ScheduleStoreConformance.d.mts +1 -1
- package/dist/durable/ScheduleStoreConformance.mjs +1 -1
- package/dist/durable/ScheduleTransition.d.mts +1 -1
- package/dist/durable/ScheduleTransition.mjs +1 -1
- package/dist/durable/Scheduling.d.mts +3 -3
- package/dist/durable/Scheduling.mjs +1 -1
- package/dist/durable/SettlementPublisher.d.mts +1 -1
- package/dist/durable/SettlementPublisher.mjs +3 -3
- package/dist/durable/SubmissionLedger.d.mts +1 -1
- package/dist/durable/SubmissionLedger.mjs +2 -2
- package/dist/durable/SubmissionLedgerConformance.d.mts +2 -2
- package/dist/durable/SubmissionLedgerConformance.mjs +5 -5
- 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 +2 -2
- package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
- package/dist/durable/SubscriptionStoreConformance.mjs +1 -1
- package/dist/durable/SubscriptionTools.d.mts +4 -4
- package/dist/durable/SubscriptionTransition.d.mts +1 -1
- package/dist/durable/SubscriptionTransition.mjs +1 -1
- package/dist/durable/Subscriptions.d.mts +6 -6
- package/dist/durable/Subscriptions.mjs +2 -2
- package/dist/durable/ThreadArchiveRange.d.mts +1 -1
- package/dist/durable/ThreadArchiveRange.mjs +1 -1
- package/dist/durable/ThreadContextHistory.d.mts +1 -1
- package/dist/durable/ThreadContextHistory.mjs +2 -2
- package/dist/durable/ThreadContextHistoryProjection.d.mts +1 -1
- package/dist/durable/ThreadContextHistoryProjection.mjs +1 -1
- package/dist/durable/ThreadImport.d.mts +1 -1
- package/dist/durable/ThreadImport.mjs +1 -1
- package/dist/durable/ThreadInvariants.d.mts +3 -3
- package/dist/durable/ThreadInvariants.mjs +4 -4
- package/dist/durable/ThreadProjection.d.mts +1 -1
- package/dist/durable/ThreadProjection.mjs +1 -1
- package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
- package/dist/durable/ThreadReader.d.mts +1 -1
- package/dist/durable/ThreadReader.mjs +1 -1
- package/dist/durable/ThreadStore.d.mts +2 -2
- package/dist/durable/ThreadStore.mjs +2 -2
- package/dist/durable/ThreadStoreConformance.d.mts +2 -2
- package/dist/durable/ThreadStoreConformance.mjs +4 -4
- package/dist/durable/ThreadTransfer.d.mts +2 -2
- package/dist/durable/ThreadTransfer.mjs +1 -1
- package/dist/durable/ThreadWork.d.mts +1 -1
- package/dist/durable/ThreadWork.mjs +5 -5
- package/dist/durable/ToolReconciler.mjs +1 -1
- package/dist/durable/WorkerAdmission.d.mts +2 -2
- package/dist/durable/WorkerAdmission.mjs +1 -1
- package/dist/durable/WorkerHost.d.mts +2 -2
- package/dist/engine/AgentRuntime.d.mts +1 -1
- package/dist/engine/AgentRuntime.mjs +1 -1
- package/dist/index.d.mts +14 -14
- package/dist/index.mjs +12 -12
- package/dist/{run-context-reader-CIdG5tdJ.d.mts → run-context-reader-DEU4REfD.d.mts} +3 -3
- package/package.json +1 -1
- package/src/capabilities/Subagent.ts +83 -28
- package/src/capabilities/SubagentReservations.ts +4 -1
- package/src/capabilities/internal/subagent-contract.ts +23 -3
- package/src/durable/DurableAgentRuntime.ts +24 -10
- package/src/durable/Records.ts +21 -15
- package/src/durable/RunContinuation.ts +54 -125
- package/src/durable/RunJournal.ts +4 -12
- package/src/durable/internal/history-prompt.ts +10 -4
- package/src/durable/internal/initial-context.ts +1 -1
- package/src/durable/internal/prompt-history-cache.ts +8 -63
- package/src/engine/internal/agent-runtime.ts +379 -381
- package/dist/AgentRuntime-1OjlOCa9.mjs.map +0 -1
- package/dist/DurableAgentRuntime-D2I_T2Yt.mjs.map +0 -1
- package/dist/Records-CZRedCE7.mjs.map +0 -1
- package/dist/RunContinuation-DWiO2K9D.mjs.map +0 -1
- package/dist/RunJournal-oJLo-pjS.mjs.map +0 -1
- package/dist/Subagent-BRiDyUS4.mjs.map +0 -1
- package/dist/json-BlJVQZxN.mjs +0 -15
- package/dist/json-BlJVQZxN.mjs.map +0 -1
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@yielded/agent","version":"0.1.0-beta.182","devDependencies":{"@effect/platform-node":"4.0.4","@effect/vitest":"4.0.4","effect":"4.0.4","typescript":"7.0.2","vite":"npm:@voidzero-dev/vite-plus-core@1.1.0","vite-plus":"1.1.0","vitest":"5.0.3"},"peerDependencies":{"effect":"^4.0.3"},"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"},"./browser-use":{"types":"./dist/capabilities/BrowserUse.d.mts","default":"./dist/capabilities/BrowserUse.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"},"./provisional-text":{"types":"./dist/core/ProvisionalText.d.mts","default":"./dist/core/ProvisionalText.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-continuation":{"types":"./dist/durable/RunContinuation.d.mts","default":"./dist/durable/RunContinuation.mjs"},"./thread-work":{"types":"./dist/durable/ThreadWork.d.mts","default":"./dist/durable/ThreadWork.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"},"./run-storage":{"types":"./dist/durable/RunStorage.d.mts","default":"./dist/durable/RunStorage.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"},"./settlement-publisher":{"types":"./dist/durable/SettlementPublisher.d.mts","default":"./dist/durable/SettlementPublisher.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-storage-owner":{"types":"./dist/durable/SqlStorageOwner.d.mts","default":"./dist/durable/SqlStorageOwner.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-reader":{"types":"./dist/durable/ThreadReader.d.mts","default":"./dist/durable/ThreadReader.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-admission":{"types":"./dist/durable/WorkerAdmission.d.mts","default":"./dist/durable/WorkerAdmission.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"},"./lifecycle-publication":{"types":"./dist/durable/LifecyclePublication.d.mts","default":"./dist/durable/LifecyclePublication.mjs"},"./record-format":{"types":"./dist/durable/RecordFormat.d.mts","default":"./dist/durable/RecordFormat.mjs"},"./thread-import":{"types":"./dist/durable/ThreadImport.d.mts","default":"./dist/durable/ThreadImport.mjs"},"./thread-archive-range":{"types":"./dist/durable/ThreadArchiveRange.d.mts","default":"./dist/durable/ThreadArchiveRange.mjs"},"./thread-transfer":{"types":"./dist/durable/ThreadTransfer.d.mts","default":"./dist/durable/ThreadTransfer.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/yielded-dev/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":"@yielded/agent","version":"0.1.0-beta.183","devDependencies":{"@effect/platform-node":"4.0.4","@effect/vitest":"4.0.4","effect":"4.0.4","typescript":"7.0.2","vite":"npm:@voidzero-dev/vite-plus-core@1.1.0","vite-plus":"1.1.0","vitest":"5.0.3"},"peerDependencies":{"effect":"^4.0.3"},"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"},"./browser-use":{"types":"./dist/capabilities/BrowserUse.d.mts","default":"./dist/capabilities/BrowserUse.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"},"./provisional-text":{"types":"./dist/core/ProvisionalText.d.mts","default":"./dist/core/ProvisionalText.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-continuation":{"types":"./dist/durable/RunContinuation.d.mts","default":"./dist/durable/RunContinuation.mjs"},"./thread-work":{"types":"./dist/durable/ThreadWork.d.mts","default":"./dist/durable/ThreadWork.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"},"./run-storage":{"types":"./dist/durable/RunStorage.d.mts","default":"./dist/durable/RunStorage.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"},"./settlement-publisher":{"types":"./dist/durable/SettlementPublisher.d.mts","default":"./dist/durable/SettlementPublisher.mjs"},"./sql-memory-store":{"types":"./dist/durable/SqlMemoryStore.d.mts","default":"./dist/durable/SqlMemoryStore.mjs"},"./sql-storage-owner":{"types":"./dist/durable/SqlStorageOwner.d.mts","default":"./dist/durable/SqlStorageOwner.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-reader":{"types":"./dist/durable/ThreadReader.d.mts","default":"./dist/durable/ThreadReader.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-admission":{"types":"./dist/durable/WorkerAdmission.d.mts","default":"./dist/durable/WorkerAdmission.mjs"},"./worker-host":{"types":"./dist/durable/WorkerHost.d.mts","default":"./dist/durable/WorkerHost.mjs"},"./lifecycle-publication":{"types":"./dist/durable/LifecyclePublication.d.mts","default":"./dist/durable/LifecyclePublication.mjs"},"./record-format":{"types":"./dist/durable/RecordFormat.d.mts","default":"./dist/durable/RecordFormat.mjs"},"./thread-import":{"types":"./dist/durable/ThreadImport.d.mts","default":"./dist/durable/ThreadImport.mjs"},"./thread-archive-range":{"types":"./dist/durable/ThreadArchiveRange.d.mts","default":"./dist/durable/ThreadArchiveRange.mjs"},"./thread-transfer":{"types":"./dist/durable/ThreadTransfer.d.mts","default":"./dist/durable/ThreadTransfer.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/yielded-dev/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,4 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
Cause,
|
|
3
|
+
Clock,
|
|
4
|
+
DateTime,
|
|
5
|
+
Duration,
|
|
6
|
+
Effect,
|
|
7
|
+
Exit,
|
|
8
|
+
Layer,
|
|
9
|
+
Option,
|
|
10
|
+
Ref,
|
|
11
|
+
Schema,
|
|
12
|
+
Scope,
|
|
13
|
+
} from "effect";
|
|
2
14
|
import { Tool, Toolkit } from "effect/ai";
|
|
3
15
|
|
|
4
16
|
import {
|
|
@@ -8,6 +20,7 @@ import {
|
|
|
8
20
|
type ModelServices,
|
|
9
21
|
type RunDispositionDeclaration,
|
|
10
22
|
} from "../core/Agent.ts";
|
|
23
|
+
import { AgentPolicyError } from "../core/AgentError.ts";
|
|
11
24
|
import type { AgentPolicy } from "../core/AgentPolicy.ts";
|
|
12
25
|
import { type AgentId, DelegationId, ToolCallId } from "../core/Identifiers.ts";
|
|
13
26
|
import { IdGenerator } from "../core/IdGenerator.ts";
|
|
@@ -1018,6 +1031,9 @@ const boundedEventText = (text: string): string =>
|
|
|
1018
1031
|
const ErrorMessage = Schema.Struct({ message: Schema.String });
|
|
1019
1032
|
const ErrorTag = Schema.Struct({ _tag: Schema.NonEmptyString });
|
|
1020
1033
|
|
|
1034
|
+
const isDurationPolicyError = (error: unknown): boolean =>
|
|
1035
|
+
Schema.is(AgentPolicyError)(error) && error.limit === "duration";
|
|
1036
|
+
|
|
1021
1037
|
const errorMessageOf = (error: unknown): string =>
|
|
1022
1038
|
Option.match(Schema.decodeUnknownOption(ErrorMessage)(error), {
|
|
1023
1039
|
onNone: () => String(error),
|
|
@@ -1794,8 +1810,40 @@ export function layer<
|
|
|
1794
1810
|
|
|
1795
1811
|
const toolCallAllowance = childToolCallAllowance(parameters, policy, childPolicy);
|
|
1796
1812
|
|
|
1813
|
+
// Preparation and waiting for a concurrency permit spend the parent's time too.
|
|
1814
|
+
// Keep the reservation unchanged; settlement refunds unused execution duration.
|
|
1815
|
+
const childStartedAt = yield* Clock.currentTimeMillis;
|
|
1816
|
+
|
|
1817
|
+
const durationMillis = Math.max(
|
|
1818
|
+
0,
|
|
1819
|
+
Math.min(
|
|
1820
|
+
allocation.durationMillis,
|
|
1821
|
+
Math.floor(
|
|
1822
|
+
DateTime.toEpochMillis(spawner.durationDeadline) -
|
|
1823
|
+
childStartedAt -
|
|
1824
|
+
Duration.toMillis(policy.parentReserveDuration ?? Duration.zero),
|
|
1825
|
+
),
|
|
1826
|
+
),
|
|
1827
|
+
);
|
|
1828
|
+
|
|
1829
|
+
if (durationMillis === 0) {
|
|
1830
|
+
return yield* SubagentBudgetExhausted.make({
|
|
1831
|
+
parentRunId,
|
|
1832
|
+
dimension: "duration",
|
|
1833
|
+
limitValue: 0,
|
|
1834
|
+
observedValue: 0,
|
|
1835
|
+
});
|
|
1836
|
+
}
|
|
1837
|
+
|
|
1838
|
+
const durationDeadlineMillis = childStartedAt + durationMillis;
|
|
1839
|
+
const durationDeadline = DateTime.makeUnsafe(durationDeadlineMillis);
|
|
1840
|
+
|
|
1797
1841
|
const childOptions: SpawnRunOptions<never, HookRequirements> = {
|
|
1798
1842
|
...seededChild,
|
|
1843
|
+
durationDeadline:
|
|
1844
|
+
seededChild?.durationDeadline === undefined
|
|
1845
|
+
? durationDeadline
|
|
1846
|
+
: DateTime.min(durationDeadline, seededChild.durationDeadline),
|
|
1799
1847
|
subagentGrant: grant,
|
|
1800
1848
|
delegationDepth: depth,
|
|
1801
1849
|
subagentBudget: SubagentBudgetReservation.make({
|
|
@@ -1809,7 +1857,7 @@ export function layer<
|
|
|
1809
1857
|
...(toolCallAllowance === undefined ? {} : { toolCallAllowance }),
|
|
1810
1858
|
};
|
|
1811
1859
|
|
|
1812
|
-
yield* Ref.set(startedAt,
|
|
1860
|
+
yield* Ref.set(startedAt, childStartedAt);
|
|
1813
1861
|
|
|
1814
1862
|
const childScope = yield* Scope.make();
|
|
1815
1863
|
|
|
@@ -1859,31 +1907,38 @@ export function layer<
|
|
|
1859
1907
|
const joined = Effect.gen(function* () {
|
|
1860
1908
|
const result = yield* child.await.pipe(
|
|
1861
1909
|
Effect.catch((childFailure) =>
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1910
|
+
Effect.gen(function* () {
|
|
1911
|
+
// The child's own deadline and this handler's timeout can win in either
|
|
1912
|
+
// order. Both must deliver the same typed delegation duration failure.
|
|
1913
|
+
if (
|
|
1914
|
+
isDurationPolicyError(childFailure) &&
|
|
1915
|
+
(yield* Clock.currentTimeMillis) >= durationDeadlineMillis
|
|
1916
|
+
)
|
|
1917
|
+
return undefined;
|
|
1918
|
+
|
|
1919
|
+
const report = yield* child.usageReport;
|
|
1920
|
+
|
|
1921
|
+
yield* emit({
|
|
1922
|
+
_tag: "SubagentFailed",
|
|
1923
|
+
...payload,
|
|
1924
|
+
...report,
|
|
1925
|
+
errorTag: errorTagOf(childFailure),
|
|
1926
|
+
message: boundedEventText(errorMessageOf(childFailure)),
|
|
1927
|
+
});
|
|
1928
|
+
|
|
1929
|
+
return yield* Effect.fail(
|
|
1930
|
+
options.mapChildFailure === undefined
|
|
1931
|
+
? executionFailure(
|
|
1932
|
+
"child-failed",
|
|
1933
|
+
errorTagOf(childFailure),
|
|
1934
|
+
"The child Run failed",
|
|
1935
|
+
)
|
|
1936
|
+
: options.mapChildFailure(childFailure),
|
|
1937
|
+
);
|
|
1938
|
+
}),
|
|
1884
1939
|
),
|
|
1885
1940
|
Effect.timeoutOrElse({
|
|
1886
|
-
duration:
|
|
1941
|
+
duration: Math.max(0, durationDeadlineMillis - (yield* Clock.currentTimeMillis)),
|
|
1887
1942
|
orElse: () => Effect.succeed(undefined),
|
|
1888
1943
|
}),
|
|
1889
1944
|
Effect.tapCause((cause) =>
|
|
@@ -1915,14 +1970,14 @@ export function layer<
|
|
|
1915
1970
|
...payload,
|
|
1916
1971
|
...report,
|
|
1917
1972
|
errorTag: "SubagentBudgetExhausted",
|
|
1918
|
-
message: `Attached child exceeded its ${
|
|
1973
|
+
message: `Attached child exceeded its ${durationMillis}ms delegation duration budget`,
|
|
1919
1974
|
});
|
|
1920
1975
|
|
|
1921
1976
|
return yield* SubagentBudgetExhausted.make({
|
|
1922
1977
|
parentRunId,
|
|
1923
1978
|
dimension: "duration",
|
|
1924
|
-
limitValue:
|
|
1925
|
-
observedValue:
|
|
1979
|
+
limitValue: durationMillis,
|
|
1980
|
+
observedValue: durationMillis,
|
|
1926
1981
|
});
|
|
1927
1982
|
}
|
|
1928
1983
|
const report = yield* child.usageReport;
|
|
@@ -120,7 +120,10 @@ export class SubagentParentBudgetView extends Schema.Class<SubagentParentBudgetV
|
|
|
120
120
|
reservations: Schema.Array(SubagentReservationView),
|
|
121
121
|
}) {}
|
|
122
122
|
|
|
123
|
-
/**
|
|
123
|
+
/**
|
|
124
|
+
* Delegation admission or execution exhausted a bound. A child refused at the
|
|
125
|
+
* in-process parent's reserved finish window reports zero duration limit and usage.
|
|
126
|
+
*/
|
|
124
127
|
export class SubagentBudgetExhausted extends Schema.TaggedError<SubagentBudgetExhausted>()(
|
|
125
128
|
"SubagentBudgetExhausted",
|
|
126
129
|
{
|
|
@@ -15,6 +15,14 @@ const FinitePositiveDuration = Schema.Duration.pipe(
|
|
|
15
15
|
),
|
|
16
16
|
);
|
|
17
17
|
|
|
18
|
+
const FiniteNonNegativeDuration = Schema.Duration.pipe(
|
|
19
|
+
Schema.refine(
|
|
20
|
+
(duration): duration is Duration.Duration =>
|
|
21
|
+
Duration.isFinite(duration) && !Duration.isNegative(duration),
|
|
22
|
+
{ expected: "a finite nonnegative duration" },
|
|
23
|
+
),
|
|
24
|
+
);
|
|
25
|
+
|
|
18
26
|
const SubagentPolicyFields = Schema.Struct({
|
|
19
27
|
/** Total invocation slots, including reserved descendants, available through this delegation budget. */
|
|
20
28
|
maxChildren: PositiveInt,
|
|
@@ -28,6 +36,11 @@ const SubagentPolicyFields = Schema.Struct({
|
|
|
28
36
|
maxToolCalls: PositiveInt,
|
|
29
37
|
/** Wall-clock duration reserved for each child invocation. */
|
|
30
38
|
maxDuration: FinitePositiveDuration,
|
|
39
|
+
/**
|
|
40
|
+
* Time held back before the in-process parent's deadline; omitted reserves zero.
|
|
41
|
+
* Does not apply to durable attached children or background workers.
|
|
42
|
+
*/
|
|
43
|
+
parentReserveDuration: Schema.optionalKey(FiniteNonNegativeDuration),
|
|
31
44
|
maxInputTokens: Schema.optionalKey(PositiveInt),
|
|
32
45
|
maxOutputTokens: Schema.optionalKey(PositiveInt),
|
|
33
46
|
maxCostMicrousd: Schema.optionalKey(Natural),
|
|
@@ -38,9 +51,11 @@ type SubagentPolicyFields = typeof SubagentPolicyFields.Type;
|
|
|
38
51
|
|
|
39
52
|
/** Inputs normalized and validated by `SubagentPolicy.make`. */
|
|
40
53
|
export type SubagentPolicyInput = Readonly<
|
|
41
|
-
Omit<SubagentPolicyFields, "maxDuration"> & {
|
|
54
|
+
Omit<SubagentPolicyFields, "maxDuration" | "parentReserveDuration"> & {
|
|
42
55
|
/** Finite, positive wall-clock duration accepted in any Effect Duration input form. */
|
|
43
56
|
readonly maxDuration: Duration.Input;
|
|
57
|
+
/** Finite, nonnegative time reserved for the in-process parent to finish. */
|
|
58
|
+
readonly parentReserveDuration?: Duration.Input;
|
|
44
59
|
}
|
|
45
60
|
>;
|
|
46
61
|
|
|
@@ -55,9 +70,14 @@ export class SubagentPolicy extends Schema.Class<SubagentPolicy>(
|
|
|
55
70
|
)(SubagentPolicyFields) {
|
|
56
71
|
/** Normalize and validate finite delegation bounds, throwing on invalid input. */
|
|
57
72
|
static override make(input: SubagentPolicyInput): SubagentPolicy {
|
|
73
|
+
const { maxDuration, parentReserveDuration, ...bounds } = input;
|
|
74
|
+
|
|
58
75
|
return super.make({
|
|
59
|
-
...
|
|
60
|
-
maxDuration: Duration.fromInputUnsafe(
|
|
76
|
+
...bounds,
|
|
77
|
+
maxDuration: Duration.fromInputUnsafe(maxDuration),
|
|
78
|
+
...(parentReserveDuration === undefined
|
|
79
|
+
? {}
|
|
80
|
+
: { parentReserveDuration: Duration.fromInputUnsafe(parentReserveDuration) }),
|
|
61
81
|
});
|
|
62
82
|
}
|
|
63
83
|
}
|
|
@@ -6221,17 +6221,31 @@ const make = Effect.fnUntraced(function* (bindings: ReadonlyArray<ResolvedBindin
|
|
|
6221
6221
|
? undefined
|
|
6222
6222
|
: {
|
|
6223
6223
|
...input.usage,
|
|
6224
|
+
// These usage values were validated by the engine. Copy their
|
|
6225
|
+
// owned fields without repeating the same constructor checks.
|
|
6224
6226
|
modelUsage: input.usage.modelUsage?.map((usage) =>
|
|
6225
|
-
ModelCallUsage.make(
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6227
|
+
ModelCallUsage.make(
|
|
6228
|
+
{
|
|
6229
|
+
...usage,
|
|
6230
|
+
...(usage.response === undefined
|
|
6231
|
+
? {}
|
|
6232
|
+
: {
|
|
6233
|
+
response: ModelResponseIdentity.make(
|
|
6234
|
+
{ ...usage.response },
|
|
6235
|
+
{ disableChecks: true },
|
|
6236
|
+
),
|
|
6237
|
+
}),
|
|
6238
|
+
inputTokens: InputTokenUsage.make(
|
|
6239
|
+
{ ...usage.inputTokens },
|
|
6240
|
+
{ disableChecks: true },
|
|
6241
|
+
),
|
|
6242
|
+
outputTokens: OutputTokenUsage.make(
|
|
6243
|
+
{ ...usage.outputTokens },
|
|
6244
|
+
{ disableChecks: true },
|
|
6245
|
+
),
|
|
6246
|
+
},
|
|
6247
|
+
{ disableChecks: true },
|
|
6248
|
+
),
|
|
6235
6249
|
),
|
|
6236
6250
|
},
|
|
6237
6251
|
}),
|
package/src/durable/Records.ts
CHANGED
|
@@ -285,6 +285,17 @@ export class RunDurationExhausted extends Schema.TaggedClass<RunDurationExhauste
|
|
|
285
285
|
const PersistedPromptMessages = Schema.toEncoded(Prompt.Prompt);
|
|
286
286
|
const isPersistedPromptMessages = Schema.is(PersistedPromptMessages);
|
|
287
287
|
|
|
288
|
+
// Carry the native Prompt proof while preserving the existing JSON wire identity.
|
|
289
|
+
const PersistedResponseMessages = PersistedJson.pipe(
|
|
290
|
+
Schema.refine(
|
|
291
|
+
(input): input is Schema.Json & Prompt.PromptEncoded => isPersistedPromptMessages(input),
|
|
292
|
+
{
|
|
293
|
+
identifier: "@effect-agent/thread/PersistedJson",
|
|
294
|
+
expected: "persisted Effect AI Prompt messages",
|
|
295
|
+
},
|
|
296
|
+
),
|
|
297
|
+
);
|
|
298
|
+
|
|
288
299
|
/**
|
|
289
300
|
* Final model output. Immediate history records the successful Run's source messages for
|
|
290
301
|
* recall and a full retained model-context snapshot for the next Run. Durable execution
|
|
@@ -377,7 +388,7 @@ const ModelResponseRecordedFields = Schema.Struct({
|
|
|
377
388
|
runId: RunId,
|
|
378
389
|
turnId: TurnId,
|
|
379
390
|
turn: TurnNumber,
|
|
380
|
-
messages:
|
|
391
|
+
messages: PersistedResponseMessages,
|
|
381
392
|
/**
|
|
382
393
|
* Number of leading messages that belong only to this Run's evaluated instructions and wake
|
|
383
394
|
* input. They remain canonical. An unfinished Run retains this exact evaluated prefix;
|
|
@@ -399,8 +410,6 @@ const ModelResponseRecordedFields = Schema.Struct({
|
|
|
399
410
|
}).check(
|
|
400
411
|
Schema.makeFilter(
|
|
401
412
|
(response) => {
|
|
402
|
-
if (!isPersistedPromptMessages(response.messages)) return false;
|
|
403
|
-
|
|
404
413
|
const declarations = response.messages.content.flatMap((message) =>
|
|
405
414
|
message.role === "assistant" && typeof message.content !== "string"
|
|
406
415
|
? message.content.filter(
|
|
@@ -426,21 +435,18 @@ const ModelResponseRecordedFields = Schema.Struct({
|
|
|
426
435
|
seen.add(operation.toolCallId);
|
|
427
436
|
}
|
|
428
437
|
|
|
429
|
-
|
|
438
|
+
// Equal counts and unique matching operation IDs already cover every declaration.
|
|
439
|
+
return (
|
|
440
|
+
response.runScopedPrefixLength === undefined ||
|
|
441
|
+
(response.runScopedPrefixLength < response.messages.content.length &&
|
|
442
|
+
response.messages.content
|
|
443
|
+
.slice(0, response.runScopedPrefixLength)
|
|
444
|
+
.every((message) => message.role === "system" || message.role === "user"))
|
|
445
|
+
);
|
|
430
446
|
},
|
|
431
|
-
{ title: "Every application Tool declaration has unique original operation evidence" },
|
|
432
|
-
),
|
|
433
|
-
Schema.makeFilter(
|
|
434
|
-
(response) =>
|
|
435
|
-
response.runScopedPrefixLength === undefined ||
|
|
436
|
-
(isPersistedPromptMessages(response.messages) &&
|
|
437
|
-
response.runScopedPrefixLength < response.messages.content.length &&
|
|
438
|
-
response.messages.content
|
|
439
|
-
.slice(0, response.runScopedPrefixLength)
|
|
440
|
-
.every((message) => message.role === "system" || message.role === "user")),
|
|
441
447
|
{
|
|
442
448
|
title:
|
|
443
|
-
"
|
|
449
|
+
"Model response has unique original Tool operation evidence and a valid instruction/wake prefix",
|
|
444
450
|
},
|
|
445
451
|
),
|
|
446
452
|
);
|