@ai-setting/roy-plugin-task-show 2.6.2 → 2.6.5

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.
package/dist/server.js CHANGED
@@ -1825,7 +1825,7 @@ export function renderTaskPage(session, opts = {}) {
1825
1825
 
1826
1826
  <div class="task-v2-main">
1827
1827
  <section class="panel panel-lifecycle" data-lifecycle-root data-task-id="${session.taskId}">
1828
- <h2>Task lifecycle + tools <span class="lifecycle-hint">click any tool node to highlight its row below</span> <button type="button" class="collapse-toggle" data-lifecycle-toggle aria-expanded="true" aria-label="Collapse lifecycle diagram"><span class="toggle-icon">▼</span></button></h2>
1828
+ <h2>Task lifecycle + tools <span class="lifecycle-hint">click any tool node to highlight its row below · URL auto-updates as <code>?tool=N</code> for sharing</span> <button type="button" class="collapse-toggle" data-lifecycle-toggle aria-expanded="true" aria-label="Collapse lifecycle diagram"><span class="toggle-icon">▼</span></button></h2>
1829
1829
  <div data-lifecycle-body><div class="mermaid" data-mermaid-lifecycle>${initialMermaid}</div></div>
1830
1830
  </section>
1831
1831
 
@@ -1 +1 @@
1
- {"version":3,"file":"task-detail-mermaid.d.ts","sourceRoot":"","sources":["../src/task-detail-mermaid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-detail-mermaid.d.ts","sourceRoot":"","sources":["../src/task-detail-mermaid.ts"],"names":[],"mappings":"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"}
@@ -439,16 +439,21 @@ export function getPhaseLabel(op) {
439
439
  return truncateFinalLabel(`${meta.emoji} Phase ${info.num}: ${meta.name}<br/>${meta.description}`);
440
440
  }
441
441
  // Phase prefix matched but the name doesn't resolve to a
442
- // canonical phase. Render the raw name (sanitised for the
443
- // Mermaid label grammar) so the user still sees the phase number
444
- // AND the original CJK glyphs. v0.9.7 fix: this used to pipe
445
- // through `escapeMermaidLabel` which collapsed CJK to `_`.
446
- // v2.0.8 fix: also run through `truncateForMermaid` so the
447
- // tail of a long title (which the regex captures verbatim when
448
- // no stop token is present) never blows Mermaid's per-label
449
- // text-size budget.
450
- const cleanName = truncateForMermaid(escapeMermaidLabel(info.name));
451
- return truncateFinalLabel(`⚙️ Phase ${info.num}: ${cleanName}`);
442
+ // canonical phase. v2.6.3 fix (Task #3145): display the FULL
443
+ // operation title (sanitised for the Mermaid label grammar)
444
+ // instead of just the truncated `info.name` `extractPhaseInfo`
445
+ // stops at the first `:` / `完成` / `pass` / `—` token, so
446
+ // titles like `"Phase 1 PASS: 调研现状"` would otherwise lose
447
+ // the `: 调研现状` tail. The full title gives the user the
448
+ // complete operation context (e.g. `"⚙️ Phase 1 PASS: 调研现状"`).
449
+ //
450
+ // v0.9.7 fix (kept): pipe through `escapeMermaidLabel` so CJK
451
+ // glyphs survive the Mermaid label grammar.
452
+ // v2.0.8 fix (kept): also run through `truncateForMermaid` so the
453
+ // tail of a long title never blows Mermaid's per-label text-size
454
+ // budget ("Maximum text size in diagram exceeded").
455
+ const cleanTitle = truncateForMermaid(escapeMermaidLabel(title));
456
+ return truncateFinalLabel(`⚙️ ${cleanTitle}`);
452
457
  }
453
458
  // 2. Try matching the entire title (or first word) as a phase
454
459
  // alias. This handles titles like "TDD 完整循环结束" where
@@ -1 +1 @@
1
- {"version":3,"file":"task-detail-mermaid.js","sourceRoot":"","sources":["../src/task-detail-mermaid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-detail-mermaid.js","sourceRoot":"","sources":["../src/task-detail-mermaid.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-plugin-task-show",
3
- "version": "2.6.2",
3
+ "version": "2.6.5",
4
4
  "description": "roy-agent plugin: visualize task solving process via tool call flow on a local web service",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/plugin.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ai-setting/roy-plugin-task-show",
3
- "version": "2.6.2",
3
+ "version": "2.6.3",
4
4
  "type": "tool-plugin",
5
- "description": "v2.6.2: Mermaid pre-task/post-task bucket chunking — fixes 'Maximum text size in diagram exceeded' for Task #3139 (281 tool calls, no operation data, all tools in pre-task bucket). v2.5.20 (Task #3044) raised mermaid.maxTextSize 50,000 → 200,000 chars as a stop-gap; v2.6.2 is the architectural fix. `renderBucketChunks` in src/task-detail-mermaid.ts (mirror in public/app.js) splits any bucket with > MAX_TOOLS_PER_BUCKET_CHUNK=50 tools into ceil(N/50) sequential subgraphs (`pre_task_1`, `pre_task_2`, ...) connected by explicit `pre_task_1 --> pre_task_2` edges, and inside each chunk tools are chained `t1 --> t2 --> t3` so the flow is visible (the legacy single-subgraph render had no internal edges). Backward compatible: small buckets (≤ 50 tools) stay a single subgraph with no internal edges, byte-identical to v2.6.1 (existing snapshots / tests unchanged). Mermaid config maxTextSize also bumped 200,000 → 1,000,000 (5×) as defense-in-depth for the SSR-initial + client-rebuild path. 9 new tests in test/mermaid-bucket-chunking-3139.test.ts all PASS (constant contract, 281-tool split, small-bucket compat, inter-chunk edges, post-task symmetry, source-size sanity, label ranges, empty-bucket chain, click-callback preservation); 26 existing task-detail-mermaid tests + 18 mermaid-renderer tests still PASS. v2.6.1: Mermaid render-retry self-heal (Task #3129 follow-up). v2.6.0's 3-attempt retry loop replayed the SAME source string on every retry — if the source was half-built at attempt 1 (SSE applyTaskUpdate interleaving with task-operations.js polling), attempts 2-3 hit the same 'Syntax error in text' fallback. v2.6.1 makes `controller.update()` accept an OPTIONAL `getSourceForRetry` thunk and re-invokes it between attempts so each retry sees the freshest (operations, session) snapshot the caller's source-builder can assemble. `scheduleMermaidRender` (public/app.js) now passes the same thunk through, so the SSE/poll race that v2.6.0 fixed now also self-heals within a single render call. RENDER_RETRY_MAX bumped 3→5 with backoff 60ms→120ms to give the second path more time to settle. mount() keeps the original two-arg signature (SSR-stable source, no race). All 7 new retry-thunk tests pass (T1 self-heal, T2 v2.6.0 fallback, T3 first-try bypass, T4 same-source fidelity, T5 non-retryable bail, T6 thunk-throw, T7 mount signature). v2.6.0: Mermaid rendering race-condition fix (Task #3123 — `Syntax error in text` on Task detail pages). Two paths previously raced on the same `<div class=\"mermaid\">`: the SSE `applyTaskUpdate` handler (writes the latest session.toolCalls) and the `task-show:lifecycle-ops-loaded` listener (writes the latest operations from `/api/tasks/:id/operations`). Each path had its OWN `createMermaidController` instance, so two controllers ran concurrent `mermaid.render()` calls and a half-built source string landed mid-transition → 'Syntax error in text'. Fix has three parts: (1) a SINGLE shared `window.__mermaidController` singleton (both paths now `update()` the same instance, so the existing per-container token guard drops late results); (2) a per-container Promise-chain render queue (`window.scheduleMermaidRender(container, taskId, getSource)` where `getSource` is a thunk) so the (operations, session) snapshot is atomic by the time we hand it to the controller; (3) `mermaid-renderer.js#renderInternal` now retries `mermaid.render` up to 3× with jittered backoff (60-180ms+0-40ms) on `Syntax error in text` before giving up, so transient races self-heal without surfacing the error block. Backwards compatible: old bundles that don't include the lock helper fall through to the v2.5.x per-instance controller. Tested: all 135 mermaid/app-js tests pass, build + typecheck clean. v2.4.1: Mermaid zoom now supports click-and-drag pan (Task #2785). After zooming in, users can drag the diagram to view the surrounding canvas area. Implementation: per-container panState/dragState WeakMap (no global state leak); applyTransform(translate+scale) single-source-of-truth for the CSS transform; attachPanHandlers on pointerdown/move/up/cancel with setPointerCapture for off-element drags; pointer cursor switches to grab/grabbing with touch-action: none to prevent native scrolling; reset/zoomReset now also resets pan to (0,0). 14/14 new mermaid-pan tests pass, full suite 558/564 with 6 pre-existing failures unrelated to this commit. v2.4.0: Combines v2.3.0 Combines v2.3.0 (worktree-aware file-tree + unbounded Mermaid zoom, Task #2773) with the v2.3.0 mermaid placeholder expansion (Task #2771). Sidebar + endpoint scope git ls-files to session.context.worktree (fallback process.cwd()); Mermaid zoom-in is no longer capped at 3.0×; .mermaid placeholder is now min-height: 2400px and .mermaid-zoom-stage is min-width: 6400px / min-height: 2400px (5× base, via --mermaid-placeholder-multiplier CSS custom property) so dense diagrams get enough canvas to pan/zoom comfortably. v2.3.0: Worktree-aware file tree sidebar + unbounded Mermaid zoom-in. The file-tree sidebar (and /api/task/:id/file-tree endpoint) now scope git ls-files to session.context.worktree when the host (task:before.create / task:after.create payload) supplies a worktree path, so the sidebar shows the files the agent is actually editing instead of the plugin process cwd. New resolveWorktreePath helper in src/file-tree.ts returns session.context.worktree (trimmed, with empty/non-string guard) or falls back to process.cwd() for backward compatibility with pre-v2.3.0 hosts. TypeScript: TaskSession gains an optional context?: { worktree?: string } field. TaskShowServer exposes getCollector() so tests can seed sessions with context.worktree set. The Mermaid zoom toolbar (introduced in v2.0.8) no longer caps zoom-in at 3.0× — the ZOOM_MAX constant is REMOVED and clampZoom only enforces ZOOM_MIN=0.25, so dense diagrams remain readable on high-DPI monitors when the user wants to zoom way in. ZOOM_MIN stays in place so zoom-out still bottoms out before rendering a black screen. New tests: test/file-tree-worktree.test.ts (10 cases — resolveWorktreePath edges, SSR scope, endpoint scope, fallback), test/mermaid-zoom-unlimited.test.ts (8 cases — source guard, behaviour at 6×/10×/50×, lower-bound preserved), test/mermaid-placeholder-size.test.ts (7 cases — min-height/min-width 5× checks, transform-origin preserved, --mermaid-placeholder-multiplier hint). v2.3.0: Major visual overhaul of the per-task detail page — VS Code-style tool-call browser powered by Monaco Editor + LCS-based diff + project file tree with mermaid-driven navigation. The detail page now renders a 2-column layout: a sticky left sidebar with the project's git-tracked file tree (chevron-toggle directories, `is-affected` highlight for files touched by the current task), and a main column with the existing Mermaid + stats + toolcalls table + a new dedicated `<section id=\"tool-call-detail-panel\">` that hosts the LCS diff body + Monaco container for the currently-selected tool call. The legacy inline `<details class=\"diff-panel\">` (naive split-and-filter, prone to mis-tagging context lines) is replaced by `<ol class=\"diff-body\">` with proper added/removed/context markers driven by a real LCS dynamic-programming table (`computeDiff()` in `src/tool-call-detail.ts`). Tool calls with a file path get a Monaco Editor placeholder (`<div class=\"monaco-editor\" data-file-path=\"...\" data-language=\"...\">`) which the client-side `public/tool-call-detail.js` lazy-loads from `cdn.jsdelivr.net/npm/monaco-editor@0.45.0` the first time the user clicks a tool row. The Mermaid `__toolClick(toolId)` callback now drives THREE things: (a) the existing row scroll + highlight (preserved from v1.x), (b) the dedicated detail panel re-renders with the matching call, (c) the file-tree sidebar highlights the corresponding file (when `data-file-path` is present). New `GET /api/task/:id/file-tree` endpoint serves the git-tracked file list (`{ files: string[] }`) with a 30-second in-memory TTL + 8-entry FIFO bound. New modules: `src/file-tree.ts` (pure data layer: `buildFileTree / extractAffectedPaths / findNodeByPath / collectAllPaths / gitLsFiles / parseLsFiles`), `src/tool-call-detail.ts` (SSR + LCS diff + HTML escaping), `public/file-tree.js` (vanilla JS hydrator with chevron toggle + keyboard navigation + scrollIntoView), `public/tool-call-detail.js` (Monaco AMD loader + `__toolClick` wrapper + file-content fetch). New tests: `test/file-tree.test.ts` (21 cases — empty/single/nested/dedup/sort/depth/parseLsFiles/gitLsFiles), `test/tool-call-detail.test.ts` (22 cases — LCS diff edges, HTML escape, path aliases, summary stats), `test/tool-call-detail-server-integration.test.ts` (7 cases — SSR HTML contracts + endpoint), `test/tool-call-detail-jsdom.test.ts` (7 cases — client-side hydrators). v1.2.0: CSS context & packaged release hotfix. The plugin's public assets (notably `public/style.css`) and runtime adapters now correctly resolve relative to the installed package directory even when consumed via the published npm tarball. The session-scoped `TaskSessionStore` now preserves the full host session context (parent-child task links, plugin-handle id, env scope) across render cycles — previously the session was collapsed to its `sessionId` on first load and never refreshed, so the home page lost the 「session ancestors」 chain and external tasks from outside the current session silently disappeared from the tree. Adds `src/task-metadata.ts` as the single source of truth for the public `Task` shape exposed by `/api/tasks` + `/api/tasks/:id`, including the v1.0.0+ `processDescription` field, and re-exports it through the CLI adapters (`cli-tasks-adapter.ts` + `cli-tasks-tree-adapter.ts`) so the home page tree + the per-task page render against the same metadata contract. Bundles 244-line regression test (`test/context-and-packed-release.test.ts`) that boots the plugin from the **npm-pack** directory (not the repo working tree), spawns `roy-agent tasks get <id> --json`, and asserts (a) `public/style.css` is present and ≥ 64 lines, (b) the `/api/events` SSE endpoint survives a reload, and (c) `task.session` survives a render cycle. v1.1.0: Full Server-Sent Events realtime subscription across 3 event classes (task.created / operation.updated / tool.called) on both the home page and the per-task /task/<id> page. The per-task pipeline now subscribes to /api/events and patches the DOM in place on operation.updated — no more 5s-poll delay before the user sees a new milestone. The 'Task lifecycle pipeline' header badge is replaced by a 5-state SSE-aware badge (stale / connecting / live / reconnecting / error) so the user can tell at a glance whether real-time updates are flowing, the connection dropped, or 3+ consecutive errors triggered the polling fallback. Legacy boolean `stale` cache-TTL pill and `tool.recorded` event name are preserved for back-compat with v0.9.x / v1.0.0 clients. v1.0.0: First stable release. Replaces the v0.9.x fixture-based verify scripts (which built fake TaskOperationsEnvelope and never invoked the real `roy-agent` CLI, masking regressions in the public-schema `processDescription` field) with a real-CLI scenario test + verify (`test/process-description-real-scenario.test.ts` + `scripts/verify-v100-real-scenario.ts`) that spawns `roy-agent tasks get <id> --operations --json` via `defaultRunner` and asserts the API response carries `processDescription` end-to-end. The 0.9.9 processDescription fix is preserved verbatim — this release only swaps the verify surface. Visualize the tool call chain of a task on a local web service with real-time SSE updates. v0.9.9: Task lifecycle pipeline on /task/<id> now exposes BOTH the milestone badge AND the 「过程描述」 column at a glance — the server-side `/api/tasks/:id/operations` endpoint exposes `processDescription` on every operation (no longer stripped from the public schema), the client-side `renderPipelineHtml` mirrors the server's `.op-desc-block` + `.op-proc-block` block layout so SSR ↔ CSR stay in sync, and a long-standing CSS right-side text-truncation bug in the pipeline timeline (long CJK titles overflowing the panel edge) is fixed via `min-width: 0` on `.op-row1` + `overflow-wrap: anywhere` on `.op-title`. v0.9.0: Session-scoped home page (only show tasks created after plugin load + their external ancestors), with per-row 「显示全部栏位」 toggle and lazy-loaded operations timeline; per-task Mermaid labels now correctly render CJK / mixed-Latin / emoji text (encoded as \\uXXXX before emission, decoded by the browser); detail page layout reordered to lifecycle → pipeline → stats → toolcalls → rawjson. v0.5.0+: page refreshes stream over GET /api/events (Server-Sent Events). Subscribes to tool:before.execute, tool:after.execute, task:before.create, task:after.create, task:after.complete (preferred, 2026-07-10+), and task:after.update (legacy fallback). v0.6.11: Mermaid re-rendering is delegated to a self-contained controller (public/mermaid-renderer.js) that prevents the SVG→raw-source regression on async updates and surfaces recoverable .mermaid-error states. v0.6.12: Task lifecycle pipeline (operations timeline) server now emits data-task-id on the pipeline section; client preserves it on swap, so the page actually fetches /api/tasks/<id>/operations and renders the 7-op timeline (previously silently bailed). v0.7.0: Home page redesigned as a hierarchical task tree (driven by `roy-agent tasks tree --json`); new /api/tasks/tree endpoint with status / priority / type / root-id filters, expand/collapse UI, search, and live 30s polling. v0.8.0: per-task page Mermaid area now renders the hierarchical 'Task lifecycle + tools' view — each operation record owns a subgraph that nests its tool calls, with click callbacks (`window.__toolClick`) that scroll-into-view + highlight + auto-expand the matching row in the tool-call table below. Operation record descriptions (`description` + `processDescription`) are now always rendered inline (no `<details>` collapse) so the user sees the lifecycle state at a glance; a fallback `<details>` kicks in only for descriptions longer than 600 chars. v0.8.1: hotfix for two pre-existing bugs in v0.8.0 (browser smoke test surfaced after merge). (a) Mermaid click directives were emitted as `click t1 __toolClick(1)` (missing `call` keyword) — Mermaid 10's parser rejects this with `got 'PS'`. Fixed to `click t1 call __toolClick(1)` (the v10 grammar requires `call` to invoke a callback with arguments). (b) `buildMermaidSource` lived inside the `attachTaskPageTimeline` IIFE but was also called from a listener in the `attachToolClickBridge` IIFE — sibling IIFEs cannot see each other's locals, so the listener threw `ReferenceError: buildMermaidSource is not defined` and the Mermaid diagram silently failed to re-render after `task-show:lifecycle-ops-loaded`. Fixed by hoisting the function (and its three helpers) to script top-level so both IIFEs can see it via the script-wide closure; the function is also exposed on `window.buildMermaidSource` for tests + tooling. v0.8.3: tree-display fix (Task #2426). The home page used to look like a flat list of root tasks because `autoExpandFirstLevels(..., 2)` only opened the first 2 levels — 30/47 roots were leaf nodes and the remaining 17 collapsed to one level so grandchildren were never visible. Default expand depth is now 3 (root + child + grandchild + great-grandchild are visible on first paint), the summary line now shows per-depth count pills (root / child / grandchild / great-grandchild / level-N), each `tree-row` carries a `data-depth` attribute so CSS can paint coloured left rails per level, and the duplicated 'Live tool-call sessions (legacy view)' panel that made the page look like both a flat table AND a tree is now hidden behind `#legacy-sessions[hidden]` (kept for future debug-toggle restoration). v0.8.10: bug-fix release (Task #2537 + Task #2534). (a) Heap-bounded plugin caches: OperationsCache and TasksTreeCache now enforce a hard maxEntries cap (default 256 / 64). Oldest stale entries are evicted before inserting a new one, so long-lived roy-agent sessions (BackgroundTaskManager + MemorySessionStore) no longer leak Map entries through the plugin's per-task caches — see Task #2537 for the heap-unbounded-state RED→GREEN repro. (b) Mermaid CJK font-family: server.ts renderTaskPage now configures mermaid.initialize({ themeVariables: { fontFamily: '\"PingFang SC\", \"Microsoft YaHei\", \"Noto Sans CJK SC\", \"Source Han Sans CN\", \"WenQuanYi Micro Hei\", sans-serif' } }) so Chinese node labels render correctly in browsers that have at least one of those fonts installed (see Task #2534).",
5
+ "description": "v2.6.3: Mermaid node label now shows the FULL operation title (Task #3145). Previously `getPhaseLabel()` rendered `'⚙️ Phase 1: PASS'` for `'Phase 1 PASS: 调研现状'` because `extractPhaseInfo` regex stopped at the first `:` / `完成` / `pass` / `—` token, silently dropping the `: 调研现状` tail. v2.6.3 uses the full `op.title` (escape + truncate to keep CJK and stay under Mermaid's 60-char per-label budget) when `resolvePhaseId` cannot map the captured name to a canonical phase id. Canonical-phase titles (e.g. `Phase 3: Plan`) still use the friendly `<emoji> Phase N: <name><br/><description>` format unchanged. Mirror applied to client `public/app.js` `getPhaseLabelClient`. 8 new regression tests in `test/mermaid-full-title-v263-3145.test.ts` all PASS (T1 `'Phase 1 PASS: 调研现状'` keeps `: 调研现状`; T2 non-canonical `Phase 2 调研: 实施修复` keeps the CJK tail; T3 `'Phase 3 — 调研现状'` survives em-dash; T4 60-char truncation cap with ellipsis; T5 canonical-phase format unchanged; T6/T6b integration: rendered diagram embeds the full title; T7 server+client parity). v2.6.2: Mermaid pre-task/post-task bucket chunking — fixes 'Maximum text size in diagram exceeded' for Task #3139 (281 tool calls, no operation data, all tools in pre-task bucket). v2.5.20 (Task #3044) raised mermaid.maxTextSize 50,000 → 200,000 chars as a stop-gap; v2.6.2 is the architectural fix. `renderBucketChunks` in src/task-detail-mermaid.ts (mirror in public/app.js) splits any bucket with > MAX_TOOLS_PER_BUCKET_CHUNK=50 tools into ceil(N/50) sequential subgraphs (`pre_task_1`, `pre_task_2`, ...) connected by explicit `pre_task_1 --> pre_task_2` edges, and inside each chunk tools are chained `t1 --> t2 --> t3` so the flow is visible (the legacy single-subgraph render had no internal edges). Backward compatible: small buckets (≤ 50 tools) stay a single subgraph with no internal edges, byte-identical to v2.6.1 (existing snapshots / tests unchanged). Mermaid config maxTextSize also bumped 200,000 → 1,000,000 (5×) as defense-in-depth for the SSR-initial + client-rebuild path. 9 new tests in test/mermaid-bucket-chunking-3139.test.ts all PASS (constant contract, 281-tool split, small-bucket compat, inter-chunk edges, post-task symmetry, source-size sanity, label ranges, empty-bucket chain, click-callback preservation); 26 existing task-detail-mermaid tests + 18 mermaid-renderer tests still PASS. v2.6.1: Mermaid render-retry self-heal (Task #3129 follow-up). v2.6.0's 3-attempt retry loop replayed the SAME source string on every retry — if the source was half-built at attempt 1 (SSE applyTaskUpdate interleaving with task-operations.js polling), attempts 2-3 hit the same 'Syntax error in text' fallback. v2.6.1 makes `controller.update()` accept an OPTIONAL `getSourceForRetry` thunk and re-invokes it between attempts so each retry sees the freshest (operations, session) snapshot the caller's source-builder can assemble. `scheduleMermaidRender` (public/app.js) now passes the same thunk through, so the SSE/poll race that v2.6.0 fixed now also self-heals within a single render call. RENDER_RETRY_MAX bumped 3→5 with backoff 60ms→120ms to give the second path more time to settle. mount() keeps the original two-arg signature (SSR-stable source, no race). All 7 new retry-thunk tests pass (T1 self-heal, T2 v2.6.0 fallback, T3 first-try bypass, T4 same-source fidelity, T5 non-retryable bail, T6 thunk-throw, T7 mount signature). v2.6.0: Mermaid rendering race-condition fix (Task #3123 — `Syntax error in text` on Task detail pages). Two paths previously raced on the same `<div class=\"mermaid\">`: the SSE `applyTaskUpdate` handler (writes the latest session.toolCalls) and the `task-show:lifecycle-ops-loaded` listener (writes the latest operations from `/api/tasks/:id/operations`). Each path had its OWN `createMermaidController` instance, so two controllers ran concurrent `mermaid.render()` calls and a half-built source string landed mid-transition → 'Syntax error in text'. Fix has three parts: (1) a SINGLE shared `window.__mermaidController` singleton (both paths now `update()` the same instance, so the existing per-container token guard drops late results); (2) a per-container Promise-chain render queue (`window.scheduleMermaidRender(container, taskId, getSource)` where `getSource` is a thunk) so the (operations, session) snapshot is atomic by the time we hand it to the controller; (3) `mermaid-renderer.js#renderInternal` now retries `mermaid.render` up to 3× with jittered backoff (60-180ms+0-40ms) on `Syntax error in text` before giving up, so transient races self-heal without surfacing the error block. Backwards compatible: old bundles that don't include the lock helper fall through to the v2.5.x per-instance controller. Tested: all 135 mermaid/app-js tests pass, build + typecheck clean. v2.4.1: Mermaid zoom now supports click-and-drag pan (Task #2785). After zooming in, users can drag the diagram to view the surrounding canvas area. Implementation: per-container panState/dragState WeakMap (no global state leak); applyTransform(translate+scale) single-source-of-truth for the CSS transform; attachPanHandlers on pointerdown/move/up/cancel with setPointerCapture for off-element drags; pointer cursor switches to grab/grabbing with touch-action: none to prevent native scrolling; reset/zoomReset now also resets pan to (0,0). 14/14 new mermaid-pan tests pass, full suite 558/564 with 6 pre-existing failures unrelated to this commit. v2.4.0: Combines v2.3.0 Combines v2.3.0 (worktree-aware file-tree + unbounded Mermaid zoom, Task #2773) with the v2.3.0 mermaid placeholder expansion (Task #2771). Sidebar + endpoint scope git ls-files to session.context.worktree (fallback process.cwd()); Mermaid zoom-in is no longer capped at 3.0×; .mermaid placeholder is now min-height: 2400px and .mermaid-zoom-stage is min-width: 6400px / min-height: 2400px (5× base, via --mermaid-placeholder-multiplier CSS custom property) so dense diagrams get enough canvas to pan/zoom comfortably. v2.3.0: Worktree-aware file tree sidebar + unbounded Mermaid zoom-in. The file-tree sidebar (and /api/task/:id/file-tree endpoint) now scope git ls-files to session.context.worktree when the host (task:before.create / task:after.create payload) supplies a worktree path, so the sidebar shows the files the agent is actually editing instead of the plugin process cwd. New resolveWorktreePath helper in src/file-tree.ts returns session.context.worktree (trimmed, with empty/non-string guard) or falls back to process.cwd() for backward compatibility with pre-v2.3.0 hosts. TypeScript: TaskSession gains an optional context?: { worktree?: string } field. TaskShowServer exposes getCollector() so tests can seed sessions with context.worktree set. The Mermaid zoom toolbar (introduced in v2.0.8) no longer caps zoom-in at 3.0× — the ZOOM_MAX constant is REMOVED and clampZoom only enforces ZOOM_MIN=0.25, so dense diagrams remain readable on high-DPI monitors when the user wants to zoom way in. ZOOM_MIN stays in place so zoom-out still bottoms out before rendering a black screen. New tests: test/file-tree-worktree.test.ts (10 cases — resolveWorktreePath edges, SSR scope, endpoint scope, fallback), test/mermaid-zoom-unlimited.test.ts (8 cases — source guard, behaviour at 6×/10×/50×, lower-bound preserved), test/mermaid-placeholder-size.test.ts (7 cases — min-height/min-width 5× checks, transform-origin preserved, --mermaid-placeholder-multiplier hint). v2.3.0: Major visual overhaul of the per-task detail page — VS Code-style tool-call browser powered by Monaco Editor + LCS-based diff + project file tree with mermaid-driven navigation. The detail page now renders a 2-column layout: a sticky left sidebar with the project's git-tracked file tree (chevron-toggle directories, `is-affected` highlight for files touched by the current task), and a main column with the existing Mermaid + stats + toolcalls table + a new dedicated `<section id=\"tool-call-detail-panel\">` that hosts the LCS diff body + Monaco container for the currently-selected tool call. The legacy inline `<details class=\"diff-panel\">` (naive split-and-filter, prone to mis-tagging context lines) is replaced by `<ol class=\"diff-body\">` with proper added/removed/context markers driven by a real LCS dynamic-programming table (`computeDiff()` in `src/tool-call-detail.ts`). Tool calls with a file path get a Monaco Editor placeholder (`<div class=\"monaco-editor\" data-file-path=\"...\" data-language=\"...\">`) which the client-side `public/tool-call-detail.js` lazy-loads from `cdn.jsdelivr.net/npm/monaco-editor@0.45.0` the first time the user clicks a tool row. The Mermaid `__toolClick(toolId)` callback now drives THREE things: (a) the existing row scroll + highlight (preserved from v1.x), (b) the dedicated detail panel re-renders with the matching call, (c) the file-tree sidebar highlights the corresponding file (when `data-file-path` is present). New `GET /api/task/:id/file-tree` endpoint serves the git-tracked file list (`{ files: string[] }`) with a 30-second in-memory TTL + 8-entry FIFO bound. New modules: `src/file-tree.ts` (pure data layer: `buildFileTree / extractAffectedPaths / findNodeByPath / collectAllPaths / gitLsFiles / parseLsFiles`), `src/tool-call-detail.ts` (SSR + LCS diff + HTML escaping), `public/file-tree.js` (vanilla JS hydrator with chevron toggle + keyboard navigation + scrollIntoView), `public/tool-call-detail.js` (Monaco AMD loader + `__toolClick` wrapper + file-content fetch). New tests: `test/file-tree.test.ts` (21 cases — empty/single/nested/dedup/sort/depth/parseLsFiles/gitLsFiles), `test/tool-call-detail.test.ts` (22 cases — LCS diff edges, HTML escape, path aliases, summary stats), `test/tool-call-detail-server-integration.test.ts` (7 cases — SSR HTML contracts + endpoint), `test/tool-call-detail-jsdom.test.ts` (7 cases — client-side hydrators). v1.2.0: CSS context & packaged release hotfix. The plugin's public assets (notably `public/style.css`) and runtime adapters now correctly resolve relative to the installed package directory even when consumed via the published npm tarball. The session-scoped `TaskSessionStore` now preserves the full host session context (parent-child task links, plugin-handle id, env scope) across render cycles — previously the session was collapsed to its `sessionId` on first load and never refreshed, so the home page lost the 「session ancestors」 chain and external tasks from outside the current session silently disappeared from the tree. Adds `src/task-metadata.ts` as the single source of truth for the public `Task` shape exposed by `/api/tasks` + `/api/tasks/:id`, including the v1.0.0+ `processDescription` field, and re-exports it through the CLI adapters (`cli-tasks-adapter.ts` + `cli-tasks-tree-adapter.ts`) so the home page tree + the per-task page render against the same metadata contract. Bundles 244-line regression test (`test/context-and-packed-release.test.ts`) that boots the plugin from the **npm-pack** directory (not the repo working tree), spawns `roy-agent tasks get <id> --json`, and asserts (a) `public/style.css` is present and ≥ 64 lines, (b) the `/api/events` SSE endpoint survives a reload, and (c) `task.session` survives a render cycle. v1.1.0: Full Server-Sent Events realtime subscription across 3 event classes (task.created / operation.updated / tool.called) on both the home page and the per-task /task/<id> page. The per-task pipeline now subscribes to /api/events and patches the DOM in place on operation.updated — no more 5s-poll delay before the user sees a new milestone. The 'Task lifecycle pipeline' header badge is replaced by a 5-state SSE-aware badge (stale / connecting / live / reconnecting / error) so the user can tell at a glance whether real-time updates are flowing, the connection dropped, or 3+ consecutive errors triggered the polling fallback. Legacy boolean `stale` cache-TTL pill and `tool.recorded` event name are preserved for back-compat with v0.9.x / v1.0.0 clients. v1.0.0: First stable release. Replaces the v0.9.x fixture-based verify scripts (which built fake TaskOperationsEnvelope and never invoked the real `roy-agent` CLI, masking regressions in the public-schema `processDescription` field) with a real-CLI scenario test + verify (`test/process-description-real-scenario.test.ts` + `scripts/verify-v100-real-scenario.ts`) that spawns `roy-agent tasks get <id> --operations --json` via `defaultRunner` and asserts the API response carries `processDescription` end-to-end. The 0.9.9 processDescription fix is preserved verbatim — this release only swaps the verify surface. Visualize the tool call chain of a task on a local web service with real-time SSE updates. v0.9.9: Task lifecycle pipeline on /task/<id> now exposes BOTH the milestone badge AND the 「过程描述」 column at a glance — the server-side `/api/tasks/:id/operations` endpoint exposes `processDescription` on every operation (no longer stripped from the public schema), the client-side `renderPipelineHtml` mirrors the server's `.op-desc-block` + `.op-proc-block` block layout so SSR ↔ CSR stay in sync, and a long-standing CSS right-side text-truncation bug in the pipeline timeline (long CJK titles overflowing the panel edge) is fixed via `min-width: 0` on `.op-row1` + `overflow-wrap: anywhere` on `.op-title`. v0.9.0: Session-scoped home page (only show tasks created after plugin load + their external ancestors), with per-row 「显示全部栏位」 toggle and lazy-loaded operations timeline; per-task Mermaid labels now correctly render CJK / mixed-Latin / emoji text (encoded as \\uXXXX before emission, decoded by the browser); detail page layout reordered to lifecycle → pipeline → stats → toolcalls → rawjson. v0.5.0+: page refreshes stream over GET /api/events (Server-Sent Events). Subscribes to tool:before.execute, tool:after.execute, task:before.create, task:after.create, task:after.complete (preferred, 2026-07-10+), and task:after.update (legacy fallback). v0.6.11: Mermaid re-rendering is delegated to a self-contained controller (public/mermaid-renderer.js) that prevents the SVG→raw-source regression on async updates and surfaces recoverable .mermaid-error states. v0.6.12: Task lifecycle pipeline (operations timeline) server now emits data-task-id on the pipeline section; client preserves it on swap, so the page actually fetches /api/tasks/<id>/operations and renders the 7-op timeline (previously silently bailed). v0.7.0: Home page redesigned as a hierarchical task tree (driven by `roy-agent tasks tree --json`); new /api/tasks/tree endpoint with status / priority / type / root-id filters, expand/collapse UI, search, and live 30s polling. v0.8.0: per-task page Mermaid area now renders the hierarchical 'Task lifecycle + tools' view — each operation record owns a subgraph that nests its tool calls, with click callbacks (`window.__toolClick`) that scroll-into-view + highlight + auto-expand the matching row in the tool-call table below. Operation record descriptions (`description` + `processDescription`) are now always rendered inline (no `<details>` collapse) so the user sees the lifecycle state at a glance; a fallback `<details>` kicks in only for descriptions longer than 600 chars. v0.8.1: hotfix for two pre-existing bugs in v0.8.0 (browser smoke test surfaced after merge). (a) Mermaid click directives were emitted as `click t1 __toolClick(1)` (missing `call` keyword) — Mermaid 10's parser rejects this with `got 'PS'`. Fixed to `click t1 call __toolClick(1)` (the v10 grammar requires `call` to invoke a callback with arguments). (b) `buildMermaidSource` lived inside the `attachTaskPageTimeline` IIFE but was also called from a listener in the `attachToolClickBridge` IIFE — sibling IIFEs cannot see each other's locals, so the listener threw `ReferenceError: buildMermaidSource is not defined` and the Mermaid diagram silently failed to re-render after `task-show:lifecycle-ops-loaded`. Fixed by hoisting the function (and its three helpers) to script top-level so both IIFEs can see it via the script-wide closure; the function is also exposed on `window.buildMermaidSource` for tests + tooling. v0.8.3: tree-display fix (Task #2426). The home page used to look like a flat list of root tasks because `autoExpandFirstLevels(..., 2)` only opened the first 2 levels — 30/47 roots were leaf nodes and the remaining 17 collapsed to one level so grandchildren were never visible. Default expand depth is now 3 (root + child + grandchild + great-grandchild are visible on first paint), the summary line now shows per-depth count pills (root / child / grandchild / great-grandchild / level-N), each `tree-row` carries a `data-depth` attribute so CSS can paint coloured left rails per level, and the duplicated 'Live tool-call sessions (legacy view)' panel that made the page look like both a flat table AND a tree is now hidden behind `#legacy-sessions[hidden]` (kept for future debug-toggle restoration). v0.8.10: bug-fix release (Task #2537 + Task #2534). (a) Heap-bounded plugin caches: OperationsCache and TasksTreeCache now enforce a hard maxEntries cap (default 256 / 64). Oldest stale entries are evicted before inserting a new one, so long-lived roy-agent sessions (BackgroundTaskManager + MemorySessionStore) no longer leak Map entries through the plugin's per-task caches — see Task #2537 for the heap-unbounded-state RED→GREEN repro. (b) Mermaid CJK font-family: server.ts renderTaskPage now configures mermaid.initialize({ themeVariables: { fontFamily: '\"PingFang SC\", \"Microsoft YaHei\", \"Noto Sans CJK SC\", \"Source Han Sans CN\", \"WenQuanYi Micro Hei\", sans-serif' } }) so Chinese node labels render correctly in browsers that have at least one of those fonts installed (see Task #2534).",
6
6
  "main": "dist/index.js",
7
7
  "hooks": [
8
8
  {
package/public/app.js CHANGED
@@ -666,7 +666,13 @@ function getPhaseLabel(op) {
666
666
  const meta = PHASE_LABELS_CLIENT[phaseId];
667
667
  return `${meta.emoji} Phase ${info.num}: ${meta.name}<br/>${meta.description}`;
668
668
  }
669
- return `\u2699\ufe0f Phase ${info.num}: ${escapeMermaid(info.name)}`;
669
+ // v2.6.3 fix (Task #3145): mirror server-side change — render
670
+ // the FULL operation title (not just the truncated `info.name`)
671
+ // so titles like `"Phase 1 PASS: 调研现状"` keep their `: 调研现状`
672
+ // tail. Previously `extractPhaseInfoClient` stopped at the first
673
+ // `:` / `完成` / `pass` token and the label silently dropped
674
+ // everything after.
675
+ return `\u2699\ufe0f ${escapeMermaid(title)}`;
670
676
  }
671
677
  // 2. Try matching the entire (short) title as a phase alias.
672
678
  if (title.length <= 60) {
@@ -735,12 +741,61 @@ if (typeof window !== "undefined") {
735
741
  * 3. Scrolls the row into view (smooth, centered).
736
742
  * 4. Adds the `highlight` class for 2 seconds so the user sees a
737
743
  * yellow flash pointing at the row.
744
+ * 5. (v2.6.4 / Task #3190) Persists the current tool id to the URL
745
+ * via `history.replaceState` so the user can share / bookmark
746
+ * the link (`?tool=N` / `?tool_index=N`) and the page boots
747
+ * straight onto that row. The query-param name is `tool`
748
+ * (alias `tool_index` accepted for the user-task wording).
738
749
  *
739
750
  * If the page has no `table.toolcalls` (e.g. the index page), the
740
751
  * function is a no-op. We also defensively no-op on invalid IDs so
741
752
  * Mermaid can never break the page by firing a stale callback.
742
753
  */
743
754
  (function attachToolClickBridge() {
755
+ // v2.6.4 (Task #3190): shared URL helpers. We keep them inside the
756
+ // IIFE so the global namespace stays clean, but `scrollAndHighlight`
757
+ // and `initFromUrl` both go through `setToolInUrl` so the param
758
+ // name + value format is in exactly one place.
759
+ const TOOL_PARAM = "tool";
760
+ const TOOL_INDEX_ALIAS = "tool_index";
761
+
762
+ function getCurrentToolIdFromUrl() {
763
+ try {
764
+ const sp = new URLSearchParams(window.location.search);
765
+ // Accept both `?tool=N` (canonical) and `?tool_index=N`
766
+ // (user-task wording). `tool_index` wins if both are present.
767
+ const raw = sp.get(TOOL_INDEX_ALIAS) || sp.get(TOOL_PARAM);
768
+ if (!raw) return "";
769
+ const trimmed = String(raw).trim();
770
+ // Accept only positive integers — defends against injection.
771
+ if (!/^[1-9][0-9]*$/.test(trimmed)) return "";
772
+ return trimmed;
773
+ } catch (_) {
774
+ return "";
775
+ }
776
+ }
777
+
778
+ function setToolInUrl(toolId) {
779
+ try {
780
+ const id = String(toolId ?? "").trim();
781
+ const url = new URL(window.location.href);
782
+ if (!/^[1-9][0-9]*$/.test(id)) {
783
+ url.searchParams.delete(TOOL_PARAM);
784
+ url.searchParams.delete(TOOL_INDEX_ALIAS);
785
+ } else {
786
+ url.searchParams.set(TOOL_PARAM, id);
787
+ // Keep both names in sync — `tool_index` mirrors `tool` so
788
+ // either spelling resolves when the page is reloaded.
789
+ url.searchParams.set(TOOL_INDEX_ALIAS, id);
790
+ }
791
+ // replaceState (not pushState) so the browser back button does
792
+ // not fill up with one history entry per mermaid click.
793
+ window.history.replaceState(null, "", url.toString());
794
+ } catch (_) {
795
+ // URL APIs unavailable — silently noop.
796
+ }
797
+ }
798
+
744
799
  function scrollAndHighlight(toolId) {
745
800
  const id = String(toolId ?? "").trim();
746
801
  if (!id) return;
@@ -764,6 +819,9 @@ if (typeof window !== "undefined") {
764
819
  setTimeout(() => {
765
820
  row.classList.remove("highlight");
766
821
  }, 2000);
822
+ // v2.6.4 (Task #3190): persist the chosen tool id in the URL so
823
+ // it survives reload + can be shared / bookmarked.
824
+ setToolInUrl(id);
767
825
  }
768
826
 
769
827
  // Expose the global callback. Mermaid emits `click t1 __toolClick("1")`,
@@ -779,6 +837,55 @@ if (typeof window !== "undefined") {
779
837
  }
780
838
  };
781
839
 
840
+ // v2.6.4 (Task #3190): boot-time hydration. If the URL carries a
841
+ // `?tool=N` (or `?tool_index=N`) query param we scroll + highlight
842
+ // the matching row on load. This makes mermaid click → share-link
843
+ // → page reload a round-trippable flow.
844
+ function initFromUrl() {
845
+ const toolId = getCurrentToolIdFromUrl();
846
+ if (!toolId) return;
847
+ // Defer to next frame so the table layout is settled and
848
+ // scrollIntoView measures correct coordinates. Without this the
849
+ // scroll can land on the wrong spot on slow browsers.
850
+ const run = () => {
851
+ try {
852
+ // Prefer calling window.__toolClick so any wrapper installed
853
+ // later by tool-call-detail.js (panel render + file-tree
854
+ // highlight) picks up the click for free. Fall back to the
855
+ // bare `scrollAndHighlight` if the global hasn't been wired
856
+ // yet — the wrapper is installed synchronously when this
857
+ // module loads, so this branch is mainly a safety net.
858
+ if (typeof window.__toolClick === "function") {
859
+ window.__toolClick(toolId);
860
+ } else {
861
+ scrollAndHighlight(toolId);
862
+ }
863
+ } catch (err) {
864
+ // eslint-disable-next-line no-console
865
+ console.warn("[task-show] initFromUrl failed:", err && err.message || err);
866
+ }
867
+ };
868
+ if (typeof window.requestAnimationFrame === "function") {
869
+ window.requestAnimationFrame(() => window.setTimeout(run, 0));
870
+ } else {
871
+ window.setTimeout(run, 0);
872
+ }
873
+ }
874
+
875
+ // v2.6.4 (Task #3190): handle back/forward navigation — when the
876
+ // user pops to a previous tool id via the browser history we want
877
+ // the table to follow.
878
+ window.addEventListener("popstate", () => {
879
+ initFromUrl();
880
+ });
881
+
882
+ if (document.readyState === "loading") {
883
+ document.addEventListener("DOMContentLoaded", initFromUrl, { once: true });
884
+ } else {
885
+ // Script loaded after DOM is ready (rare for this page but safe).
886
+ initFromUrl();
887
+ }
888
+
782
889
  /**
783
890
  * v0.8.0+ Mermaid re-render hook. When `task-operations.js` finishes
784
891
  * a fetch it fires `task-show:lifecycle-ops-loaded`. We re-build the