experimental-ash 0.2.0-alpha.2 → 0.2.0-alpha.21

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 (585) hide show
  1. package/dist/src/channel/http-channel.d.ts +26 -0
  2. package/dist/src/channel/http-channel.d.ts.map +1 -0
  3. package/dist/src/channel/http-channel.js +24 -0
  4. package/dist/src/channel/http-channel.js.map +1 -0
  5. package/dist/src/channel/resolve-text.d.ts +20 -0
  6. package/dist/src/channel/resolve-text.d.ts.map +1 -0
  7. package/dist/src/channel/resolve-text.js +60 -0
  8. package/dist/src/channel/resolve-text.js.map +1 -0
  9. package/dist/src/channel/schedule-channel.d.ts +16 -0
  10. package/dist/src/channel/schedule-channel.d.ts.map +1 -0
  11. package/dist/src/channel/schedule-channel.js +20 -0
  12. package/dist/src/channel/schedule-channel.js.map +1 -0
  13. package/dist/src/channel/schedule.d.ts +4 -6
  14. package/dist/src/channel/schedule.d.ts.map +1 -1
  15. package/dist/src/channel/schedule.js +6 -9
  16. package/dist/src/channel/schedule.js.map +1 -1
  17. package/dist/src/channel/slack-channel.d.ts +125 -0
  18. package/dist/src/channel/slack-channel.d.ts.map +1 -0
  19. package/dist/src/channel/slack-channel.js +320 -0
  20. package/dist/src/channel/slack-channel.js.map +1 -0
  21. package/dist/src/channel/subagent-channel.d.ts +41 -0
  22. package/dist/src/channel/subagent-channel.d.ts.map +1 -0
  23. package/dist/src/channel/{subagent-emitter.js → subagent-channel.js} +15 -19
  24. package/dist/src/channel/subagent-channel.js.map +1 -0
  25. package/dist/src/channel/types.d.ts +157 -90
  26. package/dist/src/channel/types.d.ts.map +1 -1
  27. package/dist/src/channel/types.js +64 -1
  28. package/dist/src/channel/types.js.map +1 -1
  29. package/dist/src/cli/dev/input-requests.d.ts +4 -4
  30. package/dist/src/cli/dev/input-requests.d.ts.map +1 -1
  31. package/dist/src/cli/dev/input-requests.js +34 -65
  32. package/dist/src/cli/dev/input-requests.js.map +1 -1
  33. package/dist/src/cli/dev/repl.d.ts.map +1 -1
  34. package/dist/src/cli/dev/repl.js +41 -24
  35. package/dist/src/cli/dev/repl.js.map +1 -1
  36. package/dist/src/client/index.d.ts +3 -2
  37. package/dist/src/client/index.d.ts.map +1 -1
  38. package/dist/src/client/index.js +1 -0
  39. package/dist/src/client/index.js.map +1 -1
  40. package/dist/src/client/message-response.d.ts +5 -5
  41. package/dist/src/client/message-response.d.ts.map +1 -1
  42. package/dist/src/client/message-response.js +6 -6
  43. package/dist/src/client/message-response.js.map +1 -1
  44. package/dist/src/client/open-stream.d.ts +1 -1
  45. package/dist/src/client/open-stream.d.ts.map +1 -1
  46. package/dist/src/client/open-stream.js +1 -1
  47. package/dist/src/client/open-stream.js.map +1 -1
  48. package/dist/src/client/session-utils.d.ts +3 -3
  49. package/dist/src/client/session-utils.d.ts.map +1 -1
  50. package/dist/src/client/session-utils.js +4 -4
  51. package/dist/src/client/session-utils.js.map +1 -1
  52. package/dist/src/client/session.d.ts +5 -5
  53. package/dist/src/client/session.js +28 -28
  54. package/dist/src/client/session.js.map +1 -1
  55. package/dist/src/client/types.d.ts +8 -8
  56. package/dist/src/client/types.d.ts.map +1 -1
  57. package/dist/src/compiler/channel-url.d.ts +1 -1
  58. package/dist/src/compiler/channel-url.js +1 -1
  59. package/dist/src/compiler/manifest.d.ts +38 -5
  60. package/dist/src/compiler/manifest.d.ts.map +1 -1
  61. package/dist/src/compiler/manifest.js +15 -1
  62. package/dist/src/compiler/manifest.js.map +1 -1
  63. package/dist/src/compiler/module-map.js +8 -0
  64. package/dist/src/compiler/module-map.js.map +1 -1
  65. package/dist/src/compiler/normalize-channel.d.ts +1 -1
  66. package/dist/src/compiler/normalize-channel.js +3 -3
  67. package/dist/src/compiler/normalize-channel.js.map +1 -1
  68. package/dist/src/compiler/normalize-connection.d.ts +14 -0
  69. package/dist/src/compiler/normalize-connection.d.ts.map +1 -0
  70. package/dist/src/compiler/normalize-connection.js +29 -0
  71. package/dist/src/compiler/normalize-connection.js.map +1 -0
  72. package/dist/src/compiler/normalize-manifest.d.ts.map +1 -1
  73. package/dist/src/compiler/normalize-manifest.js +2 -0
  74. package/dist/src/compiler/normalize-manifest.js.map +1 -1
  75. package/dist/src/context/accessors.d.ts +13 -12
  76. package/dist/src/context/accessors.d.ts.map +1 -1
  77. package/dist/src/context/accessors.js +16 -17
  78. package/dist/src/context/accessors.js.map +1 -1
  79. package/dist/src/context/container.d.ts +17 -19
  80. package/dist/src/context/container.d.ts.map +1 -1
  81. package/dist/src/context/container.js +21 -14
  82. package/dist/src/context/container.js.map +1 -1
  83. package/dist/src/context/durable-context.d.ts +18 -0
  84. package/dist/src/context/durable-context.d.ts.map +1 -0
  85. package/dist/src/context/durable-context.js +49 -0
  86. package/dist/src/context/durable-context.js.map +1 -0
  87. package/dist/src/context/key.d.ts +43 -83
  88. package/dist/src/context/key.d.ts.map +1 -1
  89. package/dist/src/context/key.js +58 -80
  90. package/dist/src/context/key.js.map +1 -1
  91. package/dist/src/context/keys.d.ts +8 -20
  92. package/dist/src/context/keys.d.ts.map +1 -1
  93. package/dist/src/context/keys.js +20 -34
  94. package/dist/src/context/keys.js.map +1 -1
  95. package/dist/src/context/provider.d.ts +2 -2
  96. package/dist/src/context/provider.d.ts.map +1 -1
  97. package/dist/src/context/providers/connection.d.ts +4 -0
  98. package/dist/src/context/providers/connection.d.ts.map +1 -0
  99. package/dist/src/context/providers/connection.js +18 -0
  100. package/dist/src/context/providers/connection.js.map +1 -0
  101. package/dist/src/context/providers/session.d.ts.map +1 -1
  102. package/dist/src/context/providers/session.js +1 -2
  103. package/dist/src/context/providers/session.js.map +1 -1
  104. package/dist/src/context/providers/skill.d.ts.map +1 -1
  105. package/dist/src/context/providers/skill.js +2 -15
  106. package/dist/src/context/providers/skill.js.map +1 -1
  107. package/dist/src/context/run-step.d.ts +6 -8
  108. package/dist/src/context/run-step.d.ts.map +1 -1
  109. package/dist/src/context/run-step.js +15 -17
  110. package/dist/src/context/run-step.js.map +1 -1
  111. package/dist/src/context/seed-keys.d.ts +21 -0
  112. package/dist/src/context/seed-keys.d.ts.map +1 -0
  113. package/dist/src/context/seed-keys.js +31 -0
  114. package/dist/src/context/seed-keys.js.map +1 -0
  115. package/dist/src/context/serialize.d.ts +8 -9
  116. package/dist/src/context/serialize.d.ts.map +1 -1
  117. package/dist/src/context/serialize.js +38 -15
  118. package/dist/src/context/serialize.js.map +1 -1
  119. package/dist/src/discover/connections.d.ts +48 -0
  120. package/dist/src/discover/connections.d.ts.map +1 -0
  121. package/dist/src/discover/connections.js +169 -0
  122. package/dist/src/discover/connections.js.map +1 -0
  123. package/dist/src/discover/discover-agent.d.ts +1 -0
  124. package/dist/src/discover/discover-agent.d.ts.map +1 -1
  125. package/dist/src/discover/discover-agent.js +8 -0
  126. package/dist/src/discover/discover-agent.js.map +1 -1
  127. package/dist/src/discover/discover-subagent.js +7 -0
  128. package/dist/src/discover/discover-subagent.js.map +1 -1
  129. package/dist/src/discover/filesystem.d.ts +3 -3
  130. package/dist/src/discover/filesystem.d.ts.map +1 -1
  131. package/dist/src/discover/filesystem.js +7 -0
  132. package/dist/src/discover/filesystem.js.map +1 -1
  133. package/dist/src/discover/grammar.d.ts +20 -4
  134. package/dist/src/discover/grammar.d.ts.map +1 -1
  135. package/dist/src/discover/grammar.js +31 -5
  136. package/dist/src/discover/grammar.js.map +1 -1
  137. package/dist/src/discover/manifest.d.ts +28 -1
  138. package/dist/src/discover/manifest.d.ts.map +1 -1
  139. package/dist/src/discover/manifest.js +11 -1
  140. package/dist/src/discover/manifest.js.map +1 -1
  141. package/dist/src/evals/runner/artifacts.js +1 -1
  142. package/dist/src/evals/runner/artifacts.js.map +1 -1
  143. package/dist/src/evals/runner/derive-run-facts.js +5 -5
  144. package/dist/src/evals/runner/derive-run-facts.js.map +1 -1
  145. package/dist/src/evals/runner/execute-case.js +4 -4
  146. package/dist/src/evals/runner/execute-case.js.map +1 -1
  147. package/dist/src/evals/runner/execute-suite.js +1 -1
  148. package/dist/src/evals/runner/execute-suite.js.map +1 -1
  149. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  150. package/dist/src/evals/runner/reporters/braintrust.js.map +1 -1
  151. package/dist/src/evals/types.d.ts +4 -4
  152. package/dist/src/evals/types.d.ts.map +1 -1
  153. package/dist/src/execution/continuous-entry.d.ts +18 -9
  154. package/dist/src/execution/continuous-entry.d.ts.map +1 -1
  155. package/dist/src/execution/continuous-entry.js +62 -18
  156. package/dist/src/execution/continuous-entry.js.map +1 -1
  157. package/dist/src/execution/continuous-runtime.d.ts +1 -1
  158. package/dist/src/execution/continuous-runtime.d.ts.map +1 -1
  159. package/dist/src/execution/continuous-runtime.js +14 -10
  160. package/dist/src/execution/continuous-runtime.js.map +1 -1
  161. package/dist/src/execution/node-step.d.ts +1 -2
  162. package/dist/src/execution/node-step.d.ts.map +1 -1
  163. package/dist/src/execution/node-step.js +42 -55
  164. package/dist/src/execution/node-step.js.map +1 -1
  165. package/dist/src/execution/runtime-context.d.ts +3 -0
  166. package/dist/src/execution/runtime-context.d.ts.map +1 -1
  167. package/dist/src/execution/runtime-context.js +6 -4
  168. package/dist/src/execution/runtime-context.js.map +1 -1
  169. package/dist/src/execution/session.d.ts +2 -1
  170. package/dist/src/execution/session.d.ts.map +1 -1
  171. package/dist/src/execution/session.js +1 -0
  172. package/dist/src/execution/session.js.map +1 -1
  173. package/dist/src/execution/skills/access.d.ts.map +1 -1
  174. package/dist/src/execution/skills/instructions.d.ts +6 -6
  175. package/dist/src/execution/skills/instructions.d.ts.map +1 -1
  176. package/dist/src/execution/skills/instructions.js +15 -15
  177. package/dist/src/execution/skills/instructions.js.map +1 -1
  178. package/dist/src/execution/skills/types.d.ts +4 -4
  179. package/dist/src/execution/skills/types.d.ts.map +1 -1
  180. package/dist/src/execution/step-context.d.ts +27 -0
  181. package/dist/src/execution/step-context.d.ts.map +1 -0
  182. package/dist/src/execution/step-context.js +54 -0
  183. package/dist/src/execution/step-context.js.map +1 -0
  184. package/dist/src/execution/subagent-tool.d.ts +1 -1
  185. package/dist/src/execution/subagent-tool.d.ts.map +1 -1
  186. package/dist/src/execution/subagent-tool.js +3 -4
  187. package/dist/src/execution/subagent-tool.js.map +1 -1
  188. package/dist/src/execution/tool-compaction.d.ts +1 -3
  189. package/dist/src/execution/tool-compaction.d.ts.map +1 -1
  190. package/dist/src/execution/tool-compaction.js +6 -20
  191. package/dist/src/execution/tool-compaction.js.map +1 -1
  192. package/dist/src/execution/types.d.ts +1 -1
  193. package/dist/src/execution/types.d.ts.map +1 -1
  194. package/dist/src/execution/workflow-entry.d.ts +4 -5
  195. package/dist/src/execution/workflow-entry.d.ts.map +1 -1
  196. package/dist/src/execution/workflow-entry.js +7 -2
  197. package/dist/src/execution/workflow-entry.js.map +1 -1
  198. package/dist/src/execution/workflow-runtime.d.ts.map +1 -1
  199. package/dist/src/execution/workflow-runtime.js +10 -5
  200. package/dist/src/execution/workflow-runtime.js.map +1 -1
  201. package/dist/src/execution/workflow-steps.d.ts +13 -6
  202. package/dist/src/execution/workflow-steps.d.ts.map +1 -1
  203. package/dist/src/execution/workflow-steps.js +24 -19
  204. package/dist/src/execution/workflow-steps.js.map +1 -1
  205. package/dist/src/harness/emission.d.ts +36 -27
  206. package/dist/src/harness/emission.d.ts.map +1 -1
  207. package/dist/src/harness/emission.js +130 -84
  208. package/dist/src/harness/emission.js.map +1 -1
  209. package/dist/src/harness/execute-tool.d.ts +52 -0
  210. package/dist/src/harness/execute-tool.d.ts.map +1 -0
  211. package/dist/src/harness/execute-tool.js +59 -0
  212. package/dist/src/harness/execute-tool.js.map +1 -0
  213. package/dist/src/harness/input-extraction.d.ts +3 -3
  214. package/dist/src/harness/input-extraction.d.ts.map +1 -1
  215. package/dist/src/harness/input-extraction.js +15 -8
  216. package/dist/src/harness/input-extraction.js.map +1 -1
  217. package/dist/src/harness/input-requests.d.ts +46 -40
  218. package/dist/src/harness/input-requests.d.ts.map +1 -1
  219. package/dist/src/harness/input-requests.js +169 -245
  220. package/dist/src/harness/input-requests.js.map +1 -1
  221. package/dist/src/harness/messages.d.ts +10 -9
  222. package/dist/src/harness/messages.d.ts.map +1 -1
  223. package/dist/src/harness/messages.js +23 -20
  224. package/dist/src/harness/messages.js.map +1 -1
  225. package/dist/src/harness/provider-tools.d.ts +2 -2
  226. package/dist/src/harness/provider-tools.d.ts.map +1 -1
  227. package/dist/src/harness/provider-tools.js +7 -3
  228. package/dist/src/harness/provider-tools.js.map +1 -1
  229. package/dist/src/harness/step-hooks.d.ts +77 -0
  230. package/dist/src/harness/step-hooks.d.ts.map +1 -0
  231. package/dist/src/harness/step-hooks.js +192 -0
  232. package/dist/src/harness/step-hooks.js.map +1 -0
  233. package/dist/src/harness/tool-loop.d.ts +4 -2
  234. package/dist/src/harness/tool-loop.d.ts.map +1 -1
  235. package/dist/src/harness/tool-loop.js +130 -181
  236. package/dist/src/harness/tool-loop.js.map +1 -1
  237. package/dist/src/harness/tools.d.ts +12 -16
  238. package/dist/src/harness/tools.d.ts.map +1 -1
  239. package/dist/src/harness/tools.js +39 -33
  240. package/dist/src/harness/tools.js.map +1 -1
  241. package/dist/src/harness/types.d.ts +44 -28
  242. package/dist/src/harness/types.d.ts.map +1 -1
  243. package/dist/src/harness/types.js +6 -1
  244. package/dist/src/harness/types.js.map +1 -1
  245. package/dist/src/internal/application/compiled-artifacts.d.ts +5 -3
  246. package/dist/src/internal/application/compiled-artifacts.d.ts.map +1 -1
  247. package/dist/src/internal/application/compiled-artifacts.js +19 -40
  248. package/dist/src/internal/application/compiled-artifacts.js.map +1 -1
  249. package/dist/src/internal/application/package.js +1 -1
  250. package/dist/src/internal/authored-definition/channel.d.ts +3 -3
  251. package/dist/src/internal/authored-definition/channel.d.ts.map +1 -1
  252. package/dist/src/internal/authored-definition/channel.js +28 -4
  253. package/dist/src/internal/authored-definition/channel.js.map +1 -1
  254. package/dist/src/internal/authored-definition/connection.d.ts +10 -0
  255. package/dist/src/internal/authored-definition/connection.d.ts.map +1 -0
  256. package/dist/src/internal/authored-definition/connection.js +134 -0
  257. package/dist/src/internal/authored-definition/connection.js.map +1 -0
  258. package/dist/src/internal/authored-module.js +1 -1
  259. package/dist/src/internal/authored-module.js.map +1 -1
  260. package/dist/src/internal/message/builder.d.ts +1 -2
  261. package/dist/src/internal/message/builder.d.ts.map +1 -1
  262. package/dist/src/internal/message/builder.js +4 -12
  263. package/dist/src/internal/message/builder.js.map +1 -1
  264. package/dist/src/internal/nitro/host/configure-message-routes.d.ts +3 -1
  265. package/dist/src/internal/nitro/host/configure-message-routes.d.ts.map +1 -1
  266. package/dist/src/internal/nitro/host/configure-message-routes.js +124 -25
  267. package/dist/src/internal/nitro/host/configure-message-routes.js.map +1 -1
  268. package/dist/src/internal/nitro/host/create-application-nitro.d.ts.map +1 -1
  269. package/dist/src/internal/nitro/host/create-application-nitro.js +63 -21
  270. package/dist/src/internal/nitro/host/create-application-nitro.js.map +1 -1
  271. package/dist/src/internal/nitro/host/load-home-page-web-assets.d.ts +13 -0
  272. package/dist/src/internal/nitro/host/load-home-page-web-assets.d.ts.map +1 -0
  273. package/dist/src/internal/nitro/host/load-home-page-web-assets.js +35 -0
  274. package/dist/src/internal/nitro/host/load-home-page-web-assets.js.map +1 -0
  275. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  276. package/dist/src/internal/nitro/host/prepare-application-host.js.map +1 -1
  277. package/dist/src/internal/nitro/routes/channel-dispatch.d.ts +10 -18
  278. package/dist/src/internal/nitro/routes/channel-dispatch.d.ts.map +1 -1
  279. package/dist/src/internal/nitro/routes/channel-dispatch.js +16 -45
  280. package/dist/src/internal/nitro/routes/channel-dispatch.js.map +1 -1
  281. package/dist/src/internal/nitro/routes/home-page/build-home-page-response.d.ts +88 -0
  282. package/dist/src/internal/nitro/routes/home-page/build-home-page-response.d.ts.map +1 -0
  283. package/dist/src/internal/nitro/routes/home-page/build-home-page-response.js +175 -0
  284. package/dist/src/internal/nitro/routes/home-page/build-home-page-response.js.map +1 -0
  285. package/dist/src/internal/nitro/routes/home.d.ts +7 -0
  286. package/dist/src/internal/nitro/routes/home.d.ts.map +1 -0
  287. package/dist/src/internal/nitro/routes/home.js +22 -0
  288. package/dist/src/internal/nitro/routes/home.js.map +1 -0
  289. package/dist/src/internal/nitro/routes/index.d.ts +3 -8
  290. package/dist/src/internal/nitro/routes/index.d.ts.map +1 -1
  291. package/dist/src/internal/nitro/routes/index.js +18 -36
  292. package/dist/src/internal/nitro/routes/index.js.map +1 -1
  293. package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts +10 -3
  294. package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts.map +1 -1
  295. package/dist/src/internal/nitro/routes/runtime-artifacts.js +2 -9
  296. package/dist/src/internal/nitro/routes/runtime-artifacts.js.map +1 -1
  297. package/dist/src/internal/nitro/routes/runtime-stack.d.ts +8 -7
  298. package/dist/src/internal/nitro/routes/runtime-stack.d.ts.map +1 -1
  299. package/dist/src/internal/nitro/routes/runtime-stack.js +10 -10
  300. package/dist/src/internal/nitro/routes/runtime-stack.js.map +1 -1
  301. package/dist/src/internal/nitro/routes/schedule-task.d.ts +7 -7
  302. package/dist/src/internal/nitro/routes/schedule-task.d.ts.map +1 -1
  303. package/dist/src/internal/nitro/routes/schedule-task.js +22 -30
  304. package/dist/src/internal/nitro/routes/schedule-task.js.map +1 -1
  305. package/dist/src/internal/nitro/routes/web-ui/assets/index.js +10 -0
  306. package/dist/src/internal/nitro/routes/web-ui/assets/style.css +2 -0
  307. package/dist/src/internal/nitro/routes/web-ui/index.html +17 -0
  308. package/dist/src/internal/nitro/routes/workflow-data.d.ts +32 -0
  309. package/dist/src/internal/nitro/routes/workflow-data.d.ts.map +1 -0
  310. package/dist/src/internal/nitro/routes/workflow-data.js +142 -0
  311. package/dist/src/internal/nitro/routes/workflow-data.js.map +1 -0
  312. package/dist/src/internal/nitro/routes/workflow-route-helpers.d.ts +46 -0
  313. package/dist/src/internal/nitro/routes/workflow-route-helpers.d.ts.map +1 -0
  314. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +137 -0
  315. package/dist/src/internal/nitro/routes/workflow-route-helpers.js.map +1 -0
  316. package/dist/src/internal/nitro/routes/workflow-run-events.d.ts +14 -0
  317. package/dist/src/internal/nitro/routes/workflow-run-events.d.ts.map +1 -0
  318. package/dist/src/internal/nitro/routes/workflow-run-events.js +42 -0
  319. package/dist/src/internal/nitro/routes/workflow-run-events.js.map +1 -0
  320. package/dist/src/internal/nitro/routes/workflow-run-steps.d.ts +14 -0
  321. package/dist/src/internal/nitro/routes/workflow-run-steps.d.ts.map +1 -0
  322. package/dist/src/internal/nitro/routes/workflow-run-steps.js +42 -0
  323. package/dist/src/internal/nitro/routes/workflow-run-steps.js.map +1 -0
  324. package/dist/src/internal/nitro/routes/workflow-run.d.ts +13 -0
  325. package/dist/src/internal/nitro/routes/workflow-run.d.ts.map +1 -0
  326. package/dist/src/internal/nitro/routes/workflow-run.js +35 -0
  327. package/dist/src/internal/nitro/routes/workflow-run.js.map +1 -0
  328. package/dist/src/internal/nitro/routes/workflow-runs.d.ts +11 -0
  329. package/dist/src/internal/nitro/routes/workflow-runs.d.ts.map +1 -0
  330. package/dist/src/internal/nitro/routes/workflow-runs.js +29 -0
  331. package/dist/src/internal/nitro/routes/workflow-runs.js.map +1 -0
  332. package/dist/src/protocol/message.d.ts +160 -76
  333. package/dist/src/protocol/message.d.ts.map +1 -1
  334. package/dist/src/protocol/message.js +92 -36
  335. package/dist/src/protocol/message.js.map +1 -1
  336. package/dist/src/protocol/routes.d.ts +11 -3
  337. package/dist/src/protocol/routes.d.ts.map +1 -1
  338. package/dist/src/protocol/routes.js +12 -4
  339. package/dist/src/protocol/routes.js.map +1 -1
  340. package/dist/src/public/channels/auth.d.ts +32 -81
  341. package/dist/src/public/channels/auth.d.ts.map +1 -1
  342. package/dist/src/public/channels/auth.js +23 -86
  343. package/dist/src/public/channels/auth.js.map +1 -1
  344. package/dist/src/public/channels/http.d.ts +66 -26
  345. package/dist/src/public/channels/http.d.ts.map +1 -1
  346. package/dist/src/public/channels/http.js +88 -78
  347. package/dist/src/public/channels/http.js.map +1 -1
  348. package/dist/src/public/channels/index.d.ts +9 -10
  349. package/dist/src/public/channels/index.d.ts.map +1 -1
  350. package/dist/src/public/channels/index.js +9 -9
  351. package/dist/src/public/channels/index.js.map +1 -1
  352. package/dist/src/public/channels/slack/index.d.ts +104 -37
  353. package/dist/src/public/channels/slack/index.d.ts.map +1 -1
  354. package/dist/src/public/channels/slack/index.js +168 -47
  355. package/dist/src/public/channels/slack/index.js.map +1 -1
  356. package/dist/src/public/channels/slack/lowlevel.d.ts +5 -5
  357. package/dist/src/public/channels/slack/lowlevel.d.ts.map +1 -1
  358. package/dist/src/public/channels/slack/lowlevel.js +4 -4
  359. package/dist/src/public/channels/slack/lowlevel.js.map +1 -1
  360. package/dist/src/public/connections/index.d.ts +25 -0
  361. package/dist/src/public/connections/index.d.ts.map +1 -0
  362. package/dist/src/public/connections/index.js +24 -0
  363. package/dist/src/public/connections/index.js.map +1 -0
  364. package/dist/src/public/definitions/channel.d.ts +89 -60
  365. package/dist/src/public/definitions/channel.d.ts.map +1 -1
  366. package/dist/src/public/definitions/channel.js +42 -24
  367. package/dist/src/public/definitions/channel.js.map +1 -1
  368. package/dist/src/public/definitions/connections/mcp.d.ts +60 -0
  369. package/dist/src/public/definitions/connections/mcp.d.ts.map +1 -0
  370. package/dist/src/public/definitions/connections/mcp.js +7 -0
  371. package/dist/src/public/definitions/connections/mcp.js.map +1 -0
  372. package/dist/src/public/definitions/tool.d.ts +14 -7
  373. package/dist/src/public/definitions/tool.d.ts.map +1 -1
  374. package/dist/src/public/definitions/tool.js.map +1 -1
  375. package/dist/src/public/index.d.ts +10 -9
  376. package/dist/src/public/index.d.ts.map +1 -1
  377. package/dist/src/public/index.js +7 -6
  378. package/dist/src/public/index.js.map +1 -1
  379. package/dist/src/public/sandboxes/internal.d.ts +1 -1
  380. package/dist/src/public/sandboxes/internal.js +1 -1
  381. package/dist/src/public/tools/defaults.d.ts +6 -6
  382. package/dist/src/public/tools/defaults.d.ts.map +1 -1
  383. package/dist/src/public/tools/defaults.js +6 -6
  384. package/dist/src/public/tools/defaults.js.map +1 -1
  385. package/dist/src/public/tools/internal.d.ts +1 -1
  386. package/dist/src/public/tools/internal.js +1 -1
  387. package/dist/src/runtime/actions/types.d.ts +21 -18
  388. package/dist/src/runtime/actions/types.d.ts.map +1 -1
  389. package/dist/src/runtime/actions/types.js +22 -19
  390. package/dist/src/runtime/actions/types.js.map +1 -1
  391. package/dist/src/runtime/agent/bootstrap-model-utils.d.ts +37 -0
  392. package/dist/src/runtime/agent/bootstrap-model-utils.d.ts.map +1 -0
  393. package/dist/src/runtime/agent/bootstrap-model-utils.js +149 -0
  394. package/dist/src/runtime/agent/bootstrap-model-utils.js.map +1 -0
  395. package/dist/src/runtime/agent/bootstrap-model.d.ts.map +1 -1
  396. package/dist/src/runtime/agent/bootstrap-model.js +11 -80
  397. package/dist/src/runtime/agent/bootstrap-model.js.map +1 -1
  398. package/dist/src/runtime/agent/bootstrap.d.ts.map +1 -1
  399. package/dist/src/runtime/agent/bootstrap.js +4 -1
  400. package/dist/src/runtime/agent/bootstrap.js.map +1 -1
  401. package/dist/src/runtime/agent/mock-model-adapter.d.ts.map +1 -1
  402. package/dist/src/runtime/agent/mock-model-adapter.js +72 -134
  403. package/dist/src/runtime/agent/mock-model-adapter.js.map +1 -1
  404. package/dist/src/runtime/channels/registry.d.ts +21 -0
  405. package/dist/src/runtime/channels/registry.d.ts.map +1 -0
  406. package/dist/src/runtime/channels/registry.js +65 -0
  407. package/dist/src/runtime/channels/registry.js.map +1 -0
  408. package/dist/src/runtime/connections/mcp-client.d.ts +48 -0
  409. package/dist/src/runtime/connections/mcp-client.d.ts.map +1 -0
  410. package/dist/src/runtime/connections/mcp-client.js +182 -0
  411. package/dist/src/runtime/connections/mcp-client.js.map +1 -0
  412. package/dist/src/runtime/connections/registry.d.ts +33 -0
  413. package/dist/src/runtime/connections/registry.d.ts.map +1 -0
  414. package/dist/src/runtime/connections/registry.js +54 -0
  415. package/dist/src/runtime/connections/registry.js.map +1 -0
  416. package/dist/src/runtime/connections/types.d.ts +75 -0
  417. package/dist/src/runtime/connections/types.d.ts.map +1 -0
  418. package/dist/src/runtime/connections/types.js +9 -0
  419. package/dist/src/runtime/connections/types.js.map +1 -0
  420. package/dist/src/runtime/framework-channels/index.d.ts +6 -6
  421. package/dist/src/runtime/framework-channels/index.d.ts.map +1 -1
  422. package/dist/src/runtime/framework-channels/index.js +16 -14
  423. package/dist/src/runtime/framework-channels/index.js.map +1 -1
  424. package/dist/src/runtime/framework-tools/ask-question.js +4 -4
  425. package/dist/src/runtime/framework-tools/ask-question.js.map +1 -1
  426. package/dist/src/runtime/framework-tools/connection-execute.d.ts +10 -0
  427. package/dist/src/runtime/framework-tools/connection-execute.d.ts.map +1 -0
  428. package/dist/src/runtime/framework-tools/connection-execute.js +50 -0
  429. package/dist/src/runtime/framework-tools/connection-execute.js.map +1 -0
  430. package/dist/src/runtime/framework-tools/connection-search.d.ts +43 -0
  431. package/dist/src/runtime/framework-tools/connection-search.d.ts.map +1 -0
  432. package/dist/src/runtime/framework-tools/connection-search.js +135 -0
  433. package/dist/src/runtime/framework-tools/connection-search.js.map +1 -0
  434. package/dist/src/runtime/framework-tools/file-state.d.ts +5 -5
  435. package/dist/src/runtime/framework-tools/file-state.d.ts.map +1 -1
  436. package/dist/src/runtime/framework-tools/file-state.js +6 -8
  437. package/dist/src/runtime/framework-tools/file-state.js.map +1 -1
  438. package/dist/src/runtime/framework-tools/index.d.ts +3 -1
  439. package/dist/src/runtime/framework-tools/index.d.ts.map +1 -1
  440. package/dist/src/runtime/framework-tools/index.js +10 -1
  441. package/dist/src/runtime/framework-tools/index.js.map +1 -1
  442. package/dist/src/runtime/framework-tools/skill.d.ts +4 -4
  443. package/dist/src/runtime/framework-tools/skill.d.ts.map +1 -1
  444. package/dist/src/runtime/framework-tools/skill.js +14 -11
  445. package/dist/src/runtime/framework-tools/skill.js.map +1 -1
  446. package/dist/src/runtime/framework-tools/todo.d.ts.map +1 -1
  447. package/dist/src/runtime/framework-tools/todo.js +2 -4
  448. package/dist/src/runtime/framework-tools/todo.js.map +1 -1
  449. package/dist/src/runtime/input/types.d.ts +40 -115
  450. package/dist/src/runtime/input/types.d.ts.map +1 -1
  451. package/dist/src/runtime/input/types.js +28 -66
  452. package/dist/src/runtime/input/types.js.map +1 -1
  453. package/dist/src/runtime/loaders/module-map.js +8 -0
  454. package/dist/src/runtime/loaders/module-map.js.map +1 -1
  455. package/dist/src/runtime/prompt/compose.d.ts +4 -1
  456. package/dist/src/runtime/prompt/compose.d.ts.map +1 -1
  457. package/dist/src/runtime/prompt/compose.js +18 -1
  458. package/dist/src/runtime/prompt/compose.js.map +1 -1
  459. package/dist/src/runtime/prompt/connections.d.ts +10 -0
  460. package/dist/src/runtime/prompt/connections.d.ts.map +1 -0
  461. package/dist/src/runtime/prompt/connections.js +25 -0
  462. package/dist/src/runtime/prompt/connections.js.map +1 -0
  463. package/dist/src/runtime/resolve-agent-graph.d.ts.map +1 -1
  464. package/dist/src/runtime/resolve-agent-graph.js +29 -7
  465. package/dist/src/runtime/resolve-agent-graph.js.map +1 -1
  466. package/dist/src/runtime/resolve-agent.d.ts.map +1 -1
  467. package/dist/src/runtime/resolve-agent.js +3 -0
  468. package/dist/src/runtime/resolve-agent.js.map +1 -1
  469. package/dist/src/runtime/resolve-channel.d.ts.map +1 -1
  470. package/dist/src/runtime/resolve-channel.js +1 -0
  471. package/dist/src/runtime/resolve-channel.js.map +1 -1
  472. package/dist/src/runtime/resolve-connection.d.ts +16 -0
  473. package/dist/src/runtime/resolve-connection.d.ts.map +1 -0
  474. package/dist/src/runtime/resolve-connection.js +69 -0
  475. package/dist/src/runtime/resolve-connection.js.map +1 -0
  476. package/dist/src/runtime/resolve-tool.d.ts.map +1 -1
  477. package/dist/src/runtime/resolve-tool.js +8 -0
  478. package/dist/src/runtime/resolve-tool.js.map +1 -1
  479. package/dist/src/runtime/sessions/auth.d.ts +1 -1
  480. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +2 -0
  481. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts.map +1 -1
  482. package/dist/src/runtime/sessions/compiled-agent-cache.js +14 -0
  483. package/dist/src/runtime/sessions/compiled-agent-cache.js.map +1 -1
  484. package/dist/src/runtime/skills/fragment-context.d.ts +2 -2
  485. package/dist/src/runtime/skills/fragment-context.d.ts.map +1 -1
  486. package/dist/src/runtime/skills/fragment-context.js +2 -2
  487. package/dist/src/runtime/skills/fragment-context.js.map +1 -1
  488. package/dist/src/runtime/standard-schema.d.ts +28 -0
  489. package/dist/src/runtime/standard-schema.d.ts.map +1 -0
  490. package/dist/src/runtime/standard-schema.js +65 -0
  491. package/dist/src/runtime/standard-schema.js.map +1 -0
  492. package/dist/src/runtime/types.d.ts +29 -3
  493. package/dist/src/runtime/types.d.ts.map +1 -1
  494. package/dist/src/services/dev-client/send-message.d.ts +2 -2
  495. package/dist/src/services/dev-client/send-message.d.ts.map +1 -1
  496. package/dist/src/services/dev-client/send-message.js +21 -22
  497. package/dist/src/services/dev-client/send-message.js.map +1 -1
  498. package/dist/src/services/dev-client/session.d.ts +5 -5
  499. package/dist/src/services/dev-client/session.d.ts.map +1 -1
  500. package/dist/src/services/dev-client/session.js +2 -2
  501. package/dist/src/services/dev-client/session.js.map +1 -1
  502. package/dist/src/services/dev-client.d.ts +6 -6
  503. package/dist/src/services/dev-client.d.ts.map +1 -1
  504. package/dist/src/services/dev-client.js +3 -3
  505. package/dist/src/services/dev-client.js.map +1 -1
  506. package/docs/external-agent-protocol.md +37 -34
  507. package/docs/internals/channels.md +15 -12
  508. package/docs/internals/context.md +81 -161
  509. package/docs/internals/message-runtime.md +28 -26
  510. package/docs/public/README.md +22 -20
  511. package/docs/public/auth-and-route-protection.md +15 -12
  512. package/docs/public/channels/README.md +16 -11
  513. package/docs/public/cli-build-and-debugging.md +1 -1
  514. package/docs/public/context-control.md +7 -3
  515. package/docs/public/evals.md +3 -3
  516. package/docs/public/getting-started.md +15 -12
  517. package/docs/public/human-in-the-loop.md +45 -57
  518. package/docs/public/migration-guide.md +71 -0
  519. package/docs/public/project-layout.md +5 -0
  520. package/docs/public/runs-and-streaming.md +32 -25
  521. package/docs/public/schedules.md +4 -4
  522. package/docs/public/session-context.md +131 -15
  523. package/docs/public/skills.md +27 -3
  524. package/docs/public/subagents.md +2 -2
  525. package/docs/public/tools.md +23 -30
  526. package/docs/public/typescript-api.md +16 -12
  527. package/docs/public/vercel-deployment.md +3 -4
  528. package/docs/public/workspace.md +11 -11
  529. package/package.json +18 -11
  530. package/dist/src/channel/emitter-registry.d.ts +0 -34
  531. package/dist/src/channel/emitter-registry.d.ts.map +0 -1
  532. package/dist/src/channel/emitter-registry.js +0 -63
  533. package/dist/src/channel/emitter-registry.js.map +0 -1
  534. package/dist/src/channel/http-emitter.d.ts +0 -16
  535. package/dist/src/channel/http-emitter.d.ts.map +0 -1
  536. package/dist/src/channel/http-emitter.js +0 -22
  537. package/dist/src/channel/http-emitter.js.map +0 -1
  538. package/dist/src/channel/schedule-emitter.d.ts +0 -15
  539. package/dist/src/channel/schedule-emitter.d.ts.map +0 -1
  540. package/dist/src/channel/schedule-emitter.js +0 -21
  541. package/dist/src/channel/schedule-emitter.js.map +0 -1
  542. package/dist/src/channel/slack-emitter.d.ts +0 -56
  543. package/dist/src/channel/slack-emitter.d.ts.map +0 -1
  544. package/dist/src/channel/slack-emitter.js +0 -235
  545. package/dist/src/channel/slack-emitter.js.map +0 -1
  546. package/dist/src/channel/subagent-emitter.d.ts +0 -41
  547. package/dist/src/channel/subagent-emitter.d.ts.map +0 -1
  548. package/dist/src/channel/subagent-emitter.js.map +0 -1
  549. package/dist/src/context/state.d.ts +0 -27
  550. package/dist/src/context/state.d.ts.map +0 -1
  551. package/dist/src/context/state.js +0 -53
  552. package/dist/src/context/state.js.map +0 -1
  553. package/dist/src/internal/message/nitro-route-shims.d.ts +0 -6
  554. package/dist/src/internal/message/nitro-route-shims.d.ts.map +0 -1
  555. package/dist/src/internal/message/nitro-route-shims.js +0 -38
  556. package/dist/src/internal/message/nitro-route-shims.js.map +0 -1
  557. package/dist/src/internal/message/rewrite-generated-imports.d.ts +0 -15
  558. package/dist/src/internal/message/rewrite-generated-imports.d.ts.map +0 -1
  559. package/dist/src/internal/message/rewrite-generated-imports.js +0 -59
  560. package/dist/src/internal/message/rewrite-generated-imports.js.map +0 -1
  561. package/dist/src/internal/nitro/host/channel-url-matcher.d.ts +0 -35
  562. package/dist/src/internal/nitro/host/channel-url-matcher.d.ts.map +0 -1
  563. package/dist/src/internal/nitro/host/channel-url-matcher.js +0 -57
  564. package/dist/src/internal/nitro/host/channel-url-matcher.js.map +0 -1
  565. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts +0 -11
  566. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts.map +0 -1
  567. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js +0 -264
  568. package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js.map +0 -1
  569. package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts +0 -9
  570. package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts.map +0 -1
  571. package/dist/src/internal/nitro/routes/home-page/render-home-page.js +0 -15
  572. package/dist/src/internal/nitro/routes/home-page/render-home-page.js.map +0 -1
  573. package/dist/src/internal/nitro/routes/index.html +0 -525
  574. package/dist/src/internal/nitro/runtime-configuration.d.ts +0 -16
  575. package/dist/src/internal/nitro/runtime-configuration.d.ts.map +0 -1
  576. package/dist/src/internal/nitro/runtime-configuration.js +0 -23
  577. package/dist/src/internal/nitro/runtime-configuration.js.map +0 -1
  578. package/dist/src/internal/nitro/shims/runtime-configuration-plugin.d.ts +0 -10
  579. package/dist/src/internal/nitro/shims/runtime-configuration-plugin.d.ts.map +0 -1
  580. package/dist/src/internal/nitro/shims/runtime-configuration-plugin.js +0 -17
  581. package/dist/src/internal/nitro/shims/runtime-configuration-plugin.js.map +0 -1
  582. package/dist/src/runtime/tools/execute-tool.d.ts +0 -20
  583. package/dist/src/runtime/tools/execute-tool.d.ts.map +0 -1
  584. package/dist/src/runtime/tools/execute-tool.js +0 -69
  585. package/dist/src/runtime/tools/execute-tool.js.map +0 -1
