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,459 @@
1
+ import { DefinitionDigests } from "./Records.mjs";
2
+ import { digestJson } from "./Digest.mjs";
3
+ import { ScheduleConfiguration, ScheduleFailpoint, ScheduleInstant, ScheduleRecord, ScheduleRetry, ScheduledEnvelope } from "./Schedule.mjs";
4
+ import { PreparedInput, SubscriptionConfiguration, SubscriptionDelivery, SubscriptionFailpoint, SubscriptionRecord, subscriptionDeliveryKeyString } from "./Subscription.mjs";
5
+ import { scheduleDeadline } from "./ScheduleTransition.mjs";
6
+ import { Effect, Schema } from "effect";
7
+ import * as SqlClient from "effect/unstable/sql/SqlClient";
8
+ //#region src/durable/internal/storage-v2-layout.ts
9
+ const v2Columns = {
10
+ effect_agent_threads: [
11
+ "thread_id",
12
+ "created_at",
13
+ "tail_sequence",
14
+ "tail_digest",
15
+ "producer_epoch"
16
+ ],
17
+ effect_agent_canonical_batches: [
18
+ "thread_id",
19
+ "batch_id",
20
+ "first_sequence",
21
+ "last_sequence",
22
+ "batch_digest",
23
+ "tail_digest",
24
+ "batch_json"
25
+ ],
26
+ effect_agent_canonical_records: [
27
+ "thread_id",
28
+ "sequence",
29
+ "record_id",
30
+ "batch_id",
31
+ "record_json"
32
+ ],
33
+ effect_agent_checkpoints: [
34
+ "thread_id",
35
+ "through_sequence",
36
+ "tail_digest",
37
+ "checkpoint_json"
38
+ ],
39
+ effect_agent_submissions: [
40
+ "submission_id",
41
+ "thread_id",
42
+ "queue_sequence",
43
+ "principal",
44
+ "idempotency_key",
45
+ "agent_id",
46
+ "agent_digests_json",
47
+ "deployment_id",
48
+ "input_json",
49
+ "input_digest",
50
+ "receipt_id",
51
+ "state",
52
+ "settled_outcome",
53
+ "created_at",
54
+ "ready_at",
55
+ "input_applied_record_id",
56
+ "input_applied_sequence",
57
+ "joined_host_submission_id",
58
+ "suspended_reason_json",
59
+ "suspended_at",
60
+ "unknown_reason",
61
+ "unknown_tool_call_ids_json",
62
+ "parent_submission_id",
63
+ "parent_tool_call_id"
64
+ ],
65
+ effect_agent_submission_ownership: [
66
+ "submission_id",
67
+ "attempt_id",
68
+ "ownership_token",
69
+ "producer_epoch",
70
+ "owner_producer_id",
71
+ "lease_expires_at"
72
+ ],
73
+ effect_agent_attempts: [
74
+ "attempt_id",
75
+ "submission_id",
76
+ "thread_id",
77
+ "owner_producer_id",
78
+ "producer_epoch",
79
+ "claimed_at"
80
+ ],
81
+ effect_agent_settlement_reservations: [
82
+ "submission_id",
83
+ "settlement_id",
84
+ "outcome",
85
+ "record_id",
86
+ "record_json",
87
+ "record_digest",
88
+ "reserved_at",
89
+ "finalized_at"
90
+ ],
91
+ effect_agent_abort_intents: [
92
+ "submission_id",
93
+ "author",
94
+ "reason",
95
+ "requested_at",
96
+ "canonical_record_id"
97
+ ],
98
+ effect_agent_approval_decisions: [
99
+ "submission_id",
100
+ "tool_call_id",
101
+ "decision",
102
+ "resolver",
103
+ "reason",
104
+ "decided_at"
105
+ ],
106
+ effect_agent_unknown_resolutions: [
107
+ "submission_id",
108
+ "tool_call_id",
109
+ "author",
110
+ "reason",
111
+ "resolution_json",
112
+ "resolved_at"
113
+ ],
114
+ effect_agent_child_reservations: [
115
+ "reservation_id",
116
+ "parent_submission_id",
117
+ "parent_tool_call_id",
118
+ "child_submission_id",
119
+ "status",
120
+ "allocation_json",
121
+ "allocation_digest",
122
+ "accounting_json",
123
+ "reserved_at",
124
+ "release_began_at",
125
+ "released_at"
126
+ ],
127
+ effect_agent_schedules: [
128
+ "tenant_id",
129
+ "owner_id",
130
+ "schedule_id",
131
+ "deadline_at_millis",
132
+ "record_json"
133
+ ],
134
+ effect_agent_subscription_sequences: [
135
+ "tenant_id",
136
+ "source_address",
137
+ "sequence",
138
+ "event_scan_cursor",
139
+ "delivery_scan_cursor",
140
+ "recovery_scan_cursor"
141
+ ],
142
+ effect_agent_subscriptions: [
143
+ "tenant_id",
144
+ "source_address",
145
+ "owner_id",
146
+ "subscription_id",
147
+ "ordinal",
148
+ "source_name",
149
+ "source_version",
150
+ "matching_key",
151
+ "state",
152
+ "expires_at_millis",
153
+ "recovery_at_millis",
154
+ "record_json"
155
+ ],
156
+ effect_agent_subscription_events: [
157
+ "tenant_id",
158
+ "source_address",
159
+ "event_id",
160
+ "source_name",
161
+ "source_version",
162
+ "matching_key",
163
+ "payload_digest",
164
+ "cutoff",
165
+ "cursor",
166
+ "routing_complete",
167
+ "next_attempt_at_millis",
168
+ "record_json"
169
+ ],
170
+ effect_agent_subscription_deliveries: [
171
+ "tenant_id",
172
+ "source_address",
173
+ "owner_id",
174
+ "subscription_id",
175
+ "event_id",
176
+ "delivery_key",
177
+ "state",
178
+ "next_attempt_at_millis",
179
+ "record_json"
180
+ ]
181
+ };
182
+ //#endregion
183
+ //#region src/durable/internal/storage-v2.ts
184
+ const withoutAdmission = (fields) => {
185
+ const { admissionGroup: _group, admissionFence: _fence, ...rest } = fields;
186
+ return rest;
187
+ };
188
+ const { generation: _generation, automaticAttempts: _automatic, parked: _parked, ...retry } = ScheduleRetry.fields;
189
+ const V2Retry = Schema.Struct(retry);
190
+ const V2ScheduleConfiguration = Schema.Struct(withoutAdmission(ScheduleConfiguration.fields));
191
+ const V2Envelope = Schema.Struct(withoutAdmission(ScheduledEnvelope.fields));
192
+ const V2Schedule = Schema.Struct({
193
+ ...ScheduleRecord.fields,
194
+ configuration: V2ScheduleConfiguration,
195
+ pending: Schema.NullOr(Schema.Struct({
196
+ envelope: V2Envelope,
197
+ retry: V2Retry
198
+ }))
199
+ });
200
+ const V2Configuration = Schema.Struct({
201
+ ...withoutAdmission(SubscriptionConfiguration.fields),
202
+ expiresAtMillis: ScheduleInstant
203
+ });
204
+ const { configurationRevision: _revision, configurationFingerprint: _fingerprint, creationConfiguration: _creation, ...registration } = SubscriptionRecord.fields;
205
+ const V2Subscription = Schema.Struct({
206
+ ...registration,
207
+ configuration: V2Configuration,
208
+ state: Schema.Literals([
209
+ "active",
210
+ "consumed",
211
+ "cancelled"
212
+ ])
213
+ });
214
+ const { configurationRevision: _deliveryRevision, configuration: _configuration, observeSettlement: _observe, settledAtMillis: _settled, completedAtMillis: _completed, ...delivery } = SubscriptionDelivery.fields;
215
+ const V2Delivery = Schema.Struct({
216
+ ...delivery,
217
+ envelope: Schema.NullOr(Schema.Struct(withoutAdmission(PreparedInput.fields))),
218
+ retry: V2Retry
219
+ });
220
+ //#endregion
221
+ //#region src/durable/SqlStorageV2Upgrade.ts
222
+ /** Adapter initialization preserves this diagnosis; no payloads are included in diagnostics. */
223
+ var StorageUpgradeError = class extends Schema.TaggedError()("StorageUpgradeError", {
224
+ table: Schema.String,
225
+ rowKey: Schema.String,
226
+ reason: Schema.Literals([
227
+ "corrupt",
228
+ "unsupported",
229
+ "storage"
230
+ ]),
231
+ message: Schema.String
232
+ }) {};
233
+ const invalid = (table, rowKey, message) => StorageUpgradeError.make({
234
+ table,
235
+ rowKey,
236
+ reason: "corrupt",
237
+ message
238
+ });
239
+ const decode = (schema, input, table, rowKey) => Schema.decodeUnknownEffect(schema)(input, { onExcessProperty: "error" }).pipe(Effect.mapError(() => invalid(table, rowKey, "The stored value does not match the unpatched beta49/beta50 contract. Restore or repair this row using its original writer; no upgrade was committed.")));
240
+ const json = (schema, input, table, rowKey) => decode(Schema.fromJsonString(schema), input, table, rowKey);
241
+ const encode = (schema, input, table, rowKey) => Schema.encodeEffect(Schema.fromJsonString(schema))(input).pipe(Effect.mapError(() => invalid(table, rowKey, "The translated row does not match the current contract.")));
242
+ const digest = (value, table, rowKey) => digestJson(value).pipe(Effect.mapError(() => invalid(table, rowKey, "Unable to verify stored digest.")));
243
+ const JsonRow = Schema.Struct({ record_json: Schema.String });
244
+ const rows = (schema, input, table) => Schema.decodeUnknownEffect(Schema.Array(schema))(input).pipe(Effect.mapError(() => invalid(table, "rows", "Invalid SQL row shape.")));
245
+ const checkColumns = Effect.fn("SqlStorageV2Upgrade.checkColumns")(function* (tables) {
246
+ const sql = yield* SqlClient.SqlClient;
247
+ for (const table of tables) {
248
+ const columns = yield* rows(Schema.Struct({ name: Schema.String }), yield* sql.unsafe(`PRAGMA table_info(${table})`), table);
249
+ if (JSON.stringify(columns.map((column) => column.name)) !== JSON.stringify(v2Columns[table])) return yield* invalid(table, "schema", "The table does not match the supported unpatched v2 layout. Keep the original writer available to inspect this store; no upgrade was committed.");
250
+ }
251
+ });
252
+ /** Native SQL only; callers own one transaction, recheck the version inside it, and advance it last. */
253
+ const upgradeV2Schedules = Effect.fn("SqlStorageV2Upgrade.schedules")(function* (maxBytes) {
254
+ const sql = yield* SqlClient.SqlClient;
255
+ const { hit } = yield* ScheduleFailpoint;
256
+ yield* checkColumns(["effect_agent_schedules"]);
257
+ const table = "effect_agent_schedules";
258
+ let after;
259
+ while (true) {
260
+ const stored = yield* rows(Schema.Struct({
261
+ storage_rowid: Schema.Int,
262
+ ...JsonRow.fields,
263
+ tenant_id: Schema.String,
264
+ owner_id: Schema.String,
265
+ schedule_id: Schema.String,
266
+ deadline_at_millis: Schema.NullOr(Schema.Number)
267
+ }), yield* after === void 0 ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_schedules ORDER BY rowid LIMIT 16` : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_schedules WHERE rowid > ${after} ORDER BY rowid LIMIT 16`, table);
268
+ if (stored.length === 0) break;
269
+ for (const row of stored) {
270
+ after = row.storage_rowid;
271
+ const key = `${row.tenant_id}/${row.owner_id}/${row.schedule_id}`;
272
+ const old = yield* json(V2Schedule, row.record_json, table, key);
273
+ const record = yield* decode(ScheduleRecord, {
274
+ ...old,
275
+ pending: old.pending === null ? null : {
276
+ envelope: old.pending.envelope,
277
+ retry: {
278
+ ...old.pending.retry,
279
+ generation: 0,
280
+ automaticAttempts: old.pending.retry.attempts,
281
+ parked: false
282
+ }
283
+ }
284
+ }, table, key);
285
+ if (record.owner.tenantId !== row.tenant_id || record.owner.ownerId !== row.owner_id || record.scheduleId !== row.schedule_id || scheduleDeadline(record) !== row.deadline_at_millis) return yield* invalid(table, key, "Schedule identity or deadline disagrees with its index.");
286
+ if (record.pending !== null) {
287
+ const value = yield* encode(ScheduleRecord, record, table, key);
288
+ if (new TextEncoder().encode(value).byteLength > maxBytes) return yield* invalid(table, key, "Translated schedule exceeds the adapter value bound; original data was retained.");
289
+ yield* hit("upgrade:before-mutation");
290
+ yield* sql`UPDATE effect_agent_schedules SET record_json=${value} WHERE tenant_id=${row.tenant_id} AND owner_id=${row.owner_id} AND schedule_id=${row.schedule_id}`;
291
+ yield* hit("upgrade:after-mutation");
292
+ }
293
+ }
294
+ }
295
+ });
296
+ /** v2 registrations were immutable: revision 1 and the delivery snapshot have one possible value. */
297
+ const upgradeV2Subscriptions = Effect.fn("SqlStorageV2Upgrade.subscriptions")(function* (maxBytes) {
298
+ const sql = yield* SqlClient.SqlClient;
299
+ const { hit } = yield* SubscriptionFailpoint;
300
+ yield* checkColumns([
301
+ "effect_agent_subscriptions",
302
+ "effect_agent_subscription_events",
303
+ "effect_agent_subscription_deliveries",
304
+ "effect_agent_subscription_sequences"
305
+ ]);
306
+ const registrationTable = "effect_agent_subscriptions";
307
+ const eventTable = "effect_agent_subscription_events";
308
+ const deliveryTable = "effect_agent_subscription_deliveries";
309
+ const mutate = (body) => Effect.gen(function* () {
310
+ yield* hit("upgrade:before-mutation");
311
+ const result = yield* body;
312
+ yield* hit("upgrade:after-mutation");
313
+ return result;
314
+ });
315
+ yield* mutate(sql`CREATE TABLE effect_agent_subscriptions_v3 (
316
+ tenant_id TEXT NOT NULL, source_address TEXT NOT NULL, owner_id TEXT NOT NULL, subscription_id TEXT NOT NULL,
317
+ ordinal INTEGER NOT NULL, source_name TEXT NOT NULL, source_version TEXT NOT NULL, matching_key TEXT NOT NULL,
318
+ state TEXT NOT NULL, expires_at_millis INTEGER, recovery_at_millis INTEGER, recovery_present INTEGER NOT NULL DEFAULT 0, record_json TEXT NOT NULL,
319
+ PRIMARY KEY (tenant_id, source_address, owner_id, subscription_id), UNIQUE (tenant_id, source_address, ordinal))`);
320
+ let registrationAfter;
321
+ while (true) {
322
+ const registrations = yield* rows(Schema.Struct({
323
+ storage_rowid: Schema.Int,
324
+ ...JsonRow.fields,
325
+ tenant_id: Schema.String,
326
+ source_address: Schema.String,
327
+ owner_id: Schema.String,
328
+ subscription_id: Schema.String,
329
+ ordinal: Schema.Natural,
330
+ source_name: Schema.String,
331
+ source_version: Schema.String,
332
+ matching_key: Schema.String,
333
+ state: Schema.String,
334
+ expires_at_millis: Schema.Number,
335
+ recovery_at_millis: Schema.NullOr(Schema.Number)
336
+ }), yield* registrationAfter === void 0 ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscriptions ORDER BY rowid LIMIT 16` : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscriptions WHERE rowid > ${registrationAfter} ORDER BY rowid LIMIT 16`, registrationTable);
337
+ if (registrations.length === 0) break;
338
+ const registrationKey = (key) => JSON.stringify([
339
+ key.partition.tenantId,
340
+ key.partition.address,
341
+ key.ownerId,
342
+ key.subscriptionId
343
+ ]);
344
+ for (const row of registrations) {
345
+ registrationAfter = row.storage_rowid;
346
+ const key = JSON.stringify([
347
+ row.tenant_id,
348
+ row.source_address,
349
+ row.owner_id,
350
+ row.subscription_id
351
+ ]);
352
+ const old = yield* json(V2Subscription, row.record_json, registrationTable, key);
353
+ const record = yield* decode(SubscriptionRecord, {
354
+ ...old,
355
+ configurationRevision: 1,
356
+ configurationFingerprint: old.creationFingerprint,
357
+ creationConfiguration: old.configuration
358
+ }, registrationTable, key);
359
+ if (registrationKey(record.key) !== key || record.ordinal !== row.ordinal || record.configuration.source.name !== row.source_name || record.configuration.source.version !== row.source_version || record.configuration.matchingKey !== row.matching_key || record.state !== row.state || record.configuration.expiresAtMillis !== row.expires_at_millis || (record.recovery?.nextAttemptAtMillis ?? null) !== row.recovery_at_millis) return yield* invalid(registrationTable, key, "Subscription identity or operational indexes disagree with its record.");
360
+ if ((yield* digest({
361
+ key: record.key,
362
+ createdBy: record.createdBy,
363
+ configuration: yield* Schema.encodeEffect(SubscriptionConfiguration)(old.configuration)
364
+ }, registrationTable, key)) !== record.creationFingerprint) return yield* invalid(registrationTable, key, "The immutable v2 configuration does not match its fingerprint; a delivery snapshot cannot safely be inferred.");
365
+ const value = yield* encode(SubscriptionRecord, record, registrationTable, key);
366
+ if (new TextEncoder().encode(value).byteLength > maxBytes) return yield* invalid(registrationTable, key, "Adding the creation configuration exceeds the adapter value bound; original data was retained.");
367
+ yield* mutate(sql`INSERT INTO effect_agent_subscriptions_v3 VALUES (${row.tenant_id}, ${row.source_address}, ${row.owner_id}, ${row.subscription_id}, ${row.ordinal}, ${row.source_name}, ${row.source_version}, ${row.matching_key}, ${row.state}, ${row.expires_at_millis}, ${row.recovery_at_millis}, ${record.recovery === null ? 0 : 1}, ${value})`);
368
+ }
369
+ }
370
+ let deliveryAfter;
371
+ while (true) {
372
+ const deliveries = yield* rows(Schema.Struct({
373
+ storage_rowid: Schema.Int,
374
+ ...JsonRow.fields,
375
+ tenant_id: Schema.String,
376
+ source_address: Schema.String,
377
+ owner_id: Schema.String,
378
+ subscription_id: Schema.String,
379
+ event_id: Schema.String,
380
+ delivery_key: Schema.String,
381
+ state: Schema.String,
382
+ next_attempt_at_millis: Schema.Number
383
+ }), yield* deliveryAfter === void 0 ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscription_deliveries ORDER BY rowid LIMIT 16` : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscription_deliveries WHERE rowid > ${deliveryAfter} ORDER BY rowid LIMIT 16`, deliveryTable);
384
+ if (deliveries.length === 0) break;
385
+ for (const row of deliveries) {
386
+ deliveryAfter = row.storage_rowid;
387
+ const key = row.delivery_key;
388
+ const old = yield* json(V2Delivery, row.record_json, deliveryTable, key);
389
+ const registrations = yield* rows(JsonRow, yield* sql`SELECT record_json FROM effect_agent_subscriptions_v3 WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND owner_id=${row.owner_id} AND subscription_id=${row.subscription_id}`, registrationTable);
390
+ const events = yield* rows(Schema.Struct({
391
+ event_id: Schema.String,
392
+ source_name: Schema.String,
393
+ source_version: Schema.String,
394
+ payload_digest: Schema.String
395
+ }), yield* sql`SELECT event_id, source_name, source_version, payload_digest FROM effect_agent_subscription_events WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND event_id=${row.event_id}`, eventTable);
396
+ if (registrations.length !== 1 || events.length !== 1) return yield* invalid(deliveryTable, key, "Missing original registration or event. Restore the referenced row from the original store; the delivery configuration cannot be reconstructed safely.");
397
+ const registration = yield* json(SubscriptionRecord, registrations[0].record_json, registrationTable, key);
398
+ const event = events[0];
399
+ const record = yield* decode(SubscriptionDelivery, {
400
+ ...old,
401
+ configurationRevision: 1,
402
+ configuration: registration.configuration,
403
+ retry: {
404
+ ...old.retry,
405
+ generation: 0,
406
+ automaticAttempts: old.retry.attempts,
407
+ parked: false
408
+ }
409
+ }, deliveryTable, key);
410
+ const expectedId = yield* digest({
411
+ schemaVersion: 1,
412
+ subscription: registration.key,
413
+ eventId: event.event_id
414
+ }, deliveryTable, key);
415
+ const destination = registration.configuration.destination;
416
+ if (record.key.subscription.partition.tenantId !== row.tenant_id || record.key.subscription.partition.address !== row.source_address || record.key.subscription.ownerId !== row.owner_id || record.key.subscription.subscriptionId !== row.subscription_id || record.key.eventId !== row.event_id || subscriptionDeliveryKeyString(record.key) !== key || record.state !== row.state || record.retry.nextAttemptAtMillis !== row.next_attempt_at_millis || record.subscriptionFingerprint !== registration.creationFingerprint || record.eventDigest !== event.payload_digest || record.source.name !== event.source_name || record.source.version !== event.source_version || record.source.name !== registration.configuration.source.name || record.source.version !== registration.configuration.source.version || record.deliveryId !== expectedId || record.admissionKey !== `subscription:${expectedId}` || record.threadId !== (destination._tag === "ExistingThread" ? destination.threadId : `subscription:${expectedId}`)) return yield* invalid(deliveryTable, key, "Delivery identity or immutable selection evidence disagrees with its registration/event.");
417
+ if (record.envelope !== null) {
418
+ const envelope = record.envelope;
419
+ const encoded = yield* Schema.encodeEffect(PreparedInput)(envelope);
420
+ if (envelope.threadId !== record.threadId || envelope.admissionKey !== record.admissionKey || envelope.deliveryPrincipal !== registration.configuration.deliveryPrincipal || envelope.agentId !== registration.configuration.agentId || !Schema.toEquivalence(DefinitionDigests)(envelope.definitions, registration.configuration.definitions) || (yield* digest(envelope.input, deliveryTable, key)) !== envelope.inputDigest || (yield* digest({
421
+ deliveryId: record.deliveryId,
422
+ subscriptionFingerprint: record.subscriptionFingerprint,
423
+ eventDigest: record.eventDigest,
424
+ envelope: encoded
425
+ }, deliveryTable, key)) !== record.envelopeDigest) return yield* invalid(deliveryTable, key, "Prepared envelope identity or digest is inconsistent. Its admission may already have happened; no replacement input or receipt can be invented.");
426
+ }
427
+ const value = yield* encode(SubscriptionDelivery, record, deliveryTable, key);
428
+ if (new TextEncoder().encode(value).byteLength > maxBytes) return yield* invalid(deliveryTable, key, "Adding the immutable configuration exceeds the adapter value bound; original data was retained.");
429
+ yield* mutate(sql`UPDATE effect_agent_subscription_deliveries SET record_json=${value} WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND owner_id=${row.owner_id} AND subscription_id=${row.subscription_id} AND event_id=${row.event_id}`);
430
+ }
431
+ }
432
+ yield* mutate(sql`DROP TABLE effect_agent_subscriptions`);
433
+ yield* mutate(sql`ALTER TABLE effect_agent_subscriptions_v3 RENAME TO effect_agent_subscriptions`);
434
+ yield* mutate(sql`CREATE INDEX effect_agent_subscriptions_owner ON effect_agent_subscriptions (tenant_id, source_address, owner_id, ordinal)`);
435
+ yield* mutate(sql`CREATE INDEX effect_agent_subscriptions_candidates ON effect_agent_subscriptions (tenant_id, source_address, source_name, source_version, matching_key, ordinal)`);
436
+ yield* mutate(sql`CREATE INDEX effect_agent_subscriptions_recovery ON effect_agent_subscriptions (tenant_id, source_address, recovery_at_millis, ordinal) WHERE recovery_at_millis IS NOT NULL`);
437
+ yield* mutate(sql`ALTER TABLE effect_agent_subscription_events ADD COLUMN tombstone INTEGER NOT NULL DEFAULT 0`);
438
+ });
439
+ /** Check the shared layout without reading journal, receipt, lease or settlement payloads. */
440
+ const checkV2ThreadLayout = Effect.fn("SqlStorageV2Upgrade.threadLayout")(function* () {
441
+ yield* checkColumns([
442
+ "effect_agent_threads",
443
+ "effect_agent_canonical_batches",
444
+ "effect_agent_canonical_records",
445
+ "effect_agent_checkpoints",
446
+ "effect_agent_submissions",
447
+ "effect_agent_submission_ownership",
448
+ "effect_agent_attempts",
449
+ "effect_agent_settlement_reservations",
450
+ "effect_agent_abort_intents",
451
+ "effect_agent_approval_decisions",
452
+ "effect_agent_unknown_resolutions",
453
+ "effect_agent_child_reservations"
454
+ ]);
455
+ });
456
+ //#endregion
457
+ export { StorageUpgradeError, checkV2ThreadLayout, upgradeV2Schedules, upgradeV2Subscriptions };
458
+
459
+ //# sourceMappingURL=SqlStorageV2Upgrade.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SqlStorageV2Upgrade.mjs","names":[],"sources":["../../src/durable/internal/storage-v2-layout.ts","../../src/durable/internal/storage-v2.ts","../../src/durable/SqlStorageV2Upgrade.ts"],"sourcesContent":["// Column inventories from unpatched beta50 internal/migrations.ts.\nexport const v2Columns = {\n effect_agent_threads: [\n \"thread_id\",\n \"created_at\",\n \"tail_sequence\",\n \"tail_digest\",\n \"producer_epoch\",\n ],\n effect_agent_canonical_batches: [\n \"thread_id\",\n \"batch_id\",\n \"first_sequence\",\n \"last_sequence\",\n \"batch_digest\",\n \"tail_digest\",\n \"batch_json\",\n ],\n effect_agent_canonical_records: [\"thread_id\", \"sequence\", \"record_id\", \"batch_id\", \"record_json\"],\n effect_agent_checkpoints: [\"thread_id\", \"through_sequence\", \"tail_digest\", \"checkpoint_json\"],\n effect_agent_submissions: [\n \"submission_id\",\n \"thread_id\",\n \"queue_sequence\",\n \"principal\",\n \"idempotency_key\",\n \"agent_id\",\n \"agent_digests_json\",\n \"deployment_id\",\n \"input_json\",\n \"input_digest\",\n \"receipt_id\",\n \"state\",\n \"settled_outcome\",\n \"created_at\",\n \"ready_at\",\n \"input_applied_record_id\",\n \"input_applied_sequence\",\n \"joined_host_submission_id\",\n \"suspended_reason_json\",\n \"suspended_at\",\n \"unknown_reason\",\n \"unknown_tool_call_ids_json\",\n \"parent_submission_id\",\n \"parent_tool_call_id\",\n ],\n effect_agent_submission_ownership: [\n \"submission_id\",\n \"attempt_id\",\n \"ownership_token\",\n \"producer_epoch\",\n \"owner_producer_id\",\n \"lease_expires_at\",\n ],\n effect_agent_attempts: [\n \"attempt_id\",\n \"submission_id\",\n \"thread_id\",\n \"owner_producer_id\",\n \"producer_epoch\",\n \"claimed_at\",\n ],\n effect_agent_settlement_reservations: [\n \"submission_id\",\n \"settlement_id\",\n \"outcome\",\n \"record_id\",\n \"record_json\",\n \"record_digest\",\n \"reserved_at\",\n \"finalized_at\",\n ],\n effect_agent_abort_intents: [\n \"submission_id\",\n \"author\",\n \"reason\",\n \"requested_at\",\n \"canonical_record_id\",\n ],\n effect_agent_approval_decisions: [\n \"submission_id\",\n \"tool_call_id\",\n \"decision\",\n \"resolver\",\n \"reason\",\n \"decided_at\",\n ],\n effect_agent_unknown_resolutions: [\n \"submission_id\",\n \"tool_call_id\",\n \"author\",\n \"reason\",\n \"resolution_json\",\n \"resolved_at\",\n ],\n effect_agent_child_reservations: [\n \"reservation_id\",\n \"parent_submission_id\",\n \"parent_tool_call_id\",\n \"child_submission_id\",\n \"status\",\n \"allocation_json\",\n \"allocation_digest\",\n \"accounting_json\",\n \"reserved_at\",\n \"release_began_at\",\n \"released_at\",\n ],\n effect_agent_schedules: [\n \"tenant_id\",\n \"owner_id\",\n \"schedule_id\",\n \"deadline_at_millis\",\n \"record_json\",\n ],\n effect_agent_subscription_sequences: [\n \"tenant_id\",\n \"source_address\",\n \"sequence\",\n \"event_scan_cursor\",\n \"delivery_scan_cursor\",\n \"recovery_scan_cursor\",\n ],\n effect_agent_subscriptions: [\n \"tenant_id\",\n \"source_address\",\n \"owner_id\",\n \"subscription_id\",\n \"ordinal\",\n \"source_name\",\n \"source_version\",\n \"matching_key\",\n \"state\",\n \"expires_at_millis\",\n \"recovery_at_millis\",\n \"record_json\",\n ],\n effect_agent_subscription_events: [\n \"tenant_id\",\n \"source_address\",\n \"event_id\",\n \"source_name\",\n \"source_version\",\n \"matching_key\",\n \"payload_digest\",\n \"cutoff\",\n \"cursor\",\n \"routing_complete\",\n \"next_attempt_at_millis\",\n \"record_json\",\n ],\n effect_agent_subscription_deliveries: [\n \"tenant_id\",\n \"source_address\",\n \"owner_id\",\n \"subscription_id\",\n \"event_id\",\n \"delivery_key\",\n \"state\",\n \"next_attempt_at_millis\",\n \"record_json\",\n ],\n} as const;\n","import { Schema } from \"effect\";\n\nimport {\n ScheduleConfiguration,\n ScheduledEnvelope,\n ScheduleRecord,\n ScheduleRetry,\n ScheduleInstant,\n} from \"../Schedule.ts\";\nimport {\n PreparedInput,\n SubscriptionConfiguration,\n SubscriptionDelivery,\n SubscriptionRecord,\n} from \"../Subscription.ts\";\n\n// Frozen beta49/beta50 persisted shapes, before 75898aef (#341). Decode with\n// onExcessProperty:error: a patched or partially upgraded v2 store is not this contract.\nconst withoutAdmission = <F extends Schema.Struct.Fields>(fields: F) => {\n const { admissionGroup: _group, admissionFence: _fence, ...rest } = fields;\n\n return rest;\n};\n\nconst {\n generation: _generation,\n automaticAttempts: _automatic,\n parked: _parked,\n ...retry\n} = ScheduleRetry.fields;\n\nexport const V2Retry = Schema.Struct(retry);\nconst V2ScheduleConfiguration = Schema.Struct(withoutAdmission(ScheduleConfiguration.fields));\nconst V2Envelope = Schema.Struct(withoutAdmission(ScheduledEnvelope.fields));\n\nexport const V2Schedule = Schema.Struct({\n ...ScheduleRecord.fields,\n configuration: V2ScheduleConfiguration,\n pending: Schema.NullOr(Schema.Struct({ envelope: V2Envelope, retry: V2Retry })),\n});\n\nconst V2Configuration = Schema.Struct({\n ...withoutAdmission(SubscriptionConfiguration.fields),\n expiresAtMillis: ScheduleInstant,\n});\n\nconst {\n configurationRevision: _revision,\n configurationFingerprint: _fingerprint,\n creationConfiguration: _creation,\n ...registration\n} = SubscriptionRecord.fields;\n\nexport const V2Subscription = Schema.Struct({\n ...registration,\n configuration: V2Configuration,\n state: Schema.Literals([\"active\", \"consumed\", \"cancelled\"]),\n});\n\nconst {\n configurationRevision: _deliveryRevision,\n configuration: _configuration,\n observeSettlement: _observe,\n settledAtMillis: _settled,\n completedAtMillis: _completed,\n ...delivery\n} = SubscriptionDelivery.fields;\n\nexport const V2Delivery = Schema.Struct({\n ...delivery,\n envelope: Schema.NullOr(Schema.Struct(withoutAdmission(PreparedInput.fields))),\n retry: V2Retry,\n});\n","import { Effect, Schema } from \"effect\";\nimport * as SqlClient from \"effect/unstable/sql/SqlClient\";\n\nimport { digestJson } from \"./Digest.ts\";\nimport { v2Columns } from \"./internal/storage-v2-layout.ts\";\nimport { V2Delivery, V2Schedule, V2Subscription } from \"./internal/storage-v2.ts\";\nimport { DefinitionDigests } from \"./Records.ts\";\nimport { ScheduleRecord, ScheduleFailpoint } from \"./Schedule.ts\";\nimport { scheduleDeadline } from \"./ScheduleTransition.ts\";\nimport {\n SubscriptionConfiguration,\n SubscriptionFailpoint,\n SubscriptionRecord,\n SubscriptionDelivery,\n PreparedInput,\n subscriptionDeliveryKeyString,\n} from \"./Subscription.ts\";\n\n/** Adapter initialization preserves this diagnosis; no payloads are included in diagnostics. */\nexport class StorageUpgradeError extends Schema.TaggedError<StorageUpgradeError>()(\n \"StorageUpgradeError\",\n {\n table: Schema.String,\n rowKey: Schema.String,\n reason: Schema.Literals([\"corrupt\", \"unsupported\", \"storage\"]),\n message: Schema.String,\n },\n) {}\n\nconst invalid = (table: string, rowKey: string, message: string) =>\n StorageUpgradeError.make({ table, rowKey, reason: \"corrupt\", message });\n\nconst decode = <A, I>(schema: Schema.Codec<A, I>, input: unknown, table: string, rowKey: string) =>\n Schema.decodeUnknownEffect(schema)(input, { onExcessProperty: \"error\" }).pipe(\n Effect.mapError(() =>\n invalid(\n table,\n rowKey,\n \"The stored value does not match the unpatched beta49/beta50 contract. Restore or repair this row using its original writer; no upgrade was committed.\",\n ),\n ),\n );\n\nconst json = <A, I>(schema: Schema.Codec<A, I>, input: string, table: string, rowKey: string) =>\n decode(Schema.fromJsonString(schema), input, table, rowKey);\n\nconst encode = <A, I>(schema: Schema.Codec<A, I>, input: A, table: string, rowKey: string) =>\n Schema.encodeEffect(Schema.fromJsonString(schema))(input).pipe(\n Effect.mapError(() =>\n invalid(table, rowKey, \"The translated row does not match the current contract.\"),\n ),\n );\n\nconst digest = (value: Schema.Json, table: string, rowKey: string) =>\n digestJson(value).pipe(\n Effect.mapError(() => invalid(table, rowKey, \"Unable to verify stored digest.\")),\n );\n\nconst JsonRow = Schema.Struct({ record_json: Schema.String });\n\nconst rows = <A, I>(schema: Schema.Codec<A, I>, input: unknown, table: string) =>\n // SQL rows may contain the indexed columns in addition to the requested payload.\n Schema.decodeUnknownEffect(Schema.Array(schema))(input).pipe(\n Effect.mapError(() => invalid(table, \"rows\", \"Invalid SQL row shape.\")),\n );\n\nconst checkColumns = Effect.fn(\"SqlStorageV2Upgrade.checkColumns\")(function* (\n tables: ReadonlyArray<keyof typeof v2Columns>,\n) {\n const sql = yield* SqlClient.SqlClient;\n\n for (const table of tables) {\n const columns = yield* rows(\n Schema.Struct({ name: Schema.String }),\n yield* sql.unsafe(`PRAGMA table_info(${table})`),\n table,\n );\n\n if (JSON.stringify(columns.map((column) => column.name)) !== JSON.stringify(v2Columns[table]))\n return yield* invalid(\n table,\n \"schema\",\n \"The table does not match the supported unpatched v2 layout. Keep the original writer available to inspect this store; no upgrade was committed.\",\n );\n }\n});\n\n/** Native SQL only; callers own one transaction, recheck the version inside it, and advance it last. */\nexport const upgradeV2Schedules = Effect.fn(\"SqlStorageV2Upgrade.schedules\")(function* (\n maxBytes: number,\n) {\n const sql = yield* SqlClient.SqlClient;\n const { hit } = yield* ScheduleFailpoint;\n\n yield* checkColumns([\"effect_agent_schedules\"]);\n const table = \"effect_agent_schedules\";\n let after: number | undefined;\n\n while (true) {\n const stored = yield* rows(\n Schema.Struct({\n storage_rowid: Schema.Int,\n ...JsonRow.fields,\n tenant_id: Schema.String,\n owner_id: Schema.String,\n schedule_id: Schema.String,\n deadline_at_millis: Schema.NullOr(Schema.Number),\n }),\n yield* after === undefined\n ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_schedules ORDER BY rowid LIMIT 16`\n : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_schedules WHERE rowid > ${after} ORDER BY rowid LIMIT 16`,\n table,\n );\n\n if (stored.length === 0) break;\n for (const row of stored) {\n after = row.storage_rowid;\n const key = `${row.tenant_id}/${row.owner_id}/${row.schedule_id}`;\n const old = yield* json(V2Schedule, row.record_json, table, key);\n\n const record = yield* decode(\n ScheduleRecord,\n {\n ...old,\n pending:\n old.pending === null\n ? null\n : {\n envelope: old.pending.envelope,\n retry: {\n ...old.pending.retry,\n generation: 0,\n automaticAttempts: old.pending.retry.attempts,\n parked: false,\n },\n },\n },\n table,\n key,\n );\n\n if (\n record.owner.tenantId !== row.tenant_id ||\n record.owner.ownerId !== row.owner_id ||\n record.scheduleId !== row.schedule_id ||\n scheduleDeadline(record) !== row.deadline_at_millis\n )\n return yield* invalid(\n table,\n key,\n \"Schedule identity or deadline disagrees with its index.\",\n );\n if (record.pending !== null) {\n const value = yield* encode(ScheduleRecord, record, table, key);\n\n if (new TextEncoder().encode(value).byteLength > maxBytes)\n return yield* invalid(\n table,\n key,\n \"Translated schedule exceeds the adapter value bound; original data was retained.\",\n );\n yield* hit(\"upgrade:before-mutation\");\n yield* sql`UPDATE effect_agent_schedules SET record_json=${value} WHERE tenant_id=${row.tenant_id} AND owner_id=${row.owner_id} AND schedule_id=${row.schedule_id}`;\n yield* hit(\"upgrade:after-mutation\");\n }\n }\n }\n});\n\n/** v2 registrations were immutable: revision 1 and the delivery snapshot have one possible value. */\nexport const upgradeV2Subscriptions = Effect.fn(\"SqlStorageV2Upgrade.subscriptions\")(function* (\n maxBytes: number,\n) {\n const sql = yield* SqlClient.SqlClient;\n const { hit } = yield* SubscriptionFailpoint;\n\n yield* checkColumns([\n \"effect_agent_subscriptions\",\n \"effect_agent_subscription_events\",\n \"effect_agent_subscription_deliveries\",\n \"effect_agent_subscription_sequences\",\n ]);\n const registrationTable = \"effect_agent_subscriptions\";\n const eventTable = \"effect_agent_subscription_events\";\n const deliveryTable = \"effect_agent_subscription_deliveries\";\n\n // Rebuild only the registration table to remove the old NOT NULL expiry constraint.\n // The original rows, keys, ordinals and expiry values are copied before the swap.\n const mutate = <A, E2>(body: Effect.Effect<A, E2>) =>\n Effect.gen(function* () {\n yield* hit(\"upgrade:before-mutation\");\n const result = yield* body;\n\n yield* hit(\"upgrade:after-mutation\");\n\n return result;\n });\n\n yield* mutate(sql`CREATE TABLE effect_agent_subscriptions_v3 (\n tenant_id TEXT NOT NULL, source_address TEXT NOT NULL, owner_id TEXT NOT NULL, subscription_id TEXT NOT NULL,\n ordinal INTEGER NOT NULL, source_name TEXT NOT NULL, source_version TEXT NOT NULL, matching_key TEXT NOT NULL,\n state TEXT NOT NULL, expires_at_millis INTEGER, recovery_at_millis INTEGER, recovery_present INTEGER NOT NULL DEFAULT 0, record_json TEXT NOT NULL,\n PRIMARY KEY (tenant_id, source_address, owner_id, subscription_id), UNIQUE (tenant_id, source_address, ordinal))`);\n\n let registrationAfter: number | undefined;\n\n while (true) {\n const registrations = yield* rows(\n Schema.Struct({\n storage_rowid: Schema.Int,\n ...JsonRow.fields,\n tenant_id: Schema.String,\n source_address: Schema.String,\n owner_id: Schema.String,\n subscription_id: Schema.String,\n ordinal: Schema.Natural,\n source_name: Schema.String,\n source_version: Schema.String,\n matching_key: Schema.String,\n state: Schema.String,\n expires_at_millis: Schema.Number,\n recovery_at_millis: Schema.NullOr(Schema.Number),\n }),\n yield* registrationAfter === undefined\n ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscriptions ORDER BY rowid LIMIT 16`\n : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscriptions WHERE rowid > ${registrationAfter} ORDER BY rowid LIMIT 16`,\n registrationTable,\n );\n\n if (registrations.length === 0) break;\n\n const registrationKey = (key: SubscriptionRecord[\"key\"]) =>\n JSON.stringify([\n key.partition.tenantId,\n key.partition.address,\n key.ownerId,\n key.subscriptionId,\n ]);\n\n for (const row of registrations) {\n registrationAfter = row.storage_rowid;\n\n const key = JSON.stringify([\n row.tenant_id,\n row.source_address,\n row.owner_id,\n row.subscription_id,\n ]);\n\n const old = yield* json(V2Subscription, row.record_json, registrationTable, key);\n\n const record = yield* decode(\n SubscriptionRecord,\n {\n ...old,\n configurationRevision: 1,\n configurationFingerprint: old.creationFingerprint,\n creationConfiguration: old.configuration,\n },\n registrationTable,\n key,\n );\n\n if (\n registrationKey(record.key) !== key ||\n record.ordinal !== row.ordinal ||\n record.configuration.source.name !== row.source_name ||\n record.configuration.source.version !== row.source_version ||\n record.configuration.matchingKey !== row.matching_key ||\n record.state !== row.state ||\n record.configuration.expiresAtMillis !== row.expires_at_millis ||\n (record.recovery?.nextAttemptAtMillis ?? null) !== row.recovery_at_millis\n )\n return yield* invalid(\n registrationTable,\n key,\n \"Subscription identity or operational indexes disagree with its record.\",\n );\n if (\n (yield* digest(\n {\n key: record.key,\n createdBy: record.createdBy,\n configuration: yield* Schema.encodeEffect(SubscriptionConfiguration)(old.configuration),\n },\n registrationTable,\n key,\n )) !== record.creationFingerprint\n )\n return yield* invalid(\n registrationTable,\n key,\n \"The immutable v2 configuration does not match its fingerprint; a delivery snapshot cannot safely be inferred.\",\n );\n const value = yield* encode(SubscriptionRecord, record, registrationTable, key);\n\n if (new TextEncoder().encode(value).byteLength > maxBytes)\n return yield* invalid(\n registrationTable,\n key,\n \"Adding the creation configuration exceeds the adapter value bound; original data was retained.\",\n );\n yield* mutate(\n sql`INSERT INTO effect_agent_subscriptions_v3 VALUES (${row.tenant_id}, ${row.source_address}, ${row.owner_id}, ${row.subscription_id}, ${row.ordinal}, ${row.source_name}, ${row.source_version}, ${row.matching_key}, ${row.state}, ${row.expires_at_millis}, ${row.recovery_at_millis}, ${record.recovery === null ? 0 : 1}, ${value})`,\n );\n }\n }\n let deliveryAfter: number | undefined;\n\n while (true) {\n const deliveries = yield* rows(\n Schema.Struct({\n storage_rowid: Schema.Int,\n ...JsonRow.fields,\n tenant_id: Schema.String,\n source_address: Schema.String,\n owner_id: Schema.String,\n subscription_id: Schema.String,\n event_id: Schema.String,\n delivery_key: Schema.String,\n state: Schema.String,\n next_attempt_at_millis: Schema.Number,\n }),\n yield* deliveryAfter === undefined\n ? sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscription_deliveries ORDER BY rowid LIMIT 16`\n : sql`SELECT rowid AS storage_rowid, * FROM effect_agent_subscription_deliveries WHERE rowid > ${deliveryAfter} ORDER BY rowid LIMIT 16`,\n deliveryTable,\n );\n\n if (deliveries.length === 0) break;\n for (const row of deliveries) {\n deliveryAfter = row.storage_rowid;\n const key = row.delivery_key;\n const old = yield* json(V2Delivery, row.record_json, deliveryTable, key);\n\n const registrations = yield* rows(\n JsonRow,\n yield* sql`SELECT record_json FROM effect_agent_subscriptions_v3 WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND owner_id=${row.owner_id} AND subscription_id=${row.subscription_id}`,\n registrationTable,\n );\n\n // Indexed immutable identity is sufficient here. Event payloads are not transformed or scanned.\n const events = yield* rows(\n Schema.Struct({\n event_id: Schema.String,\n source_name: Schema.String,\n source_version: Schema.String,\n payload_digest: Schema.String,\n }),\n yield* sql`SELECT event_id, source_name, source_version, payload_digest FROM effect_agent_subscription_events WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND event_id=${row.event_id}`,\n eventTable,\n );\n\n if (registrations.length !== 1 || events.length !== 1)\n return yield* invalid(\n deliveryTable,\n key,\n \"Missing original registration or event. Restore the referenced row from the original store; the delivery configuration cannot be reconstructed safely.\",\n );\n\n const registration = yield* json(\n SubscriptionRecord,\n registrations[0].record_json,\n registrationTable,\n key,\n );\n\n const event = events[0];\n\n const record = yield* decode(\n SubscriptionDelivery,\n {\n ...old,\n configurationRevision: 1,\n configuration: registration.configuration,\n retry: {\n ...old.retry,\n generation: 0,\n automaticAttempts: old.retry.attempts,\n parked: false,\n },\n },\n deliveryTable,\n key,\n );\n\n const expectedId = yield* digest(\n { schemaVersion: 1, subscription: registration.key, eventId: event.event_id },\n deliveryTable,\n key,\n );\n\n const destination = registration.configuration.destination;\n\n if (\n record.key.subscription.partition.tenantId !== row.tenant_id ||\n record.key.subscription.partition.address !== row.source_address ||\n record.key.subscription.ownerId !== row.owner_id ||\n record.key.subscription.subscriptionId !== row.subscription_id ||\n record.key.eventId !== row.event_id ||\n subscriptionDeliveryKeyString(record.key) !== key ||\n record.state !== row.state ||\n record.retry.nextAttemptAtMillis !== row.next_attempt_at_millis ||\n record.subscriptionFingerprint !== registration.creationFingerprint ||\n record.eventDigest !== event.payload_digest ||\n record.source.name !== event.source_name ||\n record.source.version !== event.source_version ||\n record.source.name !== registration.configuration.source.name ||\n record.source.version !== registration.configuration.source.version ||\n record.deliveryId !== expectedId ||\n record.admissionKey !== `subscription:${expectedId}` ||\n record.threadId !==\n (destination._tag === \"ExistingThread\"\n ? destination.threadId\n : `subscription:${expectedId}`)\n )\n return yield* invalid(\n deliveryTable,\n key,\n \"Delivery identity or immutable selection evidence disagrees with its registration/event.\",\n );\n if (record.envelope !== null) {\n const envelope = record.envelope;\n const encoded = yield* Schema.encodeEffect(PreparedInput)(envelope);\n\n if (\n envelope.threadId !== record.threadId ||\n envelope.admissionKey !== record.admissionKey ||\n envelope.deliveryPrincipal !== registration.configuration.deliveryPrincipal ||\n envelope.agentId !== registration.configuration.agentId ||\n !Schema.toEquivalence(DefinitionDigests)(\n envelope.definitions,\n registration.configuration.definitions,\n ) ||\n (yield* digest(envelope.input, deliveryTable, key)) !== envelope.inputDigest ||\n (yield* digest(\n {\n deliveryId: record.deliveryId,\n subscriptionFingerprint: record.subscriptionFingerprint,\n eventDigest: record.eventDigest,\n envelope: encoded,\n },\n deliveryTable,\n key,\n )) !== record.envelopeDigest\n )\n return yield* invalid(\n deliveryTable,\n key,\n \"Prepared envelope identity or digest is inconsistent. Its admission may already have happened; no replacement input or receipt can be invented.\",\n );\n }\n const value = yield* encode(SubscriptionDelivery, record, deliveryTable, key);\n\n if (new TextEncoder().encode(value).byteLength > maxBytes)\n return yield* invalid(\n deliveryTable,\n key,\n \"Adding the immutable configuration exceeds the adapter value bound; original data was retained.\",\n );\n yield* mutate(\n sql`UPDATE effect_agent_subscription_deliveries SET record_json=${value} WHERE tenant_id=${row.tenant_id} AND source_address=${row.source_address} AND owner_id=${row.owner_id} AND subscription_id=${row.subscription_id} AND event_id=${row.event_id}`,\n );\n }\n }\n yield* mutate(sql`DROP TABLE effect_agent_subscriptions`);\n yield* mutate(\n sql`ALTER TABLE effect_agent_subscriptions_v3 RENAME TO effect_agent_subscriptions`,\n );\n yield* mutate(\n sql`CREATE INDEX effect_agent_subscriptions_owner ON effect_agent_subscriptions (tenant_id, source_address, owner_id, ordinal)`,\n );\n yield* mutate(\n sql`CREATE INDEX effect_agent_subscriptions_candidates ON effect_agent_subscriptions (tenant_id, source_address, source_name, source_version, matching_key, ordinal)`,\n );\n yield* mutate(\n sql`CREATE INDEX effect_agent_subscriptions_recovery ON effect_agent_subscriptions (tenant_id, source_address, recovery_at_millis, ordinal) WHERE recovery_at_millis IS NOT NULL`,\n );\n yield* mutate(\n sql`ALTER TABLE effect_agent_subscription_events ADD COLUMN tombstone INTEGER NOT NULL DEFAULT 0`,\n );\n});\n\n/** Check the shared layout without reading journal, receipt, lease or settlement payloads. */\nexport const checkV2ThreadLayout = Effect.fn(\"SqlStorageV2Upgrade.threadLayout\")(function* () {\n yield* checkColumns([\n \"effect_agent_threads\",\n \"effect_agent_canonical_batches\",\n \"effect_agent_canonical_records\",\n \"effect_agent_checkpoints\",\n \"effect_agent_submissions\",\n \"effect_agent_submission_ownership\",\n \"effect_agent_attempts\",\n \"effect_agent_settlement_reservations\",\n \"effect_agent_abort_intents\",\n \"effect_agent_approval_decisions\",\n \"effect_agent_unknown_resolutions\",\n \"effect_agent_child_reservations\",\n ]);\n});\n"],"mappings":";;;;;;;;AACA,MAAa,YAAY;CACvB,sBAAsB;EACpB;EACA;EACA;EACA;EACA;CACF;CACA,gCAAgC;EAC9B;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,gCAAgC;EAAC;EAAa;EAAY;EAAa;EAAY;CAAa;CAChG,0BAA0B;EAAC;EAAa;EAAoB;EAAe;CAAiB;CAC5F,0BAA0B;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,mCAAmC;EACjC;EACA;EACA;EACA;EACA;EACA;CACF;CACA,uBAAuB;EACrB;EACA;EACA;EACA;EACA;EACA;CACF;CACA,sCAAsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,4BAA4B;EAC1B;EACA;EACA;EACA;EACA;CACF;CACA,iCAAiC;EAC/B;EACA;EACA;EACA;EACA;EACA;CACF;CACA,kCAAkC;EAChC;EACA;EACA;EACA;EACA;EACA;CACF;CACA,iCAAiC;EAC/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,wBAAwB;EACtB;EACA;EACA;EACA;EACA;CACF;CACA,qCAAqC;EACnC;EACA;EACA;EACA;EACA;EACA;CACF;CACA,4BAA4B;EAC1B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,kCAAkC;EAChC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,sCAAsC;EACpC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;AChJA,MAAM,oBAAoD,WAAc;CACtE,MAAM,EAAE,gBAAgB,QAAQ,gBAAgB,QAAQ,GAAG,SAAS;CAEpE,OAAO;AACT;AAEA,MAAM,EACJ,YAAY,aACZ,mBAAmB,YACnB,QAAQ,SACR,GAAG,UACD,cAAc;AAElB,MAAa,UAAU,OAAO,OAA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"}
@@ -0,0 +1,63 @@
1
+ import { _ as Digest } from "../Records-BAGkekt8.mjs";
2
+ import { C as SubscriptionScanCursors, O as SubscriptionStoreFailure, S as SubscriptionRetentionPolicy, _ as SubscriptionKey, b as SubscriptionRecord, d as SubscriptionDelivery, f as SubscriptionDeliveryKey, g as SubscriptionFailpointError, l as SubscriptionChange, m as SubscriptionError, n as DeliveryChange, o as SourcePartition, t as AcceptedEvent, v as SubscriptionLimits } from "../Subscription-BEP8oQO5.mjs";
3
+ import { Context, Effect } from "effect";
4
+ import * as SqlClientService from "effect/unstable/sql/SqlClient";
5
+ //#region src/durable/SqlSubscriptionStore.d.ts
6
+ /** Adapter-specific storage limits. */
7
+ interface SqlSubscriptionStoreOptions {
8
+ /** Stored JSON decoder ceiling in UTF-16 code units; admission byte limits remain separate. */
9
+ readonly maxStoredJsonLength: number;
10
+ }
11
+ declare const SqlSubscriptionTransaction_base: Context.ServiceClass<SqlSubscriptionTransaction, "@effect-agent/thread/SqlSubscriptionTransaction", {
12
+ readonly run: <A>(body: Effect.Effect<A, SubscriptionError | SubscriptionFailpointError>) => Effect.Effect<A, SubscriptionError | SubscriptionFailpointError>;
13
+ }>;
14
+ /**
15
+ * Adapter-owned atomic transaction on the store's SqlClient, including any native alarm update.
16
+ * Return only after commit; a failed body must leave its writes uncommitted. Before-mutation
17
+ * failpoints run inside the body, and after-mutation failpoints run after this operation returns.
18
+ */
19
+ declare class SqlSubscriptionTransaction extends SqlSubscriptionTransaction_base {}
20
+ /**
21
+ * Shared SQLite subscription operations over an existing SqlClient. The adapter validates the
22
+ * partition, initializes its tables, and provides SqlSubscriptionTransaction at construction.
23
+ * The returned methods capture the SQL client, transaction service, and failpoint handler.
24
+ * Cloudflare's transaction also updates its native alarm before committing.
25
+ */
26
+ declare const makeSqlSubscriptionStore: (partition: {
27
+ readonly tenantId: string;
28
+ readonly address: string;
29
+ }, options: SqlSubscriptionStoreOptions) => Effect.Effect<{
30
+ readonly partition: SourcePartition;
31
+ readonly compact: (nowMillis: number, policy: SubscriptionRetentionPolicy, limit: number) => Effect.Effect<number, SubscriptionStoreFailure>;
32
+ readonly readScanCursors: Effect.Effect<SubscriptionScanCursors, SubscriptionError>;
33
+ readonly advanceScanCursors: (cursors: SubscriptionScanCursors) => Effect.Effect<void, SubscriptionStoreFailure>;
34
+ readonly register: (record: SubscriptionRecord, limits: SubscriptionLimits) => Effect.Effect<SubscriptionRecord, SubscriptionStoreFailure>;
35
+ readonly get: (key: SubscriptionKey) => Effect.Effect<SubscriptionRecord | null, SubscriptionError>;
36
+ readonly list: (ownerId: string, after: number, limit: number) => Effect.Effect<ReadonlyArray<SubscriptionRecord>, SubscriptionError>;
37
+ readonly change: (key: SubscriptionKey, expectedRevision: number, change: SubscriptionChange) => Effect.Effect<SubscriptionRecord, SubscriptionStoreFailure>;
38
+ readonly cancel: (key: SubscriptionKey, expectedRevision?: number) => Effect.Effect<SubscriptionRecord, SubscriptionStoreFailure>;
39
+ readonly accept: (event: AcceptedEvent, limits: SubscriptionLimits) => Effect.Effect<AcceptedEvent, SubscriptionStoreFailure>;
40
+ readonly event: (eventId: string) => Effect.Effect<AcceptedEvent | null, SubscriptionError>;
41
+ readonly pendingEvents: (nowMillis: number, after: string, limit: number) => Effect.Effect<ReadonlyArray<string>, SubscriptionError>;
42
+ readonly candidates: (event: AcceptedEvent, limit: number) => Effect.Effect<ReadonlyArray<SubscriptionRecord>, SubscriptionError>;
43
+ readonly select: (event: AcceptedEvent, deliveries: ReadonlyArray<SubscriptionDelivery>, cursor: number, complete: boolean, nowMillis: number, limits: SubscriptionLimits) => Effect.Effect<void, SubscriptionStoreFailure>;
44
+ readonly catchUp: (event: AcceptedEvent, delivery: SubscriptionDelivery, nowMillis: number, limits: SubscriptionLimits) => Effect.Effect<void, SubscriptionStoreFailure>;
45
+ readonly deferEvent: (eventId: string, nextAttemptAtMillis: number, code?: string) => Effect.Effect<void, SubscriptionStoreFailure>;
46
+ readonly delivery: (key: SubscriptionDeliveryKey) => Effect.Effect<SubscriptionDelivery | null, SubscriptionError>;
47
+ readonly pendingDeliveries: (nowMillis: number, after: string, limit: number) => Effect.Effect<ReadonlyArray<SubscriptionDeliveryKey>, SubscriptionError>;
48
+ readonly listDeliveries: (key: SubscriptionKey, after: string, limit: number) => Effect.Effect<ReadonlyArray<SubscriptionDelivery>, SubscriptionError>;
49
+ readonly changeDelivery: (key: SubscriptionDeliveryKey, deliveryId: Digest, change: DeliveryChange) => Effect.Effect<SubscriptionDelivery, SubscriptionStoreFailure>;
50
+ readonly recovering: (nowMillis: number, after: number, limit: number) => Effect.Effect<ReadonlyArray<{
51
+ readonly key: SubscriptionKey;
52
+ readonly ordinal: number;
53
+ }>, SubscriptionError>;
54
+ readonly deferRecovery: (key: SubscriptionKey, expectedRevision: number, recovery: {
55
+ readonly attempts: number;
56
+ readonly nextAttemptAtMillis: number | null;
57
+ readonly lastFailure: string | null;
58
+ } | null) => Effect.Effect<void, SubscriptionStoreFailure>;
59
+ readonly nextDeadline: Effect.Effect<number | null, SubscriptionError>;
60
+ }, SubscriptionError, SqlClientService.SqlClient | SqlSubscriptionTransaction>;
61
+ //#endregion
62
+ export { SqlSubscriptionStoreOptions, SqlSubscriptionTransaction, makeSqlSubscriptionStore };
63
+ //# sourceMappingURL=SqlSubscriptionStore.d.mts.map