experimental-ash 0.2.0-alpha.32 → 0.2.0-alpha.34

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 (226) hide show
  1. package/dist/src/channel/http-channel.d.ts +10 -2
  2. package/dist/src/channel/http-channel.d.ts.map +1 -1
  3. package/dist/src/channel/http-channel.js.map +1 -1
  4. package/dist/src/channel/schedule-channel.d.ts +7 -2
  5. package/dist/src/channel/schedule-channel.d.ts.map +1 -1
  6. package/dist/src/channel/schedule-channel.js.map +1 -1
  7. package/dist/src/channel/slack-channel.d.ts +35 -17
  8. package/dist/src/channel/slack-channel.d.ts.map +1 -1
  9. package/dist/src/channel/slack-channel.js +49 -17
  10. package/dist/src/channel/slack-channel.js.map +1 -1
  11. package/dist/src/channel/slack-types.d.ts +1 -54
  12. package/dist/src/channel/slack-types.d.ts.map +1 -1
  13. package/dist/src/channel/subagent-channel.d.ts +25 -14
  14. package/dist/src/channel/subagent-channel.d.ts.map +1 -1
  15. package/dist/src/channel/subagent-channel.js +38 -17
  16. package/dist/src/channel/subagent-channel.js.map +1 -1
  17. package/dist/src/channel/types.d.ts +32 -20
  18. package/dist/src/channel/types.d.ts.map +1 -1
  19. package/dist/src/channel/types.js.map +1 -1
  20. package/dist/src/cli/dev/repl.d.ts +8 -2
  21. package/dist/src/cli/dev/repl.d.ts.map +1 -1
  22. package/dist/src/cli/dev/repl.js +439 -139
  23. package/dist/src/cli/dev/repl.js.map +1 -1
  24. package/dist/src/cli/ui/output.d.ts +2 -1
  25. package/dist/src/cli/ui/output.d.ts.map +1 -1
  26. package/dist/src/cli/ui/output.js +9 -0
  27. package/dist/src/cli/ui/output.js.map +1 -1
  28. package/dist/src/compiler/manifest.d.ts +0 -32
  29. package/dist/src/compiler/manifest.d.ts.map +1 -1
  30. package/dist/src/compiler/manifest.js +0 -11
  31. package/dist/src/compiler/manifest.js.map +1 -1
  32. package/dist/src/compiler/normalize-agent-config.d.ts.map +1 -1
  33. package/dist/src/compiler/normalize-agent-config.js +4 -13
  34. package/dist/src/compiler/normalize-agent-config.js.map +1 -1
  35. package/dist/src/context/keys.d.ts +1 -1
  36. package/dist/src/context/keys.d.ts.map +1 -1
  37. package/dist/src/execution/continuous-entry.d.ts +19 -30
  38. package/dist/src/execution/continuous-entry.d.ts.map +1 -1
  39. package/dist/src/execution/continuous-entry.js +170 -54
  40. package/dist/src/execution/continuous-entry.js.map +1 -1
  41. package/dist/src/execution/continuous-runtime.d.ts.map +1 -1
  42. package/dist/src/execution/continuous-runtime.js +10 -16
  43. package/dist/src/execution/continuous-runtime.js.map +1 -1
  44. package/dist/src/execution/node-step.d.ts.map +1 -1
  45. package/dist/src/execution/node-step.js +11 -20
  46. package/dist/src/execution/node-step.js.map +1 -1
  47. package/dist/src/execution/sandboxes/prewarm.js +66 -34
  48. package/dist/src/execution/sandboxes/prewarm.js.map +1 -1
  49. package/dist/src/execution/session.d.ts +10 -6
  50. package/dist/src/execution/session.d.ts.map +1 -1
  51. package/dist/src/execution/session.js +9 -14
  52. package/dist/src/execution/session.js.map +1 -1
  53. package/dist/src/execution/subagent-tool.d.ts +27 -26
  54. package/dist/src/execution/subagent-tool.d.ts.map +1 -1
  55. package/dist/src/execution/subagent-tool.js +43 -76
  56. package/dist/src/execution/subagent-tool.js.map +1 -1
  57. package/dist/src/execution/workflow-entry.d.ts +5 -8
  58. package/dist/src/execution/workflow-entry.d.ts.map +1 -1
  59. package/dist/src/execution/workflow-entry.js +171 -42
  60. package/dist/src/execution/workflow-entry.js.map +1 -1
  61. package/dist/src/execution/workflow-runtime.d.ts.map +1 -1
  62. package/dist/src/execution/workflow-runtime.js +3 -36
  63. package/dist/src/execution/workflow-runtime.js.map +1 -1
  64. package/dist/src/execution/workflow-steps.d.ts +11 -0
  65. package/dist/src/execution/workflow-steps.d.ts.map +1 -1
  66. package/dist/src/execution/workflow-steps.js +107 -10
  67. package/dist/src/execution/workflow-steps.js.map +1 -1
  68. package/dist/src/harness/execute-tool.d.ts +23 -35
  69. package/dist/src/harness/execute-tool.d.ts.map +1 -1
  70. package/dist/src/harness/execute-tool.js +1 -58
  71. package/dist/src/harness/execute-tool.js.map +1 -1
  72. package/dist/src/harness/input-requests.d.ts +1 -0
  73. package/dist/src/harness/input-requests.d.ts.map +1 -1
  74. package/dist/src/harness/input-requests.js +7 -6
  75. package/dist/src/harness/input-requests.js.map +1 -1
  76. package/dist/src/harness/instrumentation-config.d.ts +18 -0
  77. package/dist/src/harness/instrumentation-config.d.ts.map +1 -0
  78. package/dist/src/harness/instrumentation-config.js +32 -0
  79. package/dist/src/harness/instrumentation-config.js.map +1 -0
  80. package/dist/src/harness/messages.d.ts +28 -6
  81. package/dist/src/harness/messages.d.ts.map +1 -1
  82. package/dist/src/harness/messages.js +32 -8
  83. package/dist/src/harness/messages.js.map +1 -1
  84. package/dist/src/harness/otel-integration.d.ts +10 -0
  85. package/dist/src/harness/otel-integration.d.ts.map +1 -0
  86. package/dist/src/harness/otel-integration.js +19 -0
  87. package/dist/src/harness/otel-integration.js.map +1 -0
  88. package/dist/src/harness/runtime-actions.d.ts +106 -0
  89. package/dist/src/harness/runtime-actions.d.ts.map +1 -0
  90. package/dist/src/harness/runtime-actions.js +261 -0
  91. package/dist/src/harness/runtime-actions.js.map +1 -0
  92. package/dist/src/harness/step-hooks.d.ts +1 -0
  93. package/dist/src/harness/step-hooks.d.ts.map +1 -1
  94. package/dist/src/harness/step-hooks.js +5 -7
  95. package/dist/src/harness/step-hooks.js.map +1 -1
  96. package/dist/src/harness/tool-loop.d.ts.map +1 -1
  97. package/dist/src/harness/tool-loop.js +72 -12
  98. package/dist/src/harness/tool-loop.js.map +1 -1
  99. package/dist/src/harness/tools.d.ts +6 -3
  100. package/dist/src/harness/tools.d.ts.map +1 -1
  101. package/dist/src/harness/tools.js +11 -24
  102. package/dist/src/harness/tools.js.map +1 -1
  103. package/dist/src/harness/types.d.ts +10 -10
  104. package/dist/src/harness/types.d.ts.map +1 -1
  105. package/dist/src/internal/application/compiled-artifacts.d.ts.map +1 -1
  106. package/dist/src/internal/application/compiled-artifacts.js +7 -3
  107. package/dist/src/internal/application/compiled-artifacts.js.map +1 -1
  108. package/dist/src/internal/application/package.js +1 -1
  109. package/dist/src/internal/authored-definition/core.d.ts +0 -7
  110. package/dist/src/internal/authored-definition/core.d.ts.map +1 -1
  111. package/dist/src/internal/authored-definition/core.js +1 -34
  112. package/dist/src/internal/authored-definition/core.js.map +1 -1
  113. package/dist/src/public/channels/auth.d.ts +1 -1
  114. package/dist/src/public/channels/auth.js +1 -1
  115. package/dist/src/public/channels/http.d.ts +2 -2
  116. package/dist/src/public/channels/http.d.ts.map +1 -1
  117. package/dist/src/public/channels/http.js +1 -1
  118. package/dist/src/public/channels/http.js.map +1 -1
  119. package/dist/src/public/channels/index.d.ts +1 -1
  120. package/dist/src/public/channels/index.d.ts.map +1 -1
  121. package/dist/src/public/channels/index.js +1 -1
  122. package/dist/src/public/channels/index.js.map +1 -1
  123. package/dist/src/public/channels/slack/index.d.ts +3 -3
  124. package/dist/src/public/channels/slack/index.d.ts.map +1 -1
  125. package/dist/src/public/channels/slack/index.js +15 -7
  126. package/dist/src/public/channels/slack/index.js.map +1 -1
  127. package/dist/src/public/channels/slack/lowlevel.d.ts +2 -2
  128. package/dist/src/public/channels/slack/lowlevel.d.ts.map +1 -1
  129. package/dist/src/public/channels/slack/slack-interaction.d.ts +11 -23
  130. package/dist/src/public/channels/slack/slack-interaction.d.ts.map +1 -1
  131. package/dist/src/public/channels/slack/slack-interaction.js +12 -87
  132. package/dist/src/public/channels/slack/slack-interaction.js.map +1 -1
  133. package/dist/src/public/definitions/agent.d.ts +1 -21
  134. package/dist/src/public/definitions/agent.d.ts.map +1 -1
  135. package/dist/src/public/definitions/agent.js.map +1 -1
  136. package/dist/src/public/definitions/channel.d.ts +4 -20
  137. package/dist/src/public/definitions/channel.d.ts.map +1 -1
  138. package/dist/src/public/definitions/channel.js +2 -2
  139. package/dist/src/public/definitions/channel.js.map +1 -1
  140. package/dist/src/public/definitions/connections/mcp.d.ts +2 -2
  141. package/dist/src/public/definitions/instrumentation.d.ts +67 -0
  142. package/dist/src/public/definitions/instrumentation.d.ts.map +1 -0
  143. package/dist/src/public/definitions/instrumentation.js +32 -0
  144. package/dist/src/public/definitions/instrumentation.js.map +1 -0
  145. package/dist/src/public/definitions/tool.d.ts +19 -7
  146. package/dist/src/public/definitions/tool.d.ts.map +1 -1
  147. package/dist/src/public/definitions/tool.js.map +1 -1
  148. package/dist/src/public/index.d.ts +20 -18
  149. package/dist/src/public/index.d.ts.map +1 -1
  150. package/dist/src/public/index.js +19 -12
  151. package/dist/src/public/index.js.map +1 -1
  152. package/dist/src/public/instrumentation/index.d.ts +22 -0
  153. package/dist/src/public/instrumentation/index.d.ts.map +1 -0
  154. package/dist/src/public/instrumentation/index.js +22 -0
  155. package/dist/src/public/instrumentation/index.js.map +1 -0
  156. package/dist/src/public/schedules/index.d.ts +20 -0
  157. package/dist/src/public/schedules/index.d.ts.map +1 -0
  158. package/dist/src/public/schedules/index.js +20 -0
  159. package/dist/src/public/schedules/index.js.map +1 -0
  160. package/dist/src/public/subagents/index.d.ts +19 -0
  161. package/dist/src/public/subagents/index.d.ts.map +1 -0
  162. package/dist/src/public/subagents/index.js +19 -0
  163. package/dist/src/public/subagents/index.js.map +1 -0
  164. package/dist/src/public/tools/defaults.d.ts.map +1 -1
  165. package/dist/src/public/tools/defaults.js +1 -0
  166. package/dist/src/public/tools/defaults.js.map +1 -1
  167. package/dist/src/public/tools/internal.d.ts.map +1 -1
  168. package/dist/src/public/tools/internal.js +1 -3
  169. package/dist/src/public/tools/internal.js.map +1 -1
  170. package/dist/src/runtime/actions/types.d.ts +6 -68
  171. package/dist/src/runtime/actions/types.d.ts.map +1 -1
  172. package/dist/src/runtime/actions/types.js +0 -92
  173. package/dist/src/runtime/actions/types.js.map +1 -1
  174. package/dist/src/runtime/connections/mcp-client.d.ts +7 -0
  175. package/dist/src/runtime/connections/mcp-client.d.ts.map +1 -1
  176. package/dist/src/runtime/connections/mcp-client.js +23 -22
  177. package/dist/src/runtime/connections/mcp-client.js.map +1 -1
  178. package/dist/src/runtime/connections/types.d.ts +4 -2
  179. package/dist/src/runtime/connections/types.d.ts.map +1 -1
  180. package/dist/src/runtime/connections/types.js +2 -2
  181. package/dist/src/runtime/framework-tools/connection-search.d.ts +20 -0
  182. package/dist/src/runtime/framework-tools/connection-search.d.ts.map +1 -1
  183. package/dist/src/runtime/framework-tools/connection-search.js +30 -2
  184. package/dist/src/runtime/framework-tools/connection-search.js.map +1 -1
  185. package/dist/src/runtime/framework-tools/connection-tools.d.ts +32 -0
  186. package/dist/src/runtime/framework-tools/connection-tools.d.ts.map +1 -0
  187. package/dist/src/runtime/framework-tools/connection-tools.js +72 -0
  188. package/dist/src/runtime/framework-tools/connection-tools.js.map +1 -0
  189. package/dist/src/runtime/framework-tools/index.d.ts.map +1 -1
  190. package/dist/src/runtime/framework-tools/index.js +0 -3
  191. package/dist/src/runtime/framework-tools/index.js.map +1 -1
  192. package/dist/src/runtime/json.d.ts +15 -3
  193. package/dist/src/runtime/json.d.ts.map +1 -1
  194. package/dist/src/runtime/json.js +123 -21
  195. package/dist/src/runtime/json.js.map +1 -1
  196. package/dist/src/runtime/prompt/connections.d.ts.map +1 -1
  197. package/dist/src/runtime/prompt/connections.js +1 -3
  198. package/dist/src/runtime/prompt/connections.js.map +1 -1
  199. package/dist/src/runtime/resolve-agent.js +0 -3
  200. package/dist/src/runtime/resolve-agent.js.map +1 -1
  201. package/dist/src/runtime/resolve-tool.d.ts.map +1 -1
  202. package/dist/src/runtime/resolve-tool.js +10 -6
  203. package/dist/src/runtime/resolve-tool.js.map +1 -1
  204. package/dist/src/runtime/types.d.ts +8 -20
  205. package/dist/src/runtime/types.d.ts.map +1 -1
  206. package/docs/external-agent-protocol.md +3 -2
  207. package/docs/internals/channels.md +7 -7
  208. package/docs/internals/message-runtime.md +7 -4
  209. package/docs/public/agent-ts.md +6 -59
  210. package/docs/public/channels/README.md +14 -38
  211. package/docs/public/getting-started.md +5 -2
  212. package/docs/public/instrumentation.md +73 -0
  213. package/docs/public/project-layout.md +2 -2
  214. package/docs/public/runs-and-streaming.md +4 -4
  215. package/docs/public/subagents.md +18 -4
  216. package/docs/public/tools.md +7 -5
  217. package/docs/public/typescript-api.md +4 -11
  218. package/package.json +22 -6
  219. package/dist/src/harness/tool-schema.d.ts +0 -13
  220. package/dist/src/harness/tool-schema.d.ts.map +0 -1
  221. package/dist/src/harness/tool-schema.js +0 -33
  222. package/dist/src/harness/tool-schema.js.map +0 -1
  223. package/dist/src/runtime/framework-tools/connection-execute.d.ts +0 -10
  224. package/dist/src/runtime/framework-tools/connection-execute.d.ts.map +0 -1
  225. package/dist/src/runtime/framework-tools/connection-execute.js +0 -61
  226. package/dist/src/runtime/framework-tools/connection-execute.js.map +0 -1
