effect-agent 0.1.0-beta.15 → 0.1.0-beta.150

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 (536) hide show
  1. package/dist/Admin-B8ISZyYf.d.mts +4235 -0
  2. package/dist/Agent-1DMSO_Fl.mjs +86 -0
  3. package/dist/Agent-1DMSO_Fl.mjs.map +1 -0
  4. package/dist/Agent-Cjd_ZveM.d.mts +259 -0
  5. package/dist/AgentError-Bn1ytXRD.d.mts +117 -0
  6. package/dist/AgentPolicy-BqDoSXO6.d.mts +96 -0
  7. package/dist/AgentRuntime-D8U9gl9Q.mjs +4745 -0
  8. package/dist/AgentRuntime-D8U9gl9Q.mjs.map +1 -0
  9. package/dist/AgentRuntime-sXpKcyxu.d.mts +346 -0
  10. package/dist/AgentUpdates-DMJ-_xow.d.mts +53 -0
  11. package/dist/ContextCompactor-WwSIG_Z2.d.mts +161 -0
  12. package/dist/ContextWindow-DRQ5Mbm2.d.mts +58 -0
  13. package/dist/Digest-U69rDHuO.d.mts +22 -0
  14. package/dist/DurableAgentRuntime-DLa4IwFi.mjs +7221 -0
  15. package/dist/DurableAgentRuntime-DLa4IwFi.mjs.map +1 -0
  16. package/dist/DurableFailpoint-Cnr3wx1L.d.mts +41 -0
  17. package/dist/DurableStep-Cry_iol4.d.mts +103 -0
  18. package/dist/EventSource-CkN05NT3.d.mts +51 -0
  19. package/dist/FailureDiagnostic-BElLOoED.mjs +274 -0
  20. package/dist/FailureDiagnostic-BElLOoED.mjs.map +1 -0
  21. package/dist/FailureDiagnostic-CaAkzGHL.d.mts +223 -0
  22. package/dist/Identifiers-CN2s30fF.d.mts +40 -0
  23. package/dist/InMemory.d.mts +24 -0
  24. package/dist/InMemory.mjs +24 -0
  25. package/dist/InMemory.mjs.map +1 -0
  26. package/dist/MemoryNamespace-BbRW5p71.d.mts +36 -0
  27. package/dist/MemoryReference-B8Q3UJoJ.d.mts +79 -0
  28. package/dist/Messaging-Dkg87ebg.d.mts +221 -0
  29. package/dist/Messaging-ccQURKCf.d.mts +1067 -0
  30. package/dist/MessagingHost-D04wE-7W.d.mts +74 -0
  31. package/dist/MessagingHost-DfsbMPvq.mjs +110 -0
  32. package/dist/MessagingHost-DfsbMPvq.mjs.map +1 -0
  33. package/dist/OperationAuthorizer-TzcQtpX5.d.mts +61 -0
  34. package/dist/Output-CFD1CPfU.d.mts +25 -0
  35. package/dist/PageCapture-Df8Xwskw.d.mts +583 -0
  36. package/dist/PreparedInputAdmission-fctZOTnn.d.mts +42 -0
  37. package/dist/Receipt-BAHyigAF.d.mts +33 -0
  38. package/dist/Records-B5GFWCpn.d.mts +1104 -0
  39. package/dist/RunEvent-DIrzkjLr.d.mts +460 -0
  40. package/dist/RunEventSink-D5aVhISG.d.mts +108 -0
  41. package/dist/RunJournal-Gd83HYqG.mjs +954 -0
  42. package/dist/RunJournal-Gd83HYqG.mjs.map +1 -0
  43. package/dist/RunOptions-Bv9NpkPZ.d.mts +943 -0
  44. package/dist/RunPolicyUsage-ClZxyR46.d.mts +21 -0
  45. package/dist/Sandbox-CEsDWBLq.d.mts +173 -0
  46. package/dist/Schedule-CtYREFnz.d.mts +847 -0
  47. package/dist/Scheduling-DPb2QyAK.mjs +691 -0
  48. package/dist/Scheduling-DPb2QyAK.mjs.map +1 -0
  49. package/dist/Subagent-VHrANXFy.d.mts +1652 -0
  50. package/dist/Subagent-hG9lJ7tJ.mjs +1502 -0
  51. package/dist/Subagent-hG9lJ7tJ.mjs.map +1 -0
  52. package/dist/SubagentContract-DdT7Cqe6.d.mts +116 -0
  53. package/dist/SubagentHost-C-4A7tA2.d.mts +172 -0
  54. package/dist/Subscription-B16A-48F.d.mts +979 -0
  55. package/dist/SubscriptionInput-DIU7CiXE.d.mts +41 -0
  56. package/dist/Thread-DOBQ0QUY.d.mts +96 -0
  57. package/dist/ThreadHistory-tS1KwxHR.d.mts +60 -0
  58. package/dist/ToolBroker-DWs4tZra.d.mts +133 -0
  59. package/dist/ToolExposure-9uF_Yo0T.mjs +10 -0
  60. package/dist/ToolExposure-9uF_Yo0T.mjs.map +1 -0
  61. package/dist/ToolExposure-C93U1sPu.mjs +30 -0
  62. package/dist/ToolExposure-C93U1sPu.mjs.map +1 -0
  63. package/dist/ToolExposure-UCN12eCd.d.mts +39 -0
  64. package/dist/ToolExposure-r2eOWk4F.d.mts +46 -0
  65. package/dist/ToolExposure.d.mts +8 -0
  66. package/dist/ToolExposure.mjs +21 -0
  67. package/dist/ToolExposure.mjs.map +1 -0
  68. package/dist/ToolReconciler-BmVRAHKs.d.mts +80 -0
  69. package/dist/ToolResult-BKdqWRff.d.mts +78 -0
  70. package/dist/Usage-Dx0aknfk.d.mts +121 -0
  71. package/dist/WakeScheduler-EjUF-GhC.d.mts +56 -0
  72. package/dist/Worker-CfwzMZEK.mjs +271 -0
  73. package/dist/Worker-CfwzMZEK.mjs.map +1 -0
  74. package/dist/Worker-fwWkBg12.d.mts +472 -0
  75. package/dist/agent-registration-CKNsrpwo.mjs +201 -0
  76. package/dist/agent-registration-CKNsrpwo.mjs.map +1 -0
  77. package/dist/capabilities/Approval.d.mts +114 -0
  78. package/dist/capabilities/Approval.mjs +226 -0
  79. package/dist/capabilities/Approval.mjs.map +1 -0
  80. package/dist/capabilities/Budget.d.mts +112 -0
  81. package/dist/capabilities/Budget.mjs +346 -0
  82. package/dist/capabilities/Budget.mjs.map +1 -0
  83. package/dist/capabilities/CodeMode.d.mts +157 -0
  84. package/dist/capabilities/CodeMode.mjs +523 -0
  85. package/dist/capabilities/CodeMode.mjs.map +1 -0
  86. package/dist/capabilities/Commands.d.mts +55 -0
  87. package/dist/capabilities/Commands.mjs +57 -0
  88. package/dist/capabilities/Commands.mjs.map +1 -0
  89. package/dist/capabilities/ContextTools.d.mts +321 -0
  90. package/dist/capabilities/ContextTools.mjs +126 -0
  91. package/dist/capabilities/ContextTools.mjs.map +1 -0
  92. package/dist/capabilities/Mcp.d.mts +108 -0
  93. package/dist/capabilities/Mcp.mjs +259 -0
  94. package/dist/capabilities/Mcp.mjs.map +1 -0
  95. package/dist/capabilities/McpClient.d.mts +115 -0
  96. package/dist/capabilities/McpClient.mjs +519 -0
  97. package/dist/capabilities/McpClient.mjs.map +1 -0
  98. package/dist/capabilities/MemoryNotes.d.mts +424 -0
  99. package/dist/capabilities/MemoryNotes.mjs +128 -0
  100. package/dist/capabilities/MemoryNotes.mjs.map +1 -0
  101. package/dist/capabilities/Messaging.d.mts +3 -0
  102. package/dist/capabilities/Messaging.mjs +152 -0
  103. package/dist/capabilities/Messaging.mjs.map +1 -0
  104. package/dist/capabilities/ModelContext.d.mts +89 -0
  105. package/dist/capabilities/ModelContext.mjs +168 -0
  106. package/dist/capabilities/ModelContext.mjs.map +1 -0
  107. package/dist/capabilities/Redaction.d.mts +37 -0
  108. package/dist/capabilities/Redaction.mjs +104 -0
  109. package/dist/capabilities/Redaction.mjs.map +1 -0
  110. package/dist/capabilities/Remembering.d.mts +434 -0
  111. package/dist/capabilities/Remembering.mjs +290 -0
  112. package/dist/capabilities/Remembering.mjs.map +1 -0
  113. package/dist/capabilities/RunHooks.d.mts +82 -0
  114. package/dist/capabilities/RunHooks.mjs +144 -0
  115. package/dist/capabilities/RunHooks.mjs.map +1 -0
  116. package/dist/capabilities/SemanticMemory.d.mts +431 -0
  117. package/dist/capabilities/SemanticMemory.mjs +315 -0
  118. package/dist/capabilities/SemanticMemory.mjs.map +1 -0
  119. package/dist/capabilities/Subagent.d.mts +4 -0
  120. package/dist/capabilities/Subagent.mjs +5 -0
  121. package/dist/capabilities/SubagentReservations.d.mts +186 -0
  122. package/dist/capabilities/SubagentReservations.mjs +479 -0
  123. package/dist/capabilities/SubagentReservations.mjs.map +1 -0
  124. package/dist/capabilities/ToolDiscovery.d.mts +124 -0
  125. package/dist/capabilities/ToolDiscovery.mjs +230 -0
  126. package/dist/capabilities/ToolDiscovery.mjs.map +1 -0
  127. package/dist/capabilities/WebCapture.d.mts +163 -0
  128. package/dist/capabilities/WebCapture.mjs +335 -0
  129. package/dist/capabilities/WebCapture.mjs.map +1 -0
  130. package/dist/capabilities/WebSearch.d.mts +71 -0
  131. package/dist/capabilities/WebSearch.mjs +115 -0
  132. package/dist/capabilities/WebSearch.mjs.map +1 -0
  133. package/dist/compaction-C2OTceKw.mjs +505 -0
  134. package/dist/compaction-C2OTceKw.mjs.map +1 -0
  135. package/dist/core/Agent.d.mts +2 -0
  136. package/dist/core/Agent.mjs +2 -0
  137. package/dist/core/AgentError.d.mts +2 -0
  138. package/dist/core/AgentError.mjs +134 -0
  139. package/dist/core/AgentError.mjs.map +1 -0
  140. package/dist/core/AgentPolicy.d.mts +2 -0
  141. package/dist/core/AgentPolicy.mjs +94 -0
  142. package/dist/core/AgentPolicy.mjs.map +1 -0
  143. package/dist/core/AgentUpdates.d.mts +2 -0
  144. package/dist/core/AgentUpdates.mjs +63 -0
  145. package/dist/core/AgentUpdates.mjs.map +1 -0
  146. package/dist/core/FailureDiagnostic.d.mts +2 -0
  147. package/dist/core/FailureDiagnostic.mjs +2 -0
  148. package/dist/core/IdGenerator.d.mts +26 -0
  149. package/dist/core/IdGenerator.mjs +27 -0
  150. package/dist/core/IdGenerator.mjs.map +1 -0
  151. package/dist/core/Identifiers.d.mts +2 -0
  152. package/dist/core/Identifiers.mjs +43 -0
  153. package/dist/core/Identifiers.mjs.map +1 -0
  154. package/dist/core/Memory.d.mts +57 -0
  155. package/dist/core/Memory.mjs +203 -0
  156. package/dist/core/Memory.mjs.map +1 -0
  157. package/dist/core/MemoryNamespace.d.mts +2 -0
  158. package/dist/core/MemoryNamespace.mjs +116 -0
  159. package/dist/core/MemoryNamespace.mjs.map +1 -0
  160. package/dist/core/MemoryReference.d.mts +2 -0
  161. package/dist/core/MemoryReference.mjs +109 -0
  162. package/dist/core/MemoryReference.mjs.map +1 -0
  163. package/dist/core/MemoryRevalidation.d.mts +65 -0
  164. package/dist/core/MemoryRevalidation.mjs +126 -0
  165. package/dist/core/MemoryRevalidation.mjs.map +1 -0
  166. package/dist/core/MemoryStore.d.mts +186 -0
  167. package/dist/core/MemoryStore.mjs +243 -0
  168. package/dist/core/MemoryStore.mjs.map +1 -0
  169. package/dist/core/Receipt.d.mts +2 -0
  170. package/dist/core/Receipt.mjs +36 -0
  171. package/dist/core/Receipt.mjs.map +1 -0
  172. package/dist/core/RememberingStore.d.mts +1562 -0
  173. package/dist/core/RememberingStore.mjs +190 -0
  174. package/dist/core/RememberingStore.mjs.map +1 -0
  175. package/dist/core/RunEvent.d.mts +2 -0
  176. package/dist/core/RunEvent.mjs +337 -0
  177. package/dist/core/RunEvent.mjs.map +1 -0
  178. package/dist/core/RunPolicyUsage.d.mts +2 -0
  179. package/dist/core/RunPolicyUsage.mjs +21 -0
  180. package/dist/core/RunPolicyUsage.mjs.map +1 -0
  181. package/dist/core/SemanticMemoryIndex.d.mts +826 -0
  182. package/dist/core/SemanticMemoryIndex.mjs +185 -0
  183. package/dist/core/SemanticMemoryIndex.mjs.map +1 -0
  184. package/dist/core/SemanticMemoryRevalidation.d.mts +45 -0
  185. package/dist/core/SemanticMemoryRevalidation.mjs +191 -0
  186. package/dist/core/SemanticMemoryRevalidation.mjs.map +1 -0
  187. package/dist/core/SubagentContract.d.mts +2 -0
  188. package/dist/core/SubagentContract.mjs +148 -0
  189. package/dist/core/SubagentContract.mjs.map +1 -0
  190. package/dist/core/Thread.d.mts +2 -0
  191. package/dist/core/Thread.mjs +250 -0
  192. package/dist/core/Thread.mjs.map +1 -0
  193. package/dist/core/ToolResult.d.mts +2 -0
  194. package/dist/core/ToolResult.mjs +156 -0
  195. package/dist/core/ToolResult.mjs.map +1 -0
  196. package/dist/core/Usage.d.mts +2 -0
  197. package/dist/core/Usage.mjs +319 -0
  198. package/dist/core/Usage.mjs.map +1 -0
  199. package/dist/core/Worker.d.mts +3 -0
  200. package/dist/core/Worker.mjs +3 -0
  201. package/dist/durable/ActivityStore.d.mts +116 -0
  202. package/dist/durable/ActivityStore.mjs +131 -0
  203. package/dist/durable/ActivityStore.mjs.map +1 -0
  204. package/dist/durable/Admin.d.mts +2 -0
  205. package/dist/durable/Admin.mjs +330 -0
  206. package/dist/durable/Admin.mjs.map +1 -0
  207. package/dist/durable/AgentRegistration.d.mts +2 -0
  208. package/dist/durable/AgentRegistration.mjs +14 -0
  209. package/dist/durable/AgentRegistration.mjs.map +1 -0
  210. package/dist/durable/Certification.d.mts +110 -0
  211. package/dist/durable/Certification.mjs +159 -0
  212. package/dist/durable/Certification.mjs.map +1 -0
  213. package/dist/durable/CommittedActivity.d.mts +64 -0
  214. package/dist/durable/CommittedActivity.mjs +159 -0
  215. package/dist/durable/CommittedActivity.mjs.map +1 -0
  216. package/dist/durable/Digest.d.mts +2 -0
  217. package/dist/durable/Digest.mjs +50 -0
  218. package/dist/durable/Digest.mjs.map +1 -0
  219. package/dist/durable/DurableAgentRuntime.d.mts +3 -0
  220. package/dist/durable/DurableAgentRuntime.mjs +3 -0
  221. package/dist/durable/DurableFailpoint.d.mts +2 -0
  222. package/dist/durable/DurableFailpoint.mjs +102 -0
  223. package/dist/durable/DurableFailpoint.mjs.map +1 -0
  224. package/dist/durable/DurableFailpointTestControl.d.mts +14 -0
  225. package/dist/durable/DurableFailpointTestControl.mjs +19 -0
  226. package/dist/durable/DurableFailpointTestControl.mjs.map +1 -0
  227. package/dist/durable/EventSource.d.mts +2 -0
  228. package/dist/durable/EventSource.mjs +65 -0
  229. package/dist/durable/EventSource.mjs.map +1 -0
  230. package/dist/durable/GitHubWorkflowSource.d.mts +185 -0
  231. package/dist/durable/GitHubWorkflowSource.mjs +209 -0
  232. package/dist/durable/GitHubWorkflowSource.mjs.map +1 -0
  233. package/dist/durable/LifecyclePublication.d.mts +2 -0
  234. package/dist/durable/LifecyclePublication.mjs +189 -0
  235. package/dist/durable/LifecyclePublication.mjs.map +1 -0
  236. package/dist/durable/MessageDelivery.d.mts +935 -0
  237. package/dist/durable/MessageDelivery.mjs +557 -0
  238. package/dist/durable/MessageDelivery.mjs.map +1 -0
  239. package/dist/durable/MessageDeliveryStoreConformance.d.mts +400 -0
  240. package/dist/durable/MessageDeliveryStoreConformance.mjs +270 -0
  241. package/dist/durable/MessageDeliveryStoreConformance.mjs.map +1 -0
  242. package/dist/durable/OperationAuthorizer.d.mts +2 -0
  243. package/dist/durable/OperationAuthorizer.mjs +70 -0
  244. package/dist/durable/OperationAuthorizer.mjs.map +1 -0
  245. package/dist/durable/PersistentHistory.d.mts +16 -0
  246. package/dist/durable/PersistentHistory.mjs +125 -0
  247. package/dist/durable/PersistentHistory.mjs.map +1 -0
  248. package/dist/durable/PreparedInputAdmission.d.mts +2 -0
  249. package/dist/durable/PreparedInputAdmission.mjs +38 -0
  250. package/dist/durable/PreparedInputAdmission.mjs.map +1 -0
  251. package/dist/durable/Records.d.mts +2 -0
  252. package/dist/durable/Records.mjs +858 -0
  253. package/dist/durable/Records.mjs.map +1 -0
  254. package/dist/durable/Recovery.d.mts +2 -0
  255. package/dist/durable/Recovery.mjs +739 -0
  256. package/dist/durable/Recovery.mjs.map +1 -0
  257. package/dist/durable/RunJournal.d.mts +2 -0
  258. package/dist/durable/RunJournal.mjs +2 -0
  259. package/dist/durable/Schedule.d.mts +2 -0
  260. package/dist/durable/Schedule.mjs +391 -0
  261. package/dist/durable/Schedule.mjs.map +1 -0
  262. package/dist/durable/ScheduleStoreConformance.d.mts +17 -0
  263. package/dist/durable/ScheduleStoreConformance.mjs +420 -0
  264. package/dist/durable/ScheduleStoreConformance.mjs.map +1 -0
  265. package/dist/durable/ScheduleTransition.d.mts +24 -0
  266. package/dist/durable/ScheduleTransition.mjs +180 -0
  267. package/dist/durable/ScheduleTransition.mjs.map +1 -0
  268. package/dist/durable/Scheduling.d.mts +55 -0
  269. package/dist/durable/Scheduling.mjs +2 -0
  270. package/dist/durable/SqlMemoryStore.d.mts +29 -0
  271. package/dist/durable/SqlMemoryStore.mjs +436 -0
  272. package/dist/durable/SqlMemoryStore.mjs.map +1 -0
  273. package/dist/durable/SubmissionLedger.d.mts +3 -0
  274. package/dist/durable/SubmissionLedger.mjs +986 -0
  275. package/dist/durable/SubmissionLedger.mjs.map +1 -0
  276. package/dist/durable/SubmissionLedgerConformance.d.mts +30 -0
  277. package/dist/durable/SubmissionLedgerConformance.mjs +2254 -0
  278. package/dist/durable/SubmissionLedgerConformance.mjs.map +1 -0
  279. package/dist/durable/SubmissionStatus.d.mts +2 -0
  280. package/dist/durable/SubmissionStatus.mjs +18 -0
  281. package/dist/durable/SubmissionStatus.mjs.map +1 -0
  282. package/dist/durable/Subscription.d.mts +2 -0
  283. package/dist/durable/Subscription.mjs +360 -0
  284. package/dist/durable/Subscription.mjs.map +1 -0
  285. package/dist/durable/SubscriptionInput.d.mts +2 -0
  286. package/dist/durable/SubscriptionInput.mjs +52 -0
  287. package/dist/durable/SubscriptionInput.mjs.map +1 -0
  288. package/dist/durable/SubscriptionStoreConformance.d.mts +16 -0
  289. package/dist/durable/SubscriptionStoreConformance.mjs +625 -0
  290. package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -0
  291. package/dist/durable/SubscriptionTools.d.mts +274 -0
  292. package/dist/durable/SubscriptionTools.mjs +190 -0
  293. package/dist/durable/SubscriptionTools.mjs.map +1 -0
  294. package/dist/durable/SubscriptionTransition.d.mts +21 -0
  295. package/dist/durable/SubscriptionTransition.mjs +148 -0
  296. package/dist/durable/SubscriptionTransition.mjs.map +1 -0
  297. package/dist/durable/Subscriptions.d.mts +74 -0
  298. package/dist/durable/Subscriptions.mjs +627 -0
  299. package/dist/durable/Subscriptions.mjs.map +1 -0
  300. package/dist/durable/ThreadContextHistory.d.mts +32 -0
  301. package/dist/durable/ThreadContextHistory.mjs +152 -0
  302. package/dist/durable/ThreadContextHistory.mjs.map +1 -0
  303. package/dist/durable/ThreadContextHistoryProjection.d.mts +60 -0
  304. package/dist/durable/ThreadContextHistoryProjection.mjs +149 -0
  305. package/dist/durable/ThreadContextHistoryProjection.mjs.map +1 -0
  306. package/dist/durable/ThreadInvariants.d.mts +77 -0
  307. package/dist/durable/ThreadInvariants.mjs +246 -0
  308. package/dist/durable/ThreadInvariants.mjs.map +1 -0
  309. package/dist/durable/ThreadProjection.d.mts +78 -0
  310. package/dist/durable/ThreadProjection.mjs +158 -0
  311. package/dist/durable/ThreadProjection.mjs.map +1 -0
  312. package/dist/durable/ThreadProjectionMaintenance.d.mts +49 -0
  313. package/dist/durable/ThreadProjectionMaintenance.mjs +33 -0
  314. package/dist/durable/ThreadProjectionMaintenance.mjs.map +1 -0
  315. package/dist/durable/ThreadStore.d.mts +2 -0
  316. package/dist/durable/ThreadStore.mjs +383 -0
  317. package/dist/durable/ThreadStore.mjs.map +1 -0
  318. package/dist/durable/ThreadStoreConformance.d.mts +28 -0
  319. package/dist/durable/ThreadStoreConformance.mjs +543 -0
  320. package/dist/durable/ThreadStoreConformance.mjs.map +1 -0
  321. package/dist/durable/ToolReconciler.d.mts +2 -0
  322. package/dist/durable/ToolReconciler.mjs +85 -0
  323. package/dist/durable/ToolReconciler.mjs.map +1 -0
  324. package/dist/durable/WakeScheduler.d.mts +2 -0
  325. package/dist/durable/WakeScheduler.mjs +85 -0
  326. package/dist/durable/WakeScheduler.mjs.map +1 -0
  327. package/dist/durable/WorkerHost.d.mts +156 -0
  328. package/dist/durable/WorkerHost.mjs +77 -0
  329. package/dist/durable/WorkerHost.mjs.map +1 -0
  330. package/dist/engine/AgentRuntime.d.mts +2 -0
  331. package/dist/engine/AgentRuntime.mjs +2 -0
  332. package/dist/engine/Compaction.d.mts +7 -0
  333. package/dist/engine/Compaction.mjs +16 -0
  334. package/dist/engine/Compaction.mjs.map +1 -0
  335. package/dist/engine/ContextCompactor.d.mts +2 -0
  336. package/dist/engine/ContextCompactor.mjs +119 -0
  337. package/dist/engine/ContextCompactor.mjs.map +1 -0
  338. package/dist/engine/ContextHistory.d.mts +65 -0
  339. package/dist/engine/ContextHistory.mjs +76 -0
  340. package/dist/engine/ContextHistory.mjs.map +1 -0
  341. package/dist/engine/ContextWindow.d.mts +2 -0
  342. package/dist/engine/ContextWindow.mjs +59 -0
  343. package/dist/engine/ContextWindow.mjs.map +1 -0
  344. package/dist/engine/DurableStep.d.mts +2 -0
  345. package/dist/engine/DurableStep.mjs +62 -0
  346. package/dist/engine/DurableStep.mjs.map +1 -0
  347. package/dist/engine/MessagingHost.d.mts +2 -0
  348. package/dist/engine/MessagingHost.mjs +2 -0
  349. package/dist/engine/Output.d.mts +2 -0
  350. package/dist/engine/Output.mjs +8 -0
  351. package/dist/engine/Output.mjs.map +1 -0
  352. package/dist/engine/RunEventSink.d.mts +2 -0
  353. package/dist/engine/RunEventSink.mjs +22 -0
  354. package/dist/engine/RunEventSink.mjs.map +1 -0
  355. package/dist/engine/RunOptions.d.mts +2 -0
  356. package/dist/engine/RunOptions.mjs +124 -0
  357. package/dist/engine/RunOptions.mjs.map +1 -0
  358. package/dist/engine/SubagentHost.d.mts +2 -0
  359. package/dist/engine/SubagentHost.mjs +76 -0
  360. package/dist/engine/SubagentHost.mjs.map +1 -0
  361. package/dist/engine/ThreadHistory.d.mts +2 -0
  362. package/dist/engine/ThreadHistory.mjs +67 -0
  363. package/dist/engine/ThreadHistory.mjs.map +1 -0
  364. package/dist/engine/ToolBroker.d.mts +2 -0
  365. package/dist/engine/ToolBroker.mjs +42 -0
  366. package/dist/engine/ToolBroker.mjs.map +1 -0
  367. package/dist/foreign-diagnostic-DBQ1XHKh.mjs +37 -0
  368. package/dist/foreign-diagnostic-DBQ1XHKh.mjs.map +1 -0
  369. package/dist/index.d.mts +91 -6
  370. package/dist/index.mjs +99 -6
  371. package/dist/output-contract-DS-S8mTv.mjs +135 -0
  372. package/dist/output-contract-DS-S8mTv.mjs.map +1 -0
  373. package/dist/rolldown-runtime-D7D4PA-g.mjs +13 -0
  374. package/dist/sandbox/CodeExecutor.d.mts +194 -0
  375. package/dist/sandbox/CodeExecutor.mjs +278 -0
  376. package/dist/sandbox/CodeExecutor.mjs.map +1 -0
  377. package/dist/sandbox/InteractiveBrowser.d.mts +257 -0
  378. package/dist/sandbox/InteractiveBrowser.mjs +236 -0
  379. package/dist/sandbox/InteractiveBrowser.mjs.map +1 -0
  380. package/dist/sandbox/PageCapture.d.mts +2 -0
  381. package/dist/sandbox/PageCapture.mjs +450 -0
  382. package/dist/sandbox/PageCapture.mjs.map +1 -0
  383. package/dist/sandbox/PageCrawl.d.mts +88 -0
  384. package/dist/sandbox/PageCrawl.mjs +124 -0
  385. package/dist/sandbox/PageCrawl.mjs.map +1 -0
  386. package/dist/sandbox/PageScreenshot.d.mts +48 -0
  387. package/dist/sandbox/PageScreenshot.mjs +53 -0
  388. package/dist/sandbox/PageScreenshot.mjs.map +1 -0
  389. package/dist/sandbox/Sandbox.d.mts +2 -0
  390. package/dist/sandbox/Sandbox.mjs +208 -0
  391. package/dist/sandbox/Sandbox.mjs.map +1 -0
  392. package/dist/utf8-BYfhEkcj.mjs +11 -0
  393. package/dist/utf8-BYfhEkcj.mjs.map +1 -0
  394. package/dist/utf8-DchGZRBd.mjs +23 -0
  395. package/dist/utf8-DchGZRBd.mjs.map +1 -0
  396. package/package.json +1 -40
  397. package/src/InMemory.ts +19 -0
  398. package/src/ToolExposure.ts +2 -0
  399. package/src/capabilities/Approval.ts +352 -0
  400. package/src/capabilities/Budget.ts +536 -0
  401. package/src/capabilities/CodeMode.ts +1099 -0
  402. package/src/capabilities/Commands.ts +86 -0
  403. package/src/capabilities/ContextTools.ts +184 -0
  404. package/src/capabilities/Mcp.ts +426 -0
  405. package/src/capabilities/McpClient.ts +983 -0
  406. package/src/capabilities/MemoryNotes.ts +174 -0
  407. package/src/capabilities/Messaging.ts +261 -0
  408. package/src/capabilities/ModelContext.ts +354 -0
  409. package/src/capabilities/Redaction.ts +157 -0
  410. package/src/capabilities/Remembering.ts +550 -0
  411. package/src/capabilities/RunHooks.ts +280 -0
  412. package/src/capabilities/SemanticMemory.ts +447 -0
  413. package/src/capabilities/Subagent.ts +2489 -0
  414. package/src/capabilities/SubagentReservations.ts +850 -0
  415. package/src/capabilities/ToolDiscovery.ts +369 -0
  416. package/src/capabilities/WebCapture.ts +722 -0
  417. package/src/capabilities/WebSearch.ts +190 -0
  418. package/src/capabilities/internal/subagent-background.ts +1307 -0
  419. package/src/capabilities/internal/subagent-contract.ts +146 -0
  420. package/src/capabilities/internal/subagent-policy.ts +235 -0
  421. package/src/capabilities/internal/subagent-reporting.ts +136 -0
  422. package/src/capabilities/internal/utf8.ts +10 -0
  423. package/src/core/Agent.ts +609 -0
  424. package/src/core/AgentError.ts +172 -0
  425. package/src/core/AgentPolicy.ts +153 -0
  426. package/src/core/AgentUpdates.ts +100 -0
  427. package/src/core/FailureDiagnostic.ts +343 -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 +72 -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 +190 -0
  446. package/src/core/Usage.ts +529 -0
  447. package/src/core/Worker.ts +240 -0
  448. package/src/core/internal/agent-updates.ts +34 -0
  449. package/src/core/internal/message-status.ts +60 -0
  450. package/src/core/internal/strict-schema.ts +14 -0
  451. package/src/core/internal/utf8.ts +23 -0
  452. package/src/durable/ActivityStore.ts +160 -0
  453. package/src/durable/Admin.ts +505 -0
  454. package/src/durable/AgentRegistration.ts +14 -0
  455. package/src/durable/Certification.ts +210 -0
  456. package/src/durable/CommittedActivity.ts +296 -0
  457. package/src/durable/Digest.ts +87 -0
  458. package/src/durable/DurableAgentRuntime.ts +11407 -0
  459. package/src/durable/DurableFailpoint.ts +111 -0
  460. package/src/durable/DurableFailpointTestControl.ts +39 -0
  461. package/src/durable/EventSource.ts +172 -0
  462. package/src/durable/GitHubWorkflowSource.ts +447 -0
  463. package/src/durable/LifecyclePublication.ts +298 -0
  464. package/src/durable/MessageDelivery.ts +834 -0
  465. package/src/durable/MessageDeliveryStoreConformance.ts +410 -0
  466. package/src/durable/OperationAuthorizer.ts +85 -0
  467. package/src/durable/PersistentHistory.ts +260 -0
  468. package/src/durable/PreparedInputAdmission.ts +57 -0
  469. package/src/durable/Records.ts +1087 -0
  470. package/src/durable/Recovery.ts +1018 -0
  471. package/src/durable/RunJournal.ts +1695 -0
  472. package/src/durable/Schedule.ts +513 -0
  473. package/src/durable/ScheduleStoreConformance.ts +638 -0
  474. package/src/durable/ScheduleTransition.ts +265 -0
  475. package/src/durable/Scheduling.ts +1077 -0
  476. package/src/durable/SqlMemoryStore.ts +778 -0
  477. package/src/durable/SubmissionLedger.ts +1297 -0
  478. package/src/durable/SubmissionLedgerConformance.ts +4940 -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 +507 -0
  489. package/src/durable/ThreadProjection.ts +269 -0
  490. package/src/durable/ThreadProjectionMaintenance.ts +67 -0
  491. package/src/durable/ThreadStore.ts +637 -0
  492. package/src/durable/ThreadStoreConformance.ts +1296 -0
  493. package/src/durable/ToolReconciler.ts +109 -0
  494. package/src/durable/WakeScheduler.ts +134 -0
  495. package/src/durable/WorkerHost.ts +205 -0
  496. package/src/durable/internal/agent-registration.ts +587 -0
  497. package/src/durable/internal/agent-updates.ts +306 -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 +124 -0
  501. package/src/durable/internal/message-status.ts +20 -0
  502. package/src/durable/internal/messaging-host.ts +637 -0
  503. package/src/durable/internal/schedule-time.ts +303 -0
  504. package/src/durable/internal/worker-host.ts +3311 -0
  505. package/src/durable/internal/worker-runtime.ts +9 -0
  506. package/src/engine/AgentRuntime.ts +37 -0
  507. package/src/engine/Compaction.ts +11 -0
  508. package/src/engine/ContextCompactor.ts +277 -0
  509. package/src/engine/ContextHistory.ts +73 -0
  510. package/src/engine/ContextWindow.ts +72 -0
  511. package/src/engine/DurableStep.ts +132 -0
  512. package/src/engine/MessagingHost.ts +110 -0
  513. package/src/engine/Output.ts +2 -0
  514. package/src/engine/RunEventSink.ts +132 -0
  515. package/src/engine/RunOptions.ts +1109 -0
  516. package/src/engine/SubagentHost.ts +239 -0
  517. package/src/engine/ThreadHistory.ts +120 -0
  518. package/src/engine/ToolBroker.ts +157 -0
  519. package/src/engine/ToolExposure.ts +48 -0
  520. package/src/engine/internal/agent-runtime.ts +10596 -0
  521. package/src/engine/internal/bounded-value.ts +315 -0
  522. package/src/engine/internal/compaction.ts +678 -0
  523. package/src/engine/internal/error-diagnostic.ts +39 -0
  524. package/src/engine/internal/output-contract.ts +250 -0
  525. package/src/engine/internal/primitive-delta.ts +80 -0
  526. package/src/engine/internal/provider-result-staging.ts +211 -0
  527. package/src/engine/internal/tool-derivative.ts +106 -0
  528. package/src/engine/internal/tool-exposure.ts +224 -0
  529. package/src/engine/internal/tool-telemetry.ts +484 -0
  530. package/src/index.ts +98 -22
  531. package/src/sandbox/CodeExecutor.ts +352 -0
  532. package/src/sandbox/InteractiveBrowser.ts +339 -0
  533. package/src/sandbox/PageCapture.ts +691 -0
  534. package/src/sandbox/PageCrawl.ts +148 -0
  535. package/src/sandbox/PageScreenshot.ts +81 -0
  536. package/src/sandbox/Sandbox.ts +241 -0
