@cloudcli-ai/cloudcli 1.37.1 → 1.37.2

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 (153) hide show
  1. package/dist/assets/abnfDiagram-N423BO3Z-C4UAoHJb.js +1 -0
  2. package/dist/assets/arc-B8jF-ja9.js +1 -0
  3. package/dist/assets/architectureDiagram-T3A2C74G-C_Wur_CU.js +36 -0
  4. package/dist/assets/blockDiagram-VBNYF7ZC-Cq4P1i8t.js +132 -0
  5. package/dist/assets/c4Diagram-5PPSVZJV-C1wG4eUj.js +10 -0
  6. package/dist/assets/channel-_falYbU1.js +1 -0
  7. package/dist/assets/chunk-2GRJ4B5K-B8fnBG6E.js +1 -0
  8. package/dist/assets/chunk-2Q5K7J3B-WdfPooPJ.js +1 -0
  9. package/dist/assets/chunk-5RXB4S5H-DhZJuG2E.js +231 -0
  10. package/dist/assets/chunk-5VM5RSS4-B0rjslal.js +15 -0
  11. package/dist/assets/chunk-6Q2QTUOP-CG2Oj4jL.js +88 -0
  12. package/dist/assets/chunk-GF5L2VYU-rrl2lRxY.js +206 -0
  13. package/dist/assets/chunk-JWPE2WC7-CjVbrVMA.js +1 -0
  14. package/dist/assets/chunk-KBJHAD2P-CRzKgU8S.js +1 -0
  15. package/dist/assets/chunk-RYQCIY6F-DBz4GTZF.js +1 -0
  16. package/dist/assets/chunk-XXDRQBXY-wHxalsXk.js +1 -0
  17. package/dist/assets/classDiagram-JCYQIIEL-Dn-3CfpR.js +1 -0
  18. package/dist/assets/classDiagram-v2-OCEON4UE-Dn-3CfpR.js +1 -0
  19. package/dist/assets/cose-bilkent-JH36ORCC-s1hygY8e.js +1 -0
  20. package/dist/assets/cynefin-VYW2F7L2-C4LGV15i.js +178 -0
  21. package/dist/assets/cynefinDiagram-MW4NZA55-C5uhu7B3.js +62 -0
  22. package/dist/assets/cytoscape.esm-C10L9Icf.js +331 -0
  23. package/dist/assets/dagre-VZM6K2ZE-B-OBTewm.js +4 -0
  24. package/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  25. package/dist/assets/diagram-7IWD3JNH-BjGKQxih.js +30 -0
  26. package/dist/assets/diagram-B4RE2ZJO-BMKz1X2L.js +3 -0
  27. package/dist/assets/diagram-LBJQPF4R-DNh-GhKC.js +24 -0
  28. package/dist/assets/diagram-Q27KOJAE-BaTG9jPT.js +24 -0
  29. package/dist/assets/diagram-UB23O5K3-BUwo2OvJ.js +41 -0
  30. package/dist/assets/ebnfDiagram-BXEA7PRR-DAZgfzX2.js +1 -0
  31. package/dist/assets/erDiagram-JOGREHBK-1w1CcGEb.js +85 -0
  32. package/dist/assets/flowDiagram-UKHOOZJN-D4EII8Jj.js +156 -0
  33. package/dist/assets/ganttDiagram-PKOTCBZU-ChvJZAgB.js +292 -0
  34. package/dist/assets/gitGraphDiagram-DS77QQ5N-DtOn41S8.js +106 -0
  35. package/dist/assets/graph-Cx-EqisW.js +1 -0
  36. package/dist/assets/index-CzPLBvXT.css +32 -0
  37. package/dist/assets/{index-DTMWjJj8.js → index-DFkBBuSA.js} +303 -304
  38. package/dist/assets/infoDiagram-6WML65LV-DN_PVEJZ.js +2 -0
  39. package/dist/assets/init-Gi6I4Gst.js +1 -0
  40. package/dist/assets/ishikawaDiagram-WSZJBQD7-DbkF1kXb.js +70 -0
  41. package/dist/assets/journeyDiagram-NVQOT4AX-pJwmhddE.js +139 -0
  42. package/dist/assets/kanban-definition-27J2QSJJ-PPAPgNp5.js +89 -0
  43. package/dist/assets/layout-D6BstSzF.js +1 -0
  44. package/dist/assets/linear-iPR-J9f7.js +1 -0
  45. package/dist/assets/map-CV9uif0g.js +1 -0
  46. package/dist/assets/mermaid.core-BEUL86Z6.js +312 -0
  47. package/dist/assets/mindmap-definition-FAOFIHXS-BvZoBib7.js +96 -0
  48. package/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  49. package/dist/assets/pegDiagram-VL7TDLO6-DhYreaUd.js +1 -0
  50. package/dist/assets/pieDiagram-7S7Q4E2Y-CrOHlyD0.js +39 -0
  51. package/dist/assets/quadrantDiagram-CIZ2JOQS-D4g5yH3t.js +7 -0
  52. package/dist/assets/railroadDiagram-AXF67PYL-Dj39lHlf.js +1 -0
  53. package/dist/assets/requirementDiagram-LRYGKXZP-1AS4Zgm_.js +84 -0
  54. package/dist/assets/sankeyDiagram-W5VNT64P-CKlMn19P.js +40 -0
  55. package/dist/assets/sequenceDiagram-SI44F4Z6-B_j3qyvo.js +162 -0
  56. package/dist/assets/sizeCapture-X5ZJPWSS-Bp2Op16v.js +1 -0
  57. package/dist/assets/stateDiagram-OKZ733FA-C0cN6DoY.js +1 -0
  58. package/dist/assets/stateDiagram-v2-UEYNNEHI-BvBxUUrZ.js +1 -0
  59. package/dist/assets/swimlanes-SLNWSIFB-BEvXOV9b.js +2 -0
  60. package/dist/assets/swimlanesDiagram-ULZ7WXOC-CsE-x4YK.js +8 -0
  61. package/dist/assets/timeline-definition-Z64GVDOM-zdJQinvZ.js +120 -0
  62. package/dist/assets/vennDiagram-T6HMQDX7-DuF1uZMY.js +34 -0
  63. package/dist/assets/wardleyDiagram-T6FBY63Y-B9AlLQup.js +78 -0
  64. package/dist/assets/xychartDiagram-ELKLHX3M-DTJX48Qg.js +7 -0
  65. package/dist/index.html +2 -2
  66. package/dist-server/server/index.js +1 -2
  67. package/dist-server/server/index.js.map +1 -1
  68. package/dist-server/server/modules/agent/agent.module.js +2 -1
  69. package/dist-server/server/modules/agent/agent.module.js.map +1 -1
  70. package/dist-server/server/modules/auth/auth.middleware.js +1 -1
  71. package/dist-server/server/modules/auth/auth.middleware.js.map +1 -1
  72. package/dist-server/server/modules/browser-use/browser-use-runtime.js +10 -0
  73. package/dist-server/server/modules/browser-use/browser-use-runtime.js.map +1 -0
  74. package/dist-server/server/modules/browser-use/browser-use.service.js +3 -6
  75. package/dist-server/server/modules/browser-use/browser-use.service.js.map +1 -1
  76. package/dist-server/server/modules/browser-use/index.js +2 -0
  77. package/dist-server/server/modules/browser-use/index.js.map +1 -1
  78. package/dist-server/server/modules/cli/cli.js +9 -3
  79. package/dist-server/server/modules/cli/cli.js.map +1 -1
  80. package/dist-server/server/modules/cli/cli.module.js +0 -1
  81. package/dist-server/server/modules/cli/cli.module.js.map +1 -1
  82. package/dist-server/server/modules/cli/cli.service.js +0 -18
  83. package/dist-server/server/modules/cli/cli.service.js.map +1 -1
  84. package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js +154 -0
  85. package/dist-server/server/modules/cli/tests/cli-environment-bootstrap.test.js.map +1 -0
  86. package/dist-server/server/modules/cli/tests/cli.service.test.js +0 -3
  87. package/dist-server/server/modules/cli/tests/cli.service.test.js.map +1 -1
  88. package/dist-server/server/modules/file-tree/file-tree.service.js +18 -10
  89. package/dist-server/server/modules/file-tree/file-tree.service.js.map +1 -1
  90. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js +62 -11
  91. package/dist-server/server/modules/file-tree/tests/file-tree.service.test.js.map +1 -1
  92. package/dist-server/server/modules/git/git-branch.service.js +15 -0
  93. package/dist-server/server/modules/git/git-branch.service.js.map +1 -0
  94. package/dist-server/server/modules/git/git.routes.js +15 -7
  95. package/dist-server/server/modules/git/git.routes.js.map +1 -1
  96. package/dist-server/server/modules/git/tests/git-branch.service.test.js +52 -0
  97. package/dist-server/server/modules/git/tests/git-branch.service.test.js.map +1 -0
  98. package/dist-server/server/modules/git/tests/git-init.routes.test.js +84 -0
  99. package/dist-server/server/modules/git/tests/git-init.routes.test.js.map +1 -1
  100. package/dist-server/server/modules/notifications/index.js +3 -1
  101. package/dist-server/server/modules/notifications/index.js.map +1 -1
  102. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js +22 -1
  103. package/dist-server/server/modules/notifications/services/notification-orchestrator.service.js.map +1 -1
  104. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js +254 -48
  105. package/dist-server/server/modules/providers/list/claude/claude-runtime.provider.js.map +1 -1
  106. package/dist-server/server/modules/providers/provider.routes.js +5 -0
  107. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  108. package/dist-server/server/modules/providers/services/session-conversations-search.service.js +63 -7
  109. package/dist-server/server/modules/providers/services/session-conversations-search.service.js.map +1 -1
  110. package/dist-server/server/modules/providers/tests/provider.routes.test.js +35 -0
  111. package/dist-server/server/modules/providers/tests/provider.routes.test.js.map +1 -1
  112. package/dist-server/server/shared/utils.js +8 -0
  113. package/dist-server/server/shared/utils.js.map +1 -1
  114. package/package.json +6 -2
  115. package/scripts/promote-dist-server.mjs +50 -0
  116. package/server/index.ts +1 -2
  117. package/server/modules/agent/agent.module.ts +2 -1
  118. package/server/modules/auth/auth.middleware.ts +2 -2
  119. package/server/modules/browser-use/browser-use-runtime.ts +10 -0
  120. package/server/modules/browser-use/browser-use.service.ts +5 -8
  121. package/server/modules/browser-use/index.ts +3 -0
  122. package/server/modules/cli/cli.module.ts +0 -1
  123. package/server/modules/cli/cli.service.ts +0 -20
  124. package/server/modules/cli/cli.ts +9 -3
  125. package/server/modules/cli/tests/cli-environment-bootstrap.test.ts +186 -0
  126. package/server/modules/cli/tests/cli.service.test.ts +0 -3
  127. package/server/modules/file-tree/file-tree.service.ts +21 -10
  128. package/server/modules/file-tree/tests/file-tree.service.test.ts +65 -11
  129. package/server/modules/git/git-branch.service.ts +43 -0
  130. package/server/modules/git/git.routes.ts +16 -9
  131. package/server/modules/git/tests/git-branch.service.test.ts +60 -0
  132. package/server/modules/git/tests/git-init.routes.test.ts +83 -0
  133. package/server/modules/notifications/index.ts +2 -0
  134. package/server/modules/notifications/services/notification-orchestrator.service.js +24 -1
  135. package/server/modules/providers/list/claude/claude-runtime.provider.js +275 -54
  136. package/server/modules/providers/provider.routes.ts +5 -0
  137. package/server/modules/providers/services/session-conversations-search.service.ts +94 -7
  138. package/server/modules/providers/tests/provider.routes.test.ts +61 -0
  139. package/server/shared/types.ts +0 -1
  140. package/server/shared/utils.ts +10 -0
  141. package/server/tsconfig.json +6 -2
  142. package/README.de.md +0 -257
  143. package/README.ja.md +0 -249
  144. package/README.ko.md +0 -249
  145. package/README.md +0 -269
  146. package/README.ru.md +0 -257
  147. package/README.tr.md +0 -258
  148. package/README.zh-CN.md +0 -249
  149. package/README.zh-TW.md +0 -249
  150. package/dist/assets/index-D3jfzuKN.css +0 -32
  151. package/dist-server/server/constants/config.js +0 -6
  152. package/dist-server/server/constants/config.js.map +0 -1
  153. package/server/constants/config.ts +0 -5