@@ -9,6 +9,14 @@ import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
9
9
  * own durable fields.
10
10
  */
11
11
  export type HttpChannelState = Record<string, unknown>;
12
+ /**
13
+ * Deliver payload for HTTP channels.
14
+ *
15
+ * HTTP clients send a text message, structured HITL input responses, or both.
16
+ * Identical to the base {@link DeliverPayload} — the HTTP channel passes
17
+ * through untransformed.
18
+ */
19
+ export type HttpDeliverPayload = DeliverPayload;
12
20
  /**
13
21
  * Stateless channel for HTTP routes.
14
22
  *
@@ -16,11 +24,11 @@ export type HttpChannelState = Record<string, unknown>;
16
24
  * payloads pass through untransformed — HTTP clients send structured
17
25
  * {@link InputResponse} objects directly.
18
26
  */
19
- export declare class HttpChannel extends Channel {
27
+ export declare class HttpChannel extends Channel<HttpDeliverPayload> {
20
28
  static readonly kind: string;
21
29
  constructor(_state?: HttpChannelState);
22
30
  onEvent(event: HandleMessageStreamEvent): Promise<HandleMessageStreamEvent>;
23
- onDeliver(_ctx: ContextAccessor, payload: DeliverPayload): Promise<StepInput>;
31
+ onDeliver(_ctx: ContextAccessor, payload: HttpDeliverPayload): Promise<StepInput | undefined>;
24
32
  serialize(): Record<string, unknown>;
25
33
  }
26
34
  //# sourceMappingURL=http-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/http-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;gBAE1B,MAAM,GAAE,gBAAqB;IAInC,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3E,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAInF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGrC"}
1
+ {"version":3,"file":"http-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/http-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEhD;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,OAAO,CAAC,kBAAkB,CAAC;IAC1D,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAU;gBAE1B,MAAM,GAAE,gBAAqB;IAInC,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3E,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIjC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-channel.js","sourceRoot":"","sources":["../../../src/channel/http-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAWhF;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAO;IACtC,MAAM,CAAU,IAAI,GAAW,MAAM,CAAC;IAEtC,YAAY,SAA2B,EAAE;QACvC,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB,EAAE,OAAuB;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC"}
1
+ {"version":3,"file":"http-channel.js","sourceRoot":"","sources":["../../../src/channel/http-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAoBhF;;;;;;GAMG;AACH,MAAM,OAAO,WAAY,SAAQ,OAA2B;IAC1D,MAAM,CAAU,IAAI,GAAW,MAAM,CAAC;IAEtC,YAAY,SAA2B,EAAE;QACvC,KAAK,EAAE,CAAC;IACV,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAqB,EACrB,OAA2B;QAE3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC"}
@@ -1,16 +1,21 @@
1
1
  import type { StepInput } from "../harness/types.js";
2
2
  import type { HandleMessageStreamEvent } from "../protocol/message.js";
3
3
  import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
4
+ /**
5
+ * Deliver payload for scheduled runs.
6
+ */
7
+ export interface ScheduleDeliverPayload extends DeliverPayload {
8
+ }
4
9
  /**
5
10
  * Stateless channel for scheduled runs.
6
11
  *
7
12
  * Events pass straight through to the stream (no side effects). Deliver
8
13
  * payloads pass through untransformed.
9
14
  */
10
- export declare class ScheduleChannel extends Channel {
15
+ export declare class ScheduleChannel extends Channel<ScheduleDeliverPayload> {
11
16
  static readonly kind = "schedule";
12
17
  onEvent(event: HandleMessageStreamEvent): Promise<HandleMessageStreamEvent>;
13
- onDeliver(_ctx: ContextAccessor, payload: DeliverPayload): Promise<StepInput>;
18
+ onDeliver(_ctx: ContextAccessor, payload: ScheduleDeliverPayload): Promise<StepInput | undefined>;
14
19
  serialize(): Record<string, unknown>;
15
20
  }
16
21
  //# sourceMappingURL=schedule-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/schedule-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAE5B,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3E,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAInF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGrC"}
1
+ {"version":3,"file":"schedule-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/schedule-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;CAAG;AAEjE;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAE5B,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAI3E,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIjC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAGrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"schedule-channel.js","sourceRoot":"","sources":["../../../src/channel/schedule-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IAElC,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB,EAAE,OAAuB;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC"}
1
+ {"version":3,"file":"schedule-channel.js","sourceRoot":"","sources":["../../../src/channel/schedule-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAOhF;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,OAA+B;IAClE,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IAElC,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAqB,EACrB,OAA+B;QAE/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC"}
@@ -3,7 +3,7 @@ import type { StepInput } from "../harness/types.js";
3
3
  import type { HandleMessageStreamEvent } from "../protocol/message.js";
4
4
  import type { InputRequest } from "../runtime/input/types.js";
5
5
  import { createSlackCardKit } from "./slack-render.js";
6
- import type { InteractionDelivery, SlackInteraction, SlackInteractionContext, SlackRenderable, SlackThreadHandle } from "./slack-types.js";
6
+ import type { SlackInteraction, SlackRenderable, SlackThreadHandle } from "./slack-types.js";
7
7
  import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
8
8
  /**
9
9
  * User context for the Slack message sender, stored in channel state so
@@ -42,6 +42,17 @@ export interface SlackChannelState {
42
42
  */
43
43
  readonly userContext?: SlackUserContext;
44
44
  }
45
+ /**
46
+ * Deliver payload for Slack channels.
47
+ *
48
+ * A Slack delivery is one of:
49
+ * - A text message (thread reply)
50
+ * - Structured HITL input responses (button callback mapped by the framework)
51
+ * - A raw Slack interaction (block_actions payload for custom handling)
52
+ */
53
+ export interface SlackDeliverPayload extends DeliverPayload {
54
+ readonly interaction?: SlackInteraction;
55
+ }
45
56
  /**
46
57
  * Channel that rehydrates a Chat SDK `Thread` from serialized state and
47
58
  * uses `thread.startTyping()` to show typing status with tool names while
@@ -58,9 +69,10 @@ export interface SlackChannelState {
58
69
  * so stateful subclasses do not need extra boilerplate just to preserve
59
70
  * their durable identity and JSON-serializable state.
60
71
  */
61
- export declare class SlackChannel<TState extends SlackChannelState = SlackChannelState> extends Channel {
72
+ export declare class SlackChannel<TState extends SlackChannelState = SlackChannelState> extends Channel<SlackDeliverPayload> {
62
73
  static readonly kind: string;
63
74
  private _state;
75
+ private _adapterPromise;
64
76
  private _cardKitPromise;
65
77
  private _pendingToolCallMessage;
66
78
  private _threadPromise;
@@ -78,22 +90,23 @@ export declare class SlackChannel<TState extends SlackChannelState = SlackChanne
78
90
  get serializedThread(): SerializedThread;
79
91
  serialize(): Record<string, unknown>;
80
92
  /**
81
- * Interaction hook for Slack `block_actions`.
93
+ * Subclass hook for Slack `block_actions` interaction handling.
82
94
  *
83
- * Called when the route can rehydrate the channel from the last durable
84
- * session snapshot. The return value controls what happens next:
95
+ * Called when {@link onDeliver} receives a {@link SlackInteraction} via
96
+ * `payload.interaction`. The channel is already rehydrated by the runtime
97
+ * and the full {@link ContextAccessor} is available, so subclasses can
98
+ * read and write durable context keys.
85
99
  *
86
- * - `{ inputResponses }` deliver structured HITL responses.
87
- * - `{ message }` wake the agent with a text message.
88
- * - bare `return` (void) nothing to deliver (handled inline or no-op).
100
+ * Return a {@link StepInput} to wake the agent with a message or HITL
101
+ * responses. Return `void` to handle the interaction inline (e.g. edit
102
+ * a message) without running a model turn the runtime will persist
103
+ * any context mutations and re-park the session.
89
104
  *
90
- * The default implementation calls `ctx.resolveInputResponses()` which
91
- * maps button clicks and select menus to HITL input responses.
92
- * Subclasses override to handle custom actions and call
93
- * `ctx.resolveInputResponses()` for the explicit HITL path.
105
+ * The default implementation maps button clicks and select menus to
106
+ * HITL input responses via {@link deriveInputResponsesFromInteraction}.
94
107
  */
95
- onInteraction(_interaction: SlackInteraction, ctx: SlackInteractionContext): Promise<InteractionDelivery | void>;
96
- onDeliver(_ctx: ContextAccessor, payload: DeliverPayload): Promise<StepInput>;
108
+ protected handleInteraction(_ctx: ContextAccessor, interaction: SlackInteraction): Promise<StepInput | undefined>;
109
+ onDeliver(ctx: ContextAccessor, payload: SlackDeliverPayload): Promise<StepInput | undefined>;
97
110
  /**
98
111
  * Prepends the Slack user context XML block to a message if user context
99
112
  * is available. This provides the agent with information about who sent
@@ -105,6 +118,11 @@ export declare class SlackChannel<TState extends SlackChannelState = SlackChanne
105
118
  private consumePendingToolCallStatus;
106
119
  private clearPendingToolCallMessage;
107
120
  private setPendingToolCallMessage;
121
+ /**
122
+ * Edits an existing Slack message by timestamp. Used during inline
123
+ * interaction handling to swap a card (e.g. replace button states).
124
+ */
125
+ protected editMessage(messageTs: string, renderable: SlackRenderable): Promise<void>;
108
126
  protected post(text: string): Promise<void>;
109
127
  protected startTyping(status: string): Promise<void>;
110
128
  /**
@@ -139,8 +157,8 @@ export declare class SlackChannel<TState extends SlackChannelState = SlackChanne
139
157
  * `actionId`. Selects encode `requestId` as the `actionId` (prefixed with
140
158
  * `select_`) and `optionId` as the `selectedOptionId`.
141
159
  *
142
- * Returns an {@link InteractionDelivery} with the mapped responses, or
143
- * `null` when no actions could be mapped.
160
+ * Returns a {@link StepInput} with the mapped responses, or `undefined`
161
+ * when no actions could be mapped.
144
162
  */
145
- export declare function deriveInputResponsesFromInteraction(interaction: SlackInteraction): InteractionDelivery | undefined;
163
+ export declare function deriveInputResponsesFromInteraction(interaction: SlackInteraction): StepInput | undefined;
146
164
  //# sourceMappingURL=slack-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ function formatUserContextBlock(ctx) {
69
69
  export class SlackChannel extends Channel {
70
70
  static kind = "slack";
71
71
  _state;
72
+ _adapterPromise = null;
72
73
  _cardKitPromise = null;
73
74
  _pendingToolCallMessage = null;
74
75
  _threadPromise = null;
@@ -99,25 +100,33 @@ export class SlackChannel extends Channel {
99
100
  return { ...this._state };
100
101
  }
101
102
  /**
102
- * Interaction hook for Slack `block_actions`.
103
+ * Subclass hook for Slack `block_actions` interaction handling.
103
104
  *
104
- * Called when the route can rehydrate the channel from the last durable
105
- * session snapshot. The return value controls what happens next:
105
+ * Called when {@link onDeliver} receives a {@link SlackInteraction} via
106
+ * `payload.interaction`. The channel is already rehydrated by the runtime
107
+ * and the full {@link ContextAccessor} is available, so subclasses can
108
+ * read and write durable context keys.
106
109
  *
107
- * - `{ inputResponses }` deliver structured HITL responses.
108
- * - `{ message }` wake the agent with a text message.
109
- * - bare `return` (void) nothing to deliver (handled inline or no-op).
110
+ * Return a {@link StepInput} to wake the agent with a message or HITL
111
+ * responses. Return `void` to handle the interaction inline (e.g. edit
112
+ * a message) without running a model turn the runtime will persist
113
+ * any context mutations and re-park the session.
110
114
  *
111
- * The default implementation calls `ctx.resolveInputResponses()` which
112
- * maps button clicks and select menus to HITL input responses.
113
- * Subclasses override to handle custom actions and call
114
- * `ctx.resolveInputResponses()` for the explicit HITL path.
115
+ * The default implementation maps button clicks and select menus to
116
+ * HITL input responses via {@link deriveInputResponsesFromInteraction}.
115
117
  */
116
- async onInteraction(_interaction, ctx) {
117
- return ctx.resolveInputResponses();
118
+ async handleInteraction(_ctx, interaction) {
119
+ const delivery = deriveInputResponsesFromInteraction(interaction);
120
+ if (delivery !== undefined) {
121
+ return delivery;
122
+ }
118
123
  }
119
124
  // ── Inbound: transform delivered input ─────────────────
120
- async onDeliver(_ctx, payload) {
125
+ async onDeliver(ctx, payload) {
126
+ // Interaction path — channel is already rehydrated, has full context.
127
+ if (payload.interaction !== undefined) {
128
+ return this.handleInteraction(ctx, payload.interaction);
129
+ }
121
130
  // Structured responses (Slack button callback, HTTP client) —
122
131
  // pass through untouched.
123
132
  if (payload.inputResponses !== undefined && payload.inputResponses.length > 0) {
@@ -214,6 +223,19 @@ export class SlackChannel extends Channel {
214
223
  const normalized = text.trim();
215
224
  this._pendingToolCallMessage = normalized.length > 0 ? normalized : null;
216
225
  }
226
+ /**
227
+ * Edits an existing Slack message by timestamp. Used during inline
228
+ * interaction handling to swap a card (e.g. replace button states).
229
+ */
230
+ async editMessage(messageTs, renderable) {
231
+ try {
232
+ const thread = await this.getSlackThread();
233
+ await thread.editMessage(messageTs, renderable);
234
+ }
235
+ catch (error) {
236
+ console.error("[ash] Slack message edit failed.", error);
237
+ }
238
+ }
217
239
  async post(text) {
218
240
  try {
219
241
  const thread = await this.getSlackThread();
@@ -243,6 +265,13 @@ export class SlackChannel extends Channel {
243
265
  const userContext = this.state.userContext;
244
266
  return {
245
267
  channelId: userContext?.channelId ?? this.serializedThread.channelId,
268
+ editMessage: async (messageTs, renderable) => {
269
+ const adapter = await this._adapterPromise;
270
+ if (adapter === null) {
271
+ throw new Error("SlackChannel: adapter not initialized.");
272
+ }
273
+ await adapter.editMessage(this.serializedThread.id, messageTs, await this.toPostableMessage(renderable));
274
+ },
246
275
  listRecentMessages: async () => (thread.recentMessages ?? []).map((message) => toSlackThreadMessage(message)),
247
276
  post: async (renderable) => {
248
277
  await thread.post(await this.toPostableMessage(renderable));
@@ -297,13 +326,16 @@ export class SlackChannel extends Channel {
297
326
  if (this._threadPromise !== null) {
298
327
  return this._threadPromise;
299
328
  }
300
- this._threadPromise = Promise.all([
329
+ const loadResult = Promise.all([
301
330
  import("@chat-adapter/slack"),
302
331
  import("chat"),
303
332
  ]).then(([slackModule, chatModule]) => {
304
333
  const adapter = slackModule.createSlackAdapter({ botToken: this.botToken });
305
- return chatModule.ThreadImpl.fromJSON(this.serializedThread, adapter);
334
+ const thread = chatModule.ThreadImpl.fromJSON(this.serializedThread, adapter);
335
+ return { adapter, thread };
306
336
  });
337
+ this._adapterPromise = loadResult.then(({ adapter }) => adapter);
338
+ this._threadPromise = loadResult.then(({ thread }) => thread);
307
339
  return this._threadPromise;
308
340
  }
309
341
  }
@@ -314,8 +346,8 @@ export class SlackChannel extends Channel {
314
346
  * `actionId`. Selects encode `requestId` as the `actionId` (prefixed with
315
347
  * `select_`) and `optionId` as the `selectedOptionId`.
316
348
  *
317
- * Returns an {@link InteractionDelivery} with the mapped responses, or
318
- * `null` when no actions could be mapped.
349
+ * Returns a {@link StepInput} with the mapped responses, or `undefined`
350
+ * when no actions could be mapped.
319
351
  */
320
352
  export function deriveInputResponsesFromInteraction(interaction) {
321
353
  const inputResponses = [];
@@ -1 +1 @@
1
- {"version":3,"file":"slack-channel.js","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-channel.js","sourceRoot":"","sources":["../../../src/channel/slack-channel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import type { ContextReader } from "../context/key.js";
2
- import type { InputResponse } from "../runtime/input/types.js";
3
1
  /**
4
2
  * File attachment authored against Ash's Slack surface.
5
3
  *
@@ -168,60 +166,9 @@ export interface SlackThreadHandle {
168
166
  readonly teamId?: string;
169
167
  readonly threadId: string;
170
168
  readonly threadTs?: string;
169
+ editMessage(messageTs: string, renderable: SlackRenderable): Promise<void>;
171
170
  listRecentMessages(): Promise<readonly SlackThreadMessage[]>;
172
171
  post(renderable: SlackRenderable): Promise<void>;
173
172
  refresh(): Promise<void>;
174
173
  }
175
- /**
176
- * Context passed to `SlackChannel.onInteraction(...)`.
177
- */
178
- export interface SlackInteractionContext {
179
- readonly channelId: string;
180
- readonly continuationToken: string;
181
- /**
182
- * Read-only view of the last durable authored context committed for the
183
- * parked session.
184
- *
185
- * This is built from `getSessionSnapshot(...).context` at route time. It
186
- * contains only durable authored keys; framework-internal `ash.*` values
187
- * and per-step provider output are not included.
188
- */
189
- readonly context: ContextReader;
190
- readonly messageTs: string;
191
- readonly threadTs: string;
192
- /**
193
- * Creates a delivery that wakes the agent with the given text as
194
- * the inbound message for a new turn.
195
- */
196
- deliverMessage(message: string): InteractionDelivery;
197
- /**
198
- * Maps the interaction's button clicks and select menus to HITL
199
- * input responses. Returns an {@link InteractionDelivery} with the
200
- * mapped responses, or `undefined` when no actions could be mapped.
201
- *
202
- * Use this to explicitly take the HITL path from a custom
203
- * `onInteraction` override without going through `super`.
204
- */
205
- resolveInputResponses(): InteractionDelivery | undefined;
206
- replaceCurrentMessage(renderable: SlackRenderable): Promise<void>;
207
- }
208
- /**
209
- * Delivery intent returned from `SlackChannel.onInteraction(...)`.
210
- *
211
- * - `{ message }` — wake the agent with a text message derived from the interaction.
212
- * - `{ inputResponses }` — deliver structured HITL responses to the parked session.
213
- * - `null` or `undefined` — nothing to deliver (the interaction was handled inline
214
- * or is a no-op).
215
- *
216
- * The base {@link SlackChannel} implementation calls
217
- * `ctx.resolveInputResponses()` which maps button clicks and select
218
- * menus to `inputResponses` automatically. Subclasses override
219
- * `onInteraction` to handle custom actions, call
220
- * `ctx.resolveInputResponses()` for the explicit HITL path, or return
221
- * `{ message }` to wake the agent with freeform input.
222
- */
223
- export interface InteractionDelivery {
224
- readonly inputResponses?: readonly InputResponse[];
225
- readonly message?: string;
226
- }
227
174
  //# sourceMappingURL=slack-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack-types.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-types.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  import type { StepInput } from "../harness/types.js";
2
- import { type HandleMessageStreamEvent } from "../protocol/message.js";
2
+ import type { HandleMessageStreamEvent } from "../protocol/message.js";
3
3
  import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
4
+ /**
5
+ * Deliver payload for subagent channels. Subagent channels only receive
6
+ * text messages — the runtime wraps the initial input as `{ message }`.
7
+ */
8
+ export interface SubagentDeliverPayload extends DeliverPayload {
9
+ }
4
10
  /**
5
11
  * Serializable state for the subagent channel.
6
12
  *
@@ -10,32 +16,37 @@ import { Channel, type ContextAccessor, type DeliverPayload } from "./types.js";
10
16
  */
11
17
  export interface SubagentChannelState {
12
18
  readonly callId: string;
19
+ readonly parentContinuationToken: string;
20
+ readonly parentSessionId: string;
21
+ readonly parentTurnId: string;
13
22
  readonly subagentName: string;
14
23
  }
15
24
  /**
16
25
  * Channel attached to a delegated subagent child run.
17
26
  *
18
- * Wraps every event in a `subagent.event` envelope tagged with the
19
- * child's call id and subagent name and writes the envelope to the
20
- * child's event stream. The parent's subagent tool wrapper drains
21
- * that stream and forwards each pre-wrapped envelope verbatim to its
22
- * own emit function — no envelope-construction logic in the pump.
27
+ * Keeps only the durable delegation metadata needed by the runtime:
28
+ * lineage for the child `session.started` event and the parent hook token
29
+ * used to resume the parked parent workflow when the child completes.
23
30
  *
24
- * Holding the wrapping responsibility inside the channel
25
- * (rather than in the parent-side pump) keeps delivery policy in the
26
- * channel layer (CLAUDE.md rule 17) and makes the subagent channel
27
- * structurally and behaviorally parallel to other channels
28
- * like {@link SlackChannel} that hold serializable state and
29
- * do real work in `onEvent`.
31
+ * Child events are written to the child stream verbatim. Clients that need
32
+ * live subagent progress subscribe directly to that child session stream.
30
33
  */
31
- export declare class SubagentChannel extends Channel {
34
+ export declare class SubagentChannel extends Channel<SubagentDeliverPayload> {
32
35
  static readonly kind = "subagent";
33
36
  private readonly _state;
34
37
  constructor(state: SubagentChannelState);
35
38
  get callId(): string;
39
+ get parentContinuationToken(): string;
40
+ get parentSessionId(): string;
41
+ get parentTurnId(): string;
36
42
  get subagentName(): string;
43
+ /**
44
+ * Enriches child `session.started` events with parent lineage. All other
45
+ * events pass through unchanged — child events are written to the child
46
+ * stream verbatim.
47
+ */
37
48
  onEvent(event: HandleMessageStreamEvent): Promise<HandleMessageStreamEvent>;
38
- onDeliver(_ctx: ContextAccessor, payload: DeliverPayload): Promise<StepInput>;
49
+ onDeliver(_ctx: ContextAccessor, payload: SubagentDeliverPayload): Promise<StepInput | undefined>;
39
50
  serialize(): Record<string, unknown>;
40
51
  }
41
52
  //# sourceMappingURL=subagent-channel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/subagent-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAElC,KAAK,EAAE,oBAAoB;IAKvC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAEK,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAQ3E,SAAS,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAInF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAMrC"}
1
+ {"version":3,"file":"subagent-channel.d.ts","sourceRoot":"","sources":["../../../src/channel/subagent-channel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;CAAG;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAgB,SAAQ,OAAO,CAAC,sBAAsB,CAAC;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAElC,KAAK,EAAE,oBAAoB;IAKvC,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAoB3E,SAAS,CACb,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIjC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASrC"}
@@ -1,20 +1,13 @@
1
- import { createSubagentChildEventEvent, } from "../protocol/message.js";
2
1
  import { Channel } from "./types.js";
3
2
  /**
4
3
  * Channel attached to a delegated subagent child run.
5
4
  *
6
- * Wraps every event in a `subagent.event` envelope tagged with the
7
- * child's call id and subagent name and writes the envelope to the
8
- * child's event stream. The parent's subagent tool wrapper drains
9
- * that stream and forwards each pre-wrapped envelope verbatim to its
10
- * own emit function — no envelope-construction logic in the pump.
5
+ * Keeps only the durable delegation metadata needed by the runtime:
6
+ * lineage for the child `session.started` event and the parent hook token
7
+ * used to resume the parked parent workflow when the child completes.
11
8
  *
12
- * Holding the wrapping responsibility inside the channel
13
- * (rather than in the parent-side pump) keeps delivery policy in the
14
- * channel layer (CLAUDE.md rule 17) and makes the subagent channel
15
- * structurally and behaviorally parallel to other channels
16
- * like {@link SlackChannel} that hold serializable state and
17
- * do real work in `onEvent`.
9
+ * Child events are written to the child stream verbatim. Clients that need
10
+ * live subagent progress subscribe directly to that child session stream.
18
11
  */
19
12
  export class SubagentChannel extends Channel {
20
13
  static kind = "subagent";
@@ -26,15 +19,40 @@ export class SubagentChannel extends Channel {
26
19
  get callId() {
27
20
  return this._state.callId;
28
21
  }
22
+ get parentContinuationToken() {
23
+ return this._state.parentContinuationToken;
24
+ }
25
+ get parentSessionId() {
26
+ return this._state.parentSessionId;
27
+ }
28
+ get parentTurnId() {
29
+ return this._state.parentTurnId;
30
+ }
29
31
  get subagentName() {
30
32
  return this._state.subagentName;
31
33
  }
34
+ /**
35
+ * Enriches child `session.started` events with parent lineage. All other
36
+ * events pass through unchanged — child events are written to the child
37
+ * stream verbatim.
38
+ */
32
39
  async onEvent(event) {
33
- return createSubagentChildEventEvent({
34
- callId: this._state.callId,
35
- event,
36
- subagentName: this._state.subagentName,
37
- });
40
+ if (event.type !== "session.started") {
41
+ return event;
42
+ }
43
+ return {
44
+ data: {
45
+ ...event.data,
46
+ invocation: {
47
+ kind: "subagent",
48
+ name: this._state.subagentName,
49
+ parentCallId: this._state.callId,
50
+ parentSessionId: this._state.parentSessionId,
51
+ parentTurnId: this._state.parentTurnId,
52
+ },
53
+ },
54
+ type: "session.started",
55
+ };
38
56
  }
39
57
  async onDeliver(_ctx, payload) {
40
58
  return payload;
@@ -42,6 +60,9 @@ export class SubagentChannel extends Channel {
42
60
  serialize() {
43
61
  return {
44
62
  callId: this._state.callId,
63
+ parentContinuationToken: this._state.parentContinuationToken,
64
+ parentSessionId: this._state.parentSessionId,
65
+ parentTurnId: this._state.parentTurnId,
45
66
  subagentName: this._state.subagentName,
46
67
  };
47
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-channel.js","sourceRoot":"","sources":["../../../src/channel/subagent-channel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAchF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,eAAgB,SAAQ,OAAO;IAC1C,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IAEjB,MAAM,CAAuB;IAE9C,YAAY,KAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,OAAO,6BAA6B,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAqB,EAAE,OAAuB;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"subagent-channel.js","sourceRoot":"","sources":["../../../src/channel/subagent-channel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAA6C,MAAM,YAAY,CAAC;AAuBhF;;;;;;;;;GASG;AACH,MAAM,OAAO,eAAgB,SAAQ,OAA+B;IAClE,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IAEjB,MAAM,CAAuB;IAE9C,YAAY,KAA2B;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC;IAC7C,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACrC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,KAA+B;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO;YACL,IAAI,EAAE;gBACJ,GAAG,KAAK,CAAC,IAAI;gBACb,UAAU,EAAE;oBACV,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;oBAC9B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;oBAChC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;oBAC5C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;iBACvC;aACF;YACD,IAAI,EAAE,iBAAiB;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAqB,EACrB,OAA+B;QAE/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS;QACP,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB;YAC5D,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;YAC5C,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC"}