@ai-setting/roy-plugin-task-show 2.5.11 → 2.5.13

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 (46) hide show
  1. package/dist/chat-markdown-renderer.d.ts +63 -0
  2. package/dist/chat-markdown-renderer.d.ts.map +1 -0
  3. package/dist/chat-markdown-renderer.js +123 -0
  4. package/dist/chat-markdown-renderer.js.map +1 -0
  5. package/dist/collector.d.ts +11 -0
  6. package/dist/collector.d.ts.map +1 -1
  7. package/dist/collector.js +37 -12
  8. package/dist/collector.js.map +1 -1
  9. package/dist/file-tree.d.ts +57 -1
  10. package/dist/file-tree.d.ts.map +1 -1
  11. package/dist/file-tree.js +22 -2
  12. package/dist/file-tree.js.map +1 -1
  13. package/dist/file-viewer-utils.d.ts +76 -0
  14. package/dist/file-viewer-utils.d.ts.map +1 -0
  15. package/dist/file-viewer-utils.js +215 -0
  16. package/dist/file-viewer-utils.js.map +1 -0
  17. package/dist/logger.d.ts +59 -0
  18. package/dist/logger.d.ts.map +1 -0
  19. package/dist/logger.js +181 -0
  20. package/dist/logger.js.map +1 -0
  21. package/dist/mermaid-zoom-guardian.d.ts +77 -0
  22. package/dist/mermaid-zoom-guardian.d.ts.map +1 -0
  23. package/dist/mermaid-zoom-guardian.js +176 -0
  24. package/dist/mermaid-zoom-guardian.js.map +1 -0
  25. package/dist/plugin.d.ts +24 -10
  26. package/dist/plugin.d.ts.map +1 -1
  27. package/dist/plugin.js +79 -33
  28. package/dist/plugin.js.map +1 -1
  29. package/dist/server.d.ts +25 -1
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +134 -8
  32. package/dist/server.js.map +1 -1
  33. package/dist/task-session-store.js +7 -0
  34. package/dist/task-session-store.js.map +1 -1
  35. package/dist/tool-call-detail.d.ts +18 -0
  36. package/dist/tool-call-detail.d.ts.map +1 -1
  37. package/dist/tool-call-detail.js +115 -7
  38. package/dist/tool-call-detail.js.map +1 -1
  39. package/package.json +2 -2
  40. package/plugin.json +2 -2
  41. package/public/app.js +18 -0
  42. package/public/index.html +7 -0
  43. package/public/markdown-preprocessor.js +89 -0
  44. package/public/markdown-renderer.js +29 -1
  45. package/public/mermaid-zoom-guardian.js +137 -0
  46. package/public/style.css +109 -0
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @fileoverview Chat panel markdown renderer for Assistant bubbles.
3
+ *
4
+ * Task #2975 (parent: Task #2953) — user feedback 2026-08-13:
5
+ * The terminal `roy-agent act` renders long Assistant output with line
6
+ * breaks / table cells / bullet lists, but the task-show web chat
7
+ * panel collapses everything into one text blob. The user wants the
8
+ * same markdown rendering the terminal uses.
9
+ *
10
+ * Strategy (v2.5.x REQ-4 + Task #2975):
11
+ * - Reuse `marked` (already a devDependency) and let it do the heavy
12
+ * lifting (`gfm: true` for tables, `breaks: true` for `\n` → `<br>`).
13
+ * - Pre-process the input to normalize our terminal-friendly
14
+ * separators (em-dash, four-dash rule, bullet-plus-dash rule)
15
+ * into markers marked can render.
16
+ * - Pre-process `•` bullets to `-` bullets so marked sees a valid
17
+ * list.
18
+ * - Sanitize the final HTML via DOMPurify (jsdom in tests, real
19
+ * DOMPurify in the browser via the existing vendored copy).
20
+ *
21
+ * Why a separate module instead of patching `public/markdown-renderer.js`:
22
+ * `public/markdown-renderer.js` is loaded as an ES module in the
23
+ * browser *and* required from bun tests with a happy-dom window.
24
+ * Adding the jsdom-aware DOMPurify factory there doubled its size
25
+ * and made the SANITIZE path differ between environments. We isolate
26
+ * the pre-process + sanitize here so the existing
27
+ * `public/markdown-renderer.js` is unchanged (no regression risk for
28
+ * the v2.5.x chat panel that already works for plain markdown).
29
+ *
30
+ * Public API:
31
+ * - renderAssistantMarkdown(text) → sanitized HTML string
32
+ * - normalizeAssistantText(text) → pre-processed string (helper,
33
+ * primarily for tests; renderAssistantMarkdown applies it internally)
34
+ */
35
+ /**
36
+ * Pre-process Assistant text into a form that `marked` can render
37
+ * properly. Runs three transformations:
38
+ *
39
+ * 1. Inline `——` (em-dash repetition) on the SAME line becomes
40
+ * `<br><hr class="chat-md-em-dash"><br>` so paragraphs are split
41
+ * and a visible horizontal rule appears between them.
42
+ * 2. Standalone `────` (4+ dash chars on their own line) becomes an
43
+ * explicit HR marker.
44
+ * 3. Standalone `• ---` (bullet + 3 dashes on their own line)
45
+ * becomes an explicit HR marker.
46
+ * 4. Leading `•` bullets (rendered as `• item\n• item`) are
47
+ * converted to `- item\n- item` so marked produces a real
48
+ * `<ul><li>…</li></ul>`.
49
+ *
50
+ * The pre-process is intentionally line-based so streaming chunks
51
+ * don't double-process content (each chunk is re-normalized as a
52
+ * whole — the function is idempotent enough for the test fixtures).
53
+ */
54
+ export declare function normalizeAssistantText(text: string): string;
55
+ /**
56
+ * Render Assistant text to sanitized HTML, normalizing the
57
+ * terminal-style separators into real markdown elements.
58
+ *
59
+ * @param text - raw Assistant text (may include \n, ——, ────, • etc.)
60
+ * @returns sanitized HTML string safe for `innerHTML`
61
+ */
62
+ export declare function renderAssistantMarkdown(text: string): string;
63
+ //# sourceMappingURL=chat-markdown-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-markdown-renderer.d.ts","sourceRoot":"","sources":["../src/chat-markdown-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AA6BH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkD3D;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK5D"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * @fileoverview Chat panel markdown renderer for Assistant bubbles.
3
+ *
4
+ * Task #2975 (parent: Task #2953) — user feedback 2026-08-13:
5
+ * The terminal `roy-agent act` renders long Assistant output with line
6
+ * breaks / table cells / bullet lists, but the task-show web chat
7
+ * panel collapses everything into one text blob. The user wants the
8
+ * same markdown rendering the terminal uses.
9
+ *
10
+ * Strategy (v2.5.x REQ-4 + Task #2975):
11
+ * - Reuse `marked` (already a devDependency) and let it do the heavy
12
+ * lifting (`gfm: true` for tables, `breaks: true` for `\n` → `<br>`).
13
+ * - Pre-process the input to normalize our terminal-friendly
14
+ * separators (em-dash, four-dash rule, bullet-plus-dash rule)
15
+ * into markers marked can render.
16
+ * - Pre-process `•` bullets to `-` bullets so marked sees a valid
17
+ * list.
18
+ * - Sanitize the final HTML via DOMPurify (jsdom in tests, real
19
+ * DOMPurify in the browser via the existing vendored copy).
20
+ *
21
+ * Why a separate module instead of patching `public/markdown-renderer.js`:
22
+ * `public/markdown-renderer.js` is loaded as an ES module in the
23
+ * browser *and* required from bun tests with a happy-dom window.
24
+ * Adding the jsdom-aware DOMPurify factory there doubled its size
25
+ * and made the SANITIZE path differ between environments. We isolate
26
+ * the pre-process + sanitize here so the existing
27
+ * `public/markdown-renderer.js` is unchanged (no regression risk for
28
+ * the v2.5.x chat panel that already works for plain markdown).
29
+ *
30
+ * Public API:
31
+ * - renderAssistantMarkdown(text) → sanitized HTML string
32
+ * - normalizeAssistantText(text) → pre-processed string (helper,
33
+ * primarily for tests; renderAssistantMarkdown applies it internally)
34
+ */
35
+ import { marked } from "marked";
36
+ import { JSDOM } from "jsdom";
37
+ import dompurifyFactory from "dompurify";
38
+ // DOMPurify needs a real window — jsdom gives us the same sanitize
39
+ // output as the browser. (happy-dom + DOMPurify does NOT fully scrub
40
+ // `<script>` / `javascript:` URLs — verified empirically.)
41
+ //
42
+ // `dompurify`'s type signature expects a specific subset of the DOM
43
+ // API; jsdom's Window satisfies the runtime contract but doesn't
44
+ // exactly match the structural type. We cast through `unknown` to
45
+ // keep TypeScript happy without disabling strict mode everywhere.
46
+ const jsdomWindow = new JSDOM("").window;
47
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ const DOMPurify = dompurifyFactory(jsdomWindow);
49
+ const SANITIZE_CONFIG = Object.freeze({
50
+ ADD_ATTR: ["target", "rel"],
51
+ ALLOWED_URI_REGEXP: /^(?:(?:https?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.\-:]|$))/i,
52
+ });
53
+ marked.setOptions({
54
+ gfm: true,
55
+ breaks: true,
56
+ pedantic: false,
57
+ });
58
+ /**
59
+ * Pre-process Assistant text into a form that `marked` can render
60
+ * properly. Runs three transformations:
61
+ *
62
+ * 1. Inline `——` (em-dash repetition) on the SAME line becomes
63
+ * `<br><hr class="chat-md-em-dash"><br>` so paragraphs are split
64
+ * and a visible horizontal rule appears between them.
65
+ * 2. Standalone `────` (4+ dash chars on their own line) becomes an
66
+ * explicit HR marker.
67
+ * 3. Standalone `• ---` (bullet + 3 dashes on their own line)
68
+ * becomes an explicit HR marker.
69
+ * 4. Leading `•` bullets (rendered as `• item\n• item`) are
70
+ * converted to `- item\n- item` so marked produces a real
71
+ * `<ul><li>…</li></ul>`.
72
+ *
73
+ * The pre-process is intentionally line-based so streaming chunks
74
+ * don't double-process content (each chunk is re-normalized as a
75
+ * whole — the function is idempotent enough for the test fixtures).
76
+ */
77
+ export function normalizeAssistantText(text) {
78
+ if (!text)
79
+ return "";
80
+ // Step 1 — convert standalone dash-rule lines to an HR placeholder.
81
+ // We replace the literal text BEFORE handing off to marked so the
82
+ // user sees a real <hr> instead of four cosmetic dashes inside a
83
+ // <p>.
84
+ let out = text;
85
+ // (a) 4+ horizontal-dash / ASCII-dash on its own line → HR
86
+ out = out.replace(/(^|\n)[ \t]*[─-]{4,}[ \t]*\n?/g, (_m, lead) => `${lead}\n<hr class="chat-md-hr"/>\n`);
87
+ // (b) `• ---` (bullet + 3+ dashes) on its own line → HR
88
+ out = out.replace(/(^|\n)[ \t]*•[ \t]*-{3,}[ \t]*\n?/g, (_m, lead) => `${lead}\n<hr class="chat-md-hr"/>\n`);
89
+ // Step 2 — split paragraphs at inline `——`. We replace every `——`
90
+ // with a marker that breaks the current paragraph and inserts an
91
+ // HR between the two halves.
92
+ out = out.replace(/——+/g, '<hr class="chat-md-em-dash"/>');
93
+ // Step 3 — convert `• foo` lines into `- foo` lines for marked.
94
+ // We only do this at line-start so prose like "we use • for bullets"
95
+ // is left alone.
96
+ out = out.replace(/(?:^|\n)[ \t]*•[ \t]+/g, (m) => (m.startsWith("\n") ? "\n- " : "- "));
97
+ // Step 4 — strip the `[TaskEventHandler]` sentinel pair if it
98
+ // somehow made it into the chat buffer (defence in depth — the
99
+ // ChatProcessManager already filters these out).
100
+ out = out
101
+ .replace(/^\[TaskEventHandler\] Started\s*$/gm, "")
102
+ .replace(/^\[TaskEventHandler\] Stopped\s*$/gm, "");
103
+ // Step 5 — collapse 3+ blank lines down to a single blank line so
104
+ // streaming chunks that arrive with \n\n\n\n don't render as 4
105
+ // giant paragraphs.
106
+ out = out.replace(/\n{3,}/g, "\n\n");
107
+ return out;
108
+ }
109
+ /**
110
+ * Render Assistant text to sanitized HTML, normalizing the
111
+ * terminal-style separators into real markdown elements.
112
+ *
113
+ * @param text - raw Assistant text (may include \n, ——, ────, • etc.)
114
+ * @returns sanitized HTML string safe for `innerHTML`
115
+ */
116
+ export function renderAssistantMarkdown(text) {
117
+ if (text == null || text === "")
118
+ return "";
119
+ const normalized = normalizeAssistantText(String(text));
120
+ const raw = marked.parse(normalized);
121
+ return DOMPurify.sanitize(raw, SANITIZE_CONFIG);
122
+ }
123
+ //# sourceMappingURL=chat-markdown-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-markdown-renderer.js","sourceRoot":"","sources":["../src/chat-markdown-renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,gBAAgB,MAAM,WAAW,CAAC;AAEzC,mEAAmE;AACnE,qEAAqE;AACrE,2DAA2D;AAC3D,EAAE;AACF,oEAAoE;AACpE,iEAAiE;AACjE,kEAAkE;AAClE,kEAAkE;AAClE,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AACzC,8DAA8D;AAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,WAA6B,CAAC,CAAC;AAElE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC3B,kBAAkB,EAAE,4DAA4D;CACjF,CAAC,CAAC;AAEH,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,oEAAoE;IACpE,kEAAkE;IAClE,iEAAiE;IACjE,OAAO;IACP,IAAI,GAAG,GAAG,IAAI,CAAC;IAEf,2DAA2D;IAC3D,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,gCAAgC,EAChC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,8BAA8B,CACpD,CAAC;IAEF,wDAAwD;IACxD,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,oCAAoC,EACpC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,8BAA8B,CACpD,CAAC;IAEF,kEAAkE;IAClE,iEAAiE;IACjE,6BAA6B;IAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,MAAM,EACN,+BAA+B,CAChC,CAAC;IAEF,gEAAgE;IAChE,qEAAqE;IACrE,iBAAiB;IACjB,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAC5C,CAAC;IAEF,8DAA8D;IAC9D,+DAA+D;IAC/D,iDAAiD;IACjD,GAAG,GAAG,GAAG;SACN,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC;SAClD,OAAO,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAC;IAEtD,kEAAkE;IAClE,+DAA+D;IAC/D,oBAAoB;IACpB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAErC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAW,CAAC;IAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAClD,CAAC"}
@@ -112,6 +112,17 @@ export declare class ToolCallCollector {
112
112
  * context that happens to know the title, e.g. task:before.create).
113
113
  */
114
114
  setTaskTitle(taskId: number, title: string): void;
115
+ /**
116
+ * v2.5.12 (Task #2951): patch a session's `context` field in place.
117
+ * Used by the file-tree handler when an async operations-cache
118
+ * lookup yields a `projectPath` that the live session never
119
+ * received via the `tool:after.execute` payload.
120
+ *
121
+ * Merges into the existing context (other host-supplied keys are
122
+ * preserved). Returns `true` when the patch landed on an existing
123
+ * session, `false` when there is no session to patch.
124
+ */
125
+ patchSessionContext(taskId: number, patch: Record<string, unknown>): boolean;
115
126
  /**
116
127
  * Insert or replace a session. Used by `task:before.create` /
117
128
  * `task:after.create` to mint a fresh TaskSession before any tool call
@@ -1 +1 @@
1
- {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,cAAc,EACf,MAAM,YAAY,CAAC;AA0GpB;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;gBAGrC,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOzD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAMnD;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAM7B;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;;;;;;OAOG;IACH;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,MAAM,GAAG,IAAI;IAkDjB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,WAAW,GAAG,SAAS;IAiC3B;;;;;;;;;;;;;;OAcG;IACH,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,WAAW,EAAE;IAcjB;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjD;;;;;;;;;OASG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAMzC;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAEX,cAAc,EACf,MAAM,YAAY,CAAC;AAiHpB;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAiB;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAa;gBAGrC,GAAG,EAAE,cAAc,EACnB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOzD;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAMnD;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAM7B;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;;;;;;OAOG;IACH;;;;;;OAMG;IACH,cAAc,CAAC,IAAI,EAAE;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,GAAG,CAAC,EAAE,GAAG,CAAC;QACV,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,MAAM,GAAG,IAAI;IAkDjB;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,IAAI,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,WAAW,GAAG,SAAS;IAiC3B;;;;;;;;;;;;;;OAcG;IACH,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,WAAW,EAAE;IAcjB;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOjD;;;;;;;;;OASG;IACH,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO;IAWV;;;;;;;;;OASG;IACH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAMzC;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAGrB"}
package/dist/collector.js CHANGED
@@ -5,28 +5,32 @@
5
5
  * exposes simple getters used by the HTTP layer; eviction keeps the memory
6
6
  * footprint bounded (oldest tasks are dropped past `maxStoredTasks`).
7
7
  */
8
+ import { createPluginLogger } from "./logger.js";
8
9
  /**
9
- * Tiny logger helper that respects a configurable prefix. We avoid pulling in
10
- * the host `createLogger` because the plugin should remain self-contained.
10
+ * Per-instance logger adapter. Wraps the plugin unified logger (Task #2961)
11
+ * with the `[prefix] WARN/ERROR` formatting the collector used before.
12
+ *
13
+ * v2.5.12 (Task #2961): `info` used to be gated behind `TASK_SHOW_DEBUG=1`,
14
+ * and `warn` / `error` always hit `console.warn` / `console.error` (stderr
15
+ * pollution). Both now route through the plugin logger — quiet by default,
16
+ * writes to a per-category log file, and only surfaces on console when
17
+ * `setQuietMode(false)` is called explicitly. Operators who want to see
18
+ * collector chatter live should set `PLUGIN_LOG_CONSOLE=1` or wire a
19
+ * --verbose flag in the host CLI.
11
20
  */
12
21
  class TinyLogger {
13
- prefix;
22
+ log;
14
23
  constructor(prefix) {
15
- this.prefix = prefix;
24
+ this.log = createPluginLogger(prefix);
16
25
  }
17
26
  info(msg) {
18
- if (typeof process !== "undefined" && process.env?.TASK_SHOW_DEBUG) {
19
- // eslint-disable-next-line no-console
20
- console.log(`[${this.prefix}] ${msg}`);
21
- }
27
+ this.log.info(msg);
22
28
  }
23
29
  warn(msg) {
24
- // eslint-disable-next-line no-console
25
- console.warn(`[${this.prefix}] WARN ${msg}`);
30
+ this.log.warn(`WARN ${msg}`);
26
31
  }
27
32
  error(msg) {
28
- // eslint-disable-next-line no-console
29
- console.error(`[${this.prefix}] ERROR ${msg}`);
33
+ this.log.error(`ERROR ${msg}`);
30
34
  }
31
35
  }
32
36
  /**
@@ -287,6 +291,27 @@ export class ToolCallCollector {
287
291
  session.title = title;
288
292
  this.onChange?.();
289
293
  }
294
+ /**
295
+ * v2.5.12 (Task #2951): patch a session's `context` field in place.
296
+ * Used by the file-tree handler when an async operations-cache
297
+ * lookup yields a `projectPath` that the live session never
298
+ * received via the `tool:after.execute` payload.
299
+ *
300
+ * Merges into the existing context (other host-supplied keys are
301
+ * preserved). Returns `true` when the patch landed on an existing
302
+ * session, `false` when there is no session to patch.
303
+ */
304
+ patchSessionContext(taskId, patch) {
305
+ const session = this.sessions.get(taskId);
306
+ if (!session)
307
+ return false;
308
+ session.context = {
309
+ ...(session.context ?? {}),
310
+ ...patch,
311
+ };
312
+ this.onChange?.();
313
+ return true;
314
+ }
290
315
  /**
291
316
  * Insert or replace a session. Used by `task:before.create` /
292
317
  * `task:after.create` to mint a fresh TaskSession before any tool call
@@ -1 +1 @@
1
- {"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"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"}
@@ -219,6 +219,47 @@ export interface WorktreeContextSource {
219
219
  * uses the default of `process.cwd()`.
220
220
  */
221
221
  export declare function resolveWorktreePath(session: WorktreeContextSource | null | undefined, cwd?: string): string;
222
+ /**
223
+ * v2.5.12 (Task #2951): comprehensive project-files root resolver.
224
+ *
225
+ * `resolveWorktreePath()` only looks at `session.context.worktree`
226
+ * and `process.cwd()`. That misses a common case: the live session
227
+ * collector often has no `context.worktree` because the host's
228
+ * `tool:after.execute` payload doesn't carry it, but the operations
229
+ * cache has `task.projectPath` (set by the host when the task was
230
+ * created via `task_create`). Falling back to that field lets the
231
+ * sidebar track the right repo even when the collector's session is
232
+ * light on context.
233
+ *
234
+ * Resolution order (most preferred → least preferred):
235
+ * 1. `cfg.projectFilesRoot` — explicit plugin config override
236
+ * (escape hatch when neither the session nor the cache has the
237
+ * right path).
238
+ * 2. `session.context.worktree` — host-supplied per-session worktree
239
+ * (the v2.3.0 contract).
240
+ * 3. `cachedTask.projectPath` — host-supplied per-task project path
241
+ * (from the operations cache; survives when the live session has
242
+ * been evicted or never had a worktree field).
243
+ * 4. `process.cwd()` — last-resort fallback (legacy behaviour).
244
+ *
245
+ * All string inputs are trimmed and treated as "missing" when empty /
246
+ * whitespace-only, matching `resolveWorktreePath`'s defensive parse.
247
+ */
248
+ export interface ProjectFilesRootOptions {
249
+ /** Optional session (live collector record). */
250
+ session?: WorktreeContextSource | null;
251
+ /** Optional cached task envelope (from operationsCache). */
252
+ cachedTask?: {
253
+ projectPath?: unknown;
254
+ } | null;
255
+ /** Optional plugin config (carries `projectFilesRoot` override). */
256
+ cfg?: {
257
+ projectFilesRoot?: unknown;
258
+ } | null;
259
+ /** Override for tests; defaults to `process.cwd()`. */
260
+ cwd?: string;
261
+ }
262
+ export declare function resolveProjectFilesRoot(opts?: ProjectFilesRootOptions): string;
222
263
  /**
223
264
  * v2.3.0: aggregate everything the file-tree sidebar needs in one
224
265
  * place. Both `renderTaskPage` (SSR) and `handleFileTree` (HTTP
@@ -238,7 +279,22 @@ export declare function buildSessionFileTree(session: (WorktreeContextSource & {
238
279
  toolCalls?: ReadonlyArray<{
239
280
  args?: Record<string, unknown>;
240
281
  }>;
241
- }) | null | undefined, runner?: GitRunner): {
282
+ }) | null | undefined, runner?: GitRunner, opts?: {
283
+ /**
284
+ * v2.5.12 (Task #2951): the operations cache's view of the task.
285
+ * When the live session has no `context.worktree` (e.g. the host's
286
+ * `tool:after.execute` payload didn't carry one), the cache's
287
+ * `task.projectPath` is a more accurate fallback than the plugin
288
+ * host's `process.cwd()`.
289
+ */
290
+ cachedTask?: {
291
+ projectPath?: unknown;
292
+ } | null;
293
+ /** v2.5.12 (Task #2951): explicit override (plugin config). */
294
+ cfg?: {
295
+ projectFilesRoot?: unknown;
296
+ } | null;
297
+ }): {
242
298
  cwd: string;
243
299
  files: string[];
244
300
  tree: TreeNode[];
@@ -1 +1 @@
1
- {"version":3,"file":"file-tree.d.ts","sourceRoot":"","sources":["../src/file-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-tree.d.ts","sourceRoot":"","sources":["../src/file-tree.ts"],"names":[],"mappings":"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"}
package/dist/file-tree.js CHANGED
@@ -409,6 +409,22 @@ export function resolveWorktreePath(session, cwd = (typeof process !== "undefine
409
409
  }
410
410
  return cwd;
411
411
  }
412
+ export function resolveProjectFilesRoot(opts = {}) {
413
+ const fallbackCwd = opts.cwd ?? (typeof process !== "undefined" ? process.cwd() : "");
414
+ const candidates = [
415
+ opts.cfg?.projectFilesRoot,
416
+ opts.session?.context?.worktree,
417
+ opts.cachedTask?.projectPath,
418
+ ];
419
+ for (const raw of candidates) {
420
+ if (typeof raw === "string") {
421
+ const trimmed = raw.trim();
422
+ if (trimmed.length > 0)
423
+ return trimmed;
424
+ }
425
+ }
426
+ return fallbackCwd;
427
+ }
412
428
  /**
413
429
  * v2.3.0: aggregate everything the file-tree sidebar needs in one
414
430
  * place. Both `renderTaskPage` (SSR) and `handleFileTree` (HTTP
@@ -424,8 +440,12 @@ export function resolveWorktreePath(session, cwd = (typeof process !== "undefine
424
440
  * @param runner optional injected git runner (default =
425
441
  * `defaultGitLsFilesRunner`); tests pass fakes
426
442
  */
427
- export function buildSessionFileTree(session, runner = defaultGitLsFilesRunner) {
428
- const cwd = resolveWorktreePath(session);
443
+ export function buildSessionFileTree(session, runner = defaultGitLsFilesRunner, opts = {}) {
444
+ const cwd = resolveProjectFilesRoot({
445
+ session,
446
+ cachedTask: opts.cachedTask,
447
+ cfg: opts.cfg,
448
+ });
429
449
  const files = gitLsFiles(runner, { cwd });
430
450
  const tree = buildFileTree(files);
431
451
  const affectedPaths = extractAffectedPaths(session?.toolCalls ?? []);
@@ -1 +1 @@
1
- {"version":3,"file":"file-tree.js","sourceRoot":"","sources":["../src/file-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAgCH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAsB;IAC1C,WAAW;IACX,UAAU;IACV,MAAM;IACN,aAAa;IACb,KAAK;IACL,UAAU;CACX,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAAC,KAAwB;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,8CAA8C;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEnC,qEAAqE;IACrE,mDAAmD;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YACzB,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzC,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG;oBACT,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,GAAG;oBACT,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW;oBACnC,KAAK,EAAE,CAAC,EAAE,iBAAiB;oBAC3B,QAAQ,EAAE,EAAE;iBACb,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBAC3B,qDAAqD;gBACrD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACV,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,MAAM;wBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACnD,2DAA2D;gBAC3D,2DAA2D;gBAC3D,0DAA0D;gBAC1D,yDAAyD;gBACzD,yDAAyD;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEnD,mEAAmE;IACnE,SAAS,CAAC,KAAK,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAA4D;IAE5D,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,CAAC,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA0B,EAC1B,MAAc;IAEd,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc,EAAE,MAAc;IAC7D,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACnD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAA0B;IACxD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAc/C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC/D,6DAA6D;IAC7D,iEAAiE;IACjE,mEAAmE;IACnE,gEAAgE;IAChE,oEAAoE;IACpE,wBAAwB;IACxB,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,EAAE;QAC1E,GAAG,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QAC/B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;KAC5B,CAAC,CAAC;IACH,OAAO;QACL,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC9D,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAC9D,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CACxB,SAAoB,uBAAuB,EAC3C,IAAuB;IAEvB,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;QACvD,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,MAAc,CAAC;IACnB,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAChC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,CAAC;IACD,6DAA6D;IAC7D,kEAAkE;IAClE,6DAA6D;IAC7D,wCAAwC;IACxC,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,yDAAyD;IACzD,IAAI,aAAa,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACpD,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAChD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GACxB,IAAI,GAAG,EAAE,CAAC;AAEZ,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE7C,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAc,EAAE,GAAa;IACzD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;QAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;QAAE,oBAAoB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,CAAS;IAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,IAAc,EAAE,KAAa;IACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,KAAK,CAAC,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB;IAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,qBAAqB;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,gEAAgE;QAChE,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAiD,EACjD,MAAc,CAAC,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,MAAM,GAAG,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAKa,EACb,SAAoB,uBAAuB;IAO3C,MAAM,GAAG,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;IACrE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"file-tree.js","sourceRoot":"","sources":["../src/file-tree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @fileoverview File viewer rendering utilities (Task #2952).
3
+ *
4
+ * The right-hand tool-call detail panel on the task page renders
5
+ * differently depending on the tool name:
6
+ *
7
+ * - **write_file / write / create_file** → render the FULL content
8
+ * of the file as the user just wrote it (line-numbered, no
9
+ * truncation). Previously the panel mounted a Monaco placeholder
10
+ * that fetched the file from disk via /api/file-content — which
11
+ * could be truncated for large files and never reflected the
12
+ * content the tool call actually wrote.
13
+ *
14
+ * - **edit_file / edit / edit_file_v2 / multi_edit_file / multi_edit
15
+ * / apply_patch** → render a git-style diff between
16
+ * `old_string` and `new_string` (LCS-based +/- lines). For these
17
+ * tools we want to highlight what changed, not show the entire
18
+ * resulting file again.
19
+ *
20
+ * Both renderers produce XSS-safe HTML — every user-controlled string
21
+ * passes through {@link escapeHtml} before being injected.
22
+ */
23
+ export type DiffOpType = "context" | "add" | "remove";
24
+ export interface DiffOp {
25
+ type: DiffOpType;
26
+ line: string;
27
+ /** 1-indexed line number for display in the gutter. */
28
+ lineNum: number;
29
+ }
30
+ /**
31
+ * Render a write_file tool call's full content as line-numbered HTML.
32
+ *
33
+ * Returns a `<div class="file-viewer write-file">` containing:
34
+ * - a header with the file path + line/byte counts
35
+ * - a `<pre class="code-block">` with every line (no truncation)
36
+ *
37
+ * The renderer escapes HTML; long lines are preserved verbatim.
38
+ */
39
+ export declare function renderWriteFileFull(opts: {
40
+ path: string;
41
+ content: string;
42
+ }): string;
43
+ /**
44
+ * Render an edit_file tool call as a git-style unified diff.
45
+ *
46
+ * Returns a `<div class="file-viewer edit-file">` containing:
47
+ * - a header with the file path + line counts
48
+ * - a `<ol class="diff-body">` with LCS-derived +/- / context lines
49
+ * (legacy contract — pre-v2.5.12 callers look for `class="diff-body"`
50
+ * and `diff-line-(added|removed|context)` markers).
51
+ *
52
+ * If `old_string` and `new_string` are identical the result is just
53
+ * the context lines (no +/- markers).
54
+ *
55
+ * The wrapper also carries `data-diff="<json>"` so the client
56
+ * hydrator can rebuild the diff on click without re-parsing the DOM.
57
+ */
58
+ export declare function renderEditFileDiff(opts: {
59
+ path: string;
60
+ old_string: string;
61
+ new_string: string;
62
+ }): string;
63
+ /**
64
+ * Compute a line-level diff using LCS (Longest Common Subsequence).
65
+ *
66
+ * Algorithm: classic O(N*M) DP table, then a single backtrack to
67
+ * emit the ops in order. For inputs up to a few thousand lines this
68
+ * is well within budget; for pathological inputs we accept the cost
69
+ * (Task #2952 callers are user-authored file edits, not bulk
70
+ * transforms).
71
+ *
72
+ * Output: ordered array of `{type, line, lineNum}` matching how an
73
+ * editor would display them.
74
+ */
75
+ export declare function computeLineDiff(oldLines: string[], newLines: string[]): DiffOp[];
76
+ //# sourceMappingURL=file-viewer-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-viewer-utils.d.ts","sourceRoot":"","sources":["../src/file-viewer-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEtD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,MAAM,CAqBT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CA8CT;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,CAkDV"}