@@ -1,101 +1,79 @@
1
1
  /**
2
- * Global registry mapping key names to instances. Populated automatically
3
- * by the {@link ContextKey} constructor so `deserializeContext` can resolve
4
- * string names back to typed keys without an explicit list.
5
- */
6
- const keyRegistry = new Map();
7
- /**
8
- * Registry of state keys (keys with an {@link ContextKey.initial | initial}
9
- * factory). Used by `runStep` to hydrate and commit durable state.
2
+ * Global registries mapping key names to instances.
3
+ *
4
+ * Durable context keys are public/authored keys persisted on `session.context`.
5
+ * Runtime context keys are private framework keys used for seed values,
6
+ * providers, and runtime-only bookkeeping inside one step.
10
7
  */
11
- const stateKeyRegistry = new Map();
8
+ const durableKeyRegistry = new Map();
9
+ const runtimeKeyRegistry = new Map();
10
+ const serializableRuntimeKeyRegistry = new Map();
11
+ const registeredKeyNames = new Set();
12
+ function registerKeyName(name) {
13
+ if (registeredKeyNames.has(name)) {
14
+ throw new Error(`Context key "${name}" was registered more than once.`);
15
+ }
16
+ registeredKeyNames.add(name);
17
+ }
12
18
  /**
13
- * Typed key that identifies a value inside an {@link AshContext} container.
14
- *
15
- * Use a `ContextKey` to declare a piece of durable, per-session state that
16
- * tools, steps, and model callbacks can read and write inside an Ash
17
- * execution scope. The key is declared once at module top-level and reused
18
- * everywhere — the value is stored on the active session, not on the key.
19
- *
20
- * @example Declare a durable state key and use it from a tool
21
- * ```ts
22
- * import { ContextKey, getState, setState } from "experimental-ash";
23
- * import { defineTool } from "experimental-ash/tools";
24
- * import { z } from "zod";
19
+ * Public durable context key.
25
20
  *
26
- * interface NoteListState {
27
- * readonly notes: readonly string[];
28
- * }
29
- *
30
- * // `initial` makes this a state key — its value survives across
31
- * // workflow step boundaries and compaction. The name must be unique
32
- * // across the whole agent process.
33
- * const NoteListStateKey = new ContextKey<NoteListState>("notes", {
34
- * initial: () => ({ notes: [] }),
35
- * });
36
- *
37
- * export default defineTool({
38
- * description: "Append a note, or read the running list.",
39
- * inputSchema: z.object({ note: z.string().optional() }),
40
- * async execute({ note }) {
41
- * if (note) {
42
- * setState(NoteListStateKey, (current) => ({
43
- * notes: [...current.notes, note],
44
- * }));
45
- * }
46
- * return getState(NoteListStateKey);
47
- * },
48
- * });
49
- * ```
50
- *
51
- * Keys with an `initial` factory are **state keys** — durable mutable values
52
- * hydrated from the session at step start and persisted back at step end.
53
- * Keys without `initial` are ephemeral and only live for the current step.
54
- *
55
- * State keys participate in compaction via tool-level `onCompact` hooks
56
- * declared on a `ToolDefinition`, not on the key itself.
57
- *
58
- * Keys that hold values which are not JSON-safe (e.g. live class instances)
59
- * must declare a `codec` so the framework can serialize/deserialize at step
60
- * boundaries.
61
- *
62
- * Every key self-registers in a global registry so the serialization layer
63
- * can resolve string names back to typed keys without an explicit list.
64
- * Construct each key exactly once at module scope; constructing the same
65
- * key name twice is a programmer error.
21
+ * Values stored under a `ContextKey` are session-durable. The runtime
22
+ * hydrates them from `session.context` before each step and commits them back
23
+ * after the step completes.
66
24
  */
