mewkit 1.8.3 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/orchviz/constants.d.ts +9 -1
  2. package/dist/orchviz/constants.d.ts.map +1 -1
  3. package/dist/orchviz/constants.js +27 -2
  4. package/dist/orchviz/constants.js.map +1 -1
  5. package/dist/orchviz/parser/handle-tool-use.d.ts.map +1 -1
  6. package/dist/orchviz/parser/handle-tool-use.js +10 -3
  7. package/dist/orchviz/parser/handle-tool-use.js.map +1 -1
  8. package/dist/orchviz/protocol.d.ts +8 -0
  9. package/dist/orchviz/protocol.d.ts.map +1 -1
  10. package/dist/orchviz/session-manager.d.ts.map +1 -1
  11. package/dist/orchviz/session-manager.js +1 -0
  12. package/dist/orchviz/session-manager.js.map +1 -1
  13. package/dist/orchviz/subagent-meta.d.ts +5 -1
  14. package/dist/orchviz/subagent-meta.d.ts.map +1 -1
  15. package/dist/orchviz/subagent-meta.js +9 -3
  16. package/dist/orchviz/subagent-meta.js.map +1 -1
  17. package/dist/orchviz/subagent-watcher.d.ts +3 -2
  18. package/dist/orchviz/subagent-watcher.d.ts.map +1 -1
  19. package/dist/orchviz/subagent-watcher.js +18 -5
  20. package/dist/orchviz/subagent-watcher.js.map +1 -1
  21. package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff +0 -0
  22. package/dist/orchviz-web/fira-code-cyrillic-400-normal.woff2 +0 -0
  23. package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff +0 -0
  24. package/dist/orchviz-web/fira-code-cyrillic-500-normal.woff2 +0 -0
  25. package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff +0 -0
  26. package/dist/orchviz-web/fira-code-cyrillic-ext-400-normal.woff2 +0 -0
  27. package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff +0 -0
  28. package/dist/orchviz-web/fira-code-cyrillic-ext-500-normal.woff2 +0 -0
  29. package/dist/orchviz-web/fira-code-greek-400-normal.woff +0 -0
  30. package/dist/orchviz-web/fira-code-greek-400-normal.woff2 +0 -0
  31. package/dist/orchviz-web/fira-code-greek-500-normal.woff +0 -0
  32. package/dist/orchviz-web/fira-code-greek-500-normal.woff2 +0 -0
  33. package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff +0 -0
  34. package/dist/orchviz-web/fira-code-greek-ext-400-normal.woff2 +0 -0
  35. package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff +0 -0
  36. package/dist/orchviz-web/fira-code-greek-ext-500-normal.woff2 +0 -0
  37. package/dist/orchviz-web/fira-code-latin-400-normal.woff +0 -0
  38. package/dist/orchviz-web/fira-code-latin-400-normal.woff2 +0 -0
  39. package/dist/orchviz-web/fira-code-latin-500-normal.woff +0 -0
  40. package/dist/orchviz-web/fira-code-latin-500-normal.woff2 +0 -0
  41. package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff +0 -0
  42. package/dist/orchviz-web/fira-code-latin-ext-400-normal.woff2 +0 -0
  43. package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff +0 -0
  44. package/dist/orchviz-web/fira-code-latin-ext-500-normal.woff2 +0 -0
  45. package/dist/orchviz-web/fira-code-symbols2-400-normal.woff +0 -0
  46. package/dist/orchviz-web/fira-code-symbols2-500-normal.woff +0 -0
  47. package/dist/orchviz-web/index.css +1 -1
  48. package/dist/orchviz-web/index.html +2 -2
  49. package/dist/orchviz-web/index.js +16 -16
  50. package/dist/orchviz-web/inter-cyrillic-400-normal.woff +0 -0
  51. package/dist/orchviz-web/inter-cyrillic-400-normal.woff2 +0 -0
  52. package/dist/orchviz-web/inter-cyrillic-500-normal.woff +0 -0
  53. package/dist/orchviz-web/inter-cyrillic-500-normal.woff2 +0 -0
  54. package/dist/orchviz-web/inter-cyrillic-600-normal.woff +0 -0
  55. package/dist/orchviz-web/inter-cyrillic-600-normal.woff2 +0 -0
  56. package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff +0 -0
  57. package/dist/orchviz-web/inter-cyrillic-ext-400-normal.woff2 +0 -0
  58. package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff +0 -0
  59. package/dist/orchviz-web/inter-cyrillic-ext-500-normal.woff2 +0 -0
  60. package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff +0 -0
  61. package/dist/orchviz-web/inter-cyrillic-ext-600-normal.woff2 +0 -0
  62. package/dist/orchviz-web/inter-greek-400-normal.woff +0 -0
  63. package/dist/orchviz-web/inter-greek-400-normal.woff2 +0 -0
  64. package/dist/orchviz-web/inter-greek-500-normal.woff +0 -0
  65. package/dist/orchviz-web/inter-greek-500-normal.woff2 +0 -0
  66. package/dist/orchviz-web/inter-greek-600-normal.woff +0 -0
  67. package/dist/orchviz-web/inter-greek-600-normal.woff2 +0 -0
  68. package/dist/orchviz-web/inter-greek-ext-400-normal.woff +0 -0
  69. package/dist/orchviz-web/inter-greek-ext-400-normal.woff2 +0 -0
  70. package/dist/orchviz-web/inter-greek-ext-500-normal.woff +0 -0
  71. package/dist/orchviz-web/inter-greek-ext-500-normal.woff2 +0 -0
  72. package/dist/orchviz-web/inter-greek-ext-600-normal.woff +0 -0
  73. package/dist/orchviz-web/inter-greek-ext-600-normal.woff2 +0 -0
  74. package/dist/orchviz-web/inter-latin-400-normal.woff +0 -0
  75. package/dist/orchviz-web/inter-latin-400-normal.woff2 +0 -0
  76. package/dist/orchviz-web/inter-latin-500-normal.woff +0 -0
  77. package/dist/orchviz-web/inter-latin-500-normal.woff2 +0 -0
  78. package/dist/orchviz-web/inter-latin-600-normal.woff +0 -0
  79. package/dist/orchviz-web/inter-latin-600-normal.woff2 +0 -0
  80. package/dist/orchviz-web/inter-latin-ext-400-normal.woff +0 -0
  81. package/dist/orchviz-web/inter-latin-ext-400-normal.woff2 +0 -0
  82. package/dist/orchviz-web/inter-latin-ext-500-normal.woff +0 -0
  83. package/dist/orchviz-web/inter-latin-ext-500-normal.woff2 +0 -0
  84. package/dist/orchviz-web/inter-latin-ext-600-normal.woff +0 -0
  85. package/dist/orchviz-web/inter-latin-ext-600-normal.woff2 +0 -0
  86. package/dist/orchviz-web/inter-vietnamese-400-normal.woff +0 -0
  87. package/dist/orchviz-web/inter-vietnamese-400-normal.woff2 +0 -0
  88. package/dist/orchviz-web/inter-vietnamese-500-normal.woff +0 -0
  89. package/dist/orchviz-web/inter-vietnamese-500-normal.woff2 +0 -0
  90. package/dist/orchviz-web/inter-vietnamese-600-normal.woff +0 -0
  91. package/dist/orchviz-web/inter-vietnamese-600-normal.woff2 +0 -0
  92. package/package.json +9 -2
