stitchkit 0.94.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 (346) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/agent-runtime/coding-shell-process.d.ts.map +1 -1
  3. package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
  4. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
  5. package/dist/agent-runtime/contained-darwin.d.ts +38 -0
  6. package/dist/agent-runtime/contained-darwin.d.ts.map +1 -0
  7. package/dist/agent-runtime/contained-files.d.ts +11 -26
  8. package/dist/agent-runtime/contained-files.d.ts.map +1 -1
  9. package/dist/agent-runtime/contained-scan.d.ts +21 -0
  10. package/dist/agent-runtime/contained-scan.d.ts.map +1 -0
  11. package/dist/agent-runtime/contained-write.d.ts +9 -0
  12. package/dist/agent-runtime/contained-write.d.ts.map +1 -0
  13. package/dist/agent-runtime/deferred-tool-types.d.ts +3 -2
  14. package/dist/agent-runtime/deferred-tool-types.d.ts.map +1 -1
  15. package/dist/agent-runtime/harness-control.d.ts +0 -1
  16. package/dist/agent-runtime/harness-control.d.ts.map +1 -1
  17. package/dist/agent-runtime/harness.d.ts +0 -5
  18. package/dist/agent-runtime/harness.d.ts.map +1 -1
  19. package/dist/agent-runtime/managed-tools.d.ts +3 -2
  20. package/dist/agent-runtime/managed-tools.d.ts.map +1 -1
  21. package/dist/agent-runtime/runtime.d.ts +1 -1
  22. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  23. package/dist/agent-runtime/schedule-records.d.ts +34 -0
  24. package/dist/agent-runtime/schedule-records.d.ts.map +1 -0
  25. package/dist/agent-runtime/schedules.d.ts +34 -0
  26. package/dist/agent-runtime/schedules.d.ts.map +1 -1
  27. package/dist/agent-runtime/store-conformance-lifecycle.d.ts +434 -0
  28. package/dist/agent-runtime/store-conformance-lifecycle.d.ts.map +1 -0
  29. package/dist/agent-runtime/store-conformance-ordering.d.ts +18 -0
  30. package/dist/agent-runtime/store-conformance-ordering.d.ts.map +1 -0
  31. package/dist/agent-runtime/store-conformance-support.d.ts +130 -0
  32. package/dist/agent-runtime/store-conformance-support.d.ts.map +1 -0
  33. package/dist/agent-runtime/store-conformance-terminal.d.ts +12 -0
  34. package/dist/agent-runtime/store-conformance-terminal.d.ts.map +1 -0
  35. package/dist/agent-runtime/store-conformance.d.ts.map +1 -1
  36. package/dist/application/admission-rate.d.ts +21 -0
  37. package/dist/application/admission-rate.d.ts.map +1 -0
  38. package/dist/application/admission-run.d.ts +8 -0
  39. package/dist/application/admission-run.d.ts.map +1 -0
  40. package/dist/application/admission.d.ts.map +1 -1
  41. package/dist/application/diagnostic-journal-lock.d.ts +9 -34
  42. package/dist/application/diagnostic-journal-lock.d.ts.map +1 -1
  43. package/dist/application/diagnostic-journal-manager.d.ts.map +1 -1
  44. package/dist/application/diagnostic-journal-storage.d.ts.map +1 -1
  45. package/dist/application/kernel-resource-context.d.ts.map +1 -1
  46. package/dist/application/notification-outbox.d.ts.map +1 -1
  47. package/dist/application/schedule.d.ts +0 -1
  48. package/dist/application/schedule.d.ts.map +1 -1
  49. package/dist/application/watch-hub-core.d.ts +122 -0
  50. package/dist/application/watch-hub-core.d.ts.map +1 -0
  51. package/dist/application/watch-hub.d.ts +2 -2
  52. package/dist/application/watch-hub.d.ts.map +1 -1
  53. package/dist/browser/client-executors.d.ts +14 -0
  54. package/dist/browser/client-executors.d.ts.map +1 -0
  55. package/dist/browser/client-multipart.d.ts +1 -1
  56. package/dist/browser/client-multipart.d.ts.map +1 -1
  57. package/dist/browser/client.d.ts +3 -2
  58. package/dist/browser/client.d.ts.map +1 -1
  59. package/dist/browser/http-fetch.d.ts +22 -0
  60. package/dist/browser/http-fetch.d.ts.map +1 -0
  61. package/dist/browser/http.d.ts +1 -3
  62. package/dist/browser/http.d.ts.map +1 -1
  63. package/dist/browser/live-state-core.d.ts +63 -0
  64. package/dist/browser/live-state-core.d.ts.map +1 -0
  65. package/dist/browser/live-state.d.ts.map +1 -1
  66. package/dist/browser/realtime-client.d.ts +26 -0
  67. package/dist/browser/realtime-client.d.ts.map +1 -0
  68. package/dist/browser/socket-io-connection.d.ts +82 -0
  69. package/dist/browser/socket-io-connection.d.ts.map +1 -0
  70. package/dist/browser/socket-io-peer.d.ts +20 -0
  71. package/dist/browser/socket-io-peer.d.ts.map +1 -0
  72. package/dist/browser/socket-io-trace.d.ts +31 -0
  73. package/dist/browser/socket-io-trace.d.ts.map +1 -0
  74. package/dist/browser/socket-io.d.ts +2 -18
  75. package/dist/browser/socket-io.d.ts.map +1 -1
  76. package/dist/contract/client-types.d.ts +134 -0
  77. package/dist/contract/client-types.d.ts.map +1 -0
  78. package/dist/contract/define-validation.d.ts +30 -0
  79. package/dist/contract/define-validation.d.ts.map +1 -0
  80. package/dist/contract/define.d.ts +3 -357
  81. package/dist/contract/define.d.ts.map +1 -1
  82. package/dist/contract/runtime-context.d.ts +131 -0
  83. package/dist/contract/runtime-context.d.ts.map +1 -0
  84. package/dist/contract/tool-options.d.ts +105 -0
  85. package/dist/contract/tool-options.d.ts.map +1 -0
  86. package/dist/contract/tool-view.d.ts +15 -2
  87. package/dist/contract/tool-view.d.ts.map +1 -1
  88. package/dist/durability/contract.d.ts +83 -0
  89. package/dist/durability/contract.d.ts.map +1 -1
  90. package/dist/durability/effect.d.ts +24 -0
  91. package/dist/durability/effect.d.ts.map +1 -0
  92. package/dist/durability/engine.d.ts +2 -2
  93. package/dist/durability/engine.d.ts.map +1 -1
  94. package/dist/durability/events.d.ts +2 -0
  95. package/dist/durability/events.d.ts.map +1 -1
  96. package/dist/durability/ledger.d.ts +11 -0
  97. package/dist/durability/ledger.d.ts.map +1 -1
  98. package/dist/durability/parks.d.ts +22 -0
  99. package/dist/durability/parks.d.ts.map +1 -0
  100. package/dist/durability/scheduler.d.ts +1 -0
  101. package/dist/durability/scheduler.d.ts.map +1 -1
  102. package/dist/entrypoints/agent-runtime/coding-tools.js +4 -4
  103. package/dist/entrypoints/agent-runtime/harness.js +127 -116
  104. package/dist/entrypoints/agent-runtime/sandbox.js +4 -4
  105. package/dist/entrypoints/agent-runtime/sqlite/bun.js +3 -3
  106. package/dist/entrypoints/agent-runtime/sqlite/node.js +3 -3
  107. package/dist/entrypoints/agent-runtime/testing.js +246 -214
  108. package/dist/entrypoints/agent-runtime.js +224 -203
  109. package/dist/entrypoints/application/diagnostic-journal.js +63 -203
  110. package/dist/entrypoints/application/opentelemetry.js +1 -1
  111. package/dist/entrypoints/application.js +361 -324
  112. package/dist/entrypoints/cli.d.ts +4 -1
  113. package/dist/entrypoints/cli.d.ts.map +1 -1
  114. package/dist/entrypoints/cli.js +57 -35
  115. package/dist/entrypoints/contract.d.ts +5 -2
  116. package/dist/entrypoints/contract.d.ts.map +1 -1
  117. package/dist/entrypoints/contract.js +3 -2
  118. package/dist/entrypoints/files.d.ts +2 -0
  119. package/dist/entrypoints/files.d.ts.map +1 -1
  120. package/dist/entrypoints/files.js +98 -2
  121. package/dist/entrypoints/index.d.ts +4 -2
  122. package/dist/entrypoints/index.d.ts.map +1 -1
  123. package/dist/entrypoints/index.js +348 -282
  124. package/dist/entrypoints/live.js +89 -71
  125. package/dist/entrypoints/node.d.ts +2 -1
  126. package/dist/entrypoints/node.d.ts.map +1 -1
  127. package/dist/entrypoints/node.js +13 -12
  128. package/dist/entrypoints/react.js +1 -1
  129. package/dist/entrypoints/remote.js +4 -4
  130. package/dist/entrypoints/server.d.ts +4 -2
  131. package/dist/entrypoints/server.d.ts.map +1 -1
  132. package/dist/entrypoints/server.js +293 -79
  133. package/dist/entrypoints/testing.d.ts +2 -1
  134. package/dist/entrypoints/testing.d.ts.map +1 -1
  135. package/dist/entrypoints/testing.js +288 -281
  136. package/dist/entrypoints/tools/connections.js +2 -2
  137. package/dist/entrypoints/tools/invoker.js +4 -4
  138. package/dist/entrypoints/tools.d.ts +6 -3
  139. package/dist/entrypoints/tools.d.ts.map +1 -1
  140. package/dist/entrypoints/tools.js +245 -202
  141. package/dist/entrypoints/tracking.js +325 -274
  142. package/dist/files/boundary.d.ts.map +1 -1
  143. package/dist/files/file-io.d.ts +14 -0
  144. package/dist/files/file-io.d.ts.map +1 -0
  145. package/dist/index-1j8pm5t0.js +412 -0
  146. package/dist/{index-kvj7f4hq.js → index-2bxbyab0.js} +10 -2
  147. package/dist/{index-xnj9bgxe.js → index-2gxzjvyr.js} +2 -162
  148. package/dist/index-4gcnakhx.js +82 -0
  149. package/dist/{index-j05z5gn4.js → index-55hkhm67.js} +136 -119
  150. package/dist/{index-cq4qfycf.js → index-79z7m7dt.js} +227 -59
  151. package/dist/{index-97ac4gph.js → index-7f68ghdn.js} +3 -3
  152. package/dist/{index-r7nmqpsg.js → index-7p1f0vp2.js} +1 -1
  153. package/dist/{index-dcpdvjsc.js → index-863ea9jb.js} +4 -4
  154. package/dist/index-8p52kd5p.js +242 -0
  155. package/dist/{index-2qzskm8h.js → index-dce5wxcq.js} +1 -1
  156. package/dist/index-e01r054k.js +105 -0
  157. package/dist/{index-sees8yf8.js → index-ensd0r74.js} +118 -111
  158. package/dist/{index-1nd48tm9.js → index-gxrt5h6v.js} +2 -1
  159. package/dist/{index-e87kakm4.js → index-ham5sz8m.js} +112 -110
  160. package/dist/{index-kj2wbeta.js → index-het2he5g.js} +280 -196
  161. package/dist/{index-vcvkq30w.js → index-hmp4800j.js} +3 -3
  162. package/dist/{index-gyr48nzg.js → index-k30h66yd.js} +71 -151
  163. package/dist/{index-2cr1cqhn.js → index-khtgb21r.js} +2 -2
  164. package/dist/{index-x4799c19.js → index-ndddxtyx.js} +11 -11
  165. package/dist/{index-dydjcp8z.js → index-np4m8hd3.js} +38 -36
  166. package/dist/{index-p81267c2.js → index-p3vsv1fb.js} +621 -357
  167. package/dist/{index-mp5sn43f.js → index-p9e0w8hs.js} +2 -2
  168. package/dist/{index-rewkc2hj.js → index-p9sh0xx4.js} +3 -3
  169. package/dist/{index-70yj2ebz.js → index-paz6sgdp.js} +107 -103
  170. package/dist/{index-bn2cjajt.js → index-px2gm2jp.js} +26 -102
  171. package/dist/index-s812ycat.js +65 -0
  172. package/dist/{index-xsqjkha9.js → index-sp1tzwnb.js} +2 -2
  173. package/dist/{index-n6hxg8as.js → index-t9rhjr9f.js} +615 -566
  174. package/dist/{index-zeemqhqx.js → index-v260df89.js} +88 -80
  175. package/dist/{index-fdp6hdxn.js → index-w906953s.js} +5 -1
  176. package/dist/{index-mdzh02yc.js → index-wdkt63w3.js} +1 -1
  177. package/dist/{index-58k4fp34.js → index-wsm5w4ee.js} +1 -1
  178. package/dist/{index-v38qyerb.js → index-xw3s75nj.js} +1 -1
  179. package/dist/internal/atomic-file.d.ts +23 -2
  180. package/dist/internal/atomic-file.d.ts.map +1 -1
  181. package/dist/internal/exclusive-lock.d.ts +51 -0
  182. package/dist/internal/exclusive-lock.d.ts.map +1 -0
  183. package/dist/internal/process-identity.d.ts +47 -0
  184. package/dist/internal/process-identity.d.ts.map +1 -0
  185. package/dist/internal/with-exclusive-lock.d.ts +67 -0
  186. package/dist/internal/with-exclusive-lock.d.ts.map +1 -0
  187. package/dist/live/watch-client.d.ts.map +1 -1
  188. package/dist/observability/audit.d.ts +2 -2
  189. package/dist/observability/audit.d.ts.map +1 -1
  190. package/dist/observability/event.d.ts +2 -1
  191. package/dist/observability/event.d.ts.map +1 -1
  192. package/dist/primitives/export-operation.d.ts +1 -1
  193. package/dist/primitives/export-operation.d.ts.map +1 -1
  194. package/dist/realtime/registry.d.ts +0 -5
  195. package/dist/realtime/registry.d.ts.map +1 -1
  196. package/dist/server/bun.d.ts +0 -1
  197. package/dist/server/bun.d.ts.map +1 -1
  198. package/dist/server/context-contribution.d.ts +1 -1
  199. package/dist/server/context-contribution.d.ts.map +1 -1
  200. package/dist/server/context.d.ts +1 -1
  201. package/dist/server/context.d.ts.map +1 -1
  202. package/dist/server/endpoint-response.d.ts +2 -1
  203. package/dist/server/endpoint-response.d.ts.map +1 -1
  204. package/dist/server/error-dispatch.d.ts +1 -1
  205. package/dist/server/error-dispatch.d.ts.map +1 -1
  206. package/dist/server/error-hook.d.ts +1 -1
  207. package/dist/server/error-hook.d.ts.map +1 -1
  208. package/dist/server/handler-state.d.ts +1 -1
  209. package/dist/server/handler-state.d.ts.map +1 -1
  210. package/dist/server/implement-registry.d.ts +54 -0
  211. package/dist/server/implement-registry.d.ts.map +1 -0
  212. package/dist/server/implement.d.ts +9 -55
  213. package/dist/server/implement.d.ts.map +1 -1
  214. package/dist/server/middleware/auth.d.ts +1 -31
  215. package/dist/server/middleware/auth.d.ts.map +1 -1
  216. package/dist/server/middleware/jwt.d.ts +31 -0
  217. package/dist/server/middleware/jwt.d.ts.map +1 -0
  218. package/dist/server/multipart-reader.d.ts +22 -0
  219. package/dist/server/multipart-reader.d.ts.map +1 -0
  220. package/dist/server/multipart.d.ts +1 -1
  221. package/dist/server/multipart.d.ts.map +1 -1
  222. package/dist/server/oauth/cimd.d.ts +88 -0
  223. package/dist/server/oauth/cimd.d.ts.map +1 -0
  224. package/dist/server/oauth/endpoints.d.ts +39 -0
  225. package/dist/server/oauth/endpoints.d.ts.map +1 -0
  226. package/dist/server/oauth/provider.d.ts +1 -68
  227. package/dist/server/oauth/provider.d.ts.map +1 -1
  228. package/dist/server/streaming-pump.d.ts +66 -0
  229. package/dist/server/streaming-pump.d.ts.map +1 -0
  230. package/dist/server/streaming-route.d.ts +12 -5
  231. package/dist/server/streaming-route.d.ts.map +1 -1
  232. package/dist/server/types.d.ts +4 -1
  233. package/dist/server/types.d.ts.map +1 -1
  234. package/dist/server/unix-client-bun.d.ts.map +1 -1
  235. package/dist/server/unix-client-http1.d.ts +76 -0
  236. package/dist/server/unix-client-http1.d.ts.map +1 -0
  237. package/dist/server/unix-client.d.ts.map +1 -1
  238. package/dist/testing/handler-clients.d.ts +2 -1
  239. package/dist/testing/handler-clients.d.ts.map +1 -1
  240. package/dist/testing/realtime-probe.d.ts +33 -0
  241. package/dist/testing/realtime-probe.d.ts.map +1 -0
  242. package/dist/testing/surface-conformance.d.ts +0 -31
  243. package/dist/testing/surface-conformance.d.ts.map +1 -1
  244. package/dist/testing/surface-manifest-digest.d.ts +44 -0
  245. package/dist/testing/surface-manifest-digest.d.ts.map +1 -0
  246. package/dist/testing/surface-manifest.d.ts.map +1 -1
  247. package/dist/tools/agent.d.ts +1 -1
  248. package/dist/tools/agent.d.ts.map +1 -1
  249. package/dist/tools/cli/args-fields.d.ts +31 -0
  250. package/dist/tools/cli/args-fields.d.ts.map +1 -0
  251. package/dist/tools/cli/args-route.d.ts +42 -0
  252. package/dist/tools/cli/args-route.d.ts.map +1 -0
  253. package/dist/tools/cli/args-view.d.ts +32 -0
  254. package/dist/tools/cli/args-view.d.ts.map +1 -0
  255. package/dist/tools/cli/args.d.ts +2 -65
  256. package/dist/tools/cli/args.d.ts.map +1 -1
  257. package/dist/tools/cli/argument-error.d.ts +5 -0
  258. package/dist/tools/cli/argument-error.d.ts.map +1 -0
  259. package/dist/tools/cli/checkpoint.d.ts.map +1 -1
  260. package/dist/tools/cli/command.d.ts +1 -1
  261. package/dist/tools/cli/command.d.ts.map +1 -1
  262. package/dist/tools/cli/config.d.ts +1 -1
  263. package/dist/tools/cli/config.d.ts.map +1 -1
  264. package/dist/tools/cli/format.d.ts +2 -1
  265. package/dist/tools/cli/format.d.ts.map +1 -1
  266. package/dist/tools/cli/invoke.d.ts +2 -1
  267. package/dist/tools/cli/invoke.d.ts.map +1 -1
  268. package/dist/tools/cli/managed-surface.d.ts +1 -1
  269. package/dist/tools/cli/managed-surface.d.ts.map +1 -1
  270. package/dist/tools/cli/policy.d.ts +1 -1
  271. package/dist/tools/cli/policy.d.ts.map +1 -1
  272. package/dist/tools/cli/prepare.d.ts.map +1 -1
  273. package/dist/tools/cli/run-managed.d.ts.map +1 -1
  274. package/dist/tools/cli/session.d.ts +1 -1
  275. package/dist/tools/cli/session.d.ts.map +1 -1
  276. package/dist/tools/cli/update.d.ts +19 -0
  277. package/dist/tools/cli/update.d.ts.map +1 -1
  278. package/dist/tools/cli/view.d.ts +1 -1
  279. package/dist/tools/cli/view.d.ts.map +1 -1
  280. package/dist/tools/cli/wait.d.ts +1 -1
  281. package/dist/tools/cli/wait.d.ts.map +1 -1
  282. package/dist/tools/connections/runtime.d.ts +1 -1
  283. package/dist/tools/connections/runtime.d.ts.map +1 -1
  284. package/dist/tools/execute-args.d.ts +23 -0
  285. package/dist/tools/execute-args.d.ts.map +1 -0
  286. package/dist/tools/execute-hooks.d.ts +146 -0
  287. package/dist/tools/execute-hooks.d.ts.map +1 -0
  288. package/dist/tools/execute-result.d.ts +40 -0
  289. package/dist/tools/execute-result.d.ts.map +1 -0
  290. package/dist/tools/execute.d.ts +4 -193
  291. package/dist/tools/execute.d.ts.map +1 -1
  292. package/dist/tools/internal/surface-projector.d.ts +2 -1
  293. package/dist/tools/internal/surface-projector.d.ts.map +1 -1
  294. package/dist/tools/invoker.d.ts +2 -1
  295. package/dist/tools/invoker.d.ts.map +1 -1
  296. package/dist/tools/lifecycle.d.ts +1 -1
  297. package/dist/tools/lifecycle.d.ts.map +1 -1
  298. package/dist/tools/mcp/mount.d.ts +1 -1
  299. package/dist/tools/mcp/mount.d.ts.map +1 -1
  300. package/dist/tools/mcp/prepare.d.ts +2 -1
  301. package/dist/tools/mcp/prepare.d.ts.map +1 -1
  302. package/dist/tools/mcp/progress.d.ts +1 -1
  303. package/dist/tools/mcp/progress.d.ts.map +1 -1
  304. package/dist/tools/mcp/register.d.ts +3 -2
  305. package/dist/tools/mcp/register.d.ts.map +1 -1
  306. package/dist/tools/mcp/round-context.d.ts +38 -0
  307. package/dist/tools/mcp/round-context.d.ts.map +1 -0
  308. package/dist/tools/mcp/round-policy.d.ts +1 -1
  309. package/dist/tools/mcp/round-policy.d.ts.map +1 -1
  310. package/dist/tools/mcp/round.d.ts +3 -11
  311. package/dist/tools/mcp/round.d.ts.map +1 -1
  312. package/dist/tools/mcp/runtime-tools.d.ts +2 -1
  313. package/dist/tools/mcp/runtime-tools.d.ts.map +1 -1
  314. package/dist/tools/mount.d.ts +3 -1
  315. package/dist/tools/mount.d.ts.map +1 -1
  316. package/dist/tools/native-definition.d.ts +2 -1
  317. package/dist/tools/native-definition.d.ts.map +1 -1
  318. package/dist/tools/operations/async-operation-runtime-tools.d.ts +2 -1
  319. package/dist/tools/operations/async-operation-runtime-tools.d.ts.map +1 -1
  320. package/dist/tools/operations/async-operation-runtime-types.d.ts +2 -1
  321. package/dist/tools/operations/async-operation-runtime-types.d.ts.map +1 -1
  322. package/dist/tools/remote.d.ts.map +1 -1
  323. package/dist/tools/runtime-tool.d.ts +3 -1
  324. package/dist/tools/runtime-tool.d.ts.map +1 -1
  325. package/dist/tools/tool-logger.d.ts +1 -1
  326. package/dist/tools/tool-logger.d.ts.map +1 -1
  327. package/dist/tracking/client-listeners.d.ts +30 -0
  328. package/dist/tracking/client-listeners.d.ts.map +1 -0
  329. package/dist/tracking/client-visit.d.ts +61 -0
  330. package/dist/tracking/client-visit.d.ts.map +1 -0
  331. package/dist/tracking/client.d.ts +3 -2
  332. package/dist/tracking/client.d.ts.map +1 -1
  333. package/llms/application.2.txt +266 -2
  334. package/llms/application.txt +8 -266
  335. package/llms/cli.2.txt +80 -0
  336. package/llms/cli.txt +45 -74
  337. package/llms/contract.txt +3 -3
  338. package/llms/files.txt +3 -0
  339. package/llms/tools.2.txt +88 -279
  340. package/llms/tools.3.txt +288 -0
  341. package/llms/tools.txt +27 -65
  342. package/llms-full.txt +108 -12
  343. package/llms.txt +5 -5
  344. package/package.json +1 -1
  345. package/dist/index-e2z3ahw9.js +0 -325
  346. package/dist/index-mkm15s49.js +0 -394
