effect-agent 0.1.0-beta.85 → 0.1.0-beta.87

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/dist/Agent-CN0EWRsR.d.mts +226 -0
  2. package/dist/Agent-RklVROrm.mjs +83 -0
  3. package/dist/Agent-RklVROrm.mjs.map +1 -0
  4. package/dist/AgentError-CggcAQ7V.d.mts +101 -0
  5. package/dist/AgentPolicy-CetmQrf3.d.mts +96 -0
  6. package/dist/AgentRuntime-BLyETCPo.mjs +4562 -0
  7. package/dist/AgentRuntime-BLyETCPo.mjs.map +1 -0
  8. package/dist/AgentRuntime-uxR_a4VM.d.mts +346 -0
  9. package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
  10. package/dist/ContextCompactor-Dxu5zhOL.d.mts +161 -0
  11. package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
  12. package/dist/DurableAgentRuntime-uggeJpv3.mjs +6368 -0
  13. package/dist/DurableAgentRuntime-uggeJpv3.mjs.map +1 -0
  14. package/dist/DurableFailpoint-Oinuuedm.d.mts +41 -0
  15. package/dist/DurableStep-Cry_iol4.d.mts +103 -0
  16. package/dist/Ephemeral.d.mts +22 -0
  17. package/dist/Ephemeral.mjs +22 -0
  18. package/dist/Ephemeral.mjs.map +1 -0
  19. package/dist/EventSource-OqS_P9ug.d.mts +51 -0
  20. package/dist/Identifiers-CN2s30fF.d.mts +40 -0
  21. package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
  22. package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
  23. package/dist/Messaging-CkcIdt4I.d.mts +490 -0
  24. package/dist/MessagingHost-CRk0kXzT.d.mts +246 -0
  25. package/dist/MessagingHost-CWi_PP3g.mjs +137 -0
  26. package/dist/MessagingHost-CWi_PP3g.mjs.map +1 -0
  27. package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
  28. package/dist/Output-D6SkedVx.d.mts +25 -0
  29. package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
  30. package/dist/PageScreenshot-BpgZKAxl.d.mts +48 -0
  31. package/dist/PreparedInputAdmission-C4HbjHgl.d.mts +38 -0
  32. package/dist/Receipt-BAHyigAF.d.mts +33 -0
  33. package/dist/Records-BAGkekt8.d.mts +3570 -0
  34. package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
  35. package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
  36. package/dist/RunJournal-Cgg1kNvc.mjs +825 -0
  37. package/dist/RunJournal-Cgg1kNvc.mjs.map +1 -0
  38. package/dist/RunOptions-g1aigcKI.d.mts +915 -0
  39. package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
  40. package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
  41. package/dist/Schedule-H3SEYX9g.d.mts +842 -0
  42. package/dist/Scheduling-C9aIP8zT.mjs +691 -0
  43. package/dist/Scheduling-C9aIP8zT.mjs.map +1 -0
  44. package/dist/Subagent-Cy_hU1tv.mjs +1469 -0
  45. package/dist/Subagent-Cy_hU1tv.mjs.map +1 -0
  46. package/dist/Subagent-DyfzHNdv.d.mts +826 -0
  47. package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
  48. package/dist/SubagentHost-CJUBQlcc.d.mts +140 -0
  49. package/dist/Subscription-BEP8oQO5.d.mts +921 -0
  50. package/dist/SubscriptionInput-vAAOBrK7.d.mts +41 -0
  51. package/dist/Thread-DOBQ0QUY.d.mts +96 -0
  52. package/dist/ThreadHistory-tS1KwxHR.d.mts +60 -0
  53. package/dist/ToolBroker-DWs4tZra.d.mts +133 -0
  54. package/dist/ToolExposure-9uF_Yo0T.mjs +10 -0
  55. package/dist/ToolExposure-9uF_Yo0T.mjs.map +1 -0
  56. package/dist/ToolExposure-C93U1sPu.mjs +30 -0
  57. package/dist/ToolExposure-C93U1sPu.mjs.map +1 -0
  58. package/dist/ToolExposure-UCN12eCd.d.mts +39 -0
  59. package/dist/ToolExposure-r2eOWk4F.d.mts +46 -0
  60. package/dist/ToolExposure.d.mts +6 -5
  61. package/dist/ToolExposure.mjs +17 -9
  62. package/dist/ToolExposure.mjs.map +1 -1
  63. package/dist/ToolReconciler-DQVaJfpE.d.mts +76 -0
  64. package/dist/ToolResult-DmmgoChv.d.mts +61 -0
  65. package/dist/Usage-Dx0aknfk.d.mts +121 -0
  66. package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
  67. package/dist/Worker-CaPYykpe.d.mts +228 -0
  68. package/dist/agent-registration-CWDMOAZA.mjs +172 -0
  69. package/dist/agent-registration-CWDMOAZA.mjs.map +1 -0
  70. package/dist/capabilities/Approval.d.mts +114 -0
  71. package/dist/capabilities/Approval.mjs +226 -0
  72. package/dist/capabilities/Approval.mjs.map +1 -0
  73. package/dist/capabilities/Budget.d.mts +112 -0
  74. package/dist/capabilities/Budget.mjs +346 -0
  75. package/dist/capabilities/Budget.mjs.map +1 -0
  76. package/dist/capabilities/CodeMode.d.mts +157 -0
  77. package/dist/capabilities/CodeMode.mjs +522 -0
  78. package/dist/capabilities/CodeMode.mjs.map +1 -0
  79. package/dist/capabilities/Commands.d.mts +55 -0
  80. package/dist/capabilities/Commands.mjs +57 -0
  81. package/dist/capabilities/Commands.mjs.map +1 -0
  82. package/dist/capabilities/ContextTools.d.mts +321 -0
  83. package/dist/capabilities/ContextTools.mjs +126 -0
  84. package/dist/capabilities/ContextTools.mjs.map +1 -0
  85. package/dist/capabilities/Mcp.d.mts +108 -0
  86. package/dist/capabilities/Mcp.mjs +260 -0
  87. package/dist/capabilities/Mcp.mjs.map +1 -0
  88. package/dist/capabilities/McpClient.d.mts +115 -0
  89. package/dist/capabilities/McpClient.mjs +506 -0
  90. package/dist/capabilities/McpClient.mjs.map +1 -0
  91. package/dist/capabilities/MemoryNotes.d.mts +424 -0
  92. package/dist/capabilities/MemoryNotes.mjs +128 -0
  93. package/dist/capabilities/MemoryNotes.mjs.map +1 -0
  94. package/dist/capabilities/Messaging.d.mts +3 -0
  95. package/dist/capabilities/Messaging.mjs +151 -0
  96. package/dist/capabilities/Messaging.mjs.map +1 -0
  97. package/dist/capabilities/ModelContext.d.mts +89 -0
  98. package/dist/capabilities/ModelContext.mjs +168 -0
  99. package/dist/capabilities/ModelContext.mjs.map +1 -0
  100. package/dist/capabilities/Redaction.d.mts +37 -0
  101. package/dist/capabilities/Redaction.mjs +104 -0
  102. package/dist/capabilities/Redaction.mjs.map +1 -0
  103. package/dist/capabilities/Remembering.d.mts +434 -0
  104. package/dist/capabilities/Remembering.mjs +290 -0
  105. package/dist/capabilities/Remembering.mjs.map +1 -0
  106. package/dist/capabilities/RunHooks.d.mts +82 -0
  107. package/dist/capabilities/RunHooks.mjs +144 -0
  108. package/dist/capabilities/RunHooks.mjs.map +1 -0
  109. package/dist/capabilities/SemanticMemory.d.mts +431 -0
  110. package/dist/capabilities/SemanticMemory.mjs +315 -0
  111. package/dist/capabilities/SemanticMemory.mjs.map +1 -0
  112. package/dist/capabilities/Subagent.d.mts +4 -0
  113. package/dist/capabilities/Subagent.mjs +5 -0
  114. package/dist/capabilities/SubagentReservations.d.mts +186 -0
  115. package/dist/capabilities/SubagentReservations.mjs +479 -0
  116. package/dist/capabilities/SubagentReservations.mjs.map +1 -0
  117. package/dist/capabilities/ToolDiscovery.d.mts +109 -0
  118. package/dist/capabilities/ToolDiscovery.mjs +211 -0
  119. package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
  120. package/dist/capabilities/WebCapture.d.mts +163 -0
  121. package/dist/capabilities/WebCapture.mjs +335 -0
  122. package/dist/capabilities/WebCapture.mjs.map +1 -0
  123. package/dist/capabilities/WebSearch.d.mts +71 -0
  124. package/dist/capabilities/WebSearch.mjs +112 -0
  125. package/dist/capabilities/WebSearch.mjs.map +1 -0
  126. package/dist/compaction-C2OTceKw.mjs +505 -0
  127. package/dist/compaction-C2OTceKw.mjs.map +1 -0
  128. package/dist/core/Agent.d.mts +2 -0
  129. package/dist/core/Agent.mjs +2 -0
  130. package/dist/core/AgentError.d.mts +2 -0
  131. package/dist/core/AgentError.mjs +117 -0
  132. package/dist/core/AgentError.mjs.map +1 -0
  133. package/dist/core/AgentPolicy.d.mts +2 -0
  134. package/dist/core/AgentPolicy.mjs +94 -0
  135. package/dist/core/AgentPolicy.mjs.map +1 -0
  136. package/dist/core/AgentUpdates.d.mts +2 -0
  137. package/dist/core/AgentUpdates.mjs +63 -0
  138. package/dist/core/AgentUpdates.mjs.map +1 -0
  139. package/dist/core/IdGenerator.d.mts +26 -0
  140. package/dist/core/IdGenerator.mjs +27 -0
  141. package/dist/core/IdGenerator.mjs.map +1 -0
  142. package/dist/core/Identifiers.d.mts +2 -0
  143. package/dist/core/Identifiers.mjs +43 -0
  144. package/dist/core/Identifiers.mjs.map +1 -0
  145. package/dist/core/Memory.d.mts +57 -0
  146. package/dist/core/Memory.mjs +203 -0
  147. package/dist/core/Memory.mjs.map +1 -0
  148. package/dist/core/MemoryNamespace.d.mts +2 -0
  149. package/dist/core/MemoryNamespace.mjs +116 -0
  150. package/dist/core/MemoryNamespace.mjs.map +1 -0
  151. package/dist/core/MemoryReference.d.mts +2 -0
  152. package/dist/core/MemoryReference.mjs +109 -0
  153. package/dist/core/MemoryReference.mjs.map +1 -0
  154. package/dist/core/MemoryRevalidation.d.mts +65 -0
  155. package/dist/core/MemoryRevalidation.mjs +126 -0
  156. package/dist/core/MemoryRevalidation.mjs.map +1 -0
  157. package/dist/core/MemoryStore.d.mts +186 -0
  158. package/dist/core/MemoryStore.mjs +243 -0
  159. package/dist/core/MemoryStore.mjs.map +1 -0
  160. package/dist/core/Receipt.d.mts +2 -0
  161. package/dist/core/Receipt.mjs +36 -0
  162. package/dist/core/Receipt.mjs.map +1 -0
  163. package/dist/core/RememberingStore.d.mts +1562 -0
  164. package/dist/core/RememberingStore.mjs +190 -0
  165. package/dist/core/RememberingStore.mjs.map +1 -0
  166. package/dist/core/RunEvent.d.mts +2 -0
  167. package/dist/core/RunEvent.mjs +337 -0
  168. package/dist/core/RunEvent.mjs.map +1 -0
  169. package/dist/core/RunPolicyUsage.d.mts +2 -0
  170. package/dist/core/RunPolicyUsage.mjs +21 -0
  171. package/dist/core/RunPolicyUsage.mjs.map +1 -0
  172. package/dist/core/SemanticMemoryIndex.d.mts +826 -0
  173. package/dist/core/SemanticMemoryIndex.mjs +185 -0
  174. package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
  175. package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
  176. package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
  177. package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
  178. package/dist/core/SubagentContract.d.mts +2 -0
  179. package/dist/core/SubagentContract.mjs +148 -0
  180. package/dist/core/SubagentContract.mjs.map +1 -0
  181. package/dist/core/Thread.d.mts +2 -0
  182. package/dist/core/Thread.mjs +250 -0
  183. package/dist/core/Thread.mjs.map +1 -0
  184. package/dist/core/ToolResult.d.mts +2 -0
  185. package/dist/core/ToolResult.mjs +140 -0
  186. package/dist/core/ToolResult.mjs.map +1 -0
  187. package/dist/core/Usage.d.mts +2 -0
  188. package/dist/core/Usage.mjs +319 -0
  189. package/dist/core/Usage.mjs.map +1 -0
  190. package/dist/core/Worker.d.mts +3 -0
  191. package/dist/core/Worker.mjs +147 -0
  192. package/dist/core/Worker.mjs.map +1 -0
  193. package/dist/durable/ActivityStore.d.mts +116 -0
  194. package/dist/durable/ActivityStore.mjs +131 -0
  195. package/dist/durable/ActivityStore.mjs.map +1 -0
  196. package/dist/durable/Admin.d.mts +2 -0
  197. package/dist/durable/Admin.mjs +328 -0
  198. package/dist/durable/Admin.mjs.map +1 -0
  199. package/dist/durable/AgentRegistration.d.mts +2 -0
  200. package/dist/durable/AgentRegistration.mjs +14 -0
  201. package/dist/durable/AgentRegistration.mjs.map +1 -0
  202. package/dist/durable/Certification.d.mts +111 -0
  203. package/dist/durable/Certification.mjs +159 -0
  204. package/dist/durable/Certification.mjs.map +1 -0
  205. package/dist/durable/CommittedActivity.d.mts +62 -0
  206. package/dist/durable/CommittedActivity.mjs +159 -0
  207. package/dist/durable/CommittedActivity.mjs.map +1 -0
  208. package/dist/durable/Digest.d.mts +2 -0
  209. package/dist/durable/Digest.mjs +50 -0
  210. package/dist/durable/Digest.mjs.map +1 -0
  211. package/dist/durable/DurableAgentRuntime.d.mts +3 -0
  212. package/dist/durable/DurableAgentRuntime.mjs +3 -0
  213. package/dist/durable/DurableFailpoint.d.mts +2 -0
  214. package/dist/durable/DurableFailpoint.mjs +94 -0
  215. package/dist/durable/DurableFailpoint.mjs.map +1 -0
  216. package/dist/durable/DurableFailpointTestControl.d.mts +15 -0
  217. package/dist/durable/DurableFailpointTestControl.mjs +19 -0
  218. package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
  219. package/dist/durable/EventSource.d.mts +2 -0
  220. package/dist/durable/EventSource.mjs +65 -0
  221. package/dist/durable/EventSource.mjs.map +1 -0
  222. package/dist/durable/GitHubWorkflowSource.d.mts +144 -0
  223. package/dist/durable/GitHubWorkflowSource.mjs +209 -0
  224. package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
  225. package/dist/durable/MessageDelivery.d.mts +492 -0
  226. package/dist/durable/MessageDelivery.mjs +495 -0
  227. package/dist/durable/MessageDelivery.mjs.map +1 -0
  228. package/dist/durable/MessageDeliveryStoreConformance.d.mts +358 -0
  229. package/dist/durable/MessageDeliveryStoreConformance.mjs +243 -0
  230. package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
  231. package/dist/durable/OperationAuthorizer.d.mts +2 -0
  232. package/dist/durable/OperationAuthorizer.mjs +70 -0
  233. package/dist/durable/OperationAuthorizer.mjs.map +1 -0
  234. package/dist/durable/PersistentHistory.d.mts +16 -0
  235. package/dist/durable/PersistentHistory.mjs +125 -0
  236. package/dist/durable/PersistentHistory.mjs.map +1 -0
  237. package/dist/durable/PreparedInputAdmission.d.mts +2 -0
  238. package/dist/durable/PreparedInputAdmission.mjs +34 -0
  239. package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
  240. package/dist/durable/Records.d.mts +2 -0
  241. package/dist/durable/Records.mjs +795 -0
  242. package/dist/durable/Records.mjs.map +1 -0
  243. package/dist/durable/Recovery.d.mts +2 -0
  244. package/dist/durable/Recovery.mjs +739 -0
  245. package/dist/durable/Recovery.mjs.map +1 -0
  246. package/dist/durable/RunJournal.d.mts +2 -0
  247. package/dist/durable/RunJournal.mjs +2 -0
  248. package/dist/durable/Schedule.d.mts +2 -0
  249. package/dist/durable/Schedule.mjs +382 -0
  250. package/dist/durable/Schedule.mjs.map +1 -0
  251. package/dist/durable/ScheduleStoreConformance.d.mts +18 -0
  252. package/dist/durable/ScheduleStoreConformance.mjs +420 -0
  253. package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
  254. package/dist/durable/ScheduleTransition.d.mts +24 -0
  255. package/dist/durable/ScheduleTransition.mjs +180 -0
  256. package/dist/durable/ScheduleTransition.mjs.map +1 -0
  257. package/dist/durable/Scheduling.d.mts +54 -0
  258. package/dist/durable/Scheduling.mjs +2 -0
  259. package/dist/durable/SqlMemoryStore.d.mts +30 -0
  260. package/dist/durable/SqlMemoryStore.mjs +435 -0
  261. package/dist/durable/SqlMemoryStore.mjs.map +1 -0
  262. package/dist/durable/SqlMessageDeliveryStore.d.mts +40 -0
  263. package/dist/durable/SqlMessageDeliveryStore.mjs +167 -0
  264. package/dist/durable/SqlMessageDeliveryStore.mjs.map +1 -0
  265. package/dist/durable/SqlStorageV2Upgrade.d.mts +22 -0
  266. package/dist/durable/SqlStorageV2Upgrade.mjs +459 -0
  267. package/dist/durable/SqlStorageV2Upgrade.mjs.map +1 -0
  268. package/dist/durable/SqlSubscriptionStore.d.mts +63 -0
  269. package/dist/durable/SqlSubscriptionStore.mjs +751 -0
  270. package/dist/durable/SqlSubscriptionStore.mjs.map +1 -0
  271. package/dist/durable/SubmissionLedger.d.mts +3 -0
  272. package/dist/durable/SubmissionLedger.mjs +914 -0
  273. package/dist/durable/SubmissionLedger.mjs.map +1 -0
  274. package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
  275. package/dist/durable/SubmissionLedgerConformance.mjs +1986 -0
  276. package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
  277. package/dist/durable/SubmissionStatus.d.mts +2 -0
  278. package/dist/durable/SubmissionStatus.mjs +18 -0
  279. package/dist/durable/SubmissionStatus.mjs.map +1 -0
  280. package/dist/durable/Subscription.d.mts +2 -0
  281. package/dist/durable/Subscription.mjs +360 -0
  282. package/dist/durable/Subscription.mjs.map +1 -0
  283. package/dist/durable/SubscriptionInput.d.mts +2 -0
  284. package/dist/durable/SubscriptionInput.mjs +52 -0
  285. package/dist/durable/SubscriptionInput.mjs.map +1 -0
  286. package/dist/durable/SubscriptionStoreConformance.d.mts +17 -0
  287. package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
  288. package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
  289. package/dist/durable/SubscriptionTools.d.mts +273 -0
  290. package/dist/durable/SubscriptionTools.mjs +190 -0
  291. package/dist/durable/SubscriptionTools.mjs.map +1 -0
  292. package/dist/durable/SubscriptionTransition.d.mts +21 -0
  293. package/dist/durable/SubscriptionTransition.mjs +148 -0
  294. package/dist/durable/SubscriptionTransition.mjs.map +1 -0
  295. package/dist/durable/Subscriptions.d.mts +73 -0
  296. package/dist/durable/Subscriptions.mjs +627 -0
  297. package/dist/durable/Subscriptions.mjs.map +1 -0
  298. package/dist/durable/ThreadContextHistory.d.mts +32 -0
  299. package/dist/durable/ThreadContextHistory.mjs +152 -0
  300. package/dist/durable/ThreadContextHistory.mjs.map +1 -0
  301. package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
  302. package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
  303. package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
  304. package/dist/durable/ThreadInvariants.d.mts +74 -0
  305. package/dist/durable/ThreadInvariants.mjs +200 -0
  306. package/dist/durable/ThreadInvariants.mjs.map +1 -0
  307. package/dist/durable/ThreadProjection.d.mts +78 -0
  308. package/dist/durable/ThreadProjection.mjs +158 -0
  309. package/dist/durable/ThreadProjection.mjs.map +1 -0
  310. package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
  311. package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
  312. package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
  313. package/dist/durable/ThreadStore.d.mts +2 -0
  314. package/dist/durable/ThreadStore.mjs +147 -0
  315. package/dist/durable/ThreadStore.mjs.map +1 -0
  316. package/dist/durable/ThreadStoreConformance.d.mts +29 -0
  317. package/dist/durable/ThreadStoreConformance.mjs +248 -0
  318. package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
  319. package/dist/durable/ToolReconciler.d.mts +2 -0
  320. package/dist/durable/ToolReconciler.mjs +81 -0
  321. package/dist/durable/ToolReconciler.mjs.map +1 -0
  322. package/dist/durable/WakeScheduler.d.mts +2 -0
  323. package/dist/durable/WakeScheduler.mjs +85 -0
  324. package/dist/durable/WakeScheduler.mjs.map +1 -0
  325. package/dist/durable/WorkerHost.d.mts +129 -0
  326. package/dist/durable/WorkerHost.mjs +77 -0
  327. package/dist/durable/WorkerHost.mjs.map +1 -0
  328. package/dist/engine/AgentRuntime.d.mts +2 -0
  329. package/dist/engine/AgentRuntime.mjs +2 -0
  330. package/dist/engine/Compaction.d.mts +7 -0
  331. package/dist/engine/Compaction.mjs +16 -0
  332. package/dist/engine/Compaction.mjs.map +1 -0
  333. package/dist/engine/ContextCompactor.d.mts +2 -0
  334. package/dist/engine/ContextCompactor.mjs +119 -0
  335. package/dist/engine/ContextCompactor.mjs.map +1 -0
  336. package/dist/engine/ContextHistory.d.mts +65 -0
  337. package/dist/engine/ContextHistory.mjs +76 -0
  338. package/dist/engine/ContextHistory.mjs.map +1 -0
  339. package/dist/engine/ContextWindow.d.mts +2 -0
  340. package/dist/engine/ContextWindow.mjs +59 -0
  341. package/dist/engine/ContextWindow.mjs.map +1 -0
  342. package/dist/engine/DurableStep.d.mts +2 -0
  343. package/dist/engine/DurableStep.mjs +62 -0
  344. package/dist/engine/DurableStep.mjs.map +1 -0
  345. package/dist/engine/MessagingHost.d.mts +2 -0
  346. package/dist/engine/MessagingHost.mjs +2 -0
  347. package/dist/engine/Output.d.mts +2 -0
  348. package/dist/engine/Output.mjs +8 -0
  349. package/dist/engine/Output.mjs.map +1 -0
  350. package/dist/engine/RunEventSink.d.mts +2 -0
  351. package/dist/engine/RunEventSink.mjs +22 -0
  352. package/dist/engine/RunEventSink.mjs.map +1 -0
  353. package/dist/engine/RunOptions.d.mts +2 -0
  354. package/dist/engine/RunOptions.mjs +122 -0
  355. package/dist/engine/RunOptions.mjs.map +1 -0
  356. package/dist/engine/SubagentHost.d.mts +2 -0
  357. package/dist/engine/SubagentHost.mjs +72 -0
  358. package/dist/engine/SubagentHost.mjs.map +1 -0
  359. package/dist/engine/ThreadHistory.d.mts +2 -0
  360. package/dist/engine/ThreadHistory.mjs +67 -0
  361. package/dist/engine/ThreadHistory.mjs.map +1 -0
  362. package/dist/engine/ToolBroker.d.mts +2 -0
  363. package/dist/engine/ToolBroker.mjs +42 -0
  364. package/dist/engine/ToolBroker.mjs.map +1 -0
  365. package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
  366. package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
  367. package/dist/index.d.mts +88 -54
  368. package/dist/index.mjs +97 -54
  369. package/dist/output-contract-BC7tjlGw.mjs +84 -0
  370. package/dist/output-contract-BC7tjlGw.mjs.map +1 -0
  371. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  372. package/dist/sandbox/CodeExecutor.d.mts +194 -0
  373. package/dist/sandbox/CodeExecutor.mjs +278 -0
  374. package/dist/sandbox/CodeExecutor.mjs.map +1 -0
  375. package/dist/sandbox/InteractiveBrowser.d.mts +142 -0
  376. package/dist/sandbox/InteractiveBrowser.mjs +165 -0
  377. package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
  378. package/dist/sandbox/PageCapture.d.mts +2 -0
  379. package/dist/sandbox/PageCapture.mjs +450 -0
  380. package/dist/sandbox/PageCapture.mjs.map +1 -0
  381. package/dist/sandbox/PageCrawl.d.mts +88 -0
  382. package/dist/sandbox/PageCrawl.mjs +124 -0
  383. package/dist/sandbox/PageCrawl.mjs.map +1 -0
  384. package/dist/sandbox/PageScreenshot.d.mts +2 -0
  385. package/dist/sandbox/PageScreenshot.mjs +53 -0
  386. package/dist/sandbox/PageScreenshot.mjs.map +1 -0
  387. package/dist/sandbox/ProtectedBrowser.d.mts +252 -0
  388. package/dist/sandbox/ProtectedBrowser.mjs +270 -0
  389. package/dist/sandbox/ProtectedBrowser.mjs.map +1 -0
  390. package/dist/sandbox/Sandbox.d.mts +2 -0
  391. package/dist/sandbox/Sandbox.mjs +208 -0
  392. package/dist/sandbox/Sandbox.mjs.map +1 -0
  393. package/dist/utf8-BYfhEkcj.mjs +11 -0
  394. package/dist/utf8-BYfhEkcj.mjs.map +1 -0
  395. package/dist/utf8-DchGZRBd.mjs +23 -0
  396. package/dist/utf8-DchGZRBd.mjs.map +1 -0
  397. package/package.json +1 -1
  398. package/src/Ephemeral.ts +17 -0
  399. package/src/ToolExposure.ts +2 -2
  400. package/src/capabilities/Approval.ts +352 -0
  401. package/src/capabilities/Budget.ts +536 -0
  402. package/src/capabilities/CodeMode.ts +1090 -0
  403. package/src/capabilities/Commands.ts +86 -0
  404. package/src/capabilities/ContextTools.ts +184 -0
  405. package/src/capabilities/Mcp.ts +427 -0
  406. package/src/capabilities/McpClient.ts +967 -0
  407. package/src/capabilities/MemoryNotes.ts +174 -0
  408. package/src/capabilities/Messaging.ts +261 -0
  409. package/src/capabilities/ModelContext.ts +354 -0
  410. package/src/capabilities/Redaction.ts +157 -0
  411. package/src/capabilities/Remembering.ts +550 -0
  412. package/src/capabilities/RunHooks.ts +280 -0
  413. package/src/capabilities/SemanticMemory.ts +447 -0
  414. package/src/capabilities/Subagent.ts +2277 -0
  415. package/src/capabilities/SubagentReservations.ts +850 -0
  416. package/src/capabilities/ToolDiscovery.ts +339 -0
  417. package/src/capabilities/WebCapture.ts +722 -0
  418. package/src/capabilities/WebSearch.ts +184 -0
  419. package/src/capabilities/internal/subagent-background.ts +1106 -0
  420. package/src/capabilities/internal/subagent-contract.ts +142 -0
  421. package/src/capabilities/internal/subagent-policy.ts +235 -0
  422. package/src/capabilities/internal/subagent-reporting.ts +261 -0
  423. package/src/capabilities/internal/utf8.ts +10 -0
  424. package/src/core/Agent.ts +575 -0
  425. package/src/core/AgentError.ts +152 -0
  426. package/src/core/AgentPolicy.ts +153 -0
  427. package/src/core/AgentUpdates.ts +100 -0
  428. package/src/core/IdGenerator.ts +39 -0
  429. package/src/core/Identifiers.ts +48 -0
  430. package/src/core/Memory.ts +290 -0
  431. package/src/core/MemoryNamespace.ts +196 -0
  432. package/src/core/MemoryReference.ts +121 -0
  433. package/src/core/MemoryRevalidation.ts +185 -0
  434. package/src/core/MemoryStore.ts +368 -0
  435. package/src/core/Messaging.ts +90 -0
  436. package/src/core/Receipt.ts +42 -0
  437. package/src/core/RememberingStore.ts +300 -0
  438. package/src/core/RunEvent.ts +366 -0
  439. package/src/core/RunPolicyUsage.ts +17 -0
  440. package/src/core/SemanticMemoryIndex.ts +250 -0
  441. package/src/core/SemanticMemoryRevalidation.ts +254 -0
  442. package/src/core/SubagentContract.ts +196 -0
  443. package/src/core/Thread.ts +371 -0
  444. package/src/core/ToolExposure.ts +74 -0
  445. package/src/core/ToolResult.ts +170 -0
  446. package/src/core/Usage.ts +529 -0
  447. package/src/core/Worker.ts +173 -0
  448. package/src/core/internal/agent-updates.ts +32 -0
  449. package/src/core/internal/utf8.ts +23 -0
  450. package/src/durable/ActivityStore.ts +160 -0
  451. package/src/durable/Admin.ts +496 -0
  452. package/src/durable/AgentRegistration.ts +13 -0
  453. package/src/durable/Certification.ts +210 -0
  454. package/src/durable/CommittedActivity.ts +296 -0
  455. package/src/durable/Digest.ts +93 -0
  456. package/src/durable/DurableAgentRuntime.ts +10340 -0
  457. package/src/durable/DurableFailpoint.ts +103 -0
  458. package/src/durable/DurableFailpointTestControl.ts +39 -0
  459. package/src/durable/EventSource.ts +172 -0
  460. package/src/durable/GitHubWorkflowSource.ts +453 -0
  461. package/src/durable/MessageDelivery.ts +708 -0
  462. package/src/durable/MessageDeliveryStoreConformance.ts +363 -0
  463. package/src/durable/OperationAuthorizer.ts +85 -0
  464. package/src/durable/PersistentHistory.ts +260 -0
  465. package/src/durable/PreparedInputAdmission.ts +44 -0
  466. package/src/durable/Records.ts +1010 -0
  467. package/src/durable/Recovery.ts +1018 -0
  468. package/src/durable/RunJournal.ts +1479 -0
  469. package/src/durable/Schedule.ts +504 -0
  470. package/src/durable/ScheduleStoreConformance.ts +638 -0
  471. package/src/durable/ScheduleTransition.ts +265 -0
  472. package/src/durable/Scheduling.ts +1077 -0
  473. package/src/durable/SqlMemoryStore.ts +774 -0
  474. package/src/durable/SqlMessageDeliveryStore.ts +302 -0
  475. package/src/durable/SqlStorageV2Upgrade.ts +500 -0
  476. package/src/durable/SqlSubscriptionStore.ts +1440 -0
  477. package/src/durable/SubmissionLedger.ts +1201 -0
  478. package/src/durable/SubmissionLedgerConformance.ts +4579 -0
  479. package/src/durable/SubmissionStatus.ts +14 -0
  480. package/src/durable/Subscription.ts +544 -0
  481. package/src/durable/SubscriptionInput.ts +144 -0
  482. package/src/durable/SubscriptionStoreConformance.ts +945 -0
  483. package/src/durable/SubscriptionTools.ts +327 -0
  484. package/src/durable/SubscriptionTransition.ts +302 -0
  485. package/src/durable/Subscriptions.ts +1210 -0
  486. package/src/durable/ThreadContextHistory.ts +227 -0
  487. package/src/durable/ThreadContextHistoryProjection.ts +216 -0
  488. package/src/durable/ThreadInvariants.ts +442 -0
  489. package/src/durable/ThreadProjection.ts +269 -0
  490. package/src/durable/ThreadProjectionMaintenance.ts +67 -0
  491. package/src/durable/ThreadStore.ts +242 -0
  492. package/src/durable/ThreadStoreConformance.ts +710 -0
  493. package/src/durable/ToolReconciler.ts +105 -0
  494. package/src/durable/WakeScheduler.ts +134 -0
  495. package/src/durable/WorkerHost.ts +171 -0
  496. package/src/durable/internal/agent-registration.ts +525 -0
  497. package/src/durable/internal/agent-updates.ts +302 -0
  498. package/src/durable/internal/foreign-diagnostic.ts +47 -0
  499. package/src/durable/internal/journal-checkpoint.ts +104 -0
  500. package/src/durable/internal/journal-metadata.ts +107 -0
  501. package/src/durable/internal/messaging-host.ts +608 -0
  502. package/src/durable/internal/schedule-time.ts +303 -0
  503. package/src/durable/internal/storage-v2-layout.ts +163 -0
  504. package/src/durable/internal/storage-v2.ts +73 -0
  505. package/src/durable/internal/worker-host.ts +2467 -0
  506. package/src/durable/internal/worker-runtime.ts +9 -0
  507. package/src/engine/AgentRuntime.ts +37 -0
  508. package/src/engine/Compaction.ts +11 -0
  509. package/src/engine/ContextCompactor.ts +277 -0
  510. package/src/engine/ContextHistory.ts +73 -0
  511. package/src/engine/ContextWindow.ts +72 -0
  512. package/src/engine/DurableStep.ts +132 -0
  513. package/src/engine/MessagingHost.ts +110 -0
  514. package/src/engine/Output.ts +2 -0
  515. package/src/engine/RunEventSink.ts +132 -0
  516. package/src/engine/RunOptions.ts +1077 -0
  517. package/src/engine/SubagentHost.ts +181 -0
  518. package/src/engine/ThreadHistory.ts +120 -0
  519. package/src/engine/ToolBroker.ts +157 -0
  520. package/src/engine/ToolExposure.ts +48 -0
  521. package/src/engine/internal/agent-runtime.ts +10117 -0
  522. package/src/engine/internal/bounded-value.ts +315 -0
  523. package/src/engine/internal/compaction.ts +678 -0
  524. package/src/engine/internal/error-diagnostic.ts +39 -0
  525. package/src/engine/internal/output-contract.ts +173 -0
  526. package/src/engine/internal/primitive-delta.ts +80 -0
  527. package/src/engine/internal/provider-result-staging.ts +211 -0
  528. package/src/engine/internal/tool-derivative.ts +106 -0
  529. package/src/engine/internal/tool-exposure.ts +224 -0
  530. package/src/engine/internal/tool-telemetry.ts +484 -0
  531. package/src/index.ts +96 -53
  532. package/src/sandbox/CodeExecutor.ts +352 -0
  533. package/src/sandbox/InteractiveBrowser.ts +257 -0
  534. package/src/sandbox/PageCapture.ts +692 -0
  535. package/src/sandbox/PageCrawl.ts +148 -0
  536. package/src/sandbox/PageScreenshot.ts +81 -0
  537. package/src/sandbox/ProtectedBrowser.ts +413 -0
  538. package/src/sandbox/Sandbox.ts +241 -0
  539. package/dist/Agent.d.mts +0 -5
  540. package/dist/Agent.mjs +0 -10
  541. package/dist/Agent.mjs.map +0 -1
  542. package/dist/AgentError.d.mts +0 -5
  543. package/dist/AgentError.mjs +0 -10
  544. package/dist/AgentError.mjs.map +0 -1
  545. package/dist/AgentPolicy.d.mts +0 -5
  546. package/dist/AgentPolicy.mjs +0 -10
  547. package/dist/AgentPolicy.mjs.map +0 -1
  548. package/dist/AgentRuntime.d.mts +0 -5
  549. package/dist/AgentRuntime.mjs +0 -10
  550. package/dist/AgentRuntime.mjs.map +0 -1
  551. package/dist/AgentUpdates.d.mts +0 -5
  552. package/dist/AgentUpdates.mjs +0 -10
  553. package/dist/AgentUpdates.mjs.map +0 -1
  554. package/dist/Approval.d.mts +0 -5
  555. package/dist/Approval.mjs +0 -10
  556. package/dist/Approval.mjs.map +0 -1
  557. package/dist/Budget.d.mts +0 -5
  558. package/dist/Budget.mjs +0 -10
  559. package/dist/Budget.mjs.map +0 -1
  560. package/dist/CodeMode.d.mts +0 -5
  561. package/dist/CodeMode.mjs +0 -10
  562. package/dist/CodeMode.mjs.map +0 -1
  563. package/dist/Commands.d.mts +0 -5
  564. package/dist/Commands.mjs +0 -10
  565. package/dist/Commands.mjs.map +0 -1
  566. package/dist/Compaction.d.mts +0 -5
  567. package/dist/Compaction.mjs +0 -10
  568. package/dist/Compaction.mjs.map +0 -1
  569. package/dist/ContextCompactor.d.mts +0 -5
  570. package/dist/ContextCompactor.mjs +0 -10
  571. package/dist/ContextCompactor.mjs.map +0 -1
  572. package/dist/ContextHistory.d.mts +0 -5
  573. package/dist/ContextHistory.mjs +0 -10
  574. package/dist/ContextHistory.mjs.map +0 -1
  575. package/dist/ContextTools.d.mts +0 -5
  576. package/dist/ContextTools.mjs +0 -10
  577. package/dist/ContextTools.mjs.map +0 -1
  578. package/dist/ContextWindow.d.mts +0 -5
  579. package/dist/ContextWindow.mjs +0 -10
  580. package/dist/ContextWindow.mjs.map +0 -1
  581. package/dist/DurableStep.d.mts +0 -5
  582. package/dist/DurableStep.mjs +0 -10
  583. package/dist/DurableStep.mjs.map +0 -1
  584. package/dist/EphemeralThreads.d.mts +0 -5
  585. package/dist/EphemeralThreads.mjs +0 -10
  586. package/dist/EphemeralThreads.mjs.map +0 -1
  587. package/dist/IdGenerator.d.mts +0 -5
  588. package/dist/IdGenerator.mjs +0 -10
  589. package/dist/IdGenerator.mjs.map +0 -1
  590. package/dist/Identifiers.d.mts +0 -5
  591. package/dist/Identifiers.mjs +0 -10
  592. package/dist/Identifiers.mjs.map +0 -1
  593. package/dist/Mcp.d.mts +0 -5
  594. package/dist/Mcp.mjs +0 -10
  595. package/dist/Mcp.mjs.map +0 -1
  596. package/dist/McpClient.d.mts +0 -5
  597. package/dist/McpClient.mjs +0 -10
  598. package/dist/McpClient.mjs.map +0 -1
  599. package/dist/Memory.d.mts +0 -5
  600. package/dist/Memory.mjs +0 -10
  601. package/dist/Memory.mjs.map +0 -1
  602. package/dist/MemoryNamespace.d.mts +0 -5
  603. package/dist/MemoryNamespace.mjs +0 -10
  604. package/dist/MemoryNamespace.mjs.map +0 -1
  605. package/dist/MemoryNotes.d.mts +0 -5
  606. package/dist/MemoryNotes.mjs +0 -10
  607. package/dist/MemoryNotes.mjs.map +0 -1
  608. package/dist/MemoryReference.d.mts +0 -5
  609. package/dist/MemoryReference.mjs +0 -10
  610. package/dist/MemoryReference.mjs.map +0 -1
  611. package/dist/MemoryRevalidation.d.mts +0 -5
  612. package/dist/MemoryRevalidation.mjs +0 -10
  613. package/dist/MemoryRevalidation.mjs.map +0 -1
  614. package/dist/MemoryStore.d.mts +0 -5
  615. package/dist/MemoryStore.mjs +0 -10
  616. package/dist/MemoryStore.mjs.map +0 -1
  617. package/dist/Messaging.d.mts +0 -5
  618. package/dist/Messaging.mjs +0 -10
  619. package/dist/Messaging.mjs.map +0 -1
  620. package/dist/MessagingHost.d.mts +0 -5
  621. package/dist/MessagingHost.mjs +0 -10
  622. package/dist/MessagingHost.mjs.map +0 -1
  623. package/dist/ModelContext.d.mts +0 -5
  624. package/dist/ModelContext.mjs +0 -10
  625. package/dist/ModelContext.mjs.map +0 -1
  626. package/dist/Receipt.d.mts +0 -5
  627. package/dist/Receipt.mjs +0 -10
  628. package/dist/Receipt.mjs.map +0 -1
  629. package/dist/Redaction.d.mts +0 -5
  630. package/dist/Redaction.mjs +0 -10
  631. package/dist/Redaction.mjs.map +0 -1
  632. package/dist/Remembering.d.mts +0 -5
  633. package/dist/Remembering.mjs +0 -10
  634. package/dist/Remembering.mjs.map +0 -1
  635. package/dist/RememberingStore.d.mts +0 -5
  636. package/dist/RememberingStore.mjs +0 -10
  637. package/dist/RememberingStore.mjs.map +0 -1
  638. package/dist/RunEvent.d.mts +0 -5
  639. package/dist/RunEvent.mjs +0 -10
  640. package/dist/RunEvent.mjs.map +0 -1
  641. package/dist/RunEventSink.d.mts +0 -5
  642. package/dist/RunEventSink.mjs +0 -10
  643. package/dist/RunEventSink.mjs.map +0 -1
  644. package/dist/RunHooks.d.mts +0 -5
  645. package/dist/RunHooks.mjs +0 -10
  646. package/dist/RunHooks.mjs.map +0 -1
  647. package/dist/RunOptions.d.mts +0 -5
  648. package/dist/RunOptions.mjs +0 -10
  649. package/dist/RunOptions.mjs.map +0 -1
  650. package/dist/RunPolicyUsage.d.mts +0 -5
  651. package/dist/RunPolicyUsage.mjs +0 -10
  652. package/dist/RunPolicyUsage.mjs.map +0 -1
  653. package/dist/SemanticMemory.d.mts +0 -5
  654. package/dist/SemanticMemory.mjs +0 -10
  655. package/dist/SemanticMemory.mjs.map +0 -1
  656. package/dist/SemanticMemoryIndex.d.mts +0 -5
  657. package/dist/SemanticMemoryIndex.mjs +0 -10
  658. package/dist/SemanticMemoryIndex.mjs.map +0 -1
  659. package/dist/SemanticMemoryRevalidation.d.mts +0 -5
  660. package/dist/SemanticMemoryRevalidation.mjs +0 -10
  661. package/dist/SemanticMemoryRevalidation.mjs.map +0 -1
  662. package/dist/Subagent.d.mts +0 -5
  663. package/dist/Subagent.mjs +0 -10
  664. package/dist/Subagent.mjs.map +0 -1
  665. package/dist/SubagentContract.d.mts +0 -5
  666. package/dist/SubagentContract.mjs +0 -10
  667. package/dist/SubagentContract.mjs.map +0 -1
  668. package/dist/SubagentHost.d.mts +0 -5
  669. package/dist/SubagentHost.mjs +0 -10
  670. package/dist/SubagentHost.mjs.map +0 -1
  671. package/dist/SubagentReservations.d.mts +0 -5
  672. package/dist/SubagentReservations.mjs +0 -10
  673. package/dist/SubagentReservations.mjs.map +0 -1
  674. package/dist/ThreadHistory.d.mts +0 -5
  675. package/dist/ThreadHistory.mjs +0 -10
  676. package/dist/ThreadHistory.mjs.map +0 -1
  677. package/dist/ToolBroker.d.mts +0 -5
  678. package/dist/ToolBroker.mjs +0 -10
  679. package/dist/ToolBroker.mjs.map +0 -1
  680. package/dist/ToolDiscovery.d.mts +0 -5
  681. package/dist/ToolDiscovery.mjs +0 -10
  682. package/dist/ToolDiscovery.mjs.map +0 -1
  683. package/dist/ToolResult.d.mts +0 -5
  684. package/dist/ToolResult.mjs +0 -10
  685. package/dist/ToolResult.mjs.map +0 -1
  686. package/dist/Usage.d.mts +0 -5
  687. package/dist/Usage.mjs +0 -10
  688. package/dist/Usage.mjs.map +0 -1
  689. package/dist/WebCapture.d.mts +0 -5
  690. package/dist/WebCapture.mjs +0 -10
  691. package/dist/WebCapture.mjs.map +0 -1
  692. package/dist/WebSearch.d.mts +0 -5
  693. package/dist/WebSearch.mjs +0 -10
  694. package/dist/WebSearch.mjs.map +0 -1
  695. package/dist/Worker.d.mts +0 -5
  696. package/dist/Worker.mjs +0 -10
  697. package/dist/Worker.mjs.map +0 -1
  698. package/dist/rolldown-runtime-BBjsoOtd.mjs +0 -27
  699. package/src/Agent.ts +0 -1
  700. package/src/AgentError.ts +0 -1
  701. package/src/AgentPolicy.ts +0 -1
  702. package/src/AgentRuntime.ts +0 -1
  703. package/src/AgentUpdates.ts +0 -1
  704. package/src/Approval.ts +0 -1
  705. package/src/Budget.ts +0 -1
  706. package/src/CodeMode.ts +0 -1
  707. package/src/Commands.ts +0 -1
  708. package/src/Compaction.ts +0 -1
  709. package/src/ContextCompactor.ts +0 -1
  710. package/src/ContextHistory.ts +0 -1
  711. package/src/ContextTools.ts +0 -1
  712. package/src/ContextWindow.ts +0 -1
  713. package/src/DurableStep.ts +0 -1
  714. package/src/EphemeralThreads.ts +0 -1
  715. package/src/IdGenerator.ts +0 -1
  716. package/src/Identifiers.ts +0 -1
  717. package/src/Mcp.ts +0 -1
  718. package/src/McpClient.ts +0 -1
  719. package/src/Memory.ts +0 -1
  720. package/src/MemoryNamespace.ts +0 -1
  721. package/src/MemoryNotes.ts +0 -1
  722. package/src/MemoryReference.ts +0 -1
  723. package/src/MemoryRevalidation.ts +0 -1
  724. package/src/MemoryStore.ts +0 -1
  725. package/src/Messaging.ts +0 -1
  726. package/src/MessagingHost.ts +0 -1
  727. package/src/ModelContext.ts +0 -1
  728. package/src/Receipt.ts +0 -1
  729. package/src/Redaction.ts +0 -1
  730. package/src/Remembering.ts +0 -1
  731. package/src/RememberingStore.ts +0 -1
  732. package/src/RunEvent.ts +0 -1
  733. package/src/RunEventSink.ts +0 -1
  734. package/src/RunHooks.ts +0 -1
  735. package/src/RunOptions.ts +0 -1
  736. package/src/RunPolicyUsage.ts +0 -1
  737. package/src/SemanticMemory.ts +0 -1
  738. package/src/SemanticMemoryIndex.ts +0 -1
  739. package/src/SemanticMemoryRevalidation.ts +0 -1
  740. package/src/Subagent.ts +0 -1
  741. package/src/SubagentContract.ts +0 -1
  742. package/src/SubagentHost.ts +0 -1
  743. package/src/SubagentReservations.ts +0 -1
  744. package/src/ThreadHistory.ts +0 -1
  745. package/src/ToolBroker.ts +0 -1
  746. package/src/ToolDiscovery.ts +0 -1
  747. package/src/ToolResult.ts +0 -1
  748. package/src/Usage.ts +0 -1
  749. package/src/WebCapture.ts +0 -1
  750. package/src/WebSearch.ts +0 -1
  751. package/src/Worker.ts +0 -1
