@yielded/agent 0.1.0-beta.181 → 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.
Files changed (177) hide show
  1. package/dist/{Admin-NvXFPDIM.d.mts → Admin-BgCHCGSl.d.mts} +8 -8
  2. package/dist/{AgentRuntime-Dx5u_FJD.d.mts → AgentRuntime-DhRchFzv.d.mts} +7 -4
  3. package/dist/{AgentRuntime-BAExRlgu.mjs → AgentRuntime-ILtyHuQG.mjs} +61 -45
  4. package/dist/AgentRuntime-ILtyHuQG.mjs.map +1 -0
  5. package/dist/{Digest-DjUgS5PG.d.mts → Digest-1iVcDLVm.d.mts} +2 -2
  6. package/dist/{Digest-ft4ku9pj.mjs → Digest-CzLJcsWv.mjs} +2 -2
  7. package/dist/{Digest-ft4ku9pj.mjs.map → Digest-CzLJcsWv.mjs.map} +1 -1
  8. package/dist/{DurableAgentRuntime-HH2muFrT.mjs → DurableAgentRuntime-Cj263rW9.mjs} +27 -57
  9. package/dist/DurableAgentRuntime-Cj263rW9.mjs.map +1 -0
  10. package/dist/{EventSource-DNyaWmyQ.d.mts → EventSource-CaA6RAtC.d.mts} +3 -3
  11. package/dist/InMemory.d.mts +1 -1
  12. package/dist/{MessageDelivery-CLzWJImC.d.mts → MessageDelivery-rlLpakO8.d.mts} +43 -43
  13. package/dist/{PreparedInputAdmission-BQ9UCLFS.d.mts → PreparedInputAdmission-DjbWz2lW.d.mts} +4 -4
  14. package/dist/{RecordFormat-BNiLpe43.d.mts → RecordFormat-CjMl0uu8.d.mts} +2 -2
  15. package/dist/{Records-BTnGRdcf.d.mts → Records-BP67Yz6n.d.mts} +20 -8
  16. package/dist/{Records-CZRedCE7.mjs → Records-bbGVHprv.mjs} +14 -10
  17. package/dist/Records-bbGVHprv.mjs.map +1 -0
  18. package/dist/{RunContinuation-CL0wBsQE.d.mts → RunContinuation-CIJRN_vC.d.mts} +5 -4
  19. package/dist/{RunContinuation-BF95Ncv2.mjs → RunContinuation-DJ6kkbQG.mjs} +22 -58
  20. package/dist/RunContinuation-DJ6kkbQG.mjs.map +1 -0
  21. package/dist/{RunEvent-C5jVQZ6K.d.mts → RunEvent-Bh1p4zAO.d.mts} +2 -2
  22. package/dist/{RunJournal-oJLo-pjS.mjs → RunJournal-DQr2dUgg.mjs} +4 -7
  23. package/dist/RunJournal-DQr2dUgg.mjs.map +1 -0
  24. package/dist/{RunOptions-BANtohGk.d.mts → RunOptions-aBHR-Eqm.d.mts} +6 -3
  25. package/dist/{RunStorage-DlfvMfHM.mjs → RunStorage-DblN-cmM.mjs} +2 -2
  26. package/dist/{RunStorage-DlfvMfHM.mjs.map → RunStorage-DblN-cmM.mjs.map} +1 -1
  27. package/dist/{Schedule-CDgTz0vj.d.mts → Schedule-CVLtl5rP.d.mts} +2 -2
  28. package/dist/{Scheduling-BebkRVc2.mjs → Scheduling-B6l0lWdr.mjs} +3 -3
  29. package/dist/{Scheduling-BebkRVc2.mjs.map → Scheduling-B6l0lWdr.mjs.map} +1 -1
  30. package/dist/{Subagent-D68fe7mr.mjs → Subagent-Bm842K7J.mjs} +43 -17
  31. package/dist/Subagent-Bm842K7J.mjs.map +1 -0
  32. package/dist/{Subagent-5ulnV6An.d.mts → Subagent-CWWmA1UQ.d.mts} +17 -5
  33. package/dist/{Subscription-D2yn6Eo3.d.mts → Subscription-BRsNy0TA.d.mts} +4 -4
  34. package/dist/{SubscriptionInput-Cog4x7Rd.d.mts → SubscriptionInput-ClCaW_kX.d.mts} +3 -3
  35. package/dist/{ThreadHistory-KPPBJLJb.d.mts → ThreadHistory-ajQhqZDY.d.mts} +2 -2
  36. package/dist/{ThreadImport-BoTfjjrz.mjs → ThreadImport-CkPAxXU5.mjs} +7 -7
  37. package/dist/{ThreadImport-BoTfjjrz.mjs.map → ThreadImport-CkPAxXU5.mjs.map} +1 -1
  38. package/dist/{ThreadImport-em89zmM-.d.mts → ThreadImport-DtRNoHIr.d.mts} +5 -5
  39. package/dist/{ThreadStore-D2rqtt7k.mjs → ThreadStore-C_ofHc7h.mjs} +4 -4
  40. package/dist/{ThreadStore-D2rqtt7k.mjs.map → ThreadStore-C_ofHc7h.mjs.map} +1 -1
  41. package/dist/{ThreadTransfer-BFolkpEp.mjs → ThreadTransfer-C_TRuo_9.mjs} +4 -4
  42. package/dist/{ThreadTransfer-BFolkpEp.mjs.map → ThreadTransfer-C_TRuo_9.mjs.map} +1 -1
  43. package/dist/{WorkerAdmission-DrxDrLII.mjs → WorkerAdmission-9Ka3edXj.mjs} +5 -5
  44. package/dist/{WorkerAdmission-DrxDrLII.mjs.map → WorkerAdmission-9Ka3edXj.mjs.map} +1 -1
  45. package/dist/{agent-registration-BovXT8jc.mjs → agent-registration-7kp1dHT0.mjs} +4 -4
  46. package/dist/{agent-registration-BovXT8jc.mjs.map → agent-registration-7kp1dHT0.mjs.map} +1 -1
  47. package/dist/capabilities/Commands.d.mts +1 -1
  48. package/dist/capabilities/Redaction.d.mts +1 -1
  49. package/dist/capabilities/RunHooks.d.mts +1 -1
  50. package/dist/capabilities/Subagent.d.mts +1 -1
  51. package/dist/capabilities/Subagent.mjs +1 -1
  52. package/dist/capabilities/SubagentReservations.d.mts +4 -1
  53. package/dist/capabilities/SubagentReservations.mjs +4 -1
  54. package/dist/capabilities/SubagentReservations.mjs.map +1 -1
  55. package/dist/core/RunEvent.d.mts +1 -1
  56. package/dist/core/RunEvent.mjs +1 -1
  57. package/dist/core/RunEvent.mjs.map +1 -1
  58. package/dist/durable/ActivityStore.d.mts +1 -1
  59. package/dist/durable/ActivityStore.mjs +1 -1
  60. package/dist/durable/Admin.d.mts +1 -1
  61. package/dist/durable/Admin.mjs +1 -1
  62. package/dist/durable/AgentRegistration.d.mts +1 -1
  63. package/dist/durable/AgentRegistration.mjs +1 -1
  64. package/dist/durable/Certification.d.mts +1 -1
  65. package/dist/durable/CommittedActivity.d.mts +3 -3
  66. package/dist/durable/CommittedActivity.mjs +3 -3
  67. package/dist/durable/Digest.d.mts +1 -1
  68. package/dist/durable/Digest.mjs +1 -1
  69. package/dist/durable/DurableAgentRuntime.d.mts +1 -1
  70. package/dist/durable/DurableAgentRuntime.mjs +2 -2
  71. package/dist/durable/EventSource.d.mts +1 -1
  72. package/dist/durable/EventSource.mjs +1 -1
  73. package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
  74. package/dist/durable/LifecyclePublication.d.mts +1 -1
  75. package/dist/durable/LifecyclePublication.mjs +2 -2
  76. package/dist/durable/MessageDelivery.d.mts +1 -1
  77. package/dist/durable/MessageDelivery.mjs +2 -2
  78. package/dist/durable/MessageDeliveryStoreConformance.d.mts +42 -42
  79. package/dist/durable/MessageDeliveryStoreConformance.mjs +2 -2
  80. package/dist/durable/PersistentHistory.d.mts +2 -2
  81. package/dist/durable/PersistentHistory.mjs +4 -4
  82. package/dist/durable/PreparedInputAdmission.d.mts +1 -1
  83. package/dist/durable/RecordFormat.d.mts +1 -1
  84. package/dist/durable/RecordFormat.mjs +1 -1
  85. package/dist/durable/Records.d.mts +1 -1
  86. package/dist/durable/Records.mjs +1 -1
  87. package/dist/durable/Recovery.d.mts +1 -1
  88. package/dist/durable/Recovery.mjs +1 -1
  89. package/dist/durable/RunContinuation.d.mts +3 -3
  90. package/dist/durable/RunContinuation.mjs +3 -3
  91. package/dist/durable/RunJournal.d.mts +1 -1
  92. package/dist/durable/RunJournal.mjs +1 -1
  93. package/dist/durable/RunStorage.d.mts +1 -1
  94. package/dist/durable/RunStorage.mjs +1 -1
  95. package/dist/durable/Schedule.d.mts +1 -1
  96. package/dist/durable/Schedule.mjs +1 -1
  97. package/dist/durable/ScheduleStoreConformance.d.mts +1 -1
  98. package/dist/durable/ScheduleStoreConformance.mjs +1 -1
  99. package/dist/durable/ScheduleTransition.d.mts +1 -1
  100. package/dist/durable/ScheduleTransition.mjs +1 -1
  101. package/dist/durable/Scheduling.d.mts +3 -3
  102. package/dist/durable/Scheduling.mjs +1 -1
  103. package/dist/durable/SettlementPublisher.d.mts +1 -1
  104. package/dist/durable/SettlementPublisher.mjs +3 -3
  105. package/dist/durable/SubmissionLedger.d.mts +1 -1
  106. package/dist/durable/SubmissionLedger.mjs +2 -2
  107. package/dist/durable/SubmissionLedgerConformance.d.mts +2 -2
  108. package/dist/durable/SubmissionLedgerConformance.mjs +5 -5
  109. package/dist/durable/SubmissionStatus.d.mts +1 -1
  110. package/dist/durable/Subscription.d.mts +1 -1
  111. package/dist/durable/Subscription.mjs +1 -1
  112. package/dist/durable/SubscriptionInput.d.mts +1 -1
  113. package/dist/durable/SubscriptionInput.mjs +2 -2
  114. package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
  115. package/dist/durable/SubscriptionStoreConformance.mjs +1 -1
  116. package/dist/durable/SubscriptionTools.d.mts +4 -4
  117. package/dist/durable/SubscriptionTransition.d.mts +1 -1
  118. package/dist/durable/SubscriptionTransition.mjs +1 -1
  119. package/dist/durable/Subscriptions.d.mts +6 -6
  120. package/dist/durable/Subscriptions.mjs +2 -2
  121. package/dist/durable/ThreadArchiveRange.d.mts +1 -1
  122. package/dist/durable/ThreadArchiveRange.mjs +1 -1
  123. package/dist/durable/ThreadContextHistory.d.mts +1 -1
  124. package/dist/durable/ThreadContextHistory.mjs +2 -2
  125. package/dist/durable/ThreadContextHistoryProjection.d.mts +1 -1
  126. package/dist/durable/ThreadContextHistoryProjection.mjs +1 -1
  127. package/dist/durable/ThreadImport.d.mts +1 -1
  128. package/dist/durable/ThreadImport.mjs +1 -1
  129. package/dist/durable/ThreadInvariants.d.mts +3 -3
  130. package/dist/durable/ThreadInvariants.mjs +4 -4
  131. package/dist/durable/ThreadProjection.d.mts +1 -1
  132. package/dist/durable/ThreadProjection.mjs +1 -1
  133. package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
  134. package/dist/durable/ThreadReader.d.mts +1 -1
  135. package/dist/durable/ThreadReader.mjs +1 -1
  136. package/dist/durable/ThreadStore.d.mts +2 -2
  137. package/dist/durable/ThreadStore.mjs +2 -2
  138. package/dist/durable/ThreadStoreConformance.d.mts +2 -2
  139. package/dist/durable/ThreadStoreConformance.mjs +4 -4
  140. package/dist/durable/ThreadTransfer.d.mts +2 -2
  141. package/dist/durable/ThreadTransfer.mjs +1 -1
  142. package/dist/durable/ThreadWork.d.mts +1 -1
  143. package/dist/durable/ThreadWork.mjs +5 -5
  144. package/dist/durable/ToolReconciler.mjs +1 -1
  145. package/dist/durable/WorkerAdmission.d.mts +2 -2
  146. package/dist/durable/WorkerAdmission.mjs +1 -1
  147. package/dist/durable/WorkerHost.d.mts +2 -2
  148. package/dist/engine/AgentRuntime.d.mts +1 -1
  149. package/dist/engine/AgentRuntime.mjs +1 -1
  150. package/dist/engine/RunOptions.d.mts +1 -1
  151. package/dist/engine/RunOptions.mjs.map +1 -1
  152. package/dist/engine/ThreadHistory.d.mts +1 -1
  153. package/dist/index.d.mts +17 -17
  154. package/dist/index.mjs +12 -12
  155. package/dist/{run-context-reader-kpO9xhP2.d.mts → run-context-reader-DEU4REfD.d.mts} +3 -3
  156. package/package.json +1 -1
  157. package/src/capabilities/Subagent.ts +83 -28
  158. package/src/capabilities/SubagentReservations.ts +4 -1
  159. package/src/capabilities/internal/subagent-contract.ts +23 -3
  160. package/src/core/RunEvent.ts +1 -1
  161. package/src/durable/DurableAgentRuntime.ts +64 -14
  162. package/src/durable/Records.ts +21 -15
  163. package/src/durable/RunContinuation.ts +64 -125
  164. package/src/durable/RunJournal.ts +4 -12
  165. package/src/durable/internal/history-prompt.ts +10 -4
  166. package/src/durable/internal/initial-context.ts +1 -1
  167. package/src/durable/internal/prompt-history-cache.ts +8 -63
  168. package/src/engine/RunOptions.ts +4 -1
  169. package/src/engine/internal/agent-runtime.ts +422 -387
  170. package/dist/AgentRuntime-BAExRlgu.mjs.map +0 -1
  171. package/dist/DurableAgentRuntime-HH2muFrT.mjs.map +0 -1
  172. package/dist/Records-CZRedCE7.mjs.map +0 -1
  173. package/dist/RunContinuation-BF95Ncv2.mjs.map +0 -1
  174. package/dist/RunJournal-oJLo-pjS.mjs.map +0 -1
  175. package/dist/Subagent-D68fe7mr.mjs.map +0 -1
  176. package/dist/json-BlJVQZxN.mjs +0 -15
  177. package/dist/json-BlJVQZxN.mjs.map +0 -1
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@yielded/agent","version":"0.1.0-beta.181","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 { Cause, Clock, Duration, Effect, Exit, Layer, Option, Ref, Schema, Scope } from "effect";
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, yield* Clock.currentTimeMillis);
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
- child.usageReport.pipe(
1863
- Effect.flatMap((report) =>
1864
- emit({
1865
- _tag: "SubagentFailed",
1866
- ...payload,
1867
- ...report,
1868
- errorTag: errorTagOf(childFailure),
1869
- message: boundedEventText(errorMessageOf(childFailure)),
1870
- }),
1871
- ),
1872
- Effect.andThen(
1873
- Effect.fail(
1874
- options.mapChildFailure === undefined
1875
- ? executionFailure(
1876
- "child-failed",
1877
- errorTagOf(childFailure),
1878
- "The child Run failed",
1879
- )
1880
- : options.mapChildFailure(childFailure),
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: Duration.millis(allocation.durationMillis),
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 ${allocation.durationMillis}ms delegation duration budget`,
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: allocation.durationMillis,
1925
- observedValue: allocation.durationMillis,
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
- /** All-or-nothing admission failed: one dimension cannot cover the requested allocation. */
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
- ...input,
60
- maxDuration: Duration.fromInputUnsafe(input.maxDuration),
76
+ ...bounds,
77
+ maxDuration: Duration.fromInputUnsafe(maxDuration),
78
+ ...(parentReserveDuration === undefined
79
+ ? {}
80
+ : { parentReserveDuration: Duration.fromInputUnsafe(parentReserveDuration) }),
61
81
  });
62
82
  }
63
83
  }
@@ -122,7 +122,7 @@ export class ToolCallFailed extends Schema.TaggedClass<ToolCallFailed>()("ToolCa
122
122
  failureMode: Schema.optionalKey(Schema.Literals(["error", "return"])),
123
123
  /** Actual route at this boundary. Absence on older events means unknown, never recoverable. */
124
124
  failureHandling: Schema.optionalKey(ToolFailureHandling),
125
- /** Synthetic policy rejection; no handler ran and the failure streak is unchanged. */
125
+ /** Synthetic policy or capacity rejection; no handler ran and the failure streak is unchanged. */
126
126
  budgetRejected: Schema.optionalKey(Schema.Literal(true)),
127
127
  }) {}
128
128
 
@@ -1155,6 +1155,15 @@ const isCoordinatorHaltCause = (
1155
1155
  (reason) => reason._tag !== "Fail" || reason.error instanceof CoordinatorHalt,
1156
1156
  );
1157
1157
 
1158
+ const isPersistenceCapacityCause = (cause: Cause.Cause<unknown>): boolean =>
1159
+ cause.reasons.length > 0 &&
1160
+ cause.reasons.every(
1161
+ (reason) =>
1162
+ Cause.isFailReason(reason) &&
1163
+ reason.error instanceof ThreadStoreError &&
1164
+ reason.error.cause instanceof AgentPersistenceCapacityError,
1165
+ );
1166
+
1158
1167
  const PolicyFailure = Schema.TaggedStruct("AgentPolicyError", {
1159
1168
  limit: PolicyLimit,
1160
1169
  });
@@ -6150,6 +6159,26 @@ const make = Effect.fnUntraced(function* (bindings: ReadonlyArray<ResolvedBindin
6150
6159
  return "committed" as const;
6151
6160
  }
6152
6161
 
6162
+ if (
6163
+ commit._tag === "Response" &&
6164
+ commit.defer !== true &&
6165
+ response !== undefined &&
6166
+ progress !== undefined
6167
+ ) {
6168
+ // This read-only preflight proves that no append or Tool dispatch began.
6169
+ // Append failures and recovered declarations retain their existing uncertainty.
6170
+ const admissible = yield* progress.preflight(yield* turnResponseBatch(input)).pipe(
6171
+ Effect.provideService(CurrentRunWriter, ctx),
6172
+ Effect.as(true),
6173
+ Effect.catchCauseIf(
6174
+ (cause) => isPersistenceCapacityCause(cause),
6175
+ () => Effect.succeed(false),
6176
+ ),
6177
+ );
6178
+
6179
+ if (!admissible) return "capacity-refused" as const;
6180
+ }
6181
+
6153
6182
  if (commit._tag === "Response" && commit.defer === true) {
6154
6183
  if (
6155
6184
  toolOperations.length === 0 ||
@@ -6192,17 +6221,31 @@ const make = Effect.fnUntraced(function* (bindings: ReadonlyArray<ResolvedBindin
6192
6221
  ? undefined
6193
6222
  : {
6194
6223
  ...input.usage,
6224
+ // These usage values were validated by the engine. Copy their
6225
+ // owned fields without repeating the same constructor checks.
6195
6226
  modelUsage: input.usage.modelUsage?.map((usage) =>
6196
- ModelCallUsage.make({
6197
- ...usage,
6198
- ...(usage.response === undefined
6199
- ? {}
6200
- : {
6201
- response: ModelResponseIdentity.make({ ...usage.response }),
6202
- }),
6203
- inputTokens: InputTokenUsage.make({ ...usage.inputTokens }),
6204
- outputTokens: OutputTokenUsage.make({ ...usage.outputTokens }),
6205
- }),
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
+ ),
6206
6249
  ),
6207
6250
  },
6208
6251
  }),
@@ -6216,11 +6259,18 @@ const make = Effect.fnUntraced(function* (bindings: ReadonlyArray<ResolvedBindin
6216
6259
  message: "Dispatch has no scoped progress writer",
6217
6260
  });
6218
6261
 
6219
- const batch = yield* progress
6220
- .defer(candidate.batch)
6221
- .pipe(Effect.provideService(CurrentRunWriter, ctx));
6262
+ const batch = yield* progress.defer(candidate.batch).pipe(
6263
+ Effect.provideService(CurrentRunWriter, ctx),
6264
+ Effect.asSome,
6265
+ Effect.catchCauseIf(
6266
+ (cause) => isPersistenceCapacityCause(cause),
6267
+ () => Effect.succeedNone,
6268
+ ),
6269
+ );
6222
6270
 
6223
- deferredResponse = { ...candidate, batch };
6271
+ // Deferral does not append, and installs its reservation only after every check.
6272
+ if (Option.isNone(batch)) return "capacity-refused" as const;
6273
+ deferredResponse = { ...candidate, batch: batch.value };
6224
6274
 
6225
6275
  return "deferred" as const;
6226
6276
  }
@@ -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: PersistedJson,
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
- return declarations.every((call) => call.type === "tool-call" && seen.has(call.id));
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
- "Run-scoped Prompt prefix contains only instruction/wake messages and leaves one response",
449
+ "Model response has unique original Tool operation evidence and a valid instruction/wake prefix",
444
450
  },
445
451
  ),
446
452
  );