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,9 @@
1
+ import { Context, type Effect } from "effect";
2
+
3
+ import type { makeWorkerRuntime } from "./worker-host.ts";
4
+
5
+ /** Canonical worker operations constructed once by the durable coordinator. */
6
+ export class WorkerRuntime extends Context.Service<
7
+ WorkerRuntime,
8
+ Effect.Success<ReturnType<typeof makeWorkerRuntime>>
9
+ >()("@effect-agent/thread/internal/WorkerRuntime") {}
@@ -0,0 +1,37 @@
1
+ /** Public AgentRuntime API. Implementation helpers remain private. */
2
+ export {
3
+ decodeFinalOutput,
4
+ encodeRunDisposition,
5
+ projectCompletionOutput,
6
+ projectCompletionFromToolOutput,
7
+ run,
8
+ runUnknown,
9
+ start,
10
+ startUnknown,
11
+ stream,
12
+ streamUnknown,
13
+ streamWithUsageAccountingUnknown,
14
+ AgentResultSchema,
15
+ AgentChildPending,
16
+ AgentSpawner,
17
+ SubagentDurability,
18
+ SubagentDurabilityError,
19
+ ToolCallWaiting,
20
+ renderInputPrompt,
21
+ withTerminalDefectEvent,
22
+ type AgentResult,
23
+ type AgentRuntimeFailure,
24
+ type AgentRuntimeRequirements,
25
+ type AgentCompletionProjectionRequirements,
26
+ type AgentSpawnerParent,
27
+ type AgentSpawnerService,
28
+ type DetachedRun,
29
+ type EngineProvidedToolServices,
30
+ type RuntimeBinding,
31
+ type SpawnDelegation,
32
+ type SpawnedChildRun,
33
+ type SpawnRunOptions,
34
+ type SubagentDurabilityDurable,
35
+ type SubagentDurabilityEphemeral,
36
+ type SubagentDurabilityService,
37
+ } from "./internal/agent-runtime.ts";
@@ -0,0 +1,11 @@
1
+ /** Public Compaction API. Implementation helpers remain private. */
2
+ export {
3
+ CLEARED_TOOL_RESULT,
4
+ COMPACTION_SUMMARY_PREFIX,
5
+ CONTEXT_ROLLOVER_PREFIX,
6
+ contextWindowId,
7
+ contextWindowMessage,
8
+ estimateMessageTokens,
9
+ estimatePromptTokens,
10
+ type ContextCompactionState,
11
+ } from "./internal/compaction.ts";
@@ -0,0 +1,277 @@
1
+ import { Context, Effect, Layer, Option, Schema, Stream } from "effect";
2
+ import { type LanguageModel, type Model, Prompt } from "effect/unstable/ai";
3
+
4
+ import { type CompactionPolicy } from "../core/AgentPolicy.ts";
5
+ import { type RunId, type ThreadId } from "../core/Identifiers.ts";
6
+ import { ContextHandoff, type ContextRolloverRequest } from "./ContextWindow.ts";
7
+ import {
8
+ buildCompactedView,
9
+ buildRolloverHandoff,
10
+ choosePruneBound,
11
+ chooseSummarizeCut,
12
+ collectCoveredMessages,
13
+ estimatePromptTokens,
14
+ evaluateMessageTokenEstimates,
15
+ renderForSummary,
16
+ SUMMARY_MAX_LENGTH,
17
+ SUMMARY_REQUEST_PREFIX,
18
+ SUMMARY_REQUEST_SUFFIX,
19
+ type ContextCompactionState,
20
+ } from "./internal/compaction.ts";
21
+
22
+ /**
23
+ * A proposed view change. Source indices are exclusive prefix bounds, never record sequences.
24
+ * Summaries contain at most 65,536 characters; the interpreter rejects oversized decisions
25
+ * before committing or changing coverage.
26
+ */
27
+ export const CompactionDecision = Schema.Union([
28
+ Schema.Struct({
29
+ kind: Schema.Literal("rollover"),
30
+ through: Schema.Natural,
31
+ handoff: Schema.optionalKey(ContextHandoff),
32
+ }),
33
+ Schema.Struct({ kind: Schema.Literal("clear-tool-results"), through: Schema.Natural }),
34
+ Schema.Struct({
35
+ kind: Schema.Literal("summarize"),
36
+ through: Schema.Natural,
37
+ summary: Schema.NonEmptyString.check(
38
+ Schema.isMaxLength(SUMMARY_MAX_LENGTH),
39
+ Schema.isPattern(/\S/),
40
+ ),
41
+ }),
42
+ ]);
43
+
44
+ export type CompactionDecision = typeof CompactionDecision.Type;
45
+
46
+ /** Expected strategy or decision-validation failure. Causes stay in the live Effect only. */
47
+ export class CompactionError extends Schema.TaggedError<CompactionError>()("CompactionError", {
48
+ message: Schema.String.check(Schema.isMaxLength(4_096)),
49
+ cause: Schema.optionalKey(Schema.Defect()),
50
+ }) {}
51
+
52
+ /** Upstream Model.captureRequirements returns this closed Layer. */
53
+ export type CompactionModelLayer = Layer.Layer<
54
+ LanguageModel.LanguageModel | Model.ProviderName | Model.ModelName
55
+ >;
56
+
57
+ /** A full message estimate, or undefined to use the native structural estimate. */
58
+ export type ContextMessageTokenEstimator = (message: Prompt.Message) => number | undefined;
59
+
60
+ /**
61
+ * One bounded pass over an immutable source snapshot. A harness owns state, metering, and
62
+ * application of decisions. The interpreter permits at most one prune followed by one replacement
63
+ * (summary or rollover), and one call to summarize per Turn, shared across every trigger.
64
+ * All model work must use summarize so it is metered.
65
+ * Callback failures and requirements pass through unchanged; strategy dependencies belong to
66
+ * its construction Layer. Protected messages cannot be removed and Tool pairs cannot be split by a decision.
67
+ */
68
+ export interface CompactionRequest<E, R> {
69
+ readonly threadId: ThreadId;
70
+ readonly runId: RunId;
71
+ readonly turn: number;
72
+ readonly source: Prompt.Prompt;
73
+ readonly state: Readonly<ContextCompactionState>;
74
+ readonly policy: CompactionPolicy;
75
+ readonly targetTokens: number | undefined;
76
+ readonly trigger: "pressure" | "overflow" | "requested";
77
+ /** Budget admission may prohibit a separate model call while still allowing a rollover. */
78
+ readonly modelCallAllowed: boolean;
79
+ /** The current captured Model's message accounting, including native fallback. */
80
+ readonly estimateMessageTokens?: ContextMessageTokenEstimator | undefined;
81
+ /** Present for a successful, singleton context rollover Tool; through excludes later steering. */
82
+ readonly requested?: (ContextRolloverRequest & { readonly through: number }) | undefined;
83
+ readonly summarize: (
84
+ prompt: Prompt.Prompt,
85
+ model?: CompactionModelLayer,
86
+ ) => Effect.Effect<string, E, R>;
87
+ }
88
+
89
+ export interface ContextCompaction {
90
+ /** Non-negative finite integer estimate, used for admission and derived prompt overhead too. */
91
+ readonly estimate: (messages: ReadonlyArray<Prompt.Message>) => number;
92
+ /** Emit decisions sequentially; the consumer commits each before pulling the next. */
93
+ readonly compact: <E, R>(
94
+ request: CompactionRequest<E, R>,
95
+ ) => Stream.Stream<CompactionDecision, E | CompactionError, R>;
96
+ }
97
+
98
+ const evaluateEstimates = <A>(
99
+ override: ContextMessageTokenEstimator | undefined,
100
+ operation: (estimate: (message: Prompt.Message) => number) => A,
101
+ ): Effect.Effect<A, CompactionError> =>
102
+ Effect.suspend(() => {
103
+ const result = evaluateMessageTokenEstimates(override, operation);
104
+
105
+ return Option.isSome(result)
106
+ ? Effect.succeed(result.value)
107
+ : CompactionError.make({
108
+ message: "Message token estimator returned an invalid token count",
109
+ });
110
+ });
111
+
112
+ const defaultCompactor = (model?: CompactionModelLayer): ContextCompaction => ({
113
+ estimate: estimatePromptTokens,
114
+ compact: <E, R>(request: CompactionRequest<E, R>) =>
115
+ Stream.unwrap(
116
+ Effect.gen(function* () {
117
+ const { source, policy, targetTokens, trigger, modelCallAllowed } = request;
118
+
119
+ if (request.requested !== undefined) {
120
+ return Stream.succeed({ kind: "rollover", ...request.requested });
121
+ }
122
+ const forceSummarize = trigger === "overflow";
123
+ const state = { ...request.state };
124
+
125
+ const keepRecentTokens =
126
+ targetTokens === undefined
127
+ ? policy.keepRecentTokens
128
+ : Math.max(1, Math.min(policy.keepRecentTokens, targetTokens));
129
+
130
+ const decisions: Array<CompactionDecision> = [];
131
+
132
+ if (!forceSummarize && policy.mode !== "summarize") {
133
+ const through = yield* evaluateEstimates(request.estimateMessageTokens, (estimate) =>
134
+ choosePruneBound(source.content, state, keepRecentTokens, targetTokens, estimate),
135
+ );
136
+
137
+ if (through > state.clearedThrough) {
138
+ state.clearedThrough = through;
139
+ decisions.push({ kind: "clear-tool-results", through });
140
+ if (
141
+ targetTokens !== undefined &&
142
+ (yield* evaluateEstimates(request.estimateMessageTokens, (estimate) =>
143
+ estimatePromptTokens(buildCompactedView(source.content, state), estimate),
144
+ )) <= targetTokens
145
+ ) {
146
+ return Stream.fromIterable(decisions);
147
+ }
148
+ }
149
+ }
150
+ const prune = Stream.fromIterable(decisions);
151
+
152
+ if ((!modelCallAllowed || policy.mode === "prune") && !forceSummarize) return prune;
153
+
154
+ return prune.pipe(
155
+ Stream.concat(
156
+ Stream.unwrap(
157
+ Effect.gen(function* () {
158
+ const through = yield* evaluateEstimates(
159
+ request.estimateMessageTokens,
160
+ (estimate) =>
161
+ chooseSummarizeCut(source.content, state, keepRecentTokens, estimate),
162
+ );
163
+
164
+ const covered = collectCoveredMessages(source.content, state, through);
165
+
166
+ if (covered.length === 0) return Stream.empty;
167
+
168
+ const transcript = renderForSummary(
169
+ covered,
170
+ state.replacement?.kind === "summarize"
171
+ ? state.replacement.summary
172
+ : state.replacement?.handoff,
173
+ );
174
+
175
+ if (transcript === undefined) {
176
+ return yield* CompactionError.make({
177
+ message: `Previous compaction summary exceeds ${SUMMARY_MAX_LENGTH} characters`,
178
+ });
179
+ }
180
+
181
+ const prompt = Prompt.fromMessages([
182
+ Prompt.userMessage({
183
+ content: [
184
+ Prompt.textPart({
185
+ text: `${SUMMARY_REQUEST_PREFIX}${transcript}${SUMMARY_REQUEST_SUFFIX}`,
186
+ }),
187
+ ],
188
+ }),
189
+ ]);
190
+
191
+ const text = yield* request.summarize(prompt, model);
192
+
193
+ return Stream.succeed({
194
+ kind: "summarize",
195
+ through,
196
+ summary: text.trim(),
197
+ } satisfies CompactionDecision);
198
+ }),
199
+ ),
200
+ ),
201
+ );
202
+ }),
203
+ ),
204
+ });
205
+
206
+ /**
207
+ * The sole interpreter compaction port. Runs without an installed service provide layer at their
208
+ * composition boundary. Decorators yield this service during construction and receive their
209
+ * underlying implementation through Layer.provide. Direct harnesses use the same Layer contract.
210
+ */
211
+ export class ContextCompactor extends Context.Service<ContextCompactor, ContextCompaction>()(
212
+ "@effect-agent/engine/ContextCompactor",
213
+ ) {
214
+ static readonly layer = Layer.succeed(ContextCompactor, defaultCompactor());
215
+
216
+ /**
217
+ * Start fresh windows without a summarizer call. The engine retains instructions/input and
218
+ * commits each boundary; a bounded emergency handoff preserves user inputs and unseen results.
219
+ * Applications provide notes/history tools alongside this strategy.
220
+ */
221
+ static readonly layerRollover = Layer.succeed(ContextCompactor, {
222
+ estimate: estimatePromptTokens,
223
+ compact: <E, R>(request: CompactionRequest<E, R>) =>
224
+ Stream.unwrap(
225
+ Effect.gen(function* () {
226
+ if (request.requested !== undefined) {
227
+ return Stream.succeed({
228
+ kind: "rollover",
229
+ ...request.requested,
230
+ } satisfies CompactionDecision);
231
+ }
232
+
233
+ // Trailing user steering may not be canonical until the next response. Keep it verbatim.
234
+ const through =
235
+ request.source.content.findLastIndex(
236
+ (message) => message.role === "assistant" || message.role === "tool",
237
+ ) + 1;
238
+
239
+ if (collectCoveredMessages(request.source.content, request.state, through).length === 0) {
240
+ return Stream.empty;
241
+ }
242
+
243
+ const handoff = yield* evaluateEstimates(request.estimateMessageTokens, (estimate) =>
244
+ buildRolloverHandoff(
245
+ request.source.content,
246
+ request.state,
247
+ request.targetTokens,
248
+ through,
249
+ estimate,
250
+ ),
251
+ );
252
+
253
+ if (handoff === undefined)
254
+ return Stream.fail(
255
+ CompactionError.make({
256
+ message: "Insufficient context capacity for an automatic rollover handoff",
257
+ }),
258
+ );
259
+
260
+ return Stream.succeed({
261
+ kind: "rollover",
262
+ through,
263
+ handoff,
264
+ } satisfies CompactionDecision);
265
+ }),
266
+ ),
267
+ });
268
+
269
+ /** Use the bounded default algorithm with a separate upstream Effect AI Model. */
270
+ static readonly layerWithModel = <Provider, Requirements>(
271
+ model: Model.Model<Provider, LanguageModel.LanguageModel, Requirements>,
272
+ ): Layer.Layer<ContextCompactor, never, Requirements> =>
273
+ Layer.effect(
274
+ ContextCompactor,
275
+ Effect.map(model.captureRequirements, (captured) => defaultCompactor(captured)),
276
+ );
277
+ }
@@ -0,0 +1,73 @@
1
+ import { Context, type Effect, Schema } from "effect";
2
+
3
+ import { ThreadId } from "../core/Identifiers.ts";
4
+
5
+ /** Canonical transcript lookup failure. Access to a Thread remains a host authorization decision. */
6
+ export class ContextHistoryError extends Schema.TaggedError<ContextHistoryError>()(
7
+ "ContextHistoryError",
8
+ {
9
+ reason: Schema.Literals(["unavailable", "not-found", "invalid-input", "limit"]),
10
+ message: Schema.String.check(Schema.isMaxLength(4_096)),
11
+ },
12
+ ) {}
13
+
14
+ export class ContextHistoryHit extends Schema.Class<ContextHistoryHit>("ContextHistoryHit")({
15
+ recordId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
16
+ windowId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
17
+ text: Schema.String.check(Schema.isMaxLength(2_000)),
18
+ }) {}
19
+
20
+ /**
21
+ * Newest-first literal substring search, trimmed and JavaScript case-folded (not FTS or regex).
22
+ * `beforeRecordId` excludes that record and every newer canonical position. Use the last hit
23
+ * from the previous page with the same query; fewer than `limit` hits (including zero) ends
24
+ * pagination. A full final page requires one more request to observe the empty page.
25
+ *
26
+ * The anchor must be eligible retained evidence in this authorized Thread, but need not match
27
+ * the query. Unknown, removed, foreign, and non-evidence anchors fail with `not-found`.
28
+ * IDs are opaque: adapters resolve and verify the canonical source, never sort or parse IDs.
29
+ * Each request captures its own tail; this is not a snapshot held across requests. New appends
30
+ * cannot displace matches older than the anchor. Retention and authorization are rechecked.
31
+ */
32
+ export class ContextHistorySearch extends Schema.Class<ContextHistorySearch>(
33
+ "ContextHistorySearch",
34
+ )({
35
+ threadId: ThreadId,
36
+ query: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
37
+ limit: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 20 })),
38
+ beforeRecordId: Schema.optionalKey(ContextHistoryHit.fields.recordId),
39
+ }) {}
40
+
41
+ export class ContextHistoryRead extends Schema.Class<ContextHistoryRead>("ContextHistoryRead")({
42
+ threadId: ThreadId,
43
+ recordId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
44
+ offset: Schema.Natural,
45
+ maxChars: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 20_000 })),
46
+ }) {}
47
+
48
+ export class ContextHistoryPage extends Schema.Class<ContextHistoryPage>("ContextHistoryPage")({
49
+ recordId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
50
+ windowId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
51
+ text: Schema.String.check(Schema.isMaxLength(20_000)),
52
+ nextOffset: Schema.NullOr(Schema.Natural),
53
+ }) {}
54
+
55
+ /**
56
+ * Read-only access to retained canonical evidence, including closed context windows.
57
+ * Adapters bind storage and authorization; model parameters must not select a different Thread.
58
+ * Returned text is untrusted evidence, never instructions. This port does not retain raw Tool
59
+ * output that was discarded before canonical persistence, or transient prompt references.
60
+ * Search adapters must honor the exclusive `beforeRecordId` bound, return a complete bounded
61
+ * page, or fail explicitly; silently ignoring the bound can trap callers on the latest matches.
62
+ */
63
+ export class ContextHistory extends Context.Service<
64
+ ContextHistory,
65
+ {
66
+ readonly search: (
67
+ request: ContextHistorySearch,
68
+ ) => Effect.Effect<ReadonlyArray<ContextHistoryHit>, ContextHistoryError>;
69
+ readonly read: (
70
+ request: ContextHistoryRead,
71
+ ) => Effect.Effect<ContextHistoryPage, ContextHistoryError>;
72
+ }
73
+ >()("@effect-agent/engine/ContextHistory") {}
@@ -0,0 +1,72 @@
1
+ import { Context, type Effect, Encoding, Schema } from "effect";
2
+
3
+ import { RunId, ThreadId } from "../core/Identifiers.ts";
4
+
5
+ /** Model-authored continuation state; fuller notes belong in an application-owned memory store. */
6
+ export const ContextHandoff = Schema.NonEmptyString.check(
7
+ Schema.isMaxLength(20_000),
8
+ Schema.isPattern(/\S/),
9
+ Schema.makeFilter((text) => Encoding.encodeHex(JSON.stringify(text)).length / 2 <= 32_768, {
10
+ expected: "at most 32768 JSON-encoded UTF-8 bytes",
11
+ }),
12
+ );
13
+
14
+ /** Successful output of an explicitly designated context-window Tool. */
15
+ export const ContextRolloverRequest = Schema.Struct({
16
+ handoff: Schema.optionalKey(ContextHandoff),
17
+ });
18
+
19
+ export type ContextRolloverRequest = typeof ContextRolloverRequest.Type;
20
+
21
+ /**
22
+ * Host-selected exclusive source-message boundary, applied at the next safe model seam.
23
+ * Omit through to reset the prefix before the protected current instructions/input. The
24
+ * engine resolves that prefix after preparation; an empty prior prefix needs no new window.
25
+ */
26
+ export const ContextRolloverSelection = Schema.Struct({
27
+ ...ContextRolloverRequest.fields,
28
+ through: Schema.optionalKey(Schema.Natural),
29
+ });
30
+
31
+ export type ContextRolloverSelection = typeof ContextRolloverSelection.Type;
32
+
33
+ /**
34
+ * Bounds resolved alongside the native model for one Turn. Output reserve must match the
35
+ * selected provider configuration. Uncounted overhead includes only provider framing or image
36
+ * token costs absent from the prompt estimate; prompt text, output contracts, and native Tool
37
+ * schemas are counted by the engine. These are live-context bounds, not cumulative Run budgets.
38
+ */
39
+ export class ModelCallContext extends Schema.Class<ModelCallContext>("ModelCallContext")({
40
+ contextCapacity: Schema.Int.check(Schema.isGreaterThan(0)),
41
+ maxInputTokens: Schema.optionalKey(Schema.Int.check(Schema.isGreaterThan(0))),
42
+ outputReserveTokens: Schema.Natural,
43
+ uncountedOverheadTokens: Schema.Natural,
44
+ }) {}
45
+
46
+ /**
47
+ * Definition-owned control annotation. A successful singleton application Tool carrying this
48
+ * annotation returns ContextRolloverRequest. The engine applies it at the next Turn seam,
49
+ * including after durable Tool-result replay. A Tool name alone never grants this authority.
50
+ */
51
+ export const ContextRolloverTool = Context.Reference<boolean>(
52
+ "@effect-agent/engine/ContextRolloverTool",
53
+ { defaultValue: () => false },
54
+ );
55
+
56
+ /** Best available live-context estimate, independent of cumulative Run budgets. */
57
+ export class ContextWindowStatus extends Schema.Class<ContextWindowStatus>("ContextWindowStatus")({
58
+ threadId: ThreadId,
59
+ runId: RunId,
60
+ windowId: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
61
+ estimatedTokens: Schema.Natural,
62
+ contextTokenLimit: Schema.NullOr(Schema.Natural),
63
+ remainingTokens: Schema.NullOr(Schema.Natural),
64
+ }) {}
65
+
66
+ /** Engine-owned identity and context accounting for the current Run. */
67
+ export class ContextWindow extends Context.Service<
68
+ ContextWindow,
69
+ {
70
+ readonly status: Effect.Effect<ContextWindowStatus>;
71
+ }
72
+ >()("@effect-agent/engine/ContextWindow") {}
@@ -0,0 +1,132 @@
1
+ import { Context, Schema } from "effect";
2
+ import type { Effect, Option } from "effect";
3
+ import type { Tool } from "effect/unstable/ai";
4
+
5
+ import { ToolCallId } from "../core/Identifiers.ts";
6
+
7
+ /**
8
+ * Declared external execution class of one Tool, used by the durable runtime
9
+ * to decide which Tool Calls need the prepared/settled uncertainty protocol:
10
+ *
11
+ * - `"readonly"`: the handler performs no external mutation. A crash between
12
+ * start and settlement is a free re-run; no prepared record is written.
13
+ * - `"idempotent"`: the handler declares an external idempotency contract
14
+ * (it owns key derivation). Prepared/settled records are written and
15
+ * recovery may re-execute without reconciliation proof.
16
+ * - `"uncertain"`: no external contract is declared. Prepared/settled records
17
+ * are written and recovery must reconcile or record an Unknown Outcome.
18
+ */
19
+ export type ToolExecutionClassValue = "readonly" | "idempotent" | "uncertain";
20
+
21
+ /**
22
+ * Effect AI Tool annotation key declaring a Tool's execution class, applied
23
+ * with `Tool.annotate(ToolExecutionClass, "...")`.
24
+ *
25
+ * Unannotated Tools default to `"uncertain"`: security and durability
26
+ * decisions are fail-closed, so the framework never infers a safer class
27
+ * from a Tool's shape.
28
+ */
29
+ export const ToolExecutionClass = Context.Reference<ToolExecutionClassValue>(
30
+ "@effect-agent/engine/ToolExecutionClass",
31
+ { defaultValue: () => "uncertain" },
32
+ );
33
+
34
+ /** Read a Tool's declared execution class, falling back to the fail-closed `"uncertain"` default. */
35
+ export const getToolExecutionClass = (tool: Tool.Any): ToolExecutionClassValue =>
36
+ Context.get(tool.annotations, ToolExecutionClass);
37
+
38
+ /** Stable identity of one Step within one Tool Call: `(toolCallId, stepName)`. */
39
+ export interface RunStepKey {
40
+ readonly toolCallId: ToolCallId;
41
+ readonly stepName: string;
42
+ }
43
+
44
+ /** A previously committed Step result in its canonical encoded form. */
45
+ export interface PersistedStepResult {
46
+ readonly encodedOutput: unknown;
47
+ }
48
+
49
+ /**
50
+ * Dependency-neutral Step persistence seam implemented by a durable
51
+ * coordinator and consumed by the engine-provided `DurableStep` service.
52
+ *
53
+ * `lookup` returns the committed result for a Step identity when one exists;
54
+ * `commit` durably records one successful encoded output. Only success is
55
+ * ever committed — recording failures would replay a transient failure
56
+ * forever. Both operations are keyed by the deterministic `RunStepKey`, so
57
+ * replays and racing writers dedupe on record identity in the adapter.
58
+ */
59
+ export interface RunStepHook<Error = never, Requirements = never> {
60
+ readonly lookup: (
61
+ key: RunStepKey,
62
+ ) => Effect.Effect<Option.Option<PersistedStepResult>, Error, Requirements>;
63
+ readonly commit: (
64
+ key: RunStepKey,
65
+ encodedOutput: unknown,
66
+ ) => Effect.Effect<void, Error, Requirements>;
67
+ }
68
+
69
+ /**
70
+ * Typed failure of one `DurableStep.do` call.
71
+ *
72
+ * `duplicate-step-name` is an identity conflict: Step names must be
73
+ * deterministic and unique within one Tool Call, and reuse would silently
74
+ * replay another Step's recorded result. `recorded-result-invalid` is the
75
+ * replay-with-different-content conflict: a committed result that no longer
76
+ * decodes through the declared output Schema is never silently accepted.
77
+ */
78
+ export class DurableStepError extends Schema.TaggedError<DurableStepError>()("DurableStepError", {
79
+ stepName: Schema.String,
80
+ reason: Schema.Literals([
81
+ "duplicate-step-name",
82
+ "lookup-failed",
83
+ "recorded-result-invalid",
84
+ "output-encoding-failed",
85
+ "commit-failed",
86
+ "no-active-tool-call",
87
+ ]),
88
+ message: Schema.String.check(Schema.isMaxLength(4_096)),
89
+ toolCallId: Schema.optionalKey(ToolCallId),
90
+ /** Diagnostic cause for the live Effect only; Run events retain the fixed public message. */
91
+ cause: Schema.optionalKey(Schema.Defect()),
92
+ }) {}
93
+
94
+ /**
95
+ * Service value provided locally by the engine to each Tool Call's handler.
96
+ *
97
+ * `do` runs one named Step with exactly-once-recorded, at-least-once-executed
98
+ * semantics: a committed result decodes through `output` and returns without
99
+ * executing the body; otherwise the body runs (a crash mid-body re-executes
100
+ * on the next Attempt), the success is encoded through `output`, and only
101
+ * then committed. The Schema argument is the canonical codec for the recorded
102
+ * result, not decoration. A Step never makes a non-idempotent external API
103
+ * exactly-once — the body must use the external system's idempotency key,
104
+ * reconciliation API, or compensating workflow.
105
+ */
106
+ export interface DurableStepService {
107
+ readonly do: <Output extends Schema.Top, BodyError, BodyServices>(
108
+ name: string,
109
+ output: Output,
110
+ execute: Effect.Effect<Output["Type"], BodyError, BodyServices>,
111
+ ) => Effect.Effect<
112
+ Output["Type"],
113
+ DurableStepError | BodyError,
114
+ BodyServices | Output["DecodingServices"] | Output["EncodingServices"]
115
+ >;
116
+ }
117
+
118
+ /**
119
+ * Engine-owned Durable Step seam.
120
+ *
121
+ * Declaring this service in `Tool.make({ dependencies: [DurableStep] })` is
122
+ * what makes a Tool a Durable Tool: its handler divides external effects into
123
+ * named Steps and may be re-entered after interruption. The engine provides
124
+ * the service locally to every Tool Call, bound to that call's identity; it
125
+ * is never satisfied from an application Layer and is excluded from the
126
+ * runtime's public requirements. Without a durable runtime the engine
127
+ * provides an ephemeral pass-through that executes each Step once and
128
+ * records nothing — the durable claim attaches to the runtime, not the Tool.
129
+ */
130
+ export class DurableStep extends Context.Service<DurableStep, DurableStepService>()(
131
+ "@effect-agent/engine/DurableStep",
132
+ ) {}