@@ -0,0 +1,105 @@
1
+ /**
2
+ * What an endpoint may declare for its tool surfaces: the UI resource, the annotations, and the MCP input rounds with their resolver.
3
+ */
4
+ import type { z } from 'zod';
5
+ import type { DeclaredToolView } from './tool-view.js';
6
+ /**
7
+ * MCP Apps UI metadata for a tool (SEP-1865). When set, the tool's MCP
8
+ * registration carries `_meta.ui`, so a host renders the named `ui://` resource
9
+ * as an interactive widget for this tool's results. The resource itself is
10
+ * served separately (see `McpServerBuildConfig.resources`).
11
+ */
12
+ export interface EndpointUiMeta {
13
+ /** `ui://…` resource the host renders for this tool's results. */
14
+ resourceUri: string;
15
+ /** Who sees the tool — `'model'` (in the tool list) and/or `'app'` (widget-only). */
16
+ visibility?: readonly ('model' | 'app')[];
17
+ }
18
+ /**
19
+ * MCP `ToolAnnotations` — behavioural hints a host reads to group tools and pick
20
+ * permission defaults (read-only auto-allow, destructive needs approval) and to
21
+ * show a human label. Hints only — never a security boundary.
22
+ */
23
+ export interface EndpointToolAnnotations {
24
+ /** Human-friendly display name (e.g. "Explore Models" instead of `list_models`). */
25
+ title?: string;
26
+ /** Tool does not mutate state — hosts may auto-allow and group as read-only. */
27
+ readOnlyHint?: boolean;
28
+ /** Tool may perform destructive updates (ignored when `readOnlyHint` is true). */
29
+ destructiveHint?: boolean;
30
+ /** Repeated calls with the same args have no additional effect. */
31
+ idempotentHint?: boolean;
32
+ /** Tool interacts with an open/external world (not a closed set). */
33
+ openWorldHint?: boolean;
34
+ }
35
+ /** One typed form elicitation required before an MCP tool handler may execute. */
36
+ export interface EndpointMcpInputRequired<TKey extends string = string, TSchema extends z.ZodObject = z.ZodObject> {
37
+ /** Stable response key carried across MRTR rounds. */
38
+ key: TKey;
39
+ /** Human-facing prompt shown by the MCP host. */
40
+ message: string;
41
+ /** Flat primitive object schema accepted from the host. */
42
+ schema: TSchema;
43
+ }
44
+ /**
45
+ * What the tool call looks like when the questions are chosen — the same
46
+ * `params` / `input` the handler would receive, parsed by the contract's own
47
+ * schemas.
48
+ */
49
+ export interface McpInputRequiredCall {
50
+ params: unknown;
51
+ input: unknown;
52
+ }
53
+ /**
54
+ * Choose this call's elicitation rounds from its arguments.
55
+ *
56
+ * The static list is declared before any call exists, which is enough when the
57
+ * questions are a property of the operation. It is not enough when they are a
58
+ * property of the ARGUMENTS — one model takes `aspect_ratio`, another takes
59
+ * `duration`, a third needs an input image — and there the declared list can
60
+ * only be empty, so the tool description ends up teaching the model to work
61
+ * around a mechanism the protocol already has.
62
+ *
63
+ * Returning an empty list is a legitimate answer: this call needs nothing, run
64
+ * it. Everything else about the mechanism is unchanged — the state is still
65
+ * signed, still bound to the principal, the operation and the argument digest,
66
+ * and still counted against `maxRounds`.
67
+ *
68
+ * The resolved list is fingerprinted into the signed state and re-checked on
69
+ * every round, so a resolver that answers differently mid-conversation is
70
+ * refused rather than silently asking round 2's question under round 1's key.
71
+ */
72
+ export type McpInputRequiredResolver<TRequests extends readonly EndpointMcpInputRequired[] = readonly EndpointMcpInputRequired[]> = (call: McpInputRequiredCall) => TRequests | Promise<TRequests>;
73
+ /** MCP-only execution policy attached to a contract or runtime tool. */
74
+ export interface EndpointMcpPolicy<TRequests extends readonly EndpointMcpInputRequired[] = readonly EndpointMcpInputRequired[]> {
75
+ /**
76
+ * Ordered elicitation rounds — a fixed list, or a function of the parsed
77
+ * arguments. Every key must be unique, in either form.
78
+ */
79
+ inputRequired: TRequests | McpInputRequiredResolver<TRequests>;
80
+ }
81
+ /**
82
+ * Everything a tool surface — MCP, AGENT, CLI — reads from an endpoint that
83
+ * HTTP does not: the name a model calls, the view it is answered with, the MCP
84
+ * widget, host hints and elicitation rounds. One group, so an endpoint that can
85
+ * never be a tool refuses all of it with one key, and a new tool option is
86
+ * added in one place. `expose` is not in it: it chooses transports, HTTP
87
+ * included. → ADR 0196.
88
+ */
89
+ export interface EndpointToolOptions {
90
+ /** The tool name on MCP / AGENT / CLI; unique per transport within a contract. */
91
+ name?: string;
92
+ /**
93
+ * The answer on the tool surface when it is not the HTTP answer: input
94
+ * defaults, a narrower output, a projection. Declared only by `withToolView`,
95
+ * which types `project` against the endpoint's schemas.
96
+ */
97
+ view?: DeclaredToolView;
98
+ /** MCP Apps widget for this tool's results (MCP transport only). */
99
+ ui?: EndpointUiMeta;
100
+ /** MCP behavioural hints (read-only / destructive / title) for hosts. */
101
+ annotations?: EndpointToolAnnotations;
102
+ /** Opt-in multi-round input gate; ignored by HTTP, Agent and CLI. */
103
+ mcp?: EndpointMcpPolicy;
104
+ }
105
+ //# sourceMappingURL=tool-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-options.d.ts","sourceRoot":"","sources":["../../src/contract/tool-options.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,UAAU,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kFAAkF;IAClF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,kFAAkF;AAClF,MAAM,WAAW,wBAAwB,CACvC,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,OAAO,SAAS,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS;IAEzC,sDAAsD;IACtD,GAAG,EAAE,IAAI,CAAC;IACV,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,wBAAwB,CAClC,SAAS,SAAS,SAAS,wBAAwB,EAAE,GAAG,SAAS,wBAAwB,EAAE,IACzF,CAAC,IAAI,EAAE,oBAAoB,KAAK,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEnE,wEAAwE;AACxE,MAAM,WAAW,iBAAiB,CAChC,SAAS,SAAS,SAAS,wBAAwB,EAAE,GAAG,SAAS,wBAAwB,EAAE;IAE3F;;;OAGG;IACH,aAAa,EAAE,SAAS,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;CAChE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,oEAAoE;IACpE,EAAE,CAAC,EAAE,cAAc,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,qEAAqE;IACrE,GAAG,CAAC,EAAE,iBAAiB,CAAC;CACzB"}
@@ -77,6 +77,16 @@ export interface SlicedToolView<E, V extends ZodType> {
77
77
  output: V;
78
78
  project?: undefined;
79
79
  }
