stitchkit 0.94.0 → 0.95.0

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 (360) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/dist/agent-runtime/coding-shell-process.d.ts.map +1 -1
  3. package/dist/agent-runtime/coding-tool-listing.d.ts.map +1 -1
  4. package/dist/agent-runtime/coding-tool-search-patch.d.ts.map +1 -1
  5. package/dist/agent-runtime/contained-darwin.d.ts +38 -0
  6. package/dist/agent-runtime/contained-darwin.d.ts.map +1 -0
  7. package/dist/agent-runtime/contained-files.d.ts +11 -26
  8. package/dist/agent-runtime/contained-files.d.ts.map +1 -1
  9. package/dist/agent-runtime/contained-scan.d.ts +21 -0
  10. package/dist/agent-runtime/contained-scan.d.ts.map +1 -0
  11. package/dist/agent-runtime/contained-write.d.ts +9 -0
  12. package/dist/agent-runtime/contained-write.d.ts.map +1 -0
  13. package/dist/agent-runtime/deferred-tool-types.d.ts +3 -2
  14. package/dist/agent-runtime/deferred-tool-types.d.ts.map +1 -1
  15. package/dist/agent-runtime/harness-control.d.ts +0 -1
  16. package/dist/agent-runtime/harness-control.d.ts.map +1 -1
  17. package/dist/agent-runtime/harness.d.ts +0 -5
  18. package/dist/agent-runtime/harness.d.ts.map +1 -1
  19. package/dist/agent-runtime/managed-tools.d.ts +3 -2
  20. package/dist/agent-runtime/managed-tools.d.ts.map +1 -1
  21. package/dist/agent-runtime/provider-origin.d.ts +7 -0
  22. package/dist/agent-runtime/provider-origin.d.ts.map +1 -1
  23. package/dist/agent-runtime/run-operation-lifecycle.d.ts.map +1 -1
  24. package/dist/agent-runtime/runtime.d.ts +1 -1
  25. package/dist/agent-runtime/runtime.d.ts.map +1 -1
  26. package/dist/agent-runtime/schedule-records.d.ts +34 -0
  27. package/dist/agent-runtime/schedule-records.d.ts.map +1 -0
  28. package/dist/agent-runtime/schedules.d.ts +34 -0
  29. package/dist/agent-runtime/schedules.d.ts.map +1 -1
  30. package/dist/agent-runtime/store-conformance-lifecycle.d.ts +434 -0
  31. package/dist/agent-runtime/store-conformance-lifecycle.d.ts.map +1 -0
  32. package/dist/agent-runtime/store-conformance-ordering.d.ts +18 -0
  33. package/dist/agent-runtime/store-conformance-ordering.d.ts.map +1 -0
  34. package/dist/agent-runtime/store-conformance-support.d.ts +130 -0
  35. package/dist/agent-runtime/store-conformance-support.d.ts.map +1 -0
  36. package/dist/agent-runtime/store-conformance-terminal.d.ts +12 -0
  37. package/dist/agent-runtime/store-conformance-terminal.d.ts.map +1 -0
  38. package/dist/agent-runtime/store-conformance.d.ts.map +1 -1
  39. package/dist/application/admission-rate.d.ts +21 -0
  40. package/dist/application/admission-rate.d.ts.map +1 -0
  41. package/dist/application/admission-run.d.ts +8 -0
  42. package/dist/application/admission-run.d.ts.map +1 -0
  43. package/dist/application/admission.d.ts.map +1 -1
  44. package/dist/application/diagnostic-journal-lock.d.ts +9 -34
  45. package/dist/application/diagnostic-journal-lock.d.ts.map +1 -1
  46. package/dist/application/diagnostic-journal-manager.d.ts.map +1 -1
  47. package/dist/application/diagnostic-journal-storage.d.ts.map +1 -1
  48. package/dist/application/kernel-resource-context.d.ts.map +1 -1
  49. package/dist/application/notification-outbox.d.ts.map +1 -1
  50. package/dist/application/process-lifecycle-transitions.d.ts +175 -0
  51. package/dist/application/process-lifecycle-transitions.d.ts.map +1 -0
  52. package/dist/application/process-lifecycle.d.ts +3 -131
  53. package/dist/application/process-lifecycle.d.ts.map +1 -1
  54. package/dist/application/schedule.d.ts +0 -1
  55. package/dist/application/schedule.d.ts.map +1 -1
  56. package/dist/application/watch-hub-core.d.ts +122 -0
  57. package/dist/application/watch-hub-core.d.ts.map +1 -0
  58. package/dist/application/watch-hub.d.ts +2 -2
  59. package/dist/application/watch-hub.d.ts.map +1 -1
  60. package/dist/browser/client-executors.d.ts +14 -0
  61. package/dist/browser/client-executors.d.ts.map +1 -0
  62. package/dist/browser/client-multipart.d.ts +1 -1
  63. package/dist/browser/client-multipart.d.ts.map +1 -1
  64. package/dist/browser/client.d.ts +3 -2
  65. package/dist/browser/client.d.ts.map +1 -1
  66. package/dist/browser/http-fetch.d.ts +22 -0
  67. package/dist/browser/http-fetch.d.ts.map +1 -0
  68. package/dist/browser/http.d.ts +1 -3
  69. package/dist/browser/http.d.ts.map +1 -1
  70. package/dist/browser/live-state-core.d.ts +63 -0
  71. package/dist/browser/live-state-core.d.ts.map +1 -0
  72. package/dist/browser/live-state.d.ts.map +1 -1
  73. package/dist/browser/realtime-client.d.ts +26 -0
  74. package/dist/browser/realtime-client.d.ts.map +1 -0
  75. package/dist/browser/socket-io-connection.d.ts +82 -0
  76. package/dist/browser/socket-io-connection.d.ts.map +1 -0
  77. package/dist/browser/socket-io-peer.d.ts +20 -0
  78. package/dist/browser/socket-io-peer.d.ts.map +1 -0
  79. package/dist/browser/socket-io-trace.d.ts +31 -0
  80. package/dist/browser/socket-io-trace.d.ts.map +1 -0
  81. package/dist/browser/socket-io.d.ts +2 -18
  82. package/dist/browser/socket-io.d.ts.map +1 -1
  83. package/dist/contract/client-types.d.ts +134 -0
  84. package/dist/contract/client-types.d.ts.map +1 -0
  85. package/dist/contract/define-validation.d.ts +30 -0
  86. package/dist/contract/define-validation.d.ts.map +1 -0
  87. package/dist/contract/define.d.ts +3 -357
  88. package/dist/contract/define.d.ts.map +1 -1
  89. package/dist/contract/runtime-context.d.ts +131 -0
  90. package/dist/contract/runtime-context.d.ts.map +1 -0
  91. package/dist/contract/tool-options.d.ts +105 -0
  92. package/dist/contract/tool-options.d.ts.map +1 -0
  93. package/dist/contract/tool-view.d.ts +15 -2
  94. package/dist/contract/tool-view.d.ts.map +1 -1
  95. package/dist/durability/contract.d.ts +83 -0
  96. package/dist/durability/contract.d.ts.map +1 -1
  97. package/dist/durability/effect.d.ts +24 -0
  98. package/dist/durability/effect.d.ts.map +1 -0
  99. package/dist/durability/engine.d.ts +2 -2
  100. package/dist/durability/engine.d.ts.map +1 -1
  101. package/dist/durability/events.d.ts +2 -0
  102. package/dist/durability/events.d.ts.map +1 -1
  103. package/dist/durability/ledger.d.ts +11 -0
  104. package/dist/durability/ledger.d.ts.map +1 -1
  105. package/dist/durability/parks.d.ts +22 -0
  106. package/dist/durability/parks.d.ts.map +1 -0
  107. package/dist/durability/scheduler.d.ts +1 -0
  108. package/dist/durability/scheduler.d.ts.map +1 -1
  109. package/dist/entrypoints/agent-runtime/coding-tools.js +4 -4
  110. package/dist/entrypoints/agent-runtime/harness.js +127 -116
  111. package/dist/entrypoints/agent-runtime/sandbox.js +4 -4
  112. package/dist/entrypoints/agent-runtime/sqlite/bun.js +3 -3
  113. package/dist/entrypoints/agent-runtime/sqlite/node.js +3 -3
  114. package/dist/entrypoints/agent-runtime/testing.js +246 -214
  115. package/dist/entrypoints/agent-runtime.js +224 -203
  116. package/dist/entrypoints/application/diagnostic-journal.js +63 -203
  117. package/dist/entrypoints/application/opentelemetry.js +1 -1
  118. package/dist/entrypoints/application.d.ts +2 -1
  119. package/dist/entrypoints/application.d.ts.map +1 -1
  120. package/dist/entrypoints/application.js +506 -380
  121. package/dist/entrypoints/cli.d.ts +4 -1
  122. package/dist/entrypoints/cli.d.ts.map +1 -1
  123. package/dist/entrypoints/cli.js +57 -35
  124. package/dist/entrypoints/contract.d.ts +5 -2
  125. package/dist/entrypoints/contract.d.ts.map +1 -1
  126. package/dist/entrypoints/contract.js +3 -2
  127. package/dist/entrypoints/files.d.ts +2 -0
  128. package/dist/entrypoints/files.d.ts.map +1 -1
  129. package/dist/entrypoints/files.js +98 -2
  130. package/dist/entrypoints/index.d.ts +4 -2
  131. package/dist/entrypoints/index.d.ts.map +1 -1
  132. package/dist/entrypoints/index.js +348 -282
  133. package/dist/entrypoints/live.js +89 -71
  134. package/dist/entrypoints/node.d.ts +2 -1
  135. package/dist/entrypoints/node.d.ts.map +1 -1
  136. package/dist/entrypoints/node.js +13 -12
  137. package/dist/entrypoints/react.js +1 -1
  138. package/dist/entrypoints/remote.js +4 -4
  139. package/dist/entrypoints/server.d.ts +4 -2
  140. package/dist/entrypoints/server.d.ts.map +1 -1
  141. package/dist/entrypoints/server.js +293 -79
  142. package/dist/entrypoints/testing.d.ts +2 -1
  143. package/dist/entrypoints/testing.d.ts.map +1 -1
  144. package/dist/entrypoints/testing.js +288 -281
  145. package/dist/entrypoints/tools/connections.js +2 -2
  146. package/dist/entrypoints/tools/invoker.js +4 -4
  147. package/dist/entrypoints/tools.d.ts +6 -3
  148. package/dist/entrypoints/tools.d.ts.map +1 -1
  149. package/dist/entrypoints/tools.js +245 -202
  150. package/dist/entrypoints/tracking.js +325 -274
  151. package/dist/files/boundary.d.ts.map +1 -1
  152. package/dist/files/file-io.d.ts +14 -0
  153. package/dist/files/file-io.d.ts.map +1 -0
  154. package/dist/index-1j8pm5t0.js +412 -0
  155. package/dist/{index-kvj7f4hq.js → index-2bxbyab0.js} +10 -2
  156. package/dist/{index-xnj9bgxe.js → index-2gxzjvyr.js} +2 -162
  157. package/dist/index-4gcnakhx.js +82 -0
  158. package/dist/{index-j05z5gn4.js → index-55hkhm67.js} +136 -119
  159. package/dist/{index-cq4qfycf.js → index-79z7m7dt.js} +227 -59
  160. package/dist/{index-r7nmqpsg.js → index-7p1f0vp2.js} +1 -1
  161. package/dist/{index-dcpdvjsc.js → index-863ea9jb.js} +4 -4
  162. package/dist/index-8p52kd5p.js +242 -0
  163. package/dist/{index-97ac4gph.js → index-8zja4pkf.js} +26 -4
  164. package/dist/{index-2qzskm8h.js → index-dce5wxcq.js} +1 -1
  165. package/dist/index-e01r054k.js +105 -0
  166. package/dist/{index-sees8yf8.js → index-ensd0r74.js} +118 -111
  167. package/dist/{index-1nd48tm9.js → index-gxrt5h6v.js} +2 -1
  168. package/dist/{index-e87kakm4.js → index-ham5sz8m.js} +112 -110
  169. package/dist/{index-kj2wbeta.js → index-het2he5g.js} +280 -196
  170. package/dist/{index-vcvkq30w.js → index-hmp4800j.js} +3 -3
  171. package/dist/{index-gyr48nzg.js → index-k30h66yd.js} +71 -151
  172. package/dist/{index-2cr1cqhn.js → index-khtgb21r.js} +2 -2
  173. package/dist/{index-x4799c19.js → index-ndddxtyx.js} +11 -11
  174. package/dist/{index-dydjcp8z.js → index-np4m8hd3.js} +38 -36
  175. package/dist/{index-p81267c2.js → index-p3vsv1fb.js} +621 -357
  176. package/dist/{index-mp5sn43f.js → index-p9e0w8hs.js} +2 -2
  177. package/dist/{index-rewkc2hj.js → index-p9sh0xx4.js} +3 -3
  178. package/dist/{index-70yj2ebz.js → index-paz6sgdp.js} +107 -103
  179. package/dist/{index-bn2cjajt.js → index-px2gm2jp.js} +26 -102
  180. package/dist/index-s812ycat.js +65 -0
  181. package/dist/{index-xsqjkha9.js → index-sp1tzwnb.js} +2 -2
  182. package/dist/{index-n6hxg8as.js → index-t9rhjr9f.js} +615 -566
  183. package/dist/{index-zeemqhqx.js → index-v260df89.js} +88 -80
  184. package/dist/{index-fdp6hdxn.js → index-w906953s.js} +5 -1
  185. package/dist/{index-mdzh02yc.js → index-wdkt63w3.js} +1 -1
  186. package/dist/{index-58k4fp34.js → index-wsm5w4ee.js} +1 -1
  187. package/dist/{index-v38qyerb.js → index-xw3s75nj.js} +1 -1
  188. package/dist/internal/atomic-file.d.ts +23 -2
  189. package/dist/internal/atomic-file.d.ts.map +1 -1
  190. package/dist/internal/exclusive-lock.d.ts +51 -0
  191. package/dist/internal/exclusive-lock.d.ts.map +1 -0
  192. package/dist/internal/process-identity.d.ts +47 -0
  193. package/dist/internal/process-identity.d.ts.map +1 -0
  194. package/dist/internal/with-exclusive-lock.d.ts +67 -0
  195. package/dist/internal/with-exclusive-lock.d.ts.map +1 -0
  196. package/dist/live/watch-client.d.ts.map +1 -1
  197. package/dist/observability/audit.d.ts +2 -2
  198. package/dist/observability/audit.d.ts.map +1 -1
  199. package/dist/observability/event.d.ts +2 -1
  200. package/dist/observability/event.d.ts.map +1 -1
  201. package/dist/primitives/export-operation.d.ts +1 -1
  202. package/dist/primitives/export-operation.d.ts.map +1 -1
  203. package/dist/realtime/registry.d.ts +0 -5
  204. package/dist/realtime/registry.d.ts.map +1 -1
  205. package/dist/server/bun.d.ts +0 -1
  206. package/dist/server/bun.d.ts.map +1 -1
  207. package/dist/server/context-contribution.d.ts +1 -1
  208. package/dist/server/context-contribution.d.ts.map +1 -1
  209. package/dist/server/context.d.ts +1 -1
  210. package/dist/server/context.d.ts.map +1 -1
  211. package/dist/server/endpoint-response.d.ts +2 -1
  212. package/dist/server/endpoint-response.d.ts.map +1 -1
  213. package/dist/server/error-dispatch.d.ts +1 -1
  214. package/dist/server/error-dispatch.d.ts.map +1 -1
  215. package/dist/server/error-hook.d.ts +1 -1
  216. package/dist/server/error-hook.d.ts.map +1 -1
  217. package/dist/server/handler-state.d.ts +1 -1
  218. package/dist/server/handler-state.d.ts.map +1 -1
  219. package/dist/server/implement-registry.d.ts +54 -0
  220. package/dist/server/implement-registry.d.ts.map +1 -0
  221. package/dist/server/implement.d.ts +9 -55
  222. package/dist/server/implement.d.ts.map +1 -1
  223. package/dist/server/middleware/auth.d.ts +1 -31
  224. package/dist/server/middleware/auth.d.ts.map +1 -1
  225. package/dist/server/middleware/jwt.d.ts +31 -0
  226. package/dist/server/middleware/jwt.d.ts.map +1 -0
  227. package/dist/server/multipart-reader.d.ts +22 -0
  228. package/dist/server/multipart-reader.d.ts.map +1 -0
  229. package/dist/server/multipart.d.ts +1 -1
  230. package/dist/server/multipart.d.ts.map +1 -1
  231. package/dist/server/oauth/cimd.d.ts +88 -0
  232. package/dist/server/oauth/cimd.d.ts.map +1 -0
  233. package/dist/server/oauth/endpoints.d.ts +39 -0
  234. package/dist/server/oauth/endpoints.d.ts.map +1 -0
  235. package/dist/server/oauth/provider.d.ts +1 -68
  236. package/dist/server/oauth/provider.d.ts.map +1 -1
  237. package/dist/server/streaming-pump.d.ts +66 -0
  238. package/dist/server/streaming-pump.d.ts.map +1 -0
  239. package/dist/server/streaming-route.d.ts +12 -5
  240. package/dist/server/streaming-route.d.ts.map +1 -1
  241. package/dist/server/types.d.ts +4 -1
  242. package/dist/server/types.d.ts.map +1 -1
  243. package/dist/server/unix-client-bun.d.ts.map +1 -1
  244. package/dist/server/unix-client-http1.d.ts +76 -0
  245. package/dist/server/unix-client-http1.d.ts.map +1 -0
  246. package/dist/server/unix-client.d.ts.map +1 -1
  247. package/dist/testing/handler-clients.d.ts +2 -1
  248. package/dist/testing/handler-clients.d.ts.map +1 -1
  249. package/dist/testing/realtime-probe.d.ts +33 -0
  250. package/dist/testing/realtime-probe.d.ts.map +1 -0
  251. package/dist/testing/surface-conformance.d.ts +0 -31
  252. package/dist/testing/surface-conformance.d.ts.map +1 -1
  253. package/dist/testing/surface-manifest-digest.d.ts +44 -0
  254. package/dist/testing/surface-manifest-digest.d.ts.map +1 -0
  255. package/dist/testing/surface-manifest.d.ts.map +1 -1
  256. package/dist/tools/agent.d.ts +1 -1
  257. package/dist/tools/agent.d.ts.map +1 -1
  258. package/dist/tools/cli/args-fields.d.ts +31 -0
  259. package/dist/tools/cli/args-fields.d.ts.map +1 -0
  260. package/dist/tools/cli/args-route.d.ts +42 -0
  261. package/dist/tools/cli/args-route.d.ts.map +1 -0
  262. package/dist/tools/cli/args-view.d.ts +32 -0
  263. package/dist/tools/cli/args-view.d.ts.map +1 -0
  264. package/dist/tools/cli/args.d.ts +2 -65
  265. package/dist/tools/cli/args.d.ts.map +1 -1
  266. package/dist/tools/cli/argument-error.d.ts +5 -0
  267. package/dist/tools/cli/argument-error.d.ts.map +1 -0
  268. package/dist/tools/cli/checkpoint.d.ts.map +1 -1
  269. package/dist/tools/cli/command.d.ts +1 -1
  270. package/dist/tools/cli/command.d.ts.map +1 -1
  271. package/dist/tools/cli/config.d.ts +1 -1
  272. package/dist/tools/cli/config.d.ts.map +1 -1
  273. package/dist/tools/cli/format.d.ts +2 -1
  274. package/dist/tools/cli/format.d.ts.map +1 -1
  275. package/dist/tools/cli/invoke.d.ts +2 -1
  276. package/dist/tools/cli/invoke.d.ts.map +1 -1
  277. package/dist/tools/cli/managed-surface.d.ts +1 -1
  278. package/dist/tools/cli/managed-surface.d.ts.map +1 -1
  279. package/dist/tools/cli/policy.d.ts +1 -1
  280. package/dist/tools/cli/policy.d.ts.map +1 -1
  281. package/dist/tools/cli/prepare.d.ts.map +1 -1
  282. package/dist/tools/cli/run-managed.d.ts.map +1 -1
  283. package/dist/tools/cli/session.d.ts +1 -1
  284. package/dist/tools/cli/session.d.ts.map +1 -1
  285. package/dist/tools/cli/update.d.ts +19 -0
  286. package/dist/tools/cli/update.d.ts.map +1 -1
  287. package/dist/tools/cli/view.d.ts +1 -1
  288. package/dist/tools/cli/view.d.ts.map +1 -1
  289. package/dist/tools/cli/wait.d.ts +1 -1
  290. package/dist/tools/cli/wait.d.ts.map +1 -1
  291. package/dist/tools/connections/runtime.d.ts +1 -1
  292. package/dist/tools/connections/runtime.d.ts.map +1 -1
  293. package/dist/tools/execute-args.d.ts +23 -0
  294. package/dist/tools/execute-args.d.ts.map +1 -0
  295. package/dist/tools/execute-hooks.d.ts +146 -0
  296. package/dist/tools/execute-hooks.d.ts.map +1 -0
  297. package/dist/tools/execute-result.d.ts +40 -0
  298. package/dist/tools/execute-result.d.ts.map +1 -0
  299. package/dist/tools/execute.d.ts +4 -193
  300. package/dist/tools/execute.d.ts.map +1 -1
  301. package/dist/tools/internal/surface-projector.d.ts +2 -1
  302. package/dist/tools/internal/surface-projector.d.ts.map +1 -1
  303. package/dist/tools/invoker.d.ts +2 -1
  304. package/dist/tools/invoker.d.ts.map +1 -1
  305. package/dist/tools/lifecycle.d.ts +1 -1
  306. package/dist/tools/lifecycle.d.ts.map +1 -1
  307. package/dist/tools/mcp/mount.d.ts +1 -1
  308. package/dist/tools/mcp/mount.d.ts.map +1 -1
  309. package/dist/tools/mcp/prepare.d.ts +2 -1
  310. package/dist/tools/mcp/prepare.d.ts.map +1 -1
  311. package/dist/tools/mcp/progress.d.ts +1 -1
  312. package/dist/tools/mcp/progress.d.ts.map +1 -1
  313. package/dist/tools/mcp/register.d.ts +3 -2
  314. package/dist/tools/mcp/register.d.ts.map +1 -1
  315. package/dist/tools/mcp/round-context.d.ts +38 -0
  316. package/dist/tools/mcp/round-context.d.ts.map +1 -0
  317. package/dist/tools/mcp/round-policy.d.ts +1 -1
  318. package/dist/tools/mcp/round-policy.d.ts.map +1 -1
  319. package/dist/tools/mcp/round.d.ts +3 -11
  320. package/dist/tools/mcp/round.d.ts.map +1 -1
  321. package/dist/tools/mcp/runtime-tools.d.ts +2 -1
  322. package/dist/tools/mcp/runtime-tools.d.ts.map +1 -1
  323. package/dist/tools/mount.d.ts +3 -1
  324. package/dist/tools/mount.d.ts.map +1 -1
  325. package/dist/tools/native-definition.d.ts +2 -1
  326. package/dist/tools/native-definition.d.ts.map +1 -1
  327. package/dist/tools/operations/async-operation-runtime-tools.d.ts +2 -1
  328. package/dist/tools/operations/async-operation-runtime-tools.d.ts.map +1 -1
  329. package/dist/tools/operations/async-operation-runtime-types.d.ts +2 -1
  330. package/dist/tools/operations/async-operation-runtime-types.d.ts.map +1 -1
  331. package/dist/tools/remote.d.ts.map +1 -1
  332. package/dist/tools/runtime-tool.d.ts +3 -1
  333. package/dist/tools/runtime-tool.d.ts.map +1 -1
  334. package/dist/tools/tool-logger.d.ts +1 -1
  335. package/dist/tools/tool-logger.d.ts.map +1 -1
  336. package/dist/tracking/client-listeners.d.ts +30 -0
  337. package/dist/tracking/client-listeners.d.ts.map +1 -0
  338. package/dist/tracking/client-visit.d.ts +61 -0
  339. package/dist/tracking/client-visit.d.ts.map +1 -0
  340. package/dist/tracking/client.d.ts +3 -2
  341. package/dist/tracking/client.d.ts.map +1 -1
  342. package/llms/application.2.txt +271 -7
  343. package/llms/application.txt +66 -289
  344. package/llms/cli.2.txt +80 -0
  345. package/llms/cli.txt +45 -74
  346. package/llms/contract.txt +3 -3
  347. package/llms/files.txt +3 -0
  348. package/llms/stitchkit.txt +3 -3
  349. package/llms/tools.2.txt +88 -279
  350. package/llms/tools.3.txt +288 -0
  351. package/llms/tools.txt +27 -65
  352. package/llms/{upgrading-0.37.0-0.50.0.txt → upgrading-0.37.0-0.53.0.txt} +25 -3
  353. package/llms/{upgrading-0.53.0-0.67.0.txt → upgrading-0.55.0-0.68.0.txt} +53 -25
  354. package/llms/{upgrading-0.68.0-0.94.0.txt → upgrading-0.69.0-0.95.0.txt} +45 -53
  355. package/llms/upgrading.txt +3 -3
  356. package/llms-full.txt +216 -43
  357. package/llms.txt +8 -8
  358. package/package.json +1 -1
  359. package/dist/index-e2z3ahw9.js +0 -325
  360. package/dist/index-mkm15s49.js +0 -394