67
25
  export class ContextKey {
26
+ codec;
68
27
  name;
28
+ constructor(name, options = {}) {
29
+ registerKeyName(name);
30
+ this.name = name;
31
+ this.codec = options.codec;
32
+ durableKeyRegistry.set(name, this);
33
+ }
34
+ }
35
+ /**
36
+ * Private runtime-only key used for seed values, providers, and other
37
+ * framework internals that must not be persisted on `session.context`.
38
+ */
39
+ export class RuntimeContextKey {
69
40
  codec;
70
- /**
71
- * When provided, this key stores durable state on the harness session
72
- * across workflow step boundaries. The factory returns the default value
73
- * used when no persisted state exists on the session yet.
74
- */
75
- initial;
41
+ name;
42
+ serializable;
76
43
  constructor(name, options = {}) {
44
+ registerKeyName(name);
77
45
  this.name = name;
78
46
  this.codec = options.codec;
79
- this.initial = options.initial;
80
- keyRegistry.set(name, this);
81
- if (this.initial !== undefined) {
82
- stateKeyRegistry.set(name, this);
47
+ this.serializable = options.serializable ?? false;
48
+ runtimeKeyRegistry.set(name, this);
49
+ if (this.serializable) {
50
+ serializableRuntimeKeyRegistry.set(name, this);
83
51
  }
84
52
  }
85
53
  }
54
+ export function isDurableContextKey(key) {
55
+ return key instanceof ContextKey;
56
+ }
57
+ export function isRuntimeContextKey(key) {
58
+ return key instanceof RuntimeContextKey;
59
+ }
86
60
  /**
87
- * Looks up a registered key by name. Returns `undefined` for unknown names.
61
+ * Looks up one registered durable key by name.
88
62
  */
89
- export function resolveKey(name) {
90
- return keyRegistry.get(name);
63
+ export function resolveContextKey(name) {
64
+ return durableKeyRegistry.get(name);
91
65
  }
92
66
  /**
93
- * Returns all registered state keys (keys with an `initial` factory).
94
- *
95
- * Used by `runStep` to generically hydrate and commit durable state without
96
- * knowledge of specific key identities.
67
+ * Looks up one registered runtime key by name.
68
+ */
69
+ export function resolveRuntimeContextKey(name) {
70
+ return runtimeKeyRegistry.get(name);
71
+ }
72
+ /**
73
+ * Returns all registered runtime keys that participate in runtime-seed
74
+ * serialization across durable workflow boundaries.
97
75
  */
98
- export function getStateKeys() {
99
- return stateKeyRegistry.values();
76
+ export function getSerializableRuntimeContextKeys() {
77
+ return serializableRuntimeKeyRegistry.values();
100
78
  }
101
79
  //# sourceMappingURL=key.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/context/key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;AAE3D;;;GAGG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAsBhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,OAAO,UAAU;IACZ,IAAI,CAAS;IACb,KAAK,CAGZ;IAEF;;;;OAIG;IACM,OAAO,CAAW;IAE3B,YAAY,IAAY,EAAE,UAAgC,EAAE;QAC1D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"key.js","sourceRoot":"","sources":["../../../src/context/key.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAsC,CAAC;AACzE,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAsC,CAAC;AACrF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;AA0B7C,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,kCAAkC,CAAC,CAAC;IAC1E,CAAC;IAED,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IACZ,KAAK,CAAsB;IAC3B,IAAI,CAAS;IAEtB,YAAY,IAAY,EAAE,UAAgC,EAAE;QAC1D,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAA2B,CAAC,CAAC;IAC5D,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACnB,KAAK,CAAsB;IAC3B,IAAI,CAAS;IACb,YAAY,CAAU;IAE/B,YAAY,IAAY,EAAE,UAAuC,EAAE;QACjE,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAClD,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAkC,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,8BAA8B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAkC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF;AAID,MAAM,UAAU,mBAAmB,CAAC,GAA6B;IAC/D,OAAO,GAAG,YAAY,UAAU,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAA6B;IAE7B,OAAO,GAAG,YAAY,iBAAiB,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,8BAA8B,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC"}
@@ -1,14 +1,10 @@
1
- import "../channel/http-emitter.js";
2
- import "../channel/schedule-emitter.js";
3
- import "../channel/slack-emitter.js";
4
- import "../channel/subagent-emitter.js";
5
- import type { ChannelEmitter, SessionAuthContext, SessionParent, SessionTurn } from "../channel/types.js";
1
+ import { type Channel, type SessionAuthContext, type SessionParent, type SessionTurn } from "../channel/types.js";
6
2
  import type { SandboxAccess } from "../execution/sandboxes/types.js";
7
3
  import type { SkillAccess } from "../execution/skills/types.js";
8
- import type { RunMode } from "../run-mode.js";
9
4
  import { getCompiledRuntimeAgentBundle } from "../runtime/sessions/compiled-agent-cache.js";
10
- import { ContextKey } from "./key.js";
5
+ import { RuntimeContextKey } from "./key.js";
11
6
  export type { SessionAuthContext, SessionParent, SessionTurn } from "../channel/types.js";
7
+ export { AuthKey, ContinuationTokenKey, InitiatorAuthKey, ModeKey, ParentSessionKey, SessionIdKey, } from "./seed-keys.js";
12
8
  /**
13
9
  * Auth metadata on the active session.
14
10
  *
@@ -26,25 +22,17 @@ export interface SessionAuth {
26
22
  export interface Session {
27
23
  readonly auth: SessionAuth;
28
24
  readonly parent?: SessionParent;
29
- readonly runId: string;
30
25
  readonly sessionId: string;
31
26
  readonly turn: SessionTurn;
32
27
  }
33
- export declare const AuthKey: ContextKey<SessionAuthContext | null>;
34
- export declare const InitiatorAuthKey: ContextKey<SessionAuthContext | null>;
35
- export declare const SessionIdKey: ContextKey<string>;
36
- export declare const RunIdKey: ContextKey<string>;
37
- export declare const ContinuationTokenKey: ContextKey<string>;
38
- export declare const ModeKey: ContextKey<RunMode>;
39
- export declare const ParentSessionKey: ContextKey<SessionParent>;
40
- export declare const ChannelEmitterKey: ContextKey<ChannelEmitter>;
28
+ export declare const ChannelKey: RuntimeContextKey<Channel>;
41
29
  /**
42
30
  * Bundle returned by the compiled-agent cache. Carries the resolved agent
43
31
  * graph, registries, and the active node's turn agent.
44
32
  */
45
33
  export type CompiledBundle = Awaited<ReturnType<typeof getCompiledRuntimeAgentBundle>>;
46
- export declare const BundleKey: ContextKey<import("../runtime/sessions/compiled-agent-cache.js").CompiledRuntimeAgentBundle>;
47
- export declare const SessionKey: ContextKey<Session>;
48
- export declare const SandboxKey: ContextKey<SandboxAccess>;
49
- export declare const SkillKey: ContextKey<SkillAccess>;
34
+ export declare const BundleKey: RuntimeContextKey<import("../runtime/sessions/compiled-agent-cache.js").CompiledRuntimeAgentBundle>;
35
+ export declare const SessionKey: RuntimeContextKey<Session>;
36
+ export declare const SandboxKey: RuntimeContextKey<SandboxAccess>;
37
+ export declare const SkillKey: RuntimeContextKey<SkillAccess>;
50
38
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/context/keys.ts"],"names":[],"mappings":"AAKA,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAM1F;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAMD,eAAO,MAAM,OAAO,uCAAwD,CAAC;AAC7E,eAAO,MAAM,gBAAgB,uCAAiE,CAAC;AAC/F,eAAO,MAAM,YAAY,oBAA0C,CAAC;AACpE,eAAO,MAAM,QAAQ,oBAAsC,CAAC;AAC5D,eAAO,MAAM,oBAAoB,oBAAkD,CAAC;AACpF,eAAO,MAAM,OAAO,qBAAsC,CAAC;AAC3D,eAAO,MAAM,gBAAgB,2BAAqD,CAAC;AAWnF,eAAO,MAAM,iBAAiB,4BAmB5B,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AAOvF,eAAO,MAAM,SAAS,8FAcpB,CAAC;AAMH,eAAO,MAAM,UAAU,qBAAyC,CAAC;AACjE,eAAO,MAAM,UAAU,2BAA+C,CAAC;AACvE,eAAO,MAAM,QAAQ,yBAA2C,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/context/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE1F,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAMxB;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B;AAWD,eAAO,MAAM,UAAU,4BAqBrB,CAAC;AAEH;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC,CAAC;AAOvF,eAAO,MAAM,SAAS,qGAepB,CAAC;AAMH,eAAO,MAAM,UAAU,4BAAgD,CAAC;AACxE,eAAO,MAAM,UAAU,kCAAsD,CAAC;AAC9E,eAAO,MAAM,QAAQ,gCAAkD,CAAC"}
@@ -1,43 +1,28 @@
1
- import { getChannelEmitterClass } from "../channel/emitter-registry.js";
2
- // Side-effect imports: each module registers its emitter class with the
3
- // process-global registry at import time. The imports must stay even though
4
- // the symbols are unused, otherwise the registry would be empty when the
5
- // codec runs.
6
- import "../channel/http-emitter.js";
7
- import "../channel/schedule-emitter.js";
8
- import "../channel/slack-emitter.js";
9
- import "../channel/subagent-emitter.js";
1
+ import { getChannelClassKind, } from "../channel/types.js";
2
+ import { deserializeRuntimeChannel } from "../runtime/channels/registry.js";
10
3
  import { getCompiledRuntimeAgentBundle } from "../runtime/sessions/compiled-agent-cache.js";
11
- import { ContextKey } from "./key.js";
12
- // ---------------------------------------------------------------------------
13
- // Seed keys serialized/deserialized at step boundaries
14
- // ---------------------------------------------------------------------------
15
- export const AuthKey = new ContextKey("ash.auth");
16
- export const InitiatorAuthKey = new ContextKey("ash.initiatorAuth");
17
- export const SessionIdKey = new ContextKey("ash.sessionId");
18
- export const RunIdKey = new ContextKey("ash.runId");
19
- export const ContinuationTokenKey = new ContextKey("ash.continuationToken");
20
- export const ModeKey = new ContextKey("ash.mode");
21
- export const ParentSessionKey = new ContextKey("ash.parentSession");
22
- export const ChannelEmitterKey = new ContextKey("ash.channelEmitter", {
4
+ import { RuntimeContextKey } from "./key.js";
5
+ // Re-export seed keys so existing consumers of `context/keys` keep working.
6
+ export { AuthKey, ContinuationTokenKey, InitiatorAuthKey, ModeKey, ParentSessionKey, SessionIdKey, } from "./seed-keys.js";
7
+ export const ChannelKey = new RuntimeContextKey("ash.channel", {
23
8
  codec: {
24
- serialize(emitter) {
9
+ serialize(channel) {
25
10
  return {
26
- kind: emitter.kind,
27
- state: emitter.serialize(),
11
+ kind: getChannelClassKind(channel.constructor),
12
+ state: channel.serialize(),
28
13
  };
29
14
  },
30
- deserialize(data) {
31
- const { kind, state } = data;
32
- const cls = getChannelEmitterClass(kind);
33
- if (cls === undefined) {
34
- throw new Error(`Unknown channel emitter kind: "${kind}". The module that defines this emitter must be imported before deserialization so it can register itself via registerChannelEmitter().`);
15
+ deserialize(data, ctx) {
16
+ const bundle = ctx.tryGet(BundleKey);
17
+ if (bundle === undefined) {
18
+ throw new Error('Cannot deserialize "ash.channel" before "ash.bundle". The runtime bundle must be present in context.');
35
19
  }
36
- return cls.deserialize(state);
20
+ return deserializeRuntimeChannel(bundle.channelRegistry, data);
37
21
  },
38
22
  },
23
+ serializable: true,
39
24
  });
40
- export const BundleKey = new ContextKey("ash.bundle", {
25
+ export const BundleKey = new RuntimeContextKey("ash.bundle", {
41
26
  codec: {
42
27
  serialize: (bundle) => ({
43
28
  nodeSelector: bundle.nodeSelector,
@@ -51,11 +36,12 @@ export const BundleKey = new ContextKey("ash.bundle", {
51
36
  });
52
37
  },
53
38
  },
39
+ serializable: true,
54
40
  });
55
41
  // ---------------------------------------------------------------------------
56
42
  // Derived keys — reconstructed by providers each step, never serialized
57
43
  // ---------------------------------------------------------------------------
58
- export const SessionKey = new ContextKey("ash.session");
59
- export const SandboxKey = new ContextKey("ash.sandbox");
60
- export const SkillKey = new ContextKey("ash.skill");
44
+ export const SessionKey = new RuntimeContextKey("ash.session");
45
+ export const SandboxKey = new RuntimeContextKey("ash.sandbox");
46
+ export const SkillKey = new RuntimeContextKey("ash.skill");
61
47
  //# sourceMappingURL=keys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/context/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,yEAAyE;AACzE,cAAc;AACd,OAAO,4BAA4B,CAAC;AACpC,OAAO,gCAAgC,CAAC;AACxC,OAAO,6BAA6B,CAAC;AACrC,OAAO,gCAAgC,CAAC;AAWxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAgCtC,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,CAA4B,UAAU,CAAC,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAA4B,mBAAmB,CAAC,CAAC;AAC/F,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,UAAU,CAAS,eAAe,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAS,WAAW,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,UAAU,CAAS,uBAAuB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,UAAU,CAAU,UAAU,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAgB,mBAAmB,CAAC,CAAC;AAWnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAiB,oBAAoB,EAAE;IACpF,KAAK,EAAE;QACL,SAAS,CAAC,OAAO;YACf,OAAO;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;aAC3B,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,IAAI;YACd,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAgC,CAAC;YACzD,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,kCAAkC,IAAI,yIAAyI,CAChL,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;KACF;CACF,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAiB,YAAY,EAAE;IACpE,KAAK,EAAE;QACL,SAAS,EAAE,CAAC,MAAM,EAAoB,EAAE,CAAC,CAAC;YACxC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,uBAAuB;SACvC,CAAC;QACF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAwB,CAAC;YAC1D,OAAO,6BAA6B,CAAC;gBACnC,uBAAuB,EAAE,MAAM;gBAC/B,YAAY;aACb,CAAC,CAAC;QACL,CAAC;KACF;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAU,aAAa,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAgB,aAAa,CAAC,CAAC;AACvE,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAc,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/context/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,mBAAmB,GAIpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAI7C,4EAA4E;AAC5E,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAqCxB,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAU,aAAa,EAAE;IACtE,KAAK,EAAE;QACL,SAAS,CAAC,OAAO;YACf,OAAO;gBACL,IAAI,EAAE,mBAAmB,CAAC,OAAO,CAAC,WAA2B,CAAC;gBAC9D,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE;aAC3B,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,IAAI,EAAE,GAAG;YACnB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAErC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;YACJ,CAAC;YAED,OAAO,yBAAyB,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAiB,YAAY,EAAE;IAC3E,KAAK,EAAE;QACL,SAAS,EAAE,CAAC,MAAM,EAAoB,EAAE,CAAC,CAAC;YACxC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,uBAAuB;SACvC,CAAC;QACF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAwB,CAAC;YAC1D,OAAO,6BAA6B,CAAC;gBACnC,uBAAuB,EAAE,MAAM;gBAC/B,YAAY;aACb,CAAC,CAAC;QACL,CAAC;KACF;IACD,YAAY,EAAE,IAAI;CACnB,CAAC,CAAC;AAEH,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAU,aAAa,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAgB,aAAa,CAAC,CAAC;AAC9E,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAc,WAAW,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { HarnessSession } from "../harness/types.js";
2
2
  import type { AshContext } from "./container.js";
3
- import type { ContextKey } from "./key.js";
3
+ import type { ContextStoreKey } from "./key.js";
4
4
  /**
5
5
  * Value returned by a provider's `create` method.
6
6
  *
@@ -17,7 +17,7 @@ export interface ProviderResult<T> {
17
17
  * to persist changes back onto the harness session.
18
18
  */
19
19
  export interface ContextProvider<T> {
20
- readonly key: ContextKey<T>;
20
+ readonly key: ContextStoreKey<T>;
21
21
  create(ctx: AshContext, session: HarnessSession): ProviderResult<T> | undefined | Promise<ProviderResult<T> | undefined>;
22
22
  commit?(value: T, session: HarnessSession): HarnessSession | Promise<HarnessSession>;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/context/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAE5B,MAAM,CACJ,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACtB,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE1E,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/context/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAEjC,MAAM,CACJ,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACtB,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE1E,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACtF"}
@@ -0,0 +1,4 @@
1
+ import type { ConnectionRegistry } from "../../runtime/connections/types.js";
2
+ import type { ContextProvider } from "../provider.js";
3
+ export declare const connectionProvider: ContextProvider<ConnectionRegistry>;
4
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/context/providers/connection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAI7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,kBAAkB,CAYlE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ConnectionRegistryImpl } from "../../runtime/connections/registry.js";
2
+ import { ConnectionRegistryKey } from "../../runtime/framework-tools/connection-search.js";
3
+ import { BundleKey } from "../keys.js";
4
+ import { getActiveRuntimeNode } from "../node.js";
5
+ export const connectionProvider = {
6
+ key: ConnectionRegistryKey,
7
+ create(ctx, _session) {
8
+ const bundle = ctx.tryGet(BundleKey);
9
+ if (bundle === undefined)
10
+ return undefined;
11
+ const node = getActiveRuntimeNode(ctx);
12
+ const connections = node.agent?.connections;
13
+ if (!connections || connections.length === 0)
14
+ return undefined;
15
+ return { value: new ConnectionRegistryImpl(connections) };
16
+ },
17
+ };
18
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../src/context/providers/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,CAAC,MAAM,kBAAkB,GAAwC;IACrE,GAAG,EAAE,qBAAqB;IAE1B,MAAM,CAAC,GAAG,EAAE,QAAQ;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE/D,OAAO,EAAE,KAAK,EAAE,IAAI,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/context/providers/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,CAkBpD,CAAC"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../../src/context/providers/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,OAAO,EAGb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,OAAO,CAiBpD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AuthKey, InitiatorAuthKey, ParentSessionKey, RunIdKey, SessionIdKey, SessionKey, } from "../keys.js";
1
+ import { AuthKey, InitiatorAuthKey, ParentSessionKey, SessionIdKey, SessionKey, } from "../keys.js";
2
2
  export const sessionProvider = {
3
3
  key: SessionKey,
4
4
  create(ctx) {
@@ -10,7 +10,6 @@ export const sessionProvider = {
10
10
  initiator: ctx.tryGet(InitiatorAuthKey) ?? currentAuth,
11
11
  },
12
12
  parent: ctx.tryGet(ParentSessionKey),
13
- runId: ctx.get(RunIdKey),
14
13
  sessionId: ctx.get(SessionIdKey),
15
14
  turn: { id: `turn-${crypto.randomUUID()}`, sequence: 0 },
16
15
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/context/providers/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,GAAG,EAAE,UAAU;IACf,MAAM,CAAC,GAAG;QACR,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW;oBACpB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,WAAW;iBACvD;gBACD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACpC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACxB,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;gBAChC,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;aACzD,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../../src/context/providers/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,GAAG,EAAE,UAAU;IACf,MAAM,CAAC,GAAG;QACR,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE;oBACJ,OAAO,EAAE,WAAW;oBACpB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,WAAW;iBACvD;gBACD,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACpC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC;gBAChC,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;aACzD,CAAC;SACH,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../src/context/providers/skill.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,WAAW,CA0BtD,CAAC"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../../src/context/providers/skill.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAInE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,eAAe,CAAC,WAAW,CActD,CAAC"}
@@ -1,11 +1,10 @@
1
1
  import { createSkillAccess } from "../../execution/skills/access.js";
2
- import { enrichInstructionsWithSkills } from "../../execution/skills/instructions.js";
3
2
  import { SkillStateKey } from "../../runtime/framework-tools/skill.js";
4
3
  import { BundleKey, SkillKey } from "../keys.js";
5
4
  import { getActiveRuntimeNode } from "../node.js";
6
5
  export const skillProvider = {
7
6
  key: SkillKey,
8
- create(ctx, session) {
7
+ create(ctx, _session) {
9
8
  const bundle = ctx.tryGet(BundleKey);
10
9
  if (bundle === undefined)
11
10
  return undefined;
@@ -14,19 +13,7 @@ export const skillProvider = {
14
13
  return undefined;
15
14
  const skillState = ctx.tryGet(SkillStateKey);
16
15
  const activeSkillIds = skillState?.activeIds ?? [];
17
- return {
18
- value: createSkillAccess({ activeSkillIds, skills }),
19
- session: {
20
- ...session,
21
- agent: {
22
- ...session.agent,
23
- system: enrichInstructionsWithSkills({
24
- baseSystem: session.agent.system,
25
- skills,
26
- }),
27
- },
28
- },
29
- };
16
+ return { value: createSkillAccess({ activeSkillIds, skills }) };
30
17
  },
31
18
  };
32
19
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../../src/context/providers/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,GAAG,EAAE,QAAQ;IAEb,MAAM,CAAC,GAAG,EAAE,OAAO;QACjB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;YACpD,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,KAAK,EAAE;oBACL,GAAG,OAAO,CAAC,KAAK;oBAChB,MAAM,EAAE,4BAA4B,CAAC;wBACnC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM;wBAChC,MAAM;qBACP,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../../src/context/providers/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,GAAG,EAAE,QAAQ;IAEb,MAAM,CAAC,GAAG,EAAE,QAAQ;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE1C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC7C,MAAM,cAAc,GAAG,UAAU,EAAE,SAAS,IAAI,EAAE,CAAC;QAEnD,OAAO,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAClE,CAAC;CACF,CAAC"}
@@ -3,14 +3,12 @@ import { type AshContext } from "./container.js";
3
3
  /**
4
4
  * Runs one step inside the unified context.
5
5
  *
6
- * 1. Hydrates registered state keys from `session.state` (or their defaults).
7
- * 2. Iterates framework providers in order each may populate its key on
8
- * `ctx` and optionally modify the harness session (e.g. skills enriching
9
- * instructions).
10
- * 3. Runs `callback` inside the ALS scope so authored code can read context.
11
- * 4. After the step, runs each provider's `commit` hook to persist mutable
12
- * state (sandbox snapshots, skill activations) back onto the session.
13
- * 5. Commits modified state keys back to `session.state`.
6
+ * 1. Iterates framework providers in order each may populate its runtime
7
+ * key on `ctx` and optionally modify the harness session.
8
+ * 2. Runs `callback` inside the ALS scope so authored code can read context.
9
+ * 3. After the step, runs each provider's `commit` hook to persist mutable
10
+ * runtime state back onto the session.
11
+ * 4. Commits the full durable context bag back to `session.context`.
14
12
  */
15
13
  export declare function runStep(ctx: AshContext, harnessSession: HarnessSession, callback: (session: HarnessSession) => Promise<StepResult>): Promise<StepResult>;
16
14
  //# sourceMappingURL=run-step.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"run-step.d.ts","sourceRoot":"","sources":["../../../src/context/run-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAoBjE;;;;;;;;;;;GAWG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CAoCrB"}
1
+ {"version":3,"file":"run-step.d.ts","sourceRoot":"","sources":["../../../src/context/run-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAsBjE;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAC3B,GAAG,EAAE,UAAU,EACf,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,UAAU,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CAiCrB"}
@@ -1,37 +1,35 @@
1
1
  import { contextStorage } from "./container.js";
2
+ import { commitDurableContext } from "./durable-context.js";
3
+ import { connectionProvider } from "./providers/connection.js";
2
4
  import { sandboxProvider } from "./providers/sandbox.js";
3
5
  import { sessionProvider } from "./providers/session.js";
4
6
  import { skillProvider } from "./providers/skill.js";
5
- import { commitStateKeys, hydrateStateKeys } from "./state.js";
6
7
  /**
7
8
  * Framework providers in dependency order.
8
9
  *
9
10
  * Session runs first (depends only on seed keys). Sandbox and skill depend on
10
11
  * `BundleKey` (a seed) and optionally `SessionKey`.
11
12
  */
12
- // biome-ignore lint/suspicious/noExplicitAny: heterogeneous provider collection requires type erasure
13
+ // biome-ignore lint/suspicious/noExplicitAny: heterogeneous provider collection
13
14
  const providers = [
14
15
  sessionProvider,
16
+ connectionProvider,
15
17
  sandboxProvider,
16
18
  skillProvider,
17
19
  ];
18
20
  /**
19
21
  * Runs one step inside the unified context.
20
22
  *
21
- * 1. Hydrates registered state keys from `session.state` (or their defaults).
22
- * 2. Iterates framework providers in order each may populate its key on
23
- * `ctx` and optionally modify the harness session (e.g. skills enriching
24
- * instructions).
25
- * 3. Runs `callback` inside the ALS scope so authored code can read context.
26
- * 4. After the step, runs each provider's `commit` hook to persist mutable
27
- * state (sandbox snapshots, skill activations) back onto the session.
28
- * 5. Commits modified state keys back to `session.state`.
23
+ * 1. Iterates framework providers in order each may populate its runtime
24
+ * key on `ctx` and optionally modify the harness session.
25
+ * 2. Runs `callback` inside the ALS scope so authored code can read context.
26
+ * 3. After the step, runs each provider's `commit` hook to persist mutable
27
+ * runtime state back onto the session.
28
+ * 4. Commits the full durable context bag back to `session.context`.
29
29
  */
30
30
  export async function runStep(ctx, harnessSession, callback) {
31
31
  let session = harnessSession;
32
- // 1. Hydrate state keys from session.state (or defaults)
33
- const stateSnapshot = await hydrateStateKeys(ctx, session);
34
- // 2. Run providers
32
+ // 1. Run providers
35
33
  for (const p of providers) {
36
34
  const result = await p.create(ctx, session);
37
35
  if (result !== undefined) {
@@ -41,17 +39,17 @@ export async function runStep(ctx, harnessSession, callback) {
41
39
  }
42
40
  }
43
41
  }
44
- // 3. Run callback inside ALS scope
42
+ // 2. Run callback inside ALS scope
45
43
  const stepResult = await contextStorage.run(ctx, () => callback(session));
46
- // 4. Commit providers
44
+ // 3. Commit providers
47
45
  let committed = stepResult.session;
48
46
  for (const p of providers) {
49
47
  if (p.commit && ctx.has(p.key)) {
50
48
  committed = await p.commit(ctx.get(p.key), committed);
51
49
  }
52
50
  }
53
- // 5. Commit modified state keys
54
- committed = commitStateKeys(ctx, committed, stateSnapshot);
51
+ // 4. Commit durable context
52
+ committed = commitDurableContext(ctx, committed);
55
53
  if (committed === stepResult.session) {
56
54
  return stepResult;
57
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run-step.js","sourceRoot":"","sources":["../../../src/context/run-step.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;;GAKG;AACH,sGAAsG;AACtG,MAAM,SAAS,GAAoC;IACjD,eAAe;IACf,eAAe;IACf,aAAa;CACd,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAe,EACf,cAA8B,EAC9B,QAA0D;IAE1D,IAAI,OAAO,GAAG,cAAc,CAAC;IAE7B,yDAAyD;IACzD,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAE3D,mBAAmB;IACnB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,sBAAsB;IACtB,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,SAAS,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAE3D,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"run-step.js","sourceRoot":"","sources":["../../../src/context/run-step.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;;;;GAKG;AACH,gFAAgF;AAChF,MAAM,SAAS,GAAoC;IACjD,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,aAAa;CACd,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,GAAe,EACf,cAA8B,EAC9B,QAA0D;IAE1D,IAAI,OAAO,GAAG,cAAc,CAAC;IAE7B,mBAAmB;IACnB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,sBAAsB;IACtB,IAAI,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,SAAS,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEjD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Simple seed keys — serializable values carried across workflow step
3
+ * boundaries. These keys have no codec and no heavyweight imports, so
4
+ * they can be safely imported from channel code without triggering
5
+ * circular module dependencies.
6
+ *
7
+ * Complex codec keys ({@link import("./keys.js").ChannelKey ChannelKey},
8
+ * {@link import("./keys.js").BundleKey BundleKey}) and derived keys
9
+ * ({@link import("./keys.js").SessionKey SessionKey}, etc.) live in
10
+ * `context/keys.ts` which re-exports everything from this module.
11
+ */
12
+ import type { SessionAuthContext, SessionParent } from "../channel/types.js";
13
+ import type { RunMode } from "../run-mode.js";
14
+ import { RuntimeContextKey } from "./key.js";
15
+ export declare const AuthKey: RuntimeContextKey<SessionAuthContext | null>;
16
+ export declare const InitiatorAuthKey: RuntimeContextKey<SessionAuthContext | null>;
17
+ export declare const SessionIdKey: RuntimeContextKey<string>;
18
+ export declare const ContinuationTokenKey: RuntimeContextKey<string>;
19
+ export declare const ModeKey: RuntimeContextKey<RunMode>;
20
+ export declare const ParentSessionKey: RuntimeContextKey<SessionParent>;
21
+ //# sourceMappingURL=seed-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-keys.d.ts","sourceRoot":"","sources":["../../../src/context/seed-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,OAAO,8CAElB,CAAC;AACH,eAAO,MAAM,gBAAgB,8CAK5B,CAAC;AACF,eAAO,MAAM,YAAY,2BAEvB,CAAC;AACH,eAAO,MAAM,oBAAoB,2BAE/B,CAAC;AACH,eAAO,MAAM,OAAO,4BAElB,CAAC;AACH,eAAO,MAAM,gBAAgB,kCAE3B,CAAC"}