hammoc 1.6.0 → 1.7.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.
- package/README.md +6 -4
- package/package.json +2 -2
- package/packages/client/dist/assets/{agentExampleHighlight-ltj9ce0U.js → agentExampleHighlight-Du5I7v6o.js} +1 -1
- package/packages/client/dist/assets/{commandTokenHighlight-ji_ViMb4.js → commandTokenHighlight-Dfo51Aof.js} +1 -1
- package/packages/client/dist/assets/{index-B-DiRGuz.js → index-4l4YwxEs.js} +1 -1
- package/packages/client/dist/assets/index-CVy582lU.css +32 -0
- package/packages/client/dist/assets/{index-BT4RIi0U.js → index-CqAHxPRw.js} +556 -510
- package/packages/client/dist/assets/{snippetTokenHighlight-CP3v4o2g.js → snippetTokenHighlight-26DWljQA.js} +1 -1
- package/packages/client/dist/index.html +2 -2
- package/packages/client/dist/sw.js +2 -2
- package/packages/server/dist/_dbg_agent_rows.d.ts +2 -0
- package/packages/server/dist/_dbg_agent_rows.d.ts.map +1 -0
- package/packages/server/dist/_dbg_agent_rows.js +60 -0
- package/packages/server/dist/_dbg_agent_rows.js.map +1 -0
- package/packages/server/dist/_dbg_flicker.d.ts +2 -0
- package/packages/server/dist/_dbg_flicker.d.ts.map +1 -0
- package/packages/server/dist/_dbg_flicker.js +38 -0
- package/packages/server/dist/_dbg_flicker.js.map +1 -0
- package/packages/server/dist/_harness_cli.d.ts +2 -0
- package/packages/server/dist/_harness_cli.d.ts.map +1 -0
- package/packages/server/dist/_harness_cli.js +81 -0
- package/packages/server/dist/_harness_cli.js.map +1 -0
- package/packages/server/dist/_harness_provcard.d.ts +2 -0
- package/packages/server/dist/_harness_provcard.d.ts.map +1 -0
- package/packages/server/dist/_harness_provcard.js +67 -0
- package/packages/server/dist/_harness_provcard.js.map +1 -0
- package/packages/server/dist/_replay_dump.d.ts +2 -0
- package/packages/server/dist/_replay_dump.d.ts.map +1 -0
- package/packages/server/dist/_replay_dump.js +62 -0
- package/packages/server/dist/_replay_dump.js.map +1 -0
- package/packages/server/dist/app.d.ts.map +1 -1
- package/packages/server/dist/app.js +6 -0
- package/packages/server/dist/app.js.map +1 -1
- package/packages/server/dist/config/index.d.ts.map +1 -1
- package/packages/server/dist/config/index.js.map +1 -1
- package/packages/server/dist/controllers/projectController.d.ts.map +1 -1
- package/packages/server/dist/controllers/projectController.js +7 -1
- package/packages/server/dist/controllers/projectController.js.map +1 -1
- package/packages/server/dist/controllers/sessionController.d.ts.map +1 -1
- package/packages/server/dist/controllers/sessionController.js +16 -4
- package/packages/server/dist/controllers/sessionController.js.map +1 -1
- package/packages/server/dist/controllers/systemBrowseController.d.ts +33 -0
- package/packages/server/dist/controllers/systemBrowseController.d.ts.map +1 -0
- package/packages/server/dist/controllers/systemBrowseController.js +105 -0
- package/packages/server/dist/controllers/systemBrowseController.js.map +1 -0
- package/packages/server/dist/handlers/streamCallbacks.d.ts +4 -0
- package/packages/server/dist/handlers/streamCallbacks.d.ts.map +1 -1
- package/packages/server/dist/handlers/streamCallbacks.js +21 -8
- package/packages/server/dist/handlers/streamCallbacks.js.map +1 -1
- package/packages/server/dist/handlers/websocket.d.ts +45 -3
- package/packages/server/dist/handlers/websocket.d.ts.map +1 -1
- package/packages/server/dist/handlers/websocket.js +367 -95
- package/packages/server/dist/handlers/websocket.js.map +1 -1
- package/packages/server/dist/index.js +2 -0
- package/packages/server/dist/index.js.map +1 -1
- package/packages/server/dist/locales/en/server.json +17 -0
- package/packages/server/dist/locales/es/server.json +17 -0
- package/packages/server/dist/locales/ja/server.json +17 -0
- package/packages/server/dist/locales/ko/server.json +17 -0
- package/packages/server/dist/locales/pt/server.json +17 -0
- package/packages/server/dist/locales/zh-CN/server.json +17 -0
- package/packages/server/dist/routes/preferences.d.ts.map +1 -1
- package/packages/server/dist/routes/preferences.js +12 -2
- package/packages/server/dist/routes/preferences.js.map +1 -1
- package/packages/server/dist/routes/systemBrowse.d.ts +17 -0
- package/packages/server/dist/routes/systemBrowse.d.ts.map +1 -0
- package/packages/server/dist/routes/systemBrowse.js +22 -0
- package/packages/server/dist/routes/systemBrowse.js.map +1 -0
- package/packages/server/dist/services/bmadStatusService.d.ts.map +1 -1
- package/packages/server/dist/services/bmadStatusService.js +18 -7
- package/packages/server/dist/services/bmadStatusService.js.map +1 -1
- package/packages/server/dist/services/chatEngine.d.ts +81 -0
- package/packages/server/dist/services/chatEngine.d.ts.map +1 -0
- package/packages/server/dist/services/chatEngine.js +2 -0
- package/packages/server/dist/services/chatEngine.js.map +1 -0
- package/packages/server/dist/services/chatEngineFactory.d.ts +15 -0
- package/packages/server/dist/services/chatEngineFactory.d.ts.map +1 -0
- package/packages/server/dist/services/chatEngineFactory.js +28 -0
- package/packages/server/dist/services/chatEngineFactory.js.map +1 -0
- package/packages/server/dist/services/chatService.d.ts +34 -26
- package/packages/server/dist/services/chatService.d.ts.map +1 -1
- package/packages/server/dist/services/chatService.js +43 -103
- package/packages/server/dist/services/chatService.js.map +1 -1
- package/packages/server/dist/services/cliChatEngine.d.ts +198 -0
- package/packages/server/dist/services/cliChatEngine.d.ts.map +1 -0
- package/packages/server/dist/services/cliChatEngine.js +2977 -0
- package/packages/server/dist/services/cliChatEngine.js.map +1 -0
- package/packages/server/dist/services/cliGridCards.d.ts +87 -0
- package/packages/server/dist/services/cliGridCards.d.ts.map +1 -0
- package/packages/server/dist/services/cliGridCards.js +298 -0
- package/packages/server/dist/services/cliGridCards.js.map +1 -0
- package/packages/server/dist/services/cliGridRegion.d.ts +44 -0
- package/packages/server/dist/services/cliGridRegion.d.ts.map +1 -0
- package/packages/server/dist/services/cliGridRegion.js +94 -0
- package/packages/server/dist/services/cliGridRegion.js.map +1 -0
- package/packages/server/dist/services/cliModalDetect.d.ts +299 -0
- package/packages/server/dist/services/cliModalDetect.d.ts.map +1 -0
- package/packages/server/dist/services/cliModalDetect.js +583 -0
- package/packages/server/dist/services/cliModalDetect.js.map +1 -0
- package/packages/server/dist/services/cliScreenCache.d.ts +33 -0
- package/packages/server/dist/services/cliScreenCache.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenCache.js +48 -0
- package/packages/server/dist/services/cliScreenCache.js.map +1 -0
- package/packages/server/dist/services/cliScreenModel.d.ts +141 -0
- package/packages/server/dist/services/cliScreenModel.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenModel.js +196 -0
- package/packages/server/dist/services/cliScreenModel.js.map +1 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.d.ts +41 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.d.ts.map +1 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.js +45 -0
- package/packages/server/dist/services/cliScreenStallWatchdog.js.map +1 -0
- package/packages/server/dist/services/cliSessionPool.d.ts +97 -0
- package/packages/server/dist/services/cliSessionPool.d.ts.map +1 -0
- package/packages/server/dist/services/cliSessionPool.js +278 -0
- package/packages/server/dist/services/cliSessionPool.js.map +1 -0
- package/packages/server/dist/services/cliSpinnerProgress.d.ts +41 -0
- package/packages/server/dist/services/cliSpinnerProgress.d.ts.map +1 -0
- package/packages/server/dist/services/cliSpinnerProgress.js +131 -0
- package/packages/server/dist/services/cliSpinnerProgress.js.map +1 -0
- package/packages/server/dist/services/fileRewind.d.ts +46 -0
- package/packages/server/dist/services/fileRewind.d.ts.map +1 -0
- package/packages/server/dist/services/fileRewind.js +77 -0
- package/packages/server/dist/services/fileRewind.js.map +1 -0
- package/packages/server/dist/services/historyParser.d.ts +11 -0
- package/packages/server/dist/services/historyParser.d.ts.map +1 -1
- package/packages/server/dist/services/historyParser.js +10 -8
- package/packages/server/dist/services/historyParser.js.map +1 -1
- package/packages/server/dist/services/imageStorageService.d.ts +12 -0
- package/packages/server/dist/services/imageStorageService.d.ts.map +1 -1
- package/packages/server/dist/services/imageStorageService.js +22 -0
- package/packages/server/dist/services/imageStorageService.js.map +1 -1
- package/packages/server/dist/services/projectService.d.ts +13 -1
- package/packages/server/dist/services/projectService.d.ts.map +1 -1
- package/packages/server/dist/services/projectService.js +32 -0
- package/packages/server/dist/services/projectService.js.map +1 -1
- package/packages/server/dist/services/queueService.d.ts +1 -0
- package/packages/server/dist/services/queueService.d.ts.map +1 -1
- package/packages/server/dist/services/queueService.js +13 -3
- package/packages/server/dist/services/queueService.js.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.d.ts +15 -0
- package/packages/server/dist/services/rateLimitProbeService.d.ts.map +1 -1
- package/packages/server/dist/services/rateLimitProbeService.js +48 -19
- package/packages/server/dist/services/rateLimitProbeService.js.map +1 -1
- package/packages/server/dist/services/streamHandler.d.ts +8 -1
- package/packages/server/dist/services/streamHandler.d.ts.map +1 -1
- package/packages/server/dist/services/streamHandler.js +12 -5
- package/packages/server/dist/services/streamHandler.js.map +1 -1
- package/packages/server/dist/services/systemBrowseService.d.ts +91 -0
- package/packages/server/dist/services/systemBrowseService.d.ts.map +1 -0
- package/packages/server/dist/services/systemBrowseService.js +372 -0
- package/packages/server/dist/services/systemBrowseService.js.map +1 -0
- package/packages/server/dist/services/workspaceContext.d.ts +24 -0
- package/packages/server/dist/services/workspaceContext.d.ts.map +1 -0
- package/packages/server/dist/services/workspaceContext.js +109 -0
- package/packages/server/dist/services/workspaceContext.js.map +1 -0
- package/packages/server/dist/snippets/qa-review +2 -0
- package/packages/server/dist/utils/backgroundBlock.d.ts +29 -0
- package/packages/server/dist/utils/backgroundBlock.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundBlock.js +33 -0
- package/packages/server/dist/utils/backgroundBlock.js.map +1 -0
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts +20 -0
- package/packages/server/dist/utils/backgroundTaskTracker.d.ts.map +1 -0
- package/packages/server/dist/utils/backgroundTaskTracker.js +40 -0
- package/packages/server/dist/utils/backgroundTaskTracker.js.map +1 -0
- package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts +7 -0
- package/packages/server/dist/utils/bundledBinaryModelSupport.d.ts.map +1 -1
- package/packages/server/dist/utils/bundledBinaryModelSupport.js +9 -4
- package/packages/server/dist/utils/bundledBinaryModelSupport.js.map +1 -1
- package/packages/server/dist/utils/cliDebugLog.d.ts +40 -0
- package/packages/server/dist/utils/cliDebugLog.d.ts.map +1 -0
- package/packages/server/dist/utils/cliDebugLog.js +71 -0
- package/packages/server/dist/utils/cliDebugLog.js.map +1 -0
- package/packages/server/dist/utils/cliEngineUtils.d.ts +35 -0
- package/packages/server/dist/utils/cliEngineUtils.d.ts.map +1 -0
- package/packages/server/dist/utils/cliEngineUtils.js +38 -0
- package/packages/server/dist/utils/cliEngineUtils.js.map +1 -0
- package/packages/server/dist/utils/effortUtils.d.ts.map +1 -1
- package/packages/server/dist/utils/effortUtils.js +5 -3
- package/packages/server/dist/utils/effortUtils.js.map +1 -1
- package/packages/server/dist/utils/trailingThrottle.d.ts +21 -0
- package/packages/server/dist/utils/trailingThrottle.d.ts.map +1 -0
- package/packages/server/dist/utils/trailingThrottle.js +36 -0
- package/packages/server/dist/utils/trailingThrottle.js.map +1 -0
- package/packages/server/package.json +61 -59
- package/packages/server/resources/internals/image-storage.md +9 -0
- package/packages/server/resources/manual/02-chat.md +22 -3
- package/packages/server/resources/manual/03-sessions.md +1 -0
- package/packages/server/resources/manual/05-projects.md +12 -1
- package/packages/server/resources/manual/11-bmad-method-integration.md +2 -0
- package/packages/server/resources/manual/13-settings.md +56 -12
- package/packages/shared/dist/index.d.ts +3 -0
- package/packages/shared/dist/index.d.ts.map +1 -1
- package/packages/shared/dist/index.js +6 -0
- package/packages/shared/dist/index.js.map +1 -1
- package/packages/shared/dist/types/bmadStatus.d.ts +16 -0
- package/packages/shared/dist/types/bmadStatus.d.ts.map +1 -1
- package/packages/shared/dist/types/bmadStatus.js.map +1 -1
- package/packages/shared/dist/types/preferences.d.ts +14 -2
- package/packages/shared/dist/types/preferences.d.ts.map +1 -1
- package/packages/shared/dist/types/preferences.js +1 -0
- package/packages/shared/dist/types/preferences.js.map +1 -1
- package/packages/shared/dist/types/project.d.ts +7 -1
- package/packages/shared/dist/types/project.d.ts.map +1 -1
- package/packages/shared/dist/types/project.js.map +1 -1
- package/packages/shared/dist/types/sdk.d.ts +123 -11
- package/packages/shared/dist/types/sdk.d.ts.map +1 -1
- package/packages/shared/dist/types/sdk.js +64 -19
- package/packages/shared/dist/types/sdk.js.map +1 -1
- package/packages/shared/dist/types/streaming.d.ts +2 -2
- package/packages/shared/dist/types/streaming.d.ts.map +1 -1
- package/packages/shared/dist/types/streaming.js.map +1 -1
- package/packages/shared/dist/types/systemBrowse.d.ts +120 -0
- package/packages/shared/dist/types/systemBrowse.d.ts.map +1 -0
- package/packages/shared/dist/types/systemBrowse.js +57 -0
- package/packages/shared/dist/types/systemBrowse.js.map +1 -0
- package/packages/shared/dist/types/websocket.d.ts +39 -0
- package/packages/shared/dist/types/websocket.d.ts.map +1 -1
- package/packages/shared/dist/utils/interruptFiller.d.ts +30 -0
- package/packages/shared/dist/utils/interruptFiller.d.ts.map +1 -0
- package/packages/shared/dist/utils/interruptFiller.js +38 -0
- package/packages/shared/dist/utils/interruptFiller.js.map +1 -0
- package/packages/shared/dist/utils/toolResultContent.d.ts +22 -0
- package/packages/shared/dist/utils/toolResultContent.d.ts.map +1 -0
- package/packages/shared/dist/utils/toolResultContent.js +29 -0
- package/packages/shared/dist/utils/toolResultContent.js.map +1 -0
- package/scripts/run-integration-test.mjs +362 -362
- package/packages/client/dist/assets/index-DyNJ5jEW.css +0 -32
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliChatEngine.js","sourceRoot":"","sources":["../../src/services/cliChatEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI grid card parser (Epic 37 — Story 37.9)
|
|
3
|
+
*
|
|
4
|
+
* A pure classifier that turns the *settled screen grid* rows (Story 37.1 `readGrid()`)
|
|
5
|
+
* into an ordered list of assistant **cards** — the body/tool/result/thinking blocks the
|
|
6
|
+
* interactive `claude` TUI paints into the scrollback. This is the SINGLE SOURCE for
|
|
7
|
+
* "what cards are on screen", deliberately split out of the modal-only `cliModalDetect`
|
|
8
|
+
* (a card is a more general concept than a permission/question modal) so that:
|
|
9
|
+
* - Story 37.9 emits the assistant prose ABOVE an input-waiting modal as a provisional
|
|
10
|
+
* card (the `●` text card), fixing the "choices appear before the answer body" inversion;
|
|
11
|
+
* - Story 37.10 reuses the SAME parser to stream thinking (`Thought for Ns`) and tool
|
|
12
|
+
* (`● Tool(…)` / `⎿ result`) cards live, without re-deriving the boundary rules.
|
|
13
|
+
*
|
|
14
|
+
* Grounded in REAL captured frames (HAMMOC_CLI_PTY_DUMP, claude v2.1.162), each rendered
|
|
15
|
+
* exactly as the grid leaves them:
|
|
16
|
+
* - `● 💻 James — …` → an assistant body (text) card
|
|
17
|
+
* - `● PowerShell("…")` → a tool-use card (● + ToolName + `(`)
|
|
18
|
+
* - ` ⎿ Process : [1]` → a tool result card (indented `⎿`)
|
|
19
|
+
* - ` Thought for 16s (ctrl+o to expand)` → a thinking-summary card
|
|
20
|
+
* The trailing `(ctrl+o to expand)` / `(ctrl+r to expand)` collapse marker is stripped so
|
|
21
|
+
* the card text is clean (Story 37.9 AC1 spawns claude expanded so these largely disappear,
|
|
22
|
+
* but the parser stays robust whether or not a card is collapsed).
|
|
23
|
+
*
|
|
24
|
+
* Pure by construction (rows in, cards out — no node-pty / no engine state), so the
|
|
25
|
+
* screen-less unit tests drive it with hand-built grid rows — the pattern Stories
|
|
26
|
+
* 37.2/37.3 (`readSpinnerProgress`) and 37.4 (modal parsers) established.
|
|
27
|
+
*
|
|
28
|
+
* The CALLER bounds the region it passes: a card glyph (`●`/`⎿`/`Thought for`) opens a new
|
|
29
|
+
* card and any following non-glyph row is its continuation, so passing the live footer
|
|
30
|
+
* (input box / spinner / mode row) would fold those into the last card. Callers therefore
|
|
31
|
+
* pass the SCROLLBACK BODY (the rows ABOVE the live footer / above a detected modal), the
|
|
32
|
+
* same "anchor to the region, not the whole screen" discipline `cliGridRegion` encodes.
|
|
33
|
+
*
|
|
34
|
+
* Version-fragile like the rest of the CLI screen readers (a TUI revision could change the
|
|
35
|
+
* glyphs or the collapse wording); the grid removes the *fusion* failure mode, not wording
|
|
36
|
+
* fragility.
|
|
37
|
+
*
|
|
38
|
+
* @see docs/stories/37.9.story.md
|
|
39
|
+
* [Source: docs/prd/epic-37-cli-terminal-emulation.md#story-379]
|
|
40
|
+
*/
|
|
41
|
+
import type { CliBulletColor } from './cliScreenModel.js';
|
|
42
|
+
/** The card kinds the parser distinguishes. 37.10 maps each onto a stream callback
|
|
43
|
+
* (text → onTextChunk, tool → onToolUse, result → onToolResult, thinking → onThinking). */
|
|
44
|
+
export type GridCardKind = 'text' | 'tool' | 'result' | 'thinking';
|
|
45
|
+
export interface GridCard {
|
|
46
|
+
kind: GridCardKind;
|
|
47
|
+
/** The card body, glyph stripped, continuation rows space-joined, collapse marker removed. */
|
|
48
|
+
text: string;
|
|
49
|
+
/** For a `tool` card: the tool name parsed from `● Tool(…)` (e.g. "Write", "PowerShell"). */
|
|
50
|
+
toolName?: string;
|
|
51
|
+
/**
|
|
52
|
+
* For a card opened on a `●` row: the bullet's foreground-color CLASS (Story 37.10), supplied
|
|
53
|
+
* by the optional `bulletColors` arg. For a `tool` card this is the STATUS signal — 'green' =
|
|
54
|
+
* complete, anything else (gray/other) = still running — far more robust than the `⎿ Waiting…`
|
|
55
|
+
* placeholder text. Undefined when colors weren't passed (pure-row unit tests) or for `result`/
|
|
56
|
+
* `thinking` cards (no `●` bullet).
|
|
57
|
+
*/
|
|
58
|
+
bulletColor?: CliBulletColor;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Classify the (region-bounded) grid rows into an ordered list of assistant cards.
|
|
62
|
+
*
|
|
63
|
+
* A glyph row opens a new card; a following non-glyph, non-blank row is its continuation
|
|
64
|
+
* (space-joined). Blank rows are spacers (claude pads between cards) and neither open nor
|
|
65
|
+
* close a card. Empty cards are dropped, so a lone glyph row with no body yields nothing.
|
|
66
|
+
* Pure — no I/O, no engine state.
|
|
67
|
+
*
|
|
68
|
+
* `bulletColors` (optional, index-aligned with `rows` — from `CliScreenModel.readBulletColors()`)
|
|
69
|
+
* tags each `●`-opened card with its bullet color CLASS (Story 37.10 tool status). When omitted
|
|
70
|
+
* the cards carry no `bulletColor` (pure unit tests / colorless callers).
|
|
71
|
+
*/
|
|
72
|
+
export declare function parseGridCards(rows: string[], bulletColors?: CliBulletColor[]): GridCard[];
|
|
73
|
+
/**
|
|
74
|
+
* The tool-header match keys present in `rows`. With `includeBulletless: false` (default) it counts ONLY
|
|
75
|
+
* rows that actually carry the `●` glyph this frame — the confident set to REMEMBER. With `true` it also
|
|
76
|
+
* counts bullet-less rows whose shape matches — used to scope retention to lines still on screen, so a
|
|
77
|
+
* tool that scrolled off drops out of memory and can't later re-promote unrelated prose.
|
|
78
|
+
*/
|
|
79
|
+
export declare function collectToolHeaderKeys(rows: string[], includeBulletless?: boolean): Set<string>;
|
|
80
|
+
/**
|
|
81
|
+
* Restore the `●` on any bullet-less row whose body was a tool header in a recent frame (`recentKeys`,
|
|
82
|
+
* supplied by the caller and scoped to on-screen lines). Returns a NEW rows array — the parser stays pure.
|
|
83
|
+
* No-op when `recentKeys` is empty. Restoring the glyph makes `parseGridCards` open the row as its own
|
|
84
|
+
* tool card again instead of folding it into the prose above (the fusion the user reported).
|
|
85
|
+
*/
|
|
86
|
+
export declare function restoreFlickeredToolBullets(rows: string[], recentKeys: ReadonlySet<string>): string[];
|
|
87
|
+
//# sourceMappingURL=cliGridCards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliGridCards.d.ts","sourceRoot":"","sources":["../../src/services/cliGridCards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;4FAC4F;AAC5F,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAC;IACb,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B;AAoED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,CA+G1F;AAyBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,iBAAiB,UAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAW5F;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAYrG"}
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI grid card parser (Epic 37 — Story 37.9)
|
|
3
|
+
*
|
|
4
|
+
* A pure classifier that turns the *settled screen grid* rows (Story 37.1 `readGrid()`)
|
|
5
|
+
* into an ordered list of assistant **cards** — the body/tool/result/thinking blocks the
|
|
6
|
+
* interactive `claude` TUI paints into the scrollback. This is the SINGLE SOURCE for
|
|
7
|
+
* "what cards are on screen", deliberately split out of the modal-only `cliModalDetect`
|
|
8
|
+
* (a card is a more general concept than a permission/question modal) so that:
|
|
9
|
+
* - Story 37.9 emits the assistant prose ABOVE an input-waiting modal as a provisional
|
|
10
|
+
* card (the `●` text card), fixing the "choices appear before the answer body" inversion;
|
|
11
|
+
* - Story 37.10 reuses the SAME parser to stream thinking (`Thought for Ns`) and tool
|
|
12
|
+
* (`● Tool(…)` / `⎿ result`) cards live, without re-deriving the boundary rules.
|
|
13
|
+
*
|
|
14
|
+
* Grounded in REAL captured frames (HAMMOC_CLI_PTY_DUMP, claude v2.1.162), each rendered
|
|
15
|
+
* exactly as the grid leaves them:
|
|
16
|
+
* - `● 💻 James — …` → an assistant body (text) card
|
|
17
|
+
* - `● PowerShell("…")` → a tool-use card (● + ToolName + `(`)
|
|
18
|
+
* - ` ⎿ Process : [1]` → a tool result card (indented `⎿`)
|
|
19
|
+
* - ` Thought for 16s (ctrl+o to expand)` → a thinking-summary card
|
|
20
|
+
* The trailing `(ctrl+o to expand)` / `(ctrl+r to expand)` collapse marker is stripped so
|
|
21
|
+
* the card text is clean (Story 37.9 AC1 spawns claude expanded so these largely disappear,
|
|
22
|
+
* but the parser stays robust whether or not a card is collapsed).
|
|
23
|
+
*
|
|
24
|
+
* Pure by construction (rows in, cards out — no node-pty / no engine state), so the
|
|
25
|
+
* screen-less unit tests drive it with hand-built grid rows — the pattern Stories
|
|
26
|
+
* 37.2/37.3 (`readSpinnerProgress`) and 37.4 (modal parsers) established.
|
|
27
|
+
*
|
|
28
|
+
* The CALLER bounds the region it passes: a card glyph (`●`/`⎿`/`Thought for`) opens a new
|
|
29
|
+
* card and any following non-glyph row is its continuation, so passing the live footer
|
|
30
|
+
* (input box / spinner / mode row) would fold those into the last card. Callers therefore
|
|
31
|
+
* pass the SCROLLBACK BODY (the rows ABOVE the live footer / above a detected modal), the
|
|
32
|
+
* same "anchor to the region, not the whole screen" discipline `cliGridRegion` encodes.
|
|
33
|
+
*
|
|
34
|
+
* Version-fragile like the rest of the CLI screen readers (a TUI revision could change the
|
|
35
|
+
* glyphs or the collapse wording); the grid removes the *fusion* failure mode, not wording
|
|
36
|
+
* fragility.
|
|
37
|
+
*
|
|
38
|
+
* @see docs/stories/37.9.story.md
|
|
39
|
+
* [Source: docs/prd/epic-37-cli-terminal-emulation.md#story-379]
|
|
40
|
+
*/
|
|
41
|
+
/** The assistant card bullet (U+25CF) — opens a body (text) OR a tool-use card. */
|
|
42
|
+
const CARD_BULLET = '●';
|
|
43
|
+
/** The tool-result bullet (U+23BF) — opens a result card (claude indents it under its tool). */
|
|
44
|
+
const RESULT_BULLET = '⎿';
|
|
45
|
+
/** The thinking-summary header claude paints once a thinking block lands ("Thought for 16s"). */
|
|
46
|
+
const THOUGHT_RE = /^Thought for\b/i;
|
|
47
|
+
/**
|
|
48
|
+
* The verbose/expanded thinking-detail glyph (U+2234 THEREFORE). In verbose mode claude paints the
|
|
49
|
+
* EXPANDED reasoning as a `∴ <reasoning>` block in the body (실측 2026-06-16). It STREAMS — the block
|
|
50
|
+
* grows frame by frame — so `emitProvisionalCards` must emit only the growing DELTA, not the full text
|
|
51
|
+
* each frame (a full re-emit duplicated the card ~48× live). See the delta-streaming path there.
|
|
52
|
+
*/
|
|
53
|
+
const THINKING_DETAIL_GLYPH = '∴';
|
|
54
|
+
/**
|
|
55
|
+
* The live generation spinner / status line's LEADING glyph ("<glyph> Precipitating… (18s …)"). claude's
|
|
56
|
+
* spinner is a 6-frame pulse — a star that grows from a dot — and its glyph is the ONLY reliable signal
|
|
57
|
+
* (the gerund word and the elapsed-time are version-fragile). The EXACT set was enumerated from real PTY
|
|
58
|
+
* captures (NOT guessed): `·`U+00B7 `*`U+002A `✢`U+2722 `✶`U+2736 `✻`U+273B `✽`U+273D. A paragraph whose
|
|
59
|
+
* HEADER is one of these IS the spinner — the parser drops that block, so its ticking counter never folds
|
|
60
|
+
* into the card above and re-emits each frame. None collide with a content header (`●`U+25CF `∴`U+2234
|
|
61
|
+
* `⎿`U+23BF) or the input prompt (`❯`U+276F). Matched ONLY at a paragraph header (`atBlockStart`), so one
|
|
62
|
+
* of these glyphs QUOTED inside prose (a continuation row) stays folded into its real card. If a future
|
|
63
|
+
* claude revision changes the animation, re-enumerate from a capture — do not guess. */
|
|
64
|
+
const SPINNER_HEADER_RE = /^[·*✢✶✻✽]/;
|
|
65
|
+
/**
|
|
66
|
+
* The interactive input-prompt glyph (U+276F ❯) opening claude's input BOX — the line echoes the
|
|
67
|
+
* USER's typed message, never assistant content. The upstream footer-strip (`scrollbackBodyRows`)
|
|
68
|
+
* normally removes the box, but an INTERRUPT layout paints it ABOVE the regenerating spinner with a
|
|
69
|
+
* content row between, breaking the footer cluster so the `❯ …` line survives into the body. Guarding
|
|
70
|
+
* it here (flush + drop, like the spinner) stops the bare line from folding into the card above and
|
|
71
|
+
* gluing the user's typed message onto an assistant card (실측 2026-06-19 dump replay).
|
|
72
|
+
*/
|
|
73
|
+
const INPUT_PROMPT_RE = /^❯/;
|
|
74
|
+
/** CLI chrome lines painted with a white `●` bullet that are NOT assistant prose — e.g.
|
|
75
|
+
* `● User answered Claude's questions:` (the AskUserQuestion response echo). Dropped so
|
|
76
|
+
* they don't spawn a spurious text card. */
|
|
77
|
+
const UI_CHROME_BODY_RE = /^User answered/;
|
|
78
|
+
/** A tool-use header body: a tool name immediately followed by `(` — "Write(", "PowerShell(", and
|
|
79
|
+
* HYPHENATED sub-agent names like "claude-code-guide(" (실측: the bullet is a tool, but the strict
|
|
80
|
+
* identifier set dropped the `-`). Used as the tool-NAME extractor + the no-color FALLBACK classifier. */
|
|
81
|
+
const TOOL_HEADER_RE = /^([A-Za-z][A-Za-z0-9_-]*)\(/;
|
|
82
|
+
/** A tool whose input hasn't painted yet: the `●` body is JUST the tool name, no `(` (실측: claude paints
|
|
83
|
+
* `● Read` for a beat before `● Read(path)`). A single CapitalizedWord or an `mcp__…` name with no spaces
|
|
84
|
+
* — never a prose card (claude heads prose with a sentence, which has spaces / lowercase / punctuation).
|
|
85
|
+
* Parsing it as a tool (not a `text:Read` card) lets it GROW into `Read(path)` instead of leaving a
|
|
86
|
+
* spurious text card that re-emits each time another `● Read` tool starts. */
|
|
87
|
+
const BARE_TOOL_RE = /^(?:[A-Z][A-Za-z0-9_]*|mcp__[\w-]+)$/;
|
|
88
|
+
/** The collapse affordance claude appends to a truncated card ("(ctrl+o to expand)" / "(ctrl+r …)",
|
|
89
|
+
* optionally after a "… +N lines" tail) — stripped so the card text is clean. */
|
|
90
|
+
const EXPAND_MARKER_RE = /\s*(?:…\s*)?(?:\+\d+\s+lines?\s*)?\(ctrl\+[a-z] to expand\)\s*$/i;
|
|
91
|
+
/**
|
|
92
|
+
* Max left indentation (columns) at which a header glyph (`●`/`⎿`/`∴`/`Thought for`) opens a CARD.
|
|
93
|
+
* 실측 (HAMMOC_CLI_PTY_DUMP replay): a real card header sits at the left margin — `●` col 0, `⎿` col 2,
|
|
94
|
+
* `∴` col 0. A glyph DEEPER than this is inside a tool's INDENTED verbose output (a bash line that prints
|
|
95
|
+
* a `●`/`⎿`, a Write file preview — measured at col 5–7), so it must NOT open a card. Gating the header
|
|
96
|
+
* globs on this stops that output from being misread as a tool/result/thinking card. (Story 37.17)
|
|
97
|
+
*/
|
|
98
|
+
const MAX_CARD_INDENT = 3;
|
|
99
|
+
/** Strip the trailing collapse affordance, any trailing box-drawing rule (the input-box top border
|
|
100
|
+
* `────` can overlap a streaming card's last row mid-repaint, polluting the card text and breaking
|
|
101
|
+
* its monotonic growth — 실측 2026-06-16), and surrounding whitespace from a card row. */
|
|
102
|
+
function clean(s) {
|
|
103
|
+
return s.replace(EXPAND_MARKER_RE, '').replace(/[─╭╮╰╯│]+\s*$/, '').trim();
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Classify the (region-bounded) grid rows into an ordered list of assistant cards.
|
|
107
|
+
*
|
|
108
|
+
* A glyph row opens a new card; a following non-glyph, non-blank row is its continuation
|
|
109
|
+
* (space-joined). Blank rows are spacers (claude pads between cards) and neither open nor
|
|
110
|
+
* close a card. Empty cards are dropped, so a lone glyph row with no body yields nothing.
|
|
111
|
+
* Pure — no I/O, no engine state.
|
|
112
|
+
*
|
|
113
|
+
* `bulletColors` (optional, index-aligned with `rows` — from `CliScreenModel.readBulletColors()`)
|
|
114
|
+
* tags each `●`-opened card with its bullet color CLASS (Story 37.10 tool status). When omitted
|
|
115
|
+
* the cards carry no `bulletColor` (pure unit tests / colorless callers).
|
|
116
|
+
*/
|
|
117
|
+
export function parseGridCards(rows, bulletColors) {
|
|
118
|
+
const cards = [];
|
|
119
|
+
let current = null;
|
|
120
|
+
// Story 37.11 (spinner-block drop): claude's blocks are blank-line-separated paragraphs, each opened
|
|
121
|
+
// by a HEADER glyph on its first row (● / ∴ / ⎿ / "Thought for" for content, a star dingbat for the
|
|
122
|
+
// live spinner). `atBlockStart` is true at the start and after every blank spacer, so it marks a row
|
|
123
|
+
// as a paragraph HEADER vs a wrapped continuation — letting us drop a SPINNER-headed block while
|
|
124
|
+
// keeping a spinner glyph that merely appears INSIDE prose (a continuation row). `droppingSpinner`
|
|
125
|
+
// swallows the spinner paragraph's own wrapped rows until the next blank/header.
|
|
126
|
+
let atBlockStart = true;
|
|
127
|
+
let droppingSpinner = false;
|
|
128
|
+
// Preserve paragraph breaks. A blank row INSIDE an open card is claude's paragraph separator (markdown
|
|
129
|
+
// \n\n, rendered as a blank terminal line). Mark it so the next continuation row joins with "\n\n"
|
|
130
|
+
// instead of a space — otherwise multi-paragraph prose collapses into one run. (Wrapped lines — no
|
|
131
|
+
// blank between them — still space-join: the screen can't tell a soft wrap from a hard newline.)
|
|
132
|
+
let pendingBreak = false;
|
|
133
|
+
const flush = () => {
|
|
134
|
+
if (current) {
|
|
135
|
+
current.text = current.text.trim();
|
|
136
|
+
if (current.text.length > 0)
|
|
137
|
+
cards.push(current);
|
|
138
|
+
}
|
|
139
|
+
current = null;
|
|
140
|
+
pendingBreak = false;
|
|
141
|
+
};
|
|
142
|
+
for (let i = 0; i < rows.length; i++) {
|
|
143
|
+
const raw = rows[i];
|
|
144
|
+
const trimmed = raw.trim();
|
|
145
|
+
// Header glyphs open cards ONLY at their fixed left margin (실측: ● col 0, ⎿ col 2, ∴ col 0,
|
|
146
|
+
// `Thought for` col 2). The SAME glyph at a different indent is tool verbose output or a footer
|
|
147
|
+
// widget — it falls through to the continuation branch instead of spawning a spurious card.
|
|
148
|
+
const indent = raw.length - raw.trimStart().length;
|
|
149
|
+
if (trimmed.length === 0) {
|
|
150
|
+
if (current)
|
|
151
|
+
pendingBreak = true; // blank row inside an open card = a paragraph break (\n\n)
|
|
152
|
+
atBlockStart = true; // a blank spacer opens a new paragraph and ends a spinner block's span
|
|
153
|
+
droppingSpinner = false;
|
|
154
|
+
continue;
|
|
155
|
+
}
|
|
156
|
+
// Input-prompt row (`❯ …`): claude's input BOX echoing the USER's typed message — never an assistant
|
|
157
|
+
// card. Guarded REGARDLESS of `atBlockStart`: an interrupt layout paints it right after a
|
|
158
|
+
// `⎿ Interrupted` content row (so it is NOT at a block start), and the bare `❯` line would otherwise
|
|
159
|
+
// fall to the continuation branch and fold into the card above, gluing the user's message onto it.
|
|
160
|
+
// Treat it like the spinner — flush the open card and swallow it (+ any wrapped rows of the message).
|
|
161
|
+
if (indent === 0 && INPUT_PROMPT_RE.test(trimmed)) {
|
|
162
|
+
flush();
|
|
163
|
+
droppingSpinner = true;
|
|
164
|
+
atBlockStart = false;
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
// A SPINNER-headed row is claude's generation indicator or a frozen prior-turn status line — never
|
|
168
|
+
// content. Drop it and any wrapped continuation rows. The col-0 gate prevents a prose line that
|
|
169
|
+
// merely contains a spinner glyph (indented) from being dropped; `atBlockStart` is NOT required
|
|
170
|
+
// because a frozen spinner (`✻ Churned for 20s`) can appear flush after content with no blank
|
|
171
|
+
// separator, and must still be dropped rather than folded into the card above.
|
|
172
|
+
if ((atBlockStart || !current) && indent <= MAX_CARD_INDENT && SPINNER_HEADER_RE.test(trimmed)) {
|
|
173
|
+
flush();
|
|
174
|
+
droppingSpinner = true;
|
|
175
|
+
atBlockStart = false;
|
|
176
|
+
continue;
|
|
177
|
+
}
|
|
178
|
+
if (droppingSpinner) {
|
|
179
|
+
atBlockStart = false; // still inside the spinner paragraph — swallow its wrapped rows
|
|
180
|
+
continue;
|
|
181
|
+
}
|
|
182
|
+
if (indent === 0 && trimmed.startsWith(CARD_BULLET)) {
|
|
183
|
+
flush();
|
|
184
|
+
const body = clean(trimmed.slice(CARD_BULLET.length).trim());
|
|
185
|
+
const bulletColor = bulletColors?.[i];
|
|
186
|
+
const isTool = bulletColor === 'green' || bulletColor === 'gray'
|
|
187
|
+
? true
|
|
188
|
+
: bulletColor === 'white'
|
|
189
|
+
? false
|
|
190
|
+
: TOOL_HEADER_RE.test(body) || BARE_TOOL_RE.test(body);
|
|
191
|
+
if (isTool) {
|
|
192
|
+
const toolMatch = body.match(TOOL_HEADER_RE);
|
|
193
|
+
const parenIdx = body.indexOf('(');
|
|
194
|
+
const toolName = (toolMatch ? toolMatch[1] : parenIdx > 0 ? body.slice(0, parenIdx) : body).trim() || 'Tool';
|
|
195
|
+
current = { kind: 'tool', text: body, toolName, ...(bulletColor ? { bulletColor } : {}) };
|
|
196
|
+
}
|
|
197
|
+
else if (UI_CHROME_BODY_RE.test(body)) {
|
|
198
|
+
droppingSpinner = true;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
current = { kind: 'text', text: body, ...(bulletColor ? { bulletColor } : {}) };
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
else if (indent === 2 && trimmed.startsWith(RESULT_BULLET)) {
|
|
205
|
+
flush();
|
|
206
|
+
current = { kind: 'result', text: clean(trimmed.slice(RESULT_BULLET.length).trim()) };
|
|
207
|
+
}
|
|
208
|
+
else if (indent === 2 && THOUGHT_RE.test(trimmed)) {
|
|
209
|
+
flush();
|
|
210
|
+
current = { kind: 'thinking', text: clean(trimmed) };
|
|
211
|
+
}
|
|
212
|
+
else if (indent === 0 && trimmed.startsWith(THINKING_DETAIL_GLYPH)) {
|
|
213
|
+
flush();
|
|
214
|
+
current = { kind: 'thinking', text: clean(trimmed.slice(THINKING_DETAIL_GLYPH.length).trim()) };
|
|
215
|
+
}
|
|
216
|
+
else if (current) {
|
|
217
|
+
// Continuation of the open card (wrapped prose / multi-line tool output). A pending paragraph
|
|
218
|
+
// break (a blank row preceded this row) joins with "\n\n"; a plain wrapped line joins with a space.
|
|
219
|
+
const extra = clean(trimmed);
|
|
220
|
+
if (extra) {
|
|
221
|
+
current.text += (current.text ? (pendingBreak ? '\n\n' : ' ') : '') + extra;
|
|
222
|
+
pendingBreak = false;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// else: a loose non-glyph row before any card opens — not a card, ignored.
|
|
226
|
+
atBlockStart = false;
|
|
227
|
+
}
|
|
228
|
+
flush();
|
|
229
|
+
return cards;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Story 37.12 (flickered-bullet stickiness — the user's "detect across frames, not one frame" insight):
|
|
233
|
+
* `parseGridCards` classifies a row as a TOOL only by its leading `●` glyph, but that glyph FLICKERS while
|
|
234
|
+
* the tool runs — claude repaints the bullet, and the 60ms poll can land on the half-frame where it's
|
|
235
|
+
* momentarily erased. A frame caught with the glyph gone reads the tool row as prose and FUSES it into the
|
|
236
|
+
* block above (실측: the `Search(…)` header glued onto the answer body). These two helpers give the caller a
|
|
237
|
+
* tiny CROSS-FRAME memory: {@link collectToolHeaderKeys} records the tool-header lines it actually saw, and
|
|
238
|
+
* {@link restoreFlickeredToolBullets} re-adds the `●` on a later frame's bullet-less line whose body was
|
|
239
|
+
* recently a tool header. Content-gated on BOTH the tool-header SHAPE and recent observation, so prose that
|
|
240
|
+
* merely contains `foo(x)` is never promoted.
|
|
241
|
+
*/
|
|
242
|
+
/** The TOOL NAME from a row that stands alone as a tool header (`Tool(…)` or a bare `Tool`/`mcp__…`),
|
|
243
|
+
* any leading `●` stripped first. Null for prose / results / blanks. Keyed on NAME ONLY (not the full
|
|
244
|
+
* body) so a running tool whose argument text is truncated differently across repaints still matches. */
|
|
245
|
+
function toolHeaderKey(row) {
|
|
246
|
+
const body = clean(row.trim().replace(/^●\s*/, ''));
|
|
247
|
+
if (!body)
|
|
248
|
+
return null;
|
|
249
|
+
const m = body.match(TOOL_HEADER_RE);
|
|
250
|
+
if (m)
|
|
251
|
+
return m[1]; // just the name: "Search", "Read", "PowerShell", etc.
|
|
252
|
+
return BARE_TOOL_RE.test(body) ? body : null; // bare name already IS the key
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* The tool-header match keys present in `rows`. With `includeBulletless: false` (default) it counts ONLY
|
|
256
|
+
* rows that actually carry the `●` glyph this frame — the confident set to REMEMBER. With `true` it also
|
|
257
|
+
* counts bullet-less rows whose shape matches — used to scope retention to lines still on screen, so a
|
|
258
|
+
* tool that scrolled off drops out of memory and can't later re-promote unrelated prose.
|
|
259
|
+
*/
|
|
260
|
+
export function collectToolHeaderKeys(rows, includeBulletless = false) {
|
|
261
|
+
const out = new Set();
|
|
262
|
+
for (const row of rows) {
|
|
263
|
+
const t = row.trim();
|
|
264
|
+
if (t.length === 0)
|
|
265
|
+
continue;
|
|
266
|
+
if (row.length - row.trimStart().length > MAX_CARD_INDENT)
|
|
267
|
+
continue; // deep = tool output, not a header
|
|
268
|
+
if (!t.startsWith(CARD_BULLET) && !includeBulletless)
|
|
269
|
+
continue;
|
|
270
|
+
const key = toolHeaderKey(t);
|
|
271
|
+
if (key)
|
|
272
|
+
out.add(key);
|
|
273
|
+
}
|
|
274
|
+
return out;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Restore the `●` on any bullet-less row whose body was a tool header in a recent frame (`recentKeys`,
|
|
278
|
+
* supplied by the caller and scoped to on-screen lines). Returns a NEW rows array — the parser stays pure.
|
|
279
|
+
* No-op when `recentKeys` is empty. Restoring the glyph makes `parseGridCards` open the row as its own
|
|
280
|
+
* tool card again instead of folding it into the prose above (the fusion the user reported).
|
|
281
|
+
*/
|
|
282
|
+
export function restoreFlickeredToolBullets(rows, recentKeys) {
|
|
283
|
+
if (recentKeys.size === 0)
|
|
284
|
+
return rows;
|
|
285
|
+
return rows.map((row) => {
|
|
286
|
+
const t = row.trim();
|
|
287
|
+
if (t.length === 0 || t.startsWith(CARD_BULLET))
|
|
288
|
+
return row;
|
|
289
|
+
// Story 37.17: don't resurrect a `●` on a DEEPLY indented row — that's a tool's verbose output, not a
|
|
290
|
+
// flickered header. Restoring it would strip the indent (`● ${t}` lands at col 0) and bypass the parser's
|
|
291
|
+
// indent gate, re-introducing the exact misdetection the gate prevents.
|
|
292
|
+
if (row.length - row.trimStart().length > MAX_CARD_INDENT)
|
|
293
|
+
return row; // deep = tool output, not a header
|
|
294
|
+
const key = toolHeaderKey(t);
|
|
295
|
+
return key && recentKeys.has(key) ? `${CARD_BULLET} ${t}` : row;
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=cliGridCards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliGridCards.js","sourceRoot":"","sources":["../../src/services/cliGridCards.ts"],"names":[],"mappings":"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"}
|