@amodalai/runtime 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/src/__fixtures__/README.md +4 -0
  2. package/dist/src/__fixtures__/e2e.test.d.ts +6 -0
  3. package/dist/src/__fixtures__/e2e.test.js +211 -0
  4. package/dist/src/__fixtures__/e2e.test.js.map +1 -0
  5. package/dist/src/__fixtures__/smoke-agent/automations/delivery-callback-test.json +9 -0
  6. package/dist/src/__fixtures__/smoke-agent/connections/mock-mcp/spec.json +1 -1
  7. package/dist/src/__fixtures__/smoke.test.js +715 -29
  8. package/dist/src/__fixtures__/smoke.test.js.map +1 -1
  9. package/dist/src/__fixtures__/test-env.d.ts +27 -0
  10. package/dist/src/__fixtures__/test-env.js +64 -0
  11. package/dist/src/__fixtures__/test-env.js.map +1 -0
  12. package/dist/src/__fixtures__/test-helpers.d.ts +30 -0
  13. package/dist/src/__fixtures__/test-helpers.js +120 -0
  14. package/dist/src/__fixtures__/test-helpers.js.map +1 -0
  15. package/dist/src/agent/agent-types.d.ts +22 -0
  16. package/dist/src/agent/agent-types.js.map +1 -1
  17. package/dist/src/agent/automation-bridge.d.ts +9 -0
  18. package/dist/src/agent/automation-bridge.js +26 -0
  19. package/dist/src/agent/automation-bridge.js.map +1 -1
  20. package/dist/src/agent/automation-bridge.test.js +63 -0
  21. package/dist/src/agent/automation-bridge.test.js.map +1 -1
  22. package/dist/src/agent/local-server.d.ts +0 -7
  23. package/dist/src/agent/local-server.js +230 -86
  24. package/dist/src/agent/local-server.js.map +1 -1
  25. package/dist/src/agent/local-server.test.js +14 -8
  26. package/dist/src/agent/local-server.test.js.map +1 -1
  27. package/dist/src/agent/loop-types.d.ts +81 -2
  28. package/dist/src/agent/loop-types.js +4 -0
  29. package/dist/src/agent/loop-types.js.map +1 -1
  30. package/dist/src/agent/loop.js +16 -3
  31. package/dist/src/agent/loop.js.map +1 -1
  32. package/dist/src/agent/loop.test.js +572 -8
  33. package/dist/src/agent/loop.test.js.map +1 -1
  34. package/dist/src/agent/proactive/delivery-router.d.ts +68 -0
  35. package/dist/src/agent/proactive/delivery-router.js +337 -0
  36. package/dist/src/agent/proactive/delivery-router.js.map +1 -0
  37. package/dist/src/agent/proactive/delivery-router.test.d.ts +6 -0
  38. package/dist/src/agent/proactive/delivery-router.test.js +455 -0
  39. package/dist/src/agent/proactive/delivery-router.test.js.map +1 -0
  40. package/dist/src/agent/proactive/proactive-runner.d.ts +23 -1
  41. package/dist/src/agent/proactive/proactive-runner.js +42 -10
  42. package/dist/src/agent/proactive/proactive-runner.js.map +1 -1
  43. package/dist/src/agent/proactive/proactive-runner.test.js +0 -2
  44. package/dist/src/agent/proactive/proactive-runner.test.js.map +1 -1
  45. package/dist/src/agent/routes/admin-chat-abort.test.d.ts +6 -0
  46. package/dist/src/agent/routes/admin-chat-abort.test.js +206 -0
  47. package/dist/src/agent/routes/admin-chat-abort.test.js.map +1 -0
  48. package/dist/src/agent/routes/admin-chat.js +0 -2
  49. package/dist/src/agent/routes/admin-chat.js.map +1 -1
  50. package/dist/src/agent/routes/task.test.js +0 -2
  51. package/dist/src/agent/routes/task.test.js.map +1 -1
  52. package/dist/src/agent/snapshot-server.js +0 -2
  53. package/dist/src/agent/snapshot-server.js.map +1 -1
  54. package/dist/src/agent/states/compacting.js +5 -3
  55. package/dist/src/agent/states/compacting.js.map +1 -1
  56. package/dist/src/agent/states/confirming.js +3 -0
  57. package/dist/src/agent/states/confirming.js.map +1 -1
  58. package/dist/src/agent/states/dispatching.js +45 -1
  59. package/dist/src/agent/states/dispatching.js.map +1 -1
  60. package/dist/src/agent/states/executing.js +225 -81
  61. package/dist/src/agent/states/executing.js.map +1 -1
  62. package/dist/src/agent/states/streaming.js +14 -0
  63. package/dist/src/agent/states/streaming.js.map +1 -1
  64. package/dist/src/agent/states/thinking.d.ts +1 -1
  65. package/dist/src/agent/states/thinking.js +246 -29
  66. package/dist/src/agent/states/thinking.js.map +1 -1
  67. package/dist/src/agent/token-estimate.d.ts +20 -6
  68. package/dist/src/agent/token-estimate.js +24 -3
  69. package/dist/src/agent/token-estimate.js.map +1 -1
  70. package/dist/src/agent/token-estimate.test.d.ts +6 -0
  71. package/dist/src/agent/token-estimate.test.js +44 -0
  72. package/dist/src/agent/token-estimate.test.js.map +1 -0
  73. package/dist/src/api/create-agent.js +0 -3
  74. package/dist/src/api/create-agent.js.map +1 -1
  75. package/dist/src/api/types.d.ts +0 -2
  76. package/dist/src/env-ref.d.ts +13 -0
  77. package/dist/src/env-ref.js +31 -0
  78. package/dist/src/env-ref.js.map +1 -0
  79. package/dist/src/env-ref.test.d.ts +6 -0
  80. package/dist/src/env-ref.test.js +34 -0
  81. package/dist/src/env-ref.test.js.map +1 -0
  82. package/dist/src/errors.d.ts +15 -0
  83. package/dist/src/errors.js +22 -0
  84. package/dist/src/errors.js.map +1 -1
  85. package/dist/src/errors.test.js +2 -2
  86. package/dist/src/errors.test.js.map +1 -1
  87. package/dist/src/events/event-bus.d.ts +54 -0
  88. package/dist/src/events/event-bus.js +84 -0
  89. package/dist/src/events/event-bus.js.map +1 -0
  90. package/dist/src/events/event-bus.test.d.ts +6 -0
  91. package/dist/src/events/event-bus.test.js +112 -0
  92. package/dist/src/events/event-bus.test.js.map +1 -0
  93. package/dist/src/events/events-route.d.ts +36 -0
  94. package/dist/src/events/events-route.js +80 -0
  95. package/dist/src/events/events-route.js.map +1 -0
  96. package/dist/src/events/events-route.test.d.ts +6 -0
  97. package/dist/src/events/events-route.test.js +134 -0
  98. package/dist/src/events/events-route.test.js.map +1 -0
  99. package/dist/src/events/store-event-wrapper.d.ts +19 -0
  100. package/dist/src/events/store-event-wrapper.js +57 -0
  101. package/dist/src/events/store-event-wrapper.js.map +1 -0
  102. package/dist/src/events/store-event-wrapper.test.d.ts +6 -0
  103. package/dist/src/events/store-event-wrapper.test.js +91 -0
  104. package/dist/src/events/store-event-wrapper.test.js.map +1 -0
  105. package/dist/src/middleware/auth.d.ts +0 -2
  106. package/dist/src/middleware/auth.js.map +1 -1
  107. package/dist/src/providers/search-provider.d.ts +64 -0
  108. package/dist/src/providers/search-provider.js +174 -0
  109. package/dist/src/providers/search-provider.js.map +1 -0
  110. package/dist/src/providers/types.d.ts +8 -0
  111. package/dist/src/routes/ai-stream.d.ts +15 -0
  112. package/dist/src/routes/ai-stream.js +9 -0
  113. package/dist/src/routes/ai-stream.js.map +1 -1
  114. package/dist/src/routes/chat-stream.d.ts +6 -0
  115. package/dist/src/routes/chat-stream.js +2 -0
  116. package/dist/src/routes/chat-stream.js.map +1 -1
  117. package/dist/src/routes/chat.d.ts +6 -0
  118. package/dist/src/routes/chat.js +2 -0
  119. package/dist/src/routes/chat.js.map +1 -1
  120. package/dist/src/routes/session-resolver.d.ts +5 -0
  121. package/dist/src/routes/session-resolver.js +1 -15
  122. package/dist/src/routes/session-resolver.js.map +1 -1
  123. package/dist/src/routes/session-resolver.test.js +7 -6
  124. package/dist/src/routes/session-resolver.test.js.map +1 -1
  125. package/dist/src/server.d.ts +6 -0
  126. package/dist/src/server.js +2 -0
  127. package/dist/src/server.js.map +1 -1
  128. package/dist/src/session/drizzle-session-store.d.ts +56 -0
  129. package/dist/src/session/drizzle-session-store.js +203 -0
  130. package/dist/src/session/drizzle-session-store.js.map +1 -0
  131. package/dist/src/session/manager.d.ts +6 -3
  132. package/dist/src/session/manager.js +46 -16
  133. package/dist/src/session/manager.js.map +1 -1
  134. package/dist/src/session/manager.test.js +12 -18
  135. package/dist/src/session/manager.test.js.map +1 -1
  136. package/dist/src/session/pglite-session-store.d.ts +23 -0
  137. package/dist/src/session/pglite-session-store.js +70 -0
  138. package/dist/src/session/pglite-session-store.js.map +1 -0
  139. package/dist/src/session/postgres-session-store.d.ts +44 -0
  140. package/dist/src/session/postgres-session-store.js +138 -0
  141. package/dist/src/session/postgres-session-store.js.map +1 -0
  142. package/dist/src/session/session-builder.d.ts +0 -2
  143. package/dist/src/session/session-builder.js +22 -2
  144. package/dist/src/session/session-builder.js.map +1 -1
  145. package/dist/src/session/session-builder.test.js +0 -2
  146. package/dist/src/session/session-builder.test.js.map +1 -1
  147. package/dist/src/session/session-store-selector.d.ts +49 -0
  148. package/dist/src/session/session-store-selector.js +60 -0
  149. package/dist/src/session/session-store-selector.js.map +1 -0
  150. package/dist/src/session/session-store-selector.test.d.ts +6 -0
  151. package/dist/src/session/session-store-selector.test.js +79 -0
  152. package/dist/src/session/session-store-selector.test.js.map +1 -0
  153. package/dist/src/session/store.d.ts +146 -32
  154. package/dist/src/session/store.js +126 -138
  155. package/dist/src/session/store.js.map +1 -1
  156. package/dist/src/session/store.test.js +385 -107
  157. package/dist/src/session/store.test.js.map +1 -1
  158. package/dist/src/session/tool-context-factory.d.ts +3 -2
  159. package/dist/src/session/tool-context-factory.js +1 -2
  160. package/dist/src/session/tool-context-factory.js.map +1 -1
  161. package/dist/src/session/tool-context-factory.test.js +1 -4
  162. package/dist/src/session/tool-context-factory.test.js.map +1 -1
  163. package/dist/src/session/types.d.ts +13 -6
  164. package/dist/src/stores/schema.d.ts +0 -34
  165. package/dist/src/stores/schema.js +6 -4
  166. package/dist/src/stores/schema.js.map +1 -1
  167. package/dist/src/tools/admin-file-tools.d.ts +29 -0
  168. package/dist/src/tools/admin-file-tools.js +525 -11
  169. package/dist/src/tools/admin-file-tools.js.map +1 -1
  170. package/dist/src/tools/admin-file-tools.test.js +373 -4
  171. package/dist/src/tools/admin-file-tools.test.js.map +1 -1
  172. package/dist/src/tools/custom-tool-adapter.test.js +0 -1
  173. package/dist/src/tools/custom-tool-adapter.test.js.map +1 -1
  174. package/dist/src/tools/dispatch-tool.d.ts +4 -4
  175. package/dist/src/tools/fetch-url-tool.d.ts +23 -0
  176. package/dist/src/tools/fetch-url-tool.js +333 -0
  177. package/dist/src/tools/fetch-url-tool.js.map +1 -0
  178. package/dist/src/tools/fetch-url-tool.test.d.ts +6 -0
  179. package/dist/src/tools/fetch-url-tool.test.js +228 -0
  180. package/dist/src/tools/fetch-url-tool.test.js.map +1 -0
  181. package/dist/src/tools/mcp-tool-adapter.test.js +0 -1
  182. package/dist/src/tools/mcp-tool-adapter.test.js.map +1 -1
  183. package/dist/src/tools/registry.test.js +0 -1
  184. package/dist/src/tools/registry.test.js.map +1 -1
  185. package/dist/src/tools/request-tool.test.js +0 -1
  186. package/dist/src/tools/request-tool.test.js.map +1 -1
  187. package/dist/src/tools/store-tools.test.js +0 -1
  188. package/dist/src/tools/store-tools.test.js.map +1 -1
  189. package/dist/src/tools/types.d.ts +20 -2
  190. package/dist/src/tools/web-search-tool.d.ts +31 -0
  191. package/dist/src/tools/web-search-tool.js +170 -0
  192. package/dist/src/tools/web-search-tool.js.map +1 -0
  193. package/dist/src/tools/web-search-tool.test.d.ts +6 -0
  194. package/dist/src/tools/web-search-tool.test.js +153 -0
  195. package/dist/src/tools/web-search-tool.test.js.map +1 -0
  196. package/dist/src/tools/web-tools-shared.d.ts +21 -0
  197. package/dist/src/tools/web-tools-shared.js +32 -0
  198. package/dist/src/tools/web-tools-shared.js.map +1 -0
  199. package/dist/src/types.d.ts +20 -0
  200. package/dist/src/types.js +13 -0
  201. package/dist/src/types.js.map +1 -1
  202. package/dist/tsconfig.tsbuildinfo +1 -1
  203. package/package.json +17 -3
  204. package/dist/src/agent/session-store.d.ts +0 -71
  205. package/dist/src/agent/session-store.js +0 -151
  206. package/dist/src/agent/session-store.js.map +0 -1
  207. package/dist/src/session/admin-file-tools.d.ts +0 -136
  208. package/dist/src/session/admin-file-tools.js +0 -240
  209. package/dist/src/session/admin-file-tools.js.map +0 -1