@@ -43,7 +43,15 @@ export declare const FILE_TOOLS: readonly ["Read", "Edit", "Write", "Glob", "Gre
43
43
  export declare const PATTERN_TOOLS: readonly ["Glob", "Grep"];
44
44
  export declare const SUBAGENT_ID_SUFFIX_LENGTH = 6;
45
45
  export declare function generateSubagentFallbackName(id: string, index: number): string;
46
- export declare function resolveSubagentChildName(input: Record<string, unknown>): string;
46
+ /**
47
+ * Resolve a stable display label for a Task/Agent spawn.
48
+ *
49
+ * Probe order: description → subagent_type → agentType (sidecar shape) → prompt → fallback.
50
+ * `prompt`-derived names enter the SSE event stream; redact.ts only scrubs sk-/ghp_/AKIA/PEM
51
+ * prefixes — lexical credential markers (password=, token=) pass through. Localhost-only
52
+ * server makes this low-severity but worth knowing during review.
53
+ */
54
+ export declare function resolveSubagentChildName(input: Record<string, unknown>, toolUseId?: string): string;
47
55
  /** Maximum bytes for detail.plan preview (truncated server-side). */
48
56
  export declare const PLAN_PREVIEW_MAX = 2048;
49
57
  /** Hard cap for permission_request heuristic; emit pause_cleared even without tool_result. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/orchviz/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AACnD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,QAAU,CAAC;AAI5C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,uBAAuB,QAAwB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAC5D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAIxC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAI9C,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,oDAAqD,CAAC;AAC7E,eAAO,MAAM,aAAa,2BAA4B,CAAC;AAEvD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE/E;AAID,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAI3C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AAExC,eAAO,MAAM,uBAAuB,yHAM1B,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/orchviz/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AACnD,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,QAAU,CAAC;AAI5C,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,uBAAuB,QAAwB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,oBAAoB,QAA0B,CAAC;AAC5D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,QAAQ,KAAK,CAAC;AAC3B,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AACrC,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAIxC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAC3C,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAI9C,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAEhD,eAAO,MAAM,UAAU,oDAAqD,CAAC;AAC7E,eAAO,MAAM,aAAa,2BAA4B,CAAC;AAEvD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,wBAAgB,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAOD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACvC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAeR;AAID,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,8FAA8F;AAC9F,eAAO,MAAM,2BAA2B,QAAS,CAAC;AAClD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAI3C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,kBAAkB,OAAQ,CAAC;AAExC,eAAO,MAAM,uBAAuB,yHAM1B,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * Modifications: dropped VS Code/webview/dev-server constants, color tokens,
9
9
  * and hook-server constants; only timing/sizing/display values retained.
10
10
  */
11
+ import { stripAnsi } from "./parser/strip-ansi.js";
11
12
  // ─── Timing ──────────────────────────────────────────────────────────────────
12
13
  export const INACTIVITY_TIMEOUT_MS = 5 * 60 * 1000;
13
14
  export const SCAN_INTERVAL_MS = 1000;
@@ -49,8 +50,32 @@ export const SUBAGENT_ID_SUFFIX_LENGTH = 6;
49
50
  export function generateSubagentFallbackName(id, index) {
50
51
  return `subagent-${id.length > SUBAGENT_ID_SUFFIX_LENGTH ? id.slice(-SUBAGENT_ID_SUFFIX_LENGTH) : index}`;
51
52
  }
52
- export function resolveSubagentChildName(input) {
53
- return String(input.description || input.subagent_type || "subagent").slice(0, CHILD_NAME_MAX);
53
+ function normalizeNameField(value) {
54
+ if (typeof value !== "string")
55
+ return "";
56
+ return stripAnsi(value).replace(/[\r\n\t]+/g, " ").trim();
57
+ }
58
+ /**
59
+ * Resolve a stable display label for a Task/Agent spawn.
60
+ *
61
+ * Probe order: description → subagent_type → agentType (sidecar shape) → prompt → fallback.
62
+ * `prompt`-derived names enter the SSE event stream; redact.ts only scrubs sk-/ghp_/AKIA/PEM
63
+ * prefixes — lexical credential markers (password=, token=) pass through. Localhost-only
64
+ * server makes this low-severity but worth knowing during review.
65
+ */
66
+ export function resolveSubagentChildName(input, toolUseId) {
67
+ const desc = normalizeNameField(input.description);
68
+ const subType = normalizeNameField(input.subagent_type);
69
+ const agentType = normalizeNameField(input.agentType);
70
+ const prompt = normalizeNameField(input.prompt).slice(0, CHILD_NAME_MAX);
71
+ const base = desc || subType || agentType || prompt || "subagent";
72
+ const name = base.slice(0, CHILD_NAME_MAX);
73
+ if (name === "subagent" &&
74
+ typeof toolUseId === "string" &&
75
+ toolUseId.length > SUBAGENT_ID_SUFFIX_LENGTH) {
76
+ return `subagent-${toolUseId.slice(-SUBAGENT_ID_SUFFIX_LENGTH)}`;
77
+ }
78
+ return name;
54
79
  }
55
80
  // ─── Pause detection ────────────────────────────────────────────────────────
56
81
  /** Maximum bytes for detail.plan preview (truncated server-side). */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/orchviz/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/orchviz/constants.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handle-tool-use.d.ts","sourceRoot":"","sources":["../../../src/orchviz/parser/handle-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASjF,wBAAgB,aAAa,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI,CAqFN"}
1
+ {"version":3,"file":"handle-tool-use.d.ts","sourceRoot":"","sources":["../../../src/orchviz/parser/handle-tool-use.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAe,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASjF,wBAAgB,aAAa,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,SAAS,CAAC,EAAE,MAAM,GAChB,IAAI,CA2FN"}
@@ -18,11 +18,18 @@ export function handleToolUse(parser, block, agentName, ctxPending, sessionId) {
18
18
  const filePath = typeof rawPath === "string" ? rawPath : undefined;
19
19
  ctxPending.set(block.id, { name: toolName, args, filePath, startTime: Date.now() });
20
20
  if (toolName === "Task" || toolName === "Agent") {
21
- const childName = resolveSubagentChildName(block.input);
21
+ const childName = resolveSubagentChildName(block.input, block.id);
22
22
  parser.subagentChildNames.set(block.id, childName);
23
23
  const session = sessionId ? parser.delegate.getSession(sessionId) : undefined;
24
- if (!session?.spawnedSubagents.has(childName)) {
25
- session?.spawnedSubagents.add(childName);
24
+ // Dedup by tool_use id so siblings with the same display label
25
+ // (e.g., two `subagent_type: "researcher"` Task calls) each fire
26
+ // their own spawn event. The frontend reactivates the existing node.
27
+ if (!session) {
28
+ emitSubagentSpawn(parser.delegate, agentName, childName, args, sessionId);
29
+ }
30
+ else if (!session.spawnedToolUseIds.has(block.id)) {
31
+ session.spawnedToolUseIds.add(block.id);
32
+ session.spawnedSubagents.add(childName);
26
33
  emitSubagentSpawn(parser.delegate, agentName, childName, args, sessionId);
27
34
  }
28
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handle-tool-use.js","sourceRoot":"","sources":["../../../src/orchviz/parser/handle-tool-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-tool-use.js","sourceRoot":"","sources":["../../../src/orchviz/parser/handle-tool-use.ts"],"names":[],"mappings":"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"}
@@ -121,6 +121,8 @@ export interface SubagentState {
121
121
  watcher: FSWatcher | null;
122
122
  fileSize: number;
123
123
  agentName: string;
124
+ /** Originating Task/Agent tool_use id from the spawn sidecar, when available. */
125
+ spawnToolUseId?: string;
124
126
  pendingToolCalls: Map<string, PendingToolCall>;
125
127
  seenToolUseIds: Set<string>;
126
128
  permissionTimer: NodeJS.Timeout | null;
@@ -150,6 +152,12 @@ export interface WatchedSession {
150
152
  inactivityTimer: NodeJS.Timeout | null;
151
153
  subagentWatchers: Map<string, SubagentState>;
152
154
  spawnedSubagents: Set<string>;
155
+ /**
156
+ * Dedup primary key for agent_spawn events. Keyed by originating tool_use id
157
+ * so siblings sharing a display label (two `subagent_type: "researcher"` calls)
158
+ * each fire their own spawn — the canvas reactivates the existing node.
159
+ */
160
+ spawnedToolUseIds: Set<string>;
153
161
  inlineProgressAgents: Set<string>;
154
162
  subagentsDirWatcher: FSWatcher | null;
155
163
  subagentsDir: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/orchviz/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/orchviz/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/orchviz/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAE7C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAuC3D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,IAAI,cAAc,EAAE;IAIxB,iFAAiF;IACjF,OAAO,IAAI,MAAM;CAGjB"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/orchviz/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAc;IAE7C,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAwC3D,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI/B,IAAI,IAAI,cAAc,EAAE;IAIxB,iFAAiF;IACjF,OAAO,IAAI,MAAM;CAGjB"}
@@ -26,6 +26,7 @@ export class SessionManager {
26
26
  inactivityTimer: null,
27
27
  subagentWatchers: new Map(),
28
28
  spawnedSubagents: new Set(),
29
+ spawnedToolUseIds: new Set(),
29
30
  inlineProgressAgents: new Set(),
30
31
  subagentsDirWatcher: null,
31
32
  subagentsDir: null,
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/orchviz/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAO,cAAc;IACT,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7C,MAAM,CAAC,SAAiB,EAAE,QAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAmB;YAC/B,SAAS;YACT,QAAQ;YACR,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,iBAAiB,EAAE,IAAI,GAAG,EAAE;YAC5B,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5B,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,oBAAoB,EAAE,IAAI,GAAG,EAAE;YAC/B,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,IAAI;YACrB,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE;gBACjB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;aAClB;SACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,SAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,iFAAiF;IACjF,OAAO;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;CACD"}
1
+ {"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../src/orchviz/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,OAAO,cAAc;IACT,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC7C,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7C,MAAM,CAAC,SAAiB,EAAE,QAAgB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAmB;YAC/B,SAAS;YACT,QAAQ;YACR,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,cAAc,EAAE,IAAI,GAAG,EAAE;YACzB,iBAAiB,EAAE,IAAI,GAAG,EAAE;YAC5B,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;YAC5B,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,iBAAiB,EAAE,IAAI,GAAG,EAAE;YAC5B,oBAAoB,EAAE,IAAI,GAAG,EAAE;YAC/B,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,IAAI;YACrB,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE;gBACjB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC;gBACZ,eAAe,EAAE,CAAC;aAClB;SACD,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,SAAiB;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,SAAiB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,iFAAiF;IACjF,OAAO;QACN,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;IACzC,CAAC;CACD"}
@@ -4,5 +4,9 @@
4
4
  * Per red-team Finding High #7, both `description` and `agentType` strings
5
5
  * are stripped of ANSI sequences before return.
6
6
  */
7
- export declare function resolveNameFromMeta(jsonlPath: string, fallbackIndex: number): string;
7
+ export interface MetaResolution {
8
+ name: string;
9
+ toolUseId?: string;
10
+ }
11
+ export declare function resolveNameFromMeta(jsonlPath: string, fallbackIndex: number): MetaResolution;
8
12
  //# sourceMappingURL=subagent-meta.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-meta.d.ts","sourceRoot":"","sources":["../../src/orchviz/subagent-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAepF"}
1
+ {"version":3,"file":"subagent-meta.d.ts","sourceRoot":"","sources":["../../src/orchviz/subagent-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,cAAc,CAsB5F"}
@@ -16,13 +16,19 @@ export function resolveNameFromMeta(jsonlPath, fallbackIndex) {
16
16
  for (const [k, v] of Object.entries(meta)) {
17
17
  sanitized[k] = typeof v === "string" ? stripAnsi(v) : v;
18
18
  }
19
- const name = resolveSubagentChildName(sanitized);
19
+ const toolUseId = typeof sanitized.toolUseId === "string"
20
+ ? sanitized.toolUseId
21
+ : typeof sanitized.tool_use_id === "string"
22
+ ? sanitized.tool_use_id
23
+ : undefined;
24
+ const name = resolveSubagentChildName(sanitized, toolUseId);
20
25
  if (name && name !== "subagent")
21
- return name;
26
+ return { name, toolUseId };
27
+ return { name: generateSubagentFallbackName(toolUseId ?? "", fallbackIndex), toolUseId };
22
28
  }
23
29
  catch {
24
30
  // meta missing on older Claude Code versions
25
31
  }
26
- return generateSubagentFallbackName("", fallbackIndex);
32
+ return { name: generateSubagentFallbackName("", fallbackIndex) };
27
33
  }
28
34
  //# sourceMappingURL=subagent-meta.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-meta.js","sourceRoot":"","sources":["../../src/orchviz/subagent-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,aAAqB;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,IAAI,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACR,6CAA6C;IAC9C,CAAC;IACD,OAAO,4BAA4B,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"subagent-meta.js","sourceRoot":"","sources":["../../src/orchviz/subagent-meta.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAOnD,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,aAAqB;IAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC7D,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA4B,CAAC;QACxD,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,SAAS,GACd,OAAO,SAAS,CAAC,SAAS,KAAK,QAAQ;YACtC,CAAC,CAAC,SAAS,CAAC,SAAS;YACrB,CAAC,CAAC,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ;gBAC1C,CAAC,CAAC,SAAS,CAAC,WAAW;gBACvB,CAAC,CAAC,SAAS,CAAC;QACf,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5D,IAAI,IAAI,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,SAAS,IAAI,EAAE,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACR,6CAA6C;IAC9C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,4BAA4B,CAAC,EAAE,EAAE,aAAa,CAAC,EAAE,CAAC;AAClE,CAAC"}
@@ -4,8 +4,9 @@
4
4
  * Ported from patoles/agent-flow @ 59ccf4e (extension/src/subagent-watcher.ts).
5
5
  * License Apache-2.0 (see ../NOTICE).
6
6
  *
7
- * Phase 4 is READ-ONLY on `session.inlineProgressAgents` and
8
- * `session.spawnedSubagents` (per red-team Finding #9). Phase 3 owns writes.
7
+ * Writes to `session.spawnedSubagents` and `session.spawnedToolUseIds` for
8
+ * Path B sidecar-driven spawns; the parser path also writes both. Reads
9
+ * `session.inlineProgressAgents` only (read-only).
9
10
  */
10
11
  import { TranscriptParser } from "./parser/index.js";
11
12
  import { type PermissionDetectionDelegate } from "./permission-detection.js";
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-watcher.d.ts","sourceRoot":"","sources":["../../src/orchviz/subagent-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IAC3E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC1D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GACf,IAAI,CA8BN;AA8ED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GACf,IAAI,CA4CN"}
1
+ {"version":3,"file":"subagent-watcher.d.ts","sourceRoot":"","sources":["../../src/orchviz/subagent-watcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAEN,KAAK,2BAA2B,EAChC,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAIpD,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IAC3E,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAC1D,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,GACf,IAAI,CA8BN;AAqFD,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,uBAAuB,EACjC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GACf,IAAI,CAiDN"}
@@ -4,8 +4,9 @@
4
4
  * Ported from patoles/agent-flow @ 59ccf4e (extension/src/subagent-watcher.ts).
5
5
  * License Apache-2.0 (see ../NOTICE).
6
6
  *
7
- * Phase 4 is READ-ONLY on `session.inlineProgressAgents` and
8
- * `session.spawnedSubagents` (per red-team Finding #9). Phase 3 owns writes.
7
+ * Writes to `session.spawnedSubagents` and `session.spawnedToolUseIds` for
8
+ * Path B sidecar-driven spawns; the parser path also writes both. Reads
9
+ * `session.inlineProgressAgents` only (read-only).
9
10
  */
10
11
  import * as fs from "node:fs";
11
12
  import * as path from "node:path";
@@ -55,12 +56,15 @@ function startWatchingSubagentFile(delegate, parser, filePath, sessionId) {
55
56
  const session = delegate.getSession(sessionId);
56
57
  if (!session)
57
58
  return;
58
- const agentName = resolveNameFromMeta(filePath, session.subagentWatchers.size + 1);
59
+ const meta = resolveNameFromMeta(filePath, session.subagentWatchers.size + 1);
60
+ const agentName = meta.name;
61
+ const spawnToolUseId = meta.toolUseId;
59
62
  log.info(`Tailing subagent ${path.basename(filePath)} as "${agentName}"`);
60
63
  const state = {
61
64
  watcher: null,
62
65
  fileSize: 0,
63
66
  agentName,
67
+ spawnToolUseId,
64
68
  pendingToolCalls: new Map(),
65
69
  seenToolUseIds: new Set(),
66
70
  permissionTimer: null,
@@ -100,10 +104,14 @@ function startWatchingSubagentFile(delegate, parser, filePath, sessionId) {
100
104
  catch (err) {
101
105
  log.debug("Subagent initial read failed:", err);
102
106
  }
103
- const alreadySpawned = session.spawnedSubagents.has(agentName);
107
+ const alreadySpawnedById = spawnToolUseId !== undefined && session.spawnedToolUseIds.has(spawnToolUseId);
108
+ const alreadySpawnedByName = session.spawnedSubagents.has(agentName);
109
+ const alreadySpawned = alreadySpawnedById || alreadySpawnedByName;
104
110
  state.spawnEmitted = pendingToolUseIds.size > 0 || alreadySpawned;
105
111
  if (pendingToolUseIds.size > 0 && !alreadySpawned) {
106
112
  session.spawnedSubagents.add(agentName);
113
+ if (spawnToolUseId)
114
+ session.spawnedToolUseIds.add(spawnToolUseId);
107
115
  emitSubagentSpawn(delegate, ORCHESTRATOR_NAME, agentName, agentName, sessionId);
108
116
  }
109
117
  try {
@@ -134,8 +142,13 @@ export function readSubagentNewLines(delegate, parser, filePath, sessionId) {
134
142
  }
135
143
  if (!state.spawnEmitted) {
136
144
  state.spawnEmitted = true;
137
- if (!session.spawnedSubagents.has(state.agentName)) {
145
+ const alreadySpawnedById = state.spawnToolUseId !== undefined &&
146
+ session.spawnedToolUseIds.has(state.spawnToolUseId);
147
+ const alreadySpawnedByName = session.spawnedSubagents.has(state.agentName);
148
+ if (!alreadySpawnedById && !alreadySpawnedByName) {
138
149
  session.spawnedSubagents.add(state.agentName);
150
+ if (state.spawnToolUseId)
151
+ session.spawnedToolUseIds.add(state.spawnToolUseId);
139
152
  emitSubagentSpawn(delegate, ORCHESTRATOR_NAME, state.agentName, state.agentName, sessionId);
140
153
  }
141
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-watcher.js","sourceRoot":"","sources":["../../src/orchviz/subagent-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent-watcher.js","sourceRoot":"","sources":["../../src/orchviz/subagent-watcher.ts"],"names":[],"mappings":"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"}