stitchkit 0.93.0 → 0.94.1

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 (1082) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/README.md +5 -2
  3. package/dist/agent-runtime/children-control.d.ts +6 -0
  4. package/dist/agent-runtime/children-control.d.ts.map +1 -0
  5. package/dist/agent-runtime/children-spawn.d.ts +6 -0
  6. package/dist/agent-runtime/children-spawn.d.ts.map +1 -0
  7. package/dist/agent-runtime/children-state.d.ts +46 -0
  8. package/dist/agent-runtime/children-state.d.ts.map +1 -0
  9. package/dist/agent-runtime/children-usage.d.ts +8 -0
  10. package/dist/agent-runtime/children-usage.d.ts.map +1 -0
  11. package/dist/agent-runtime/children.d.ts +11 -14
  12. package/dist/agent-runtime/children.d.ts.map +1 -1
  13. package/dist/agent-runtime/coding-shell-process.d.ts.map +1 -1
  14. package/dist/agent-runtime/coding-tool-contract.d.ts +2 -1
  15. package/dist/agent-runtime/coding-tool-contract.d.ts.map +1 -1
  16. package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
  17. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
  18. package/dist/agent-runtime/contained-darwin.d.ts +38 -0
  19. package/dist/agent-runtime/contained-darwin.d.ts.map +1 -0
  20. package/dist/agent-runtime/contained-files.d.ts +11 -26
  21. package/dist/agent-runtime/contained-files.d.ts.map +1 -1
  22. package/dist/agent-runtime/contained-scan.d.ts +21 -0
  23. package/dist/agent-runtime/contained-scan.d.ts.map +1 -0
  24. package/dist/agent-runtime/contained-write.d.ts +9 -0
  25. package/dist/agent-runtime/contained-write.d.ts.map +1 -0
  26. package/dist/agent-runtime/deferred-tool-types.d.ts +4 -3
  27. package/dist/agent-runtime/deferred-tool-types.d.ts.map +1 -1
  28. package/dist/agent-runtime/events.d.ts +1 -1
  29. package/dist/agent-runtime/events.d.ts.map +1 -1
  30. package/dist/agent-runtime/harness-control.d.ts +0 -1
  31. package/dist/agent-runtime/harness-control.d.ts.map +1 -1
  32. package/dist/agent-runtime/harness.d.ts +0 -5
  33. package/dist/agent-runtime/harness.d.ts.map +1 -1
  34. package/dist/agent-runtime/managed-tools.d.ts +3 -2
  35. package/dist/agent-runtime/managed-tools.d.ts.map +1 -1
  36. package/dist/agent-runtime/observability.d.ts +1 -1
  37. package/dist/agent-runtime/observability.d.ts.map +1 -1
  38. package/dist/agent-runtime/openrouter.d.ts +29 -0
  39. package/dist/agent-runtime/openrouter.d.ts.map +1 -0
  40. package/dist/agent-runtime/projections.d.ts +1 -1
  41. package/dist/agent-runtime/projections.d.ts.map +1 -1
  42. package/dist/agent-runtime/run-acquisition.d.ts +17 -0
  43. package/dist/agent-runtime/run-acquisition.d.ts.map +1 -0
  44. package/dist/agent-runtime/run-execution-state.d.ts +133 -0
  45. package/dist/agent-runtime/run-execution-state.d.ts.map +1 -0
  46. package/dist/agent-runtime/run-execution.d.ts +17 -33
  47. package/dist/agent-runtime/run-execution.d.ts.map +1 -1
  48. package/dist/agent-runtime/run-failure.d.ts +18 -0
  49. package/dist/agent-runtime/run-failure.d.ts.map +1 -0
  50. package/dist/agent-runtime/run-model-attempts.d.ts +6 -0
  51. package/dist/agent-runtime/run-model-attempts.d.ts.map +1 -0
  52. package/dist/agent-runtime/run-prompt-history.d.ts +58 -0
  53. package/dist/agent-runtime/run-prompt-history.d.ts.map +1 -0
  54. package/dist/agent-runtime/run-provider-ledger.d.ts +26 -0
  55. package/dist/agent-runtime/run-provider-ledger.d.ts.map +1 -0
  56. package/dist/agent-runtime/run-stream-parts.d.ts +17 -0
  57. package/dist/agent-runtime/run-stream-parts.d.ts.map +1 -0
  58. package/dist/agent-runtime/run-terminal.d.ts +11 -0
  59. package/dist/agent-runtime/run-terminal.d.ts.map +1 -0
  60. package/dist/agent-runtime/run-turn-preparation.d.ts +22 -0
  61. package/dist/agent-runtime/run-turn-preparation.d.ts.map +1 -0
  62. package/dist/agent-runtime/runtime-admission-gate.d.ts +29 -0
  63. package/dist/agent-runtime/runtime-admission-gate.d.ts.map +1 -0
  64. package/dist/agent-runtime/runtime-control.d.ts +9 -0
  65. package/dist/agent-runtime/runtime-control.d.ts.map +1 -0
  66. package/dist/agent-runtime/runtime-recovery.d.ts +10 -0
  67. package/dist/agent-runtime/runtime-recovery.d.ts.map +1 -0
  68. package/dist/agent-runtime/runtime-state.d.ts +36 -0
  69. package/dist/agent-runtime/runtime-state.d.ts.map +1 -0
  70. package/dist/agent-runtime/runtime-submit.d.ts +5 -0
  71. package/dist/agent-runtime/runtime-submit.d.ts.map +1 -0
  72. package/dist/agent-runtime/runtime.d.ts +10 -5
  73. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  74. package/dist/agent-runtime/schedule-records.d.ts +34 -0
  75. package/dist/agent-runtime/schedule-records.d.ts.map +1 -0
  76. package/dist/agent-runtime/schedules.d.ts +34 -0
  77. package/dist/agent-runtime/schedules.d.ts.map +1 -1
  78. package/dist/agent-runtime/sqlite-bun.d.ts +12 -0
  79. package/dist/agent-runtime/sqlite-bun.d.ts.map +1 -0
  80. package/dist/agent-runtime/sqlite-events.d.ts +5 -0
  81. package/dist/agent-runtime/sqlite-events.d.ts.map +1 -0
  82. package/dist/agent-runtime/sqlite-history.d.ts +7 -0
  83. package/dist/agent-runtime/sqlite-history.d.ts.map +1 -0
  84. package/dist/agent-runtime/sqlite-ledger.d.ts +7 -0
  85. package/dist/agent-runtime/sqlite-ledger.d.ts.map +1 -0
  86. package/dist/agent-runtime/sqlite-node.d.ts +12 -0
  87. package/dist/agent-runtime/sqlite-node.d.ts.map +1 -0
  88. package/dist/agent-runtime/sqlite-reads.d.ts +14 -0
  89. package/dist/agent-runtime/sqlite-reads.d.ts.map +1 -0
  90. package/dist/agent-runtime/sqlite-rows.d.ts +178 -0
  91. package/dist/agent-runtime/sqlite-rows.d.ts.map +1 -0
  92. package/dist/agent-runtime/sqlite-schema.d.ts +7 -0
  93. package/dist/agent-runtime/sqlite-schema.d.ts.map +1 -0
  94. package/dist/agent-runtime/sqlite-transactions.d.ts +25 -0
  95. package/dist/agent-runtime/sqlite-transactions.d.ts.map +1 -0
  96. package/dist/agent-runtime/sqlite.d.ts +10 -6
  97. package/dist/agent-runtime/sqlite.d.ts.map +1 -1
  98. package/dist/agent-runtime/store-archive.d.ts +16 -0
  99. package/dist/agent-runtime/store-archive.d.ts.map +1 -0
  100. package/dist/agent-runtime/store-conformance-lifecycle.d.ts +434 -0
  101. package/dist/agent-runtime/store-conformance-lifecycle.d.ts.map +1 -0
  102. package/dist/agent-runtime/store-conformance-ordering.d.ts +18 -0
  103. package/dist/agent-runtime/store-conformance-ordering.d.ts.map +1 -0
  104. package/dist/agent-runtime/store-conformance-support.d.ts +130 -0
  105. package/dist/agent-runtime/store-conformance-support.d.ts.map +1 -0
  106. package/dist/agent-runtime/store-conformance-terminal.d.ts +12 -0
  107. package/dist/agent-runtime/store-conformance-terminal.d.ts.map +1 -0
  108. package/dist/agent-runtime/store-conformance.d.ts +40 -0
  109. package/dist/agent-runtime/store-conformance.d.ts.map +1 -0
  110. package/dist/agent-runtime/store-create.d.ts +11 -0
  111. package/dist/agent-runtime/store-create.d.ts.map +1 -0
  112. package/dist/agent-runtime/store-driver-contract.d.ts +814 -0
  113. package/dist/agent-runtime/store-driver-contract.d.ts.map +1 -0
  114. package/dist/agent-runtime/store-events.d.ts +7 -89
  115. package/dist/agent-runtime/store-events.d.ts.map +1 -1
  116. package/dist/agent-runtime/store-memory.d.ts +4 -0
  117. package/dist/agent-runtime/store-memory.d.ts.map +1 -0
  118. package/dist/agent-runtime/store-mutate.d.ts +13 -0
  119. package/dist/agent-runtime/store-mutate.d.ts.map +1 -0
  120. package/dist/agent-runtime/store-purge.d.ts +1 -1
  121. package/dist/agent-runtime/store-purge.d.ts.map +1 -1
  122. package/dist/agent-runtime/store-reads.d.ts +29 -0
  123. package/dist/agent-runtime/store-reads.d.ts.map +1 -0
  124. package/dist/agent-runtime/store-reduce-history.d.ts +10 -0
  125. package/dist/agent-runtime/store-reduce-history.d.ts.map +1 -0
  126. package/dist/agent-runtime/store-reduce-run.d.ts +14 -0
  127. package/dist/agent-runtime/store-reduce-run.d.ts.map +1 -0
  128. package/dist/agent-runtime/store-reduce-shared.d.ts +76 -0
  129. package/dist/agent-runtime/store-reduce-shared.d.ts.map +1 -0
  130. package/dist/agent-runtime/store-reduce-terminal.d.ts +6 -0
  131. package/dist/agent-runtime/store-reduce-terminal.d.ts.map +1 -0
  132. package/dist/agent-runtime/store-reducer.d.ts +24 -0
  133. package/dist/agent-runtime/store-reducer.d.ts.map +1 -0
  134. package/dist/agent-runtime/store-snapshot.d.ts +19 -0
  135. package/dist/agent-runtime/store-snapshot.d.ts.map +1 -0
  136. package/dist/agent-runtime/store.d.ts +1 -1
  137. package/dist/agent-runtime/store.d.ts.map +1 -1
  138. package/dist/application/admission-rate.d.ts +21 -0
  139. package/dist/application/admission-rate.d.ts.map +1 -0
  140. package/dist/application/admission-run.d.ts +8 -0
  141. package/dist/application/admission-run.d.ts.map +1 -0
  142. package/dist/application/admission.d.ts +1 -1
  143. package/dist/application/admission.d.ts.map +1 -1
  144. package/dist/application/diagnostic-journal-lock.d.ts +9 -34
  145. package/dist/application/diagnostic-journal-lock.d.ts.map +1 -1
  146. package/dist/application/diagnostic-journal-manager.d.ts.map +1 -1
  147. package/dist/application/diagnostic-journal-storage.d.ts.map +1 -1
  148. package/dist/application/events.d.ts +1 -1
  149. package/dist/application/events.d.ts.map +1 -1
  150. package/dist/application/file-state-store.d.ts +23 -0
  151. package/dist/application/file-state-store.d.ts.map +1 -0
  152. package/dist/application/health.d.ts +1 -1
  153. package/dist/application/health.d.ts.map +1 -1
  154. package/dist/application/kernel-admission.d.ts +8 -0
  155. package/dist/application/kernel-admission.d.ts.map +1 -0
  156. package/dist/application/kernel-contract.d.ts +142 -0
  157. package/dist/application/kernel-contract.d.ts.map +1 -0
  158. package/dist/application/kernel-resource-context.d.ts +24 -0
  159. package/dist/application/kernel-resource-context.d.ts.map +1 -0
  160. package/dist/application/kernel-restart.d.ts +5 -0
  161. package/dist/application/kernel-restart.d.ts.map +1 -0
  162. package/dist/application/kernel-rollback.d.ts +4 -0
  163. package/dist/application/kernel-rollback.d.ts.map +1 -0
  164. package/dist/application/kernel-shutdown.d.ts +6 -0
  165. package/dist/application/kernel-shutdown.d.ts.map +1 -0
  166. package/dist/application/kernel-start.d.ts +20 -0
  167. package/dist/application/kernel-start.d.ts.map +1 -0
  168. package/dist/application/kernel-state.d.ts +116 -0
  169. package/dist/application/kernel-state.d.ts.map +1 -0
  170. package/dist/application/kernel.d.ts +9 -140
  171. package/dist/application/kernel.d.ts.map +1 -1
  172. package/dist/application/latest-sink.d.ts +1 -1
  173. package/dist/application/latest-sink.d.ts.map +1 -1
  174. package/dist/application/notification-outbox.d.ts.map +1 -1
  175. package/dist/application/opentelemetry.d.ts +1 -1
  176. package/dist/application/opentelemetry.d.ts.map +1 -1
  177. package/dist/application/schedule.d.ts +0 -1
  178. package/dist/application/schedule.d.ts.map +1 -1
  179. package/dist/application/watch-hub-core.d.ts +122 -0
  180. package/dist/application/watch-hub-core.d.ts.map +1 -0
  181. package/dist/application/watch-hub.d.ts +3 -3
  182. package/dist/application/watch-hub.d.ts.map +1 -1
  183. package/dist/browser/client-executors.d.ts +14 -0
  184. package/dist/browser/client-executors.d.ts.map +1 -0
  185. package/dist/browser/client-multipart.d.ts +1 -1
  186. package/dist/browser/client-multipart.d.ts.map +1 -1
  187. package/dist/browser/client-url.d.ts +1 -1
  188. package/dist/browser/client-url.d.ts.map +1 -1
  189. package/dist/browser/client.d.ts +3 -2
  190. package/dist/browser/client.d.ts.map +1 -1
  191. package/dist/browser/contract-stream.d.ts +1 -1
  192. package/dist/browser/contract-stream.d.ts.map +1 -1
  193. package/dist/browser/http-fetch.d.ts +22 -0
  194. package/dist/browser/http-fetch.d.ts.map +1 -0
  195. package/dist/browser/http.d.ts +2 -4
  196. package/dist/browser/http.d.ts.map +1 -1
  197. package/dist/browser/live-state-core.d.ts +63 -0
  198. package/dist/browser/live-state-core.d.ts.map +1 -0
  199. package/dist/browser/live-state.d.ts.map +1 -1
  200. package/dist/browser/realtime-client.d.ts +26 -0
  201. package/dist/browser/realtime-client.d.ts.map +1 -0
  202. package/dist/browser/resumable.d.ts +1 -28
  203. package/dist/browser/resumable.d.ts.map +1 -1
  204. package/dist/browser/retained.d.ts.map +1 -0
  205. package/dist/browser/socket-io-connection.d.ts +82 -0
  206. package/dist/browser/socket-io-connection.d.ts.map +1 -0
  207. package/dist/browser/socket-io-peer.d.ts +20 -0
  208. package/dist/browser/socket-io-peer.d.ts.map +1 -0
  209. package/dist/browser/socket-io-trace.d.ts +31 -0
  210. package/dist/browser/socket-io-trace.d.ts.map +1 -0
  211. package/dist/browser/socket-io.d.ts +24 -18
  212. package/dist/browser/socket-io.d.ts.map +1 -1
  213. package/dist/browser/stream.d.ts +14 -2
  214. package/dist/browser/stream.d.ts.map +1 -1
  215. package/dist/contract/client-types.d.ts +134 -0
  216. package/dist/contract/client-types.d.ts.map +1 -0
  217. package/dist/contract/define-validation.d.ts +30 -0
  218. package/dist/contract/define-validation.d.ts.map +1 -0
  219. package/dist/contract/define.d.ts +47 -394
  220. package/dist/contract/define.d.ts.map +1 -1
  221. package/dist/contract/normalize.d.ts +56 -0
  222. package/dist/contract/normalize.d.ts.map +1 -0
  223. package/dist/contract/runtime-context.d.ts +131 -0
  224. package/dist/contract/runtime-context.d.ts.map +1 -0
  225. package/dist/contract/tool-options.d.ts +105 -0
  226. package/dist/contract/tool-options.d.ts.map +1 -0
  227. package/dist/contract/tool-view.d.ts +148 -0
  228. package/dist/contract/tool-view.d.ts.map +1 -0
  229. package/dist/declaration/declaration.d.ts.map +1 -0
  230. package/dist/durability/contract.d.ts +259 -0
  231. package/dist/durability/contract.d.ts.map +1 -0
  232. package/dist/durability/effect.d.ts +24 -0
  233. package/dist/durability/effect.d.ts.map +1 -0
  234. package/dist/durability/engine.d.ts +14 -0
  235. package/dist/durability/engine.d.ts.map +1 -0
  236. package/dist/durability/events.d.ts +103 -0
  237. package/dist/durability/events.d.ts.map +1 -0
  238. package/dist/durability/json.d.ts +3 -0
  239. package/dist/durability/json.d.ts.map +1 -0
  240. package/dist/durability/ledger.d.ts +27 -0
  241. package/dist/durability/ledger.d.ts.map +1 -0
  242. package/dist/durability/parks.d.ts +22 -0
  243. package/dist/durability/parks.d.ts.map +1 -0
  244. package/dist/durability/scheduler.d.ts +30 -0
  245. package/dist/durability/scheduler.d.ts.map +1 -0
  246. package/dist/entrypoints/agent-runtime/browser.d.ts +5 -0
  247. package/dist/entrypoints/agent-runtime/browser.d.ts.map +1 -0
  248. package/dist/entrypoints/agent-runtime/browser.js +124 -0
  249. package/dist/entrypoints/agent-runtime/coding-tools.d.ts +2 -0
  250. package/dist/entrypoints/agent-runtime/coding-tools.d.ts.map +1 -0
  251. package/dist/entrypoints/agent-runtime/coding-tools.js +22 -0
  252. package/dist/entrypoints/agent-runtime/harness.d.ts +2 -0
  253. package/dist/entrypoints/agent-runtime/harness.d.ts.map +1 -0
  254. package/dist/entrypoints/agent-runtime/harness.js +739 -0
  255. package/dist/entrypoints/agent-runtime/openrouter.d.ts +2 -0
  256. package/dist/entrypoints/agent-runtime/openrouter.d.ts.map +1 -0
  257. package/dist/entrypoints/agent-runtime/openrouter.js +270 -0
  258. package/dist/entrypoints/agent-runtime/sandbox.d.ts +5 -0
  259. package/dist/entrypoints/agent-runtime/sandbox.d.ts.map +1 -0
  260. package/dist/entrypoints/agent-runtime/sandbox.js +797 -0
  261. package/dist/entrypoints/agent-runtime/sqlite/bun.d.ts +2 -0
  262. package/dist/entrypoints/agent-runtime/sqlite/bun.d.ts.map +1 -0
  263. package/dist/entrypoints/agent-runtime/sqlite/bun.js +44 -0
  264. package/dist/entrypoints/agent-runtime/sqlite/node.d.ts +2 -0
  265. package/dist/entrypoints/agent-runtime/sqlite/node.d.ts.map +1 -0
  266. package/dist/entrypoints/agent-runtime/sqlite/node.js +46 -0
  267. package/dist/entrypoints/agent-runtime/testing.d.ts +4 -0
  268. package/dist/entrypoints/agent-runtime/testing.d.ts.map +1 -0
  269. package/dist/entrypoints/agent-runtime/testing.js +1116 -0
  270. package/dist/entrypoints/agent-runtime.d.ts +42 -0
  271. package/dist/entrypoints/agent-runtime.d.ts.map +1 -0
  272. package/dist/entrypoints/agent-runtime.js +2670 -0
  273. package/dist/entrypoints/application/diagnostic-journal.d.ts +21 -0
  274. package/dist/entrypoints/application/diagnostic-journal.d.ts.map +1 -0
  275. package/dist/entrypoints/application/diagnostic-journal.js +492 -0
  276. package/dist/entrypoints/application/grammy.d.ts +2 -0
  277. package/dist/entrypoints/application/grammy.d.ts.map +1 -0
  278. package/dist/entrypoints/application/grammy.js +169 -0
  279. package/dist/entrypoints/application/opentelemetry.d.ts +2 -0
  280. package/dist/entrypoints/application/opentelemetry.d.ts.map +1 -0
  281. package/dist/entrypoints/application/opentelemetry.js +250 -0
  282. package/dist/entrypoints/application/schemas.d.ts +15 -0
  283. package/dist/entrypoints/application/schemas.d.ts.map +1 -0
  284. package/dist/entrypoints/application/schemas.js +27 -0
  285. package/dist/entrypoints/application.d.ts +23 -0
  286. package/dist/entrypoints/application.d.ts.map +1 -0
  287. package/dist/entrypoints/application.js +2016 -0
  288. package/dist/entrypoints/bin/upgrade-cli.d.ts.map +1 -0
  289. package/dist/entrypoints/bin/upgrade-cli.js +177 -0
  290. package/dist/entrypoints/cli.d.ts +44 -0
  291. package/dist/entrypoints/cli.d.ts.map +1 -0
  292. package/dist/entrypoints/cli.js +773 -0
  293. package/dist/entrypoints/contract.d.ts +12 -0
  294. package/dist/entrypoints/contract.d.ts.map +1 -0
  295. package/dist/entrypoints/contract.js +64 -0
  296. package/dist/entrypoints/declaration.d.ts +2 -0
  297. package/dist/entrypoints/declaration.d.ts.map +1 -0
  298. package/dist/entrypoints/declaration.js +183 -0
  299. package/dist/entrypoints/files.d.ts +5 -0
  300. package/dist/entrypoints/files.d.ts.map +1 -0
  301. package/dist/entrypoints/files.js +111 -0
  302. package/dist/entrypoints/geo.d.ts +3 -0
  303. package/dist/entrypoints/geo.d.ts.map +1 -0
  304. package/dist/entrypoints/geo.js +245 -0
  305. package/dist/entrypoints/google.d.ts +2 -0
  306. package/dist/entrypoints/google.d.ts.map +1 -0
  307. package/dist/entrypoints/google.js +175 -0
  308. package/dist/entrypoints/index.d.ts +17 -0
  309. package/dist/entrypoints/index.d.ts.map +1 -0
  310. package/dist/entrypoints/index.js +764 -0
  311. package/dist/entrypoints/live.d.ts +19 -0
  312. package/dist/entrypoints/live.d.ts.map +1 -0
  313. package/dist/entrypoints/live.js +302 -0
  314. package/dist/entrypoints/node.d.ts +19 -0
  315. package/dist/entrypoints/node.d.ts.map +1 -0
  316. package/dist/entrypoints/node.js +308 -0
  317. package/dist/entrypoints/oauth.d.ts +2 -0
  318. package/dist/entrypoints/oauth.d.ts.map +1 -0
  319. package/dist/entrypoints/oauth.js +170 -0
  320. package/dist/entrypoints/observability.d.ts +19 -0
  321. package/dist/entrypoints/observability.d.ts.map +1 -0
  322. package/dist/entrypoints/observability.js +567 -0
  323. package/dist/entrypoints/primitives.d.ts +3 -0
  324. package/dist/entrypoints/primitives.d.ts.map +1 -0
  325. package/dist/entrypoints/primitives.js +749 -0
  326. package/dist/entrypoints/react.d.ts +5 -0
  327. package/dist/entrypoints/react.d.ts.map +1 -0
  328. package/dist/entrypoints/react.js +403 -0
  329. package/dist/entrypoints/release.d.ts +15 -0
  330. package/dist/entrypoints/release.d.ts.map +1 -0
  331. package/dist/entrypoints/release.js +196 -0
  332. package/dist/entrypoints/remote.d.ts +9 -0
  333. package/dist/entrypoints/remote.d.ts.map +1 -0
  334. package/dist/entrypoints/remote.js +66 -0
  335. package/dist/entrypoints/server.d.ts +39 -0
  336. package/dist/entrypoints/server.d.ts.map +1 -0
  337. package/dist/entrypoints/server.js +2009 -0
  338. package/dist/entrypoints/telegram.d.ts +3 -0
  339. package/dist/entrypoints/telegram.d.ts.map +1 -0
  340. package/dist/entrypoints/telegram.js +224 -0
  341. package/dist/entrypoints/testing.d.ts +10 -0
  342. package/dist/entrypoints/testing.d.ts.map +1 -0
  343. package/dist/entrypoints/testing.js +1377 -0
  344. package/dist/entrypoints/tools/connections.d.ts +19 -0
  345. package/dist/entrypoints/tools/connections.d.ts.map +1 -0
  346. package/dist/entrypoints/tools/connections.js +1110 -0
  347. package/dist/entrypoints/tools/contract.d.ts +29 -0
  348. package/dist/entrypoints/tools/contract.d.ts.map +1 -0
  349. package/dist/entrypoints/tools/contract.js +24 -0
  350. package/dist/entrypoints/tools/invoker.d.ts +9 -0
  351. package/dist/entrypoints/tools/invoker.d.ts.map +1 -0
  352. package/dist/entrypoints/tools/invoker.js +20 -0
  353. package/dist/entrypoints/tools.d.ts +54 -0
  354. package/dist/entrypoints/tools.d.ts.map +1 -0
  355. package/dist/entrypoints/tools.js +3009 -0
  356. package/dist/entrypoints/tracking/server.d.ts +15 -0
  357. package/dist/entrypoints/tracking/server.d.ts.map +1 -0
  358. package/dist/entrypoints/tracking.d.ts +24 -0
  359. package/dist/entrypoints/tracking.d.ts.map +1 -0
  360. package/dist/entrypoints/tracking.js +1140 -0
  361. package/dist/files/boundary.d.ts.map +1 -1
  362. package/dist/files/file-io.d.ts +14 -0
  363. package/dist/files/file-io.d.ts.map +1 -0
  364. package/dist/google/google.d.ts.map +1 -0
  365. package/dist/index-0b1ess5e.js +38 -0
  366. package/dist/index-1j8pm5t0.js +412 -0
  367. package/dist/index-1zbbzgfh.js +89 -0
  368. package/dist/index-2bxbyab0.js +47 -0
  369. package/dist/index-2gxzjvyr.js +266 -0
  370. package/dist/index-35mh5bhj.js +177 -0
  371. package/dist/index-48ffdxgk.js +6 -0
  372. package/dist/index-4gcnakhx.js +82 -0
  373. package/dist/index-55hkhm67.js +343 -0
  374. package/dist/index-79z7m7dt.js +675 -0
  375. package/dist/index-7f68ghdn.js +3618 -0
  376. package/dist/index-7p1f0vp2.js +154 -0
  377. package/dist/index-83bdg97s.js +16 -0
  378. package/dist/index-863ea9jb.js +154 -0
  379. package/dist/index-8p52kd5p.js +242 -0
  380. package/dist/index-d9pk3td4.js +326 -0
  381. package/dist/index-dce5wxcq.js +63 -0
  382. package/dist/index-e01r054k.js +105 -0
  383. package/dist/index-ensd0r74.js +595 -0
  384. package/dist/index-eqqvgdb3.js +46 -0
  385. package/dist/index-gxrt5h6v.js +341 -0
  386. package/dist/index-h6eeys1v.js +211 -0
  387. package/dist/index-ham5sz8m.js +734 -0
  388. package/dist/index-het2he5g.js +1387 -0
  389. package/dist/index-hffjpmq9.js +30 -0
  390. package/dist/index-hmp4800j.js +51 -0
  391. package/dist/index-k30h66yd.js +317 -0
  392. package/dist/index-k5hsfc3j.js +31 -0
  393. package/dist/index-khtgb21r.js +92 -0
  394. package/dist/index-m9zn6cpq.js +51 -0
  395. package/dist/index-ndddxtyx.js +324 -0
  396. package/dist/index-ngfhvfpd.js +30 -0
  397. package/dist/index-np4m8hd3.js +1205 -0
  398. package/dist/index-p3vsv1fb.js +3493 -0
  399. package/dist/index-p5r7qpdd.js +85 -0
  400. package/dist/index-p9e0w8hs.js +1084 -0
  401. package/dist/index-p9sh0xx4.js +64 -0
  402. package/dist/index-paz6sgdp.js +371 -0
  403. package/dist/index-px2gm2jp.js +448 -0
  404. package/dist/index-qwhynv6x.js +103 -0
  405. package/dist/index-s812ycat.js +65 -0
  406. package/dist/index-sp1tzwnb.js +281 -0
  407. package/dist/index-t9rhjr9f.js +2306 -0
  408. package/dist/index-v260df89.js +342 -0
  409. package/dist/index-w906953s.js +946 -0
  410. package/dist/index-wdkt63w3.js +214 -0
  411. package/dist/index-wqgjfstn.js +18 -0
  412. package/dist/index-wsm5w4ee.js +1023 -0
  413. package/dist/index-xw3s75nj.js +100 -0
  414. package/dist/index-yw4fzmdz.js +268 -0
  415. package/dist/index-zfrhfn82.js +85 -0
  416. package/dist/index-znfs20ss.js +98 -0
  417. package/dist/internal/atomic-file.d.ts +23 -2
  418. package/dist/internal/atomic-file.d.ts.map +1 -1
  419. package/dist/internal/backoff.d.ts +29 -0
  420. package/dist/internal/backoff.d.ts.map +1 -0
  421. package/dist/internal/canonical-json.d.ts +21 -11
  422. package/dist/internal/canonical-json.d.ts.map +1 -1
  423. package/dist/internal/channel.d.ts.map +1 -0
  424. package/dist/internal/exclusive-lock.d.ts +51 -0
  425. package/dist/internal/exclusive-lock.d.ts.map +1 -0
  426. package/dist/internal/logger.d.ts.map +1 -0
  427. package/dist/internal/process-identity.d.ts +47 -0
  428. package/dist/internal/process-identity.d.ts.map +1 -0
  429. package/dist/internal/request.d.ts.map +1 -0
  430. package/dist/internal/stable-digest.d.ts +0 -43
  431. package/dist/internal/stable-digest.d.ts.map +1 -1
  432. package/dist/internal/typed.d.ts +0 -8
  433. package/dist/internal/typed.d.ts.map +1 -1
  434. package/dist/internal/with-exclusive-lock.d.ts +67 -0
  435. package/dist/internal/with-exclusive-lock.d.ts.map +1 -0
  436. package/dist/internal/zod-issues.d.ts +38 -0
  437. package/dist/internal/zod-issues.d.ts.map +1 -0
  438. package/dist/json-schema/dialect.d.ts +17 -0
  439. package/dist/json-schema/dialect.d.ts.map +1 -0
  440. package/dist/json-schema/json-schema.d.ts.map +1 -0
  441. package/dist/live/watch-client.d.ts.map +1 -1
  442. package/dist/live/watch-delta.d.ts.map +1 -1
  443. package/dist/oauth/authorization-code.d.ts +57 -0
  444. package/dist/oauth/authorization-code.d.ts.map +1 -0
  445. package/dist/observability/audit.d.ts +3 -3
  446. package/dist/observability/audit.d.ts.map +1 -1
  447. package/dist/observability/bounded-logger.d.ts +1 -1
  448. package/dist/observability/bounded-logger.d.ts.map +1 -1
  449. package/dist/observability/bounded-sink.d.ts +81 -0
  450. package/dist/observability/bounded-sink.d.ts.map +1 -0
  451. package/dist/observability/context.d.ts +1 -1
  452. package/dist/observability/context.d.ts.map +1 -1
  453. package/dist/observability/event.d.ts +2 -1
  454. package/dist/observability/event.d.ts.map +1 -1
  455. package/dist/observability/work.d.ts +1 -1
  456. package/dist/observability/work.d.ts.map +1 -1
  457. package/dist/primitives/audit.d.ts +1 -1
  458. package/dist/primitives/audit.d.ts.map +1 -1
  459. package/dist/primitives/export-operation.d.ts +4 -2
  460. package/dist/primitives/export-operation.d.ts.map +1 -1
  461. package/dist/realtime/registry.d.ts +0 -5
  462. package/dist/realtime/registry.d.ts.map +1 -1
  463. package/dist/realtime/socket.d.ts +1 -1
  464. package/dist/realtime/socket.d.ts.map +1 -1
  465. package/dist/server/bun.d.ts +0 -1
  466. package/dist/server/bun.d.ts.map +1 -1
  467. package/dist/server/context-contribution.d.ts +1 -1
  468. package/dist/server/context-contribution.d.ts.map +1 -1
  469. package/dist/server/context.d.ts +2 -2
  470. package/dist/server/context.d.ts.map +1 -1
  471. package/dist/server/contract-method.d.ts +15 -0
  472. package/dist/server/contract-method.d.ts.map +1 -0
  473. package/dist/server/contract-stream.d.ts +1 -1
  474. package/dist/server/contract-stream.d.ts.map +1 -1
  475. package/dist/server/create.d.ts +8 -0
  476. package/dist/server/create.d.ts.map +1 -1
  477. package/dist/server/endpoint-dispatch.d.ts +10 -0
  478. package/dist/server/endpoint-dispatch.d.ts.map +1 -0
  479. package/dist/server/endpoint-response.d.ts +19 -0
  480. package/dist/server/endpoint-response.d.ts.map +1 -0
  481. package/dist/server/error-dispatch.d.ts +17 -1
  482. package/dist/server/error-dispatch.d.ts.map +1 -1
  483. package/dist/server/error-hook.d.ts +2 -2
  484. package/dist/server/error-hook.d.ts.map +1 -1
  485. package/dist/server/handler-state.d.ts +44 -0
  486. package/dist/server/handler-state.d.ts.map +1 -0
  487. package/dist/server/implement-registry.d.ts +54 -0
  488. package/dist/server/implement-registry.d.ts.map +1 -0
  489. package/dist/server/implement.d.ts +9 -55
  490. package/dist/server/implement.d.ts.map +1 -1
  491. package/dist/server/middleware/auth.d.ts +1 -31
  492. package/dist/server/middleware/auth.d.ts.map +1 -1
  493. package/dist/server/middleware/cors.d.ts +17 -0
  494. package/dist/server/middleware/cors.d.ts.map +1 -1
  495. package/dist/server/middleware/jwt.d.ts +31 -0
  496. package/dist/server/middleware/jwt.d.ts.map +1 -0
  497. package/dist/server/middleware/trust-fence.d.ts +1 -1
  498. package/dist/server/middleware/trust-fence.d.ts.map +1 -1
  499. package/dist/server/multipart-reader.d.ts +22 -0
  500. package/dist/server/multipart-reader.d.ts.map +1 -0
  501. package/dist/server/multipart.d.ts +1 -1
  502. package/dist/server/multipart.d.ts.map +1 -1
  503. package/dist/server/oauth/cimd.d.ts +88 -0
  504. package/dist/server/oauth/cimd.d.ts.map +1 -0
  505. package/dist/server/oauth/endpoints.d.ts +39 -0
  506. package/dist/server/oauth/endpoints.d.ts.map +1 -0
  507. package/dist/server/oauth/metadata.d.ts +28 -0
  508. package/dist/server/oauth/metadata.d.ts.map +1 -0
  509. package/dist/server/oauth/provider.d.ts +117 -0
  510. package/dist/server/oauth/provider.d.ts.map +1 -0
  511. package/dist/server/realtime.d.ts +1 -1
  512. package/dist/server/realtime.d.ts.map +1 -1
  513. package/dist/server/request-completion.d.ts +16 -0
  514. package/dist/server/request-completion.d.ts.map +1 -0
  515. package/dist/server/response-metadata.d.ts +1 -1
  516. package/dist/server/response-metadata.d.ts.map +1 -1
  517. package/dist/server/route-table.d.ts +9 -0
  518. package/dist/server/route-table.d.ts.map +1 -0
  519. package/dist/server/stream.d.ts +0 -13
  520. package/dist/server/stream.d.ts.map +1 -1
  521. package/dist/server/streaming-pump.d.ts +66 -0
  522. package/dist/server/streaming-pump.d.ts.map +1 -0
  523. package/dist/server/streaming-route.d.ts +12 -5
  524. package/dist/server/streaming-route.d.ts.map +1 -1
  525. package/dist/server/types.d.ts +10 -4
  526. package/dist/server/types.d.ts.map +1 -1
  527. package/dist/server/unix-client-bun.d.ts.map +1 -1
  528. package/dist/server/unix-client-http1.d.ts +76 -0
  529. package/dist/server/unix-client-http1.d.ts.map +1 -0
  530. package/dist/server/unix-client.d.ts.map +1 -1
  531. package/dist/testing/handler-clients.d.ts +32 -0
  532. package/dist/testing/handler-clients.d.ts.map +1 -0
  533. package/dist/testing/managed-resource-conformance-scenarios.d.ts.map +1 -1
  534. package/dist/testing/realtime-probe.d.ts +33 -0
  535. package/dist/testing/realtime-probe.d.ts.map +1 -0
  536. package/dist/testing/surface-conformance.d.ts +2 -32
  537. package/dist/testing/surface-conformance.d.ts.map +1 -1
  538. package/dist/testing/surface-manifest-digest.d.ts +44 -0
  539. package/dist/testing/surface-manifest-digest.d.ts.map +1 -0
  540. package/dist/testing/surface-manifest.d.ts +30 -4
  541. package/dist/testing/surface-manifest.d.ts.map +1 -1
  542. package/dist/tools/agent.d.ts +1 -1
  543. package/dist/tools/agent.d.ts.map +1 -1
  544. package/dist/tools/cli/args-fields.d.ts +31 -0
  545. package/dist/tools/cli/args-fields.d.ts.map +1 -0
  546. package/dist/tools/cli/args-route.d.ts +42 -0
  547. package/dist/tools/cli/args-route.d.ts.map +1 -0
  548. package/dist/tools/cli/args-view.d.ts +32 -0
  549. package/dist/tools/cli/args-view.d.ts.map +1 -0
  550. package/dist/tools/cli/args.d.ts +80 -0
  551. package/dist/tools/cli/args.d.ts.map +1 -0
  552. package/dist/tools/cli/argument-error.d.ts +5 -0
  553. package/dist/tools/cli/argument-error.d.ts.map +1 -0
  554. package/dist/tools/cli/checkpoint.d.ts +24 -0
  555. package/dist/tools/cli/checkpoint.d.ts.map +1 -0
  556. package/dist/tools/cli/command.d.ts +70 -0
  557. package/dist/tools/cli/command.d.ts.map +1 -0
  558. package/dist/tools/cli/config.d.ts +90 -0
  559. package/dist/tools/cli/config.d.ts.map +1 -0
  560. package/dist/tools/cli/create-cli.d.ts +36 -0
  561. package/dist/tools/cli/create-cli.d.ts.map +1 -0
  562. package/dist/tools/cli/download.d.ts +8 -0
  563. package/dist/tools/cli/download.d.ts.map +1 -0
  564. package/dist/tools/cli/format.d.ts +50 -0
  565. package/dist/tools/cli/format.d.ts.map +1 -0
  566. package/dist/tools/cli/help.d.ts +24 -0
  567. package/dist/tools/cli/help.d.ts.map +1 -0
  568. package/dist/tools/cli/installer.d.ts +34 -0
  569. package/dist/tools/cli/installer.d.ts.map +1 -0
  570. package/dist/tools/cli/invoke.d.ts +144 -0
  571. package/dist/tools/cli/invoke.d.ts.map +1 -0
  572. package/dist/tools/cli/io.d.ts +10 -0
  573. package/dist/tools/cli/io.d.ts.map +1 -0
  574. package/dist/tools/cli/managed-surface.d.ts +30 -0
  575. package/dist/tools/cli/managed-surface.d.ts.map +1 -0
  576. package/dist/tools/cli/manifest.d.ts +80 -0
  577. package/dist/tools/cli/manifest.d.ts.map +1 -0
  578. package/dist/tools/cli/policy.d.ts +27 -0
  579. package/dist/tools/cli/policy.d.ts.map +1 -0
  580. package/dist/tools/cli/prepare.d.ts +14 -0
  581. package/dist/tools/cli/prepare.d.ts.map +1 -0
  582. package/dist/tools/cli/profile.d.ts +40 -0
  583. package/dist/tools/cli/profile.d.ts.map +1 -0
  584. package/dist/tools/cli/run-managed.d.ts +5 -0
  585. package/dist/tools/cli/run-managed.d.ts.map +1 -0
  586. package/dist/tools/cli/run-native.d.ts +9 -0
  587. package/dist/tools/cli/run-native.d.ts.map +1 -0
  588. package/dist/tools/cli/session.d.ts +40 -0
  589. package/dist/tools/cli/session.d.ts.map +1 -0
  590. package/dist/tools/cli/signature.d.ts +81 -0
  591. package/dist/tools/cli/signature.d.ts.map +1 -0
  592. package/dist/tools/cli/stream.d.ts +93 -0
  593. package/dist/tools/cli/stream.d.ts.map +1 -0
  594. package/dist/tools/cli/update.d.ts +145 -0
  595. package/dist/tools/cli/update.d.ts.map +1 -0
  596. package/dist/tools/cli/view.d.ts +12 -0
  597. package/dist/tools/cli/view.d.ts.map +1 -0
  598. package/dist/tools/cli/wait.d.ts +54 -0
  599. package/dist/tools/cli/wait.d.ts.map +1 -0
  600. package/dist/tools/connections/runtime.d.ts +1 -1
  601. package/dist/tools/connections/runtime.d.ts.map +1 -1
  602. package/dist/tools/connections/types.d.ts +3 -3
  603. package/dist/tools/connections/types.d.ts.map +1 -1
  604. package/dist/tools/durability-context.d.ts +1 -1
  605. package/dist/tools/durability-context.d.ts.map +1 -1
  606. package/dist/tools/execute-args.d.ts +23 -0
  607. package/dist/tools/execute-args.d.ts.map +1 -0
  608. package/dist/tools/execute-hooks.d.ts +146 -0
  609. package/dist/tools/execute-hooks.d.ts.map +1 -0
  610. package/dist/tools/execute-result.d.ts +40 -0
  611. package/dist/tools/execute-result.d.ts.map +1 -0
  612. package/dist/tools/execute.d.ts +31 -193
  613. package/dist/tools/execute.d.ts.map +1 -1
  614. package/dist/tools/internal/surface-projector.d.ts +9 -6
  615. package/dist/tools/internal/surface-projector.d.ts.map +1 -1
  616. package/dist/tools/internal/tool-view.d.ts +41 -0
  617. package/dist/tools/internal/tool-view.d.ts.map +1 -0
  618. package/dist/tools/invoker.d.ts +13 -4
  619. package/dist/tools/invoker.d.ts.map +1 -1
  620. package/dist/tools/lifecycle.d.ts +1 -1
  621. package/dist/tools/lifecycle.d.ts.map +1 -1
  622. package/dist/tools/list-names.d.ts +3 -3
  623. package/dist/tools/list-names.d.ts.map +1 -1
  624. package/dist/tools/manifest.d.ts +2 -2
  625. package/dist/tools/manifest.d.ts.map +1 -1
  626. package/dist/tools/mcp/app.d.ts +62 -0
  627. package/dist/tools/mcp/app.d.ts.map +1 -0
  628. package/dist/tools/mcp/catalog.d.ts +68 -0
  629. package/dist/tools/mcp/catalog.d.ts.map +1 -0
  630. package/dist/tools/mcp/handler.d.ts +46 -0
  631. package/dist/tools/mcp/handler.d.ts.map +1 -0
  632. package/dist/tools/mcp/mount.d.ts +152 -0
  633. package/dist/tools/mcp/mount.d.ts.map +1 -0
  634. package/dist/tools/mcp/prepare.d.ts +76 -0
  635. package/dist/tools/mcp/prepare.d.ts.map +1 -0
  636. package/dist/tools/mcp/progress.d.ts +46 -0
  637. package/dist/tools/mcp/progress.d.ts.map +1 -0
  638. package/dist/tools/mcp/register.d.ts +36 -0
  639. package/dist/tools/mcp/register.d.ts.map +1 -0
  640. package/dist/tools/mcp/round-context.d.ts +38 -0
  641. package/dist/tools/mcp/round-context.d.ts.map +1 -0
  642. package/dist/tools/mcp/round-policy.d.ts +33 -0
  643. package/dist/tools/mcp/round-policy.d.ts.map +1 -0
  644. package/dist/tools/mcp/round.d.ts +53 -0
  645. package/dist/tools/mcp/round.d.ts.map +1 -0
  646. package/dist/tools/mcp/runtime-tools.d.ts +25 -0
  647. package/dist/tools/mcp/runtime-tools.d.ts.map +1 -0
  648. package/dist/tools/mcp/stdio-signals.d.ts +33 -0
  649. package/dist/tools/mcp/stdio-signals.d.ts.map +1 -0
  650. package/dist/tools/mcp/stdio.d.ts +20 -0
  651. package/dist/tools/mcp/stdio.d.ts.map +1 -0
  652. package/dist/tools/mcp/trace.d.ts +12 -0
  653. package/dist/tools/mcp/trace.d.ts.map +1 -0
  654. package/dist/tools/mount.d.ts +14 -7
  655. package/dist/tools/mount.d.ts.map +1 -1
  656. package/dist/tools/native-definition.d.ts +4 -3
  657. package/dist/tools/native-definition.d.ts.map +1 -1
  658. package/dist/tools/operations/async-operation-binding-types.d.ts +127 -0
  659. package/dist/tools/operations/async-operation-binding-types.d.ts.map +1 -0
  660. package/dist/tools/operations/async-operation-binding.d.ts +28 -0
  661. package/dist/tools/operations/async-operation-binding.d.ts.map +1 -0
  662. package/dist/tools/operations/async-operation-canonical-types.d.ts +110 -0
  663. package/dist/tools/operations/async-operation-canonical-types.d.ts.map +1 -0
  664. package/dist/tools/operations/async-operation-canonical.d.ts +7 -0
  665. package/dist/tools/operations/async-operation-canonical.d.ts.map +1 -0
  666. package/dist/tools/operations/async-operation-contract.d.ts.map +1 -0
  667. package/dist/tools/operations/async-operation-id.d.ts +23 -0
  668. package/dist/tools/operations/async-operation-id.d.ts.map +1 -0
  669. package/dist/tools/operations/async-operation-runtime-tools.d.ts +41 -0
  670. package/dist/tools/operations/async-operation-runtime-tools.d.ts.map +1 -0
  671. package/dist/tools/operations/async-operation-runtime-types.d.ts +69 -0
  672. package/dist/tools/operations/async-operation-runtime-types.d.ts.map +1 -0
  673. package/dist/tools/operations/async-operation-runtime.d.ts +5 -0
  674. package/dist/tools/operations/async-operation-runtime.d.ts.map +1 -0
  675. package/dist/tools/operations/define-wait-tool.d.ts +22 -0
  676. package/dist/tools/operations/define-wait-tool.d.ts.map +1 -0
  677. package/dist/tools/operations/mount-wait.d.ts.map +1 -0
  678. package/dist/tools/operations/wait-core.d.ts.map +1 -0
  679. package/dist/tools/remote.d.ts +1 -1
  680. package/dist/tools/remote.d.ts.map +1 -1
  681. package/dist/tools/runtime-tool.d.ts +13 -4
  682. package/dist/tools/runtime-tool.d.ts.map +1 -1
  683. package/dist/tools/schema/coerce.d.ts.map +1 -0
  684. package/dist/tools/schema/flatten-join.d.ts.map +1 -0
  685. package/dist/tools/schema/flatten.d.ts.map +1 -0
  686. package/dist/tools/schema/portable-formats.d.ts.map +1 -0
  687. package/dist/tools/schema/presentation.d.ts +24 -0
  688. package/dist/tools/schema/presentation.d.ts.map +1 -0
  689. package/dist/tools/schema/schema.d.ts.map +1 -0
  690. package/dist/tools/schema/untyped-properties.d.ts.map +1 -0
  691. package/dist/tools/surface.d.ts +2 -3
  692. package/dist/tools/surface.d.ts.map +1 -1
  693. package/dist/tools/tool-logger.d.ts +1 -1
  694. package/dist/tools/tool-logger.d.ts.map +1 -1
  695. package/dist/tools/toolkit.d.ts +4 -4
  696. package/dist/tools/toolkit.d.ts.map +1 -1
  697. package/dist/tools/transfer/define-download-tool.d.ts +18 -0
  698. package/dist/tools/transfer/define-download-tool.d.ts.map +1 -0
  699. package/dist/tools/transfer/define-upload-tool.d.ts +16 -0
  700. package/dist/tools/transfer/define-upload-tool.d.ts.map +1 -0
  701. package/dist/tools/transfer/define-view-file-tool.d.ts +10 -0
  702. package/dist/tools/transfer/define-view-file-tool.d.ts.map +1 -0
  703. package/dist/tools/transfer/download-core.d.ts +20 -0
  704. package/dist/tools/transfer/download-core.d.ts.map +1 -0
  705. package/dist/tools/transfer/managed-file-error.d.ts +6 -0
  706. package/dist/tools/transfer/managed-file-error.d.ts.map +1 -0
  707. package/dist/tools/transfer/mount-download.d.ts +41 -0
  708. package/dist/tools/transfer/mount-download.d.ts.map +1 -0
  709. package/dist/tools/transfer/mount-upload.d.ts +21 -0
  710. package/dist/tools/transfer/mount-upload.d.ts.map +1 -0
  711. package/dist/tools/transfer/native-result.d.ts.map +1 -0
  712. package/dist/tools/transfer/upload-core.d.ts +4 -0
  713. package/dist/tools/transfer/upload-core.d.ts.map +1 -0
  714. package/dist/tools/transfer/view-file-contract.d.ts.map +1 -0
  715. package/dist/tools/transfer/view-file.d.ts +62 -0
  716. package/dist/tools/transfer/view-file.d.ts.map +1 -0
  717. package/dist/tools/transports.d.ts +1 -1
  718. package/dist/tools/transports.d.ts.map +1 -1
  719. package/dist/tracking/client-listeners.d.ts +30 -0
  720. package/dist/tracking/client-listeners.d.ts.map +1 -0
  721. package/dist/tracking/client-visit.d.ts +61 -0
  722. package/dist/tracking/client-visit.d.ts.map +1 -0
  723. package/dist/tracking/client.d.ts +3 -2
  724. package/dist/tracking/client.d.ts.map +1 -1
  725. package/dist/tracking/contract.d.ts +1 -1
  726. package/dist/tracking/contract.d.ts.map +1 -1
  727. package/llms/agent-runtime-browser.txt +33 -0
  728. package/llms/agent-runtime-coding-tools.txt +58 -0
  729. package/llms/agent-runtime-harness.txt +45 -0
  730. package/llms/agent-runtime-openrouter.txt +22 -0
  731. package/llms/agent-runtime-sandbox.txt +159 -0
  732. package/llms/agent-runtime-sqlite-bun.txt +29 -0
  733. package/llms/agent-runtime-sqlite-node.txt +26 -0
  734. package/llms/agent-runtime-testing.txt +30 -0
  735. package/llms/agent-runtime.2.txt +550 -0
  736. package/llms/agent-runtime.3.txt +311 -0
  737. package/llms/agent-runtime.txt +893 -0
  738. package/llms/application-diagnostic-journal.txt +30 -0
  739. package/llms/application-grammy.txt +27 -0
  740. package/llms/application-opentelemetry.txt +27 -0
  741. package/llms/application-schemas.txt +42 -0
  742. package/llms/application.2.txt +487 -0
  743. package/llms/application.txt +886 -0
  744. package/llms/cli.2.txt +80 -0
  745. package/llms/cli.txt +948 -0
  746. package/llms/contract.txt +606 -0
  747. package/llms/declaration.txt +286 -0
  748. package/llms/files.txt +33 -0
  749. package/llms/geo.txt +114 -0
  750. package/llms/google.txt +27 -0
  751. package/llms/live.txt +471 -0
  752. package/llms/node.txt +43 -0
  753. package/llms/oauth.txt +136 -0
  754. package/llms/observability.txt +893 -0
  755. package/llms/primitives.txt +158 -0
  756. package/llms/react.txt +184 -0
  757. package/llms/release.txt +176 -0
  758. package/llms/remote.txt +25 -0
  759. package/llms/server.2.txt +361 -0
  760. package/llms/server.3.txt +1031 -0
  761. package/llms/server.4.txt +905 -0
  762. package/llms/server.5.txt +250 -0
  763. package/llms/server.txt +996 -0
  764. package/llms/stitchkit.2.txt +836 -0
  765. package/llms/stitchkit.3.txt +147 -0
  766. package/llms/stitchkit.txt +260 -0
  767. package/llms/telegram.txt +30 -0
  768. package/llms/testing.txt +676 -0
  769. package/llms/tools-connections.txt +45 -0
  770. package/llms/tools-contract.txt +9 -0
  771. package/llms/tools-invoker.txt +9 -0
  772. package/llms/tools.2.txt +647 -0
  773. package/llms/tools.3.txt +288 -0
  774. package/llms/tools.txt +966 -0
  775. package/llms/tracking-server.txt +32 -0
  776. package/llms/tracking.txt +263 -0
  777. package/llms/upgrading-0.37.0-0.50.0.txt +947 -0
  778. package/llms/upgrading-0.53.0-0.67.0.txt +1174 -0
  779. package/llms/upgrading-0.68.0-0.94.0.txt +1159 -0
  780. package/llms/upgrading.txt +215 -0
  781. package/llms-full.txt +312 -77
  782. package/llms.txt +54 -5
  783. package/package.json +84 -83
  784. package/dist/agent-runtime/durability-contract.d.ts +0 -176
  785. package/dist/agent-runtime/durability-contract.d.ts.map +0 -1
  786. package/dist/agent-runtime/durability-json.d.ts +0 -3
  787. package/dist/agent-runtime/durability-json.d.ts.map +0 -1
  788. package/dist/agent-runtime/durability-ledger.d.ts +0 -16
  789. package/dist/agent-runtime/durability-ledger.d.ts.map +0 -1
  790. package/dist/agent-runtime/durability-scheduler.d.ts +0 -29
  791. package/dist/agent-runtime/durability-scheduler.d.ts.map +0 -1
  792. package/dist/agent-runtime/durability.d.ts +0 -14
  793. package/dist/agent-runtime/durability.d.ts.map +0 -1
  794. package/dist/agent-runtime/store-driver.d.ts +0 -814
  795. package/dist/agent-runtime/store-driver.d.ts.map +0 -1
  796. package/dist/agent-runtime-browser.d.ts +0 -5
  797. package/dist/agent-runtime-browser.d.ts.map +0 -1
  798. package/dist/agent-runtime-browser.js +0 -124
  799. package/dist/agent-runtime-coding-tools.d.ts +0 -2
  800. package/dist/agent-runtime-coding-tools.d.ts.map +0 -1
  801. package/dist/agent-runtime-coding-tools.js +0 -23
  802. package/dist/agent-runtime-harness.d.ts +0 -2
  803. package/dist/agent-runtime-harness.d.ts.map +0 -1
  804. package/dist/agent-runtime-harness.js +0 -729
  805. package/dist/agent-runtime-openrouter.d.ts +0 -29
  806. package/dist/agent-runtime-openrouter.d.ts.map +0 -1
  807. package/dist/agent-runtime-openrouter.js +0 -270
  808. package/dist/agent-runtime-sandbox.d.ts +0 -5
  809. package/dist/agent-runtime-sandbox.d.ts.map +0 -1
  810. package/dist/agent-runtime-sandbox.js +0 -798
  811. package/dist/agent-runtime-sqlite-bun.d.ts +0 -11
  812. package/dist/agent-runtime-sqlite-bun.d.ts.map +0 -1
  813. package/dist/agent-runtime-sqlite-bun.js +0 -42
  814. package/dist/agent-runtime-sqlite-node.d.ts +0 -11
  815. package/dist/agent-runtime-sqlite-node.d.ts.map +0 -1
  816. package/dist/agent-runtime-sqlite-node.js +0 -44
  817. package/dist/agent-runtime-testing.d.ts +0 -3
  818. package/dist/agent-runtime-testing.d.ts.map +0 -1
  819. package/dist/agent-runtime-testing.js +0 -156
  820. package/dist/agent-runtime.d.ts +0 -38
  821. package/dist/agent-runtime.d.ts.map +0 -1
  822. package/dist/agent-runtime.js +0 -2607
  823. package/dist/application/channel.d.ts.map +0 -1
  824. package/dist/application-diagnostic-journal.d.ts +0 -21
  825. package/dist/application-diagnostic-journal.d.ts.map +0 -1
  826. package/dist/application-diagnostic-journal.js +0 -632
  827. package/dist/application-grammy.d.ts +0 -2
  828. package/dist/application-grammy.d.ts.map +0 -1
  829. package/dist/application-grammy.js +0 -169
  830. package/dist/application-opentelemetry.d.ts +0 -2
  831. package/dist/application-opentelemetry.d.ts.map +0 -1
  832. package/dist/application-opentelemetry.js +0 -250
  833. package/dist/application-schemas.d.ts +0 -15
  834. package/dist/application-schemas.d.ts.map +0 -1
  835. package/dist/application-schemas.js +0 -27
  836. package/dist/application.d.ts +0 -22
  837. package/dist/application.d.ts.map +0 -1
  838. package/dist/application.js +0 -1977
  839. package/dist/cli.d.ts +0 -41
  840. package/dist/cli.d.ts.map +0 -1
  841. package/dist/cli.js +0 -753
  842. package/dist/contract/index.d.ts +0 -8
  843. package/dist/contract/index.d.ts.map +0 -1
  844. package/dist/contract/index.js +0 -55
  845. package/dist/declaration.d.ts.map +0 -1
  846. package/dist/declaration.js +0 -183
  847. package/dist/files.d.ts +0 -3
  848. package/dist/files.d.ts.map +0 -1
  849. package/dist/files.js +0 -15
  850. package/dist/geo.d.ts +0 -3
  851. package/dist/geo.d.ts.map +0 -1
  852. package/dist/geo.js +0 -245
  853. package/dist/google.d.ts.map +0 -1
  854. package/dist/google.js +0 -175
  855. package/dist/index-0a349c33.js +0 -470
  856. package/dist/index-0j3vcp5m.js +0 -28
  857. package/dist/index-2c2bjw3s.js +0 -51
  858. package/dist/index-2na0qrfn.js +0 -214
  859. package/dist/index-2qzskm8h.js +0 -63
  860. package/dist/index-3bmnp41g.js +0 -2169
  861. package/dist/index-3xwxfj4z.js +0 -334
  862. package/dist/index-4fpa9dy2.js +0 -51
  863. package/dist/index-6kyksz9y.js +0 -268
  864. package/dist/index-77fekveh.js +0 -44
  865. package/dist/index-7gnkny4z.js +0 -326
  866. package/dist/index-7zbps32p.js +0 -89
  867. package/dist/index-9f8ztey6.js +0 -588
  868. package/dist/index-a11g2kry.js +0 -866
  869. package/dist/index-a916km3r.js +0 -45
  870. package/dist/index-actkayzn.js +0 -367
  871. package/dist/index-bn2cjajt.js +0 -524
  872. package/dist/index-bx75zwt7.js +0 -63
  873. package/dist/index-cby4ar3v.js +0 -46
  874. package/dist/index-cnyk6te3.js +0 -77
  875. package/dist/index-cxqhvq21.js +0 -413
  876. package/dist/index-e0znv5gn.js +0 -176
  877. package/dist/index-e42wzzz5.js +0 -154
  878. package/dist/index-f477k430.js +0 -324
  879. package/dist/index-f9mb610r.js +0 -177
  880. package/dist/index-fadnxwna.js +0 -1046
  881. package/dist/index-fq77yfzc.js +0 -1303
  882. package/dist/index-h9etkkyk.js +0 -1126
  883. package/dist/index-hrbajay7.js +0 -1196
  884. package/dist/index-kw9t5ayn.js +0 -507
  885. package/dist/index-mzvgxp0n.js +0 -80
  886. package/dist/index-n0f51dfn.js +0 -3170
  887. package/dist/index-p13mwz16.js +0 -16
  888. package/dist/index-s8cnx02s.js +0 -90
  889. package/dist/index-sr93cwf9.js +0 -325
  890. package/dist/index-tmwcrptx.js +0 -85
  891. package/dist/index-v5573g1k.js +0 -142
  892. package/dist/index-vjpvjqpn.js +0 -86
  893. package/dist/index-vk3kq9sb.js +0 -3344
  894. package/dist/index-wc4x00bn.js +0 -103
  895. package/dist/index-wnfk50r0.js +0 -211
  896. package/dist/index-yewwh1w4.js +0 -647
  897. package/dist/index-yn8remb1.js +0 -290
  898. package/dist/index-ywd0y6m1.js +0 -394
  899. package/dist/index-zwkgfq1s.js +0 -345
  900. package/dist/index.d.ts +0 -14
  901. package/dist/index.d.ts.map +0 -1
  902. package/dist/index.js +0 -632
  903. package/dist/internal/errors.d.ts +0 -92
  904. package/dist/internal/errors.d.ts.map +0 -1
  905. package/dist/internal/observability-sink.d.ts +0 -81
  906. package/dist/internal/observability-sink.d.ts.map +0 -1
  907. package/dist/live.d.ts +0 -19
  908. package/dist/live.d.ts.map +0 -1
  909. package/dist/live.js +0 -282
  910. package/dist/logger.d.ts.map +0 -1
  911. package/dist/node.d.ts +0 -18
  912. package/dist/node.d.ts.map +0 -1
  913. package/dist/node.js +0 -303
  914. package/dist/oauth.d.ts +0 -57
  915. package/dist/oauth.d.ts.map +0 -1
  916. package/dist/oauth.js +0 -170
  917. package/dist/observability/index.d.ts +0 -19
  918. package/dist/observability/index.d.ts.map +0 -1
  919. package/dist/observability/index.js +0 -569
  920. package/dist/primitives.d.ts +0 -3
  921. package/dist/primitives.d.ts.map +0 -1
  922. package/dist/primitives.js +0 -754
  923. package/dist/react.d.ts +0 -5
  924. package/dist/react.d.ts.map +0 -1
  925. package/dist/react.js +0 -403
  926. package/dist/release.d.ts +0 -15
  927. package/dist/release.d.ts.map +0 -1
  928. package/dist/release.js +0 -196
  929. package/dist/remote.d.ts +0 -9
  930. package/dist/remote.d.ts.map +0 -1
  931. package/dist/remote.js +0 -88
  932. package/dist/retained.d.ts.map +0 -1
  933. package/dist/server/file-state-store.d.ts +0 -23
  934. package/dist/server/file-state-store.d.ts.map +0 -1
  935. package/dist/server/index.d.ts +0 -36
  936. package/dist/server/index.d.ts.map +0 -1
  937. package/dist/server/index.js +0 -1745
  938. package/dist/server/request.d.ts.map +0 -1
  939. package/dist/telegram.d.ts +0 -3
  940. package/dist/telegram.d.ts.map +0 -1
  941. package/dist/telegram.js +0 -224
  942. package/dist/testing/agent-store-conformance.d.ts +0 -40
  943. package/dist/testing/agent-store-conformance.d.ts.map +0 -1
  944. package/dist/testing.d.ts +0 -39
  945. package/dist/testing.d.ts.map +0 -1
  946. package/dist/testing.js +0 -2209
  947. package/dist/tool-invoker.d.ts +0 -9
  948. package/dist/tool-invoker.d.ts.map +0 -1
  949. package/dist/tool-invoker.js +0 -21
  950. package/dist/tools/async-operation-contract.d.ts.map +0 -1
  951. package/dist/tools/async-operation.d.ts +0 -332
  952. package/dist/tools/async-operation.d.ts.map +0 -1
  953. package/dist/tools/cli-args.d.ts +0 -143
  954. package/dist/tools/cli-args.d.ts.map +0 -1
  955. package/dist/tools/cli-checkpoint.d.ts +0 -24
  956. package/dist/tools/cli-checkpoint.d.ts.map +0 -1
  957. package/dist/tools/cli-command.d.ts +0 -70
  958. package/dist/tools/cli-command.d.ts.map +0 -1
  959. package/dist/tools/cli-format.d.ts +0 -49
  960. package/dist/tools/cli-format.d.ts.map +0 -1
  961. package/dist/tools/cli-installer.d.ts +0 -34
  962. package/dist/tools/cli-installer.d.ts.map +0 -1
  963. package/dist/tools/cli-invoke.d.ts +0 -143
  964. package/dist/tools/cli-invoke.d.ts.map +0 -1
  965. package/dist/tools/cli-manifest.d.ts +0 -80
  966. package/dist/tools/cli-manifest.d.ts.map +0 -1
  967. package/dist/tools/cli-policy.d.ts +0 -27
  968. package/dist/tools/cli-policy.d.ts.map +0 -1
  969. package/dist/tools/cli-profile.d.ts +0 -40
  970. package/dist/tools/cli-profile.d.ts.map +0 -1
  971. package/dist/tools/cli-signature.d.ts +0 -81
  972. package/dist/tools/cli-signature.d.ts.map +0 -1
  973. package/dist/tools/cli-stream.d.ts +0 -93
  974. package/dist/tools/cli-stream.d.ts.map +0 -1
  975. package/dist/tools/cli-update.d.ts +0 -126
  976. package/dist/tools/cli-update.d.ts.map +0 -1
  977. package/dist/tools/cli-view.d.ts +0 -12
  978. package/dist/tools/cli-view.d.ts.map +0 -1
  979. package/dist/tools/cli-wait.d.ts +0 -54
  980. package/dist/tools/cli-wait.d.ts.map +0 -1
  981. package/dist/tools/cli.d.ts +0 -94
  982. package/dist/tools/cli.d.ts.map +0 -1
  983. package/dist/tools/coerce.d.ts.map +0 -1
  984. package/dist/tools/connections/index.d.ts +0 -20
  985. package/dist/tools/connections/index.d.ts.map +0 -1
  986. package/dist/tools/connections/index.js +0 -1107
  987. package/dist/tools/define-download-tool.d.ts +0 -18
  988. package/dist/tools/define-download-tool.d.ts.map +0 -1
  989. package/dist/tools/define-upload-tool.d.ts +0 -16
  990. package/dist/tools/define-upload-tool.d.ts.map +0 -1
  991. package/dist/tools/define-view-file-tool.d.ts +0 -10
  992. package/dist/tools/define-view-file-tool.d.ts.map +0 -1
  993. package/dist/tools/define-wait-tool.d.ts +0 -22
  994. package/dist/tools/define-wait-tool.d.ts.map +0 -1
  995. package/dist/tools/download-core.d.ts +0 -20
  996. package/dist/tools/download-core.d.ts.map +0 -1
  997. package/dist/tools/flatten-join.d.ts.map +0 -1
  998. package/dist/tools/flatten.d.ts.map +0 -1
  999. package/dist/tools/json-schema-dialect.d.ts +0 -17
  1000. package/dist/tools/json-schema-dialect.d.ts.map +0 -1
  1001. package/dist/tools/json-schema.d.ts.map +0 -1
  1002. package/dist/tools/managed-file-error.d.ts +0 -6
  1003. package/dist/tools/managed-file-error.d.ts.map +0 -1
  1004. package/dist/tools/mcp-app.d.ts +0 -62
  1005. package/dist/tools/mcp-app.d.ts.map +0 -1
  1006. package/dist/tools/mcp-catalog.d.ts +0 -68
  1007. package/dist/tools/mcp-catalog.d.ts.map +0 -1
  1008. package/dist/tools/mcp-handler.d.ts +0 -46
  1009. package/dist/tools/mcp-handler.d.ts.map +0 -1
  1010. package/dist/tools/mcp-prepare.d.ts +0 -75
  1011. package/dist/tools/mcp-prepare.d.ts.map +0 -1
  1012. package/dist/tools/mcp-progress.d.ts +0 -46
  1013. package/dist/tools/mcp-progress.d.ts.map +0 -1
  1014. package/dist/tools/mcp-round-policy.d.ts +0 -33
  1015. package/dist/tools/mcp-round-policy.d.ts.map +0 -1
  1016. package/dist/tools/mcp-round.d.ts +0 -61
  1017. package/dist/tools/mcp-round.d.ts.map +0 -1
  1018. package/dist/tools/mcp-stdio-signals.d.ts +0 -33
  1019. package/dist/tools/mcp-stdio-signals.d.ts.map +0 -1
  1020. package/dist/tools/mcp-stdio.d.ts +0 -20
  1021. package/dist/tools/mcp-stdio.d.ts.map +0 -1
  1022. package/dist/tools/mcp-trace.d.ts +0 -12
  1023. package/dist/tools/mcp-trace.d.ts.map +0 -1
  1024. package/dist/tools/mcp.d.ts +0 -152
  1025. package/dist/tools/mcp.d.ts.map +0 -1
  1026. package/dist/tools/mount-download.d.ts +0 -41
  1027. package/dist/tools/mount-download.d.ts.map +0 -1
  1028. package/dist/tools/mount-upload.d.ts +0 -21
  1029. package/dist/tools/mount-upload.d.ts.map +0 -1
  1030. package/dist/tools/mount-wait.d.ts.map +0 -1
  1031. package/dist/tools/native-mcp.d.ts +0 -20
  1032. package/dist/tools/native-mcp.d.ts.map +0 -1
  1033. package/dist/tools/native-result.d.ts.map +0 -1
  1034. package/dist/tools/oauth-metadata.d.ts +0 -28
  1035. package/dist/tools/oauth-metadata.d.ts.map +0 -1
  1036. package/dist/tools/oauth-provider.d.ts +0 -184
  1037. package/dist/tools/oauth-provider.d.ts.map +0 -1
  1038. package/dist/tools/portable-formats.d.ts.map +0 -1
  1039. package/dist/tools/presentation.d.ts +0 -22
  1040. package/dist/tools/presentation.d.ts.map +0 -1
  1041. package/dist/tools/schema.d.ts.map +0 -1
  1042. package/dist/tools/untyped-properties.d.ts.map +0 -1
  1043. package/dist/tools/upload-core.d.ts +0 -4
  1044. package/dist/tools/upload-core.d.ts.map +0 -1
  1045. package/dist/tools/view-file-contract.d.ts.map +0 -1
  1046. package/dist/tools/view-file.d.ts +0 -62
  1047. package/dist/tools/view-file.d.ts.map +0 -1
  1048. package/dist/tools/wait-core.d.ts.map +0 -1
  1049. package/dist/tools-contract.d.ts +0 -29
  1050. package/dist/tools-contract.d.ts.map +0 -1
  1051. package/dist/tools-contract.js +0 -24
  1052. package/dist/tools.d.ts +0 -50
  1053. package/dist/tools.d.ts.map +0 -1
  1054. package/dist/tools.js +0 -2930
  1055. package/dist/tracking-server.d.ts +0 -15
  1056. package/dist/tracking-server.d.ts.map +0 -1
  1057. package/dist/tracking.d.ts +0 -24
  1058. package/dist/tracking.d.ts.map +0 -1
  1059. package/dist/tracking.js +0 -1092
  1060. package/dist/upgrade-cli.d.ts.map +0 -1
  1061. package/dist/upgrade-cli.js +0 -177
  1062. /package/dist/{retained.d.ts → browser/retained.d.ts} +0 -0
  1063. /package/dist/{declaration.d.ts → declaration/declaration.d.ts} +0 -0
  1064. /package/dist/{upgrade-cli.d.ts → entrypoints/bin/upgrade-cli.d.ts} +0 -0
  1065. /package/dist/{tracking-server.js → entrypoints/tracking/server.js} +0 -0
  1066. /package/dist/{google.d.ts → google/google.d.ts} +0 -0
  1067. /package/dist/{index-pq95qkbf.js → index-5jm36zv1.js} +0 -0
  1068. /package/dist/{application → internal}/channel.d.ts +0 -0
  1069. /package/dist/{logger.d.ts → internal/logger.d.ts} +0 -0
  1070. /package/dist/{server → internal}/request.d.ts +0 -0
  1071. /package/dist/{tools → json-schema}/json-schema.d.ts +0 -0
  1072. /package/dist/tools/{async-operation-contract.d.ts → operations/async-operation-contract.d.ts} +0 -0
  1073. /package/dist/tools/{mount-wait.d.ts → operations/mount-wait.d.ts} +0 -0
  1074. /package/dist/tools/{wait-core.d.ts → operations/wait-core.d.ts} +0 -0
  1075. /package/dist/tools/{coerce.d.ts → schema/coerce.d.ts} +0 -0
  1076. /package/dist/tools/{flatten-join.d.ts → schema/flatten-join.d.ts} +0 -0
  1077. /package/dist/tools/{flatten.d.ts → schema/flatten.d.ts} +0 -0
  1078. /package/dist/tools/{portable-formats.d.ts → schema/portable-formats.d.ts} +0 -0
  1079. /package/dist/tools/{schema.d.ts → schema/schema.d.ts} +0 -0
  1080. /package/dist/tools/{untyped-properties.d.ts → schema/untyped-properties.d.ts} +0 -0
  1081. /package/dist/tools/{native-result.d.ts → transfer/native-result.d.ts} +0 -0
  1082. /package/dist/tools/{view-file-contract.d.ts → transfer/view-file-contract.d.ts} +0 -0