80
+ /**
81
+ * A tool view that changes only what a tool call is given: the answer is the
82
+ * endpoint's full `output`, exactly as HTTP answers. The most common view — a
83
+ * model needs a lighter call, not a different answer.
84
+ */
85
+ export interface DefaultsOnlyToolView<E> {
86
+ defaults: EndpointInputDefaults<E>;
87
+ output?: undefined;
88
+ project?: undefined;
89
+ }
80
90
  /** The type error a slice produces when the full result does not fit its schema. */
81
91
  export interface ToolViewSliceMismatch {
82
92
  'toolView.output must accept the full output — add a project, or narrow the schema': never;
@@ -118,9 +128,12 @@ export type WithToolView<E> = Omit<E, 'tool'> & {
118
128
  * ```
119
129
  *
120
130
  * A view without `project` slices the full result by `output`; the full
121
- * result must then fit that schema, which the return type checks. The view
122
- * lands in `tool.view`, beside the endpoint's other tool options.
131
+ * result must then fit that schema, which the return type checks. A view of
132
+ * `defaults` alone changes only the tool call's input — the answer is the full
133
+ * `output`, as on HTTP. The view lands in `tool.view`, beside the endpoint's
134
+ * other tool options.
123
135
  */
136
+ export declare function withToolView<const E extends ToolViewEndpoint>(endpoint: E & ToolTransportEndpoint<E>, view: DefaultsOnlyToolView<E>): WithToolView<E>;
124
137
  export declare function withToolView<const E extends ToolViewEndpoint, V extends ZodType>(endpoint: E & ToolTransportEndpoint<E>, view: ProjectedToolView<E, V>): WithToolView<E>;
125
138
  export declare function withToolView<const E extends ToolViewEndpoint>(endpoint: E & ToolTransportEndpoint<E>, view: ReshapedToolView<E>): WithToolView<E>;
126
139
  export declare function withToolView<const E extends ToolViewEndpoint, V extends ZodType>(endpoint: E & ToolTransportEndpoint<E>, view: SlicedToolView<E, V>): [EndpointFullOutput<E>] extends [z.input<V>] ? WithToolView<E> : ToolViewSliceMismatch;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-view.d.ts","sourceRoot":"","sources":["../../src/contract/tool-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE9E,mFAAmF;AACnF,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,OAAO;IAC5C,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,EAAE,eAAe,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7C;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC;CAC/D;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,MAAyC,CAAC;AAElF,qFAAqF;AACrF,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC;CACrC;AAED,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;CAAE,GACtE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACX,SAAS,CAAC;AACd,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;CAAE,GACxE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACnB,KAAK,CAAC;AACV,KAAK,kBAAkB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;CAAE,GACtE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACX,KAAK,CAAC;AACV,KAAK,uBAAuB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,SAAS,OAAO,CAAA;CAAE,GAC3E,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GACV,KAAK,CAAC;AAEV,KAAK,eAAe,CAAC,CAAC,EAAE,OAAO,IAAI,CACjC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAC3B,IAAI,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,KACvC,OAAO,CAAC;AAEb,yEAAyE;AACzE,MAAM,WAAW,iBAAiB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO;IACrD,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;CACzC;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;CACzD;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO;IAClD,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC;IACV,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,mFAAmF,EAAE,KAAK,CAAC;CAC5F;AAED,KAAK,gBAAgB,GAAG,eAAe,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEvE,oFAAoF;AACpF,MAAM,WAAW,0BAA0B;IACzC,mEAAmE,EAAE,KAAK,CAAC;CAC5E;AAED,KAAK,qBAAqB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,GACnE,0BAA0B,GAC1B,CAAC,CAAC;AAEN,0FAA0F;AAC1F,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAC9C,IAAI,EAAE,CAAC,CAAC,SAAS;QAAE,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;KAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG;QACjE,IAAI,EAAE,gBAAgB,CAAC;KACxB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,SAAS,OAAO,EAC9E,QAAQ,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,YAAY,CAAC,CAAC,CAAC,CAAC;AACnB,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAC3D,QAAQ,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GACxB,YAAY,CAAC,CAAC,CAAC,CAAC;AACnB,wBAAgB,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,SAAS,OAAO,EAC9E,QAAQ,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EACtC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC;AAa1F;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,CAsDjF"}
1
+ {"version":3,"file":"tool-view.d.ts","sourceRoot":"","sources":["../../src/contract/tool-view.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export declare const DURABILITY_STEP_EVENT_KIND = "durability/step";
22
22
  export declare const DURABILITY_PARK_EVENT_KIND = "durability/park";
23
23
  /** Event kind recording an external event delivered to a parked wait. */
24
24
  export declare const DURABILITY_EVENT_EVENT_KIND = "durability/event";
25
+ /** Event kind recording one phase of an at-most-once effect: intent, accepted or uncertain. */
26
+ export declare const DURABILITY_EFFECT_EVENT_KIND = "durability/effect";
25
27
  export declare const StepEventPayloadSchema: z.ZodObject<{
26
28
  runId: z.ZodString;
27
29
  stepName: z.ZodString;
@@ -44,6 +46,25 @@ export declare const DeliveredEventPayloadSchema: z.ZodObject<{
44
46
  id: z.ZodString;
45
47
  encoded: z.ZodString;
46
48
  }, z.core.$strip>;
49
+ export declare const EffectEventPayloadSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
50
+ runId: z.ZodString;
51
+ effectName: z.ZodString;
52
+ phase: z.ZodLiteral<"intent">;
53
+ }, z.core.$strip>, z.ZodObject<{
54
+ runId: z.ZodString;
55
+ effectName: z.ZodString;
56
+ phase: z.ZodLiteral<"accepted">;
57
+ encoded: z.ZodString;
58
+ via: z.ZodEnum<{
59
+ reconcile: "reconcile";
60
+ run: "run";
61
+ }>;
62
+ }, z.core.$strip>, z.ZodObject<{
63
+ runId: z.ZodString;
64
+ effectName: z.ZodString;
65
+ phase: z.ZodLiteral<"uncertain">;
66
+ }, z.core.$strip>], "phase">;
67
+ export type EffectEventPayload = z.infer<typeof EffectEventPayloadSchema>;
47
68
  export type ParkEventPayload = z.infer<typeof ParkEventPayloadSchema>;
48
69
  export type StepEventPayload = z.infer<typeof StepEventPayloadSchema>;
49
70
  /**
@@ -83,6 +104,37 @@ export interface StepRunOptions {
83
104
  /** Aborting refuses to *start* a body and releases a park; it never removes a record already written. */
84
105
  signal?: AbortSignal;
85
106
  }
107
+ /**
108
+ * What an effect ended as. `uncertain` is a third answer, not a failure to
109
+ * produce one: the effect may have happened, the recipient has no record of it,
110
+ * and nothing here will try it again.
111
+ */
112
+ export type EffectOutcome<P> = {
113
+ readonly outcome: 'accepted';
114
+ readonly proof: P;
115
+ } | {
116
+ readonly outcome: 'uncertain';
117
+ };
118
+ /** The two halves of an effect in another system. */
119
+ export interface EffectHandlers<P> {
120
+ /**
121
+ * Perform the effect, once, and return what the recipient named it — a
122
+ * message id, a turn id. Called at most once per name, across every process
123
+ * that shares the ledger.
124
+ */
125
+ run(): P | Promise<P>;
126
+ /**
127
+ * Find the effect at the recipient by the caller's own identity for it, and
128
+ * return the same proof — or `null` when the recipient has no record. Called
129
+ * only when an intent was recorded and no outcome was: the process that ran
130
+ * the effect stopped before it could say how it ended.
131
+ */
132
+ reconcile(signal: AbortSignal): P | null | Promise<P | null>;
133
+ }
134
+ export interface EffectRunOptions extends StepRunOptions {
135
+ /** How long `reconcile` may take, in milliseconds; its `signal` aborts at the deadline. Default 30 000. */
136
+ reconcileTimeoutMs?: number;
137
+ }
86
138
  export interface LocalStepDurability {
87
139
  /**
88
140
  * Run `name` once and durably record its JSON result.
@@ -131,6 +183,22 @@ export interface LocalStepDurability {
131
183
  id: string;
132
184
  payload?: unknown;
133
185
  }): Promise<void>;
186
+ /**
187
+ * Perform an effect in another system at most once.
188
+ *
189
+ * `step` records its result AFTER the body, so a body cut short by a crash
190
+ * runs again — right for a computation, wrong for sending a message, where a
191
+ * repeat is worse than a loss. Here the intent is recorded BEFORE `run`, and
192
+ * its outcome after. A later call that finds the intent without an outcome
193
+ * calls `reconcile`, never `run`: found is `accepted` with the proof, not
194
+ * found is `uncertain`, and both are recorded, so neither is asked again.
195
+ *
196
+ * A `run` that throws leaves the intent standing — whether the effect
197
+ * happened is exactly what is not known — and the call rejects with
198
+ * `EffectUnresolvedError`; the next call reconciles. The proof is JSON of at
199
+ * most 64 KiB: an identity, not a payload.
200
+ */
201
+ effect<P extends z.infer<ReturnType<typeof z.json>>>(name: string, handlers: EffectHandlers<P>, options?: EffectRunOptions): Promise<EffectOutcome<P>>;
134
202
  }
135
203
  /**
136
204
  * The record for `name` cannot be trusted.
@@ -152,6 +220,21 @@ export declare class StepResultNotSerializableError extends Error {
152
220
  export declare class StepAbortedError extends Error {
153
221
  constructor(stepName: string);
154
222
  }
223
+ /**
224
+ * An effect whose outcome could not be settled by this call.
225
+ *
226
+ * Its intent is recorded and stays recorded, so `run` is never called for this
227
+ * name again; the next call reconciles instead. `reason` says which step did
228
+ * not finish: `run` threw, `reconcile` threw or overran its deadline, or the
229
+ * proof could not be recorded.
230
+ */
231
+ export declare class EffectUnresolvedError extends Error {
232
+ readonly effectName: string;
233
+ readonly reason: 'run-failed' | 'reconcile-failed' | 'reconcile-timeout' | 'proof-rejected';
234
+ constructor(effectName: string, reason: 'run-failed' | 'reconcile-failed' | 'reconcile-timeout' | 'proof-rejected', options?: {
235
+ cause?: unknown;
236
+ });
237
+ }
155
238
  /**
156
239
  * A park or delivered-event record cannot be trusted.
157
240
  *
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/durability/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/durability/contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * An effect in another system, performed at most once.
3
+ *
4
+ * The rule a consumer had written by hand seven times, and one copy of which
5
+ * had drifted: record the intent BEFORE the effect; record what the recipient
6
+ * named it after; an intent found without an outcome is settled only by the
7
+ * recipient's own record — found is `accepted`, not found is `uncertain` — and
8
+ * `uncertain` is never retried. The copy that drifted wrote nothing before a
9
+ * permission reply, so a lost acknowledgement sent the reply twice.
10
+ */
11
+ import type { z } from 'zod';
12
+ import { type EffectHandlers, type EffectOutcome, type EffectRunOptions, type StepDurabilityLedger } from './contract.js';
13
+ import { type DurabilityLedgerView } from './ledger.js';
14
+ export interface EffectLedgerContext {
15
+ readonly store: StepDurabilityLedger;
16
+ readonly conversationId: string;
17
+ readonly runId: string;
18
+ readonly signal: AbortSignal | undefined;
19
+ readLedger(): Promise<DurabilityLedgerView>;
20
+ }
21
+ type Proof = z.infer<ReturnType<typeof z.json>>;
22
+ export declare function executeEffect<P extends Proof>(context: EffectLedgerContext, name: string, handlers: EffectHandlers<P>, options: EffectRunOptions | undefined): Promise<EffectOutcome<P>>;
23
+ export {};
24
+ //# sourceMappingURL=effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../../src/durability/effect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAGrB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,oBAAoB,EAA+B,MAAM,UAAU,CAAC;AAMlF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC7C;AAED,KAAK,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAkFhD,wBAAsB,aAAa,CAAC,CAAC,SAAS,KAAK,EACjD,OAAO,EAAE,mBAAmB,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,gBAAgB,GAAG,SAAS,GACpC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CA0B3B"}
@@ -1,6 +1,6 @@
1
1
  import { type LocalStepDurability, type LocalStepDurabilityOptions } from './contract.js';
2
- export type { LocalStepDurability, LocalStepDurabilityOptions, StepDurabilityLedger, StepRunOptions, } from './contract.js';
3
- export { DURABILITY_STEP_EVENT_KIND, ParkAbortedError, ParkRecordDecodeError, StepAbortedError, StepResultDecodeError, StepResultNotSerializableError, } from './contract.js';
2
+ export type { EffectHandlers, EffectOutcome, EffectRunOptions, LocalStepDurability, LocalStepDurabilityOptions, StepDurabilityLedger, StepRunOptions, } from './contract.js';
3
+ export { DURABILITY_STEP_EVENT_KIND, EffectUnresolvedError, ParkAbortedError, ParkRecordDecodeError, StepAbortedError, StepResultDecodeError, StepResultNotSerializableError, } from './contract.js';
4
4
  /**
5
5
  * A local step-durability port over an `AgentRuntimeStore`.
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/durability/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAKhC,MAAM,YAAY,CAAC;AAkBpB,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAmBpB;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAqNrB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/durability/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAGhC,MAAM,YAAY,CAAC;AAepB,YAAY,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAmBpB;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAsLrB"}
@@ -14,6 +14,7 @@ export declare const AgentStoreEventKindSchema: z.ZodEnum<{
14
14
  "approval/response-rejected": "approval/response-rejected";
15
15
  "child/spawned": "child/spawned";
16
16
  "child/state": "child/state";
17
+ "durability/effect": "durability/effect";
17
18
  "durability/event": "durability/event";
18
19
  "durability/park": "durability/park";
19
20
  "durability/step": "durability/step";
@@ -52,6 +53,7 @@ export declare const AppendAgentStoreEventSchema: z.ZodObject<{
52
53
  "approval/response-rejected": "approval/response-rejected";
53
54
  "child/spawned": "child/spawned";
54
55
  "child/state": "child/state";
56
+ "durability/effect": "durability/effect";
55
57
  "durability/event": "durability/event";
56
58
  "durability/park": "durability/park";
57
59
  "durability/step": "durability/step";
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/durability/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;EAuBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;;;;;;;;kBAW/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;kBAYpC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;kBAK3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/durability/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;EAwBpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,6BAA6B;;;;;;;;;kBAW/B,CAAC;AAEZ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ7B,CAAC;AAEZ,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,0BAA0B;;;;;kBAYpC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;kBAK3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1,12 +1,23 @@
1
1
  import { type ParkEventPayload, type StepDurabilityLedger } from './contract.js';
2
2
  export declare function stepKey(conversationId: string, runId: string, stepName: string): string;
3
+ export declare function effectKey(conversationId: string, runId: string, effectName: string): string;
3
4
  export declare function sleepParkKey(conversationId: string, runId: string, name: string): string;
4
5
  export declare function waitParkKey(conversationId: string, runId: string, event: string, id: string): string;
5
6
  export declare function parkEventKey(conversationId: string, payload: ParkEventPayload): string;
6
7
  export declare function encodeStepResult(stepName: string, value: unknown): string;
7
8
  export declare function encodeDeliveredPayload(event: string, id: string, payload: unknown): string;
9
+ /** What the ledger says about one effect: an intent, and at most one outcome. */
10
+ export type EffectRecord = {
11
+ readonly outcome: undefined;
12
+ } | {
13
+ readonly outcome: 'accepted';
14
+ readonly proof: unknown;
15
+ } | {
16
+ readonly outcome: 'uncertain';
17
+ };
8
18
  export interface DurabilityLedgerView {
9
19
  readonly steps: Map<string, unknown>;
20
+ readonly effects: Map<string, EffectRecord>;
10
21
  readonly parks: Map<string, ParkEventPayload>;
11
22
  readonly deliveries: Map<string, unknown>;
12
23
  nextSeq: number;
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/durability/ledger.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,gBAAgB,EAGrB,KAAK,oBAAoB,EAK1B,MAAM,YAAY,CAAC;AAGpB,wBAAgB,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,MAAM,CAER;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAItF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAWzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAa1F;AAmED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CAsC/B"}
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/durability/ledger.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,KAAK,gBAAgB,EAGrB,KAAK,oBAAoB,EAK1B,MAAM,YAAY,CAAC;AAGpB,wBAAgB,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvF;AAED,wBAAgB,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3F;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExF;AAED,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,MAAM,CAER;AAED,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAItF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAWzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAa1F;AAmED,iFAAiF;AACjF,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAA;CAAE,GAC/B;IAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAAC;AA4BtC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,kFAAkF;AAClF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,oBAAoB,CAAC,CA4C/B"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The two parks — a durable sleep and a wait for a delivered event — as
3
+ * functions over one engine's context. A park is recorded before it waits, so a
4
+ * reconstruction resumes from the record instead of parking again.
5
+ */
6
+ import { type DurabilityClock, type StepDurabilityLedger, type StepRunOptions } from './contract.js';
7
+ import { type DurabilityLedgerView } from './ledger.js';
8
+ import { type InFlightDurability } from './scheduler.js';
9
+ /** What a park needs from the engine that owns it. */
10
+ export interface ParkContext {
11
+ readonly store: StepDurabilityLedger;
12
+ readonly conversationId: string;
13
+ readonly runId: string;
14
+ readonly signal: AbortSignal | undefined;
15
+ readonly subscribe: ((wake: () => void) => () => void) | undefined;
16
+ readonly clock: DurabilityClock;
17
+ readonly waiters: InFlightDurability['waiters'];
18
+ readLedger(): Promise<DurabilityLedgerView>;
19
+ }
20
+ export declare function executeSleep(park: ParkContext, name: string, seconds: number, runOptions: StepRunOptions | undefined): Promise<void>;
21
+ export declare function executeWait<T>(park: ParkContext, eventName: string, id: string, runOptions: StepRunOptions | undefined): Promise<T>;
22
+ //# sourceMappingURL=parks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parks.d.ts","sourceRoot":"","sources":["../../src/durability/parks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,eAAe,EAGpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,oBAAoB,EAA6B,MAAM,UAAU,CAAC;AAChF,OAAO,EAEL,KAAK,kBAAkB,EAGxB,MAAM,aAAa,CAAC;AAErB,sDAAsD;AACtD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAChD,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC7C;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,WAAW,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,cAAc,GAAG,SAAS,GACrC,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,cAAc,GAAG,SAAS,GACrC,OAAO,CAAC,CAAC,CAAC,CAmCZ"}
@@ -12,6 +12,7 @@ export declare const systemClock: DurabilityClock;
12
12
  */
13
13
  export interface InFlightDurability {
14
14
  steps: Map<string, Promise<unknown>>;
15
+ effects: Map<string, Promise<unknown>>;
15
16
  parks: Map<string, Promise<unknown>>;
16
17
  waiters: Map<string, Set<() => void>>;
17
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/durability/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAoB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC/F,eAAO,MAAM,WAAW,EAAE,eAOzB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;CACvC;AACD,eAAO,MAAM,MAAM,mDAA0D,CAAC;AAE9E,wBAAgB,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3F;AA2BD,wBAAsB,eAAe,CACnC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,UAAU,UAAU;IAClB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAC1C,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,CA2BZ"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/durability/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAoB,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC/F,eAAO,MAAM,WAAW,EAAE,eAOzB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACrC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;CACvC;AACD,eAAO,MAAM,MAAM,mDAA0D,CAAC;AAE9E,wBAAgB,aAAa,CAAC,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAI3F;AA2BD,wBAAsB,eAAe,CACnC,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,UAAU,UAAU;IAClB,sFAAsF;IACtF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9C,wDAAwD;IACxD,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,kBAAkB,CAAC,SAAS,CAAC,EAC1C,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,CA2BZ"}
@@ -3,11 +3,11 @@ import {
3
3
  AgentCodingToolLimitsSchema,
4
4
  AgentCodingToolPathAuthorizationSchema,
5
5
  createAgentCodingTools
6
- } from "../../index-kj2wbeta.js";
7
- import"../../index-bn2cjajt.js";
6
+ } from "../../index-het2he5g.js";
7
+ import"../../index-px2gm2jp.js";
8
8
  import"../../index-qmy6zq75.js";
9
- import"../../index-v38qyerb.js";
10
- import"../../index-dydjcp8z.js";
9
+ import"../../index-xw3s75nj.js";
10
+ import"../../index-np4m8hd3.js";
11
11
  import"../../index-eqqvgdb3.js";
12
12
  import"../../index-znfs20ss.js";
13
13
  import"../../index-p5r7qpdd.js";