@@ -19,7 +19,7 @@ import { query } from '@anthropic-ai/claude-agent-sdk';
19
19
  import { appendFilesInputTag, buildClaudeUserContent, normalizeImageDescriptors } from '../../../../shared/image-attachments.js';
20
20
  import { CLAUDE_PREDEFINED_MODELS } from '../../../../modules/providers/list/claude/claude-models.provider.js';
21
21
  import { resolveClaudeCodeExecutablePath } from '../../../../shared/claude-cli-path.js';
22
- import { createNotificationEvent, notifyRunFailed, notifyRunStopped, notifyUserIfEnabled } from '../../../../modules/notifications/index.js';
22
+ import { createNotificationEvent, notifyBackgroundWorkCompleted, notifyRunFailed, notifyRunStopped, notifyUserIfEnabled } from '../../../../modules/notifications/index.js';
23
23
  import { createCompleteMessage, createNormalizedMessage } from '../../../../shared/utils.js';
24
24
  const activeSessions = new Map();
25
25
  const pendingToolApprovals = new Map();
@@ -27,7 +27,29 @@ const pendingToolApprovals = new Map();
27
27
  // terminal `complete` (aborted: true) to the client, so the run loop must not
28
28
  // emit a second one when its generator winds down.
29
29
  const abortedSessionIds = new Set();