@@ -1,1196 +0,0 @@
1
- import {
2
- AcceptInputAndAssignRunSchema,
3
- AcquireAgentRunSchema,
4
- AgentRecoverablePageSchema,
5
- AgentRunViewSchema,
6
- AgentStoreEventEnvelopeSchema,
7
- AgentStoreEventPageSchema,
8
- AgentStoreTransitionSchema,
9
- AppendAgentStoreEventSchema,
10
- CheckpointRunAssistantSchema,
11
- CommitRunTerminalSchema,
12
- ReadAgentStoreEventsSchema,
13
- RecordRunOperationSchema,
14
- RecoverAgentRunSchema,
15
- ReplaceCompactedRangeSchema,
16
- RequestRunInterruptSchema,
17
- SeedConversationInputSchema,
18
- agentStoreEventDraft,
19
- assistantStatus,
20
- canonicalAgentJson,
21
- decodeAgentConversationArchive,
22
- encodeAgentConversationArchive
23
- } from "./index-zwkgfq1s.js";
24
- import {
25
- AgentMessageSchema,
26
- AgentRecordIdSchema,
27
- AgentRecordVersionSchema,
28
- AgentRunSchema,
29
- AgentSnapshotSchema,
30
- runStateForTerminalReason
31
- } from "./index-gtj3zc53.js";
32
-
33
- // src/agent-runtime/purge.ts
34
- import { z } from "zod";
35
- var AgentConversationPurgeInputSchema = z.strictObject({
36
- conversationId: AgentRecordIdSchema,
37
- expectedVersion: AgentRecordVersionSchema.optional()
38
- });
39
- var AgentConversationPurgeResultSchema = z.discriminatedUnion("outcome", [
40
- z.strictObject({ outcome: z.literal("purged") }),
41
- z.strictObject({ outcome: z.literal("already_purged") }),
42
- z.strictObject({ outcome: z.literal("unsupported") }),
43
- z.strictObject({
44
- outcome: z.literal("active"),
45
- runIds: z.array(AgentRecordIdSchema).min(1)
46
- }),
47
- z.strictObject({ outcome: z.literal("conflict"), actualVersion: AgentRecordVersionSchema })
48
- ]);
49
-
50
- class AgentConversationPurgedError extends Error {
51
- constructor() {
52
- super("Agent conversation has been purged; use a new conversation ID");
53
- this.name = "AgentConversationPurgedError";
54
- }
55
- }
56
- async function purgeAgentConversation(store, input) {
57
- const parsed = AgentConversationPurgeInputSchema.parse(input);
58
- if (!store.purgeConversation)
59
- return { outcome: "unsupported" };
60
- return AgentConversationPurgeResultSchema.parse(await store.purgeConversation(parsed));
61
- }
62
-
63
- // src/agent-runtime/store-driver.ts
64
- import { createHash } from "node:crypto";
65
- import { z as z2 } from "zod";
66
-
67
- // src/agent-runtime/store-purge.ts
68
- function createStoreConversationPurge(driver, conversations) {
69
- return async (input) => {
70
- const { conversationId, expectedVersion } = AgentConversationPurgeInputSchema.parse(input);
71
- return driver.transaction(async (transaction) => {
72
- if (await conversations.isPurged(transaction, conversationId)) {
73
- return { outcome: "already_purged" };
74
- }
75
- const head = await driver.head.load(transaction, conversationId);
76
- const actualVersion = head?.version ?? 0;
77
- if (expectedVersion !== undefined && expectedVersion !== actualVersion) {
78
- return { outcome: "conflict", actualVersion };
79
- }
80
- const active = await driver.runs.listActive(transaction, conversationId);
81
- if (active.length > 0) {
82
- return { outcome: "active", runIds: active.map((record) => record.run.id) };
83
- }
84
- await conversations.remove(transaction, conversationId);
85
- return { outcome: "purged" };
86
- });
87
- };
88
- }
89
-
90
- // src/agent-runtime/store-driver.ts
91
- var AgentRuntimeHeadSchema = z2.object({
92
- schemaVersion: z2.literal(1),
93
- conversationId: AgentRecordIdSchema,
94
- version: AgentRecordVersionSchema
95
- });
96
- var AgentStoredRunSchema = z2.object({
97
- schemaVersion: z2.literal(1),
98
- run: AgentRunSchema,
99
- terminalAssistant: AgentMessageSchema.optional()
100
- });
101
- var AgentAdmissionReceiptSchema = z2.object({
102
- schemaVersion: z2.literal(1),
103
- conversationId: AgentRecordIdSchema,
104
- idempotencyKey: z2.string().min(1),
105
- input: AgentMessageSchema,
106
- runId: AgentRecordIdSchema,
107
- assistantMessageId: AgentRecordIdSchema
108
- });
109
- var AgentSeedReceiptSchema = z2.object({
110
- schemaVersion: z2.literal(1),
111
- conversationId: AgentRecordIdSchema,
112
- seedKey: z2.string().min(1),
113
- messageIds: z2.array(AgentRecordIdSchema).min(1)
114
- });
115
- var AgentHistoryMutationSchema = z2.discriminatedUnion("type", [
116
- z2.object({ type: z2.literal("admit"), input: AgentMessageSchema }),
117
- z2.object({
118
- type: z2.literal("upsert-assistant"),
119
- message: AgentMessageSchema
120
- }),
121
- z2.object({
122
- type: z2.literal("replace-compacted-range"),
123
- replacedMessageIds: z2.array(AgentRecordIdSchema).min(1),
124
- summary: AgentMessageSchema
125
- }),
126
- z2.object({
127
- type: z2.literal("seed"),
128
- message: AgentMessageSchema
129
- })
130
- ]);
131
- var AgentRecoverableScanInputSchema = z2.object({
132
- cursor: z2.string().min(1).optional(),
133
- limit: z2.number().int().min(1).max(1000)
134
- });
135
- function transitionRecord(operation) {
136
- if (operation.type !== "checkpoint")
137
- return operation;
138
- const { assistant, ...rest } = operation.input;
139
- const body = canonicalAgentJson(assistant);
140
- return {
141
- type: operation.type,
142
- input: {
143
- ...rest,
144
- assistant: {
145
- id: assistant.id,
146
- status: assistant.status,
147
- sha256: createHash("sha256").update(body).digest("hex"),
148
- parts: assistant.parts.length,
149
- bytes: Buffer.byteLength(body)
150
- }
151
- }
152
- };
153
- }
154
- function emptyHead(conversationId) {
155
- return AgentRuntimeHeadSchema.parse({
156
- schemaVersion: 1,
157
- conversationId,
158
- version: 0
159
- });
160
- }
161
- function historyPositions(messages) {
162
- const positions = new Map;
163
- messages.forEach((message, index) => {
164
- if (!positions.has(message.id))
165
- positions.set(message.id, index);
166
- });
167
- return (run) => {
168
- let earliest = Number.MAX_SAFE_INTEGER;
169
- for (const id of [...run.inputMessageIds, run.assistantMessageId]) {
170
- const position = positions.get(id);
171
- if (position !== undefined && position < earliest)
172
- earliest = position;
173
- }
174
- return earliest;
175
- };
176
- }
177
- function orderRuns(messages, runs) {
178
- const positionOf = historyPositions(messages);
179
- const fallback = (left, right) => left.createdAt.localeCompare(right.createdAt) || positionOf(left) - positionOf(right) || left.id.localeCompare(right.id);
180
- return [...runs].sort((left, right) => {
181
- if (left.executionSequence !== undefined && right.executionSequence !== undefined && left.executionSequence !== right.executionSequence) {
182
- return left.executionSequence - right.executionSequence;
183
- }
184
- const leftStarted = left.executionSequence !== undefined || left.state !== "queued";
185
- const rightStarted = right.executionSequence !== undefined || right.state !== "queued";
186
- if (leftStarted !== rightStarted)
187
- return leftStarted ? -1 : 1;
188
- if (!leftStarted && !rightStarted) {
189
- const priority = Number(right.queuePriority !== undefined) - Number(left.queuePriority !== undefined);
190
- if (priority !== 0)
191
- return priority;
192
- }
193
- return fallback(left, right);
194
- });
195
- }
196
- function orderRunMessages(messages, runs) {
197
- const byId = new Map(messages.map((message) => [message.id, message]));
198
- const ownedIds = new Set(runs.flatMap((run) => [...run.inputMessageIds, run.assistantMessageId]));
199
- const orderedOwned = runs.flatMap((run) => [...run.inputMessageIds, run.assistantMessageId].flatMap((id) => {
200
- const message = byId.get(id);
201
- return message ? [message] : [];
202
- }));
203
- let ownedIndex = 0;
204
- return messages.map((message) => {
205
- if (!ownedIds.has(message.id))
206
- return message;
207
- const ordered = orderedOwned[ownedIndex];
208
- if (!ordered)
209
- throw new TypeError("Stored agent history lost a run-owned message");
210
- ownedIndex += 1;
211
- return ordered;
212
- });
213
- }
214
- function snapshotOf(head, messages, records) {
215
- validateSnapshot(head, messages, records);
216
- const runs = orderRuns(messages, records.map((record) => record.run));
217
- return AgentSnapshotSchema.parse({
218
- schemaVersion: 1,
219
- conversationId: head.conversationId,
220
- version: head.version,
221
- messages: orderRunMessages(messages, runs),
222
- runs
223
- });
224
- }
225
- function validateSnapshot(head, messages, records) {
226
- const runIds = new Set;
227
- const assistantIds = new Set;
228
- const messageIds = new Set;
229
- for (const record of records) {
230
- const run = record.run;
231
- if (run.conversationId !== head.conversationId || runIds.has(run.id) || assistantIds.has(run.assistantMessageId)) {
232
- throw new TypeError("Stored agent runs contain inconsistent identities");
233
- }
234
- if (record.terminalAssistant && (record.terminalAssistant.id !== run.assistantMessageId || record.terminalAssistant.conversationId !== run.conversationId || record.terminalAssistant.runId !== run.id || record.terminalAssistant.role !== "assistant" || run.terminalReason === undefined)) {
235
- throw new TypeError("Retained terminal assistant does not match its run");
236
- }
237
- runIds.add(run.id);
238
- assistantIds.add(run.assistantMessageId);
239
- }
240
- for (const message of messages) {
241
- if (message.conversationId !== head.conversationId || messageIds.has(message.id)) {
242
- throw new TypeError("Stored agent history contains inconsistent message identities");
243
- }
244
- messageIds.add(message.id);
245
- if (assistantIds.has(message.id) && message.runId === undefined) {
246
- throw new TypeError("Stored history occupies a reserved assistant identity");
247
- }
248
- if (message.runId !== undefined) {
249
- const run = records.find((candidate) => candidate.run.id === message.runId)?.run;
250
- if (!run || message.role !== "assistant" || run.assistantMessageId !== message.id) {
251
- throw new TypeError("Stored assistant history does not match its reserved run identity");
252
- }
253
- }
254
- }
255
- }
256
- var RecoverableCursorSchema = z2.tuple([AgentRecordIdSchema, AgentRecordIdSchema]);
257
- function recoverableCursor(input) {
258
- return JSON.stringify([input.conversationId, input.run.id]);
259
- }
260
- function parseRecoverableCursor(cursor) {
261
- return RecoverableCursorSchema.parse(JSON.parse(cursor));
262
- }
263
- function replaceRun(runs, next) {
264
- return runs.map((run) => run.id === next.id ? next : run);
265
- }
266
- function replaceMessage(messages, next) {
267
- return messages.some((message) => message.id === next.id) ? messages.map((message) => message.id === next.id ? next : message) : [...messages, next];
268
- }
269
- var ACTIVE_AGENT_RUN_STATES = [
270
- "queued",
271
- "running",
272
- "interrupt_requested"
273
- ];
274
- function isActiveRunState(state) {
275
- return ACTIVE_AGENT_RUN_STATES.includes(state);
276
- }
277
- function conflict(actualVersion) {
278
- return { outcome: "conflict", actualVersion };
279
- }
280
- function applied(current, input, effects) {
281
- const runs = input.runs ?? current.runs;
282
- const messages = input.messages ?? current.messages;
283
- return {
284
- outcome: "applied",
285
- snapshot: AgentSnapshotSchema.parse({
286
- ...current,
287
- version: current.version + 1,
288
- runs,
289
- messages: orderRunMessages(messages, runs)
290
- }),
291
- ...effects?.runRecords?.length && { runRecords: effects.runRecords },
292
- ...effects?.admissionReceipt && { admissionReceipt: effects.admissionReceipt },
293
- ...effects?.seedReceipt && { seedReceipt: effects.seedReceipt },
294
- ...effects?.historyMutations?.length && { historyMutations: effects.historyMutations }
295
- };
296
- }
297
- function reduceStore(current, operation) {
298
- if (operation.type === "accept") {
299
- const input = operation.input;
300
- if (input.expectedVersion !== undefined && input.expectedVersion !== current.version) {
301
- return conflict(current.version);
302
- }
303
- const coalescedRun = input.coalesceIntoRunId ? current.runs.find((candidate) => candidate.id === input.coalesceIntoRunId) : undefined;
304
- if (input.coalesceIntoRunId !== undefined && (!coalescedRun || coalescedRun.conversationId !== input.input.conversationId || coalescedRun.state !== "queued" || coalescedRun.ownerId !== undefined || coalescedRun.terminalReason !== undefined)) {
305
- return coalescedRun ? conflict(coalescedRun.revision) : { outcome: "not_found" };
306
- }
307
- if (input.run.conversationId !== input.input.conversationId || input.run.inputMessageIds.length !== 1 || input.run.inputMessageIds[0] !== input.input.id || input.run.state !== "queued" || input.run.revision !== 0 || input.run.executionSequence !== undefined || input.run.ownerId !== undefined || input.run.terminalReason !== undefined || input.run.terminalPolicyName !== undefined || input.input.role !== "user" && input.input.role !== "tool" || input.input.status !== "committed" || input.input.runId !== undefined || current.messages.some((message) => message.id === input.input.id) || coalescedRun !== undefined && input.input.id === coalescedRun.assistantMessageId || !coalescedRun && (input.run.assistantMessageId === input.input.id || current.runs.some((candidate) => candidate.id === input.run.id) || current.runs.some((candidate) => candidate.assistantMessageId === input.run.assistantMessageId) || current.messages.some((message) => message.id === input.run.assistantMessageId))) {
308
- throw new TypeError("Input and queued run do not form one valid assignment");
309
- }
310
- const assignedRun = coalescedRun ? AgentRunSchema.parse({
311
- ...coalescedRun,
312
- inputMessageIds: [...coalescedRun.inputMessageIds, input.input.id],
313
- revision: coalescedRun.revision + 1,
314
- updatedAt: new Date().toISOString()
315
- }) : input.run;
316
- const admissionReceipt = AgentAdmissionReceiptSchema.parse({
317
- schemaVersion: 1,
318
- conversationId: input.input.conversationId,
319
- idempotencyKey: input.idempotencyKey,
320
- input: input.input,
321
- runId: assignedRun.id,
322
- assistantMessageId: assignedRun.assistantMessageId
323
- });
324
- return applied(current, {
325
- messages: [...current.messages, input.input],
326
- runs: coalescedRun ? replaceRun(current.runs, assignedRun) : [...current.runs, assignedRun]
327
- }, {
328
- runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: assignedRun })],
329
- admissionReceipt,
330
- historyMutations: [{ type: "admit", input: input.input }]
331
- });
332
- }
333
- if (operation.type === "seed") {
334
- const conversationId2 = operation.input.conversationId;
335
- if (current.conversationId !== conversationId2)
336
- return { outcome: "not_found" };
337
- for (const message of operation.input.inputs) {
338
- if (message.conversationId !== conversationId2 || message.role !== "user" || message.status !== "committed" || message.runId !== undefined) {
339
- throw new TypeError("Seeded conversation input must be committed unowned user messages");
340
- }
341
- }
342
- return applied(current, { messages: [...operation.input.inputs, ...current.messages] }, {
343
- seedReceipt: AgentSeedReceiptSchema.parse({
344
- schemaVersion: 1,
345
- conversationId: conversationId2,
346
- seedKey: operation.input.seedKey,
347
- messageIds: operation.input.inputs.map((message) => message.id)
348
- }),
349
- historyMutations: [...operation.input.inputs].reverse().map((message) => ({
350
- type: "seed",
351
- message
352
- }))
353
- });
354
- }
355
- const conversationId = operation.input.conversationId;
356
- const run = operation.type === "compact" ? undefined : current.runs.find((candidate) => candidate.id === operation.input.runId);
357
- if (operation.type !== "compact" && !run)
358
- return { outcome: "not_found" };
359
- if (operation.type === "acquire" && run) {
360
- const runPosition = current.runs.findIndex((candidate) => candidate.id === run.id);
361
- const acquisitionBlocked = current.runs.some((candidate, index) => candidate.id !== run.id && (candidate.state === "running" || candidate.state === "interrupt_requested" || index < runPosition && candidate.state === "queued"));
362
- if (run.revision !== operation.input.expectedRevision || run.state !== "queued" || acquisitionBlocked) {
363
- return conflict(run.revision);
364
- }
365
- const next = AgentRunSchema.parse({
366
- ...run,
367
- state: "running",
368
- executionSequence: run.executionSequence ?? current.version + 1,
369
- ownerId: operation.input.ownerId,
370
- fencingToken: (run.fencingToken ?? 0) + 1,
371
- revision: run.revision + 1,
372
- updatedAt: new Date().toISOString()
373
- });
374
- return applied(current, { runs: replaceRun(current.runs, next) }, {
375
- runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: next })]
376
- });
377
- }
378
- if (operation.type === "checkpoint" && run) {
379
- const input = operation.input;
380
- if (run.revision !== input.expectedRevision || run.state !== "running" || run.ownerId !== input.ownerId || input.fencingToken !== undefined && run.fencingToken !== input.fencingToken || input.assistant.runId !== run.id || input.assistant.id !== run.assistantMessageId || input.assistant.conversationId !== run.conversationId || input.assistant.role !== "assistant" || input.assistant.status !== "streaming") {
381
- return conflict(run.revision);
382
- }
383
- const next = AgentRunSchema.parse({
384
- ...run,
385
- ...input.usage && { usage: input.usage },
386
- revision: run.revision + 1,
387
- updatedAt: new Date().toISOString()
388
- });
389
- return applied(current, {
390
- runs: replaceRun(current.runs, next),
391
- messages: replaceMessage(current.messages, input.assistant)
392
- }, {
393
- runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: next })],
394
- historyMutations: [{ type: "upsert-assistant", message: input.assistant }]
395
- });
396
- }
397
- if (operation.type === "operation" && run) {
398
- const input = operation.input;
399
- if (run.revision !== input.expectedRevision || run.state !== "running" && run.state !== "interrupt_requested" || run.ownerId !== input.ownerId || input.fencingToken !== undefined && run.fencingToken !== input.fencingToken) {
400
- return conflict(run.revision);
401
- }
402
- const next = AgentRunSchema.parse({
403
- ...run,
404
- lastOperation: input.operation,
405
- revision: run.revision + 1,
406
- updatedAt: new Date().toISOString()
407
- });
408
- return applied(current, { runs: replaceRun(current.runs, next) }, { runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: next })] });
409
- }
410
- if (operation.type === "interrupt" && run) {
411
- if (run.revision !== operation.input.expectedRevision || run.state !== "running") {
412
- return conflict(run.revision);
413
- }
414
- const next = AgentRunSchema.parse({
415
- ...run,
416
- state: "interrupt_requested",
417
- revision: run.revision + 1,
418
- updatedAt: new Date().toISOString()
419
- });
420
- return applied(current, { runs: replaceRun(current.runs, next) }, {
421
- runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: next })]
422
- });
423
- }
424
- if (operation.type === "recover" && run) {
425
- const input = operation.input;
426
- if (run.revision !== input.expectedRevision || !isActiveRunState(run.state)) {
427
- return conflict(run.revision);
428
- }
429
- if (input.action === "requeue" && run.state !== "queued" && input.replaySafe !== true) {
430
- throw new TypeError("Recovering an acquired run requires explicit replaySafe evidence");
431
- }
432
- const { ownerId: _released, ...carried } = run;
433
- const next = AgentRunSchema.parse({
434
- ...carried,
435
- state: input.action === "requeue" ? "queued" : "abandoned",
436
- revision: run.revision + 1,
437
- ...input.action === "abandon" && { terminalReason: "abandoned" },
438
- updatedAt: new Date().toISOString()
439
- });
440
- if (input.action === "abandon") {
441
- const existingAssistant = current.messages.find((message) => message.id === run.assistantMessageId);
442
- const assistant = AgentMessageSchema.parse({
443
- ...existingAssistant ?? {
444
- schemaVersion: 1,
445
- id: run.assistantMessageId,
446
- conversationId: run.conversationId,
447
- runId: run.id,
448
- role: "assistant",
449
- parts: [],
450
- createdAt: run.createdAt
451
- },
452
- status: "failed",
453
- updatedAt: new Date().toISOString()
454
- });
455
- return applied(current, {
456
- runs: replaceRun(current.runs, next),
457
- messages: replaceMessage(current.messages, assistant)
458
- }, {
459
- runRecords: [
460
- AgentStoredRunSchema.parse({
461
- schemaVersion: 1,
462
- run: next,
463
- terminalAssistant: assistant
464
- })
465
- ],
466
- historyMutations: [{ type: "upsert-assistant", message: assistant }]
467
- });
468
- }
469
- return applied(current, { runs: replaceRun(current.runs, next) }, {
470
- runRecords: [AgentStoredRunSchema.parse({ schemaVersion: 1, run: next })]
471
- });
472
- }
473
- if (operation.type === "terminal" && run) {
474
- const input = operation.input;
475
- if (input.reason === "absorbed") {
476
- throw new TypeError("A run is absorbed by another run, never terminalized as absorbed");
477
- }
478
- if (run.revision !== input.expectedRevision || run.state !== "running" && run.state !== "interrupt_requested" || run.ownerId !== input.ownerId || input.fencingToken !== undefined && run.fencingToken !== input.fencingToken || input.assistant.runId !== run.id || input.assistant.id !== run.assistantMessageId || input.assistant.conversationId !== run.conversationId || input.assistant.role !== "assistant" || input.assistant.status !== assistantStatus(input.reason)) {
479
- return conflict(run.revision);
480
- }
481
- if (input.absorb && runStateForTerminalReason(input.reason) !== "completed") {
482
- throw new TypeError("Only a completing run may absorb a queued successor");
483
- }
484
- const named = new Set((input.absorb ?? []).map((entry) => entry.runId));
485
- if (named.size !== (input.absorb ?? []).length || named.has(run.id)) {
486
- throw new TypeError("An absorption names each successor once, and never the absorbing run");
487
- }
488
- const absorbable = (input.absorb ?? []).filter((entry) => {
489
- const candidate = current.runs.find((item) => item.id === entry.runId);
490
- return candidate !== undefined && candidate.id !== run.id && candidate.state === "queued" && candidate.conversationId === run.conversationId && candidate.inputMessageIds.length === entry.inputMessageIds.length && candidate.inputMessageIds.every((id, index) => id === entry.inputMessageIds[index]);
491
- });
492
- const absorbedIds = new Set(absorbable.flatMap((entry) => entry.inputMessageIds));
493
- const next = AgentRunSchema.parse({
494
- ...run,
495
- state: runStateForTerminalReason(input.reason),
496
- terminalReason: input.reason,
497
- ...input.policyName && { terminalPolicyName: input.policyName },
498
- ...input.usage && { usage: input.usage },
499
- ...absorbedIds.size > 0 && {
500
- inputMessageIds: [
501
- ...run.inputMessageIds,
502
- ...[...absorbedIds].filter((id) => !run.inputMessageIds.includes(id))
503
- ]
504
- },
505
- revision: run.revision + 1,
506
- updatedAt: new Date().toISOString()
507
- });
508
- const absorbedRuns = absorbable.map((entry) => {
509
- const candidate = current.runs.find((item) => item.id === entry.runId);
510
- if (!candidate)
511
- throw new TypeError("Absorbed run disappeared inside the reducer");
512
- return AgentRunSchema.parse({
513
- ...candidate,
514
- state: runStateForTerminalReason("absorbed"),
515
- terminalReason: "absorbed",
516
- absorbedIntoRunId: next.id,
517
- revision: candidate.revision + 1,
518
- updatedAt: new Date().toISOString()
519
- });
520
- });
521
- const runs = absorbedRuns.reduce((accumulated, absorbed) => replaceRun(accumulated, absorbed), replaceRun(current.runs, next));
522
- return applied(current, {
523
- runs,
524
- messages: replaceMessage(current.messages, input.assistant)
525
- }, {
526
- runRecords: [
527
- AgentStoredRunSchema.parse({
528
- schemaVersion: 1,
529
- run: next,
530
- terminalAssistant: input.assistant
531
- }),
532
- ...absorbedRuns.map((absorbed) => AgentStoredRunSchema.parse({ schemaVersion: 1, run: absorbed }))
533
- ],
534
- historyMutations: [{ type: "upsert-assistant", message: input.assistant }]
535
- });
536
- }
537
- if (operation.type === "compact") {
538
- const input = operation.input;
539
- if (current.conversationId !== conversationId)
540
- return { outcome: "not_found" };
541
- if (current.version !== input.expectedVersion)
542
- return conflict(current.version);
543
- const replaced = new Set(input.replacedMessageIds);
544
- if (!input.replacedMessageIds.every((id) => current.messages.some((m) => m.id === id))) {
545
- return { outcome: "not_found" };
546
- }
547
- const liveAssistant = current.runs.find((candidate) => isActiveRunState(candidate.state) && replaced.has(candidate.assistantMessageId));
548
- if (liveAssistant) {
549
- throw new TypeError(`Compaction may not replace the assistant message of run ${liveAssistant.id}, which has not finished`);
550
- }
551
- const positions = current.messages.map((message, index) => replaced.has(message.id) ? index : undefined).filter((index) => index !== undefined);
552
- const first = positions[0];
553
- if (first === undefined || positions.some((position, offset) => position !== first + offset) || input.summary.conversationId !== input.conversationId || input.summary.runId !== undefined || input.summary.role !== "summary" || input.summary.status !== "committed" || current.messages.some((message) => message.id === input.summary.id) || current.runs.some((candidate) => candidate.assistantMessageId === input.summary.id)) {
554
- throw new TypeError("Compaction replacement must be one valid contiguous history range");
555
- }
556
- const messages = [
557
- ...current.messages.slice(0, first),
558
- input.summary,
559
- ...current.messages.slice(first + positions.length)
560
- ];
561
- return applied(current, { messages }, {
562
- historyMutations: [
563
- {
564
- type: "replace-compacted-range",
565
- replacedMessageIds: input.replacedMessageIds,
566
- summary: input.summary
567
- }
568
- ]
569
- });
570
- }
571
- return { outcome: "not_found" };
572
- }
573
- function operationConversationId(operation) {
574
- return operation.type === "accept" ? operation.input.input.conversationId : operation.input.conversationId;
575
- }
576
- function mergeRunRecords(...groups) {
577
- const records = new Map;
578
- for (const group of groups) {
579
- for (const rawRecord of group) {
580
- const record = AgentStoredRunSchema.parse(rawRecord);
581
- const previous = records.get(record.run.id);
582
- if (previous && previous.run.assistantMessageId !== record.run.assistantMessageId) {
583
- throw new TypeError("Stored agent run identity changed across normalized records");
584
- }
585
- records.set(record.run.id, record);
586
- }
587
- }
588
- return [...records.values()];
589
- }
590
- function referencedRunIds(messages) {
591
- return [...new Set(messages.flatMap((message) => message.runId ? [message.runId] : []))];
592
- }
593
- function validateAdmissionReceipt(receipt, record, conversationId) {
594
- const input = receipt.input;
595
- const run = record.run;
596
- if (receipt.conversationId !== conversationId || input.conversationId !== conversationId || input.role !== "user" || input.status !== "committed" || input.runId !== undefined || receipt.runId !== run.id || receipt.assistantMessageId !== run.assistantMessageId || !run.inputMessageIds.includes(input.id)) {
597
- throw new TypeError("Admission receipt does not match its canonical run assignment");
598
- }
599
- }
600
- function createAgentRuntimeStore(driver) {
601
- const snapshotIn = async (transaction, conversationId) => {
602
- const [stored, messages, activeRecords] = await Promise.all([
603
- driver.head.load(transaction, conversationId),
604
- driver.history.load(transaction, conversationId),
605
- driver.runs.listActive(transaction, conversationId)
606
- ]);
607
- const head = AgentRuntimeHeadSchema.parse(stored ?? emptyHead(conversationId));
608
- const referencedRecords = await driver.runs.loadMany(transaction, {
609
- conversationId,
610
- runIds: referencedRunIds(messages)
611
- });
612
- return snapshotOf(head, messages, mergeRunRecords(activeRecords, referencedRecords));
613
- };
614
- const loadSnapshot = (conversationId) => driver.transaction((transaction) => snapshotIn(transaction, conversationId), {
615
- access: "read"
616
- });
617
- const loadRun = (input) => driver.transaction(async (transaction) => {
618
- const [stored, record] = await Promise.all([
619
- driver.head.load(transaction, input.conversationId),
620
- driver.runs.load(transaction, input)
621
- ]);
622
- if (!record)
623
- return;
624
- const parsed = AgentStoredRunSchema.parse(record);
625
- if (parsed.run.conversationId !== input.conversationId || parsed.run.id !== input.runId) {
626
- throw new TypeError("Stored run does not match the identity it was loaded by");
627
- }
628
- const head = AgentRuntimeHeadSchema.parse(stored ?? emptyHead(input.conversationId));
629
- return AgentRunViewSchema.parse({
630
- snapshotVersion: head.version,
631
- run: parsed.run,
632
- ...parsed.terminalAssistant && { assistant: parsed.terminalAssistant }
633
- });
634
- }, { access: "read" });
635
- const listActiveRuns = (conversationId) => driver.transaction(async (transaction) => {
636
- const [records, messages] = await Promise.all([
637
- driver.runs.listActive(transaction, conversationId),
638
- driver.history.load(transaction, conversationId)
639
- ]);
640
- const runs = records.map((record) => AgentStoredRunSchema.parse(record).run);
641
- for (const run of runs) {
642
- if (run.conversationId !== conversationId) {
643
- throw new TypeError("Active run belongs to another conversation");
644
- }
645
- if (!isActiveRunState(run.state)) {
646
- throw new TypeError("Active run listing returned a terminal run");
647
- }
648
- }
649
- return orderRuns(messages, runs);
650
- }, { access: "read" });
651
- const mutate = (operation) => driver.transaction(async (transaction) => {
652
- const conversationId = operationConversationId(operation);
653
- if (await driver.conversations?.isPurged(transaction, conversationId)) {
654
- throw new AgentConversationPurgedError;
655
- }
656
- const operationRunId = operation.type === "accept" ? operation.input.coalesceIntoRunId : operation.type === "compact" || operation.type === "seed" ? undefined : operation.input.runId;
657
- const [stored, messages, activeRecords, operationRecord, duplicateReceipt] = await Promise.all([
658
- driver.head.load(transaction, conversationId),
659
- driver.history.load(transaction, conversationId),
660
- driver.runs.listActive(transaction, conversationId),
661
- operationRunId ? driver.runs.load(transaction, { conversationId, runId: operationRunId }) : undefined,
662
- operation.type === "accept" ? driver.admissions.load(transaction, {
663
- conversationId,
664
- idempotencyKey: operation.input.idempotencyKey
665
- }) : undefined
666
- ]);
667
- const head = AgentRuntimeHeadSchema.parse(stored ?? emptyHead(conversationId));
668
- const referencedRecords = await driver.runs.loadMany(transaction, {
669
- conversationId,
670
- runIds: referencedRunIds(messages)
671
- });
672
- const records = mergeRunRecords(activeRecords, referencedRecords, operationRecord ? [operationRecord] : []);
673
- const current = snapshotOf(head, messages, records);
674
- if (operation.type === "seed") {
675
- const existing = await driver.seeds.load(transaction, {
676
- conversationId,
677
- seedKey: operation.input.seedKey
678
- });
679
- if (existing)
680
- return { outcome: "applied", snapshot: current };
681
- let collisions = 0;
682
- for (const message of operation.input.inputs) {
683
- if (current.messages.some((candidate) => candidate.id === message.id) || driver.history.hasMessage && await driver.history.hasMessage(transaction, {
684
- conversationId,
685
- messageId: message.id
686
- }))
687
- collisions++;
688
- }
689
- if (collisions > 0 && collisions < operation.input.inputs.length) {
690
- throw new TypeError("Partial instruction seed collision: restore the complete seed before retrying");
691
- }
692
- if (collisions > 0) {
693
- await driver.seeds.create(transaction, AgentSeedReceiptSchema.parse({
694
- schemaVersion: 1,
695
- conversationId,
696
- seedKey: operation.input.seedKey,
697
- messageIds: operation.input.inputs.map((message) => message.id)
698
- }));
699
- return { outcome: "applied", snapshot: current };
700
- }
701
- }
702
- if (duplicateReceipt) {
703
- const duplicateRecord = await driver.runs.load(transaction, {
704
- conversationId,
705
- runId: duplicateReceipt.runId
706
- });
707
- if (!duplicateRecord) {
708
- throw new TypeError("Admission receipt points to a missing canonical run");
709
- }
710
- validateAdmissionReceipt(duplicateReceipt, duplicateRecord, conversationId);
711
- const answering = duplicateRecord.run.absorbedIntoRunId ? await driver.runs.load(transaction, {
712
- conversationId,
713
- runId: duplicateRecord.run.absorbedIntoRunId
714
- }) : undefined;
715
- if (duplicateRecord.run.absorbedIntoRunId && !answering) {
716
- throw new TypeError("Absorbed run points to a missing absorbing run");
717
- }
718
- const canonical = answering ?? duplicateRecord;
719
- return {
720
- outcome: "duplicate",
721
- input: duplicateReceipt.input,
722
- inputMessageId: duplicateReceipt.input.id,
723
- runId: canonical.run.id,
724
- assistantMessageId: canonical.run.assistantMessageId,
725
- run: canonical.run,
726
- ...canonical.terminalAssistant && {
727
- assistant: canonical.terminalAssistant
728
- },
729
- snapshot: snapshotOf(head, messages, mergeRunRecords(records, [duplicateRecord], answering ? [answering] : []))
730
- };
731
- }
732
- if (operation.type === "accept") {
733
- const inputCollision = await driver.admissions.loadByInputMessageId(transaction, {
734
- conversationId,
735
- inputMessageId: operation.input.input.id
736
- });
737
- if (inputCollision) {
738
- throw new TypeError("Input message identity is already assigned to an admission");
739
- }
740
- if (!operation.input.coalesceIntoRunId) {
741
- const [runCollision, assistantCollision] = await Promise.all([
742
- driver.runs.load(transaction, {
743
- conversationId,
744
- runId: operation.input.run.id
745
- }),
746
- driver.runs.loadByAssistantMessageId(transaction, {
747
- conversationId,
748
- assistantMessageId: operation.input.run.assistantMessageId
749
- })
750
- ]);
751
- if (runCollision || assistantCollision) {
752
- throw new TypeError("Queued run identities are already reserved");
753
- }
754
- }
755
- }
756
- const reduced = reduceStore(current, operation);
757
- if (reduced.outcome !== "applied")
758
- return reduced;
759
- const nextHead = AgentRuntimeHeadSchema.parse({
760
- schemaVersion: 1,
761
- conversationId,
762
- version: reduced.snapshot.version
763
- });
764
- const outcome = await driver.head.compareAndSwap(transaction, {
765
- conversationId,
766
- expectedVersion: current.version,
767
- next: nextHead
768
- });
769
- if (outcome.outcome === "conflict")
770
- return conflict(outcome.actualVersion);
771
- for (const record of reduced.runRecords ?? []) {
772
- await driver.runs.save(transaction, record);
773
- }
774
- if (reduced.admissionReceipt) {
775
- await driver.admissions.create(transaction, reduced.admissionReceipt);
776
- }
777
- if (reduced.seedReceipt) {
778
- await driver.seeds.create(transaction, reduced.seedReceipt);
779
- }
780
- for (const mutation of reduced.historyMutations ?? []) {
781
- await driver.history.apply(transaction, mutation);
782
- }
783
- await driver.events.append(transaction, agentStoreEventDraft({
784
- conversationId,
785
- kind: "runtime/transition",
786
- payload: z2.json().parse(transitionRecord(operation))
787
- }));
788
- return { outcome: "applied", snapshot: reduced.snapshot };
789
- });
790
- const appendEvent = (input) => {
791
- const parsed = AppendAgentStoreEventSchema.parse(input);
792
- return driver.transaction(async (transaction) => {
793
- if (await driver.conversations?.isPurged(transaction, parsed.conversationId)) {
794
- throw new AgentConversationPurgedError;
795
- }
796
- return driver.events.append(transaction, agentStoreEventDraft(parsed));
797
- });
798
- };
799
- const readEvents = (input) => {
800
- const parsed = ReadAgentStoreEventsSchema.parse(input);
801
- return driver.transaction(async (transaction) => AgentStoreEventPageSchema.parse(await driver.events.list(transaction, parsed)), { access: "read" });
802
- };
803
- const exportConversation = (conversationId) => driver.transaction(async (transaction) => {
804
- const events = [];
805
- let fromSeq;
806
- do {
807
- const page = AgentStoreEventPageSchema.parse(await driver.events.list(transaction, ReadAgentStoreEventsSchema.parse({
808
- conversationId,
809
- ...fromSeq && { fromSeq },
810
- limit: 1e4
811
- })));
812
- events.push(...page.items);
813
- fromSeq = page.nextSeq;
814
- } while (fromSeq !== undefined);
815
- const durable = await driver.archive?.export(transaction, conversationId) ?? {
816
- projections: [],
817
- spills: []
818
- };
819
- const snapshot = await snapshotIn(transaction, conversationId);
820
- return encodeAgentConversationArchive({
821
- format: "stitchkit.agent-conversation",
822
- formatVersion: 1,
823
- conversationId,
824
- events,
825
- projections: [
826
- { archiveType: "runtime-snapshot", snapshot: z2.json().parse(snapshot) },
827
- ...durable.projections
828
- ],
829
- spills: durable.spills
830
- });
831
- }, { access: "read" });
832
- const importConversation = async (bytes) => {
833
- const archive = decodeAgentConversationArchive(bytes);
834
- return driver.transaction(async (transaction) => {
835
- const existing = await driver.events.list(transaction, {
836
- conversationId: archive.conversationId,
837
- limit: 1
838
- });
839
- if (existing.items.length > 0) {
840
- throw new TypeError("Conversation event log must be empty before import");
841
- }
842
- for (const event of archive.events) {
843
- const appended = await driver.events.append(transaction, {
844
- schemaVersion: event.schemaVersion,
845
- eventId: event.eventId,
846
- conversationId: event.conversationId,
847
- kind: event.kind,
848
- occurredAt: event.occurredAt,
849
- payload: event.payload,
850
- ...event.ignorable && { ignorable: true }
851
- });
852
- if (appended.seq !== event.seq) {
853
- throw new TypeError("Conversation archive event sequence is not contiguous");
854
- }
855
- }
856
- const snapshotEntry = archive.projections.find((entry) => typeof entry === "object" && entry !== null && !Array.isArray(entry) && entry.archiveType === "runtime-snapshot");
857
- if (snapshotEntry && typeof snapshotEntry === "object" && !Array.isArray(snapshotEntry)) {
858
- const snapshot = AgentSnapshotSchema.parse(snapshotEntry.snapshot);
859
- if (snapshot.conversationId !== archive.conversationId) {
860
- throw new TypeError("Conversation archive snapshot belongs to another conversation");
861
- }
862
- if (snapshot.version > 0 || snapshot.messages.length > 0 || snapshot.runs.length > 0) {
863
- const outcome = await driver.head.compareAndSwap(transaction, {
864
- conversationId: snapshot.conversationId,
865
- expectedVersion: 0,
866
- next: AgentRuntimeHeadSchema.parse({
867
- schemaVersion: 1,
868
- conversationId: snapshot.conversationId,
869
- version: snapshot.version
870
- })
871
- });
872
- if (outcome.outcome !== "applied") {
873
- throw new TypeError("Conversation archive snapshot target is not empty");
874
- }
875
- }
876
- for (const run of snapshot.runs) {
877
- const terminalAssistant = snapshot.messages.find((message) => message.id === run.assistantMessageId);
878
- await driver.runs.save(transaction, AgentStoredRunSchema.parse({
879
- schemaVersion: 1,
880
- run,
881
- ...terminalAssistant && { terminalAssistant }
882
- }));
883
- }
884
- for (const message of snapshot.messages) {
885
- await driver.history.apply(transaction, { type: "admit", input: message });
886
- }
887
- for (const event of archive.events) {
888
- if (event.kind !== "runtime/transition")
889
- continue;
890
- const transition = AgentStoreTransitionSchema.parse(event.payload);
891
- if (transition.type !== "accept")
892
- continue;
893
- const assigned = snapshot.runs.find((run) => run.inputMessageIds.includes(transition.input.input.id));
894
- if (!assigned) {
895
- throw new TypeError("Conversation archive admission has no assigned run");
896
- }
897
- await driver.admissions.create(transaction, AgentAdmissionReceiptSchema.parse({
898
- schemaVersion: 1,
899
- conversationId: archive.conversationId,
900
- idempotencyKey: transition.input.idempotencyKey,
901
- input: transition.input.input,
902
- runId: assigned.id,
903
- assistantMessageId: assigned.assistantMessageId
904
- }));
905
- }
906
- }
907
- await driver.archive?.import(transaction, archive);
908
- return { conversationId: archive.conversationId, events: archive.events.length };
909
- });
910
- };
911
- return {
912
- loadSnapshot,
913
- loadRun,
914
- listActiveRuns,
915
- appendEvent,
916
- readEvents,
917
- exportConversation,
918
- importConversation,
919
- ...driver.conversations && {
920
- purgeConversation: createStoreConversationPurge(driver, driver.conversations)
921
- },
922
- acceptInputAndAssignRun: (input) => mutate({
923
- type: "accept",
924
- input: AcceptInputAndAssignRunSchema.parse(input)
925
- }),
926
- acquireRun: (input) => mutate({ type: "acquire", input: AcquireAgentRunSchema.parse(input) }),
927
- checkpointRunAssistant: (input) => mutate({
928
- type: "checkpoint",
929
- input: CheckpointRunAssistantSchema.parse(input)
930
- }),
931
- recordRunOperation: (input) => mutate({
932
- type: "operation",
933
- input: RecordRunOperationSchema.parse(input)
934
- }),
935
- requestRunInterrupt: (input) => mutate({
936
- type: "interrupt",
937
- input: RequestRunInterruptSchema.parse(input)
938
- }),
939
- recoverRun: (input) => mutate({ type: "recover", input: RecoverAgentRunSchema.parse(input) }),
940
- commitRunTerminal: (input) => mutate({ type: "terminal", input: CommitRunTerminalSchema.parse(input) }),
941
- replaceCompactedRange: (input) => mutate({
942
- type: "compact",
943
- input: ReplaceCompactedRangeSchema.parse(input)
944
- }),
945
- seedConversationInput: (input) => mutate({
946
- type: "seed",
947
- input: SeedConversationInputSchema.parse(input)
948
- }),
949
- async scanRecoverable(input) {
950
- const parsed = AgentRecoverableScanInputSchema.parse(input);
951
- return AgentRecoverablePageSchema.parse(await driver.scanRecoverable(parsed));
952
- }
953
- };
954
- }
955
- function cloneHeadMap(source) {
956
- return new Map([...source].map(([key, value]) => [
957
- key,
958
- AgentRuntimeHeadSchema.parse(structuredClone(value))
959
- ]));
960
- }
961
- function cloneNestedMap(source, clone) {
962
- return new Map([...source].map(([outerKey, values]) => [
963
- outerKey,
964
- new Map([...values].map(([innerKey, value]) => [innerKey, clone(value)]))
965
- ]));
966
- }
967
- function cloneHistoryMap(source) {
968
- return new Map([...source].map(([key, value]) => [
969
- key,
970
- value.map((message) => AgentMessageSchema.parse(structuredClone(message)))
971
- ]));
972
- }
973
- function createMemoryAgentRuntimeStore() {
974
- let purged = new Set;
975
- let heads = new Map;
976
- let runs = new Map;
977
- let admissions = new Map;
978
- let seeds = new Map;
979
- let histories = new Map;
980
- let events = new Map;
981
- let transactionTail = Promise.resolve();
982
- const driver = {
983
- async transaction(work) {
984
- const previous = transactionTail;
985
- const release = Promise.withResolvers();
986
- transactionTail = previous.catch(() => {
987
- return;
988
- }).then(() => release.promise);
989
- await previous.catch(() => {
990
- return;
991
- });
992
- const transaction = {
993
- purged: new Set(purged),
994
- heads: cloneHeadMap(heads),
995
- runs: cloneNestedMap(runs, (record) => AgentStoredRunSchema.parse(structuredClone(record))),
996
- admissions: cloneNestedMap(admissions, (receipt) => AgentAdmissionReceiptSchema.parse(structuredClone(receipt))),
997
- seeds: cloneNestedMap(seeds, (receipt) => AgentSeedReceiptSchema.parse(structuredClone(receipt))),
998
- histories: cloneHistoryMap(histories),
999
- events: new Map([...events].map(([conversationId, stored]) => [
1000
- conversationId,
1001
- stored.map((event) => AgentStoreEventEnvelopeSchema.parse(structuredClone(event)))
1002
- ]))
1003
- };
1004
- try {
1005
- const result = await work(transaction);
1006
- purged = transaction.purged;
1007
- heads = transaction.heads;
1008
- runs = transaction.runs;
1009
- admissions = transaction.admissions;
1010
- seeds = transaction.seeds;
1011
- histories = transaction.histories;
1012
- events = transaction.events;
1013
- return result;
1014
- } finally {
1015
- release.resolve();
1016
- }
1017
- },
1018
- conversations: {
1019
- async isPurged(transaction, conversationId) {
1020
- return transaction.purged.has(conversationId);
1021
- },
1022
- async remove(transaction, conversationId) {
1023
- transaction.purged.add(conversationId);
1024
- transaction.heads.delete(conversationId);
1025
- transaction.runs.delete(conversationId);
1026
- transaction.admissions.delete(conversationId);
1027
- transaction.seeds.delete(conversationId);
1028
- transaction.histories.delete(conversationId);
1029
- transaction.events.delete(conversationId);
1030
- }
1031
- },
1032
- head: {
1033
- async load(transaction, conversationId) {
1034
- const head = transaction.heads.get(conversationId);
1035
- return head ? AgentRuntimeHeadSchema.parse(structuredClone(head)) : undefined;
1036
- },
1037
- async compareAndSwap(transaction, input) {
1038
- const current = transaction.heads.get(input.conversationId);
1039
- const actualVersion = current?.version ?? 0;
1040
- if (actualVersion !== input.expectedVersion) {
1041
- return { outcome: "conflict", actualVersion };
1042
- }
1043
- transaction.heads.set(input.conversationId, AgentRuntimeHeadSchema.parse(structuredClone(input.next)));
1044
- return { outcome: "applied" };
1045
- }
1046
- },
1047
- runs: {
1048
- async load(transaction, input) {
1049
- const record = transaction.runs.get(input.conversationId)?.get(input.runId);
1050
- return record ? AgentStoredRunSchema.parse(structuredClone(record)) : undefined;
1051
- },
1052
- async loadByAssistantMessageId(transaction, input) {
1053
- const record = [...transaction.runs.get(input.conversationId)?.values() ?? []].find((candidate) => candidate.run.assistantMessageId === input.assistantMessageId);
1054
- return record ? AgentStoredRunSchema.parse(structuredClone(record)) : undefined;
1055
- },
1056
- async loadMany(transaction, input) {
1057
- const records = transaction.runs.get(input.conversationId);
1058
- return input.runIds.flatMap((runId) => {
1059
- const record = records?.get(runId);
1060
- return record ? [AgentStoredRunSchema.parse(structuredClone(record))] : [];
1061
- });
1062
- },
1063
- async listActive(transaction, conversationId) {
1064
- return [...transaction.runs.get(conversationId)?.values() ?? []].filter((record) => isActiveRunState(record.run.state)).map((record) => AgentStoredRunSchema.parse(structuredClone(record)));
1065
- },
1066
- async save(transaction, rawRecord) {
1067
- const record = AgentStoredRunSchema.parse(structuredClone(rawRecord));
1068
- const conversationRuns = transaction.runs.get(record.run.conversationId) ?? new Map;
1069
- const collision = [...conversationRuns.values()].find((candidate) => candidate.run.id !== record.run.id && candidate.run.assistantMessageId === record.run.assistantMessageId);
1070
- if (collision)
1071
- throw new TypeError("Assistant message identity is already reserved");
1072
- conversationRuns.set(record.run.id, record);
1073
- transaction.runs.set(record.run.conversationId, conversationRuns);
1074
- }
1075
- },
1076
- admissions: {
1077
- async load(transaction, input) {
1078
- const receipt = transaction.admissions.get(input.conversationId)?.get(input.idempotencyKey);
1079
- return receipt ? AgentAdmissionReceiptSchema.parse(structuredClone(receipt)) : undefined;
1080
- },
1081
- async loadByInputMessageId(transaction, input) {
1082
- const receipt = [
1083
- ...transaction.admissions.get(input.conversationId)?.values() ?? []
1084
- ].find((candidate) => candidate.input.id === input.inputMessageId);
1085
- return receipt ? AgentAdmissionReceiptSchema.parse(structuredClone(receipt)) : undefined;
1086
- },
1087
- async create(transaction, rawReceipt) {
1088
- const receipt = AgentAdmissionReceiptSchema.parse(structuredClone(rawReceipt));
1089
- const conversationAdmissions = transaction.admissions.get(receipt.conversationId) ?? new Map;
1090
- if (conversationAdmissions.has(receipt.idempotencyKey) || [...conversationAdmissions.values()].some((candidate) => candidate.input.id === receipt.input.id)) {
1091
- throw new TypeError("Admission identity is already reserved");
1092
- }
1093
- conversationAdmissions.set(receipt.idempotencyKey, receipt);
1094
- transaction.admissions.set(receipt.conversationId, conversationAdmissions);
1095
- }
1096
- },
1097
- seeds: {
1098
- async load(transaction, input) {
1099
- const receipt = transaction.seeds.get(input.conversationId)?.get(input.seedKey);
1100
- return receipt ? AgentSeedReceiptSchema.parse(structuredClone(receipt)) : undefined;
1101
- },
1102
- async create(transaction, rawReceipt) {
1103
- const receipt = AgentSeedReceiptSchema.parse(structuredClone(rawReceipt));
1104
- const conversationSeeds = transaction.seeds.get(receipt.conversationId) ?? new Map;
1105
- if (conversationSeeds.has(receipt.seedKey)) {
1106
- throw new TypeError("Conversation seed identity is already reserved");
1107
- }
1108
- conversationSeeds.set(receipt.seedKey, receipt);
1109
- transaction.seeds.set(receipt.conversationId, conversationSeeds);
1110
- }
1111
- },
1112
- history: {
1113
- async load(transaction, conversationId) {
1114
- return (transaction.histories.get(conversationId) ?? []).map((message) => AgentMessageSchema.parse(structuredClone(message)));
1115
- },
1116
- async hasMessage(transaction, input) {
1117
- return (transaction.histories.get(input.conversationId) ?? []).some((message) => message.id === input.messageId);
1118
- },
1119
- async apply(transaction, rawMutation) {
1120
- const mutation = AgentHistoryMutationSchema.parse(rawMutation);
1121
- const conversationId = mutation.type === "admit" ? mutation.input.conversationId : mutation.type === "upsert-assistant" ? mutation.message.conversationId : mutation.type === "seed" ? mutation.message.conversationId : mutation.summary.conversationId;
1122
- const current = transaction.histories.get(conversationId) ?? [];
1123
- if (mutation.type === "admit") {
1124
- transaction.histories.set(conversationId, [...current, mutation.input]);
1125
- return;
1126
- }
1127
- if (mutation.type === "upsert-assistant") {
1128
- transaction.histories.set(conversationId, replaceMessage(current, mutation.message));
1129
- return;
1130
- }
1131
- if (mutation.type === "seed") {
1132
- const existingIndex = current.findIndex((message) => message.id === mutation.message.id);
1133
- if (existingIndex === -1) {
1134
- transaction.histories.set(conversationId, [mutation.message, ...current]);
1135
- } else {
1136
- const next = [...current];
1137
- next[existingIndex] = mutation.message;
1138
- transaction.histories.set(conversationId, next);
1139
- }
1140
- return;
1141
- }
1142
- const replaced = new Set(mutation.replacedMessageIds);
1143
- const positions = current.map((message, index) => replaced.has(message.id) ? index : undefined).filter((index) => index !== undefined);
1144
- const first = positions[0];
1145
- if (first === undefined)
1146
- throw new Error("Compaction history range disappeared");
1147
- transaction.histories.set(conversationId, [
1148
- ...current.slice(0, first),
1149
- mutation.summary,
1150
- ...current.slice(first + positions.length)
1151
- ]);
1152
- }
1153
- },
1154
- events: {
1155
- async append(transaction, draft) {
1156
- const current = transaction.events.get(draft.conversationId) ?? [];
1157
- const event = AgentStoreEventEnvelopeSchema.parse({
1158
- ...draft,
1159
- seq: (current.at(-1)?.seq ?? 0) + 1
1160
- });
1161
- if (current.some((candidate) => candidate.eventId === event.eventId)) {
1162
- throw new TypeError("Agent store event identity is already present");
1163
- }
1164
- transaction.events.set(draft.conversationId, [...current, event]);
1165
- return event;
1166
- },
1167
- async list(transaction, input) {
1168
- const selected = (transaction.events.get(input.conversationId) ?? []).filter((event) => (input.fromSeq === undefined || event.seq >= input.fromSeq) && (input.toSeq === undefined || event.seq <= input.toSeq));
1169
- const items = selected.slice(0, input.limit);
1170
- const last = items.at(-1);
1171
- return AgentStoreEventPageSchema.parse({
1172
- items,
1173
- ...selected.length > items.length && last ? { nextSeq: last.seq + 1 } : {}
1174
- });
1175
- }
1176
- },
1177
- async scanRecoverable(input) {
1178
- const descriptors = [...runs].flatMap(([conversationId, conversationRuns]) => [...conversationRuns.values()].filter((record) => isActiveRunState(record.run.state)).map((record) => ({ conversationId, run: record.run }))).sort((left, right) => left.conversationId.localeCompare(right.conversationId) || left.run.id.localeCompare(right.run.id));
1179
- const cursorTuple = input.cursor ? parseRecoverableCursor(input.cursor) : undefined;
1180
- const start = cursorTuple ? descriptors.findIndex((item) => item.conversationId.localeCompare(cursorTuple[0]) > 0 || item.conversationId === cursorTuple[0] && item.run.id.localeCompare(cursorTuple[1]) > 0) : 0;
1181
- if (start === -1) {
1182
- return AgentRecoverablePageSchema.parse({ items: [] });
1183
- }
1184
- const items = descriptors.slice(start, start + input.limit);
1185
- const last = items.at(-1);
1186
- const hasMore = start + items.length < descriptors.length;
1187
- return AgentRecoverablePageSchema.parse({
1188
- items,
1189
- ...hasMore && last && { nextCursor: recoverableCursor(last) }
1190
- });
1191
- }
1192
- };
1193
- return createAgentRuntimeStore(driver);
1194
- }
1195
-
1196
- export { AgentConversationPurgeInputSchema, AgentConversationPurgeResultSchema, AgentConversationPurgedError, purgeAgentConversation, AgentRuntimeHeadSchema, AgentStoredRunSchema, AgentAdmissionReceiptSchema, AgentSeedReceiptSchema, AgentHistoryMutationSchema, ACTIVE_AGENT_RUN_STATES, createAgentRuntimeStore, createMemoryAgentRuntimeStore };