@@ -1,325 +0,0 @@
1
- import {
2
- deriveCodeChallenge
3
- } from "./index-hr4tzbwq.js";
4
- import {
5
- contextContributionDelta,
6
- mergeContextContribution,
7
- prepareContextContribution
8
- } from "./index-xnj9bgxe.js";
9
- import {
10
- base64UrlToBytes,
11
- bytesToBase64Url
12
- } from "./index-rxfy4cq7.js";
13
- import {
14
- forbidden,
15
- unauthorized
16
- } from "./index-2vtcmrj9.js";
17
- import {
18
- isUnsafeKey,
19
- safeJsonParse
20
- } from "./index-kzfs85xp.js";
21
- import {
22
- isRecord
23
- } from "./index-hffjpmq9.js";
24
-
25
- // src/server/middleware/cookies.ts
26
- function parseCookieHeader(header) {
27
- if (!header)
28
- return [];
29
- const pairs = [];
30
- for (const pair of header.split(";")) {
31
- const eq = pair.indexOf("=");
32
- if (eq === -1)
33
- continue;
34
- const key = pair.slice(0, eq).trim();
35
- if (!key)
36
- continue;
37
- const raw = pair.slice(eq + 1).trim();
38
- let value = raw;
39
- try {
40
- value = decodeURIComponent(raw);
41
- } catch {}
42
- pairs.push([key, value]);
43
- }
44
- return pairs;
45
- }
46
- function parseCookies(header) {
47
- const cookies = {};
48
- for (const [key, value] of parseCookieHeader(header)) {
49
- if (isUnsafeKey(key))
50
- continue;
51
- cookies[key] = value;
52
- }
53
- return cookies;
54
- }
55
- function serializeCookie(name, value, opts = {}) {
56
- let cookie = `${name}=${encodeURIComponent(value)}`;
57
- if (opts.maxAge !== undefined)
58
- cookie += `; Max-Age=${opts.maxAge}`;
59
- if (opts.path)
60
- cookie += `; Path=${opts.path}`;
61
- if (opts.domain)
62
- cookie += `; Domain=${opts.domain}`;
63
- if (opts.secure)
64
- cookie += "; Secure";
65
- if (opts.httpOnly)
66
- cookie += "; HttpOnly";
67
- if (opts.sameSite)
68
- cookie += `; SameSite=${opts.sameSite}`;
69
- return cookie;
70
- }
71
- function defineCookie(config) {
72
- const { name, duplicates = "last", ...options } = config;
73
- const getAll = (req) => parseCookieHeader(req.headers.get("cookie")).flatMap(([key, value]) => key === name ? [value] : []);
74
- return {
75
- get(req) {
76
- const values = getAll(req);
77
- if (values.length === 0)
78
- return;
79
- if (duplicates === "first")
80
- return values[0];
81
- if (duplicates === "reject") {
82
- return new Set(values).size === 1 ? values[0] : undefined;
83
- }
84
- return values[values.length - 1];
85
- },
86
- getAll,
87
- set(value) {
88
- return serializeCookie(name, value, options);
89
- },
90
- clear() {
91
- return serializeCookie(name, "", { ...options, maxAge: 0 });
92
- }
93
- };
94
- }
95
-
96
- // src/server/middleware/auth.ts
97
- var MAX_TOKEN_BYTES = 8192;
98
- async function verifyJwt(token, secret, options = {}) {
99
- if (!secret)
100
- throw new Error("verifyJwt: a non-empty secret is required");
101
- if (token.length > MAX_TOKEN_BYTES)
102
- throw unauthorized("Token too large");
103
- const [headerB64, payloadB64, signatureB64] = token.split(".");
104
- if (!headerB64 || !payloadB64 || !signatureB64)
105
- throw unauthorized("Invalid token format");
106
- let header;
107
- let payloadRaw;
108
- let signature;
109
- try {
110
- const decoder = new TextDecoder;
111
- header = JSON.parse(decoder.decode(base64UrlToBytes(headerB64)));
112
- payloadRaw = safeJsonParse(decoder.decode(base64UrlToBytes(payloadB64)));
113
- signature = base64UrlToBytes(signatureB64);
114
- } catch {
115
- throw unauthorized("Malformed token");
116
- }
117
- if (!isRecord(payloadRaw))
118
- throw unauthorized("Malformed token");
119
- const payload = payloadRaw;
120
- if (header.alg !== "HS256")
121
- throw unauthorized("Unsupported token algorithm");
122
- const encoder = new TextEncoder;
123
- const key = await crypto.subtle.importKey("raw", encoder.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["verify"]);
124
- const data = encoder.encode(`${headerB64}.${payloadB64}`);
125
- const valid = await crypto.subtle.verify("HMAC", key, signature, data);
126
- if (!valid)
127
- throw unauthorized("Invalid token signature");
128
- const leeway = options.leewaySeconds ?? 60;
129
- const now = Date.now() / 1000;
130
- if ("exp" in payload) {
131
- if (typeof payload.exp !== "number")
132
- throw unauthorized("Malformed token");
133
- if (payload.exp < now - leeway)
134
- throw unauthorized("Token expired");
135
- }
136
- if ("nbf" in payload) {
137
- if (typeof payload.nbf !== "number")
138
- throw unauthorized("Malformed token");
139
- if (payload.nbf > now + leeway)
140
- throw unauthorized("Token not yet valid");
141
- }
142
- if (options.issuer !== undefined && payload.iss !== options.issuer) {
143
- throw unauthorized("Token issuer mismatch");
144
- }
145
- if (options.audience !== undefined) {
146
- const aud = payload.aud;
147
- const ok = Array.isArray(aud) ? aud.includes(options.audience) : aud === options.audience;
148
- if (!ok)
149
- throw unauthorized("Token audience mismatch");
150
- }
151
- return payload;
152
- }
153
- async function signJwt(payload, secret, options = {}) {
154
- if (!secret)
155
- throw new Error("signJwt: a non-empty secret is required");
156
- const now = Math.floor(Date.now() / 1000);
157
- const claims = {
158
- ...payload,
159
- iat: now,
160
- ...options.expiresInSec !== undefined && { exp: now + options.expiresInSec },
161
- ...options.issuer !== undefined && { iss: options.issuer },
162
- ...options.audience !== undefined && { aud: options.audience },
163
- ...options.subject !== undefined && { sub: options.subject }
164
- };
165
- const encoder = new TextEncoder;
166
- const headerB64 = bytesToBase64Url(encoder.encode(JSON.stringify({ alg: "HS256", typ: "JWT" })));
167
- const payloadB64 = bytesToBase64Url(encoder.encode(JSON.stringify(claims)));
168
- const signingInput = `${headerB64}.${payloadB64}`;
169
- const key = await crypto.subtle.importKey("raw", encoder.encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
170
- const signature = await crypto.subtle.sign("HMAC", key, encoder.encode(signingInput));
171
- const signatureB64 = bytesToBase64Url(new Uint8Array(signature));
172
- return `${signingInput}.${signatureB64}`;
173
- }
174
- function extractToken(req, cookieName) {
175
- const authHeader = req.headers.get("authorization");
176
- if (authHeader?.startsWith("Bearer "))
177
- return authHeader.slice(7);
178
- if (cookieName) {
179
- const cookies = parseCookies(req.headers.get("cookie"));
180
- return cookies[cookieName] ?? null;
181
- }
182
- return null;
183
- }
184
- function isThenable(value) {
185
- try {
186
- return "then" in value && typeof value.then === "function";
187
- } catch {
188
- return false;
189
- }
190
- }
191
- var scopedAuthHookBrand = Symbol("stitchkit.scoped-auth-hook");
192
- var authOwnershipPlans = new WeakMap;
193
- function createShadowContext(ctx) {
194
- const shadow = {
195
- params: ctx.params,
196
- input: ctx.input,
197
- source: ctx.source
198
- };
199
- Object.defineProperties(shadow, Object.getOwnPropertyDescriptors(ctx));
200
- return shadow;
201
- }
202
- function createAuthHook(config) {
203
- const onAnonymous = config.onAnonymous ?? (() => unauthorized());
204
- const onForbidden = config.onForbidden ?? (() => forbidden());
205
- async function auth(ctx, endpoint) {
206
- const identity = ctx.source === "http" ? await config.resolve(ctx) : await config.resolveFromContext?.(ctx) ?? null;
207
- config.inject?.(ctx, identity);
208
- const scope = endpoint.scope ?? config.defaultScope;
209
- if (!scope)
210
- return;
211
- const entry = Object.hasOwn(config.rules, scope) ? config.rules[scope] : undefined;
212
- if (!entry) {
213
- throw new Error(`[stitchkit] auth: no rule for scope "${scope}"`);
214
- }
215
- const rule = typeof entry === "object" ? entry.rule : entry;
216
- if (typeof entry === "object" && entry.inject && identity !== null) {
217
- const fields = entry.inject(identity, ctx);
218
- if (typeof fields === "object" && fields !== null && isThenable(fields)) {
219
- throw new Error(`[stitchkit] auth: the inject of scope "${scope}" must be synchronous — an async inject merges a Promise, not fields`);
220
- }
221
- mergeContextContribution(ctx, fields, scope);
222
- }
223
- if (rule === "public")
224
- return;
225
- if (!identity) {
226
- onAnonymous();
227
- return;
228
- }
229
- if (rule === "authenticated")
230
- return;
231
- const result = await rule(identity, ctx);
232
- if (result === false) {
233
- onForbidden();
234
- return;
235
- }
236
- if (result === true)
237
- return;
238
- mergeContextContribution(ctx, result, scope);
239
- }
240
- auth[scopedAuthHookBrand] = () => {
241
- return;
242
- };
243
- authOwnershipPlans.set(auth, {
244
- defaultScope: config.defaultScope,
245
- hook: auth,
246
- scopes: new Set(Object.keys(config.rules))
247
- });
248
- return auth;
249
- }
250
- function composeAuthHooks(config) {
251
- const plans = [];
252
- for (const hook of config.hooks) {
253
- const plan = authOwnershipPlans.get(hook);
254
- if (!plan) {
255
- throw new TypeError("[stitchkit] auth: composeAuthHooks accepts only hooks created by createAuthHook or composeAuthHooks");
256
- }
257
- if (plan.defaultScope !== undefined && plan.defaultScope !== config.defaultScope) {
258
- throw new TypeError(`[stitchkit] auth: child default scope ${JSON.stringify(plan.defaultScope)} must match the composite default scope`);
259
- }
260
- plans.push(plan);
261
- }
262
- const defaultScope = config.defaultScope;
263
- if (defaultScope !== undefined && !plans.some((plan) => plan.scopes.has(defaultScope))) {
264
- throw new TypeError(`[stitchkit] auth: composite default scope ${JSON.stringify(defaultScope)} has no owner`);
265
- }
266
- const ownedScopes = new Set;
267
- for (const plan of plans) {
268
- for (const scope of plan.scopes)
269
- ownedScopes.add(scope);
270
- }
271
- async function composed(ctx, endpoint) {
272
- const scope = endpoint.scope ?? config.defaultScope;
273
- if (!scope)
274
- return;
275
- const owners = plans.filter((plan) => plan.scopes.has(scope));
276
- if (owners.length === 0) {
277
- throw new Error(`[stitchkit] auth: no rule for scope "${scope}"`);
278
- }
279
- const scopedEndpoint = { ...endpoint, scope };
280
- const contribution = Object.create(null);
281
- const contributionOwners = new Set;
282
- for (const owner of owners) {
283
- ctx.signal?.throwIfAborted();
284
- const shadow = createShadowContext(ctx);
285
- await owner.hook(shadow, scopedEndpoint);
286
- const ownerContribution = prepareContextContribution(contextContributionDelta(ctx, shadow, scope), scope);
287
- for (const key of Object.keys(ownerContribution)) {
288
- if (contributionOwners.has(key)) {
289
- throw new TypeError(`[stitchkit] auth: multiple owners contributed context key ${JSON.stringify(key)} for scope ${JSON.stringify(scope)}`);
290
- }
291
- contributionOwners.add(key);
292
- }
293
- Object.assign(contribution, ownerContribution);
294
- }
295
- ctx.signal?.throwIfAborted();
296
- mergeContextContribution(ctx, contribution, scope);
297
- }
298
- composed[scopedAuthHookBrand] = () => {
299
- return;
300
- };
301
- authOwnershipPlans.set(composed, {
302
- defaultScope: config.defaultScope,
303
- hook: composed,
304
- scopes: ownedScopes
305
- });
306
- return composed;
307
- }
308
- function createBearerResolver(config) {
309
- return async (req) => {
310
- const token = extractToken(req);
311
- if (!token)
312
- return null;
313
- return config.lookup(token, req);
314
- };
315
- }
316
-
317
- // src/server/middleware/pkce.ts
318
- async function verifyPkce(verifier, challenge) {
319
- if (!verifier || !challenge)
320
- return false;
321
- const derived = await deriveCodeChallenge(verifier);
322
- return derived === challenge;
323
- }
324
-
325
- export { parseCookieHeader, parseCookies, serializeCookie, defineCookie, verifyJwt, signJwt, extractToken, createAuthHook, composeAuthHooks, createBearerResolver, verifyPkce };