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,914 @@
1
+ import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.mjs";
2
+ import { AgentId, AttemptId, ReceiptId, SettlementId, SubmissionId, ThreadId, ToolCallId } from "../core/Identifiers.mjs";
3
+ import { IdempotencyKey, JoinedToHost, Principal, QueueSequence } from "../core/Receipt.mjs";
4
+ import { RunUsageSummary } from "../core/Usage.mjs";
5
+ import { l as InputMessage } from "../MessagingHost-CWi_PP3g.mjs";
6
+ import { AbortRequested, ApprovalDecision, BatchId, CanonicalSequence, DefinitionDigests, DeploymentId, Digest, PersistedJson, ProducerEpoch, ProducerId, RecordEnvelope, RecordId, SettlementFailureDiagnostic, SettlementOutcome, ToolApprovalDecided, ToolCallResolved, ToolCallUnknown, WorkerAdmission } from "./Records.mjs";
7
+ import { Context, Duration, Effect, Schema } from "effect";
8
+ //#region src/durable/SubmissionLedger.ts
9
+ var SubmissionLedger_exports = /* @__PURE__ */ __exportAll({
10
+ AbortCommand: () => AbortCommand,
11
+ AbortIntent: () => AbortIntent,
12
+ AbortIntentRequest: () => AbortIntentRequest,
13
+ AdmissionAdmitted: () => AdmissionAdmitted,
14
+ AdmissionConflict: () => AdmissionConflict,
15
+ AdmissionFence: () => AdmissionFence,
16
+ AdmissionGroup: () => AdmissionGroup,
17
+ AdmissionIndeterminate: () => AdmissionIndeterminate,
18
+ AdmissionNotAdmitted: () => AdmissionNotAdmitted,
19
+ AdmissionPolicyError: () => AdmissionPolicyError,
20
+ AdmissionRequest: () => AdmissionRequest,
21
+ AdmissionResolution: () => AdmissionResolution,
22
+ AdmissionResult: () => AdmissionResult,
23
+ ApprovalConflict: () => ApprovalConflict,
24
+ ApprovalDecisionCommand: () => ApprovalDecisionCommand,
25
+ ApprovalDecisionIntent: () => ApprovalDecisionIntent,
26
+ ApprovalPendingSuspension: () => ApprovalPendingSuspension,
27
+ AttachChildToReservationRequest: () => AttachChildToReservationRequest,
28
+ BeginChildBudgetReleaseRequest: () => BeginChildBudgetReleaseRequest,
29
+ ChildAttachmentSnapshot: () => ChildAttachmentSnapshot,
30
+ ChildBudgetReservationRequest: () => ChildBudgetReservationRequest,
31
+ ChildBudgetReservationSnapshot: () => ChildBudgetReservationSnapshot,
32
+ ChildReservationConflict: () => ChildReservationConflict,
33
+ ChildReservationId: () => ChildReservationId,
34
+ ChildReservationStatus: () => ChildReservationStatus,
35
+ ChildSettledNotification: () => ChildSettledNotification,
36
+ ChildSettledOutcome: () => ChildSettledOutcome,
37
+ Claim: () => Claim,
38
+ ClaimJoiningRequest: () => ClaimJoiningRequest,
39
+ ClaimRequest: () => ClaimRequest,
40
+ DEFAULT_OWNERSHIP_LEASE_DURATION: () => DEFAULT_OWNERSHIP_LEASE_DURATION,
41
+ IdempotencyKey: () => IdempotencyKey,
42
+ InputAppliedMarker: () => InputAppliedMarker,
43
+ JoinSnapshot: () => JoinSnapshot,
44
+ JoinedToHost: () => JoinedToHost,
45
+ JoiningClaim: () => JoiningClaim,
46
+ LedgerCapabilities: () => LedgerCapabilities,
47
+ LedgerError: () => LedgerError,
48
+ MarkInputAppliedRequest: () => MarkInputAppliedRequest,
49
+ MarkJoinedRequest: () => MarkJoinedRequest,
50
+ MarkReadyRequest: () => MarkReadyRequest,
51
+ MarkUnknownRequest: () => MarkUnknownRequest,
52
+ OwnershipLost: () => OwnershipLost,
53
+ OwnershipRenewal: () => OwnershipRenewal,
54
+ OwnershipSnapshot: () => OwnershipSnapshot,
55
+ OwnershipToken: () => OwnershipToken,
56
+ ParentLinkage: () => ParentLinkage,
57
+ Principal: () => Principal,
58
+ QueueSequence: () => QueueSequence,
59
+ RecoverySnapshot: () => RecoverySnapshot,
60
+ RecoverySnapshotRequest: () => RecoverySnapshotRequest,
61
+ ReleaseChildBudgetRequest: () => ReleaseChildBudgetRequest,
62
+ ReleaseOwnershipRequest: () => ReleaseOwnershipRequest,
63
+ RenewOwnershipRequest: () => RenewOwnershipRequest,
64
+ ReservedChildBudget: () => ReservedChildBudget,
65
+ ReservedSettlement: () => ReservedSettlement,
66
+ ResolutionAbortSubmission: () => ResolutionAbortSubmission,
67
+ ResolutionCompletedWithResult: () => ResolutionCompletedWithResult,
68
+ ResolutionNeverHappened: () => ResolutionNeverHappened,
69
+ ResolutionSafeToRetry: () => ResolutionSafeToRetry,
70
+ RevertJoiningRequest: () => RevertJoiningRequest,
71
+ Settlement: () => Settlement,
72
+ SettlementConflict: () => SettlementConflict,
73
+ SettlementFinalization: () => SettlementFinalization,
74
+ SettlementReservation: () => SettlementReservation,
75
+ SettlementReservationSnapshot: () => SettlementReservationSnapshot,
76
+ SubmissionAdmissionFence: () => SubmissionAdmissionFence,
77
+ SubmissionLedger: () => SubmissionLedger,
78
+ SubmissionLookup: () => SubmissionLookup,
79
+ SubmissionLookupById: () => SubmissionLookupById,
80
+ SubmissionLookupByKey: () => SubmissionLookupByKey,
81
+ SubmissionSnapshot: () => SubmissionSnapshot,
82
+ SubmissionState: () => SubmissionState,
83
+ SuspendRequest: () => SuspendRequest,
84
+ SuspensionOutcome: () => SuspensionOutcome,
85
+ SuspensionReason: () => SuspensionReason,
86
+ SuspensionSnapshot: () => SuspensionSnapshot,
87
+ UnknownResolution: () => UnknownResolution,
88
+ UnknownResolutionCommand: () => UnknownResolutionCommand,
89
+ UnknownResolutionConflict: () => UnknownResolutionConflict,
90
+ UnknownResolutionIntent: () => UnknownResolutionIntent,
91
+ WaitingChild: () => WaitingChild,
92
+ WaitingForChildSuspension: () => WaitingForChildSuspension,
93
+ settlementFailureFromRecord: () => settlementFailureFromRecord,
94
+ submissionAbortBatchId: () => submissionAbortBatchId,
95
+ submissionAbortRecordId: () => submissionAbortRecordId,
96
+ submissionInputBatchId: () => submissionInputBatchId,
97
+ submissionInputRecordId: () => submissionInputRecordId,
98
+ submissionSettlementBatchId: () => submissionSettlementBatchId,
99
+ submissionSettlementId: () => submissionSettlementId,
100
+ submissionSettlementRecordId: () => submissionSettlementRecordId
101
+ });
102
+ const identifier = (name) => Schema.NonEmptyString.check(Schema.isMaxLength(256)).pipe(Schema.brand(`@effect-agent/thread/${name}`));
103
+ /**
104
+ * Opaque proof that one Attempt currently owns a Submission's lane. It authorizes ledger
105
+ * mutations only; canonical-log fencing authority remains the producer epoch (DUR-006).
106
+ */
107
+ const OwnershipToken = identifier("OwnershipToken");
108
+ /**
109
+ * Ledger lifecycle states for one Submission. `settled` is the only terminal state; every other
110
+ * state carries an outstanding accepted-work obligation (Accepted-work Contract, DUR-002).
111
+ *
112
+ * Phase 5 states:
113
+ *
114
+ * - `joining` — a queued Submission claimed by an active host Run, before its canonical
115
+ * `UserInputRecorded` append; recovery reverts it to `ready` (DUR-016).
116
+ * - `joined` — the input is canonical and linked to its host; the Submission settles WITH the
117
+ * host Run's outcome.
118
+ * - `suspended` — durably waiting for explicit approval decisions; the ownership period has
119
+ * ended and the lane consumes no worker permit while the obligation stays owed.
120
+ * - `unknown` — at least one ordinary Tool Call has a durable Unknown Outcome; the lane is
121
+ * blocked until an authorized resolution covers every open call or a durable abort intent
122
+ * authorizes cleanup and aborted settlement without Tool replay (DUR-012/DUR-017).
123
+ *
124
+ * `claim` never grants a `joining`, `joined`, or `suspended` head. An `unknown` head is
125
+ * claimable only with a durable abort intent, under the ordinary lease and fencing rules.
126
+ */
127
+ const SubmissionState = Schema.Literals([
128
+ "admitted",
129
+ "ready",
130
+ "joining",
131
+ "joined",
132
+ "running",
133
+ "input-applied",
134
+ "suspended",
135
+ "unknown",
136
+ "terminalizing",
137
+ "settled"
138
+ ]);
139
+ /**
140
+ * Default ownership lease duration (D5). The lease is a liveness hint that makes an abandoned
141
+ * claim reclaimable; correctness never depends on it because every canonical append is fenced by
142
+ * producer epoch. Adapters expose this as configuration and use this value when unconfigured.
143
+ */
144
+ const DEFAULT_OWNERSHIP_LEASE_DURATION = Duration.seconds(30);
145
+ /**
146
+ * What a SubmissionLedger adapter claims about itself. `durable-node` asserts single-node
147
+ * process-crash durability (fsync-backed storage); `durable-cloudflare` asserts the same
148
+ * single-serialized-owner crash durability through Durable Object storage output gates;
149
+ * `non-durable` marks reference adapters whose state does not survive the process (in-memory
150
+ * conformance/test adapters). The label is an honest self-description for reports and
151
+ * evidence — no runtime behavior branches on it.
152
+ */
153
+ var LedgerCapabilities = class extends Schema.Class("@effect-agent/thread/LedgerCapabilities")({ durability: Schema.Literals([
154
+ "durable-node",
155
+ "durable-cloudflare",
156
+ "non-durable"
157
+ ]) }) {};
158
+ /**
159
+ * Immutable lineage from a child Submission to the exact parent Tool Call that established it
160
+ * (spec §12 step 5, SUB-004). Recorded once at admission and never rewritten; it is an
161
+ * identifier, not an authorization capability (D10) — the join path verifies the canonical
162
+ * Parent Link records, never this marker alone.
163
+ */
164
+ var ParentLinkage = class extends Schema.Class("@effect-agent/thread/ParentLinkage")({
165
+ parentSubmissionId: SubmissionId,
166
+ parentToolCallId: ToolCallId
167
+ }) {};
168
+ /** Host-owned policy coordinates, interpreted only by the destination transaction owner. */
169
+ const AdmissionFence = Schema.Struct({
170
+ policyId: Schema.NonEmptyString.check(Schema.isMaxLength(128)),
171
+ key: Schema.NonEmptyString.check(Schema.isMaxLength(256)),
172
+ revision: Schema.NonEmptyString.check(Schema.isMaxLength(256))
173
+ });
174
+ const AdmissionGroup = Schema.NonEmptyString.check(Schema.isMaxLength(256));
175
+ /** Fresh admission alone may be refused; unavailability never proves non-admission. */
176
+ var AdmissionPolicyError = class extends Schema.TaggedError()("AdmissionPolicyError", {
177
+ reason: Schema.Literals([
178
+ "refused",
179
+ "unavailable",
180
+ "occupied"
181
+ ]),
182
+ code: Schema.NonEmptyString.check(Schema.isMaxLength(128))
183
+ }) {};
184
+ /**
185
+ * Durable admission input. `inputDigest` must be the digest of the canonical JSON encoding of
186
+ * `inputPayload` (see `digestJson`); admission idempotency compares digests, never re-encodes.
187
+ * `agentId`/`agentDigests`/`deploymentId` are persisted so recovery can complete Thread
188
+ * materialization without the submitting client. `parentLinkage` is present exactly when the
189
+ * Submission is a durable attached child (spec §12); an admission replay must repeat the same
190
+ * linkage (or its absence) or fail with `AdmissionConflict`.
191
+ */
192
+ var AdmissionRequest = class extends Schema.Class("@effect-agent/thread/AdmissionRequest")({
193
+ threadId: ThreadId,
194
+ principal: Principal,
195
+ idempotencyKey: IdempotencyKey,
196
+ agentId: AgentId,
197
+ agentDigests: DefinitionDigests,
198
+ deploymentId: DeploymentId,
199
+ inputPayload: PersistedJson,
200
+ inputDigest: Digest,
201
+ parentLinkage: Schema.optionalKey(ParentLinkage),
202
+ workerAdmission: Schema.optionalKey(WorkerAdmission),
203
+ messageAdmission: Schema.optionalKey(InputMessage),
204
+ admissionGroup: Schema.optionalKey(AdmissionGroup),
205
+ admissionFence: Schema.optionalKey(AdmissionFence)
206
+ }) {};
207
+ /**
208
+ * The committed admission row. `replayed` is true when an identical (thread, principal,
209
+ * idempotencyKey, inputDigest) admission already existed; the original identities are returned
210
+ * unchanged so a client retry resumes rather than duplicates (DUR-001).
211
+ */
212
+ var AdmissionResult = class extends Schema.Class("@effect-agent/thread/AdmissionResult")({
213
+ submissionId: SubmissionId,
214
+ receiptId: ReceiptId,
215
+ queueSequence: QueueSequence,
216
+ state: SubmissionState,
217
+ replayed: Schema.Boolean
218
+ }) {};
219
+ var MarkReadyRequest = class extends Schema.Class("@effect-agent/thread/MarkReadyRequest")({ submissionId: SubmissionId }) {};
220
+ var SubmissionLookupById = class extends Schema.TaggedClass("@effect-agent/thread/SubmissionLookupById")("SubmissionLookupById", { submissionId: SubmissionId }) {};
221
+ var SubmissionLookupByKey = class extends Schema.TaggedClass("@effect-agent/thread/SubmissionLookupByKey")("SubmissionLookupByKey", {
222
+ threadId: ThreadId,
223
+ principal: Principal,
224
+ idempotencyKey: IdempotencyKey
225
+ }) {};
226
+ /** Lookup by Submission identity or by the scoped client idempotency key. */
227
+ const SubmissionLookup = Schema.Union([SubmissionLookupById, SubmissionLookupByKey]);
228
+ /** The full durable ledger view of one Submission. */
229
+ var SubmissionSnapshot = class extends Schema.Class("@effect-agent/thread/SubmissionSnapshot")({
230
+ submissionId: SubmissionId,
231
+ threadId: ThreadId,
232
+ queueSequence: QueueSequence,
233
+ principal: Principal,
234
+ idempotencyKey: IdempotencyKey,
235
+ agentId: AgentId,
236
+ agentDigests: DefinitionDigests,
237
+ deploymentId: DeploymentId,
238
+ inputPayload: PersistedJson,
239
+ inputDigest: Digest,
240
+ receiptId: ReceiptId,
241
+ state: SubmissionState,
242
+ settledOutcome: Schema.optionalKey(SettlementOutcome),
243
+ createdAt: Schema.DateTimeUtcFromString,
244
+ readyAt: Schema.optionalKey(Schema.DateTimeUtcFromString),
245
+ admissionGroup: Schema.optionalKey(AdmissionGroup),
246
+ admissionFence: Schema.optionalKey(AdmissionFence),
247
+ parentLinkage: Schema.optionalKey(ParentLinkage),
248
+ workerAdmission: Schema.optionalKey(WorkerAdmission),
249
+ messageAdmission: Schema.optionalKey(InputMessage)
250
+ }) {};
251
+ /** The authoritative store proves the scoped idempotency key was never admitted (SUB-031). */
252
+ var AdmissionNotAdmitted = class extends Schema.TaggedClass("@effect-agent/thread/AdmissionNotAdmitted")("NotAdmitted", {}) {};
253
+ /** The scoped idempotency key was admitted; the full Submission snapshot is authoritative. */
254
+ var AdmissionAdmitted = class extends Schema.TaggedClass("@effect-agent/thread/AdmissionAdmitted")("Admitted", { submission: SubmissionSnapshot }) {};
255
+ /**
256
+ * The adapter cannot currently prove admission or its absence (e.g. the authoritative child
257
+ * owner is unreachable on a partitioned platform). Callers wait and retry; an indeterminate
258
+ * answer NEVER permits a second admission attempt (SUB-031).
259
+ */
260
+ var AdmissionIndeterminate = class extends Schema.TaggedClass("@effect-agent/thread/AdmissionIndeterminate")("Indeterminate", { reason: Schema.String.check(Schema.isMaxLength(4096)) }) {};
261
+ /**
262
+ * The tri-state answer of `resolveAdmission` (spec §12: "absence from an eventually consistent
263
+ * projection is never proof"). Single strongly consistent stores derive `NotAdmitted`/`Admitted`
264
+ * from a direct lookup; only adapters that can genuinely fail to reach the authoritative owner
265
+ * answer `Indeterminate`.
266
+ */
267
+ const AdmissionResolution = Schema.Union([
268
+ AdmissionNotAdmitted,
269
+ AdmissionAdmitted,
270
+ AdmissionIndeterminate
271
+ ]);
272
+ var ClaimRequest = class extends Schema.Class("@effect-agent/thread/ClaimRequest")({
273
+ threadId: ThreadId,
274
+ producerId: ProducerId
275
+ }) {};
276
+ /**
277
+ * One granted ownership period. `producerEpoch` is the fencing token for every canonical append
278
+ * this Attempt performs; `leaseExpiresAt` is when the claim becomes reclaimable unless renewed.
279
+ */
280
+ var Claim = class extends Schema.Class("@effect-agent/thread/Claim")({
281
+ submissionId: SubmissionId,
282
+ attemptId: AttemptId,
283
+ ownershipToken: OwnershipToken,
284
+ producerEpoch: ProducerEpoch,
285
+ leaseExpiresAt: Schema.DateTimeUtcFromString,
286
+ inputPayload: PersistedJson
287
+ }) {};
288
+ var RenewOwnershipRequest = class extends Schema.Class("@effect-agent/thread/RenewOwnershipRequest")({
289
+ submissionId: SubmissionId,
290
+ ownershipToken: OwnershipToken
291
+ }) {};
292
+ /**
293
+ * A renewed lease. Adapters MAY rotate the token; callers must use the returned token for every
294
+ * later ledger mutation.
295
+ */
296
+ var OwnershipRenewal = class extends Schema.Class("@effect-agent/thread/OwnershipRenewal")({
297
+ ownershipToken: OwnershipToken,
298
+ leaseExpiresAt: Schema.DateTimeUtcFromString
299
+ }) {};
300
+ var ReleaseOwnershipRequest = class extends Schema.Class("@effect-agent/thread/ReleaseOwnershipRequest")({
301
+ submissionId: SubmissionId,
302
+ ownershipToken: OwnershipToken
303
+ }) {};
304
+ /**
305
+ * The canonical position of the applied `UserInputRecorded` record for one Submission.
306
+ */
307
+ var MarkInputAppliedRequest = class extends Schema.Class("@effect-agent/thread/MarkInputAppliedRequest")({
308
+ submissionId: SubmissionId,
309
+ ownershipToken: OwnershipToken,
310
+ recordId: RecordId,
311
+ sequence: CanonicalSequence
312
+ }) {};
313
+ var InputAppliedMarker = class extends Schema.Class("@effect-agent/thread/InputAppliedMarker")({
314
+ recordId: RecordId,
315
+ sequence: CanonicalSequence
316
+ }) {};
317
+ /**
318
+ * Reservation of the single exact settlement record for one Submission (DUR-011). `record` is
319
+ * the complete canonical envelope that will be appended — including `createdAt` — so a recovering
320
+ * Attempt can re-append byte-identical content without a batch-digest conflict. `recordDigest`
321
+ * must be the digest of the canonical JSON encoding of the Schema-encoded envelope.
322
+ */
323
+ var SettlementReservation = class extends Schema.Class("@effect-agent/thread/SettlementReservation")({
324
+ submissionId: SubmissionId,
325
+ ownershipToken: OwnershipToken,
326
+ settlementId: SettlementId,
327
+ outcome: SettlementOutcome,
328
+ record: RecordEnvelope,
329
+ recordDigest: Digest
330
+ }) {};
331
+ /**
332
+ * The committed reservation. `replayed` is true when an identical reservation already existed;
333
+ * the stored exact record is returned so recovery appends precisely what was reserved.
334
+ */
335
+ var ReservedSettlement = class extends Schema.Class("@effect-agent/thread/ReservedSettlement")({
336
+ submissionId: SubmissionId,
337
+ settlementId: SettlementId,
338
+ outcome: SettlementOutcome,
339
+ record: RecordEnvelope,
340
+ recordDigest: Digest,
341
+ replayed: Schema.Boolean
342
+ }) {};
343
+ var SettlementFinalization = class extends Schema.Class("@effect-agent/thread/SettlementFinalization")({
344
+ submissionId: SubmissionId,
345
+ settlementId: SettlementId
346
+ }) {};
347
+ const SettlementFields = Schema.Struct({
348
+ submissionId: SubmissionId,
349
+ settlementId: SettlementId,
350
+ receiptId: ReceiptId,
351
+ outcome: SettlementOutcome,
352
+ /** Schema-encoded application disposition materialized from the exact canonical reservation. */
353
+ runDisposition: Schema.optionalKey(PersistedJson),
354
+ /** Canonical aggregate of model usage and estimated spend for this Run. */
355
+ usageSummary: Schema.optionalKey(RunUsageSummary),
356
+ /** Present exactly for `failed`; its Schema rejects excess keys before canonical projection. */
357
+ failure: Schema.optionalKey(SettlementFailureDiagnostic),
358
+ settledAt: Schema.DateTimeUtcFromString
359
+ }).check(Schema.makeFilter((settlement) => settlement.outcome === "failed" === (settlement.failure !== void 0), { title: "failure exactly on a failed Settlement" }));
360
+ /** The single durable terminal outcome recorded for one accepted Submission (DUR-002). */
361
+ var Settlement = class extends Schema.Class("@effect-agent/thread/Settlement")(SettlementFields) {};
362
+ /**
363
+ * Project the bounded failed-settlement diagnostic from an already Schema-validated exact
364
+ * reservation. Storage adapters use this when materializing their operational Settlement value;
365
+ * the canonical record remains the authority.
366
+ */
367
+ const settlementFailureFromRecord = (record) => {
368
+ const payload = record.payload;
369
+ return payload._tag === "SubmissionSettled" && payload.outcome === "failed" ? payload.result : void 0;
370
+ };
371
+ /**
372
+ * A durable abort command (durability §13). Field bounds are exactly those of the canonical
373
+ * `AbortRequested` payload so the intent can become canonical without re-validation.
374
+ */
375
+ var AbortCommand = class extends Schema.Class("@effect-agent/thread/AbortCommand")({
376
+ submissionId: SubmissionId,
377
+ author: AbortRequested.fields.author,
378
+ reason: AbortRequested.fields.reason
379
+ }) {};
380
+ /**
381
+ * The recorded abort intent. `canonicalRecordId` is present once the corresponding canonical
382
+ * `AbortRequested` record has been appended (its identity is deterministic; see
383
+ * `submissionAbortRecordId`).
384
+ */
385
+ var AbortIntent = class extends Schema.Class("@effect-agent/thread/AbortIntent")({
386
+ submissionId: SubmissionId,
387
+ author: AbortRequested.fields.author,
388
+ reason: AbortRequested.fields.reason,
389
+ requestedAt: Schema.DateTimeUtcFromString,
390
+ canonicalRecordId: Schema.optionalKey(RecordId)
391
+ }) {};
392
+ /** Address one lane-local abort intent without loading unrelated recovery state. */
393
+ var AbortIntentRequest = class extends Schema.Class("@effect-agent/thread/AbortIntentRequest")({ submissionId: SubmissionId }) {};
394
+ /**
395
+ * Atomic claim of the contiguous ready prefix of strictly-later queued Submissions for joining
396
+ * into the active host Run (plan §2.5). Fenced by the host Attempt's ownership token — no epoch
397
+ * bump, the host already owns the lane. An `admitted`-but-not-`ready` row breaks the prefix;
398
+ * an aborted-settled row is a closed obligation and is skipped as a non-gap (P7 §7(c)).
399
+ */
400
+ var ClaimJoiningRequest = class extends Schema.Class("@effect-agent/thread/ClaimJoiningRequest")({
401
+ threadId: ThreadId,
402
+ hostSubmissionId: SubmissionId,
403
+ ownershipToken: OwnershipToken,
404
+ maxCount: Schema.Int.check(Schema.isGreaterThan(0))
405
+ }) {};
406
+ /** One queued Submission transitioned to `joining` under the host's ownership. */
407
+ var JoiningClaim = class extends Schema.Class("@effect-agent/thread/JoiningClaim")({
408
+ submissionId: SubmissionId,
409
+ queueSequence: QueueSequence,
410
+ inputPayload: PersistedJson
411
+ }) {};
412
+ /**
413
+ * The canonical position of one joined Submission's `UserInputRecorded` record (`input:{sid}`).
414
+ * Marking transitions `joining → joined` and records the host linkage established at claim time.
415
+ */
416
+ var MarkJoinedRequest = class extends Schema.Class("@effect-agent/thread/MarkJoinedRequest")({
417
+ submissionId: SubmissionId,
418
+ ownershipToken: OwnershipToken,
419
+ recordId: RecordId,
420
+ sequence: CanonicalSequence
421
+ }) {};
422
+ /**
423
+ * Recovery-only revert of a `joining` Submission whose canonical input append never committed
424
+ * (DUR-016): `joining → ready`, idempotent, a no-op when the Submission already joined.
425
+ */
426
+ var RevertJoiningRequest = class extends Schema.Class("@effect-agent/thread/RevertJoiningRequest")({ submissionId: SubmissionId }) {};
427
+ /**
428
+ * Why one Submission is durably suspended. Approval was the only Phase 5 reason; S2 adds
429
+ * `WaitingForChild` (spec §12 step 10) and the union keeps later suspension families (e.g.
430
+ * operator quarantine) additive.
431
+ */
432
+ var ApprovalPendingSuspension = class extends Schema.TaggedClass("@effect-agent/thread/ApprovalPendingSuspension")("ApprovalPending", { toolCallIds: Schema.NonEmptyArray(ToolCallId) }) {};
433
+ /** One attached child a `waitingForChild` parent is durably waiting on (spec §12 step 10). */
434
+ var WaitingChild = class extends Schema.Class("@effect-agent/thread/WaitingChild")({
435
+ toolCallId: ToolCallId,
436
+ childSubmissionId: SubmissionId
437
+ }) {};
438
+ /**
439
+ * The parent Attempt ended without settling because attached durable children must settle and
440
+ * join first (spec §12 step 10, SUB-030). The suspended lane holds no worker permit; each listed
441
+ * child settles on its own Thread lane and `recordChildSettled` wakes the parent once
442
+ * every listed child is settled.
443
+ */
444
+ var WaitingForChildSuspension = class extends Schema.TaggedClass("@effect-agent/thread/WaitingForChildSuspension")("WaitingForChild", { children: Schema.NonEmptyArray(WaitingChild) }) {};
445
+ const SuspensionReason = Schema.Union([ApprovalPendingSuspension, WaitingForChildSuspension]);
446
+ /**
447
+ * Durable suspension of owned work (plan §2.6): `input-applied`/`running` → `suspended`, the
448
+ * ownership period ends, NO settlement occurs — the accepted-work obligation stays owed while
449
+ * the lane consumes no worker permit.
450
+ */
451
+ var SuspendRequest = class extends Schema.Class("@effect-agent/thread/SuspendRequest")({
452
+ submissionId: SubmissionId,
453
+ ownershipToken: OwnershipToken,
454
+ reason: SuspensionReason
455
+ }) {};
456
+ /**
457
+ * `suspended` when the lane is now durably waiting; `resume-immediately` when the suspension
458
+ * reason is already fully covered (a covering decision or child settlement raced ahead of the
459
+ * suspend transaction), so the caller resumes without releasing the lane.
460
+ */
461
+ const SuspensionOutcome = Schema.Literals(["suspended", "resume-immediately"]);
462
+ /**
463
+ * A durable child-settlement notification for one waitingForChild parent (spec §12 step 10).
464
+ * The child's canonical Settlement is the authority; this command only drives the parent lane's
465
+ * wake transition.
466
+ */
467
+ var ChildSettledNotification = class extends Schema.Class("@effect-agent/thread/ChildSettledNotification")({
468
+ parentSubmissionId: SubmissionId,
469
+ childSubmissionId: SubmissionId
470
+ }) {};
471
+ /**
472
+ * `woken` when this notification completed the waiting set and the parent transitioned
473
+ * `suspended(WaitingForChild) → input-applied`; `still-waiting` while other listed children are
474
+ * unsettled; `not-waiting` when the parent is not (or no longer) suspended waiting on this
475
+ * child — including replays after a wake, so the operation is idempotent.
476
+ */
477
+ const ChildSettledOutcome = Schema.Literals([
478
+ "woken",
479
+ "still-waiting",
480
+ "not-waiting"
481
+ ]);
482
+ /** Parent-owned child budget reservation identity, deterministically derived by the
483
+ * coordinator from the parent Run and Tool Call identity (spec §12 step 2). */
484
+ const ChildReservationId = identifier("ChildReservationId");
485
+ /**
486
+ * The reservation state machine (spec §12 steps 2 and 6): `reserved` while the child may still
487
+ * consume the allocation, `releasePending` once the final accounting decision is frozen, and
488
+ * `released` after the unused allocation returned exactly once.
489
+ */
490
+ const ChildReservationStatus = Schema.Literals([
491
+ "reserved",
492
+ "releasePending",
493
+ "released"
494
+ ]);
495
+ /**
496
+ * Creation input for one parent-owned child budget reservation. The allocation is an opaque
497
+ * Schema-encoded budget document (D8: adapters implement transitions only and never interpret
498
+ * budget dimensions); `allocationDigest` must be the digest of its canonical JSON encoding.
499
+ */
500
+ var ChildBudgetReservationRequest = class extends Schema.Class("@effect-agent/thread/ChildBudgetReservationRequest")({
501
+ reservationId: ChildReservationId,
502
+ parentSubmissionId: SubmissionId,
503
+ parentToolCallId: ToolCallId,
504
+ ownershipToken: OwnershipToken,
505
+ allocation: PersistedJson,
506
+ allocationDigest: Digest
507
+ }) {};
508
+ /** One child budget reservation row as the port exposes it. */
509
+ var ChildBudgetReservationSnapshot = class extends Schema.Class("@effect-agent/thread/ChildBudgetReservationSnapshot")({
510
+ reservationId: ChildReservationId,
511
+ parentSubmissionId: SubmissionId,
512
+ parentToolCallId: ToolCallId,
513
+ childSubmissionId: Schema.optionalKey(SubmissionId),
514
+ status: ChildReservationStatus,
515
+ allocation: PersistedJson,
516
+ allocationDigest: Digest,
517
+ accounting: Schema.optionalKey(PersistedJson),
518
+ reservedAt: Schema.DateTimeUtcFromString,
519
+ releaseBeganAt: Schema.optionalKey(Schema.DateTimeUtcFromString),
520
+ releasedAt: Schema.optionalKey(Schema.DateTimeUtcFromString)
521
+ }) {};
522
+ /**
523
+ * The committed reservation. `replayed` is true when an identical reservation already existed;
524
+ * the stored row is returned unchanged so a recovering caller resumes rather than duplicates
525
+ * (SUB-016).
526
+ */
527
+ var ReservedChildBudget = class extends Schema.Class("@effect-agent/thread/ReservedChildBudget")({
528
+ reservation: ChildBudgetReservationSnapshot,
529
+ replayed: Schema.Boolean
530
+ }) {};
531
+ /** Records the admitted child on its reservation row (repairable from `SubagentStarted`). */
532
+ var AttachChildToReservationRequest = class extends Schema.Class("@effect-agent/thread/AttachChildToReservationRequest")({
533
+ reservationId: ChildReservationId,
534
+ ownershipToken: OwnershipToken,
535
+ childSubmissionId: SubmissionId
536
+ }) {};
537
+ /**
538
+ * Freezes the final consumed/released accounting decision (spec §12 join step 6). The
539
+ * accounting is an opaque Schema-encoded document replayed from the canonical `SubagentJoined`
540
+ * record (or the deterministic zero-consumed decision for an orphaned reservation), so the
541
+ * decision itself authorizes the transition — no ownership token is consulted (DUR-015).
542
+ */
543
+ var BeginChildBudgetReleaseRequest = class extends Schema.Class("@effect-agent/thread/BeginChildBudgetReleaseRequest")({
544
+ reservationId: ChildReservationId,
545
+ accounting: PersistedJson
546
+ }) {};
547
+ /** Applies the frozen accounting decision: `releasePending → released`, exactly once. */
548
+ var ReleaseChildBudgetRequest = class extends Schema.Class("@effect-agent/thread/ReleaseChildBudgetRequest")({ reservationId: ChildReservationId }) {};
549
+ /**
550
+ * A durable approval decision command (plan §2.6, `abort`-shaped). Field bounds are exactly those
551
+ * of the canonical `ToolApprovalDecided` payload so the intent can become canonical without
552
+ * re-validation.
553
+ */
554
+ var ApprovalDecisionCommand = class extends Schema.Class("@effect-agent/thread/ApprovalDecisionCommand")({
555
+ submissionId: SubmissionId,
556
+ toolCallId: ToolCallId,
557
+ decision: ApprovalDecision,
558
+ resolver: ToolApprovalDecided.fields.resolver,
559
+ reason: ToolApprovalDecided.fields.reason
560
+ }) {};
561
+ /**
562
+ * The recorded approval-decision intent, idempotent per `(submissionId, toolCallId)`.
563
+ * `canonicalRecordId` is present once the corresponding canonical `ToolApprovalDecided` record
564
+ * has been appended (see `toolApprovalDecisionRecordId`).
565
+ */
566
+ var ApprovalDecisionIntent = class extends Schema.Class("@effect-agent/thread/ApprovalDecisionIntent")({
567
+ submissionId: SubmissionId,
568
+ toolCallId: ToolCallId,
569
+ decision: ApprovalDecision,
570
+ resolver: ToolApprovalDecided.fields.resolver,
571
+ reason: ToolApprovalDecided.fields.reason,
572
+ decidedAt: Schema.DateTimeUtcFromString,
573
+ canonicalRecordId: Schema.optionalKey(RecordId)
574
+ }) {};
575
+ /**
576
+ * Durable Unknown marking for one Submission's open ordinary Tool Calls (DUR-009): state →
577
+ * `unknown`, the lane blocks, ownership-free (recovery may mark without a claim). Idempotent.
578
+ */
579
+ var MarkUnknownRequest = class extends Schema.Class("@effect-agent/thread/MarkUnknownRequest")({
580
+ submissionId: SubmissionId,
581
+ toolCallIds: Schema.NonEmptyArray(ToolCallId),
582
+ reason: ToolCallUnknown.fields.reason
583
+ }) {};
584
+ /** The recovered supplier truth: the external effect completed with this exact result. */
585
+ var ResolutionCompletedWithResult = class extends Schema.TaggedClass("@effect-agent/thread/ResolutionCompletedWithResult")("CompletedWithResult", {
586
+ result: PersistedJson,
587
+ isFailure: Schema.Boolean
588
+ }) {};
589
+ /** The external effect provably never happened; the call may re-execute on resume. */
590
+ var ResolutionNeverHappened = class extends Schema.TaggedClass("@effect-agent/thread/ResolutionNeverHappened")("NeverHappened", {}) {};
591
+ /** The call is safe to repeat under the external system's idempotency contract. */
592
+ var ResolutionSafeToRetry = class extends Schema.TaggedClass("@effect-agent/thread/ResolutionSafeToRetry")("SafeToRetry", {}) {};
593
+ /** Give up on the Submission: route into the abort path (unknown calls stay recorded; abort
594
+ * never claims external rollback, durability §13). */
595
+ var ResolutionAbortSubmission = class extends Schema.TaggedClass("@effect-agent/thread/ResolutionAbortSubmission")("AbortSubmission", {}) {};
596
+ /** How an authorized resolver closed one Unknown Outcome (DUR-017). */
597
+ const UnknownResolution = Schema.Union([
598
+ ResolutionCompletedWithResult,
599
+ ResolutionNeverHappened,
600
+ ResolutionSafeToRetry,
601
+ ResolutionAbortSubmission
602
+ ]);
603
+ /**
604
+ * A durable Unknown-Outcome resolution command (DUR-017, `abort`-shaped). Possession of the
605
+ * runtime service plus the mandatory `author`/`reason` audit fields is the Phase 5 authorization
606
+ * boundary — identical to `abort`; the authenticated operator surface is a P7 deliverable.
607
+ * Field bounds are exactly those of the canonical `ToolCallResolved` payload.
608
+ */
609
+ var UnknownResolutionCommand = class extends Schema.Class("@effect-agent/thread/UnknownResolutionCommand")({
610
+ submissionId: SubmissionId,
611
+ toolCallId: ToolCallId,
612
+ author: ToolCallResolved.fields.author,
613
+ reason: ToolCallResolved.fields.reason,
614
+ resolution: UnknownResolution
615
+ }) {};
616
+ /**
617
+ * The recorded resolution intent, idempotent per `(submissionId, toolCallId)`. The canonical
618
+ * `ToolCallResolved` (+ `ToolCallSettled` for `CompletedWithResult`) is appended by the recovery
619
+ * pass or the next owning Attempt; `canonicalRecordId` is present once it is.
620
+ */
621
+ var UnknownResolutionIntent = class extends Schema.Class("@effect-agent/thread/UnknownResolutionIntent")({
622
+ submissionId: SubmissionId,
623
+ toolCallId: ToolCallId,
624
+ author: ToolCallResolved.fields.author,
625
+ reason: ToolCallResolved.fields.reason,
626
+ resolution: UnknownResolution,
627
+ resolvedAt: Schema.DateTimeUtcFromString,
628
+ canonicalRecordId: Schema.optionalKey(RecordId)
629
+ }) {};
630
+ /** Current ownership as recovery sees it. The live owner's token is never exposed here. */
631
+ var OwnershipSnapshot = class extends Schema.Class("@effect-agent/thread/OwnershipSnapshot")({
632
+ attemptId: AttemptId,
633
+ ownerProducerId: ProducerId,
634
+ producerEpoch: ProducerEpoch,
635
+ leaseExpiresAt: Schema.DateTimeUtcFromString
636
+ }) {};
637
+ /** A settlement reservation as recovery sees it. */
638
+ var SettlementReservationSnapshot = class extends Schema.Class("@effect-agent/thread/SettlementReservationSnapshot")({
639
+ settlementId: SettlementId,
640
+ outcome: SettlementOutcome,
641
+ record: RecordEnvelope,
642
+ recordDigest: Digest,
643
+ finalized: Schema.Boolean
644
+ }) {};
645
+ var RecoverySnapshotRequest = class extends Schema.Class("@effect-agent/thread/RecoverySnapshotRequest")({ submissionId: SubmissionId }) {};
646
+ /** One joined/joining Submission of a host Run, as the host's recovery sees it. */
647
+ var JoinSnapshot = class extends Schema.Class("@effect-agent/thread/JoinSnapshot")({
648
+ submissionId: SubmissionId,
649
+ state: SubmissionState,
650
+ hostSubmissionId: SubmissionId
651
+ }) {};
652
+ /** A durable suspension as recovery sees it. */
653
+ var SuspensionSnapshot = class extends Schema.Class("@effect-agent/thread/SuspensionSnapshot")({
654
+ reason: SuspensionReason,
655
+ suspendedAt: Schema.DateTimeUtcFromString
656
+ }) {};
657
+ /**
658
+ * One attached child of this parent as its recovery sees it: the reservation's recorded child
659
+ * plus that child's current lane state. A disposable derived view — the canonical
660
+ * `SubagentRequested`/`SubagentStarted` records and the child's own canonical Settlement remain
661
+ * the recovery truth (DUR-015).
662
+ */
663
+ var ChildAttachmentSnapshot = class extends Schema.Class("@effect-agent/thread/ChildAttachmentSnapshot")({
664
+ toolCallId: ToolCallId,
665
+ childSubmissionId: SubmissionId,
666
+ childState: SubmissionState,
667
+ childOutcome: Schema.optionalKey(SettlementOutcome)
668
+ }) {};
669
+ /**
670
+ * Everything the pure recovery classifier needs about one Submission, read strongly consistently
671
+ * (STORE-003). Canonical history still wins over every marker in this snapshot (DUR-015).
672
+ *
673
+ * Phase 5 fields: `joins` is the host-side view (every Submission `joining`/`joined` to this
674
+ * one); `hostSubmissionId` is the joined-side view; `suspension` mirrors the `suspended` state;
675
+ * `approvalDecisions` and `unknownResolutions` are the durable intents recorded against this
676
+ * Submission (empty when none exist).
677
+ *
678
+ * S2 fields: `childReservations`/`childAttachments` are the parent-side subagent view (ordered
679
+ * by parent Tool Call id) and `parentLinkage` is the child-side view. They default to
680
+ * empty/absent at construction so pre-S2 call sites stay valid; adapters always populate them.
681
+ */
682
+ var RecoverySnapshot = class extends Schema.Class("@effect-agent/thread/RecoverySnapshot")({
683
+ submission: SubmissionSnapshot,
684
+ ownership: Schema.optionalKey(OwnershipSnapshot),
685
+ inputApplied: Schema.optionalKey(InputAppliedMarker),
686
+ reservation: Schema.optionalKey(SettlementReservationSnapshot),
687
+ abortIntent: Schema.optionalKey(AbortIntent),
688
+ joins: Schema.Array(JoinSnapshot),
689
+ hostSubmissionId: Schema.optionalKey(SubmissionId),
690
+ suspension: Schema.optionalKey(SuspensionSnapshot),
691
+ approvalDecisions: Schema.Array(ApprovalDecisionIntent),
692
+ unknownResolutions: Schema.Array(UnknownResolutionIntent),
693
+ childReservations: Schema.Array(ChildBudgetReservationSnapshot).pipe(Schema.withConstructorDefault(Effect.succeed([]))),
694
+ childAttachments: Schema.Array(ChildAttachmentSnapshot).pipe(Schema.withConstructorDefault(Effect.succeed([]))),
695
+ parentLinkage: Schema.optionalKey(ParentLinkage)
696
+ }) {};
697
+ /** The same idempotency key was admitted with different canonical input content. */
698
+ var AdmissionConflict = class extends Schema.TaggedError()("AdmissionConflict", {
699
+ threadId: ThreadId,
700
+ principal: Principal,
701
+ idempotencyKey: IdempotencyKey,
702
+ existingInputDigest: Digest,
703
+ attemptedInputDigest: Digest
704
+ }) {};
705
+ /**
706
+ * The presented ownership token no longer owns the Submission's lane. `actualEpoch` is the
707
+ * thread's current producer epoch so a stale Attempt can prove to itself it was superseded.
708
+ */
709
+ var OwnershipLost = class extends Schema.TaggedError()("OwnershipLost", {
710
+ submissionId: SubmissionId,
711
+ actualEpoch: ProducerEpoch
712
+ }) {};
713
+ /** A conflicting terminal outcome was already reserved or finalized (DUR-002, DUR-012). */
714
+ var SettlementConflict = class extends Schema.TaggedError()("SettlementConflict", {
715
+ submissionId: SubmissionId,
716
+ existingOutcome: SettlementOutcome
717
+ }) {};
718
+ /**
719
+ * A divergent approval re-decision for an already-decided `(submissionId, toolCallId)` pair.
720
+ * Repeating the SAME decision replays the recorded intent instead (idempotency).
721
+ */
722
+ var ApprovalConflict = class extends Schema.TaggedError()("ApprovalConflict", {
723
+ submissionId: SubmissionId,
724
+ toolCallId: ToolCallId,
725
+ existingDecision: ApprovalDecision
726
+ }) {};
727
+ /**
728
+ * A divergent unknown-outcome re-resolution for an already-resolved `(submissionId, toolCallId)`
729
+ * pair (DUR-017). Repeating the SAME resolution replays the recorded intent instead.
730
+ */
731
+ var UnknownResolutionConflict = class extends Schema.TaggedError()("UnknownResolutionConflict", {
732
+ submissionId: SubmissionId,
733
+ toolCallId: ToolCallId
734
+ }) {};
735
+ /**
736
+ * A child budget reservation request contradicts recorded reservation state: a divergent
737
+ * allocation for the same reservation id, a second reservation id for the same parent Tool
738
+ * Call, a divergent child attachment, a divergent accounting freeze, or an out-of-order state
739
+ * transition. `status` reports the existing row's status. Identical replays never conflict.
740
+ */
741
+ var ChildReservationConflict = class extends Schema.TaggedError()("ChildReservationConflict", {
742
+ reservationId: ChildReservationId,
743
+ status: ChildReservationStatus,
744
+ message: Schema.String
745
+ }) {};
746
+ /** Adapter-level ledger failure (storage unavailable, unknown submission, corrupt row, ...). */
747
+ var LedgerError = class extends Schema.TaggedError()("LedgerError", {
748
+ operation: Schema.String,
749
+ message: Schema.String,
750
+ cause: Schema.optionalKey(Schema.Defect())
751
+ }) {};
752
+ /**
753
+ * Operational durable state for accepted work: admission, FIFO readiness, ownership, leases,
754
+ * abort intent, and settlement obligations (STORE-001). The Thread Log remains the
755
+ * authority for applied input and terminal outcomes; every marker in this ledger can be rebuilt
756
+ * from canonical history (DUR-015).
757
+ *
758
+ * Operation contracts:
759
+ *
760
+ * - `admit` — atomic and idempotent by (threadId, principal, idempotencyKey). A replay
761
+ * with the same `inputDigest` returns the original `AdmissionResult` with `replayed` set; a
762
+ * replay with a different digest fails with `AdmissionConflict`. Admission allocates the
763
+ * Submission's `queueSequence` (FIFO position, DUR-004) and mints `submissionId`/`receiptId`.
764
+ * An optional `parentLinkage` is recorded immutably at first admission (SUB-016); a replay
765
+ * whose linkage diverges (present vs. absent, or different identities) fails with
766
+ * `AdmissionConflict` even when the input digest matches.
767
+ * - `resolveAdmission` — authoritative tri-state admission lookup by scoped idempotency key
768
+ * (SUB-031): `NotAdmitted` proves absence, `Admitted` carries the full snapshot, and
769
+ * `Indeterminate` states that the adapter cannot currently prove either. Only `NotAdmitted`
770
+ * permits an admission attempt. Single strongly consistent stores derive the answer from a
771
+ * direct lookup and never answer `Indeterminate`.
772
+ * - `markReady` — idempotent transition admitted → ready after Thread materialization.
773
+ * Marking an already-ready (or later-state) Submission is a no-op.
774
+ * - `lookup` — read one Submission by identity or scoped idempotency key; strongly consistent
775
+ * with prior ledger writes.
776
+ * - `claim` — FIFO-head claim rule: claims ONLY the lowest unsettled `queueSequence` of the
777
+ * requested Thread lane (DUR-004/DUR-005), regardless of that head's nonterminal state,
778
+ * and returns `Option.none` when the lane has no unsettled work or the head's lease is still
779
+ * live under another owner. A successful claim atomically bumps the Thread's producer
780
+ * epoch — fencing every stale Attempt out of canonical appends (DUR-006) — mints a fresh
781
+ * `attemptId` and `ownershipToken`, and starts the ownership lease (D5: adapters default to
782
+ * `DEFAULT_OWNERSHIP_LEASE_DURATION`, configurable). An expired lease makes the head
783
+ * claimable; expiry alone never revokes correctness, only permission to assume liveness.
784
+ * - `renewOwnership` — extends the lease while the token still owns the lane; fails with
785
+ * `OwnershipLost` once superseded. Renewal after lease expiry succeeds if no other claim has
786
+ * taken the lane in between.
787
+ * - `releaseOwnership` — graceful drain: ends the ownership period without settling, returning
788
+ * a nonterminal head to claimable state. Fails with `OwnershipLost` once superseded.
789
+ * - `markInputApplied` — idempotent marker that the deterministic `UserInputRecorded` record is
790
+ * canonical (state → input-applied). Recovery repairs this marker from history when the append
791
+ * committed but the marker write was lost.
792
+ * - `reserveSettlement` — reserves the Submission's single exact settlement record
793
+ * (state → terminalizing). Idempotent: an identical reservation replays with `replayed` set; a
794
+ * different outcome or content fails with `SettlementConflict{existingOutcome}` (DUR-011).
795
+ * For a `joined` Submission the reservation is authorized by its recorded host linkage — a
796
+ * joined lane is never worker-claimable, so no ownership token can exist for it and the
797
+ * presented token is not consulted (plan §2.5: joined Submissions settle with the host).
798
+ * Likewise, an ABORTED reservation for a `ready`/`terminalizing` Submission that carries a
799
+ * durable abort intent and holds no live ownership is authorized by that intent (P7 §7(c)):
800
+ * recovery settles aborted never-claimed queued work immediately, without waiting for it to
801
+ * head the lane. Both exceptions are outcome- and state-narrow; everything else stays fenced.
802
+ * - `finalizeSettlement` — idempotent terminal transition (state → settled) after the reserved
803
+ * record is canonical; releases the lane so the next `queueSequence` becomes claimable. It
804
+ * requires no ownership token: canonical history authorizes finalization (DUR-015). A
805
+ * finalization that disagrees with the recorded outcome fails with `SettlementConflict`.
806
+ * - `requestAbort` — durable, idempotent by `submissionId`: repeating returns the recorded
807
+ * intent unchanged (DUR-012). Fails with `SettlementConflict` once the Submission is settled;
808
+ * abort never rewrites a terminal outcome. Fails with `JoinedToHost` for a `joined` Submission
809
+ * — it settles with its host, so the abort target is the host (plan §2.5). Abort of a
810
+ * `joining` Submission records the intent; it is honored only if the host has not consumed the
811
+ * input (revert-then-abort).
812
+ * - `claimJoining` — atomic: transitions the contiguous `ready` prefix of strictly-later
813
+ * `queueSequence`s (up to `maxCount`) to `joining` under the host's ownership token, recording
814
+ * the host linkage; no epoch bump (the host Attempt already owns the lane). An
815
+ * `admitted`-not-`ready` row breaks the prefix; an aborted-settled row is a closed obligation
816
+ * and is skipped as a non-gap (P7 §7(c)). Fails with `OwnershipLost` once superseded.
817
+ * - `markJoined` — idempotent `joining → joined` with the canonical input record position;
818
+ * repairable from history when the append committed but the marker write was lost (DUR-016).
819
+ * - `revertJoining` — recovery-only, idempotent `joining → ready`; a no-op when already joined.
820
+ * - `suspend` — `input-applied`/`running` → `suspended`; ends the ownership period WITHOUT
821
+ * settling (the obligation stays owed, the lane consumes no worker permit). Returns
822
+ * `resume-immediately` when the reason is already fully covered: for `ApprovalPending`,
823
+ * recorded decisions cover every pending call; for `WaitingForChild`, every listed child is
824
+ * already provably settled. Adapters must guarantee that a child settlement reported before
825
+ * the suspend transaction commits is observed by that suspend (single-store adapters derive
826
+ * this from the child's own row; cross-store adapters record a durable notification marker).
827
+ * Fails with `SettlementConflict` once settled.
828
+ * - `recordApprovalDecision` — durable, idempotent per `(submissionId, toolCallId)`: repeating
829
+ * the same decision replays the intent; a divergent re-decision fails with `ApprovalConflict`.
830
+ * Transitions `suspended(ApprovalPending) → input-applied` once every pending call of the
831
+ * suspension reason is decided, waking the lane. Fails with `SettlementConflict` once settled.
832
+ * - `recordChildSettled` — idempotent cross-lane wake (spec §12 step 10): transitions
833
+ * `suspended(WaitingForChild) → input-applied` exactly when EVERY listed child is settled,
834
+ * answering `woken`; `still-waiting` while any listed child is unsettled; `not-waiting` when
835
+ * the parent is not suspended waiting on this child (including replays after the wake). The
836
+ * child's canonical Settlement is the authority. The runtime reports it after the exact
837
+ * reserved record is appended and before ledger finalization, so same-store adapters accept
838
+ * `terminalizing` only when its exact reservation exists; an earlier child is an
839
+ * adapter-checked caller error. It never settles the parent and requires no ownership token:
840
+ * the canonically recorded child settlement authorizes the wake.
841
+ * - `reserveChildBudget` — idempotent get-or-create of the parent-owned child budget
842
+ * reservation (spec §12 step 2), fenced by the parent lane's live `OwnershipToken`. An
843
+ * identical replay returns the stored row with `replayed` set (unfenced, mirroring
844
+ * `reserveSettlement`); a divergent allocation for the same id, or a second id for the same
845
+ * `(parentSubmissionId, parentToolCallId)`, fails with `ChildReservationConflict`.
846
+ * - `attachChildToReservation` — idempotent: records the admitted child on the reservation row
847
+ * (repairable from the canonical `SubagentStarted` record). A replay with the recorded child
848
+ * is a no-op; the first attach is fenced by the parent token and requires status `reserved`;
849
+ * a divergent child fails with `ChildReservationConflict`.
850
+ * - `beginChildBudgetRelease` — `reserved → releasePending`: freezes the final accounting
851
+ * decision exactly once. Replaying the identical accounting (at `releasePending` or
852
+ * `released`) is a no-op; a divergent accounting fails with `ChildReservationConflict`.
853
+ * Requires no ownership token: the accounting is replayed from the canonical `SubagentJoined`
854
+ * record (or is the deterministic zero-consumed decision for an orphaned reservation), so
855
+ * canonical history authorizes the transition (DUR-015) and the freeze comparison — not a
856
+ * fence — guarantees one decision.
857
+ * - `releaseChildBudget` — `releasePending → released`, applied exactly once; replaying returns
858
+ * the released row unchanged. Releasing a still-`reserved` row (no frozen accounting) fails
859
+ * with `ChildReservationConflict`. "A crash before release leaves budget unavailable until
860
+ * repair, never available twice" (spec §12).
861
+ * - `markUnknown` — idempotent, ownership-free (canonical evidence authorizes it): state →
862
+ * `unknown`, the lane blocks and stops consuming worker permits while the accepted settlement
863
+ * obligation stays visible (DUR-009/DUR-017). Fails with `SettlementConflict` once settled.
864
+ * - `recordUnknownResolution` — durable, idempotent per `(submissionId, toolCallId)`; a
865
+ * divergent re-resolution fails with `UnknownResolutionConflict`. Transitions
866
+ * `unknown → input-applied` once no open call remains, waking the lane. Fails with
867
+ * `SettlementConflict` once settled.
868
+ * - `scanNonterminal` — streams every Submission whose state is not `settled`, ordered by
869
+ * (threadId, queueSequence); recovery's admission-independent worklist (DUR-014).
870
+ * - `loadRecoverySnapshot` — strongly consistent full snapshot for the pure recovery classifier.
871
+ *
872
+ * No operation claims exactly-once external side effects; the ledger records decisions
873
+ * exactly once (DUR-003).
874
+ */
875
+ var SubmissionLedger = class extends Context.Service()("@effect-agent/thread/SubmissionLedger") {};
876
+ const decodeBatchId = Schema.decodeSync(BatchId);
877
+ const decodeRecordId = Schema.decodeSync(RecordId);
878
+ const decodeSettlementId = Schema.decodeSync(SettlementId);
879
+ /**
880
+ * Deterministic identity rules shared by every adapter and the durable coordinator. The batch
881
+ * carrying one Submission's canonical `UserInputRecorded` record is `submission-input:{sid}` and
882
+ * the record is `input:{sid}`, so batch idempotency (DUR-007) makes the input append
883
+ * exactly-once-canonical across Attempts.
884
+ */
885
+ const submissionInputBatchId = (submissionId) => decodeBatchId(`submission-input:${submissionId}`);
886
+ /** Deterministic canonical record identity of one Submission's `UserInputRecorded` record. */
887
+ const submissionInputRecordId = (submissionId) => decodeRecordId(`input:${submissionId}`);
888
+ /** Deterministic `SettlementId` for one Submission: `settlement:{sid}`. */
889
+ const submissionSettlementId = (submissionId) => decodeSettlementId(`settlement:${submissionId}`);
890
+ /** Deterministic batch identity of one Submission's canonical `SubmissionSettled` append. */
891
+ const submissionSettlementBatchId = (submissionId) => decodeBatchId(`submission-settlement:${submissionId}`);
892
+ /** Deterministic canonical record identity of one Submission's `SubmissionSettled` record. */
893
+ const submissionSettlementRecordId = (submissionId) => decodeRecordId(`settlement:${submissionId}`);
894
+ /** Deterministic batch identity of one Submission's canonical `AbortRequested` append. */
895
+ const submissionAbortBatchId = (submissionId) => decodeBatchId(`submission-abort:${submissionId}`);
896
+ /** Deterministic canonical record identity of one Submission's `AbortRequested` record. */
897
+ const submissionAbortRecordId = (submissionId) => decodeRecordId(`abort:${submissionId}`);
898
+ /** Destination policy, captured when the ledger is acquired. It runs inside fresh admission's
899
+ * serialization after replay lookup. The host must keep it bounded and must not reenter admit.
900
+ * The callback must read authoritative policy in this SAME local transaction, through the
901
+ * acquired SqlClient. Memory evaluates the callback synchronously inside its atomic mutation;
902
+ * an async callback fails with `unavailable/synchronous-memory-policy-required`. Remote reads do not fence remote changes.
903
+ * All policy writers must use that transaction owner. Do not fork, reenter admission, or retain
904
+ * transaction resources. Failure/defect/interruption commits no fresh admission.
905
+ * Current policy never invalidates an exact retained receipt. A supplied fence fails closed
906
+ * unless the destination installed an interpreter for it. */
907
+ const SubmissionAdmissionFence = Context.Reference("@effect-agent/thread/SubmissionAdmissionFence", { defaultValue: () => ({ check: (request) => request.admissionFence === void 0 ? Effect.void : AdmissionPolicyError.make({
908
+ reason: "refused",
909
+ code: "unsupported-policy"
910
+ }) }) });
911
+ //#endregion
912
+ export { AbortCommand, AbortIntent, AbortIntentRequest, AdmissionAdmitted, AdmissionConflict, AdmissionFence, AdmissionGroup, AdmissionIndeterminate, AdmissionNotAdmitted, AdmissionPolicyError, AdmissionRequest, AdmissionResolution, AdmissionResult, ApprovalConflict, ApprovalDecisionCommand, ApprovalDecisionIntent, ApprovalPendingSuspension, AttachChildToReservationRequest, BeginChildBudgetReleaseRequest, ChildAttachmentSnapshot, ChildBudgetReservationRequest, ChildBudgetReservationSnapshot, ChildReservationConflict, ChildReservationId, ChildReservationStatus, ChildSettledNotification, ChildSettledOutcome, Claim, ClaimJoiningRequest, ClaimRequest, DEFAULT_OWNERSHIP_LEASE_DURATION, IdempotencyKey, InputAppliedMarker, JoinSnapshot, JoinedToHost, JoiningClaim, LedgerCapabilities, LedgerError, MarkInputAppliedRequest, MarkJoinedRequest, MarkReadyRequest, MarkUnknownRequest, OwnershipLost, OwnershipRenewal, OwnershipSnapshot, OwnershipToken, ParentLinkage, Principal, QueueSequence, RecoverySnapshot, RecoverySnapshotRequest, ReleaseChildBudgetRequest, ReleaseOwnershipRequest, RenewOwnershipRequest, ReservedChildBudget, ReservedSettlement, ResolutionAbortSubmission, ResolutionCompletedWithResult, ResolutionNeverHappened, ResolutionSafeToRetry, RevertJoiningRequest, Settlement, SettlementConflict, SettlementFinalization, SettlementReservation, SettlementReservationSnapshot, SubmissionAdmissionFence, SubmissionLedger, SubmissionLookup, SubmissionLookupById, SubmissionLookupByKey, SubmissionSnapshot, SubmissionState, SuspendRequest, SuspensionOutcome, SuspensionReason, SuspensionSnapshot, UnknownResolution, UnknownResolutionCommand, UnknownResolutionConflict, UnknownResolutionIntent, WaitingChild, WaitingForChildSuspension, settlementFailureFromRecord, submissionAbortBatchId, submissionAbortRecordId, submissionInputBatchId, submissionInputRecordId, submissionSettlementBatchId, submissionSettlementId, submissionSettlementRecordId, SubmissionLedger_exports as t };
913
+
914
+ //# sourceMappingURL=SubmissionLedger.mjs.map