30
+ // Query instances interrupted because a newer run took over their session id
31
+ // (see addSession). Their run loops must stay silent on wind-down: the map
32
+ // entry, the abort flag, and all client-facing events belong to the new run.
33
+ const supersededInstances = new WeakSet();
30
34
  const TOOL_APPROVAL_TIMEOUT_MS = parseInt(process.env.CLAUDE_TOOL_APPROVAL_TIMEOUT_MS, 10) || 55000;
35
+ // How long background work is allowed to keep running after a turn ends. This drives
36
+ // two halves of the same behaviour:
37
+ //
38
+ // 1. Passed to the spawned CLI as CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS, which is how
39
+ // long it waits for still-running background *agents* before killing them.
40
+ // 2. A backstop on how long we hold the SDK's stdin open after a turn's `result`.
41
+ // The SDK closes stdin as soon as a turn ends, and the CLI reads that EOF as
42
+ // "print wind-down" — killing background *shells* after a short grace period,
43
+ // which the ceiling above does not cover. Holding stdin open also lets the CLI
44
+ // push follow-up turns (background-task completions, Monitor notifications,
45
+ // scheduled wake-ups).
46
+ //
47
+ // The hold normally ends long before this: a turn with nothing outstanding closes
48
+ // stdin immediately, background work releases it as soon as it reports back, and a
49
+ // new turn supersedes the previous hold. This ceiling only catches background work
50
+ // that never reports at all, so an abandoned session cannot leak a CLI process
51
+ // forever. The timer resets on every message, so it measures silence, not total time.
52
+ const BG_WAIT_CEILING_MS = 30 * 60 * 1000;
31
53
  const TOOLS_REQUIRING_INTERACTION = new Set(['AskUserQuestion', 'ExitPlanMode']);