@@ -0,0 +1,240 @@
1
+ import { Schema } from "effect";
2
+
3
+ import { AgentPolicy } from "./AgentPolicy.ts";
4
+ import { Update } from "./AgentUpdates.ts";
5
+ import * as FailureDiagnostic from "./FailureDiagnostic.ts";
6
+ import { AgentId, DelegationId, RunId, SettlementId, ThreadId, ToolCallId } from "./Identifiers.ts";
7
+ import { MessageStatus } from "./internal/message-status.ts";
8
+ import { IdempotencyKey, Receipt } from "./Receipt.ts";
9
+ import { SubagentExecutionFailure, SubagentGrant } from "./SubagentContract.ts";
10
+
11
+ /** Assignment output selected through the Definition's runDisposition declaration. */
12
+ export const AssignmentDisposition = Schema.Literals(["completed", "waiting"]);
13
+ export type AssignmentDisposition = typeof AssignmentDisposition.Type;
14
+
15
+ /** A permanent destination outcome; an ordinary Run completion does not imply this. */
16
+ export const AssignmentTerminal = Schema.Literals(["completed", "failed", "cancelled"]);
17
+ export type AssignmentTerminal = typeof AssignmentTerminal.Type;
18
+
19
+ /** A reusable child Thread, correlated with its declaration. This value grants no authority. */
20
+ export const WorkerRef = Schema.Struct({
21
+ schemaVersion: Schema.Literal(1),
22
+ delegationId: DelegationId,
23
+ targetAgentId: AgentId,
24
+ threadId: ThreadId,
25
+ });
26
+
27
+ export type WorkerRef = typeof WorkerRef.Type;
28
+
29
+ /** A continuing worker identity and retained first delivery, never an execution handle. */
30
+ export const WorkerStarted = Schema.Struct({
31
+ worker: WorkerRef,
32
+ delivery: MessageStatus,
33
+ }).check(
34
+ Schema.makeFilter(
35
+ ({ worker, delivery }) =>
36
+ delivery.receipt === null || worker.threadId === delivery.receipt.threadId,
37
+ ),
38
+ );
39
+
40
+ export type WorkerStarted = typeof WorkerStarted.Type;
41
+
42
+ /** Stable owner command. Reusing its key for a different worker conflicts. */
43
+ export const WorkerStop = Schema.Struct({ worker: WorkerRef, idempotencyKey: IdempotencyKey });
44
+ export type WorkerStop = typeof WorkerStop.Type;
45
+
46
+ /** The inbox is sealed and active execution has released ownership. External actions are not undone. */
47
+ export const WorkerStopped = WorkerStop;
48
+ export type WorkerStopped = typeof WorkerStopped.Type;
49
+
50
+ /** A host-authorized Run allowance is independent of the immutable delegation lineage. */
51
+ export const WorkerBudgetScope = Schema.Literals(["source-subtree", "worker-run"]);
52
+ export type WorkerBudgetScope = typeof WorkerBudgetScope.Type;
53
+
54
+ /** Host-bound caller metadata. Programmatic calls never fabricate Run or Tool Call identities. */
55
+ export const WorkerSource = Schema.Union([
56
+ Schema.Struct({
57
+ _tag: Schema.Literal("tool"),
58
+ agentId: AgentId,
59
+ threadId: ThreadId,
60
+ runId: RunId,
61
+ toolCallId: ToolCallId,
62
+ }),
63
+ Schema.Struct({
64
+ _tag: Schema.Literal("programmatic"),
65
+ agentId: AgentId,
66
+ threadId: ThreadId,
67
+ }),
68
+ ]);
69
+
70
+ export type WorkerSource = typeof WorkerSource.Type;
71
+
72
+ /** The caller's effective policy and root-relative depth, resolved by its host. */
73
+ export const WorkerContext = Schema.Struct({
74
+ source: WorkerSource,
75
+ policy: AgentPolicy,
76
+ depth: Schema.Natural,
77
+ grant: Schema.optionalKey(SubagentGrant),
78
+ });
79
+
80
+ export type WorkerContext = typeof WorkerContext.Type;
81
+
82
+ /** Admission identity is distinct from canonical input application. */
83
+ export const WorkerInput = Schema.Struct({ receipt: Receipt, messageId: IdempotencyKey });
84
+ export type WorkerInput = typeof WorkerInput.Type;
85
+
86
+ export const WorkerAppliedInput = Schema.Struct({
87
+ ...WorkerInput.fields,
88
+ runId: RunId,
89
+ sequence: Schema.Natural,
90
+ });
91
+
92
+ /** A Run outcome is not assignment completion. Interpret only a Definition's disposition. */
93
+ export const WorkerRun = Schema.Struct({
94
+ runId: RunId,
95
+ hostReceipt: Receipt,
96
+ outcome: Schema.NullOr(Schema.Literals(["completed", "failed", "aborted"])),
97
+ disposition: Schema.NullOr(Schema.Json),
98
+ });
99
+
100
+ /** Bounded durable listing data; a latest Receipt never substitutes for a requested Receipt. */
101
+ export const WorkerSummary = Schema.Struct({
102
+ worker: WorkerRef,
103
+ latestReceipt: Schema.NullOr(Receipt),
104
+ /** stopping/stopped identify an owner-issued worker stop, never an ordinary Receipt abort. */
105
+ state: Schema.Literals([
106
+ "starting",
107
+ "active",
108
+ "idle",
109
+ "stopping",
110
+ "stopped",
111
+ "completed",
112
+ "failed",
113
+ "cancelled",
114
+ ]),
115
+ acceptedInput: Schema.NullOr(WorkerInput),
116
+ appliedInput: Schema.NullOr(WorkerAppliedInput),
117
+ run: Schema.NullOr(WorkerRun),
118
+ /** One retained unadmitted input, if any; its state is independent of destination execution. */
119
+ pendingDelivery: Schema.NullOr(MessageStatus),
120
+ /** Consistent destination facts; pending delivery has its own source-owned version. */
121
+ watermark: Schema.Struct({
122
+ canonicalSequence: Schema.Natural,
123
+ acceptedQueueSequence: Schema.Natural,
124
+ pendingDeliveryVersion: Schema.NullOr(Schema.Natural),
125
+ }),
126
+ });
127
+
128
+ export type WorkerSummary = typeof WorkerSummary.Type;
129
+
130
+ export const WorkerPage = Schema.Struct({
131
+ items: Schema.Array(WorkerSummary).check(Schema.isMaxLength(100)),
132
+ next: Schema.NullOr(ThreadId),
133
+ });
134
+
135
+ export type WorkerPage = typeof WorkerPage.Type;
136
+
137
+ /** Authorized canonical history, encoded independently of storage-adapter representations. */
138
+ export const WorkerHistoryEntry = Schema.Struct({
139
+ sequence: Schema.Natural.check(Schema.isGreaterThan(0)),
140
+ recordId: Schema.NonEmptyString.check(Schema.isMaxLength(1_024)),
141
+ record: Schema.Json,
142
+ });
143
+
144
+ export type WorkerHistoryEntry = typeof WorkerHistoryEntry.Type;
145
+
146
+ /**
147
+ * Closed host-boundary failures. Original causes stay private and survive diagnostic transport.
148
+ * Retained delivery states are successful MessageStatus values, including pending and refused.
149
+ * After a storage failure, keep the same idempotency key and parameters when reconciling.
150
+ */
151
+ export class WorkerError extends Schema.TaggedError<WorkerError>()("WorkerError", {
152
+ cause: Schema.optionalKey(FailureDiagnostic.Value),
153
+ stack: Schema.optionalKey(Schema.String),
154
+ /** Concurrency pressure may clear without changing the request. */
155
+ retryable: Schema.optionalKey(Schema.Literal(true)),
156
+ operation: Schema.Literals([
157
+ "context",
158
+ "start",
159
+ "followUp",
160
+ "inspect",
161
+ "observe",
162
+ "await",
163
+ "list",
164
+ "cancel",
165
+ "stop",
166
+ ]),
167
+ reason: Schema.Literals([
168
+ "denied",
169
+ "declaration-unavailable",
170
+ "worker-mismatch",
171
+ "receipt-mismatch",
172
+ "message-mismatch",
173
+ "idempotency-conflict",
174
+ "capacity",
175
+ "not-found",
176
+ // Decode earlier failures without emitting them for retained deliveries.
177
+ "delivery-pending",
178
+ "storage",
179
+ "corrupt",
180
+ "unavailable",
181
+ ]),
182
+ }) {}
183
+
184
+ export { WorkerOperationTool } from "./SubagentContract.ts";
185
+
186
+ /** One projected canonical Run outcome. Joined receipts share this identity. */
187
+ export const WorkerReport = <Success extends Schema.Top>(success: Success) => {
188
+ const identity = {
189
+ _tag: Schema.Literal("Settled"),
190
+ worker: WorkerRef,
191
+ receipt: Receipt,
192
+ runId: RunId,
193
+ settlementId: SettlementId,
194
+ };
195
+
196
+ return Schema.Union([
197
+ // Union preserves the Success codec while making the result field required.
198
+ Schema.Struct({
199
+ ...identity,
200
+ outcome: Schema.Literal("completed"),
201
+ result: Schema.Union([success]),
202
+ }),
203
+ Schema.Struct({
204
+ ...identity,
205
+ outcome: Schema.Literals(["failed", "aborted"]),
206
+ failure: SubagentExecutionFailure,
207
+ }),
208
+ ]);
209
+ };
210
+
211
+ export type WorkerReport<Success extends Schema.Top> = ReturnType<
212
+ typeof WorkerReport<Success>
213
+ >["Type"];
214
+
215
+ /** Framework message stored separately from the parent's application input. */
216
+ export const WorkerCompletion = Schema.Struct({
217
+ _tag: Schema.Literal("WorkerCompletion"),
218
+ budgetExhausted: Schema.Boolean,
219
+ schemaVersion: Schema.Literal(1),
220
+ report: WorkerReport(Schema.Json),
221
+ }).check(Schema.makeFilter(({ report }) => report.worker.threadId === report.receipt.threadId));
222
+
223
+ export type WorkerCompletion = typeof WorkerCompletion.Type;
224
+
225
+ /** Source-worker intermediate output, kept separate from application input. */
226
+ export const WorkerUpdate = Schema.Struct({
227
+ _tag: Schema.Literal("WorkerUpdate"),
228
+ schemaVersion: Schema.Literal(1),
229
+ worker: WorkerRef,
230
+ update: Update,
231
+ }).check(
232
+ Schema.makeFilter(
233
+ ({ worker, update }) =>
234
+ worker.threadId === update.threadId && worker.targetAgentId === update.agentId,
235
+ ),
236
+ );
237
+
238
+ export type WorkerUpdate = typeof WorkerUpdate.Type;
239
+ export const FrameworkMessage = Schema.Union([WorkerCompletion, WorkerUpdate]);
240
+ export type FrameworkMessage = typeof FrameworkMessage.Type;
@@ -0,0 +1,34 @@
1
+ import { Schema } from "effect";
2
+ import { Tool, Toolkit } from "effect/unstable/ai";
3
+
4
+ import { Emitter, UpdateError } from "../AgentUpdates.ts";
5
+
6
+ /** Definition-owned native Tool. Runtime supplies its handler under the same identity. */
7
+ export const updateTool = <S extends Schema.Top>(schema: S) =>
8
+ Tool.make("emit_update", {
9
+ description:
10
+ "Emit a structured intermediate update. Success acknowledges acceptance by this Run; " +
11
+ "parent delivery and processing are separate. This does not complete the task.",
12
+ parameters: Schema.Struct({ value: schema }),
13
+ success: Schema.Struct({ emitted: Schema.Literal(true) }),
14
+ failure: UpdateError,
15
+ failureMode: "return",
16
+ }).addDependency(Emitter);
17
+
18
+ export type UpdateToolkit<
19
+ T extends Toolkit.Any,
20
+ S extends Schema.Top | undefined,
21
+ > = S extends Schema.Top
22
+ ? Toolkit.Toolkit<T["tools"] & { readonly emit_update: ReturnType<typeof updateTool<S>> }>
23
+ : T;
24
+
25
+ export const withUpdateTool = (
26
+ toolkit: Toolkit.Any,
27
+ schema: Schema.Top | undefined,
28
+ ): Toolkit.Any => {
29
+ if (schema === undefined) return toolkit;
30
+ if (Object.hasOwn(toolkit.tools, "emit_update"))
31
+ throw new TypeError("emit_update is reserved for Agent updates");
32
+
33
+ return Toolkit.make(...Object.values(toolkit.tools), updateTool(schema));
34
+ };
@@ -0,0 +1,60 @@
1
+ import { Schema } from "effect";
2
+
3
+ import { SettlementId, ThreadId } from "../Identifiers.ts";
4
+ import { IdempotencyKey, Receipt } from "../Receipt.ts";
5
+
6
+ /** A retained outbound delivery identity, not a destination Receipt or access grant. */
7
+ export const MessageRef = Schema.Struct({ ownerThreadId: ThreadId, messageId: IdempotencyKey });
8
+ export type MessageRef = typeof MessageRef.Type;
9
+
10
+ const Reason = Schema.NonEmptyString.check(Schema.isMaxLength(256));
11
+ const identity = { message: MessageRef };
12
+
13
+ /**
14
+ * Source-owned delivery evidence. Pending confirms retention only; accepted supplies the
15
+ * destination Receipt, and processed supplies its canonical settlement. Neither retention nor
16
+ * acceptance proves execution. Refused is a definite rejection; parked stops automatic retry
17
+ * while retaining the same identity and any acceptance evidence. Inspect instead of resending.
18
+ */
19
+ export const MessageStatus = Schema.Union([
20
+ Schema.Struct({
21
+ ...identity,
22
+ status: Schema.Literal("pending"),
23
+ receipt: Schema.Null,
24
+ settlement: Schema.Null,
25
+ reason: Schema.NullOr(Reason),
26
+ }),
27
+ Schema.Struct({
28
+ ...identity,
29
+ status: Schema.Literal("accepted"),
30
+ receipt: Receipt,
31
+ settlement: Schema.Null,
32
+ reason: Schema.NullOr(Reason),
33
+ }),
34
+ Schema.Struct({
35
+ ...identity,
36
+ status: Schema.Literal("processed"),
37
+ receipt: Receipt,
38
+ settlement: Schema.Struct({
39
+ settlementId: SettlementId,
40
+ outcome: Schema.Literals(["completed", "failed", "aborted"]),
41
+ }),
42
+ reason: Schema.Null,
43
+ }),
44
+ Schema.Struct({
45
+ ...identity,
46
+ status: Schema.Literal("refused"),
47
+ receipt: Schema.Null,
48
+ settlement: Schema.Null,
49
+ reason: Reason,
50
+ }),
51
+ Schema.Struct({
52
+ ...identity,
53
+ status: Schema.Literal("parked"),
54
+ receipt: Schema.NullOr(Receipt),
55
+ settlement: Schema.Null,
56
+ reason: Reason,
57
+ }),
58
+ ]);
59
+
60
+ export type MessageStatus = typeof MessageStatus.Type;
@@ -0,0 +1,14 @@
1
+ import { Schema, SchemaParser, SchemaTransformation } from "effect";
2
+
3
+ /** Keep strict parsing on nested values even when an outer parser uses its defaults. */
4
+ export const strictSchema = <S extends Schema.Top>(schema: S) =>
5
+ Schema.declareConstructor<S["Type"], S["Encoded"]>()(
6
+ [schema],
7
+ ([codec]) =>
8
+ (value, _ast, options) =>
9
+ SchemaParser.decodeUnknownEffect(codec)(value, { ...options, onExcessProperty: "error" }),
10
+ {
11
+ toCodecJson: ([codec]) =>
12
+ Schema.link<S["Encoded"]>()(codec, SchemaTransformation.passthrough()),
13
+ },
14
+ );
@@ -0,0 +1,23 @@
1
+ /** UTF-8 width, including the replacement encoding used for lone UTF-16 surrogates. */
2
+ export const codePointUtf8Length = (codePoint: number): number => {
3
+ if (codePoint < 0x80) return 1;
4
+ if (codePoint < 0x800) return 2;
5
+ if (codePoint < 0x10000) return 3;
6
+
7
+ return 4;
8
+ };
9
+
10
+ /** Count encoded bytes without allocating an encoded copy of the text. */
11
+ export const utf8ByteLength = (value: string): number => {
12
+ let bytes = 0;
13
+ let index = 0;
14
+
15
+ while (index < value.length) {
16
+ const codePoint = value.codePointAt(index) ?? 0;
17
+
18
+ bytes += codePointUtf8Length(codePoint);
19
+ index += codePoint > 0xffff ? 2 : 1;
20
+ }
21
+
22
+ return bytes;
23
+ };
@@ -0,0 +1,160 @@
1
+ import { Context, Effect, Layer, Schema } from "effect";
2
+
3
+ import { ThreadId } from "../core/Identifiers.ts";
4
+ import { CanonicalSequence, Digest, PersistedJson, RecordId } from "./Records.ts";
5
+
6
+ const Identity = Schema.NonEmptyString.check(Schema.isMaxLength(256));
7
+ const Epoch = Schema.Int.check(Schema.isBetween({ minimum: 0, maximum: Number.MAX_SAFE_INTEGER }));
8
+ const Timestamp = Schema.Finite.check(Schema.isGreaterThanOrEqualTo(0));
9
+
10
+ /** Application-owned processor identity. Changing the version starts independent progress. */
11
+ export class ActivityProcessorKey extends Schema.Class<ActivityProcessorKey>(
12
+ "@effect-agent/thread/ActivityProcessorKey",
13
+ )({
14
+ processorId: Identity,
15
+ processorVersion: Identity,
16
+ threadId: ThreadId.check(Schema.isMaxLength(1_024)),
17
+ }) {}
18
+
19
+ /** Durable extraction output, pinned before any external application of that output. */
20
+ export class PreparedActivity extends Schema.Class<PreparedActivity>(
21
+ "@effect-agent/thread/PreparedActivity",
22
+ )({
23
+ version: Schema.Literal(1),
24
+ key: ActivityProcessorKey,
25
+ sequence: CanonicalSequence.check(Schema.isGreaterThan(0)),
26
+ workId: Digest,
27
+ recordId: RecordId,
28
+ recordDigest: Digest,
29
+ output: PersistedJson,
30
+ }) {}
31
+
32
+ /** Independent from Thread ownership, submission delivery, and canonical checkpoints. */
33
+ export class ActivityClaim extends Schema.Class<ActivityClaim>(
34
+ "@effect-agent/thread/ActivityClaim",
35
+ )({
36
+ key: ActivityProcessorKey,
37
+ owner: Identity,
38
+ epoch: Epoch,
39
+ throughSequence: CanonicalSequence,
40
+ leaseExpiresAt: Timestamp,
41
+ /** Pending output captured atomically at acquisition; advance returns null here. */
42
+ pending: Schema.NullOr(PreparedActivity),
43
+ }) {}
44
+
45
+ export class ActivityProgress extends Schema.Class<ActivityProgress>(
46
+ "@effect-agent/thread/ActivityProgress",
47
+ )({
48
+ version: Schema.Literal(1),
49
+ key: ActivityProcessorKey,
50
+ throughSequence: CanonicalSequence,
51
+ epoch: Epoch,
52
+ owner: Schema.NullOr(Identity),
53
+ leaseExpiresAt: Timestamp,
54
+ pending: Schema.NullOr(PreparedActivity),
55
+ /** Time of the last cursor advance, not the activity time or a global freshness clock. */
56
+ advancedAt: Schema.NullOr(Timestamp),
57
+ }) {}
58
+
59
+ export class ActivityStoreError extends Schema.TaggedError<ActivityStoreError>()(
60
+ "ActivityStoreError",
61
+ {
62
+ operation: Schema.NonEmptyString,
63
+ reason: Schema.Literals(["invalid-input", "unavailable", "corrupt", "incompatible"]),
64
+ },
65
+ ) {}
66
+
67
+ export class ActivityBusy extends Schema.TaggedError<ActivityBusy>()("ActivityBusy", {
68
+ key: ActivityProcessorKey,
69
+ leaseExpiresAt: Timestamp,
70
+ }) {}
71
+
72
+ export class ActivityOwnershipLost extends Schema.TaggedError<ActivityOwnershipLost>()(
73
+ "ActivityOwnershipLost",
74
+ { key: ActivityProcessorKey, owner: Identity, epoch: Epoch },
75
+ ) {}
76
+
77
+ export class ActivityWorkConflict extends Schema.TaggedError<ActivityWorkConflict>()(
78
+ "ActivityWorkConflict",
79
+ { key: ActivityProcessorKey, workId: Digest },
80
+ ) {}
81
+
82
+ export const ActivityMutationPoint = Schema.Literals([
83
+ "activity:initialize:before",
84
+ "activity:initialize:after",
85
+ "activity:claim:before",
86
+ "activity:claim:after-state",
87
+ "activity:claim:after",
88
+ "activity:prepare:before",
89
+ "activity:prepare:after-state",
90
+ "activity:prepare:after",
91
+ "activity:advance:before",
92
+ "activity:advance:after-state",
93
+ "activity:advance:after",
94
+ "activity:release:before",
95
+ "activity:release:after-state",
96
+ "activity:release:after",
97
+ ]);
98
+
99
+ export type ActivityMutationPoint = typeof ActivityMutationPoint.Type;
100
+
101
+ export class ActivityMutationFailure extends Schema.TaggedError<ActivityMutationFailure>()(
102
+ "ActivityMutationFailure",
103
+ { point: ActivityMutationPoint },
104
+ ) {}
105
+
106
+ export class ActivityMutationFailpoint extends Context.Service<
107
+ ActivityMutationFailpoint,
108
+ { readonly hit: (point: ActivityMutationPoint) => Effect.Effect<void, ActivityMutationFailure> }
109
+ >()("@effect-agent/thread/ActivityMutationFailpoint") {
110
+ static readonly layer = Layer.succeed(this, { hit: () => Effect.void });
111
+ }
112
+
113
+ export type ActivityStoreFailure =
114
+ | ActivityStoreError
115
+ | ActivityBusy
116
+ | ActivityOwnershipLost
117
+ | ActivityWorkConflict
118
+ | ActivityMutationFailure;
119
+
120
+ export class ActivityClaimRequest extends Schema.Class<ActivityClaimRequest>(
121
+ "@effect-agent/thread/ActivityClaimRequest",
122
+ )({
123
+ key: ActivityProcessorKey,
124
+ owner: Identity,
125
+ leaseMillis: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 600_000 })),
126
+ }) {}
127
+
128
+ /**
129
+ * Optional durable progress for finite committed-activity passes. Every mutation is atomic.
130
+ * claim rejects an unexpired owner and allocates a strictly newer epoch on every successful
131
+ * acquisition, including an initial grant and reacquisition after release with the same owner. It preserves
132
+ * pending output and returns it with the claim. prepare and advance reject expired or superseded claims and
133
+ * require the claim's throughSequence to equal current progress. prepare accepts only the next
134
+ * sequence, pins one output, and rejects divergent reuse. advance requires its pending work ID,
135
+ * increments progress by exactly one, and clears pending in the same transaction.
136
+ *
137
+ * release checks owner/epoch, independent of the cursor, and never discards pending output.
138
+ * The adapter owns its lease clock. A failed release leaves only a bounded lease to expire.
139
+ * This port never owns, mutates, or checkpoints the canonical Thread log.
140
+ */
141
+ export class ActivityProcessorStore extends Context.Service<
142
+ ActivityProcessorStore,
143
+ {
144
+ readonly inspect: (
145
+ key: ActivityProcessorKey,
146
+ ) => Effect.Effect<ActivityProgress | null, ActivityStoreError>;
147
+ readonly claim: (
148
+ request: ActivityClaimRequest,
149
+ ) => Effect.Effect<ActivityClaim, ActivityStoreFailure>;
150
+ readonly prepare: (request: {
151
+ readonly claim: ActivityClaim;
152
+ readonly work: PreparedActivity;
153
+ }) => Effect.Effect<PreparedActivity, ActivityStoreFailure>;
154
+ readonly advance: (request: {
155
+ readonly claim: ActivityClaim;
156
+ readonly workId: Digest;
157
+ }) => Effect.Effect<ActivityClaim, ActivityStoreFailure>;
158
+ readonly release: (claim: ActivityClaim) => Effect.Effect<void, ActivityStoreFailure>;
159
+ }
160
+ >()("@effect-agent/thread/ActivityProcessorStore") {}