@pentoshi/clai 4.11.16 → 4.11.18

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 (279) hide show
  1. package/README.md +31 -22
  2. package/dist/agent/compaction/summary-execution.d.ts +1 -0
  3. package/dist/agent/compaction/summary-execution.js +25 -16
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/context/compact-with-summary.js +18 -0
  6. package/dist/agent/context/compact-with-summary.js.map +1 -1
  7. package/dist/agent/context/compaction-source-prefix.d.ts +8 -0
  8. package/dist/agent/context/compaction-source-prefix.js +26 -0
  9. package/dist/agent/context/compaction-source-prefix.js.map +1 -0
  10. package/dist/agent/plan-decision.js +5 -1
  11. package/dist/agent/plan-decision.js.map +1 -1
  12. package/dist/agent/runner.js +3 -0
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/agent/subagents/manager.d.ts +5 -0
  15. package/dist/agent/subagents/manager.js +52 -5
  16. package/dist/agent/subagents/manager.js.map +1 -1
  17. package/dist/agent/subagents/model-chain.d.ts +31 -0
  18. package/dist/agent/subagents/model-chain.js +146 -0
  19. package/dist/agent/subagents/model-chain.js.map +1 -0
  20. package/dist/agent/subagents/read-only-tools.js +362 -54
  21. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  22. package/dist/agent/subagents/tools.js +21 -1
  23. package/dist/agent/subagents/tools.js.map +1 -1
  24. package/dist/agent/subagents/types.d.ts +5 -0
  25. package/dist/agent/subagents/worker.js +106 -45
  26. package/dist/agent/subagents/worker.js.map +1 -1
  27. package/dist/agent/turn/compaction-summarizer.d.ts +1 -0
  28. package/dist/agent/turn/compaction-summarizer.js +2 -0
  29. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  30. package/dist/agent/turn/loop/run-rounds.js +2 -0
  31. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  32. package/dist/agent/turn/loop/stream-request.js +1 -0
  33. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  34. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  35. package/dist/agent/turn/setup/compaction-services.js +14 -0
  36. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  37. package/dist/agent/turn/setup/turn-budget.js +1 -9
  38. package/dist/agent/turn/setup/turn-budget.js.map +1 -1
  39. package/dist/agent/turn/subagent-inbox.d.ts +1 -0
  40. package/dist/agent/turn/subagent-inbox.js +12 -1
  41. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  42. package/dist/app/commands/catalog.js +2 -1
  43. package/dist/app/commands/catalog.js.map +1 -1
  44. package/dist/app/controllers/session-compact-helper.d.ts +2 -0
  45. package/dist/app/controllers/session-compact-helper.js +7 -3
  46. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  47. package/dist/app/controllers/session-context-usage.d.ts +2 -5
  48. package/dist/app/controllers/session-context-usage.js +28 -101
  49. package/dist/app/controllers/session-context-usage.js.map +1 -1
  50. package/dist/app/controllers/session-controller.d.ts +8 -1
  51. package/dist/app/controllers/session-controller.js +14 -11
  52. package/dist/app/controllers/session-controller.js.map +1 -1
  53. package/dist/app/controllers/session-subagents.d.ts +1 -0
  54. package/dist/app/controllers/session-subagents.js +7 -1
  55. package/dist/app/controllers/session-subagents.js.map +1 -1
  56. package/dist/classic/app/ClassicApp.js +4 -0
  57. package/dist/classic/app/ClassicApp.js.map +1 -1
  58. package/dist/classic/chrome/Chrome.d.ts +1 -1
  59. package/dist/classic/chrome/Chrome.js +1 -0
  60. package/dist/classic/chrome/Chrome.js.map +1 -1
  61. package/dist/classic/chrome/SubagentsStrip.d.ts +3 -0
  62. package/dist/classic/chrome/SubagentsStrip.js +9 -0
  63. package/dist/classic/chrome/SubagentsStrip.js.map +1 -0
  64. package/dist/classic/chrome/row-budget.d.ts +2 -0
  65. package/dist/classic/chrome/row-budget.js +4 -1
  66. package/dist/classic/chrome/row-budget.js.map +1 -1
  67. package/dist/classic/chrome/subagents-row.d.ts +9 -0
  68. package/dist/classic/chrome/subagents-row.js +13 -0
  69. package/dist/classic/chrome/subagents-row.js.map +1 -0
  70. package/dist/classic/panels/keys-panel.d.ts +2 -2
  71. package/dist/classic/panels/keys-panel.js +24 -8
  72. package/dist/classic/panels/keys-panel.js.map +1 -1
  73. package/dist/classic/panels/pager-panel.d.ts +2 -2
  74. package/dist/classic/panels/pager-panel.js +7 -6
  75. package/dist/classic/panels/pager-panel.js.map +1 -1
  76. package/dist/classic/panels/panel-host.js +7 -2
  77. package/dist/classic/panels/panel-host.js.map +1 -1
  78. package/dist/commands/providers.js +8 -0
  79. package/dist/commands/providers.js.map +1 -1
  80. package/dist/llm/anthropic.js +29 -1
  81. package/dist/llm/anthropic.js.map +1 -1
  82. package/dist/llm/bynara.js +9 -20
  83. package/dist/llm/bynara.js.map +1 -1
  84. package/dist/llm/capabilities.d.ts +6 -1
  85. package/dist/llm/capabilities.js +130 -6
  86. package/dist/llm/capabilities.js.map +1 -1
  87. package/dist/llm/capability/state.d.ts +1 -1
  88. package/dist/llm/capability/state.js +16 -2
  89. package/dist/llm/capability/state.js.map +1 -1
  90. package/dist/llm/capability/tool-dialect.js +4 -0
  91. package/dist/llm/capability/tool-dialect.js.map +1 -1
  92. package/dist/llm/capability/vision-patterns.d.ts +1 -0
  93. package/dist/llm/capability/vision-patterns.js +31 -1
  94. package/dist/llm/capability/vision-patterns.js.map +1 -1
  95. package/dist/llm/capability/vision-registry.js +8 -2
  96. package/dist/llm/capability/vision-registry.js.map +1 -1
  97. package/dist/llm/context-windows.js +1 -0
  98. package/dist/llm/context-windows.js.map +1 -1
  99. package/dist/llm/deepseek.d.ts +2 -0
  100. package/dist/llm/deepseek.js +91 -0
  101. package/dist/llm/deepseek.js.map +1 -0
  102. package/dist/llm/glm.d.ts +2 -0
  103. package/dist/llm/glm.js +91 -0
  104. package/dist/llm/glm.js.map +1 -0
  105. package/dist/llm/kimi.d.ts +2 -0
  106. package/dist/llm/kimi.js +91 -0
  107. package/dist/llm/kimi.js.map +1 -0
  108. package/dist/llm/learned-capabilities.js +9 -3
  109. package/dist/llm/learned-capabilities.js.map +1 -1
  110. package/dist/llm/lowest-reasoning.js +20 -7
  111. package/dist/llm/lowest-reasoning.js.map +1 -1
  112. package/dist/llm/minimax.d.ts +2 -0
  113. package/dist/llm/minimax.js +91 -0
  114. package/dist/llm/minimax.js.map +1 -0
  115. package/dist/llm/modal.js +5 -0
  116. package/dist/llm/modal.js.map +1 -1
  117. package/dist/llm/model-layers/model-rules.js +24 -0
  118. package/dist/llm/model-layers/model-rules.js.map +1 -1
  119. package/dist/llm/ollama.js +26 -1
  120. package/dist/llm/ollama.js.map +1 -1
  121. package/dist/llm/provider-identity.js +25 -0
  122. package/dist/llm/provider-identity.js.map +1 -1
  123. package/dist/llm/provider-info-text.js +121 -3
  124. package/dist/llm/provider-info-text.js.map +1 -1
  125. package/dist/llm/provider-profile-layers.js +118 -0
  126. package/dist/llm/provider-profile-layers.js.map +1 -1
  127. package/dist/llm/provider.js +14 -2
  128. package/dist/llm/provider.js.map +1 -1
  129. package/dist/llm/reasoning-capability.js +4 -0
  130. package/dist/llm/reasoning-capability.js.map +1 -1
  131. package/dist/llm/reasoning-errors.js +1 -1
  132. package/dist/llm/reasoning-errors.js.map +1 -1
  133. package/dist/llm/request-purpose.d.ts +3 -0
  134. package/dist/llm/request-purpose.js +11 -0
  135. package/dist/llm/request-purpose.js.map +1 -0
  136. package/dist/llm/responses-config.d.ts +1 -0
  137. package/dist/llm/responses-config.js +6 -0
  138. package/dist/llm/responses-config.js.map +1 -1
  139. package/dist/llm/responses-http.d.ts +1 -1
  140. package/dist/llm/responses-http.js +2 -1
  141. package/dist/llm/responses-http.js.map +1 -1
  142. package/dist/llm/responses-stream.d.ts +2 -2
  143. package/dist/llm/responses-stream.js +3 -2
  144. package/dist/llm/responses-stream.js.map +1 -1
  145. package/dist/llm/routing/attempt-complete.js +15 -3
  146. package/dist/llm/routing/attempt-complete.js.map +1 -1
  147. package/dist/llm/routing/attempt-request.d.ts +11 -0
  148. package/dist/llm/routing/attempt-request.js +56 -5
  149. package/dist/llm/routing/attempt-request.js.map +1 -1
  150. package/dist/llm/routing/attempt-stream.js +15 -3
  151. package/dist/llm/routing/attempt-stream.js.map +1 -1
  152. package/dist/llm/routing/error-classification.d.ts +2 -0
  153. package/dist/llm/routing/error-classification.js +26 -6
  154. package/dist/llm/routing/error-classification.js.map +1 -1
  155. package/dist/llm/routing/key-rotation.js +26 -11
  156. package/dist/llm/routing/key-rotation.js.map +1 -1
  157. package/dist/llm/routing/provider-selection.js +12 -0
  158. package/dist/llm/routing/provider-selection.js.map +1 -1
  159. package/dist/llm/session-affinity.d.ts +1 -0
  160. package/dist/llm/session-affinity.js +4 -0
  161. package/dist/llm/session-affinity.js.map +1 -1
  162. package/dist/llm/session-route.d.ts +7 -0
  163. package/dist/llm/session-route.js +16 -0
  164. package/dist/llm/session-route.js.map +1 -0
  165. package/dist/llm/wire/capability-errors.js +4 -4
  166. package/dist/llm/wire/capability-errors.js.map +1 -1
  167. package/dist/llm/wire/chat-body.js +5 -4
  168. package/dist/llm/wire/chat-body.js.map +1 -1
  169. package/dist/llm/wire/effort-preflight.d.ts +15 -0
  170. package/dist/llm/wire/effort-preflight.js +141 -0
  171. package/dist/llm/wire/effort-preflight.js.map +1 -0
  172. package/dist/llm/wire/image-payloads.d.ts +2 -0
  173. package/dist/llm/wire/image-payloads.js +34 -0
  174. package/dist/llm/wire/image-payloads.js.map +1 -0
  175. package/dist/llm/wire/openai-complete.d.ts +4 -1
  176. package/dist/llm/wire/openai-complete.js +11 -3
  177. package/dist/llm/wire/openai-complete.js.map +1 -1
  178. package/dist/llm/wire/openai-stream.d.ts +5 -2
  179. package/dist/llm/wire/openai-stream.js +17 -8
  180. package/dist/llm/wire/openai-stream.js.map +1 -1
  181. package/dist/llm/wire/responses-first.d.ts +4 -1
  182. package/dist/llm/wire/responses-first.js +11 -7
  183. package/dist/llm/wire/responses-first.js.map +1 -1
  184. package/dist/llm/wire/responses-preflight.js +29 -12
  185. package/dist/llm/wire/responses-preflight.js.map +1 -1
  186. package/dist/prompts/embedded.js +1 -1
  187. package/dist/prompts/embedded.js.map +1 -1
  188. package/dist/prompts/index.js +42 -21
  189. package/dist/prompts/index.js.map +1 -1
  190. package/dist/prompts/system.agent.md +3 -3
  191. package/dist/store/config/endpoints.d.ts +11 -0
  192. package/dist/store/config/endpoints.js +19 -1
  193. package/dist/store/config/endpoints.js.map +1 -1
  194. package/dist/store/config/subagent-models.d.ts +7 -0
  195. package/dist/store/config/subagent-models.js +73 -0
  196. package/dist/store/config/subagent-models.js.map +1 -0
  197. package/dist/store/config.d.ts +4 -3
  198. package/dist/store/config.js +7 -2
  199. package/dist/store/config.js.map +1 -1
  200. package/dist/store/keys.js +8 -1
  201. package/dist/store/keys.js.map +1 -1
  202. package/dist/store/subagents.js +8 -1
  203. package/dist/store/subagents.js.map +1 -1
  204. package/dist/tools/definitions/subagents.d.ts +1 -1
  205. package/dist/tools/definitions/subagents.js +15 -6
  206. package/dist/tools/definitions/subagents.js.map +1 -1
  207. package/dist/tui-v2/app/App.js +4 -0
  208. package/dist/tui-v2/app/App.js.map +1 -1
  209. package/dist/tui-v2/bootstrap/patch-opentui-text.js +14 -13
  210. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -1
  211. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +1 -0
  212. package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
  213. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  214. package/dist/tui-v2/bootstrap/shrink-resize-guard.d.ts +27 -0
  215. package/dist/tui-v2/bootstrap/shrink-resize-guard.js +118 -0
  216. package/dist/tui-v2/bootstrap/shrink-resize-guard.js.map +1 -0
  217. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  218. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  219. package/dist/tui-v2/components/jobs/subagents-panel.d.ts +11 -0
  220. package/dist/tui-v2/components/jobs/subagents-panel.js +80 -0
  221. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -0
  222. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +9 -0
  223. package/dist/tui-v2/components/modal/keys-modal-pick.js +15 -0
  224. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -0
  225. package/dist/tui-v2/components/modal/keys-modal.js +46 -12
  226. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  227. package/dist/tui-v2/components/pager/pager-line.js +3 -2
  228. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  229. package/dist/tui-v2/components/pager/pager.js +47 -35
  230. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  231. package/dist/tui-v2/components/transcript/thinking-block.js +1 -3
  232. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  233. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +0 -1
  234. package/dist/tui-v2/components/transcript/thinking-presentation.js +1 -3
  235. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
  236. package/dist/tui-v2/rendering/pager-markdown.d.ts +2 -0
  237. package/dist/tui-v2/rendering/pager-markdown.js +10 -6
  238. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  239. package/dist/tui-v2/rendering/subagent-ansi.d.ts +4 -0
  240. package/dist/tui-v2/rendering/subagent-ansi.js +10 -0
  241. package/dist/tui-v2/rendering/subagent-ansi.js.map +1 -0
  242. package/dist/types.d.ts +2 -1
  243. package/dist/types.js +4 -0
  244. package/dist/types.js.map +1 -1
  245. package/dist/ui-core/commands/picker-commands.d.ts +12 -0
  246. package/dist/ui-core/commands/picker-commands.js +9 -5
  247. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  248. package/dist/ui-core/commands/session-commands.js +5 -3
  249. package/dist/ui-core/commands/session-commands.js.map +1 -1
  250. package/dist/ui-core/commands/subagent-commands.d.ts +8 -0
  251. package/dist/ui-core/commands/subagent-commands.js +81 -21
  252. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  253. package/dist/ui-core/commands/subagent-models-editor.d.ts +2 -0
  254. package/dist/ui-core/commands/subagent-models-editor.js +123 -0
  255. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -0
  256. package/dist/ui-core/controllers/overlay-controller.d.ts +10 -0
  257. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  258. package/dist/ui-core/rendering/format-usage.js +5 -0
  259. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  260. package/dist/ui-core/rendering/markdown.d.ts +2 -0
  261. package/dist/ui-core/rendering/markdown.js +1 -1
  262. package/dist/ui-core/rendering/markdown.js.map +1 -1
  263. package/dist/ui-core/rendering/sanitize-display.d.ts +3 -0
  264. package/dist/ui-core/rendering/sanitize-display.js +33 -2
  265. package/dist/ui-core/rendering/sanitize-display.js.map +1 -1
  266. package/dist/ui-core/rendering/status-segments.js +3 -1
  267. package/dist/ui-core/rendering/status-segments.js.map +1 -1
  268. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  269. package/dist/ui-core/rendering/subagent-presentation.js +9 -0
  270. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  271. package/dist/ui-core/rendering/subagent-source.d.ts +2 -0
  272. package/dist/ui-core/rendering/subagent-source.js +10 -1
  273. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  274. package/dist/version.generated.d.ts +2 -2
  275. package/dist/version.generated.js +2 -2
  276. package/package.json +1 -1
  277. package/dist/llm/effort-fallback.d.ts +0 -6
  278. package/dist/llm/effort-fallback.js +0 -67
  279. package/dist/llm/effort-fallback.js.map +0 -1