@@ -0,0 +1,250 @@
1
+ import { Context, Effect, Schema } from "effect";
2
+
3
+ import * as MemoryNamespace from "./MemoryNamespace.ts";
4
+ import { MemoryPassage } from "./MemoryReference.ts";
5
+ import { ActiveMemoryDocument, MemoryKey } from "./MemoryStore.ts";
6
+
7
+ const Identity = Schema.NonEmptyString.check(Schema.isMaxLength(256));
8
+
9
+ const Positive = Schema.Int.check(
10
+ Schema.isBetween({ minimum: 1, maximum: Number.MAX_SAFE_INTEGER }),
11
+ );
12
+
13
+ const Timestamp = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
14
+ const Vector = Schema.Array(Schema.Finite).check(Schema.isMinLength(1), Schema.isMaxLength(4_096));
15
+
16
+ /** A host declaration of the exact embedding space and deterministic chunking policy. */
17
+ export class SemanticMemoryProfile extends Schema.Class<SemanticMemoryProfile>(
18
+ "@effect-agent/core/SemanticMemoryProfile",
19
+ )({
20
+ version: Schema.Literal(1),
21
+ provider: Identity,
22
+ model: Identity,
23
+ modelRevision: Identity,
24
+ dimensions: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 4_096 })),
25
+ chunker: Schema.Literal("utf8-codepoint@1"),
26
+ maxChunkBytes: Schema.Int.check(Schema.isBetween({ minimum: 4, maximum: 8_192 })),
27
+ distance: Schema.Literal("cosine"),
28
+ }) {}
29
+
30
+ export class SemanticMemoryChunk extends Schema.Class<SemanticMemoryChunk>(
31
+ "@effect-agent/core/SemanticMemoryChunk",
32
+ )({
33
+ passageId: MemoryPassage.fields.passageId,
34
+ ordinal: Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: 255 })),
35
+ startByte: Schema.Natural,
36
+ endByte: Schema.Natural,
37
+ text: Schema.NonEmptyString.check(Schema.isMaxLength(8_192)),
38
+ vector: Vector,
39
+ }) {}
40
+
41
+ const SourceFields = {
42
+ key: MemoryKey.Wire,
43
+ source: ActiveMemoryDocument.Wire.fields.source,
44
+ sourceGeneration: Positive,
45
+ };
46
+
47
+ class MemoryIndexSourceWire extends Schema.Class<MemoryIndexSourceWire>(
48
+ "@effect-agent/core/MemoryIndexSource",
49
+ )(SourceFields) {}
50
+
51
+ export type MemoryIndexSource<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
52
+ MemoryIndexSourceWire,
53
+ "key"
54
+ > & { readonly key: MemoryKey<Namespace> };
55
+
56
+ export const MemoryIndexSource = {
57
+ Wire: MemoryIndexSourceWire,
58
+ make: <Namespace extends MemoryNamespace.Any>(
59
+ fields: MemoryIndexSource<Namespace>,
60
+ ): MemoryIndexSource<Namespace> =>
61
+ Object.assign(Schema.decodeUnknownSync(MemoryIndexSourceWire)(fields), {
62
+ key: MemoryKey.make(fields.key),
63
+ }),
64
+ };
65
+
66
+ /** A complete replacement, prepared before touching the disposable index. */
67
+ class MemoryIndexReplacementWire extends Schema.Class<MemoryIndexReplacementWire>(
68
+ "@effect-agent/core/MemoryIndexReplacement",
69
+ )({
70
+ source: MemoryIndexSource.Wire,
71
+ profile: SemanticMemoryProfile,
72
+ chunks: Schema.Array(SemanticMemoryChunk).check(Schema.isMinLength(1), Schema.isMaxLength(256)),
73
+ }) {}
74
+
75
+ export type MemoryIndexReplacement<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> =
76
+ Omit<MemoryIndexReplacementWire, "source"> & { readonly source: MemoryIndexSource<Namespace> };
77
+
78
+ export const MemoryIndexReplacement = {
79
+ Wire: MemoryIndexReplacementWire,
80
+ make: <Namespace extends MemoryNamespace.Any>(
81
+ fields: MemoryIndexReplacement<Namespace>,
82
+ ): MemoryIndexReplacement<Namespace> =>
83
+ Object.assign(Schema.decodeUnknownSync(MemoryIndexReplacementWire)(fields), {
84
+ source: fields.source,
85
+ }),
86
+ };
87
+
88
+ class MemoryIndexCandidateWire extends Schema.Class<MemoryIndexCandidateWire>(
89
+ "@effect-agent/core/MemoryIndexCandidate",
90
+ )({
91
+ ...SourceFields,
92
+ passageId: SemanticMemoryChunk.fields.passageId,
93
+ ordinal: SemanticMemoryChunk.fields.ordinal,
94
+ startByte: SemanticMemoryChunk.fields.startByte,
95
+ endByte: SemanticMemoryChunk.fields.endByte,
96
+ text: SemanticMemoryChunk.fields.text,
97
+ score: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
98
+ indexedAt: Timestamp,
99
+ }) {}
100
+
101
+ export type MemoryIndexCandidate<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> =
102
+ Omit<MemoryIndexCandidateWire, "key"> & { readonly key: MemoryKey<Namespace> };
103
+
104
+ export const MemoryIndexCandidate = {
105
+ Wire: MemoryIndexCandidateWire,
106
+ make: <Namespace extends MemoryNamespace.Any>(
107
+ fields: MemoryIndexCandidate<Namespace>,
108
+ ): MemoryIndexCandidate<Namespace> =>
109
+ Object.assign(Schema.decodeUnknownSync(MemoryIndexCandidateWire)(fields), {
110
+ key: MemoryKey.make(fields.key),
111
+ }),
112
+ };
113
+
114
+ class MemoryIndexQueryWire extends Schema.Class<MemoryIndexQueryWire>(
115
+ "@effect-agent/core/MemoryIndexQuery",
116
+ )({
117
+ namespace: MemoryKey.Wire.fields.namespace,
118
+ vector: Vector,
119
+ limit: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 128 })),
120
+ minScore: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
121
+ maxScannedChunks: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65_536 })),
122
+ }) {}
123
+
124
+ export type MemoryIndexQuery<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
125
+ MemoryIndexQueryWire,
126
+ "namespace"
127
+ > & { readonly namespace: Namespace };
128
+
129
+ export const MemoryIndexQuery = {
130
+ Wire: MemoryIndexQueryWire,
131
+ make: <Namespace extends MemoryNamespace.Any>(
132
+ fields: MemoryIndexQuery<Namespace>,
133
+ ): MemoryIndexQuery<Namespace> =>
134
+ Object.assign(Schema.decodeUnknownSync(MemoryIndexQueryWire)(fields), {
135
+ namespace: fields.namespace,
136
+ }),
137
+ };
138
+
139
+ class MemoryIndexSearchWire extends Schema.Class<MemoryIndexSearchWire>(
140
+ "@effect-agent/core/MemoryIndexSearch",
141
+ )({
142
+ candidates: Schema.Array(MemoryIndexCandidate.Wire).check(Schema.isMaxLength(128)),
143
+ scannedChunks: Schema.Natural,
144
+ }) {}
145
+
146
+ export type MemoryIndexSearch<Namespace extends MemoryNamespace.Any = MemoryNamespace.Any> = Omit<
147
+ MemoryIndexSearchWire,
148
+ "candidates"
149
+ > & { readonly candidates: ReadonlyArray<MemoryIndexCandidate<Namespace>> };
150
+
151
+ export const MemoryIndexSearch = {
152
+ Wire: MemoryIndexSearchWire,
153
+ make: <Namespace extends MemoryNamespace.Any>(
154
+ fields: MemoryIndexSearch<Namespace>,
155
+ ): MemoryIndexSearch<Namespace> =>
156
+ Object.assign(Schema.decodeUnknownSync(MemoryIndexSearchWire)(fields), {
157
+ candidates: fields.candidates,
158
+ }),
159
+ };
160
+
161
+ export class MemoryIndexError extends Schema.TaggedError<MemoryIndexError>()("MemoryIndexError", {
162
+ operation: Identity,
163
+ reason: Schema.Literals([
164
+ "invalid-input",
165
+ "unavailable",
166
+ "corrupt",
167
+ "incompatible",
168
+ "fenced",
169
+ "budget",
170
+ ]),
171
+ }) {}
172
+
173
+ /**
174
+ * Optional disposable ranking index with one fixed embedding/chunking profile.
175
+ * replace validates a complete replacement before atomically exchanging chunks. Failure leaves
176
+ * the last successful index intact. Older generations and divergent same-generation source
177
+ * identities are fenced; refreshing the same source is allowed. Source IDs must equal key IDs.
178
+ * withdraw retains a terminal tombstone that fences every later replacement for that key.
179
+ *
180
+ * Vectors match the profile dimensions and have positive finite squared norms. Chunks form a
181
+ * nonempty contiguous ordinal/byte sequence starting at zero, with unique passage IDs and exact
182
+ * UTF-8 byte ranges bounded by maxChunkBytes. Implementations snapshot mutable caller values.
183
+ *
184
+ * Bounded adapters count every source key, including tombstones, against capacity. Replacement
185
+ * capacity is measured after removing the old chunks. Search rejects scans over maxScannedChunks
186
+ * instead of ranking a truncated prefix. scannedChunks counts all indexed chunks in the namespace
187
+ * before threshold/limit. Ties sort by source ID, revision, then ordinal in UTF-16 code-unit order.
188
+ * Scope close clears the index and makes captured methods fail unavailable.
189
+ *
190
+ * Search is ranking only: callers MUST recheck authoritative revision, access, and withdrawal.
191
+ * This port tracks no builds, extraction progress, or corpus completeness. The host owns source
192
+ * discovery, refresh scheduling, and required freshness.
193
+ */
194
+ export class SemanticMemoryIndex extends Context.Service<
195
+ SemanticMemoryIndex,
196
+ {
197
+ readonly profile: SemanticMemoryProfile;
198
+ readonly replace: <Namespace extends MemoryNamespace.Any>(
199
+ request: MemoryIndexReplacement<Namespace>,
200
+ ) => Effect.Effect<void, MemoryIndexError>;
201
+ readonly withdraw: <Namespace extends MemoryNamespace.Any>(
202
+ source: MemoryIndexSource<Namespace>,
203
+ ) => Effect.Effect<void, MemoryIndexError>;
204
+ readonly search: <Namespace extends MemoryNamespace.Any>(
205
+ query: MemoryIndexQuery<Namespace>,
206
+ ) => Effect.Effect<MemoryIndexSearch<Namespace>, MemoryIndexError>;
207
+ }
208
+ >()("@effect-agent/core/SemanticMemoryIndex") {
209
+ static fromAdapter(adapter: {
210
+ readonly profile: SemanticMemoryProfile;
211
+ readonly replace: (request: MemoryIndexReplacement) => Effect.Effect<void, MemoryIndexError>;
212
+ readonly withdraw: (source: MemoryIndexSource) => Effect.Effect<void, MemoryIndexError>;
213
+ readonly search: (
214
+ query: MemoryIndexQuery,
215
+ ) => Effect.Effect<MemoryIndexSearch, MemoryIndexError>;
216
+ }): SemanticMemoryIndex["Service"] {
217
+ return {
218
+ ...adapter,
219
+ search: Effect.fn("SemanticMemoryIndex.search")(function* <
220
+ Namespace extends MemoryNamespace.Any,
221
+ >(query: MemoryIndexQuery<Namespace>) {
222
+ const result = yield* adapter.search(query);
223
+
224
+ const checked = yield* Schema.decodeEffect(MemoryIndexSearch.Wire)(result).pipe(
225
+ Effect.mapError(() =>
226
+ MemoryIndexError.make({ operation: "restore index search", reason: "corrupt" }),
227
+ ),
228
+ );
229
+
230
+ const candidates: Array<MemoryIndexCandidate<Namespace>> = [];
231
+
232
+ for (const candidate of checked.candidates) {
233
+ if (!MemoryNamespace.equals(candidate.key.namespace, query.namespace))
234
+ return yield* MemoryIndexError.make({
235
+ operation: "restore index namespace",
236
+ reason: "corrupt",
237
+ });
238
+ candidates.push(
239
+ MemoryIndexCandidate.make({
240
+ ...candidate,
241
+ key: MemoryKey.make({ ...candidate.key, namespace: query.namespace }),
242
+ }),
243
+ );
244
+ }
245
+
246
+ return MemoryIndexSearch.make({ ...checked, candidates });
247
+ }),
248
+ };
249
+ }
250
+ }
@@ -0,0 +1,254 @@
1
+ import { Effect, Encoding, Schema } from "effect";
2
+
3
+ import { utf8ByteLength as byteLength } from "./internal/utf8.ts";
4
+ import { MemoryLookup, MemoryPassage } from "./MemoryReference.ts";
5
+ import { MemoryAccess } from "./MemoryRevalidation.ts";
6
+ import type { MemoryKey } from "./MemoryStore.ts";
7
+ import { MemoryDocument, MemoryReader, MemoryStorageError } from "./MemoryStore.ts";
8
+ import type { MemoryIndexCandidate } from "./SemanticMemoryIndex.ts";
9
+ import {
10
+ MemoryIndexError,
11
+ MemoryIndexSearch,
12
+ SemanticMemoryProfile,
13
+ } from "./SemanticMemoryIndex.ts";
14
+
15
+ export class SemanticMemoryError extends Schema.TaggedError<SemanticMemoryError>()(
16
+ "SemanticMemoryError",
17
+ {
18
+ operation: Schema.NonEmptyString,
19
+ reason: Schema.Literals([
20
+ "invalid-input",
21
+ "invalid-embedding",
22
+ "budget",
23
+ "timeout",
24
+ "source-changed",
25
+ "unavailable",
26
+ ]),
27
+ },
28
+ ) {}
29
+
30
+ export class SemanticCandidateLimits extends Schema.Class<SemanticCandidateLimits>(
31
+ "@effect-agent/core/SemanticCandidateLimits",
32
+ )({
33
+ maxCandidates: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 128 })),
34
+ maxScannedChunks: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65_536 })),
35
+ maxSourceBytes: Schema.optionalKey(
36
+ Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 67_108_864 })),
37
+ ),
38
+ /** Aggregate UTF-8 JSON passage bytes, including repeated provenance; defaults to 16 MiB. */
39
+ maxOutputBytes: Schema.optionalKey(
40
+ Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 67_108_864 })),
41
+ ),
42
+ minScore: Schema.Finite.check(Schema.isBetween({ minimum: -1, maximum: 1 })),
43
+ }) {}
44
+
45
+ export class SemanticCandidateResult extends Schema.Class<SemanticCandidateResult>(
46
+ "@effect-agent/core/SemanticCandidateResult",
47
+ )({
48
+ lookup: MemoryLookup,
49
+ scannedChunks: Schema.Natural,
50
+ staleExcluded: Schema.Natural,
51
+ unauthorizedExcluded: Schema.Natural,
52
+ }) {}
53
+
54
+ const readDocument = Effect.fn("semanticCandidates.readDocument")(function* (key: MemoryKey) {
55
+ const reader = yield* MemoryReader;
56
+
57
+ const document = yield* reader.get(key).pipe(
58
+ Effect.flatMap(Schema.decodeUnknownEffect(Schema.NullOr(MemoryDocument.Wire))),
59
+ Effect.catchTag("SchemaError", () =>
60
+ Effect.fail(
61
+ MemoryStorageError.make({ operation: "validate semantic source", reason: "corrupt" }),
62
+ ),
63
+ ),
64
+ );
65
+
66
+ if (
67
+ document !== null &&
68
+ (document.key.namespace.address !== key.namespace.address ||
69
+ document.key.id !== key.id ||
70
+ document.source.id !== key.id)
71
+ )
72
+ return yield* MemoryStorageError.make({
73
+ operation: "validate semantic source identity",
74
+ reason: "corrupt",
75
+ });
76
+
77
+ return document;
78
+ });
79
+
80
+ /**
81
+ * Revalidate one ranked batch locally. No embedding or index access; stale scored text is excluded.
82
+ * Charge each accepted passage's full JSON encoding before retaining it, including duplicates and
83
+ * authoritative metadata/attribution. maxOutputBytes bounds their aggregate, not source reads or
84
+ * a transport envelope. One passage is constructed at a time before this check.
85
+ */
86
+ export const revalidateSemanticMemoryCandidates = Effect.fn("revalidateSemanticMemoryCandidates")(
87
+ function* (
88
+ found: MemoryIndexSearch,
89
+ access: MemoryAccess,
90
+ profile: SemanticMemoryProfile,
91
+ limits: SemanticCandidateLimits,
92
+ ) {
93
+ const input = yield* Schema.decodeEffect(
94
+ Schema.Struct({
95
+ found: MemoryIndexSearch.Wire,
96
+ access: MemoryAccess.Wire,
97
+ profile: SemanticMemoryProfile,
98
+ limits: SemanticCandidateLimits,
99
+ }),
100
+ )({ found, access, profile, limits }).pipe(
101
+ Effect.mapError(() =>
102
+ MemoryIndexError.make({ operation: "validate candidates", reason: "corrupt" }),
103
+ ),
104
+ );
105
+
106
+ found = input.found;
107
+ access = input.access;
108
+ profile = input.profile;
109
+ limits = input.limits;
110
+ if (
111
+ found.candidates.length > limits.maxCandidates ||
112
+ found.scannedChunks > limits.maxScannedChunks ||
113
+ found.scannedChunks < found.candidates.length
114
+ ) {
115
+ return yield* MemoryIndexError.make({
116
+ operation: "validate candidate bounds",
117
+ reason: "corrupt",
118
+ });
119
+ }
120
+
121
+ const groups = new Map<
122
+ string,
123
+ {
124
+ readonly key: MemoryKey;
125
+ readonly candidates: Array<{
126
+ readonly rank: number;
127
+ readonly candidate: MemoryIndexCandidate;
128
+ }>;
129
+ }
130
+ >();
131
+
132
+ const rankedPassages: Array<{ readonly rank: number; readonly passage: MemoryPassage }> = [];
133
+ let staleExcluded = 0;
134
+ let unauthorizedExcluded = 0;
135
+
136
+ for (const [rank, candidate] of found.candidates.entries()) {
137
+ if (
138
+ candidate.key.namespace.address !== access.namespace.address ||
139
+ candidate.source.id !== candidate.key.id ||
140
+ candidate.score < limits.minScore
141
+ ) {
142
+ return yield* MemoryIndexError.make({
143
+ operation: "validate candidate identity",
144
+ reason: "corrupt",
145
+ });
146
+ }
147
+ const group = groups.get(candidate.key.id);
148
+
149
+ if (group === undefined) {
150
+ groups.set(candidate.key.id, { key: candidate.key, candidates: [{ rank, candidate }] });
151
+ } else group.candidates.push({ rank, candidate });
152
+ }
153
+ const maxSourceBytes = limits.maxSourceBytes ?? 16_777_216;
154
+ const maxOutputBytes = limits.maxOutputBytes ?? 16_777_216;
155
+ let sourceBytes = 0;
156
+ let outputBytes = 0;
157
+
158
+ for (const group of groups.values()) {
159
+ yield* Effect.yieldNow;
160
+ const document = yield* readDocument(group.key);
161
+
162
+ if (document === null || document._tag === "WithdrawnMemoryDocument") {
163
+ staleExcluded += group.candidates.length;
164
+ continue;
165
+ }
166
+ if (!document.scopes.includes(access.scope)) {
167
+ unauthorizedExcluded += group.candidates.length;
168
+ continue;
169
+ }
170
+
171
+ const current = group.candidates.filter(
172
+ ({ candidate }) =>
173
+ document.generation === candidate.sourceGeneration &&
174
+ document.source.revision === candidate.source.revision &&
175
+ document.source.locator === candidate.source.locator,
176
+ );
177
+
178
+ staleExcluded += group.candidates.length - current.length;
179
+ if (current.length === 0) continue;
180
+ const encoded = JSON.stringify(document);
181
+ const remainingSourceBytes = maxSourceBytes - sourceBytes;
182
+ const encodedBytes = encoded.length <= remainingSourceBytes ? byteLength(encoded) : undefined;
183
+
184
+ if (encodedBytes === undefined || encodedBytes > remainingSourceBytes) {
185
+ return yield* SemanticMemoryError.make({
186
+ operation: "query source bytes",
187
+ reason: "budget",
188
+ });
189
+ }
190
+ sourceBytes += encodedBytes;
191
+ const encodedDocument = Encoding.encodeHex(document.content.text);
192
+
193
+ for (const { rank, candidate } of current) {
194
+ if (!sameExcerpt(encodedDocument, candidate, profile.maxChunkBytes)) {
195
+ staleExcluded += 1;
196
+ continue;
197
+ }
198
+
199
+ const passage = MemoryPassage.make({
200
+ version: 1,
201
+ authority: access.namespace.address,
202
+ source: document.source,
203
+ passageId: candidate.passageId,
204
+ content: { ...document.content, text: candidate.text },
205
+ });
206
+
207
+ const encodedPassage = JSON.stringify(passage);
208
+ const remainingOutputBytes = maxOutputBytes - outputBytes;
209
+
210
+ const passageBytes =
211
+ encodedPassage.length <= remainingOutputBytes ? byteLength(encodedPassage) : undefined;
212
+
213
+ if (passageBytes === undefined || passageBytes > remainingOutputBytes) {
214
+ return yield* SemanticMemoryError.make({
215
+ operation: "query output bytes",
216
+ reason: "budget",
217
+ });
218
+ }
219
+ outputBytes += passageBytes;
220
+ rankedPassages.push({ rank, passage });
221
+ }
222
+ }
223
+
224
+ const passages = rankedPassages
225
+ .sort((left, right) => left.rank - right.rank)
226
+ .map(({ passage }) => passage);
227
+
228
+ return SemanticCandidateResult.make({
229
+ lookup: passages.length === 0 ? { _tag: "NoMatch" } : { _tag: "Found", passages },
230
+ scannedChunks: found.scannedChunks,
231
+ staleExcluded,
232
+ unauthorizedExcluded,
233
+ });
234
+ },
235
+ );
236
+
237
+ const sameExcerpt = (
238
+ encodedDocument: string,
239
+ candidate: {
240
+ readonly startByte: number;
241
+ readonly endByte: number;
242
+ readonly text: string;
243
+ },
244
+ maxChunkBytes: number,
245
+ ): boolean => {
246
+ const hex = Encoding.encodeHex(candidate.text);
247
+
248
+ return (
249
+ candidate.startByte < candidate.endByte &&
250
+ hex.length / 2 === candidate.endByte - candidate.startByte &&
251
+ hex.length / 2 <= maxChunkBytes &&
252
+ encodedDocument.slice(candidate.startByte * 2, candidate.endByte * 2) === hex
253
+ );
254
+ };
@@ -0,0 +1,196 @@
1
+ import { Context, Schema } from "effect";
2
+
3
+ import { AgentId, ThreadId, DelegationId, RunId, ToolCallId, SubmissionId } from "./Identifiers.ts";
4
+
5
+ const Natural = Schema.Natural;
6
+
7
+ /** Tree authority ceiling. Each child exposes only its own Toolkit's permitted names. */
8
+ export class SubagentGrant extends Schema.Class<SubagentGrant>(
9
+ "@effect-agent/capabilities/SubagentGrant",
10
+ )({
11
+ allowedToolNames: Schema.Array(Schema.NonEmptyString).check(Schema.isMaxLength(128)),
12
+ maxDepth: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 16 })),
13
+ /** Omitted permits either lifetime within the depth and reserved subtree budgets. */
14
+ childLifetimes: Schema.optionalKey(
15
+ Schema.Array(Schema.Literals(["attached", "background"])).check(Schema.isMaxLength(2)),
16
+ ),
17
+ }) {}
18
+
19
+ /** Intersect inherited authority; another delegation can never restore a removed capability. */
20
+ export const narrowSubagentGrant = (
21
+ declared: SubagentGrant,
22
+ inherited?: SubagentGrant,
23
+ ): SubagentGrant =>
24
+ inherited === undefined
25
+ ? declared
26
+ : SubagentGrant.make({
27
+ allowedToolNames: declared.allowedToolNames.filter((name) =>
28
+ inherited.allowedToolNames.includes(name),
29
+ ),
30
+ maxDepth: Math.min(declared.maxDepth, inherited.maxDepth),
31
+ childLifetimes: (declared.childLifetimes ?? ["attached", "background"]).filter((lifetime) =>
32
+ (inherited.childLifetimes ?? ["attached", "background"]).includes(lifetime),
33
+ ),
34
+ });
35
+
36
+ /** Finite delegable caps for one parent Run. Absent means not configured; present values are finite. */
37
+ export class SubagentDelegationCaps extends Schema.Class<SubagentDelegationCaps>(
38
+ "@effect-agent/capabilities/SubagentDelegationCaps",
39
+ )({
40
+ maxTotalChildInvocations: Schema.optionalKey(Natural),
41
+ maxConcurrentChildren: Schema.optionalKey(Natural),
42
+ maxTurns: Schema.optionalKey(Natural),
43
+ maxToolCalls: Schema.optionalKey(Natural),
44
+ maxDurationMillis: Schema.optionalKey(Natural),
45
+ maxInputTokens: Schema.optionalKey(Natural),
46
+ maxOutputTokens: Schema.optionalKey(Natural),
47
+ maxCostMicrousd: Schema.optionalKey(Natural),
48
+ maxResultBytes: Schema.optionalKey(Natural),
49
+ }) {}
50
+
51
+ const AmountFields = {
52
+ turns: Natural,
53
+ toolCalls: Natural,
54
+ durationMillis: Natural,
55
+ inputTokens: Natural,
56
+ outputTokens: Natural,
57
+ costMicrousd: Natural,
58
+ resultBytes: Natural,
59
+ } as const;
60
+
61
+ /** Exact amounts across every reservable delegation dimension. */
62
+ export class SubagentReservationAmounts extends Schema.Class<SubagentReservationAmounts>(
63
+ "@effect-agent/capabilities/SubagentReservationAmounts",
64
+ )(AmountFields) {}
65
+
66
+ /** One child reservation against the parent Run's shared delegation pool. */
67
+ export const SubagentBudgetReservation = Schema.Struct({
68
+ caps: SubagentDelegationCaps,
69
+ allocation: SubagentReservationAmounts,
70
+ /** Slots reserved for every descendant input beneath this input; absent reserves none. */
71
+ descendantInvocations: Schema.optionalKey(Natural),
72
+ });
73
+
74
+ export type SubagentBudgetReservation = typeof SubagentBudgetReservation.Type;
75
+
76
+ /** Root-relative delegation depth; the direct child of a top-level run has depth 1. */
77
+ export const DelegationDepth = Schema.Int.check(Schema.isGreaterThanOrEqualTo(1));
78
+ export type DelegationDepth = typeof DelegationDepth.Type;
79
+
80
+ /** @deprecated Names are application-owned; use DelegationTool metadata for classification. */
81
+ export const delegationToolPrefix = "delegate_";
82
+
83
+ /** @deprecated Checks a legacy spelling only, never execution, nesting or recovery semantics. */
84
+ export const isDelegationToolName = (toolName: string): boolean =>
85
+ toolName.startsWith(delegationToolPrefix);
86
+
87
+ /** Marks a Tool implementing the idempotent Subagent establishment protocol. */
88
+ export const DelegationTool = Context.Reference<boolean>("@effect-agent/core/DelegationTool", {
89
+ defaultValue: () => false,
90
+ });
91
+
92
+ /** Marks a host-managed idempotent worker operation, independently of its Tool name. */
93
+ export const WorkerOperationTool = Context.Reference<boolean>(
94
+ "@effect-agent/core/WorkerOperationTool",
95
+ {
96
+ defaultValue: () => false,
97
+ },
98
+ );
99
+
100
+ /** Identifies the background launch operation within a generated management Toolkit. */
101
+ export const BackgroundSpawnTool = Context.Reference<boolean>(
102
+ "@effect-agent/core/BackgroundSpawnTool",
103
+ {
104
+ defaultValue: () => false,
105
+ },
106
+ );
107
+
108
+ /** Declaration metadata and inherited authority determine the effective visible Tool set. */
109
+ export const isSubagentToolAllowed = (
110
+ grant: SubagentGrant | undefined,
111
+ depth: number,
112
+ name: string,
113
+ annotations: Context.Context<never>,
114
+ ): boolean =>
115
+ grant === undefined ||
116
+ (grant.allowedToolNames.includes(name) &&
117
+ (Context.get(annotations, BackgroundSpawnTool)
118
+ ? depth < grant.maxDepth &&
119
+ (grant.childLifetimes ?? ["attached", "background"]).includes("background")
120
+ : Context.get(annotations, DelegationTool)
121
+ ? depth < grant.maxDepth &&
122
+ (grant.childLifetimes ?? ["attached", "background"]).includes("attached")
123
+ : true));
124
+
125
+ /** Persisted preparation classification, checked against the resolved Tool before replay. */
126
+ export const ToolExecutionKind = Schema.Literals(["ordinary", "delegation", "orchestration"]);
127
+ export type ToolExecutionKind = typeof ToolExecutionKind.Type;
128
+
129
+ /** Resolve only trusted declaration metadata; names never authorize automatic replay. */
130
+ export const getToolExecutionKind = (annotations: Context.Context<never>): ToolExecutionKind =>
131
+ Context.get(annotations, WorkerOperationTool)
132
+ ? "orchestration"
133
+ : Context.get(annotations, DelegationTool)
134
+ ? "delegation"
135
+ : "ordinary";
136
+
137
+ /** Immutable lineage from a child Thread to the parent identity that established it. */
138
+ export class SubagentParentLink extends Schema.Class<SubagentParentLink>("SubagentParentLink")({
139
+ delegationId: DelegationId,
140
+ parentAgentId: AgentId,
141
+ parentThreadId: ThreadId,
142
+ parentRunId: RunId,
143
+ parentToolCallId: ToolCallId,
144
+ depth: DelegationDepth,
145
+ }) {}
146
+
147
+ /**
148
+ * Classification of one bounded durable delegation failure.
149
+ * `"child-failed"` and `"child-aborted"` project the
150
+ * child's canonical failed/aborted Settlement; `"child-compatibility"`
151
+ * projects the framework's `ChildCompatibilityFailure` child Settlement (the
152
+ * stored child Binding digest was unavailable — recovery never substituted
153
+ * current code); `"establishment-denied"` is a fail-closed coordinator
154
+ * refusal (lineage/digest verification, divergent replay); and
155
+ * `"declaration-unavailable"` is retained for decoding failures recorded by
156
+ * versions that required an explicit durable digest declaration.
157
+ */
158
+ export const SubagentExecutionFailureClassification = Schema.Literals([
159
+ "child-failed",
160
+ "child-aborted",
161
+ "child-compatibility",
162
+ "establishment-denied",
163
+ "declaration-unavailable",
164
+ ]);
165
+
166
+ export type SubagentExecutionFailureClassification =
167
+ typeof SubagentExecutionFailureClassification.Type;
168
+
169
+ export const maxErrorTagLength = 256;
170
+ const BoundedErrorTag = Schema.NonEmptyString.check(Schema.isMaxLength(maxErrorTagLength));
171
+
172
+ /**
173
+ * Bounded framework projection of a durable child failure, shared by attached joins and reports.
174
+ * A failed or aborted durable child
175
+ * joins its parent Tool Call as exactly this typed failure: a classification,
176
+ * the child references, and the coordinator's bounded `{errorTag, message}`
177
+ * projection — never a raw Cause, stack, provider response, secret, or child
178
+ * payload. The typed child failure union does not survive a durable
179
+ * Settlement, so `mapChildFailure` remains the ephemeral-path contract;
180
+ * Schema-declared durable domain-failure mapping is a recorded later
181
+ * extension.
182
+ */
183
+ export class SubagentExecutionFailure extends Schema.TaggedError<SubagentExecutionFailure>()(
184
+ "SubagentExecutionFailure",
185
+ {
186
+ delegationId: DelegationId,
187
+ targetAgentId: AgentId,
188
+ classification: SubagentExecutionFailureClassification,
189
+ /** Child references, present once establishment reached a child identity. */
190
+ childThreadId: Schema.optionalKey(ThreadId),
191
+ childSubmissionId: Schema.optionalKey(SubmissionId),
192
+ childRunId: Schema.optionalKey(RunId),
193
+ errorTag: BoundedErrorTag,
194
+ message: Schema.String.check(Schema.isMaxLength(4 * 1024)),
195
+ },
196
+ ) {}