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
@@ -0,0 +1,1159 @@
1
+ # Upgrading 0.68.0 → 0.94.0 — stitchkit docs slice
2
+
3
+ > Generated from the `docs/` tree by `bun run gen:llms`. The index of all slices is
4
+ > `llms.txt` in this package.
5
+
6
+ Contains: Guide: Upgrading, 0.68.0 → 0.94.0 (docs/guide/upgrading.md)
7
+
8
+ ==============================================================================
9
+ # Guide: Upgrading, 0.68.0 → 0.94.0 (docs/guide/upgrading.md)
10
+ ==============================================================================
11
+
12
+ ## Released migration: 0.94.0
13
+
14
+ One breaking minor that consolidates: tool options move into one group, and
15
+ names that were exported from two entrypoints keep only their owner. Every step
16
+ is an edit a type checker or `defineContract` points at; the few behaviour
17
+ changes that need no edit are under Changed and Fixed in the changelog.
18
+
19
+ 1. **Move endpoint tool options into `tool`.** **Who must act:** every project
20
+ with an endpoint that sets `toolName`, `ui`, `annotations` or `mcp`. Run the
21
+ codemod from a checkout of this repository, then typecheck:
22
+
23
+ ```bash
24
+ bun packages/core/scripts/codemod-tool-group.ts --check path/to/your/src # list
25
+ bun packages/core/scripts/codemod-tool-group.ts path/to/your/src # rewrite
26
+ ```
27
+
28
+ ```ts
29
+ // before
30
+ { method: 'GET', path: '/', desc: 'List', toolName: 'user_list', mcp: { inputRequired } }
31
+ // after
32
+ { method: 'GET', path: '/', desc: 'List', tool: { name: 'user_list', mcp: { inputRequired } } }
33
+ ```
34
+
35
+ The codemod leaves two kinds of endpoint for a person and prints where: one
36
+ built with a spread (`{ ...base, toolName }`), and one exposed on HTTP only,
37
+ whose tool options never reached a tool — delete them there. Anything left
38
+ over fails at startup, by name — a key moved into the group under its old
39
+ name (`tool: { toolName }`) included:
40
+
41
+ ```text
42
+ Contract "users": endpoint "list" sets `toolName` — tool options live in `tool` since 0.94.0: use tool.name
43
+ ```
44
+
45
+ `expose` does not move. `MethodDef` — what hooks and runtime tools see — keeps
46
+ `toolName`, `ui`, `annotations` and `mcp` at the top level, so hook code does
47
+ not change. A tool view is declared only with `withToolView`, which now puts
48
+ it in `tool.view`.
49
+
50
+ 2. **Change imports of moved names.** **Who must act:** projects importing any
51
+ of these; the compiler lists every site.
52
+
53
+ | Name | From | To |
54
+ |---|---|---|
55
+ | `RuntimeToolTransport`, `ToolSurfaceTransport`, `ToolInvokerTransport` | `stitchkit/tools`, `stitchkit/tools/invoker`, `stitchkit/tools/connections` | `ToolTransport` from `stitchkit/contract` |
56
+ | `createCli`, `defineCliCommand`, `CliConfig`, `CliSurfaceSource`, `CliPresentationPolicyConfig`, `CliWaitConfig`, `ExitCodeMap`, `CliCommand*` | `stitchkit/tools` | `stitchkit/cli` |
57
+ | `parseSSE`, `ParseSSEOptions` | `stitchkit/server` | `stitchkit` |
58
+ | `runAgentStoreConformance`, `AgentStoreConformance*`, `createAgentRace*`, `AgentRace*` | `stitchkit/testing` | `stitchkit/agent-runtime/testing` |
59
+ | `createLocalStepDurability`, `LocalStepDurability`, `LocalStepDurabilityOptions`, `StepDurabilityLedger` | `stitchkit/agent-runtime` | `stitchkit/tools` |
60
+
61
+ 3. **Regenerate a surface snapshot only if it reports drift.** **Who must act:**
62
+ a project whose committed snapshot has an object with integer-like keys
63
+ (`"9"`, `"10"`) — they are now sorted like every other key. Every other
64
+ snapshot, CLI manifest signature and agent-store archive is byte-identical.
65
+
66
+ ## Released migration: 0.93.0
67
+
68
+ 1. **Regenerate every committed surface snapshot, once.** `manifestVersion` is
69
+ `3` and each operation row gained `mcp` — the rounds it declares before it
70
+ runs. Most rows get `null`, so the first diff is large and mechanical.
71
+ **Who must act:** anyone with a committed snapshot. A snapshot on the older
72
+ version is refused by name rather than failing a schema literal:
73
+
74
+ ```text
75
+ Surface snapshot is manifestVersion 2; this build writes 3. Regenerate it
76
+ and review the diff — the format changed, so the first regeneration is
77
+ expected to be large.
78
+ ```
79
+
80
+ ```ts
81
+ // before — a declared round left no trace, so declaring or removing one
82
+ // passed review invisibly
83
+ manifest.operations[0]
84
+ // after
85
+ manifest.operations[0].mcp
86
+ // null | { inputRequired: [{ key, message, schema }] }
87
+ // | { inputRequired: 'resolved-per-call' }
88
+ ```
89
+
90
+ A project that kept its own test for "declared `inputRequired` implies a
91
+ configured state key" can drop it: the snapshot holds that link now.
92
+
93
+ 2. **Nothing else to do.** Native commands that declare `output` became
94
+ invokable in process; a name that answered `NOT_FOUND` from
95
+ `createCliInvoker` in 0.92.0 may now resolve. If an application relied on
96
+ native commands being unreachable there, stop passing them to the invoker.
97
+
98
+ ## Released migration: 0.92.0
99
+
100
+ 1. **`RequestEvent.method`, `path` and `statusCode` are optional.** Work that did
101
+ not arrive over a transport now records their **absence** instead of inventing
102
+ values — a background loop used to write `method: 'AGENT'`, which is not a
103
+ verb. **Who must act:** anyone whose `RequestEventSinkConfig.write` puts these
104
+ into NOT NULL columns, or whose filter reads `event.method`.
105
+
106
+ ```ts
107
+ // before
108
+ write: (event) => db.audit.create({ data: { method: event.method, path: event.path, status: event.statusCode } })
109
+ // after — a job has none of the three; `kind` says which kind of row it is
110
+ write: (event) => db.audit.create({ data: {
111
+ kind: event.kind,
112
+ name: event.name ?? null,
113
+ method: event.method ?? null,
114
+ path: event.path ?? null,
115
+ status: event.statusCode ?? null,
116
+ } })
117
+ ```
118
+
119
+ A filter written as `event.method !== 'GET'` keeps jobs (`undefined !== 'GET'`),
120
+ which is usually what you want. To exclude them deliberately:
121
+ `event.kind === 'request' && event.method !== 'GET'`.
122
+
123
+ 2. **`applyCliUpdate` needs the manifest when given a trust root.** The signature
124
+ covers the manifest and every asset digest together, so an asset alone cannot
125
+ be verified. **Who must act:** only callers adopting signature verification;
126
+ the unsigned call is unchanged.
127
+
128
+ ```ts
129
+ // before
130
+ await applyCliUpdate({ asset })
131
+ // after
132
+ await applyCliUpdate({ asset, manifest: check.manifest, trust })
133
+ ```
134
+
135
+ 3. **An MCP continuation minted before this release is refused once.** The signed
136
+ round state now carries a fingerprint of the question plan, checked on every
137
+ round, so a plan that moved between rounds is a refusal rather than a
138
+ different question asked under the previous one's key. A conversation already
139
+ in flight at deploy time has no fingerprint and gets
140
+ `INVALID_REQUEST_STATE`; the host re-asks and the second attempt succeeds.
141
+ **Who must act:** nobody — but expect a small number of these in the minutes
142
+ after a deploy, and do not read them as tampering.
143
+
144
+ ## Released migration: 0.91.0
145
+
146
+ 1. `STITCH_ERROR_STATUS` gained `NOT_IMPLEMENTED` (501). An **exhaustive** error
147
+ vocabulary must name it — without the row `defineErrors({ mapping: { exhaustive:
148
+ true } })` stops compiling and then throws at startup. Nothing else in this
149
+ release requires action.
150
+
151
+ ```ts
152
+ // before
153
+ map: { …, WAIT_TIMEOUT: 'timeout' }
154
+ // after
155
+ map: { …, NOT_IMPLEMENTED: 'not_implemented', WAIT_TIMEOUT: 'timeout' }
156
+ ```
157
+
158
+ The code is thrown only by the new dev-only `onMissingHandler: 'stub'` policy;
159
+ a vocabulary that is not exhaustive is unaffected.
160
+
161
+ ## Released migration: 0.90.0
162
+
163
+ 1. `stitchkit.watch.value` is a discriminated union on `kind` — `full`, `delta`,
164
+ `unchanged` — and every frame carries `fingerprint`. **Both ends must come from
165
+ the same major.** A client older than this release reads a `delta` frame as a
166
+ value of `undefined`, silently; upgrade the hub and the pages that talk to it
167
+ together, or set `deltaMemoryBytes: 0` on the hub until they are.
168
+
169
+ Applications using `createWatchClient` need no code change: it rebuilds the
170
+ value and hands the listener the whole answer as before. Code that reads
171
+ `WatchValueFrame.value` directly — a hand-written subscriber, a test double —
172
+ narrows on `kind` first.
173
+
174
+ ```ts
175
+ // before: frame.value
176
+ // after:
177
+ if (frame.kind === 'full') hold(frame.value);
178
+ else if (frame.kind === 'delta') hold(applyWatchDelta(held, frame.delta));
179
+ // 'unchanged' leaves what you hold standing
180
+ ```
181
+
182
+ 2. `AttachedWatcher.open` takes an optional third argument, `have`. A custom
183
+ server binding that forwards `stitchkit.watch.open` should pass the payload's
184
+ `have` through; omitting it costs a whole value on every reconnection and is
185
+ otherwise harmless.
186
+
187
+ ## Released migration: 0.89.0
188
+
189
+ 1. Custom `AgentRuntimeStore` adapters implement `seedConversationInput`; custom
190
+ `AgentRuntimeStoreDriver` adapters implement `seeds.load` and `seeds.create` together
191
+ with atomic, ordered history insertion. Use the maintained Prisma example and run
192
+ `runAgentStoreConformance` against the adapter. Built-in memory and SQLite
193
+ stores already implement the contract; SQLite migrates to schema version 3.
194
+ 2. OpenRouter usage normalization consumes each completed SDK step's `usage`, including
195
+ `raw`, rather than aggregate usage. Missing counters stay `unavailable`.
196
+
197
+ ```ts
198
+ // before: normalizeOpenRouterUsage(await result.usage, metadata)
199
+ // after:
200
+ for (const step of await result.steps) {
201
+ const usage = normalizeOpenRouterUsage(step.usage, step.providerMetadata);
202
+ // Persist the step's measured usage with its provenance.
203
+ }
204
+ ```
205
+
206
+ 3. Durable step bodies return lossless JSON. Convert dates explicitly, reject invalid
207
+ numbers upstream, and return `null` after an effect-only operation.
208
+
209
+ ```ts
210
+ await context.step('send', async () => {
211
+ await sendIdempotently();
212
+ return null;
213
+ });
214
+ ```
215
+
216
+ First execution, replay and concurrent callers receive detached values. Persistence
217
+ does not make external effects transactional; the host retains idempotency and recovery.
218
+
219
+
220
+ How to move a consuming project from one stitchkit version to another — including
221
+ across many versions at once (a project frozen on an old version, then jumped
222
+ forward). The process is mechanical: stitchkit marks every breaking change in one
223
+ place and one format, so you can recover the full migration from the version diff.
224
+
225
+ ## Released migration: 0.88.0
226
+
227
+ Two mechanical edits, and only if your project builds these values rather than only reading them.
228
+
229
+ A completed step event now carries the provider's response identity, and the field is required:
230
+
231
+ ```ts
232
+ // before
233
+ { type: 'step-finished', step: 0, usage }
234
+
235
+ // after
236
+ { type: 'step-finished', step: 0, usage, response: { id: generationId } }
237
+ ```
238
+
239
+ Every event the runtime emits already has it, so a sink that only reads them needs no change. A
240
+ fixture, a test double or a pipeline that re-validates events persisted by an earlier version does:
241
+ give the older records a response identity, or keep parsing them with the schema they were written
242
+ under.
243
+
244
+ If you implement the whole `AgentRuntime` interface — usually a mock — add the new method:
245
+
246
+ ```ts
247
+ // before
248
+ const fake: AgentRuntime = { submit, interrupt, recover, close }
249
+
250
+ // after
251
+ const fake: AgentRuntime = { submit, interrupt, abandon, recover, close }
252
+ ```
253
+
254
+ No data migration is involved, and nothing in the store changes shape.
255
+
256
+ ## Released migration: 0.87.0
257
+
258
+ Only if your project implements `AgentConversationReader` itself. A message page
259
+ now names which of its messages compaction removed:
260
+
261
+ ```ts
262
+ // before
263
+ return { items, ...(nextCursor && { nextCursor }) }
264
+
265
+ // after
266
+ return { items, compacted: [], ...(nextCursor && { nextCursor }) }
267
+ ```
268
+
269
+ An empty array is the honest answer for a reader that pages only the active
270
+ history; it is what the SQLite reader returns unless the caller asks for
271
+ `includeCompacted`. Calling the reader needs no change, and no data migration is
272
+ involved.
273
+
274
+ ## Released migration: 0.86.0
275
+
276
+ Only if you branch on `AgentTerminalReason` or show it to a person. Three
277
+ failures that used to arrive as `provider_failure` now arrive as themselves:
278
+
279
+ ```ts
280
+ // before
281
+ if (run.terminalReason === 'provider_failure') showOutage()
282
+
283
+ // after
284
+ switch (run.terminalReason) {
285
+ case 'provider_failure':
286
+ showOutage()
287
+ break
288
+ case 'storage_conflict':
289
+ // Another writer took this run's revision, or the store refused the write.
290
+ retryOrReport()
291
+ break
292
+ case 'output_rejected':
293
+ // Your own `protocol.acceptTerminal` refused the finished message.
294
+ reportRejectedAnswer()
295
+ break
296
+ case 'runtime_failure':
297
+ // The runtime, or a check the SDK ran on what it was handed, failed
298
+ // before the provider was reached.
299
+ reportInternal()
300
+ break
301
+ }
302
+ ```
303
+
304
+ A run that never reached the provider can no longer report `provider_failure`,
305
+ so an alert keyed on that value stops firing for causes that were never the
306
+ provider's.
307
+
308
+ If you implement `AgentRuntimeStore` directly, add the event-ledger surface:
309
+
310
+ ```ts
311
+ const store: AgentRuntimeStore = {
312
+ // existing normalized operations
313
+ appendEvent,
314
+ readEvents,
315
+ exportConversation,
316
+ importConversation,
317
+ }
318
+ ```
319
+
320
+ If you implement an `AgentRuntimeStoreDriver` (Prisma, Postgres, any external
321
+ database), the ledger is yours to keep: `events` is a required member, and it
322
+ needs a table.
323
+
324
+ ```ts
325
+ // before
326
+ const driver: AgentRuntimeStoreDriver<Tx> = { transaction, head, runs, admissions, history, scanRecoverable }
327
+
328
+ // after
329
+ const driver: AgentRuntimeStoreDriver<Tx> = {
330
+ transaction, head, runs, admissions, history, scanRecoverable,
331
+ events: {
332
+ // One row per event; `seq` is per conversation, starts at 1, and is
333
+ // assigned inside the caller's transaction so concurrent appends cannot
334
+ // share or skip a number.
335
+ append: async (tx, draft) => {
336
+ // Two transactions that both read max(seq) and both insert max + 1
337
+ // collide on the primary key; under SERIALIZABLE the snapshot predates
338
+ // any lock you take here. Treat a unique violation on this table as a
339
+ // serialization conflict and re-run the whole transaction — see
340
+ // `runTransaction` in examples/agent-store-prisma/adapter.ts.
341
+ const seq = (await tx.event.aggregate({ _max: { seq: true }, where: { conversationId: draft.conversationId } }))._max.seq ?? 0
342
+ await tx.event.create({ data: { ...draft, seq: seq + 1, payload: JSON.stringify(draft.payload) } })
343
+ return { ...draft, seq: seq + 1 }
344
+ },
345
+ // Ordered by `seq`, bounded by `fromSeq`/`toSeq`/`limit`; `nextSeq` when
346
+ // more remain.
347
+ list: async (tx, input) => { /* see examples/agent-store-prisma/adapter.ts */ },
348
+ },
349
+ }
350
+ ```
351
+
352
+ The table carries `eventId` (unique), `conversationId`, `seq`, `schemaVersion`,
353
+ `kind`, `occurredAt`, `ignorable` and `payload`. `runAgentStoreConformance`
354
+ from `stitchkit/testing` now exercises it — contiguous `seq` under twenty
355
+ concurrent appends, bounded reads, the `ignorable` flag, a byte-stable export
356
+ — so run it against your driver before deploying. Expect one more insert per
357
+ run operation (`runtime/transition`) and one per model step
358
+ (`provider/request`) on the hot path; there is no opt-out.
359
+
360
+ If you operate a built-in SQLite store file:
361
+
362
+ 1. Back the file up. The first open by 0.86.0 migrates it to schema 2 in one
363
+ transaction and there is no way back: a 0.85.x package refuses a migrated
364
+ file with `Unsupported Stitchkit agent-runtime SQLite schema version 2`.
365
+ 2. Check the build for FTS5 before deploying:
366
+
367
+ ```sql
368
+ SELECT sqlite_compileoption_used('ENABLE_FTS5');
369
+ ```
370
+
371
+ A build without it is refused at open with `requires FTS5 support`. On the
372
+ machine this was verified, Bun 1.3 `bun:sqlite` and Node 24.18 `node:sqlite`
373
+ both carry it; verify your own build rather than assuming — the table of
374
+ supported runtimes says Node ≥ 22.5, and FTS5 there is not verified here.
375
+ 3. Know what the migration wrote. Each existing conversation becomes one
376
+ `runtime/baseline` event at `seq 1`, dated when the migration ran, with
377
+ `asOf` inside the payload naming the last message it describes. Event
378
+ search and projections address that conversation's pre-migration history as
379
+ one snapshot at `seq 1`; event-level precision begins with the first event
380
+ after the migration.
381
+
382
+ If you subscribe to `AgentRuntimeEvent` and switch over `event.type`
383
+ exhaustively, add the transient `attempt-reset` case — drop the run's
384
+ transient text — or the reducer stops compiling; a reducer that ignores it
385
+ keeps a failed attempt's partial text on screen.
386
+
387
+ New in this release, not a migration: child runs cascade only when the manager
388
+ is given to the runtime —
389
+ `createAgentRuntime({ ...config, children: createSqliteAgentChildManager({ sqlite, spawn }) })`
390
+ — and the SQLite companions take the store handle (`{ sqlite }`), whose
391
+ `database` and `transaction` they share.
392
+
393
+ ## Released migration: 0.85.0
394
+
395
+ Only if you implement `AgentRuntimeStore` directly. Add the new durable
396
+ operation mutation beside the existing run mutations:
397
+
398
+ ```ts
399
+ // before
400
+ const store: AgentRuntimeStore = {
401
+ checkpointRunAssistant,
402
+ commitRunTerminal,
403
+ // ...
404
+ }
405
+
406
+ // after
407
+ const store: AgentRuntimeStore = {
408
+ checkpointRunAssistant,
409
+ recordRunOperation,
410
+ commitRunTerminal,
411
+ // ...
412
+ }
413
+ ```
414
+
415
+ It must atomically replace `AgentRun.lastOperation`, increment the run revision
416
+ and conversation snapshot version, and enforce the supplied owner, fencing
417
+ token and expected revision. Adapters built with `createAgentRuntimeStore`
418
+ already receive the reference implementation; no driver method is added.
419
+
420
+ ## Released migration: 0.84.0
421
+
422
+ Only if you call `createAgentCodingTools`.
423
+
424
+ ```bash
425
+ rg -n "createAgentCodingTools"
426
+ ```
427
+
428
+ **1. Backslashes are refused.** If anything in your system hands the tools a Windows-style path,
429
+ it now gets `FORBIDDEN`. Convert to `/` at the boundary:
430
+
431
+ ```ts
432
+ // before: read_file({ path: 'src\\index.ts' }) // reached openat as two segments
433
+ // after: read_file({ path: 'src/index.ts' })
434
+ ```
435
+
436
+ This is the half that matters most: until now a backslash bypassed your **required**
437
+ `authorize({ operation, path })` callback, not just `authorizePath`. A rule denying
438
+ `credentials/token.txt` refused that spelling and served — and overwrote — the same file spelled
439
+ `credentials\token.txt`. If your policy denies specific files, re-read your audit logs for
440
+ backslash spellings.
441
+
442
+ **2. Denying a directory now denies everything under it — and a policy must admit every directory
443
+ on the way to a file**, the way POSIX needs `+x` on each directory in a path.
444
+
445
+ If your policy is a DENY-list, it now does what it read as:
446
+
447
+ ```ts
448
+ authorizePath: ({ path }) => path !== 'credentials'
449
+ // before: hid `credentials` from glob, served `credentials/token.txt` to read_file
450
+ // after: refuses `credentials/token.txt`, `credentials/nested/deep.txt` and writes under it
451
+ ```
452
+
453
+ If you relied on the old behaviour — a directory hidden from discovery but readable directly — you
454
+ were relying on a defect, and the two halves of one callback disagreeing. Name the paths you
455
+ actually want reachable instead.
456
+
457
+ If your policy is an ALLOW-list, widen it to the directories it leads through, or nothing under
458
+ them is reachable:
459
+
460
+ ```ts
461
+ // before: allowed src/index.ts, because only the leaf was ever asked
462
+ authorizePath: ({ path }) => path.startsWith('src/')
463
+ // after: `src` itself is asked first and refused, so the file is refused too
464
+ authorizePath: ({ path }) => path === 'src' || path.startsWith('src/')
465
+ ```
466
+
467
+ The workspace root is not asked about — it is the boundary the tools already own.
468
+
469
+ **3. The policy is called more often.** A path of depth N costs N+1 calls (`.`, then each ancestor,
470
+ then the leaf), outermost first, stopping at the first refusal. A policy that logs or meters will
471
+ see a different sequence, and will no longer see the leaf once an ancestor has refused.
472
+
473
+ ## Released migration: 0.83.0
474
+
475
+ Two things, both mechanical, and only if you touch an observability sink.
476
+
477
+ ```bash
478
+ rg -n "createObservability|createApplicationEventSink|createApplicationSnapshotSink|createAgentRuntimeEventSink|createAgentObservability"
479
+ ```
480
+
481
+ **1. `flush()` returns `Promise<boolean>`.** `await sink.flush()` needs no
482
+ change. Only a declared type does:
483
+
484
+ ```ts
485
+ // before
486
+ const flushAudit: () => Promise<void> = observability.flush
487
+ // after
488
+ const flushAudit: () => Promise<boolean> = observability.flush
489
+ ```
490
+
491
+ **2. `ObservabilityDrainReport` carries `drained`.** The framework builds it, so
492
+ reading code is unchanged. A hand-built report — a test double, or one persisted
493
+ and re-parsed through `ObservabilityDrainReportSchema` — needs the field:
494
+
495
+ ```ts
496
+ // before
497
+ { request, tools, total, durationMs }
498
+ // after
499
+ { request, tools, total, durationMs, drained: true }
500
+ ```
501
+
502
+ Then take the thing this release exists for. Every drain now accepts
503
+ `{ timeoutMs?, signal? }`, so a shutdown can give the audit drain the same
504
+ deadline it gives every other step:
505
+
506
+ ```ts
507
+ const report = await observability.close({ timeoutMs: 5_000 })
508
+ if (!report.drained) {
509
+ logger.warn('audit drain incomplete', {
510
+ unwritten: report.total.received - report.total.filtered - report.total.completed,
511
+ })
512
+ }
513
+ ```
514
+
515
+ The bound ends the **waiting**, not the writes: a sink's `write` is handed no
516
+ cancellation, so an outstanding one keeps running against whatever you close
517
+ next. Racing `close()` against your own timer looks equivalent and is not — it
518
+ discards the report along with the wait.
519
+
520
+ ## Released migration: 0.82.0
521
+
522
+ One thing, and only if you mount MCP or agent tools from a `createTrackingContract` contract.
523
+
524
+ ```bash
525
+ rg -n "createTrackingContract"
526
+ ```
527
+
528
+ The event ingest (`track`, `POST /events`) is now `expose: ['HTTP']`, which is
529
+ what its sibling `bootstrap` always declared. Before, it declared nothing — and
530
+ an endpoint with no `expose` is a tool on MCP and AGENT by default, so the
531
+ mounted surface carried a `track_<prefix>` tool. Since this contract is built
532
+ inside the framework, an application that had made every tool opt-in for the
533
+ endpoints *it* authors could not have opted this one out.
534
+
535
+ **If you pin a tool-surface digest or count**, it moves by one; re-record it.
536
+ **If you assert on tool names**, `track_<prefix>` is gone. **If nothing in your
537
+ project mounts tools from this contract**, there is nothing to do — the HTTP
538
+ routes, the client and the schemas are unchanged.
539
+
540
+ Un-declaring the tool was never the intent, so there is no option to keep it. If
541
+ an agent in your system genuinely needs to record something, give it your own
542
+ endpoint with your own schema: the browser ingest trusts a client-minted event
543
+ id and a visit lease, and an agent holds neither.
544
+
545
+ ## Released migration: 0.81.0
546
+
547
+ **Path literals own string params.**
548
+
549
+ An endpoint whose path contains `:id` or a terminal `*rest` no longer needs a
550
+ duplicate `params: z.object({ …string() })` declaration. Remove schemas that do
551
+ nothing beyond repeating path names:
552
+
553
+ ```ts
554
+ // before
555
+ { path: '/projects/:projectId/*filePath',
556
+ params: z.object({ projectId: z.string(), filePath: z.string() }) }
557
+
558
+ // after
559
+ { path: '/projects/:projectId/*filePath' }
560
+ ```
561
+
562
+ Keep an explicit schema when it validates or coerces. It must cover every name
563
+ in the path — an explicit schema that misses one now fails at `defineContract`
564
+ with the path and the missing field named. Client calls and handler contexts
565
+ infer the string fields from the literal, so a call that omitted one becomes a
566
+ compile error instead of building a URL with an unresolved segment. Measured
567
+ across three consuming applications before release (373 endpoints with path
568
+ segments), no explicit schema missed a field: the migration is deleting
569
+ schemas that only repeated the path, or nothing.
570
+
571
+ ## Released migration: 0.80.0
572
+
573
+ One thing, and only if you parse an async-operation snapshot.
574
+
575
+ ```bash
576
+ rg -n "createAsyncOperationSnapshotSchema"
577
+ ```
578
+
579
+ `progress` on a parsed snapshot used to be `unknown`. The factory built its
580
+ object shapes with a conditional spread, and the narrowing inside it widened
581
+ your schema back to a bare `ZodType`, so the emitted declaration threw the type
582
+ argument away. It is now the output of the schema you configured.
583
+
584
+ ```ts
585
+ const schema = createAsyncOperationSnapshotSchema({
586
+ progress: z.object({ done: z.number(), total: z.number() }),
587
+ failure: z.object({ code: z.string() }),
588
+ })
589
+ const snap = schema.parse(body)
590
+ if (snap.phase === 'running') {
591
+ // before: `snap.progress` was `unknown` — this needed a cast or a narrow
592
+ // after: it is `{ done: number; total: number } | undefined`
593
+ console.log(snap.progress?.done)
594
+ }
595
+ ```
596
+
597
+ **If you cast it**, delete the cast — it was working around the erased type.
598
+ **If you assigned something else to it**, the compiler now refuses, and it was
599
+ already a value the schema rejected at run time.
600
+
601
+ **If you pass explicit type arguments**, the no-progress form takes one now, not
602
+ two: the factory is two overloads. Pass none.
603
+
604
+ ```ts
605
+ // before: createAsyncOperationSnapshotSchema<undefined, typeof Failure>({ failure: Failure })
606
+ // after: createAsyncOperationSnapshotSchema({ failure: Failure })
607
+ ```
608
+
609
+ Nothing about parsing moves. A snapshot configured without `progress` still
610
+ strips an unexpected `progress` rather than refusing it — that behaviour is why
611
+ this is overloads and not one normalised key.
612
+
613
+ **If you compile with `skipLibCheck: false`**, this is also the release that
614
+ makes `stitchkit/tools/contract` compile at all: it carried five `TS2344`
615
+ errors, one per phase, from the same conditional spread.
616
+
617
+ ## Released migration: 0.79.0
618
+
619
+ One thing, and only if you assert on the whole snapshot.
620
+
621
+ ```bash
622
+ rg -n "getSnapshot\(\)|projectApplicationStatus|status\(\)" --glob '*.test.ts' --glob '*.spec.ts'
623
+ ```
624
+
625
+ `ApplicationSnapshot` and `ApplicationStatusProjection` each gained a
626
+ `restarting` field — ids in the snapshot, a count in the projection. A reader
627
+ that names the fields it wants is unaffected. A test that compares the whole
628
+ object with `toEqual` fails until it adds the field:
629
+
630
+ ```ts
631
+ // before
632
+ expect(body).toEqual({ id, lifecycle: 'ready', /* … */ resources: { total: 1, ready: 1, degraded: 0, failed: 0 } })
633
+ // after
634
+ expect(body).toEqual({ id, lifecycle: 'ready', /* … */ resources: { total: 1, ready: 1, degraded: 0, failed: 0 }, restarting: 0 })
635
+ ```
636
+
637
+ It is zero except while a restart is running, and then it names the subtree being
638
+ replaced. That is the point: a snapshot taken mid-restart used to be
639
+ indistinguishable from a resource that had failed on its own, so a dashboard read
640
+ a planned replacement as an outage.
641
+
642
+ **If you watch a hub across a restart**, nothing to change, but the behaviour is
643
+ different and better: closing a hub now tells its subscribers `unavailable` /
644
+ `source-unavailable` instead of dropping them, so a page stops showing a value
645
+ that will never update again.
646
+
647
+ **If you need a tool contract in a browser**, `stitchkit/tools/contract` now
648
+ carries the async-operation helpers, its schemas and the view-file input/output
649
+ without the runtime. `stitchkit/tools` still exports all of them.
650
+
651
+ ## Released migration: 0.78.0
652
+
653
+ Two mechanical edits. Find them both:
654
+
655
+ ```bash
656
+ rg -n "createDecisionPipeline|createDiagnosticJournal" --glob '*.ts' --glob '*.tsx'
657
+ ```
658
+
659
+ **1. `createDecisionPipeline` takes a deadline.**
660
+
661
+ ```ts
662
+ // before
663
+ createDecisionPipeline([policyA, policyB])
664
+ // after
665
+ createDecisionPipeline([policyA, policyB], { policyTimeoutMs: 2_000 })
666
+ ```
667
+
668
+ Pick a number your slowest policy comfortably beats. There is no default on
669
+ purpose: a policy that never settles hangs every caller of the operation it
670
+ guards, and the framework has no basis for choosing that number for you.
671
+
672
+ Past the deadline — and on a throw, and on a non-decision — the pipeline raises
673
+ `DecisionPolicyError` naming the policy, with the trace so far. If you already
674
+ catch that for a bad return value, you now catch two more cases with it.
675
+
676
+ **2. `createDiagnosticJournal` moved.**
677
+
678
+ ```ts
679
+ // before
680
+ import { createDiagnosticJournal } from 'stitchkit/application'
681
+ // after
682
+ import { createDiagnosticJournal } from 'stitchkit/application/diagnostic-journal'
683
+ ```
684
+
685
+ Only the factory moved. `DiagnosticJournalConfig`, every
686
+ `DiagnosticJournal*Schema` and `readDiagnosticJournalLockDiagnosis` stay where
687
+ they were.
688
+
689
+ **If you restart resources**, nothing to change — but three things that did not
690
+ work now do: a managed schedule can be restarted, a restarted keyspace accepts
691
+ writes again, and a restarted managed server is actually shut down at exit. If
692
+ you pass `managedServerResource` a server *instance*, a restart is now refused
693
+ by name; pass a factory (`server: (context) => …`) to restart it.
694
+
695
+ ## Released migration: 0.77.0
696
+
697
+ Two type renames, and only if you named them. Nothing runtime moved.
698
+
699
+ ```bash
700
+ rg -n "EventDecision|EventUndecided" --glob '*.ts' --glob '*.tsx'
701
+ ```
702
+
703
+ ```ts
704
+ // before
705
+ import type { EventDecision, EventUndecided } from 'stitchkit/live'
706
+ // after
707
+ import type { PolicyDecision, UndecidedOutcome } from 'stitchkit/live'
708
+ ```
709
+
710
+ The shapes are identical — `{ outcome: 'allow' } | { outcome: 'deny', reason } | { outcome: 'defer' }`
711
+ and `'allow' | 'deny'`. If you only ever *return* decisions from listeners and never named the
712
+ type, the search above finds nothing and there is nothing to do.
713
+
714
+ They were renamed because `createDecisionPipeline` (new in this release) votes with exactly the
715
+ same three outcomes, and two identical types under two names is the thing that makes a search for
716
+ either one return half the truth.
717
+
718
+ ## Released migration: 0.76.0
719
+
720
+ One change, and only if you hand `createWatchClient` a transport you wrote yourself.
721
+
722
+ ```bash
723
+ rg -n "createWatchClient" --glob '*.ts'
724
+ ```
725
+
726
+ If the `transport:` you pass is a bound realtime client — `bindRealtimeClient(...)` or
727
+ `createRealtimeClient(...)` — there is nothing to do: it already carries
728
+ `onConnectionChange`. If it is an object you assembled, add the fourth member:
729
+
730
+ ```ts
731
+ onConnectionChange(listener: (connected: boolean, reason?: string) => void): () => void
732
+ ```
733
+
734
+ It is required because the client recovers through it: on a drop it publishes
735
+ `unavailable` to subscribers and forgets what was opened, and on a fresh
736
+ connection it re-opens every key that still has a listener. Without it a watch
737
+ stays "open" on the client after a server restart while the hub remembers
738
+ nothing, and the face stops updating without saying so.
739
+
740
+ ## Released migration: 0.75.0
741
+
742
+ Two mechanical renames and one option that has to move. Nothing about a passing
743
+ request changes.
744
+
745
+ ### 1. A route group's `onRequest`
746
+
747
+ ```bash
748
+ rg -n "hooks:\s*\{[^}]*onRequest" --glob '*.ts'
749
+ ```
750
+
751
+ Any match **inside a `groups: [...]` entry** must move. The hook was accepted and
752
+ never dispatched, so the behaviour you have today is "no hook"; the fix is to
753
+ decide which one you meant:
754
+
755
+ ```ts
756
+ // refuse before dispatch, for the whole server
757
+ createServer({ groups, hooks: { onRequest: gate } });
758
+
759
+ // gate this group once the endpoint is known
760
+ groups: [{ pathPrefix: '/admin', services, hooks: { authorize: gate } }]
761
+ ```
762
+
763
+ A group that still declares `onRequest` fails at startup with that message.
764
+
765
+ ### 2. The SQLite boundary type
766
+
767
+ ```bash
768
+ rg -l "AgentRuntimeSqlite(Database|Statement|Value)" | xargs sed -i \
769
+ -e 's/AgentRuntimeSqliteDatabase/SqliteDatabase/g' \
770
+ -e 's/AgentRuntimeSqliteStatement/SqliteStatement/g' \
771
+ -e 's/AgentRuntimeSqliteValue/SqliteValue/g'
772
+ ```
773
+
774
+ Type-only: the same three methods, the same structural compatibility with
775
+ `bun:sqlite` and a `node:sqlite` wrapper, imported from the same entrypoints.
776
+ `initializeAgentRuntimeSqlite` keeps its name — it really is the agent runtime's
777
+ schema.
778
+
779
+ ### 3. Nothing else
780
+
781
+ `stitchkit/live`, the watch hub, the keyspace and the trust fence are all
782
+ additive. Adopt them when you want them; the guide is
783
+ [Live data](./live.md).
784
+
785
+ ## Released migration: 0.74.0
786
+
787
+ One change, and it only reaches you if you catch a refusal the **client** raised — one it made while
788
+ planning the request, before anything was sent. A server refusal is unchanged.
789
+
790
+ ### If you match on the text of a client-side refusal
791
+
792
+ A missing path param, a missing scoped prefix key, a non-flat field in a `GET` input, a missing or
793
+ invalid multipart file: each used to arrive as a plain `Error` carrying only a sentence. They now
794
+ arrive as an `ApiError` in the same shape a server validation failure uses.
795
+
796
+ ```ts
797
+ // before
798
+ catch (e) {
799
+ if (/Missing path param/.test(e.message)) …
800
+ }
801
+
802
+ // after
803
+ catch (e) {
804
+ if (e.code === 'VALIDATION_ERROR' && e.status === 0) … // refused here, nothing was sent
805
+ }
806
+ // e.details.issues[0].path === 'id'
807
+ ```
808
+
809
+ `status` is what separates the two worlds, and it is not new — `0` has always meant *this never
810
+ reached the server*, as `REQUEST_ABORTED` and `REQUEST_TIMEOUT` already used it:
811
+
812
+ | | `code` | `status` |
813
+ |---|---|---|
814
+ | the client refused your arguments | `VALIDATION_ERROR` | `0` |
815
+ | the server refused your arguments | `VALIDATION_ERROR` | `400` |
816
+
817
+ `details.issues` is the same `{ path, code, message }` array on both, so one rendering serves both —
818
+ and `zodIssues` / `ZodIssueSummary` are now importable from `stitchkit` itself, not only from
819
+ `stitchkit/server`.
820
+
821
+ ### If you are on `createHttpClient` and your call site relied on a synchronous throw
822
+
823
+ This is the sharp one, because it is invisible in a diff. Those refusals used to be thrown
824
+ **synchronously** on the Ky-backed client — before the call returned a promise — so
825
+ `api.upload({}).catch(handler)` never reached the handler, while the same mistake on the bare-fetch
826
+ client rejected normally. They now reject on both.
827
+
828
+ ```ts
829
+ // before, on createHttpClient only
830
+ try {
831
+ api.upload({}) // threw here
832
+ } catch (e) { … }
833
+
834
+ // after, on both transports
835
+ await api.upload({}).catch(handler)
836
+ ```
837
+
838
+ A `try/catch` around an `await`ed call keeps working. A `try/catch` around an un-awaited call no
839
+ longer catches anything — which was already true on the other transport.
840
+
841
+ Not a migration, but worth knowing: a missing multipart file used to be reported as
842
+ `UNKNOWN_ERROR`, the code that means *this client cannot tell you what happened*, on the one refusal
843
+ where it is certain nothing was sent. → ADR 0148 carries the reasoning, including why argument
844
+ validation stays on the server.
845
+
846
+ ## Released migration: 0.73.0
847
+
848
+ Two breaking changes. Nothing you send to a server changed, and only one of these
849
+ can reach a call site the compiler already checks.
850
+
851
+ ### If you call `withOptions` from a call site that lost its types
852
+
853
+ `withOptions` takes one argument on an endpoint with no contract input, two when
854
+ there is one. Passing two to a no-input endpoint used to succeed and silently
855
+ drop the options: the request went out **uncancelled**, the caller still received
856
+ `REQUEST_ABORTED` — cancellation is decided from the signal it was handed, not
857
+ from what the transport did — and the server ran the operation to its own
858
+ deadline. Every symptom then points at the transport, and the investigation goes
859
+ there. It now throws a `TypeError` naming the endpoint and the correct shape.
860
+
861
+ ```ts
862
+ // before — the options were dropped and the request was never cancelled
863
+ api.ping.withOptions({}, { signal })
864
+
865
+ // after
866
+ api.ping.withOptions({ signal })
867
+ ```
868
+
869
+ A typed call site already refused the wrong arity, so this reaches only code that
870
+ does not have the types: a `Record<string, …>` view of the client, a hand-written
871
+ double, a dynamic dispatch. The guard counts arguments and never reads them, so a
872
+ method handed to a callback API behaves exactly as before.
873
+
874
+ ### If you match on `ApiError.message`
875
+
876
+ An `ApiError` that nothing explained used to carry `API Error: ${code}` — a
877
+ string that reads like an explanation while only restating the code, so a caller
878
+ could not tell an origin that explained a failure from one that said nothing. It
879
+ now says which it is.
880
+
881
+ ```ts
882
+ // before
883
+ err.message === 'API Error: INVALID_INPUT'
884
+
885
+ // after
886
+ err.message === 'INVALID_INPUT (no message supplied)' // better: match err.code
887
+ ```
888
+
889
+ Match `err.code` instead: it is the contract, and it did not change. An error
890
+ carrying a real message is untouched. An empty message now counts as no message,
891
+ for the same reason — an empty string is not an explanation either.
892
+
893
+ ### If a diagnostic journal lock file is already on disk
894
+
895
+ One operator step, and only on a host that has been **renamed** since its lock was written.
896
+
897
+ A lock written before this version carries no machine identity, so there is nothing to compare and
898
+ the host name is all that is left. If the name still matches, the lock reclaims exactly as it always
899
+ did and there is nothing to do. If the name has changed, the lock is `unattributable` and is refused
900
+ — the same refusal this release exists to end, except that this particular file predates the fix and
901
+ cannot be repaired from the inside. Delete it once:
902
+
903
+ ```sh
904
+ rm <journal path>.lock # only when the host was renamed since the file was written
905
+ ```
906
+
907
+ Locks written from this version on carry the machine identity, so the situation cannot recur. To see
908
+ which case you are in without guessing, read the refusal instead of the file:
909
+ `readDiagnosticJournalLockDiagnosis(err)` returns `attribution: 'unattributable'` for exactly this
910
+ one, and `'another-machine'` for a lock that genuinely belongs elsewhere and must **not** be deleted.
911
+
912
+ Two related fixes need no migration, but change what you will see. An error the
913
+ transport raised through `createHttpClient` now carries the transport's own text
914
+ in `message` and the original error as `cause`, where before it carried neither
915
+ and filed the text under `details.message` alone; if you followed the retry rule
916
+ in [the client guide](./client.md) — inspect the adapter's `cause`, retry only
917
+ when it proves dispatch did not happen — that rule was not executable on this
918
+ transport and now is. And the client guide now states which direction validation
919
+ runs: responses are checked against `output`, arguments are **not** checked
920
+ before being sent.
921
+
922
+ ## Released migration: 0.72.0
923
+
924
+ Nothing you *pass* changed. Both items are about types you read or build, and
925
+ both stop the compiler rather than surprising you at runtime.
926
+
927
+ ### If you read `perKey` off `BoundedAdmissionPolicy`
928
+
929
+ `perKey` is now a union: the flat ceiling it always was, or `{ maxKeys, limits }`
930
+ where the ceiling is resolved from the key. Declaring one is unchanged; reading
931
+ one needs a narrowing.
932
+
933
+ ```ts
934
+ // before
935
+ const ceiling = policy.perKey?.maxConcurrent
936
+
937
+ // after
938
+ const ceiling =
939
+ policy.perKey && !('limits' in policy.perKey) ? policy.perKey.maxConcurrent : undefined
940
+ ```
941
+
942
+ A shape carrying members of both branches — `{ maxKeys, maxConcurrent, limits }` —
943
+ is refused. **In 0.72.0 and 0.72.1 that refusal came only from
944
+ `createBoundedAdmission`**, not from `tsc`: an excess-property check against a
945
+ union admits any property some member declares, so the mixed shape typechecked
946
+ and threw when the admission was built. From **0.72.2** each branch declares the
947
+ other's members as `never`, so it is a compile error. Nothing about the runtime
948
+ changed — both branches always refused it — but on a path your tests do not
949
+ construct, the earlier versions would have told you in production.
950
+
951
+ ### If you build a snapshot or a status by hand
952
+
953
+ `CreditWindowSnapshot` gained `waiting` (producers parked in the new waiting
954
+ `acquire`) and `DiagnosticJournalStatus` gained `lock`. Both are produced by the
955
+ framework, so reading them is unaffected — but a test double stops compiling:
956
+
957
+ ```ts
958
+ // before
959
+ const snapshot: CreditWindowSnapshot = { state: 'open', capacityBytes: 100, /* … */ }
960
+
961
+ // after
962
+ const snapshot: CreditWindowSnapshot = { state: 'open', capacityBytes: 100, /* … */ waiting: 0 }
963
+ ```
964
+
965
+ ## Released migration: 0.71.0
966
+
967
+ The Agent coding tools. Two of the three changes are visible to the compiler;
968
+ the third is the one to read carefully, because nothing will point at it.
969
+
970
+ ### If you implement `authorize`
971
+
972
+ The operation union gained `edit`, `list` and `glob` and lost `patch`. An
973
+ exhaustive matcher stops compiling and the compiler shows you every arm. **A
974
+ matcher with a default branch does not**, and that is the dangerous case:
975
+
976
+ ```ts
977
+ // before — and after this upgrade, silently wrong in both directions
978
+ if (request.operation === 'patch') return reviewPatch(request)
979
+ return true // now also authorizes edit, list and glob
980
+ // …or: return false // now also kills edit_file
981
+ ```
982
+
983
+ ```ts
984
+ // after
985
+ switch (request.operation) {
986
+ case 'edit': return reviewEdit(request) // the old `patch` payload, unchanged
987
+ case 'list':
988
+ case 'glob': return true // or your own policy
989
+ // …existing read / write / search / shell / artifact-read arms
990
+ }
991
+ ```
992
+
993
+ `write` gained `createsDirectories` — the workspace-relative directories the
994
+ call would create, outermost first, reported **before** anything is created. A
995
+ host that wants to refuse implicit directory creation now can.
996
+
997
+ ### If you call `apply_patch`
998
+
999
+ It is `edit_file`, and it is one call:
1000
+
1001
+ ```ts
1002
+ // before
1003
+ const read = await readFile({ path })
1004
+ await applyPatch({ path, baseSha256: read.sha256, oldText, newText, dryRun: true })
1005
+ await applyPatch({ path, baseSha256: read.sha256, oldText, newText, dryRun: false })
1006
+
1007
+ // after
1008
+ await editFile({ path, oldText, newText })
1009
+ ```
1010
+
1011
+ `expectedSha256` is optional and still refuses a stale base with `CONFLICT` when
1012
+ you pass it; `edit_file` returns the resulting `sha256`, so a chain of edits
1013
+ never needs to re-read. If you key an approval policy or a UI label on the string
1014
+ `apply_patch`, update the key — nothing will fail loudly.
1015
+
1016
+ ### If you match on `INTERNAL_SERVER_ERROR` from a coding tool
1017
+
1018
+ Ordinary outcomes no longer arrive that way. A missing file is `NOT_FOUND`, an
1019
+ existing file without `overwrite` is `CONFLICT`, an ambiguous snippet is
1020
+ `CONFLICT` with the occurrence count, a path outside the root is `FORBIDDEN`.
1021
+ Code that treated any coding-tool failure as an internal fault will now see
1022
+ codes it did not before; code that showed the model an empty error now has a
1023
+ sentence and a `hint` to show it. Host-level causes are unchanged and still
1024
+ scrubbed.
1025
+
1026
+ ### If you write files into new directories
1027
+
1028
+ Nothing to change: `write_file` creates missing parents inside the root. Read
1029
+ `createdDirectories` in the result if you want to notice a typo — a path that
1030
+ was a failure before is now a successful write into a new tree.
1031
+
1032
+ ### If you want a step to know its context budget
1033
+
1034
+ Opt in by reading it; nothing is injected for you:
1035
+
1036
+ ```ts
1037
+ loop: {
1038
+ prepareStep: ({ contextUsage }) => {
1039
+ const used = contextUsage?.usedTokens
1040
+ if (used?.provenance === 'unavailable') return {} // no step has landed yet
1041
+ const fraction = (used?.value ?? 0) / (contextUsage?.contextWindow ?? 1)
1042
+ // …render it wherever you put it
1043
+ return {}
1044
+ },
1045
+ }
1046
+ ```
1047
+
1048
+ Put it at the **tail** of the conversation rather than in the system
1049
+ instructions unless you have a reason: changing the system prompt on every step
1050
+ invalidates the provider's prefix cache for the whole conversation, and on a long
1051
+ run that is a multiple of the input cost.
1052
+
1053
+ ## Released migration: 0.70.0
1054
+
1055
+ ### Descriptor-backed Agent filesystem containment
1056
+
1057
+ Built-in coding file/search tools and `createAgentHarnessFileResources` now require a runtime
1058
+ that can address an opened directory descriptor: Linux `/proc/self/fd`, or the packaged macOS
1059
+ Node-API backend added in 0.70.1. This is what keeps a mutable parent rename or outside-symlink replacement from changing
1060
+ the authorized target between validation and the actual effect.
1061
+
1062
+ No call-site change is needed on those platforms. The 0.70.0 notes incorrectly inferred macOS and
1063
+ FreeBSD support from `/dev/fd`; macOS is restored by 0.70.1 and FreeBSD remains unsupported. On
1064
+ Windows or another platform without that
1065
+ boundary, move the built-in filesystem operations to a supported worker or replace them with
1066
+ application-owned tools backed by an equivalent native handle API. They fail closed rather than
1067
+ falling back to path spelling. `run_command` remains separately available under its explicit
1068
+ executable alias and authorization policy; this change does not claim an executable sandbox.
1069
+
1070
+ ## Released migration: 0.69.0
1071
+
1072
+ ### Direct coding-tool operation names
1073
+
1074
+ `createAgentCodingTools` no longer prefixes durable operation identity with `coding_`, and the
1075
+ unguarded exact-string edit tool is gone. Update approval maps, presenters and tests together:
1076
+
1077
+ ```ts
1078
+ // before
1079
+ { coding_read_file: 'approved', coding_search: 'approved', coding_patch_file: 'user-approval' }
1080
+
1081
+ // after
1082
+ { read_file: 'approved', search_files: 'approved', apply_patch: 'user-approval' }
1083
+ ```
1084
+
1085
+ The full mapping is `coding_read_file → read_file`, `coding_write_file → write_file`,
1086
+ `coding_search → search_files`, `coding_patch_file → apply_patch`, `coding_shell → run_command`,
1087
+ `coding_read_artifact → read_output` and `harness_read_resource → read_resource`. Replace
1088
+ `coding_edit_file` with `read_file` followed by guarded `apply_patch`; `read_file` now returns the
1089
+ required SHA-256. If the host declares no executable aliases, expect `run_command` to be absent.
1090
+
1091
+ ### Durable Agent approval message variants
1092
+
1093
+ If a renderer, store adapter or export pipeline exhaustively switches over
1094
+ `AgentMessage.role`, add the `tool` branch. If it switches over
1095
+ `AgentMessagePart.type`, add `tool-approval-request` and `tool-approval-response`.
1096
+ They are durable provider-continuation evidence: preserve them in storage and provider history;
1097
+ a UI may render them as approval state or intentionally omit their visual row.
1098
+
1099
+ ```ts
1100
+ // before
1101
+ const unreachable: never = message.role
1102
+
1103
+ // after
1104
+ if (message.role === 'tool') renderToolContinuation(message.parts)
1105
+ else renderExistingRole(message)
1106
+ ```
1107
+
1108
+ No data migration is needed. The schema still accepts all earlier records, and applications that
1109
+ do not exhaustively branch over these unions compile unchanged.
1110
+
1111
+ ## Released migration: 0.68.0
1112
+
1113
+ ### Make Unix transport selection explicit outside Bun
1114
+
1115
+ The legacy `unix` option remains a Bun convenience, but on Node or another
1116
+ runtime it now fails before dispatch. Replace it with the owned adapter and close
1117
+ that adapter with the application:
1118
+
1119
+ ```ts
1120
+ // before — unsafe outside Bun: an unsupported fetch could dial baseUrl over TCP
1121
+ const http = createHttpClient({ baseUrl, unix: '/run/service.sock' })
1122
+
1123
+ // after — Bun and Node; every dispatch and redirect stays on the socket
1124
+ import { createUnixClientTransport } from 'stitchkit/server' // or stitchkit/node
1125
+ const transport = createUnixClientTransport({ socketPath: '/run/service.sock' })
1126
+ const http = createHttpClient({ baseUrl, fetch: transport.fetch })
1127
+ // during shutdown
1128
+ await transport.close()
1129
+ ```
1130
+
1131
+ Do not automatically replay `possibly-dispatched`: a timeout or connection loss
1132
+ after bytes left the process does not prove that a write did not happen.
1133
+
1134
+ ### Choose tolerant stream parsing explicitly
1135
+
1136
+ `parseNDJSON` and `parseSSE` now throw on malformed JSON, invalid UTF-8 and an
1137
+ over-limit line. The default line ceiling is 1 MiB. If a feed deliberately skips
1138
+ bad records, retain that policy explicitly:
1139
+
1140
+ ```ts
1141
+ // before — malformed input disappeared implicitly
1142
+ parseNDJSON(response)
1143
+
1144
+ // after — ordinary fail-closed path
1145
+ parseNDJSON(response, { maxLineBytes: 256 * 1024 })
1146
+
1147
+ // after — deliberately tolerant path
1148
+ parseNDJSON(response, { onParseError: (raw, error) => report(raw, error) })
1149
+ ```
1150
+
1151
+ ### Extend exhaustive framework-error handling
1152
+
1153
+ If a switch makes `StitchErrorCode` exhaustive, add
1154
+ `STREAM_ITEM_INVALID`, `STREAM_FRAME_TOO_LARGE`,
1155
+ `STREAM_TERMINAL_MISSING` and `STREAM_LIFETIME_EXCEEDED`. A partial application
1156
+ status map needs no change (ADR 0105).
1157
+
1158
+ The admission/channel APIs and endpoint `stream` descriptor are additive; raw
1159
+ responses and raw `streamingRoute` remain supported.