@@ -2,6 +2,7 @@ import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { createHash, randomUUID } from "node:crypto";
3
3
  import { isValidSubagentParentId, restoreSubagentRun, sanitizeSubagentRun, sanitizeSubagentText, SUBAGENT_LIMITS } from "../../store/subagents.js";
4
4
  import { subagentReportStatus } from "./report.js";
5
+ import { resolveSubagentModelChain, subagentModelChainBlocked } from "./model-chain.js";
5
6
  const terminal = (status) => status !== "running" && status !== "stopping";
6
7
  const defaultWorker = async (input) => (await import("./worker.js")).runReadOnlySubagent(input);
7
8
  const inFlight = new Map();
@@ -80,16 +81,49 @@ export class SubagentManager {
80
81
  if ([...inFlight.values()].includes(fingerprint(assignment)))
81
82
  throw new Error("Duplicate active subagent assignment");
82
83
  }
83
- start(value) {
84
- this.assertAvailable();
85
- const assignment = this.assignment(value);
86
- this.assertUnique(assignment);
84
+ activeCount() {
85
+ return [...this.children.values()].filter((child) => child.controller !== undefined).length;
86
+ }
87
+ assertCapacity(additional) {
88
+ if (this.activeCount() + additional > 3)
89
+ throw new Error("At most three subagents may run concurrently");
90
+ }
91
+ assertLaunchModels() {
92
+ if (subagentModelChainBlocked()) {
93
+ throw new Error("All configured subagent models are disabled; enable one in /orchestrator models or reset the chain");
94
+ }
95
+ }
96
+ startAssigned(assignment) {
97
+ this.assertLaunchModels();
87
98
  const now = Date.now();
88
99
  const child = { assignment, run: { ...assignment, id: randomUUID(), parentSessionId: this.parentSessionId, attempt: 1, status: "running", recovery: "fresh", createdAt: now, updatedAt: now, events: [] } };
89
100
  this.children.set(child.run.id, child);
90
101
  this.launch(child);
91
102
  return this.snapshot(child.run);
92
103
  }
104
+ start(value) {
105
+ this.assertAvailable();
106
+ const assignment = this.assignment(value);
107
+ this.assertUnique(assignment);
108
+ this.assertCapacity(1);
109
+ return this.startAssigned(assignment);
110
+ }
111
+ startMany(values) {
112
+ this.assertAvailable();
113
+ if (values.length < 2 || values.length > 3)
114
+ throw new Error("Start between two and three subagents at once");
115
+ const assignments = values.map((value) => this.assignment(value));
116
+ const fingerprints = new Set();
117
+ for (const assignment of assignments) {
118
+ const key = fingerprint(assignment);
119
+ if (fingerprints.has(key))
120
+ throw new Error("Duplicate assignments in one subagent batch");
121
+ this.assertUnique(assignment);
122
+ fingerprints.add(key);
123
+ }
124
+ this.assertCapacity(assignments.length);
125
+ return Object.freeze(assignments.map((assignment) => this.startAssigned(assignment)));
126
+ }
93
127
  snapshot(run) {
94
128
  const cached = this.snapshots.get(run);
95
129
  if (cached)
@@ -116,7 +150,7 @@ export class SubagentManager {
116
150
  const child = this.children.get(id);
117
151
  if (child?.run.attempt === attempt && terminal(child.run.status) && !child.run.resultAcknowledged) {
118
152
  child.run = { ...child.run, resultAcknowledged: true };
119
- this.flush(child);
153
+ this.changed(child, true);
120
154
  }
121
155
  }
122
156
  child(id) {
@@ -140,6 +174,8 @@ export class SubagentManager {
140
174
  throw new Error("Wait for the previous attempt to stop before restarting");
141
175
  const followup = this.followup(value);
142
176
  this.assertUnique(child.assignment);
177
+ this.assertCapacity(1);
178
+ this.assertLaunchModels();
143
179
  const previous = child.run;
144
180
  this.settledAttempts.set(`${previous.id}:${previous.attempt}`, this.snapshot(previous));
145
181
  const summary = `Attempt ${previous.attempt}: ${previous.status}\n${previous.report ?? previous.error ?? "No report"}`;
@@ -180,6 +216,15 @@ export class SubagentManager {
180
216
  child.controller = controller;
181
217
  inFlight.set(controller, fingerprint(child.assignment));
182
218
  const inputRun = this.snapshot(child.run);
219
+ const modelChain = resolveSubagentModelChain();
220
+ const noteRoute = (route) => {
221
+ if (this.disposed || this.children.get(child.run.id) !== child || child.controller !== controller || controller.signal.aborted)
222
+ return;
223
+ if (child.run.activeProvider === route.provider && child.run.activeModel === route.model)
224
+ return;
225
+ child.run = this.snapshot({ ...child.run, activeProvider: route.provider, activeModel: route.model, updatedAt: Date.now() });
226
+ this.changed(child, true);
227
+ };
183
228
  this.changed(child, true);
184
229
  const emit = (event) => {
185
230
  if (this.disposed || this.children.get(child.run.id) !== child || child.controller !== controller || controller.signal.aborted)
@@ -209,6 +254,8 @@ export class SubagentManager {
209
254
  controller.signal.throwIfAborted();
210
255
  return this.workerContext.run(true, () => this.worker({
211
256
  run: inputRun, signal: controller.signal, emit, followup,
257
+ modelChain,
258
+ noteRoute,
212
259
  checkpoint: child.checkpoint ? structuredClone(child.checkpoint) : undefined,
213
260
  saveSummary: (report) => {
214
261
  if (this.disposed || this.children.get(child.run.id) !== child || child.controller !== controller || controller.signal.aborted)
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/agent/subagents/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/agent/subagents/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACnJ,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAYxF,MAAM,QAAQ,GAAG,CAAC,MAA6B,EAAW,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,CAAC;AAC3G,MAAM,aAAa,GAAmB,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAChH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;AACpD,MAAM,WAAW,GAAG,CAAC,UAA8B,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEhO,MAAM,OAAO,eAAe;IAcL;IAbb,MAAM,GAAG,IAAI,CAAC;IACd,QAAQ,GAAG,KAAK,CAAC;IACR,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAC;IACpC,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,SAAS,GAAG,IAAI,OAAO,EAA4B,CAAC;IACpD,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,aAAa,GAAG,IAAI,iBAAiB,EAAW,CAAC;IAC1D,iBAAiB,CAA6C;IACrD,MAAM,CAAiB;IACvB,KAAK,CAA4B;IAElD,YAAqB,eAAuB,EAAE,UAA8D,EAAE;QAAzF,oBAAe,GAAf,eAAe,CAAQ;QAC1C,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5F,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACrD,MAAM,GAAG,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;oBACvD,IAAI,CAAC,GAAG;wBAAE,SAAS;oBACnB,IAAI,CAAC;wBACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzE,IAAI,CAAC,GAAG,CAAC,kBAAkB;4BAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChG,CAAC;oBAAC,MAAM,CAAC;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,OAAgB;QACzB,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,OAAO;YAAE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEO,UAAU,CAAC,KAAyB;QAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAU,EAAE,CAAC;YACtM,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;gBAAE,SAAS;YACxE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0CAA0C,OAAO,aAAa,CAAC,CAAC;QAC9M,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3J,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAClG,CAAC;IAEO,YAAY,CAAC,UAA8B;QACjD,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACxH,CAAC;IAEO,WAAW;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IAC9F,CAAC;IAEO,cAAc,CAAC,UAAkB;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,UAAU,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC3G,CAAC;IAEO,kBAAkB;QACxB,IAAI,yBAAyB,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAC;QACxH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,UAA8B;QAClD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAU,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;QACnN,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,KAAyB;QAC7B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,SAAS,CAAC,MAAqC;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC7G,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;YACpC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC1F,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAEO,QAAQ,CAAC,GAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,GAAG,CAAC,EAAU,EAAE,OAAgB;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,SAAS,IAAI,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QACjH,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,cAAc;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,iBAAiB,CAAC,EAAU,EAAE,OAAe;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;YAClG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,EAAU;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QAChE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;QACvH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,KAAwB;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7B,IAAI,KAAK,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,WAAW,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,WAAW,EAAE,CAAC;QACvH,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9J,IAAI,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,gCAAgC,QAAQ,CAAC,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;QACxM,IAAI,QAAQ,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;QACxG,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QAChc,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAEO,QAAQ,CAAC,KAAwB;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1C,MAAM,MAAM,GAA0C,EAAE,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,MAAM,KAAK,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0CAA0C,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/J,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAEO,WAAW,CAAC,MAAgC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,OAAO,KAAK,GAAG,eAAe,CAAC,KAAK,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QACpG,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACnG,CAAC;IAEO,MAAM,CAAC,KAAY,EAAE,QAA2B;QACtD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,yBAAyB,EAAE,CAAC;QAC/C,MAAM,SAAS,GAA+C,CAAC,KAAK,EAAE,EAAE;YACtE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACvI,IAAI,KAAK,CAAC,GAAG,CAAC,cAAc,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,KAAK;gBAAE,OAAO;YACjG,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7H,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC1B,MAAM,IAAI,GAA0C,CAAC,KAAK,EAAE,EAAE;YAC5D,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YACvI,IAAI,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACvI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACxF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACtF,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO;gBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;YACxJ,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC9G,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;oBAAE,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YACrE,CAAC;YACD,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBACpD,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;gBACxD,UAAU;gBACV,SAAS;gBACT,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5E,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;oBACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBACvI,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;oBACnE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;oBAC9G,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;gBACD,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE;oBAC7B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBACvI,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;oBAC/C,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;wBACnC,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;wBAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;aACF,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC,IAAI,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAClD,CAAC,KAAc,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CACrE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,KAAY,EAAE,UAA2B,EAAE,MAAe,EAAE,KAAe;QACxF,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO;QAC5C,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;YAAE,OAAO;QACtD,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QAC1C,MAAM,MAAM,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC;QACnG,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/G,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxB,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW;gBACzI,MAAM,EAAE,OAAO,IAAI,MAAM,IAAI,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;gBAC5E,gBAAgB,EAAE,OAAO,IAAI,MAAM,IAAI,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB;oBAC5F,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,EAAE,MAAO,EAAE;gBAClF,kBAAkB,EAAE,KAAK;gBACzB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;aACjU,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;gBACxB,GAAG,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;gBACvE,KAAK,EAAE,OAAO,YAAY,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC;aAC1F,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,SAAkB,EAAE,MAAoB;QAC7D,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAuB,EAAE,SAAkB,EAAE,MAAoB;QAC7E,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzJ,CAAC;IAEO,UAAU,CAAC,SAAkB,EAAE,MAAoB;QACzD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnE,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC1M,MAAM,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAsB,EAAE,SAAkB,EAAE,MAAoB;QACpF,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,KAAK,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,OAAO,GAAG,GAAS,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,KAAY,EAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,OAAO,EAAE,CAAC;gBACV,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;;oBAC7E,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9G,MAAM,MAAM,GAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE;oBACjD,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAAE,MAAM,EAAE,CAAC;gBACrG,CAAC,EAAE,CAAC;YACJ,MAAM,KAAK,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAClF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,MAAM,EAAE,OAAO;gBAAE,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,YAAY;QAClB,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAEO,MAAM,CAAC,SAAS,GAAG,KAAK;QAC9B,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,SAAS,EAAE,CAAC;YACd,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACrC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;YACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC;oBAAC,QAAQ,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,KAAY,EAAE,SAAS,GAAG,KAAK;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC/C,KAAK,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YAClE,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,KAAY;QACxB,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,wBAAwB,oBAAoB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACnI,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI;gBAAE,KAAK,CAAC,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACnO,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAAE,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;QACzE,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,KAAK;QACH,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;YAC7B,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import { type ClaiConfig } from "../../store/config/endpoints.js";
2
+ import type { ChatMessage, ProviderId } from "../../types.js";
3
+ export interface SubagentModelRoute {
4
+ provider: ProviderId;
5
+ model: string;
6
+ }
7
+ export declare function markSubagentRouteFailure<E>(error: E): E;
8
+ export declare function isSubagentRouteFailure(error: unknown): boolean;
9
+ export interface SubagentStreamResult<T> {
10
+ value: T;
11
+ streamedBytes?: number | undefined;
12
+ }
13
+ export interface SubagentModelRotationOptions<T> {
14
+ candidates: readonly SubagentModelRoute[];
15
+ signal: AbortSignal;
16
+ stream: (route: SubagentModelRoute, attempt: number) => Promise<SubagentStreamResult<T>>;
17
+ startIndex?: number | undefined;
18
+ attemptsPerCandidate?: number | undefined;
19
+ shouldRotate?: ((error: unknown) => boolean) | undefined;
20
+ onRoute?: ((route: SubagentModelRoute, index: number) => void) | undefined;
21
+ onSwitch?: ((error: unknown, route: SubagentModelRoute, index: number) => void) | undefined;
22
+ }
23
+ export interface SubagentModelRotationResult<T> {
24
+ value: T;
25
+ route: SubagentModelRoute;
26
+ index: number;
27
+ }
28
+ export declare function runSubagentModelRotation<T>({ candidates, signal, stream, startIndex, attemptsPerCandidate, shouldRotate, onRoute, onSwitch, }: SubagentModelRotationOptions<T>): Promise<SubagentModelRotationResult<T>>;
29
+ export declare function adaptSubagentHistory(messages: readonly ChatMessage[], fromNative: boolean, toNative: boolean): ChatMessage[];
30
+ export declare function resolveSubagentModelChain(config?: Pick<ClaiConfig, "subagentModels" | "customProviders">): SubagentModelRoute[];
31
+ export declare function subagentModelChainBlocked(config?: Pick<ClaiConfig, "subagentModels" | "customProviders">): boolean;
@@ -0,0 +1,146 @@
1
+ import { buildKeyAttemptPlan, isKeyCircleStopError, isKeyRotatableError } from "../../llm/key-rotation.js";
2
+ import { isModelNotFoundError, isRateLimited, isRetriableError } from "../../llm/routing/error-classification.js";
3
+ import { streamEmittedBytes } from "../../llm/stream-progress.js";
4
+ import { getConfig } from "../../store/config/endpoints.js";
5
+ import { sanitizeSubagentModelChain } from "../../store/config/subagent-models.js";
6
+ const ROUTE_FAILURE = Symbol.for("clai.subagent.routeFailure");
7
+ export function markSubagentRouteFailure(error) {
8
+ if (typeof error === "object" && error !== null) {
9
+ try {
10
+ Object.defineProperty(error, ROUTE_FAILURE, {
11
+ value: true,
12
+ enumerable: false,
13
+ configurable: true,
14
+ writable: true,
15
+ });
16
+ }
17
+ catch {
18
+ }
19
+ }
20
+ return error;
21
+ }
22
+ export function isSubagentRouteFailure(error) {
23
+ return typeof error === "object" && error !== null && ROUTE_FAILURE in error;
24
+ }
25
+ export async function runSubagentModelRotation({ candidates, signal, stream, startIndex = 0, attemptsPerCandidate = 2, shouldRotate = (error) => isSubagentRouteFailure(error) ||
26
+ isKeyRotatableError(error, isRetriableError) ||
27
+ isRateLimited(error) ||
28
+ isModelNotFoundError(error) ||
29
+ isKeyCircleStopError(error), onRoute, onSwitch, }) {
30
+ if (!candidates.length)
31
+ throw new Error("No subagent model candidates configured");
32
+ const total = candidates.length;
33
+ const first = Math.min(Math.max(Math.trunc(startIndex), 0), total - 1);
34
+ const attempts = Math.max(1, Math.trunc(attemptsPerCandidate));
35
+ let lastError;
36
+ for (let step = 0; step < total; step += 1) {
37
+ const index = (first + step) % total;
38
+ const route = candidates[index];
39
+ onRoute?.(route, index);
40
+ for (let attempt = 0; attempt < attempts; attempt += 1) {
41
+ signal.throwIfAborted();
42
+ try {
43
+ const result = await stream(route, attempt);
44
+ signal.throwIfAborted();
45
+ return { value: result.value, route, index };
46
+ }
47
+ catch (error) {
48
+ signal.throwIfAborted();
49
+ if (streamEmittedBytes(error) > 0 || !shouldRotate(error))
50
+ throw error;
51
+ lastError = error;
52
+ if (attempt + 1 < attempts)
53
+ continue;
54
+ if (step + 1 >= total)
55
+ throw error;
56
+ const next = (index + 1) % total;
57
+ onSwitch?.(error, candidates[next], next);
58
+ }
59
+ }
60
+ }
61
+ throw lastError ?? new Error("All subagent model candidates failed");
62
+ }
63
+ function toolCallText(call) {
64
+ return `\`\`\`tool\n${JSON.stringify({ name: call.name, args: call.args })}\n\`\`\``;
65
+ }
66
+ function nativeToFenced(messages) {
67
+ return messages.map((message) => {
68
+ if (message.role === "tool") {
69
+ return {
70
+ role: "user",
71
+ content: `Untrusted tool result for ${message.name ?? "tool"}:\n${message.content}`,
72
+ };
73
+ }
74
+ if (message.role !== "assistant" || !message.toolCalls?.length)
75
+ return { ...message };
76
+ const suffix = message.toolCalls.map((call) => toolCallText(call)).join("\n");
77
+ return {
78
+ ...message,
79
+ content: message.content ? `${message.content}\n${suffix}` : suffix,
80
+ toolCalls: undefined,
81
+ };
82
+ });
83
+ }
84
+ function parseFencedCalls(content, nextId) {
85
+ const calls = [];
86
+ const text = content.replace(/```tool\s*\n?([\s\S]*?)```/gi, (block, raw) => {
87
+ try {
88
+ const parsed = JSON.parse(raw);
89
+ if (typeof parsed.name !== "string" || typeof parsed.args !== "object" || parsed.args === null || Array.isArray(parsed.args))
90
+ return block;
91
+ calls.push({ id: nextId(), name: parsed.name, args: parsed.args });
92
+ return "";
93
+ }
94
+ catch {
95
+ return block;
96
+ }
97
+ }).trim();
98
+ return { text, calls };
99
+ }
100
+ function fencedToNative(messages) {
101
+ let callSequence = 0;
102
+ let pending = [];
103
+ return messages.map((message) => {
104
+ if (message.role === "assistant") {
105
+ const parsed = parseFencedCalls(message.content, () => `subagent-tool-${(callSequence += 1)}`);
106
+ pending = [...parsed.calls];
107
+ return {
108
+ ...message,
109
+ content: parsed.text,
110
+ ...(parsed.calls.length ? { toolCalls: parsed.calls } : {}),
111
+ };
112
+ }
113
+ if (message.role !== "user")
114
+ return { ...message };
115
+ const result = message.content.match(/^Untrusted tool result for ([^:\n]+):\n([\s\S]*)$/);
116
+ if (!result)
117
+ return { ...message };
118
+ const name = result[1].trim();
119
+ const call = pending.shift();
120
+ return {
121
+ role: "tool",
122
+ name,
123
+ content: result[2],
124
+ ...(call ? { toolCallId: call.id } : {}),
125
+ };
126
+ });
127
+ }
128
+ export function adaptSubagentHistory(messages, fromNative, toNative) {
129
+ if (fromNative === toNative)
130
+ return messages.map((message) => ({ ...message }));
131
+ return toNative ? fencedToNative(messages) : nativeToFenced(messages);
132
+ }
133
+ export function resolveSubagentModelChain(config = getConfig()) {
134
+ const chain = sanitizeSubagentModelChain(config.subagentModels, config.customProviders);
135
+ if (!chain)
136
+ return [];
137
+ return buildKeyAttemptPlan(chain.entries.length, chain.activeIndex)
138
+ .map((index) => chain.entries[index])
139
+ .filter((entry) => entry.disabled !== true)
140
+ .map((entry) => ({ provider: entry.provider, model: entry.model }));
141
+ }
142
+ export function subagentModelChainBlocked(config = getConfig()) {
143
+ const chain = sanitizeSubagentModelChain(config.subagentModels, config.customProviders);
144
+ return Boolean(chain) && !resolveSubagentModelChain(config).length;
145
+ }
146
+ //# sourceMappingURL=model-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-chain.js","sourceRoot":"","sources":["../../../src/agent/subagents/model-chain.ts"],"names":[],"mappings":"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"}