@@ -36,6 +36,9 @@ export async function handleConfirming(state, ctx) {
36
36
  callId: state.call.toolCallId,
37
37
  session: ctx.sessionId,
38
38
  });
39
+ // Mark this call as confirmed so EXECUTING does not re-route it back
40
+ // to CONFIRMING on the next pass (infinite-loop guard).
41
+ ctx.confirmedCallIds.add(state.call.toolCallId);
39
42
  effects.push({
40
43
  type: SSEEventType.Approved,
41
44
  resource_type: 'tool_call',
@@ -1 +1 @@
1
- {"version":3,"file":"confirming.js","sourceRoot":"","sources":["../../../../src/agent/states/confirming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAQ5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAsB,EACtB,GAAiB;IAEjB,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QAC3C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;QACpD,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAClC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9C,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;YAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;SACvB,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY,CAAC,QAAQ;YAC3B,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,OAAO,EAAE,EAAE;aACZ;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC,CAAC;IAEH,MAAM,aAAa,GAA8B;QAC/C,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,aAAsB;gBAC5B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;gBACjC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;gBAC7B,MAAM,EAAE,EAAC,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,mFAAmF,EAAC;aAC5H,CAAC;KACH,CAAC;IAEF,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC;QAChD,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"confirming.js","sourceRoot":"","sources":["../../../../src/agent/states/confirming.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAQ5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAsB,EACtB,GAAiB;IAEjB,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;QAC3C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC,CAAC;IAEH,kFAAkF;IAClF,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC;IACnD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAQ,CAAC,OAAO,EAAE,EAAE;QACpD,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;QAClC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9C,cAAc;KACf,CAAC,CAAC;IAEH,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC5C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;YACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;YAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;SACvB,CAAC,CAAC;QAEH,qEAAqE;QACrE,wDAAwD;QACxD,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY,CAAC,QAAQ;YAC3B,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK,CAAC,cAAc;gBAC3B,OAAO,EAAE,KAAK,CAAC,IAAI;gBACnB,OAAO,EAAE,EAAE;aACZ;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC,CAAC;IAEH,MAAM,aAAa,GAA8B;QAC/C,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,aAAsB;gBAC5B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;gBACjC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ;gBAC7B,MAAM,EAAE,EAAC,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,mFAAmF,EAAC;aAC5H,CAAC;KACH,CAAC;IAEF,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC;QAChD,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -51,6 +51,42 @@ export async function handleDispatching(state, ctx) {
51
51
  maxTurns: task.maxTurns ?? DEFAULT_CHILD_MAX_TURNS,
52
52
  parentToolCallId: toolCallId,
53
53
  });
54
+ // Short-circuit: if the parent is already out of budget, don't bother
55
+ // spinning up a child only to have it run one doomed turn. The child
56
+ // would inherit maxSessionTokens=0, burn through its first streaming
57
+ // call, and stop on budget_exceeded anyway. Surface a clean error
58
+ // result to the parent instead.
59
+ if (ctx.maxSessionTokens !== undefined &&
60
+ ctx.usage.totalTokens >= ctx.maxSessionTokens) {
61
+ ctx.logger.warn('dispatch_skipped_budget_exhausted', {
62
+ session: ctx.sessionId,
63
+ agent: task.agentName,
64
+ totalTokens: ctx.usage.totalTokens,
65
+ maxSessionTokens: ctx.maxSessionTokens,
66
+ parentToolCallId: toolCallId,
67
+ });
68
+ const result = {
69
+ callId: toolCallId,
70
+ toolName: DISPATCH_TOOL_NAME,
71
+ status: 'error',
72
+ content: `Sub-agent dispatch skipped: session token budget (${ctx.maxSessionTokens}) already reached.`,
73
+ };
74
+ effects.push({
75
+ type: SSEEventType.ToolCallResult,
76
+ tool_id: toolCallId,
77
+ status: result.status,
78
+ duration_ms: Date.now() - startedAt,
79
+ error: result.content,
80
+ timestamp: new Date().toISOString(),
81
+ });
82
+ const executingState = {
83
+ type: 'executing',
84
+ current: { toolCallId, toolName: DISPATCH_TOOL_NAME, args: {} },
85
+ queue: state.queue,
86
+ results: state.results,
87
+ };
88
+ return nextAfterToolResult(executingState, result, effects, ctx);
89
+ }
54
90
  // Build child tool registry from the parent's subset
55
91
  const childRegistry = createToolRegistry();
56
92
  const subsetTools = ctx.toolRegistry.subset(task.toolSubset);
@@ -74,7 +110,6 @@ export async function handleDispatching(state, ctx) {
74
110
  logger: ctx.logger,
75
111
  signal: childSignal,
76
112
  sessionId: ctx.sessionId,
77
- tenantId: ctx.tenantId,
78
113
  user: ctx.user,
79
114
  systemPrompt: childSystemPrompt,
80
115
  messages: [],
@@ -82,9 +117,18 @@ export async function handleDispatching(state, ctx) {
82
117
  turnCount: 0,
83
118
  maxTurns: task.maxTurns ?? DEFAULT_CHILD_MAX_TURNS,
84
119
  maxContextTokens: task.maxContextTokens ?? DEFAULT_CHILD_MAX_CONTEXT_TOKENS,
120
+ // Propagate parent's remaining token budget so a child can't blow through
121
+ // more than the parent had left. Child usage merges back into parent after
122
+ // the child completes, so the parent's next budget check catches any
123
+ // overshoot on subsequent turns regardless.
124
+ maxSessionTokens: ctx.maxSessionTokens !== undefined
125
+ ? Math.max(0, ctx.maxSessionTokens - ctx.usage.totalTokens)
126
+ : undefined,
85
127
  config: { ...DEFAULT_LOOP_CONFIG },
86
128
  compactionFailures: 0,
87
129
  preExecutionCache: new Map(),
130
+ confirmedCallIds: new Set(),
131
+ disabledToolsUntilTurn: new Map(),
88
132
  waitForConfirmation: ctx.waitForConfirmation,
89
133
  buildToolContext: ctx.buildToolContext,
90
134
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dispatching.js","sourceRoot":"","sources":["../../../../src/agent/states/dispatching.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatching.js","sourceRoot":"","sources":["../../../../src/agent/states/dispatching.ts"],"names":[],"mappings":"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"}
@@ -49,12 +49,34 @@ export async function handleExecuting(state, ctx) {
49
49
  return nextAfterToolResult(state, result, effects, ctx);
50
50
  }
51
51
  }
52
- // 3. Check permissions
53
- // Currently scoped to connection tools only they have access.json ACLs
54
- // with endpoint-level allow/deny/confirm rules. Store tools and admin tools
55
- // have their own guards (read-only paths, blocked filenames, schema validation).
56
- // TODO: generalize to any tool via a requiresConfirmation metadata flag on
57
- // ToolDefinition so store/custom/admin tools can opt into the same gate.
52
+ // 3a. Tool-level confirmation gate — applies to any tool that sets
53
+ // `requiresConfirmation: true`. Routes through CONFIRMING on the first
54
+ // call; subsequent passes (after user approval) are tracked in
55
+ // `ctx.confirmedCallIds` to avoid an infinite EXECUTING CONFIRMING
56
+ // loop. Connection tools handle confirmation via their ACL path below
57
+ // and should leave this flag undefined.
58
+ if (toolDef.requiresConfirmation && !ctx.confirmedCallIds.has(current.toolCallId)) {
59
+ ctx.logger.info('tool_confirmation_required', {
60
+ tool: current.toolName,
61
+ callId: current.toolCallId,
62
+ session: ctx.sessionId,
63
+ reason: 'tool_flagged_requires_confirmation',
64
+ });
65
+ return {
66
+ next: { type: 'confirming', call: current, remainingQueue: queue },
67
+ effects: [...effects, {
68
+ type: SSEEventType.ConfirmationRequired,
69
+ endpoint: current.toolName,
70
+ method: 'EXECUTE',
71
+ reason: `Tool "${current.toolName}" requires user confirmation`,
72
+ escalated: false,
73
+ timestamp,
74
+ }],
75
+ };
76
+ }
77
+ // 3b. Connection-tool ACL check — access.json rules with endpoint-level
78
+ // allow/deny/confirm tiers. Store/admin tools have their own guards
79
+ // (read-only paths, blocked filenames, schema validation).
58
80
  if (toolDef.metadata?.category === 'connection' && toolDef.metadata.connection) {
59
81
  const method = typeof current.args['method'] === 'string' ? current.args['method'] : 'GET';
60
82
  const endpoint = typeof current.args['endpoint'] === 'string' ? current.args['endpoint'] : '/';
@@ -81,7 +103,9 @@ export async function handleExecuting(state, ctx) {
81
103
  });
82
104
  return nextAfterToolResult(state, result, effects, ctx);
83
105
  }
84
- if (permResult.allowed && permResult.requiresConfirmation) {
106
+ if (permResult.allowed &&
107
+ permResult.requiresConfirmation &&
108
+ !ctx.confirmedCallIds.has(current.toolCallId)) {
85
109
  return {
86
110
  next: { type: 'confirming', call: current, remainingQueue: queue },
87
111
  effects: [...effects, {
@@ -125,80 +149,190 @@ export async function handleExecuting(state, ctx) {
125
149
  effects,
126
150
  };
127
151
  }
128
- // 5. Execute the tool
129
- effects.push({
130
- type: SSEEventType.ToolCallStart,
131
- tool_name: current.toolName,
132
- tool_id: current.toolCallId,
133
- parameters: sanitizeParams(current.args),
134
- timestamp,
152
+ // 5. Decide: can we batch this call with leading read-only calls from the
153
+ // queue? Batching lets independent read-only tools run concurrently
154
+ // instead of taking one EXECUTING transition per call. Non-batchable
155
+ // calls (writes, confirmation-required, connection ACL, dispatch) still
156
+ // flow through the single-call path for correctness.
157
+ const batch = collectBatch(current, toolDef, queue, ctx);
158
+ if (batch.calls.length > 1) {
159
+ return executeBatch(state, batch, effects, ctx);
160
+ }
161
+ // Single-call path: execute the current tool, emit events, advance state.
162
+ effects.push(buildToolCallStartEvent(current, timestamp));
163
+ const { result, duration } = await runToolCall(current, toolDef, ctx);
164
+ effects.push(buildToolCallResultEvent(current, result, duration));
165
+ ctx.logger.info('tool_call', {
166
+ tool: current.toolName,
167
+ callId: current.toolCallId,
168
+ status: result.status,
169
+ session: ctx.sessionId,
170
+ duration,
135
171
  });
172
+ return nextAfterToolResult(state, result, effects, ctx);
173
+ }
174
+ /**
175
+ * A call is batchable when it can't trigger a mid-queue state-machine
176
+ * transition. Connection tools are excluded because their ACL check can
177
+ * return `requiresConfirmation`, which would need a transition to
178
+ * CONFIRMING — and a batch can only produce one `next` state.
179
+ * Confirmation-flagged and dispatch tools are excluded for the same
180
+ * reason: the state machine must route them individually.
181
+ */
182
+ function isBatchable(toolDef) {
183
+ return (toolDef.readOnly === true &&
184
+ !toolDef.requiresConfirmation &&
185
+ toolDef.metadata?.category !== 'connection');
186
+ }
187
+ /**
188
+ * Collect the current call plus the leading contiguous run of batchable
189
+ * calls from the queue. Stops at the first non-batchable call so writes
190
+ * and gated calls stay sequential.
191
+ */
192
+ function collectBatch(current, currentToolDef, queue, ctx) {
193
+ if (!isBatchable(currentToolDef)) {
194
+ return { calls: [{ call: current, toolDef: currentToolDef }], remainingQueue: queue };
195
+ }
196
+ const calls = [{ call: current, toolDef: currentToolDef }];
197
+ let i = 0;
198
+ for (; i < queue.length; i++) {
199
+ const peek = queue[i];
200
+ const peekDef = ctx.toolRegistry.get(peek.toolName);
201
+ if (!peekDef || !isBatchable(peekDef))
202
+ break;
203
+ calls.push({ call: peek, toolDef: peekDef });
204
+ }
205
+ return { calls, remainingQueue: queue.slice(i) };
206
+ }
207
+ /**
208
+ * Run a batch of read-only tool calls concurrently. Emits per-call
209
+ * ToolCallStart events first (so UIs can render N in-flight cards at once),
210
+ * awaits all results via Promise.all, then emits per-call ToolCallResult
211
+ * events in the original call order. A failure in one call does not block
212
+ * the others — each produces its own result message for the model.
213
+ */
214
+ async function executeBatch(state, batch, priorEffects, ctx) {
215
+ const effects = [...priorEffects];
216
+ const startTimestamp = new Date().toISOString();
217
+ // Fire all start events before kicking off the work
218
+ for (const { call } of batch.calls) {
219
+ effects.push(buildToolCallStartEvent(call, startTimestamp));
220
+ }
221
+ // Run all calls concurrently (pre-exec cache is used per-call inside runToolCall)
222
+ const runs = await Promise.all(batch.calls.map(({ call, toolDef }) => runToolCall(call, toolDef, ctx)));
223
+ // Emit result events + structured logs in the original order
224
+ for (let i = 0; i < batch.calls.length; i++) {
225
+ const { call } = batch.calls[i];
226
+ const { result, duration } = runs[i];
227
+ effects.push(buildToolCallResultEvent(call, result, duration));
228
+ ctx.logger.info('tool_call', {
229
+ tool: call.toolName,
230
+ callId: call.toolCallId,
231
+ status: result.status,
232
+ session: ctx.sessionId,
233
+ duration,
234
+ });
235
+ }
236
+ // Apply smart-snipping per result and append each as a tool message in
237
+ // call order, then advance the state. Batched results never individually
238
+ // transition — they collectively advance the state once.
239
+ const snippedResults = runs.map(({ result }) => snipIfOversized(result, ctx));
240
+ for (const result of snippedResults) {
241
+ ctx.messages = [...ctx.messages, buildToolResultMessage(result)];
242
+ }
243
+ const allResults = [...state.results, ...snippedResults];
244
+ // More calls pending? Continue in EXECUTING with the next one.
245
+ if (batch.remainingQueue.length > 0) {
246
+ const [next, ...rest] = batch.remainingQueue;
247
+ return {
248
+ next: { type: 'executing', queue: rest, current: next, results: allResults },
249
+ effects,
250
+ };
251
+ }
252
+ // Batch cleared the queue — transition to COMPACTING or THINKING.
253
+ return transitionAfterQueueEmpty(ctx, effects);
254
+ }
255
+ // ---------------------------------------------------------------------------
256
+ // Per-call execution helpers
257
+ // ---------------------------------------------------------------------------
258
+ /**
259
+ * Execute one tool call (using the pre-exec cache when present), capture
260
+ * duration, and build a ToolResult. Never throws — tool failures become
261
+ * error results the model can observe.
262
+ */
263
+ async function runToolCall(call, toolDef, ctx) {
136
264
  const startedAt = Date.now();
137
- let result;
138
265
  try {
139
266
  // Check pre-execution cache first (read-only tools started during streaming)
140
- const cached = ctx.preExecutionCache.get(current.toolCallId);
141
- const output = cached
142
- ? await cached
143
- : await executeTool(current, toolDef, ctx);
267
+ const cached = ctx.preExecutionCache.get(call.toolCallId);
268
+ const output = cached ? await cached : await executeTool(call, toolDef, ctx);
144
269
  const content = typeof output === 'string' ? output : JSON.stringify(output);
145
270
  // Detect error-as-result pattern: tool returned {error: "..."} without throwing.
146
271
  // This happens when tool internals catch errors and return them as data.
147
272
  // Treat these as failures so the SSE event shows status: 'error'.
148
- const isErrorResult = typeof output === 'object' && output !== null
149
- && 'error' in output && typeof output['error'] === 'string'
150
- && Object.keys(output).length === 1;
151
- result = {
152
- callId: current.toolCallId,
153
- toolName: current.toolName,
154
- status: isErrorResult ? 'error' : 'success',
155
- content,
156
- };
273
+ const isErrorResult = typeof output === 'object' &&
274
+ output !== null &&
275
+ 'error' in output &&
276
+ typeof output['error'] === 'string' &&
277
+ Object.keys(output).length === 1;
278
+ const duration = Date.now() - startedAt;
157
279
  if (isErrorResult) {
158
280
  ctx.logger.warn('tool_returned_error', {
159
- tool: current.toolName,
160
- callId: current.toolCallId,
281
+ tool: call.toolName,
282
+ callId: call.toolCallId,
161
283
  error: output['error'],
162
284
  session: ctx.sessionId,
163
- duration: Date.now() - startedAt,
285
+ duration,
164
286
  });
165
287
  }
288
+ return {
289
+ result: {
290
+ callId: call.toolCallId,
291
+ toolName: call.toolName,
292
+ status: isErrorResult ? 'error' : 'success',
293
+ content,
294
+ },
295
+ duration,
296
+ };
166
297
  }
167
298
  catch (err) {
168
- // Tool execution failed don't crash the loop, tell the model what happened
169
- result = {
170
- callId: current.toolCallId,
171
- toolName: current.toolName,
172
- status: 'error',
173
- content: `Tool execution failed: ${err instanceof Error ? err.message : String(err)}`,
174
- };
299
+ const duration = Date.now() - startedAt;
175
300
  ctx.logger.error('tool_execution_error', {
176
- tool: current.toolName,
177
- callId: current.toolCallId,
301
+ tool: call.toolName,
302
+ callId: call.toolCallId,
178
303
  error: err instanceof Error ? err.message : String(err),
179
304
  session: ctx.sessionId,
180
- tenant: ctx.tenantId,
181
- duration: Date.now() - startedAt,
305
+ duration,
182
306
  });
307
+ return {
308
+ result: {
309
+ callId: call.toolCallId,
310
+ toolName: call.toolName,
311
+ status: 'error',
312
+ content: `Tool execution failed: ${err instanceof Error ? err.message : String(err)}`,
313
+ },
314
+ duration,
315
+ };
183
316
  }
184
- const duration = Date.now() - startedAt;
185
- effects.push({
317
+ }
318
+ function buildToolCallStartEvent(call, timestamp) {
319
+ return {
320
+ type: SSEEventType.ToolCallStart,
321
+ tool_name: call.toolName,
322
+ tool_id: call.toolCallId,
323
+ parameters: sanitizeParams(call.args),
324
+ timestamp,
325
+ };
326
+ }
327
+ function buildToolCallResultEvent(call, result, duration) {
328
+ return {
186
329
  type: SSEEventType.ToolCallResult,
187
- tool_id: current.toolCallId,
330
+ tool_id: call.toolCallId,
188
331
  status: result.status,
189
332
  duration_ms: duration,
190
333
  ...(result.status === 'error' ? { error: result.content } : {}),
191
334
  timestamp: new Date().toISOString(),
192
- });
193
- ctx.logger.info('tool_call', {
194
- tool: current.toolName,
195
- callId: current.toolCallId,
196
- status: result.status,
197
- session: ctx.sessionId,
198
- tenant: ctx.tenantId,
199
- duration,
200
- });
201
- return nextAfterToolResult(state, result, effects, ctx);
335
+ };
202
336
  }
203
337
  /**
204
338
  * Execute a tool call, building the ToolContext from the AgentContext.
@@ -218,31 +352,11 @@ export async function executeTool(call, toolDef, ctx) {
218
352
  * After a tool result: append to messages, then continue to next call or back to THINKING.
219
353
  */
220
354
  export function nextAfterToolResult(state, result, effects, ctx) {
221
- // Smart snipping: if a tool result exceeds maxResultSize, keep the first
222
- // and last 2K chars with a [snipped] marker in between. This preserves
223
- // the beginning (usually headers/structure) and end (usually the answer)
224
- // while cutting the middle bulk.
225
- if (result.content.length > ctx.config.maxResultSize) {
226
- const originalSize = result.content.length;
227
- const keepChars = 2_000;
228
- const head = result.content.slice(0, keepChars);
229
- const tail = result.content.slice(-keepChars);
230
- result = {
231
- ...result,
232
- content: `${head}\n\n[... snipped ${originalSize - keepChars * 2} chars — full output was ${originalSize} chars ...]\n\n${tail}`,
233
- };
234
- ctx.logger.info('tool_result_snipped', {
235
- callId: result.callId,
236
- tool: result.toolName,
237
- originalSize,
238
- snippedTo: keepChars * 2,
239
- session: ctx.sessionId,
240
- });
241
- }
355
+ const snipped = snipIfOversized(result, ctx);
242
356
  // Append tool result message
243
- const resultMessage = buildToolResultMessage(result);
357
+ const resultMessage = buildToolResultMessage(snipped);
244
358
  ctx.messages = [...ctx.messages, resultMessage];
245
- const allResults = [...state.results, result];
359
+ const allResults = [...state.results, snipped];
246
360
  // More tool calls in the queue?
247
361
  if (state.queue.length > 0) {
248
362
  const [next, ...rest] = state.queue;
@@ -256,8 +370,39 @@ export function nextAfterToolResult(state, result, effects, ctx) {
256
370
  effects,
257
371
  };
258
372
  }
259
- // All tool calls done — check if context is heavy enough to compact
260
- const estimatedTokens = estimateTokenCount(ctx.messages);
373
+ return transitionAfterQueueEmpty(ctx, effects);
374
+ }
375
+ /**
376
+ * Smart snipping: if a tool result exceeds maxResultSize, keep the first
377
+ * and last 2K chars with a [snipped] marker in between. This preserves the
378
+ * beginning (usually headers/structure) and end (usually the answer) while
379
+ * cutting the middle bulk.
380
+ */
381
+ function snipIfOversized(result, ctx) {
382
+ if (result.content.length <= ctx.config.maxResultSize)
383
+ return result;
384
+ const originalSize = result.content.length;
385
+ const keepChars = 2_000;
386
+ const head = result.content.slice(0, keepChars);
387
+ const tail = result.content.slice(-keepChars);
388
+ ctx.logger.info('tool_result_snipped', {
389
+ callId: result.callId,
390
+ tool: result.toolName,
391
+ originalSize,
392
+ snippedTo: keepChars * 2,
393
+ session: ctx.sessionId,
394
+ });
395
+ return {
396
+ ...result,
397
+ content: `${head}\n\n[... snipped ${String(originalSize - keepChars * 2)} chars — full output was ${String(originalSize)} chars ...]\n\n${tail}`,
398
+ };
399
+ }
400
+ /**
401
+ * Transition after the tool-call queue is drained — either COMPACTING if
402
+ * context is heavy, or THINKING for the next LLM turn.
403
+ */
404
+ function transitionAfterQueueEmpty(ctx, effects) {
405
+ const estimatedTokens = estimateTokenCount(ctx.messages, ctx.provider);
261
406
  if (estimatedTokens > ctx.maxContextTokens * ctx.config.compactThreshold) {
262
407
  ctx.logger.info('context_compaction_triggered', {
263
408
  session: ctx.sessionId,
@@ -270,7 +415,6 @@ export function nextAfterToolResult(state, result, effects, ctx) {
270
415
  effects,
271
416
  };
272
417
  }
273
- // Context OK — back to THINKING for the next LLM turn
274
418
  return {
275
419
  next: { type: 'thinking', messages: ctx.messages },
276
420
  effects,
@@ -1 +1 @@
1
- {"version":3,"file":"executing.js","sourceRoot":"","sources":["../../../../src/agent/states/executing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executing.js","sourceRoot":"","sources":["../../../../src/agent/states/executing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAuBH,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAU5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAqB,EACrB,GAAiB;IAEjB,MAAM,EAAC,OAAO,EAAE,KAAK,EAAC,GAAG,KAAK,CAAC;IAC/B,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,sBAAsB;IACtB,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAe;YACzB,MAAM,EAAE,OAAO,CAAC,UAAU;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,SAAS,OAAO,CAAC,QAAQ,iCAAiC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACzG,CAAC;QACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,OAAO,EAAE,GAAG,CAAC,SAAS;SACvB,CAAC,CAAC;QACH,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IAChF,6DAA6D;IAC7D,IAAI,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAe;gBACzB,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,uBAAuB,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;aAC3D,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBACnC,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,OAAO,EAAE,GAAG,CAAC,SAAS;gBACtB,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM;aAChC,CAAC,CAAC;YACH,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,2EAA2E;IAC3E,mEAAmE;IACnE,yEAAyE;IACzE,0EAA0E;IAC1E,4CAA4C;IAC5C,IAAI,OAAO,CAAC,oBAAoB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;YAC5C,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,MAAM,EAAE,OAAO,CAAC,UAAU;YAC1B,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,MAAM,EAAE,oCAAoC;SAC7C,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAC;YAChE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;oBACpB,IAAI,EAAE,YAAY,CAAC,oBAAoB;oBACvC,QAAQ,EAAE,OAAO,CAAC,QAAQ;oBAC1B,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS,OAAO,CAAC,QAAQ,8BAA8B;oBAC/D,SAAS,EAAE,KAAK;oBAChB,SAAS;iBACV,CAAC;SACH,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,wEAAwE;IACxE,+DAA+D;IAC/D,IAAI,OAAO,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC/E,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,MAAM,QAAQ,GAAG,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/F,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GACV,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAEhF,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAC7C,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;YACvC,YAAY,EAAE,GAAG,MAAM,IAAI,QAAQ,EAAE;YACrC,MAAM;YACN,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,IAAI;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAe;gBACzB,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,sBAAsB,UAAU,CAAC,MAAM,EAAE;aACnD,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBACxC,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,GAAG,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,IACE,UAAU,CAAC,OAAO;YAClB,UAAU,CAAC,oBAAoB;YAC/B,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAC7C,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAC;gBAChE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE;wBACpB,IAAI,EAAE,YAAY,CAAC,oBAAoB;wBACvC,QAAQ;wBACR,MAAM;wBACN,MAAM,EAAE,UAAU,CAAC,MAAM;wBACzB,SAAS,EAAE,KAAK;wBAChB,SAAS;qBACV,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,IAAI,OAAO,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,QAAQ;aACxB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC;QAE3C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,YAAY,CAAC,aAAa;YAChC,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;YACxC,SAAS;SACV,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC;oBACpD,UAAU;oBACV,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACpC,QAAQ,EAAE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;iBAChF;gBACD,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK;gBACL,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,0EAA0E;IAC1E,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;QAC3B,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,MAAM,EAAE,OAAO,CAAC,UAAU;QAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,GAAG,CAAC,SAAS;QACtB,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAiBD;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,OAAuB;IAC1C,OAAO,CACL,OAAO,CAAC,QAAQ,KAAK,IAAI;QACzB,CAAC,OAAO,CAAC,oBAAoB;QAC7B,OAAO,CAAC,QAAQ,EAAE,QAAQ,KAAK,YAAY,CAC5C,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CACnB,OAAiB,EACjB,cAA8B,EAC9B,KAAiB,EACjB,GAAiB;IAEjB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC;QACjC,OAAO,EAAC,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;IACpF,CAAC;IAED,MAAM,KAAK,GAAgB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAC,CAAC,CAAC;IACtE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,MAAM;QAC7C,KAAK,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,EAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC;AACjD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,YAAY,CACzB,KAAqB,EACrB,KAAY,EACZ,YAAwB,EACxB,GAAiB;IAEjB,MAAM,OAAO,GAAe,CAAC,GAAG,YAAY,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEhD,oDAAoD;IACpD,KAAK,MAAM,EAAC,IAAI,EAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,kFAAkF;IAClF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CACtE,CAAC;IAEF,6DAA6D;IAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5E,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IAEzD,+DAA+D;IAC/D,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAC7C,OAAO;YACL,IAAI,EAAE,EAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAC;YAC1E,OAAO;SACR,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,OAAO,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E;;;;GAIG;AACH,KAAK,UAAU,WAAW,CACxB,IAAc,EACd,OAAuB,EACvB,GAAiB;IAEjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC;QACH,6EAA6E;QAC7E,MAAM,MAAM,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAE7E,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7E,iFAAiF;QACjF,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,aAAa,GACjB,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,OAAO,IAAI,MAAM;YACjB,OAAQ,MAAkC,CAAC,OAAO,CAAC,KAAK,QAAQ;YAChE,MAAM,CAAC,IAAI,CAAC,MAAiC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACrC,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,KAAK,EAAG,MAAkC,CAAC,OAAO,CAAC;gBACnD,OAAO,EAAE,GAAG,CAAC,SAAS;gBACtB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAC3C,OAAO;aACR;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACvD,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,QAAQ;SACT,CAAC,CAAC;QACH,OAAO;YACL,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aACtF;YACD,QAAQ;SACT,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc,EAAE,SAAiB;IAChE,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,aAAa;QAChC,SAAS,EAAE,IAAI,CAAC,QAAQ;QACxB,OAAO,EAAE,IAAI,CAAC,UAAU;QACxB,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QACrC,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAc,EAAE,MAAkB,EAAE,QAAgB;IACpF,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,cAAc;QACjC,OAAO,EAAE,IAAI,CAAC,UAAU;QACxB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,QAAQ;QACrB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAc,EACd,OAAuB,EACvB,GAAiB;IAEjB,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEtD,wDAAwD;IACxD,wEAAwE;IACxE,qEAAqE;IACrE,oCAAoC;IACpC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACpE,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAqB,EACrB,MAAkB,EAClB,OAAmB,EACnB,GAAiB;IAEjB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,6BAA6B;IAC7B,MAAM,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtD,GAAG,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/C,gCAAgC;IAChC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QACpC,OAAO;YACL,IAAI,EAAE;gBACJ,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,UAAU;aACpB;YACD,OAAO;SACR,CAAC;IACJ,CAAC;IAED,OAAO,yBAAyB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,MAAkB,EAAE,GAAiB;IAC5D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,MAAM,CAAC;IACrE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,YAAY;QACZ,SAAS,EAAE,SAAS,GAAG,CAAC;QACxB,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC,CAAC;IACH,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,GAAG,IAAI,oBAAoB,MAAM,CAAC,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC,4BAA4B,MAAM,CAAC,YAAY,CAAC,kBAAkB,IAAI,EAAE;KACjJ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAAC,GAAiB,EAAE,OAAmB;IACvE,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvE,IAAI,eAAe,GAAG,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QACzE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;YAC9C,OAAO,EAAE,GAAG,CAAC,SAAS;YACtB,eAAe;YACf,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,gBAAgB;SACvC,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,EAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAC;YACnE,OAAO;SACR,CAAC;IACJ,CAAC;IACD,OAAO;QACL,IAAI,EAAE,EAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC;QAChD,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,MAAkB;IAChD,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,aAAsB;gBAC5B,UAAU,EAAE,MAAM,CAAC,MAAM;gBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,EAAC,IAAI,EAAE,MAAe,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAC;aACvD,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAA+B;IACrD,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,iCAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,SAAS,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -23,6 +23,20 @@ import { executeTool } from './executing.js';
23
23
  export async function handleStreaming(state, ctx) {
24
24
  const effects = [];
25
25
  const toolCalls = [...state.pendingToolCalls];
26
+ // Attach passive error handlers to the derived promises BEFORE iterating
27
+ // fullStream. The AI SDK's StreamTextResult exposes fullStream + text +
28
+ // usage as separate promises that share an underlying provider fetch.
29
+ // When ctx.signal aborts, the fetch rejects, fullStream's .next() throws,
30
+ // and this for-await propagates that throw — which means we may exit
31
+ // before `await state.stream.text` (line ~137) ever runs. Without these
32
+ // handlers, the unawaited text/usage rejections escape as unhandled
33
+ // promise rejections and crash the process.
34
+ // These handlers are intentionally silent: the real error is surfaced
35
+ // either via a 'error' event on fullStream (caught below) or via the
36
+ // thrown stream error that propagates up the for-await to runAgent's
37
+ // caller's try/catch.
38
+ Promise.resolve(state.stream.text).catch(() => { });
39
+ Promise.resolve(state.stream.usage).catch(() => { });
26
40
  // Consume the full stream
27
41
  for await (const event of state.stream.fullStream) {
28
42
  if (ctx.signal.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../../src/agent/states/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../../../src/agent/states/streaming.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,4 @@ import type { ThinkingState, AgentContext, TransitionResult } from '../loop-type
10
10
  * Increments turnCount, checks for loops, clears old results,
11
11
  * then initiates a streaming LLM call.
12
12
  */
13
- export declare function handleThinking(state: ThinkingState, ctx: AgentContext): TransitionResult;
13
+ export declare function handleThinking(state: ThinkingState, ctx: AgentContext): Promise<TransitionResult>;