32
54
  function resolveClaudeEffort(model, effort, modelsDefinition = CLAUDE_PREDEFINED_MODELS) {
33
55
  const selectedModel = modelsDefinition?.OPTIONS?.find((option) => option.value === model) || null;
@@ -131,10 +153,7 @@ function mapCliOptionsToSDK(options = {}) {
131
153
  const sdkOptions = {};
132
154
  // Forward all host env vars (e.g. ANTHROPIC_BASE_URL) to the subprocess.
133
155
  // Since SDK 0.2.113, options.env replaces process.env instead of overlaying it.
134
- // This snapshot is also how CLI-side knobs reach the child: e.g. how long the CLI waits for
135
- // still-running background agents after a turn ends is set by CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS
136
- // (default 600000 ms; 0 = wait indefinitely) on this server's own environment.
137
- sdkOptions.env = { ...process.env };
156
+ sdkOptions.env = { ...process.env, CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS: String(BG_WAIT_CEILING_MS) };
138
157
  // Resolve the executable eagerly on Windows because the SDK uses raw child_process.spawn,
139
158
  // which does not reliably follow npm's shell wrappers like cross-spawn does.
140
159
  sdkOptions.pathToClaudeCodeExecutable = resolveClaudeCodeExecutablePath(process.env.CLAUDE_CLI_PATH);
@@ -188,13 +207,35 @@ function mapCliOptionsToSDK(options = {}) {
188
207
  * @param {string} sessionId - Session identifier
189
208
  * @param {Object} queryInstance - SDK query instance
190
209
  * @param {Object} writer - WebSocket writer for reconnect support
210
+ * @param {Function} releaseInput - Closes the held stdin stream so the CLI can exit
191
211
  */
192
- function addSession(sessionId, queryInstance, writer = null) {
212
+ function addSession(sessionId, queryInstance, writer = null, releaseInput = null) {
213
+ const existing = activeSessions.get(sessionId);
214
+ // A different live instance under the same key means an earlier run was
215
+ // superseded without being stopped (e.g. an abort that raced run setup and
216
+ // found nothing to interrupt). Overwriting it here would strand its
217
+ // generator forever — this map entry is the only handle for interrupting
218
+ // it. Stop it directly rather than via abortClaudeSDKSession, whose
219
+ // session-keyed abortedSessionIds flag would be consumed by the new run
220
+ // and suppress its terminal `complete`.
221
+ const superseding = Boolean(existing && existing.status === 'active' && existing.instance && existing.instance !== queryInstance);
222
+ if (superseding) {
223
+ supersededInstances.add(existing.instance);
224
+ Promise.resolve()
225
+ .then(() => existing.instance.interrupt())
226
+ .catch((error) => {
227
+ console.error(`Error interrupting superseded run for session ${sessionId}:`, error?.message || error);
228
+ });
229
+ existing.releaseInput?.();
230
+ }
231
+ const carried = superseding ? null : existing;
193
232
  activeSessions.set(sessionId, {
194
233
  instance: queryInstance,
195
- startTime: Date.now(),
234
+ startTime: carried?.startTime || Date.now(),
196
235
  status: 'active',
197
- writer
236
+ writer,
237
+ // Re-registered mid-run once the provider session id lands; keep the closer.
238
+ releaseInput: releaseInput || carried?.releaseInput || null
198
239
  });
199
240
  }
200
241
  /**
@@ -297,28 +338,55 @@ function extractTokenBudget(sdkMessage) {
297
338
  },
298
339
  };
299
340
  }
341
+ // Tool calls that leave work running past the end of a turn. Bash only counts
342
+ // when it is explicitly backgrounded; the rest defer or watch work by nature.
343
+ const DEFERRED_WORK_TOOLS = new Set(['Monitor', 'ScheduleWakeup', 'CronCreate', 'TaskCreate']);
300
344
  /**
301
- * Builds the SDK `prompt` payload for one turn.
345
+ * Detects tool calls that keep working after the turn's `result` arrives.
302
346
  *
303
- * Plain text turns pass the string through unchanged. Turns with image
304
- * attachments use the SDK's streaming-input mode: a single SDKUserMessage
305
- * whose content carries the prompt text plus one base64 `image` block per
306
- * attachment (read from the global `~/.cloudcli/assets` folder).
347
+ * Only turns that start background work need their CLI process held open; every
348
+ * other turn can let it exit immediately, as it did before the hold existed.
349
+ *
350
+ * @param {Object} sdkMessage - SDK stream message
351
+ * @returns {boolean} True when the message launches work that outlives the turn
352
+ */
353
+ function startsBackgroundWork(sdkMessage) {
354
+ const content = sdkMessage?.message?.content;
355
+ if (!Array.isArray(content)) {
356
+ return false;
357
+ }
358
+ return content.some((block) => {
359
+ if (block?.type !== 'tool_use') {
360
+ return false;
361
+ }
362
+ if (block.name === 'Bash') {
363
+ return block.input?.run_in_background === true;
364
+ }
365
+ return DEFERRED_WORK_TOOLS.has(block.name);
366
+ });
367
+ }
368
+ /**
369
+ * Builds the SDK user messages for one turn.
370
+ *
371
+ * Always returns SDKUserMessage records rather than a bare string: a string
372
+ * prompt makes the SDK flag the query as single-turn and close stdin the moment
373
+ * the turn's `result` arrives, which kills the CLI's background tasks. Plain
374
+ * text turns carry string content; turns with image attachments carry the
375
+ * prompt text plus one base64 `image` block per attachment (read from the
376
+ * global `~/.cloudcli/assets` folder).
307
377
  *
308
378
  * @param {string} command - User prompt
309
379
  * @param {Array} images - Image descriptors ({ path, name?, mimeType? })
310
380
  * @param {Array} files - Non-image attachment descriptors
311
381
  * @param {string} cwd - Project working directory attachment paths resolve against
312
- * @returns {Promise<string|AsyncIterable>} SDK prompt payload
382
+ * @returns {Promise<Array<Object>>} SDKUserMessage records for the turn
313
383
  */
314
- async function buildPromptPayload(command, images, files, cwd) {
384
+ async function buildPromptMessages(command, images, files, cwd) {
315
385
  const promptWithFiles = appendFilesInputTag(command, files);
316
- if (normalizeImageDescriptors(images).length === 0) {
317
- return promptWithFiles;
318
- }
319
- const content = await buildClaudeUserContent(promptWithFiles, images, cwd);
320
- return (async function* () {
321
- yield {
386
+ const content = normalizeImageDescriptors(images).length === 0
387
+ ? promptWithFiles
388
+ : await buildClaudeUserContent(promptWithFiles, images, cwd);
389
+ return [{
322
390
  type: 'user',
323
391
  message: {
324
392
  role: 'user',
@@ -326,8 +394,30 @@ async function buildPromptPayload(command, images, files, cwd) {
326
394
  },
327
395
  parent_tool_use_id: null,
328
396
  timestamp: new Date().toISOString()
329
- };
397
+ }];
398
+ }
399
+ /**
400
+ * Wraps prompt messages in an async iterable that yields them and then parks.
401
+ *
402
+ * The SDK closes the CLI's stdin as soon as its input iterable is exhausted (and
403
+ * immediately on `result` for string prompts). The CLI reads that EOF as the end
404
+ * of the run and kills anything still going in the background, so the iterable
405
+ * has to stay pending until we actually want the process gone.
406
+ *
407
+ * @param {Array<Object>} messages - SDKUserMessage records to send
408
+ * @returns {{ stream: AsyncIterable, release: () => void }} Stream plus its closer
409
+ */
410
+ function createHeldPromptStream(messages) {
411
+ let release;
412
+ const held = new Promise((resolve) => { release = resolve; });
413
+ const stream = (async function* () {
414
+ for (const message of messages) {
415
+ yield message;
416
+ }
417
+ // Keeps stdin open — the CLI stays alive until release() is called.
418
+ await held;
330
419
  })();
420
+ return { stream, release };
331
421
  }
332
422
  /**
333
423
  * Loads MCP server configurations from ~/.claude.json
@@ -409,6 +499,40 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
409
499
  event
410
500
  });
411
501
  };
502
+ // Closes the held stdin stream so the CLI can wind down. Replaced once the
503
+ // stream exists; the finally block calls it no matter how the run ends.
504
+ let releasePromptStream = () => { };
505
+ let idleReleaseTimer = null;
506
+ // The client is told the turn is over as soon as `result` lands, even though
507
+ // the process lingers, so the UI never waits out the idle hold.
508
+ let turnCompleteSent = false;
509
+ // Set when a turn starts background work, cleared when the next `result`
510
+ // arrives — only turns with work still outstanding hold their process open.
511
+ let backgroundWorkPending = false;
512
+ // True while the process is being held open for background work, so a later
513
+ // `result` can be recognised as that work reporting back.
514
+ let heldForBackgroundWork = false;
515
+ // A new turn supersedes any earlier one still holding this session's process
516
+ // open, so held runs cannot stack up across a conversation.
517
+ if (sessionKey()) {
518
+ getSession(sessionKey())?.releaseInput?.();
519
+ }
520
+ // Arms (or re-arms) the idle countdown that eventually closes stdin.
521
+ const scheduleRelease = () => {
522
+ if (idleReleaseTimer) {
523
+ clearTimeout(idleReleaseTimer);
524
+ idleReleaseTimer = null;
525
+ }
526
+ idleReleaseTimer = setTimeout(() => {
527
+ idleReleaseTimer = null;
528
+ releasePromptStream();
529
+ }, BG_WAIT_CEILING_MS);
530
+ // Never let the hold keep the server process alive on its own.
531
+ idleReleaseTimer.unref?.();
532
+ };
533
+ // Hoisted above the try so the catch's cleanup can tell whether this run
534
+ // still owns the activeSessions entry (or was superseded by a newer run).
535
+ let queryInstance = null;
412
536
  try {
413
537
  const resolvedModel = await context.resolveResumeModel(sessionId, options.model);
414
538
  let effortModels = CLAUDE_PREDEFINED_MODELS;
@@ -428,10 +552,10 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
428
552
  if (mcpServers) {
429
553
  sdkOptions.mcpServers = mcpServers;
430
554
  }
431
- // Turns with image attachments switch to streaming input so the images
432
- // ride along as real content blocks. Built per query attempt because an
433
- // async generator cannot be replayed once consumed.
434
- const createPrompt = () => buildPromptPayload(command, options.images, options.files, options.cwd);
555
+ // Every turn uses streaming input so stdin stays open past the turn's
556
+ // `result`. The message list is reusable, but each query attempt needs its
557
+ // own stream because an async generator cannot be replayed once consumed.
558
+ const promptMessages = await buildPromptMessages(command, options.images, options.files, options.cwd);
435
559
  sdkOptions.hooks = {
436
560
  Notification: [{
437
561
  matcher: '',
@@ -519,10 +643,11 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
519
643
  }
520
644
  return { behavior: 'deny', message: decision.message ?? 'User denied tool use' };
521
645
  };
522
- let queryInstance;
646
+ let heldPrompt = createHeldPromptStream(promptMessages);
647
+ releasePromptStream = heldPrompt.release;
523
648
  try {
524
649
  queryInstance = query({
525
- prompt: await createPrompt(),
650
+ prompt: heldPrompt.stream,
526
651
  options: sdkOptions
527
652
  });
528
653
  }
@@ -531,14 +656,18 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
531
656
  // Keep notification behavior operational via runtime events even if hook registration fails.
532
657
  console.warn('Failed to initialize Claude query with hooks, retrying without hooks:', hookError?.message || hookError);
533
658
  delete sdkOptions.hooks;
659
+ // Discard the abandoned stream and build a fresh one for the retry.
660
+ heldPrompt.release();
661
+ heldPrompt = createHeldPromptStream(promptMessages);
662
+ releasePromptStream = heldPrompt.release;
534
663
  queryInstance = query({
535
- prompt: await createPrompt(),
664
+ prompt: heldPrompt.stream,
536
665
  options: sdkOptions
537
666
  });
538
667
  }
539
668
  // Track the query instance for abort capability
540
669
  if (sessionKey()) {
541
- addSession(sessionKey(), queryInstance, ws);
670
+ addSession(sessionKey(), queryInstance, ws, releasePromptStream);
542
671
  }
543
672
  // Process streaming messages
544
673
  console.log('Starting async generator loop for session:', capturedSessionId || 'NEW');
@@ -546,7 +675,7 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
546
675
  // Capture session ID from first message
547
676
  if (message.session_id && !capturedSessionId) {
548
677
  capturedSessionId = message.session_id;
549
- addSession(sessionKey(), queryInstance, ws);
678
+ addSession(sessionKey(), queryInstance, ws, releasePromptStream);
550
679
  // Set session ID on writer
551
680
  if (ws.setSessionId && typeof ws.setSessionId === 'function') {
552
681
  ws.setSessionId(capturedSessionId);
@@ -577,32 +706,93 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
577
706
  if (tokenBudgetData) {
578
707
  ws.send(createNormalizedMessage({ kind: 'status', text: 'token_budget', tokenBudget: tokenBudgetData, sessionId: capturedSessionId || sessionId || null, provider: 'claude' }));
579
708
  }
709
+ if (startsBackgroundWork(message)) {
710
+ backgroundWorkPending = true;
711
+ }
712
+ if (message.type === 'result') {
713
+ // The turn is done as far as the client is concerned.
714
+ const abortPending = sessionKey() ? abortedSessionIds.has(sessionKey()) : false;
715
+ if (!turnCompleteSent && !abortPending) {
716
+ turnCompleteSent = true;
717
+ ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 0 }));
718
+ notifyRunStopped({
719
+ userId: ws?.userId || null,
720
+ provider: 'claude',
721
+ sessionId: sessionId || capturedSessionId || null,
722
+ sessionName: sessionSummary,
723
+ stopReason: 'completed'
724
+ });
725
+ }
726
+ else if (heldForBackgroundWork && !abortPending) {
727
+ // A result after the turn already reported complete means the work we
728
+ // held the process open for has finished and pushed a follow-up turn.
729
+ notifyBackgroundWorkCompleted({
730
+ userId: ws?.userId || null,
731
+ provider: 'claude',
732
+ sessionId: sessionId || capturedSessionId || null,
733
+ sessionName: sessionSummary
734
+ });
735
+ }
736
+ if (backgroundWorkPending) {
737
+ // Work started during this turn is still running. Hold the process
738
+ // open so it can finish and report back in a follow-up turn; the
739
+ // ceiling is only a backstop for work that never reports.
740
+ backgroundWorkPending = false;
741
+ heldForBackgroundWork = true;
742
+ scheduleRelease();
743
+ }
744
+ else {
745
+ // Either nothing was backgrounded, or the background work just
746
+ // reported in — let the CLI exit now, as it always has.
747
+ heldForBackgroundWork = false;
748
+ releasePromptStream();
749
+ }
750
+ }
751
+ else if (idleReleaseTimer) {
752
+ // Background activity after the turn — push the countdown back out.
753
+ scheduleRelease();
754
+ }
580
755
  }
581
- // Clean up session on completion
582
- if (sessionKey()) {
756
+ // Clean up session on completion — only while this run still owns the map
757
+ // entry. A superseding run may have replaced it, and deleting here would
758
+ // strand that run.
759
+ if (sessionKey() && getSession(sessionKey())?.instance === queryInstance) {
583
760
  removeSession(sessionKey());
584
761
  }
762
+ // A superseded run winds down silently: the map entry, the abort flag,
763
+ // and all client-facing events belong to the run that replaced it.
764
+ const superseded = supersededInstances.has(queryInstance);
585
765
  // Send the terminal completion event — skipped for aborted runs, whose
586
- // terminal `complete` (aborted: true) was already sent by abort-session.
587
- const wasAborted = sessionKey() ? abortedSessionIds.delete(sessionKey()) : false;
588
- if (!wasAborted) {
589
- ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 0 }));
766
+ // terminal `complete` (aborted: true) was already sent by abort-session, and
767
+ // for runs that already reported completion when their `result` arrived.
768
+ const wasAborted = !superseded && sessionKey() ? abortedSessionIds.delete(sessionKey()) : false;
769
+ if (!turnCompleteSent && !superseded) {
770
+ turnCompleteSent = true;
771
+ if (!wasAborted) {
772
+ ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 0 }));
773
+ }
774
+ notifyRunStopped({
775
+ userId: ws?.userId || null,
776
+ provider: 'claude',
777
+ sessionId: sessionId || capturedSessionId || null,
778
+ sessionName: sessionSummary,
779
+ stopReason: wasAborted ? 'aborted' : 'completed'
780
+ });
590
781
  }
591
- notifyRunStopped({
592
- userId: ws?.userId || null,
593
- provider: 'claude',
594
- sessionId: sessionId || capturedSessionId || null,
595
- sessionName: sessionSummary,
596
- stopReason: wasAborted ? 'aborted' : 'completed'
597
- });
598
782
  // Complete
599
783
  }
600
784
  catch (error) {
601
785
  console.error('SDK query error:', error);
602
- // Clean up session on error
603
- if (sessionKey()) {
786
+ // Clean up session on error — only while this run still owns the map entry
787
+ // (a superseding run may have replaced it).
788
+ if (sessionKey() && getSession(sessionKey())?.instance === queryInstance) {
604
789
  removeSession(sessionKey());
605
790
  }
791
+ if (supersededInstances.has(queryInstance)) {
792
+ // Interrupted because a newer run took over this session id; that run
793
+ // owns the abort flag and all further client-facing events.
794
+ return;
795
+ }
606
796
  const wasAborted = sessionKey() ? abortedSessionIds.delete(sessionKey()) : false;
607
797
  if (wasAborted) {
608
798
  // The abort already produced the terminal complete; a generator throw
@@ -614,9 +804,13 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
614
804
  const errorContent = !installed
615
805
  ? 'Claude Code is not installed. Please install it first: https://docs.anthropic.com/en/docs/claude-code'
616
806
  : error.message;
617
- // Send error to WebSocket, then the terminal complete
807
+ // Send error to WebSocket, then the terminal complete. A run that already
808
+ // reported completion and then failed during its post-turn hold still
809
+ // surfaces the error, but must not emit a second terminal complete.
618
810
  ws.send(createNormalizedMessage({ kind: 'error', content: errorContent, sessionId: capturedSessionId || sessionId || null, provider: 'claude' }));
619
- ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 1 }));
811
+ if (!turnCompleteSent) {
812
+ ws.send(createCompleteMessage({ provider: 'claude', sessionId: capturedSessionId || sessionId || null, exitCode: 1 }));
813
+ }
620
814
  notifyRunFailed({
621
815
  userId: ws?.userId || null,
622
816
  provider: 'claude',
@@ -625,6 +819,15 @@ async function queryClaudeSDK(command, options = {}, ws, context) {
625
819
  error
626
820
  });
627
821
  }
822
+ finally {
823
+ // Always close stdin — otherwise an aborted or failed run leaves the CLI
824
+ // process (and its MCP servers) alive until the server exits.
825
+ if (idleReleaseTimer) {
826
+ clearTimeout(idleReleaseTimer);
827
+ idleReleaseTimer = null;
828
+ }
829
+ releasePromptStream();
830
+ }
628
831
  }
629
832
  /**
630
833
  * Aborts an active SDK session
@@ -644,6 +847,9 @@ async function abortClaudeSDKSession(sessionId) {
644
847
  abortedSessionIds.add(sessionId);
645
848
  // Call interrupt() on the query instance
646
849
  await session.instance.interrupt();
850
+ // Release the held stdin stream; without this the CLI stays up for the rest
851
+ // of the post-turn hold even though the user cancelled.
852
+ session.releaseInput?.();
647
853
  // Update session status
648
854
  session.status = 'aborted';
649
855
  // Clean up session
@@ -1 +1 @@
1
- {"version":3,"file":"claude-runtime.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-runtime.provider.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-runtime.provider.js","sourceRoot":"","sources":["../../../../../../server/modules/providers/list/claude/claude-runtime.provider.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEvD,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;AACvC,2EAA2E;AAC3E,8EAA8E;AAC9E,mDAAmD;AACnD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;AACpC,6EAA6E;AAC7E,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAAE,CAAC;AAE1C,MAAM,wBAAwB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC;AAEpG,qFAAqF;AACrF,oCAAoC;AACpC,EAAE;AACF,sFAAsF;AACtF,+EAA+E;AAC/E,mFAAmF;AACnF,iFAAiF;AACjF,kFAAkF;AAClF,mFAAmF;AACnF,gFAAgF;AAChF,2BAA2B;AAC3B,EAAE;AACF,kFAAkF;AAClF,mFAAmF;AACnF,mFAAmF;AACnF,+EAA+E;AAC/E,sFAAsF;AACtF,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE1C,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC;AAEjF,SAAS,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,GAAG,wBAAwB;IACrF,MAAM,aAAa,GAAG,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;IAClG,MAAM,cAAc,GAAG,aAAa,EAAE,MAAM,EAAE,MAAM;QAClD,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1F,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAS,EAAE,OAAO,GAAG,EAAE;IAClD,MAAM,EAAE,SAAS,GAAG,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAErF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,CAAC,CAAC;QAEF,IAAI,OAAO,CAAC;QAEZ,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,OAAO;gBAAE,YAAY,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;gBAC3B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEF,sDAAsD;QACtD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBACxB,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;YACxB,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,QAAQ,EAAE,CAAC,WAAW,CAAC,CAAC;gBACxB,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,EAAE;YAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,2DAA2D;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,oBAAoB,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,SAAS,EAAE,QAAQ;IAC9C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,wEAAwE;AACxE,2EAA2E;AAC3E,mEAAmE;AACnE,SAAS,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK;IACnD,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACnD,IAAI,QAAQ,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;aAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnF,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAO,GAAG,EAAE;IACtC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAElF,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,yEAAyE;IACzE,gFAAgF;IAChF,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,oCAAoC,EAAE,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;IAEtG,0FAA0F;IAC1F,6EAA6E;IAC7E,UAAU,CAAC,0BAA0B,GAAG,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAErG,IAAI,GAAG,EAAE,CAAC;QACR,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC;IACvB,CAAC;IAED,IAAI,cAAc,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACnD,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;IAC7C,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,IAAI;QAChC,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,KAAK;KACvB,CAAC;IAEF,IAAI,QAAQ,CAAC,eAAe,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC1D,UAAU,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC;IAEtD,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3G,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,YAAY,GAAG,YAAY,CAAC;IAEvC,iGAAiG;IACjG,sGAAsG;IACtG,gEAAgE;IAChE,UAAU,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;IAE7D,UAAU,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,IAAI,EAAE,CAAC;IAE5D,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,wBAAwB,CAAC,OAAO,CAAC;IAErE,MAAM,cAAc,GAAG,mBAAmB,CACxC,UAAU,CAAC,KAAK,EAChB,MAAM,EACN,OAAO,CAAC,YAAY,IAAI,wBAAwB,CACjD,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,YAAY,GAAG;QACxB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,aAAa;KACtB,CAAC;IAEF,UAAU,CAAC,cAAc,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAEzD,yEAAyE;IACzE,IAAI,iBAAiB,EAAE,CAAC;QACtB,UAAU,CAAC,MAAM,GAAG,iBAAiB,CAAC;IACxC,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,wEAAwE;IACxE,2EAA2E;IAC3E,oEAAoE;IACpE,yEAAyE;IACzE,oEAAoE;IACpE,wEAAwE;IACxE,wCAAwC;IACxC,MAAM,WAAW,GAAG,OAAO,CACzB,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,aAAa,CACrG,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;aACzC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,iDAAiD,SAAS,GAAG,EAAE,KAAK,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;QACL,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9C,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAC5B,QAAQ,EAAE,aAAa;QACvB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;QAC3C,MAAM,EAAE,QAAQ;QAChB,MAAM;QACN,6EAA6E;QAC7E,YAAY,EAAE,YAAY,IAAI,OAAO,EAAE,YAAY,IAAI,IAAI;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,SAAS;IAC9B,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,SAAS;IAC3B,OAAO,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,UAAU;IAClC,wDAAwD;IACxD,IAAI,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAClC,OAAO;YACL,GAAG,UAAU;YACb,eAAe,EAAE,UAAU,CAAC,kBAAkB;SAC/C,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,UAAU,CAAC,KAAK;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,UAAU;IACpC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IACnE,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,YAAY,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5F,MAAM,mBAAmB,GAAG,UAAU,CAAC,YAAY,CAAC,2BAA2B,IAAI,YAAY,CAAC,wBAAwB,IAAI,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC9J,MAAM,eAAe,GAAG,UAAU,CAAC,YAAY,CAAC,uBAAuB,IAAI,YAAY,CAAC,oBAAoB,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;QAC9I,MAAM,WAAW,GAAG,mBAAmB,GAAG,eAAe,CAAC;QAC1D,MAAM,WAAW,GAAG,iBAAiB,GAAG,WAAW,CAAC;QACpD,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;QACzF,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;QAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;QAEzE,OAAO;YACL,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,aAAa;YACpB,WAAW;YACX,YAAY;YACZ,eAAe;YACf,mBAAmB;YACnB,WAAW;YACX,SAAS,EAAE;gBACT,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,YAAY;aACrB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,IAAI,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uDAAuD;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,sBAAsB,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5F,MAAM,SAAS,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7C,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IAEzE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,aAAa;QACpB,WAAW;QACX,YAAY;QACZ,SAAS,EAAE;YACT,KAAK,EAAE,WAAW;YAClB,MAAM,EAAE,YAAY;SACrB;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;AAE/F;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,UAAU;IACtC,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;QACjD,CAAC;QACD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAC5D,MAAM,eAAe,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;QAC5D,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,MAAM,sBAAsB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/D,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,OAAO;aACR;YACD,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,QAAQ;IACtC,IAAI,OAAO,CAAC;IACZ,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9D,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,CAAC;QAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC;QAChB,CAAC;QACD,oEAAoE;QACpE,MAAM,IAAI,CAAC;IACb,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,GAAG;IAC9B,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;QAEjE,8BAA8B;QAC9B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kCAAkC;YAClC,iBAAiB;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,IAAI,YAAY,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YAClE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0DAA0D;QAC1D,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,yBAAyB;QACzB,IAAI,YAAY,CAAC,UAAU,IAAI,OAAO,YAAY,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC3E,UAAU,GAAG,EAAE,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;YAC5C,4BAA4B;QAC9B,CAAC;QAED,iDAAiD;QACjD,IAAI,YAAY,CAAC,cAAc,IAAI,GAAG,EAAE,CAAC;YACvC,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,aAAa,IAAI,aAAa,CAAC,UAAU,IAAI,OAAO,aAAa,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC9F,UAAU,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC;gBAC5D,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO;IAC9D,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAC9C,uEAAuE;IACvE,kDAAkD;IAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACtE,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,iBAAiB,GAAG,iBAAiB,CAAC;IAC1C,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,IAAI,iBAAiB,IAAI,IAAI,CAAC;IAEhE,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,EAAE;QACjC,mBAAmB,CAAC;YAClB,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;YAC1B,MAAM,EAAE,EAAE;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,2EAA2E;IAC3E,wEAAwE;IACxE,IAAI,mBAAmB,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACnC,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAClC,4EAA4E;IAC5E,0DAA0D;IAC1D,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAElC,6EAA6E;IAC7E,4DAA4D;IAC5D,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;IAC7C,CAAC;IAED,qEAAqE;IACrE,MAAM,eAAe,GAAG,GAAG,EAAE;QAC3B,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,gBAAgB,GAAG,IAAI,CAAC;YACxB,mBAAmB,EAAE,CAAC;QACxB,CAAC,EAAE,kBAAkB,CAAC,CAAC;QACvB,+DAA+D;QAC/D,gBAAgB,CAAC,KAAK,EAAE,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,yEAAyE;IACzE,0EAA0E;IAC1E,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACjF,IAAI,YAAY,GAAG,wBAAwB,CAAC;QAC5C,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,oEAAoE,EAAE,KAAK,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC;YACpC,GAAG,OAAO;YACV,iBAAiB;YACjB,KAAK,EAAE,aAAa,IAAI,OAAO,CAAC,KAAK;YACrC,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;QACrC,CAAC;QAED,sEAAsE;QACtE,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QAEtG,UAAU,CAAC,KAAK,GAAG;YACjB,YAAY,EAAE,CAAC;oBACb,OAAO,EAAE,EAAE;oBACX,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;4BACtB,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC;4BACvG,kEAAkE;4BAClE,gBAAgB,CAAC,uBAAuB,CAAC;gCACvC,QAAQ,EAAE,QAAQ;gCAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;gCACjD,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,oBAAoB;gCAC1B,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE;gCAC9C,QAAQ,EAAE,SAAS;gCACnB,kBAAkB,EAAE,IAAI;gCACxB,SAAS,EAAE,4BAA4B,SAAS,IAAI,iBAAiB,IAAI,MAAM,IAAI,OAAO,EAAE;6BAC7F,CAAC,CAAC,CAAC;4BACJ,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC;iBACH,CAAC;SACH,CAAC;QAEF,4EAA4E;QAC5E,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,0EAA0E;QAC1E,0BAA0B;QAC1B,UAAU,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACzD,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAEtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,IAAI,UAAU,CAAC,cAAc,KAAK,mBAAmB,EAAE,CAAC;oBACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;gBACpD,CAAC;gBAED,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACnE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;gBACF,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;gBACtE,CAAC;gBAED,MAAM,SAAS,GAAG,CAAC,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC7D,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAC9C,CAAC;gBACF,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;YACpC,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YACpK,gBAAgB,CAAC,uBAAuB,CAAC;gBACvC,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;gBACjD,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,qBAAqB;gBAC3B,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE;gBAC/C,QAAQ,EAAE,SAAS;gBACnB,kBAAkB,EAAE,IAAI;gBACxB,SAAS,EAAE,qBAAqB,SAAS,IAAI,iBAAiB,IAAI,MAAM,IAAI,SAAS,EAAE;aACxF,CAAC,CAAC,CAAC;YAEJ,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE;gBACpD,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9C,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE;oBACR,mEAAmE;oBACnE,8DAA8D;oBAC9D,UAAU,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;oBAClD,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,KAAK;oBACb,WAAW,EAAE,IAAI,IAAI,EAAE;iBACxB;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/J,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;YACvE,CAAC;YAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;YACvE,CAAC;YAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,IAAI,QAAQ,CAAC,aAAa,IAAI,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACzE,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC9D,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;oBACvD,CAAC;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;wBAC9C,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,IAAI,KAAK,EAAE,CAAC;YAC7E,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,sBAAsB,EAAE,CAAC;QACnF,CAAC,CAAC;QAEF,IAAI,UAAU,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QACxD,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC;YACH,aAAa,GAAG,KAAK,CAAC;gBACpB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,2DAA2D;YAC3D,6FAA6F;YAC7F,OAAO,CAAC,IAAI,CAAC,uEAAuE,EAAE,SAAS,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;YACvH,OAAO,UAAU,CAAC,KAAK,CAAC;YACxB,oEAAoE;YACpE,UAAU,CAAC,OAAO,EAAE,CAAC;YACrB,UAAU,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;YACpD,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC;YACzC,aAAa,GAAG,KAAK,CAAC;gBACpB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,OAAO,EAAE,UAAU;aACpB,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,UAAU,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;QACnE,CAAC;QAED,6BAA6B;QAC7B,OAAO,CAAC,GAAG,CAAC,4CAA4C,EAAE,iBAAiB,IAAI,KAAK,CAAC,CAAC;QACtF,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YAC1C,wCAAwC;YACxC,IAAI,OAAO,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAE7C,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;gBACvC,UAAU,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAEjE,2BAA2B;gBAC3B,IAAI,EAAE,CAAC,YAAY,IAAI,OAAO,EAAE,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;oBAC7D,EAAE,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBACrC,CAAC;gBAED,2EAA2E;gBAC3E,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC9C,kBAAkB,GAAG,IAAI,CAAC;oBAC1B,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,8BAA8B;YAChC,CAAC;YAED,8CAA8C;YAC9C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,iBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC;YAEnD,+DAA+D;YAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;YACrE,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC7B,uEAAuE;gBACvE,IAAI,kBAAkB,CAAC,eAAe,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;oBAC/D,GAAG,CAAC,eAAe,GAAG,kBAAkB,CAAC,eAAe,CAAC;gBAC3D,CAAC;gBACD,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAED,6EAA6E;YAC7E,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,eAAe,EAAE,CAAC;gBACpB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;YAClL,CAAC;YAED,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,qBAAqB,GAAG,IAAI,CAAC;YAC/B,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC9B,sDAAsD;gBACtD,MAAM,YAAY,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAChF,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACvC,gBAAgB,GAAG,IAAI,CAAC;oBACxB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvH,gBAAgB,CAAC;wBACf,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;wBAC1B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;wBACjD,WAAW,EAAE,cAAc;wBAC3B,UAAU,EAAE,WAAW;qBACxB,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,qBAAqB,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClD,sEAAsE;oBACtE,sEAAsE;oBACtE,6BAA6B,CAAC;wBAC5B,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;wBAC1B,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;wBACjD,WAAW,EAAE,cAAc;qBAC5B,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,mEAAmE;oBACnE,iEAAiE;oBACjE,0DAA0D;oBAC1D,qBAAqB,GAAG,KAAK,CAAC;oBAC9B,qBAAqB,GAAG,IAAI,CAAC;oBAC7B,eAAe,EAAE,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,wDAAwD;oBACxD,qBAAqB,GAAG,KAAK,CAAC;oBAC9B,mBAAmB,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;iBAAM,IAAI,gBAAgB,EAAE,CAAC;gBAC5B,oEAAoE;gBACpE,eAAe,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,yEAAyE;QACzE,mBAAmB;QACnB,IAAI,UAAU,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC;YACzE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE1D,uEAAuE;QACvE,6EAA6E;QAC7E,yEAAyE;QACzE,MAAM,UAAU,GAAG,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChG,IAAI,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,gBAAgB,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACzH,CAAC;YACD,gBAAgB,CAAC;gBACf,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;gBACjD,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW;aACjD,CAAC,CAAC;QACL,CAAC;QACD,WAAW;IAEb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QAEzC,2EAA2E;QAC3E,4CAA4C;QAC5C,IAAI,UAAU,EAAE,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,KAAK,aAAa,EAAE,CAAC;YACzE,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3C,sEAAsE;YACtE,4DAA4D;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,IAAI,UAAU,EAAE,CAAC;YACf,sEAAsE;YACtE,oEAAoE;YACpE,OAAO;QACT,CAAC;QAED,+DAA+D;QAC/D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,CAAC,SAAS;YAC7B,CAAC,CAAC,uGAAuG;YACzG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAElB,0EAA0E;QAC1E,sEAAsE;QACtE,oEAAoE;QACpE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAClJ,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,IAAI,SAAS,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzH,CAAC;QACD,eAAe,CAAC;YACd,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,IAAI;YAC1B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS,IAAI,iBAAiB,IAAI,IAAI;YACjD,WAAW,EAAE,cAAc;YAC3B,KAAK;SACN,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,yEAAyE;QACzE,8DAA8D;QAC9D,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,CAAC,CAAC;YAC/B,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,mBAAmB,EAAE,CAAC;IACxB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAAC,SAAS;IAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;QAElD,qEAAqE;QACrE,+DAA+D;QAC/D,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjC,yCAAyC;QACzC,MAAM,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAEnC,4EAA4E;QAC5E,wDAAwD;QACxD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QAEzB,wBAAwB;QACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAE3B,mBAAmB;QACnB,aAAa,CAAC,SAAS,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7D,8DAA8D;QAC9D,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,SAAS;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B;IACjC,OAAO,cAAc,EAAE,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,SAAS;IAC9C,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,EAAE,CAAC;QACnE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC;gBACX,SAAS;gBACT,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,aAAa;gBAC7C,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ;gBAC1B,SAAS;gBACT,UAAU,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE;aAC/C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,SAAS,EAAE,QAAQ;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe;QAAE,OAAO,KAAK,CAAC;IACpD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,0CAA0C,SAAS,EAAE,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,cAAc;IACnB,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE;QACX,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,6BAA6B;KAC3C;CACF,CAAC;AAEF,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,6BAA6B,EAC7B,sBAAsB,EACvB,CAAC"}
@@ -615,6 +615,11 @@ router.get('/search/sessions', asyncHandler(async (req, res) => {
615
615
  query,
616
616
  limit,
617
617
  signal: abortController.signal,
618
+ onTitleResults: (titleResults) => {
619
+ if (!closed) {
620
+ res.write(`event: title-results\ndata: ${JSON.stringify({ titleResults })}\n\n`);
621
+ }
622
+ },
618
623
  onProgress: ({ projectResult, totalMatches, scannedProjects, totalProjects }) => {
619
624
  if (closed) {
620
625
  return;