@wrongstack/tui 0.286.0 → 0.289.0

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 (130) hide show
  1. package/README.md +48 -8
  2. package/dist/app-initial-state.d.ts +19 -2
  3. package/dist/app-initial-state.d.ts.map +1 -1
  4. package/dist/app-props.d.ts +618 -0
  5. package/dist/app-props.d.ts.map +1 -0
  6. package/dist/app-reducer.d.ts.map +1 -1
  7. package/dist/app-state.d.ts +63 -12
  8. package/dist/app-state.d.ts.map +1 -1
  9. package/dist/app.d.ts +5 -587
  10. package/dist/app.d.ts.map +1 -1
  11. package/dist/components/agents-monitor.d.ts +21 -34
  12. package/dist/components/agents-monitor.d.ts.map +1 -1
  13. package/dist/components/auth-panel.d.ts.map +1 -1
  14. package/dist/components/composer-status-chip.d.ts +55 -0
  15. package/dist/components/composer-status-chip.d.ts.map +1 -0
  16. package/dist/components/context-panel.d.ts +25 -0
  17. package/dist/components/context-panel.d.ts.map +1 -0
  18. package/dist/components/coordinator-panel.d.ts.map +1 -1
  19. package/dist/components/cron-jobs.d.ts +24 -0
  20. package/dist/components/cron-jobs.d.ts.map +1 -0
  21. package/dist/components/enhance-panel.d.ts +43 -18
  22. package/dist/components/enhance-panel.d.ts.map +1 -1
  23. package/dist/components/f-key-picker.d.ts.map +1 -1
  24. package/dist/components/fleet-monitor.d.ts.map +1 -1
  25. package/dist/components/fleet-panel.d.ts +11 -7
  26. package/dist/components/fleet-panel.d.ts.map +1 -1
  27. package/dist/components/goal-kanban-panel.d.ts +14 -0
  28. package/dist/components/goal-kanban-panel.d.ts.map +1 -0
  29. package/dist/components/goal-panel.d.ts.map +1 -1
  30. package/dist/components/history/banner.d.ts +3 -6
  31. package/dist/components/history/banner.d.ts.map +1 -1
  32. package/dist/components/history/entry.d.ts +6 -1
  33. package/dist/components/history/entry.d.ts.map +1 -1
  34. package/dist/components/history/index.d.ts +2 -2
  35. package/dist/components/history/index.d.ts.map +1 -1
  36. package/dist/components/history/replay.d.ts +14 -38
  37. package/dist/components/history/replay.d.ts.map +1 -1
  38. package/dist/components/history/tool-card.d.ts +20 -0
  39. package/dist/components/history/tool-card.d.ts.map +1 -0
  40. package/dist/components/history/types.d.ts +16 -0
  41. package/dist/components/history/types.d.ts.map +1 -1
  42. package/dist/components/history/utils.d.ts.map +1 -1
  43. package/dist/components/history.d.ts +1 -1
  44. package/dist/components/history.d.ts.map +1 -1
  45. package/dist/components/input.d.ts +24 -1
  46. package/dist/components/input.d.ts.map +1 -1
  47. package/dist/components/kanban-panel.d.ts +4 -1
  48. package/dist/components/kanban-panel.d.ts.map +1 -1
  49. package/dist/components/monitor-shell.d.ts +48 -0
  50. package/dist/components/monitor-shell.d.ts.map +1 -0
  51. package/dist/components/phase-panel.d.ts +1 -1
  52. package/dist/components/plan-panel.d.ts +1 -1
  53. package/dist/components/plan-panel.d.ts.map +1 -1
  54. package/dist/components/powerline-rail.d.ts +16 -0
  55. package/dist/components/powerline-rail.d.ts.map +1 -0
  56. package/dist/components/process-list.d.ts.map +1 -1
  57. package/dist/components/project-picker.d.ts +2 -1
  58. package/dist/components/project-picker.d.ts.map +1 -1
  59. package/dist/components/queue-panel.d.ts.map +1 -1
  60. package/dist/components/refine-failure-panel.d.ts +47 -0
  61. package/dist/components/refine-failure-panel.d.ts.map +1 -0
  62. package/dist/components/scrollable-history.d.ts +1 -1
  63. package/dist/components/scrollable-history.d.ts.map +1 -1
  64. package/dist/components/sessions-panel.d.ts.map +1 -1
  65. package/dist/components/settings-picker.d.ts +5 -2
  66. package/dist/components/settings-picker.d.ts.map +1 -1
  67. package/dist/components/status-bar-chips.d.ts +33 -0
  68. package/dist/components/status-bar-chips.d.ts.map +1 -0
  69. package/dist/components/status-bar.d.ts +58 -25
  70. package/dist/components/status-bar.d.ts.map +1 -1
  71. package/dist/components/statusline-detail-panel.d.ts +10 -0
  72. package/dist/components/statusline-detail-panel.d.ts.map +1 -0
  73. package/dist/components/statusline-picker.d.ts +4 -4
  74. package/dist/components/statusline-picker.d.ts.map +1 -1
  75. package/dist/components/todos-monitor.d.ts.map +1 -1
  76. package/dist/components/worktree-monitor.d.ts +1 -1
  77. package/dist/components/worktree-monitor.d.ts.map +1 -1
  78. package/dist/components/worktree-panel.d.ts +1 -1
  79. package/dist/context-slash.d.ts +75 -0
  80. package/dist/context-slash.d.ts.map +1 -0
  81. package/dist/cron-slash.d.ts +33 -0
  82. package/dist/cron-slash.d.ts.map +1 -0
  83. package/dist/esc-close-panels.d.ts +42 -0
  84. package/dist/esc-close-panels.d.ts.map +1 -0
  85. package/dist/f-key-panels.d.ts +14 -1
  86. package/dist/f-key-panels.d.ts.map +1 -1
  87. package/dist/height-cache.d.ts +124 -0
  88. package/dist/height-cache.d.ts.map +1 -0
  89. package/dist/hooks/use-auth-panel.d.ts +2 -0
  90. package/dist/hooks/use-auth-panel.d.ts.map +1 -1
  91. package/dist/hooks/use-director-fleet-bridge.d.ts +6 -1
  92. package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -1
  93. package/dist/hooks/use-fleet-generation-gate.d.ts +37 -0
  94. package/dist/hooks/use-fleet-generation-gate.d.ts.map +1 -0
  95. package/dist/hooks/use-live-todos.d.ts +4 -0
  96. package/dist/hooks/use-live-todos.d.ts.map +1 -0
  97. package/dist/hooks/use-session-interrupt-controller.d.ts +44 -0
  98. package/dist/hooks/use-session-interrupt-controller.d.ts.map +1 -0
  99. package/dist/hooks/use-subagent-events.d.ts +3 -1
  100. package/dist/hooks/use-subagent-events.d.ts.map +1 -1
  101. package/dist/hooks/use-tui-activity.d.ts +28 -0
  102. package/dist/hooks/use-tui-activity.d.ts.map +1 -0
  103. package/dist/hooks/use-tui-event-bridge.d.ts +9 -3
  104. package/dist/hooks/use-tui-event-bridge.d.ts.map +1 -1
  105. package/dist/index.d.ts +7 -7
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +21439 -16063
  108. package/dist/index.js.map +4 -4
  109. package/dist/memory-slash.d.ts +15 -0
  110. package/dist/memory-slash.d.ts.map +1 -0
  111. package/dist/on-panel-open.d.ts +1 -1
  112. package/dist/on-panel-open.d.ts.map +1 -1
  113. package/dist/reducers/helpers.d.ts +1 -1
  114. package/dist/reducers/helpers.d.ts.map +1 -1
  115. package/dist/run-tui.d.ts +27 -2
  116. package/dist/run-tui.d.ts.map +1 -1
  117. package/dist/running-tools.d.ts +9 -0
  118. package/dist/running-tools.d.ts.map +1 -0
  119. package/dist/slash-command-search.d.ts +5 -0
  120. package/dist/slash-command-search.d.ts.map +1 -1
  121. package/dist/submit-history.d.ts.map +1 -1
  122. package/dist/terminal-width.d.ts +36 -0
  123. package/dist/terminal-width.d.ts.map +1 -0
  124. package/dist/theme.d.ts +50 -0
  125. package/dist/theme.d.ts.map +1 -1
  126. package/dist/tool-glyph.d.ts +1 -4
  127. package/dist/tool-glyph.d.ts.map +1 -1
  128. package/dist/ui-glyphs.d.ts +45 -0
  129. package/dist/ui-glyphs.d.ts.map +1 -0
  130. package/package.json +6 -6
@@ -13,47 +13,25 @@ export interface AgentTranscriptReader {
13
13
  }
14
14
  export interface AgentsMonitorProps {
15
15
  entries: Record<string, FleetEntry>;
16
- /** Fleet (subagents) accumulated cost — excludes the leader/main session. */
17
16
  totalCost: number;
18
- /**
19
- * Leader (main session) cost — the same figure the statusline shows. Added
20
- * to `totalCost` for a trustworthy grand total. Optional for callers that
21
- * don't track it (defaults to 0).
22
- */
23
17
  leaderCost?: number | undefined;
24
- /** Fleet-wide token totals, when available. */
25
18
  totalTokens?: {
26
19
  input: number;
27
20
  output: number;
28
21
  };
29
- /** 1s clock tick so elapsed times + sparklines stay live. */
30
22
  nowTick: number;
31
- /** Called when there are no active/detail-worthy agents left to show. */
32
23
  onClose?: (() => void) | undefined;
33
- /**
34
- * Optional transcript reader — when provided, the selected agent's
35
- * detail card renders a scrollable full-transcript pane (PgUp/PgDn)
36
- * with a CONSTANT-height layout, so switching agents never changes the
37
- * panel height (no scrollback churn). Falls back to the streaming-tail
38
- * snippet when absent.
39
- */
40
24
  transcripts?: AgentTranscriptReader | undefined;
41
- /**
42
- * Optional leader history source (oldest first) — the main chat's own
43
- * entries mapped to timeline shape, WITHOUT subagent lines, so selecting
44
- * LEADER shows a clean per-agent view just like the subagents.
45
- */
46
25
  leaderTranscript?: (() => AgentTimelineEntry[]) | undefined;
47
- /**
48
- * Fullscreen mode: the App hides the chat history while this monitor is
49
- * open, so the transcript pane may claim every row the chrome doesn't
50
- * need (the usual 24-row cap is lifted).
51
- */
52
26
  fullscreen?: boolean | undefined;
53
27
  }
54
28
  /** Retained for callers/tests that tune the empty-state grace window. */
55
29
  export declare const IDLE_HIDE_MS = 60000;
56
30
  export declare const EMPTY_AGENTS_CLOSE_DELAY_MS = 7500;
31
+ /** Fallback rows of transcript content when terminal height is unknown. */
32
+ export declare const TRANSCRIPT_ROWS = 10;
33
+ /** Full in-memory transcript depth to fetch (AgentMonitorService ring size). */
34
+ export declare const TRANSCRIPT_FETCH_LIMIT = 500;
57
35
  /**
58
36
  * Select the agents the live monitor should render. Only actively-running
59
37
  * subagents are detail-worthy; idle workers are retained by the coordinator for
@@ -70,10 +48,6 @@ export declare function agentRisk(entry: FleetEntry): 'calm' | 'busy' | 'hot' |
70
48
  export declare function selectAgentDetail(live: FleetEntry[], selectedId?: string): FleetEntry | undefined;
71
49
  export declare function nextEmptyAgentsCloseStartedAt(liveCount: number, now: number, currentStartedAt?: number): number | undefined;
72
50
  export declare function shouldCloseEmptyAgentsMonitor(liveCount: number, now: number, emptyStartedAt: number | undefined, delayMs?: number): boolean;
73
- /** Fallback rows of transcript content when terminal height is unknown. */
74
- export declare const TRANSCRIPT_ROWS = 10;
75
- /** Full in-memory transcript depth to fetch (AgentMonitorService ring size). */
76
- export declare const TRANSCRIPT_FETCH_LIMIT = 500;
77
51
  /**
78
52
  * Rows of transcript content for the current terminal. Constant for a
79
53
  * given terminal size and agent count, so agent switches never change
@@ -105,10 +79,23 @@ export declare function selectTranscriptWindow(entries: readonly AgentTimelineEn
105
79
  below: number;
106
80
  };
107
81
  /**
108
- * Live per-agent monitor (Ctrl+G / F3). Hybrid compact view:
109
- * - All agents, including LEADER, are available via ↑↓ navigation.
110
- * - Non-selected agents render as single-line rows.
111
- * - The selected agent expands in place into a titled detail rectangle.
82
+ * Agents panel — the redesigned F3 view.
83
+ *
84
+ * Layout:
85
+ * ┌─────────────────────────────────────────────────────────┐
86
+ * │ ◇ AGENTS / live ops ▶ 2 ✓ 5 $0.1234 │ ← DashboardHeader
87
+ * ├──────────────────────┬──────────────────────────────────┤
88
+ * │ agents (4) │ AgentName model status │ ← Right detail
89
+ * │ ▶ agent1 ██░ 12s │ runtime 5m · L42 892t │
90
+ * │ ○ agent2 █░░ 5m │ ctx 45k/100k · 55k free │
91
+ * │ ○ agent3 ░░░ 2m │ active: → read foo.ts 1.2s │
92
+ * │ │ ┌──────────────────────────┐ │
93
+ * │ │ │ transcript 74 entries │ │
94
+ * │ │ │ L3 🔧 read foo.ts │ │
95
+ * │ │ └──────────────────────────┘ │
96
+ * ├──────────────────────┴──────────────────────────────────┤
97
+ * │ ↑↓ agent PgUp/Dn transcript F3 close │
98
+ * └─────────────────────────────────────────────────────────┘
112
99
  */
113
100
  export declare function AgentsMonitor({ entries, totalCost, leaderCost, totalTokens, nowTick, onClose, transcripts, leaderTranscript, fullscreen, }: AgentsMonitorProps): React.ReactElement;
114
101
  //# sourceMappingURL=agents-monitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agents-monitor.d.ts","sourceRoot":"","sources":["../../src/components/agents-monitor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents-monitor.d.ts","sourceRoot":"","sources":["../../src/components/agents-monitor.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-panel.d.ts","sourceRoot":"","sources":["../../src/components/auth-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAS/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC;CACvB;AA8ID,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAsCD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA8HvE"}
1
+ {"version":3,"file":"auth-panel.d.ts","sourceRoot":"","sources":["../../src/components/auth-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC;CACvB;AAqJD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIvD;AAsCD,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CA+KvE"}
@@ -0,0 +1,55 @@
1
+ import type React from 'react';
2
+ import { type AnimationStyle } from './animation-style.js';
3
+ /**
4
+ * Composer status descriptor. Distinct from the raw runtime status so the
5
+ * chip's render (and its reserved width) is driven by one small, testable
6
+ * value instead of scattered flags.
7
+ */
8
+ export type ComposerStatus = {
9
+ kind: 'idle';
10
+ fleetRunning: number;
11
+ } | {
12
+ kind: 'working';
13
+ word: string;
14
+ } | {
15
+ kind: 'aborting';
16
+ } | {
17
+ kind: 'confirm';
18
+ } | {
19
+ kind: 'queued';
20
+ count: number;
21
+ };
22
+ /**
23
+ * Build the composer status descriptor from the raw runtime state. Priority
24
+ * mirrors the old `composerStatusLabel`: an open confirm panel and an in-flight
25
+ * abort outrank the working/queued/idle states.
26
+ */
27
+ export declare function composerStatusFromState(opts: {
28
+ status: 'idle' | 'running' | 'streaming' | 'aborting';
29
+ confirmCount: number;
30
+ queueCount: number;
31
+ thinkingWord: string;
32
+ fleetRunning: number;
33
+ }): ComposerStatus;
34
+ /**
35
+ * Stable column width the chip occupies for a given status — independent of the
36
+ * live animation frame so the border geometry never shifts. For `working` we
37
+ * reserve `spinner + space + word + '...'` (the `dots` style's widest frame is
38
+ * three dots; the `…` used by other styles is narrower), i.e. `w(word) + 5`.
39
+ * Pure + exported for testing.
40
+ */
41
+ export declare function composerStatusReservedWidth(status: ComposerStatus): number;
42
+ export interface ComposerStatusChipProps {
43
+ status: ComposerStatus;
44
+ /** Animation style for the working state (`'cycle'` rotates the variants). */
45
+ animationStyle: AnimationStyle | 'cycle';
46
+ /** Fixed slot width — the chip pads its output to exactly this many columns. */
47
+ reservedWidth: number;
48
+ }
49
+ /**
50
+ * Isolated, self-animating composer status chip. Owns its spinner/cycle timers
51
+ * so animation re-renders never propagate into <Input>. Renders flat text for
52
+ * idle/confirm/aborting/queued and the animated thinking word for `working`.
53
+ */
54
+ export declare function ComposerStatusChip({ status, animationStyle, reservedWidth, }: ComposerStatusChipProps): React.ReactElement;
55
+ //# sourceMappingURL=composer-status-chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer-status-chip.d.ts","sourceRoot":"","sources":["../../src/components/composer-status-chip.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EACL,KAAK,cAAc,EAQpB,MAAM,sBAAsB,CAAC;AAM9B;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,cAAc,CAQjB;AAqBD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAM1E;AAyFD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB,8EAA8E;IAC9E,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC;IACzC,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,cAAc,EACd,aAAa,GACd,EAAE,uBAAuB,GAAG,KAAK,CAAC,YAAY,CA+C9C"}
@@ -0,0 +1,25 @@
1
+ import type React from 'react';
2
+ export interface ContextPanelData {
3
+ ctxPct: number | undefined;
4
+ ctxTokens: number | undefined;
5
+ ctxMaxTokens: number | undefined;
6
+ provider: string;
7
+ model: string;
8
+ mode: string;
9
+ uptime: string;
10
+ fleetEntries: Array<{
11
+ name: string;
12
+ status: string;
13
+ currentTool: string | undefined;
14
+ ctxPct: number | undefined;
15
+ }>;
16
+ leaderIterations: number;
17
+ leaderToolCalls: number;
18
+ leaderStatus: string;
19
+ }
20
+ export interface ContextPanelProps {
21
+ data: ContextPanelData;
22
+ onClose: () => void;
23
+ }
24
+ export declare function ContextPanel({ data, onClose, }: ContextPanelProps): React.ReactElement;
25
+ //# sourceMappingURL=context-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-panel.d.ts","sourceRoot":"","sources":["../../src/components/context-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,KAAK,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QAChC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;KAC5B,CAAC,CAAC;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAoXD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,GACR,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA4FxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator-panel.d.ts","sourceRoot":"","sources":["../../src/components/coordinator-panel.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAsED,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAyE5C"}
1
+ {"version":3,"file":"coordinator-panel.d.ts","sourceRoot":"","sources":["../../src/components/coordinator-panel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAavC,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAgCD,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAqK5C"}
@@ -0,0 +1,24 @@
1
+ import type React from 'react';
2
+ export interface CronJobView {
3
+ name: string;
4
+ intervalMs: number;
5
+ action: string;
6
+ enabled: boolean;
7
+ lastRun: string | null;
8
+ nextRun: string;
9
+ runCount: number;
10
+ overdue: boolean;
11
+ }
12
+ export interface CronListResult {
13
+ ok: boolean;
14
+ count: number;
15
+ maxConcurrent: number;
16
+ jobs: CronJobView[];
17
+ error?: string | undefined;
18
+ }
19
+ export interface CronJobsMonitorProps {
20
+ /** Async callback that returns the current cron list (wired to cron_list tool). */
21
+ getCronJobs: () => Promise<CronListResult>;
22
+ }
23
+ export declare function CronJobsMonitor({ getCronJobs }: CronJobsMonitorProps): React.ReactElement;
24
+ //# sourceMappingURL=cron-jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cron-jobs.d.ts","sourceRoot":"","sources":["../../src/components/cron-jobs.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,mFAAmF;IACnF,WAAW,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5C;AAqCD,wBAAgB,eAAe,CAAC,EAAE,WAAW,EAAE,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAsMzF"}
@@ -1,5 +1,17 @@
1
- import React from 'react';
2
- export type EnhanceDecision = 'refined' | 'english' | 'original' | 'edit';
1
+ import type React from 'react';
2
+ export type EnhanceDecision = 'refined' | 'english' | 'original' | 'edit' | 'retry' | 'cancel';
3
+ export interface RefiningPanelProps {
4
+ /** Prompt currently being rewritten. */
5
+ original: string;
6
+ /** Time spent in the refiner request so far. */
7
+ elapsedMs: number;
8
+ /** Small animation frame; visual only and never presented as progress. */
9
+ pulseFrame?: number | undefined;
10
+ /** Provider id of the model running the refinement (e.g. "openai"). */
11
+ providerId?: string | undefined;
12
+ /** Model name running the refinement (e.g. "gpt-4o"). */
13
+ model?: string | undefined;
14
+ }
3
15
  export interface EnhancePanelProps {
4
16
  /** The user's original message. */
5
17
  original: string;
@@ -7,30 +19,43 @@ export interface EnhancePanelProps {
7
19
  refined: string;
8
20
  /** Refined in English. */
9
21
  english: string;
22
+ /** Time the refiner call took before this preview opened. */
23
+ durationMs?: number | undefined;
10
24
  /** Auto-send countdown in milliseconds. */
11
25
  delayMs: number;
26
+ /**
27
+ * Default language for refinement ('original' or 'english').
28
+ * Controls which version is shown as "RECOMMENDED" and auto-selected
29
+ * on Enter / countdown expiry. Defaults to 'original'.
30
+ */
31
+ enhanceLanguage?: 'original' | 'english' | undefined;
12
32
  /** Called once with the chosen action (by key press or countdown expiry). */
13
33
  onDecision: (decision: EnhanceDecision) => void;
14
34
  /**
15
- * Called every second with the remaining seconds. Lets the statusline
16
- * render the countdown without the panel's re-renders bleeding into the
17
- * chat scrollback as blank entries.
35
+ * Called every second with the remaining seconds. The statusline owns the
36
+ * changing countdown so this comparison panel stays visually stable.
18
37
  */
19
38
  onTick?: ((remaining: number) => void) | undefined;
39
+ /** Provider id of the model that produced the refinement (e.g. "openai"). */
40
+ providerId?: string | undefined;
41
+ /** Model name that produced the refinement (e.g. "gpt-4o"). */
42
+ model?: string | undefined;
20
43
  }
44
+ export declare function formatRefinementDuration(ms: number): string;
45
+ /** A scanning activity pulse. It deliberately does not imply completion %. */
46
+ export declare function refinementPulse(frame: number, width?: number): string;
47
+ /**
48
+ * Word-aware, bounded preview rows for the live-region panels. Whitespace is
49
+ * collapsed and the final row receives an ellipsis when content remains.
50
+ */
51
+ export declare function wrapRefinementPreview(text: string, width: number, maxLines: number): string[];
52
+ /** Live refiner call state: stable height, real elapsed time, cancellable. */
53
+ export declare function RefiningPanel({ original, elapsedMs, pulseFrame, providerId, model, }: RefiningPanelProps): React.ReactElement;
21
54
  /**
22
- * Prompt-refinement preview ("did you mean this?"). Shows the refined request
23
- * in both the user's language and English with a live countdown; auto-sends
24
- * the original-language refined version when the countdown expires unless the
25
- * user intervenes:
26
- * Enter → send original-lang refined now
27
- * e → send English refined
28
- * Esc → use original
29
- * t → edit the original-lang refined version
30
- *
31
- * Self-contained like ConfirmPrompt: owns its keys via `useInput` and its
32
- * timer via `useEffect`. `onDecision` is guarded by the caller so only the
33
- * first decision wins.
55
+ * Completed prompt-refinement comparison. The original and recommended
56
+ * versions sit side-by-side on wide terminals and stack on narrow ones. The
57
+ * countdown remains in the statusline, keeping this panel stable in inline
58
+ * mode while still making auto-send behavior explicit.
34
59
  */
35
- export declare function EnhancePanel({ original, refined, english, delayMs, onDecision, onTick, }: EnhancePanelProps): React.ReactElement;
60
+ export declare function EnhancePanel({ original, refined, english, durationMs, delayMs, enhanceLanguage, onDecision, onTick, providerId, model, }: EnhancePanelProps): React.ReactElement;
36
61
  //# sourceMappingURL=enhance-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enhance-panel.d.ts","sourceRoot":"","sources":["../../src/components/enhance-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,MAAM,GACP,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAiFxC"}
1
+ {"version":3,"file":"enhance-panel.d.ts","sourceRoot":"","sources":["../../src/components/enhance-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/F,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,6EAA6E;IAC7E,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACnD,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAMD,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAO3D;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAQjE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB7F;AAyED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAc,EACd,UAAU,EACV,KAAK,GACN,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAwDzC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,UAAc,EACd,OAAO,EACP,eAA4B,EAC5B,UAAU,EACV,MAAM,EACN,UAAU,EACV,KAAK,GACN,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA2JxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"f-key-picker.d.ts","sourceRoot":"","sources":["../../src/components/f-key-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAoC5E"}
1
+ {"version":3,"file":"f-key-picker.d.ts","sourceRoot":"","sources":["../../src/components/f-key-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,mBAAmB,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA0D5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-monitor.d.ts","sourceRoot":"","sources":["../../src/components/fleet-monitor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAQ5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,SAAS,GAAG,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC/D,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV;AAaD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1C,GAAG,EAAE,MAAM,EACX,IAAI,SAAK,EACT,KAAK,SAAO,GACX,MAAM,EAAE,CAWV;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAUlD;AAaD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAiB,EACjB,OAAO,EACP,aAAa,GACd,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA2MxC"}
1
+ {"version":3,"file":"fleet-monitor.d.ts","sourceRoot":"","sources":["../../src/components/fleet-monitor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAkB5C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,2DAA2D;IAC3D,aAAa,CAAC,EAAE;QACd,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,SAAS,GAAG,gBAAgB,GAAG,QAAQ,GAAG,IAAI,CAAC;QAC/D,QAAQ,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC3E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,IAAI,CAAC;CACV;AAaD;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,aAAa,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1C,GAAG,EAAE,MAAM,EACX,IAAI,SAAK,EACT,KAAK,SAAO,GACX,MAAM,EAAE,CAWV;AAED,sDAAsD;AACtD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAUlD;AAaD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAQvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAiB,EACjB,OAAO,EACP,aAAa,GACd,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA0OxC"}
@@ -10,11 +10,11 @@ export interface FleetPanelProps {
10
10
  roster?: Record<string, {
11
11
  name: string;
12
12
  }> | undefined;
13
- /** Live leader todo board, rendered as a compact preview below the swarm. */
13
+ /** Live leader todo board, rendered as a compact mission queue. */
14
14
  todos?: readonly TodoItem[] | undefined;
15
15
  /** 1s clock tick so activity meters and elapsed labels stay live. */
16
16
  nowTick?: number | undefined;
17
- /** When set, the LEADER row is always shown (even when idle) with a collab session indicator. */
17
+ /** When set, LEADER remains visible with a collab-session badge. */
18
18
  collabSession?: {
19
19
  sessionId: string | null;
20
20
  bugCount: number;
@@ -26,8 +26,13 @@ type SwarmColor = 'blue' | 'cyan' | 'green' | 'gray' | 'red' | 'yellow';
26
26
  export interface SwarmCell {
27
27
  id: string;
28
28
  index: string;
29
+ name: string;
29
30
  meter: string;
30
- text: string;
31
+ activity: string;
32
+ metrics: string;
33
+ statusIcon: string;
34
+ statusLabel: string;
35
+ elapsed: string;
31
36
  color: SwarmColor;
32
37
  dim?: boolean | undefined;
33
38
  }
@@ -59,10 +64,9 @@ export declare function buildSwarmGrid(entries: Record<string, FleetEntry>, now:
59
64
  }): SwarmGrid;
60
65
  export declare function buildTodoPreviewRows(todos: readonly TodoItem[] | undefined, width: number, maxRows?: number): TodoPreviewRow[];
61
66
  /**
62
- * Compact fleet summary rendered below the status bar when subagents are
63
- * active. It is intentionally separate from the F2/F3 monitors: this is the
64
- * always-visible "what is the fleet doing right now?" strip, while those
65
- * panels remain the detailed drill-down surfaces.
67
+ * Always-visible mission-control view for active subagents. The detailed F3
68
+ * monitor owns transcripts and drill-down; this panel stays compact and makes
69
+ * the fleet's current shape readable at a glance.
66
70
  */
67
71
  export declare function FleetPanel({ entries, totalCost, roster, todos, nowTick, collabSession, }: FleetPanelProps): React.ReactElement | null;
68
72
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-panel.d.ts","sourceRoot":"","sources":["../../src/components/fleet-panel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-panel.d.ts","sourceRoot":"","sources":["../../src/components/fleet-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type React from 'react';
2
+ import type { GoalSummary } from '../app-state.js';
3
+ export interface GoalKanbanPanelProps {
4
+ projectRoot: string;
5
+ goal: GoalSummary | null;
6
+ onClose: () => void;
7
+ }
8
+ /**
9
+ * Goal Kanban panel — a visual progress board shown when a goal is active
10
+ * and an autonomy engine is running. Displays the goal-linked kanban board
11
+ * tasks in columns (Backlog → In Progress → Done) with live auto-refresh.
12
+ */
13
+ export declare function GoalKanbanPanel({ projectRoot, goal, onClose, }: GoalKanbanPanelProps): React.ReactElement;
14
+ //# sourceMappingURL=goal-kanban-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goal-kanban-panel.d.ts","sourceRoot":"","sources":["../../src/components/goal-kanban-panel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,IAAI,EACJ,OAAO,GACR,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAqK3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"goal-panel.d.ts","sourceRoot":"","sources":["../../src/components/goal-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7C,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAgJrC"}
1
+ {"version":3,"file":"goal-panel.d.ts","sourceRoot":"","sources":["../../src/components/goal-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAWnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7C,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAsLrC"}
@@ -1,13 +1,10 @@
1
1
  import type React from 'react';
2
2
  import type { HistoryEntry } from './types.js';
3
- /**
4
- * Startup splash. Renders into the Static area on mount and never
5
- * re-renders, so it's safe to use rich layout without worrying about
6
- * Ink's redraw cursor math.
7
- */
8
- export declare function Banner({ entry, }: {
3
+ export declare function bannerGradientColor(position: number, length: number): string;
4
+ export declare function Banner({ entry, termWidth, }: {
9
5
  entry: Extract<HistoryEntry, {
10
6
  kind: 'banner';
11
7
  }>;
8
+ termWidth?: number;
12
9
  }): React.ReactElement;
13
10
  //# sourceMappingURL=banner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/components/history/banner.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,GACN,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CAClD,GAAG,KAAK,CAAC,YAAY,CA+CrB"}
1
+ {"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../../src/components/history/banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoE/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG5E;AA+JD,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,SAA8B,GAC/B,EAAE;IACD,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,KAAK,CAAC,YAAY,CA+FrB"}
@@ -1,7 +1,7 @@
1
1
  import { type TodoItem } from '@wrongstack/core';
2
2
  import React from 'react';
3
3
  import type { HistoryEntry } from './types.js';
4
- export declare const Entry: React.MemoExoticComponent<({ entry, termWidth, setSuggestions, autonomyMode, multiDiffSummaryThreshold, todos, }: {
4
+ export declare const Entry: React.MemoExoticComponent<({ entry, termWidth, setSuggestions, autonomyMode, multiDiffSummaryThreshold, todos, showModelReasoning, }: {
5
5
  entry: HistoryEntry;
6
6
  termWidth: number;
7
7
  /** Store parsed next steps in the shared suggestion store so /next 1 works. */
@@ -15,5 +15,10 @@ export declare const Entry: React.MemoExoticComponent<({ entry, termWidth, setSu
15
15
  * panel is hidden and the store is not written — same rule as the host
16
16
  * callback (b0970387), so the two paths agree. */
17
17
  todos?: readonly TodoItem[] | undefined;
18
+ /**
19
+ * Show the "Model Reasoning" blocks in chat history. When false,
20
+ * `kind: 'thinking'` entries render as an empty fragment. Default: true.
21
+ */
22
+ showModelReasoning?: boolean | undefined;
18
23
  }) => React.ReactElement>;
19
24
  //# sourceMappingURL=entry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/components/history/entry.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAA6B,MAAM,OAAO,CAAC;AAgBlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkD/C,eAAO,MAAM,KAAK,oHAOf;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;gFAC4E;IAC5E,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C;;uDAEmD;IACnD,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,CAAC;CACzC,KAAG,KAAK,CAAC,YAAY,CAkgBpB,CAAC"}
1
+ {"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../../src/components/history/entry.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAA6B,MAAM,OAAO,CAAC;AAgBlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkD/C,eAAO,MAAM,KAAK,wIAQf;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACzD,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC;gFAC4E;IAC5E,yBAAyB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C;;uDAEmD;IACnD,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,GAAG,SAAS,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C,KAAG,KAAK,CAAC,YAAY,CAukBpB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { HistoryProps } from './types.js';
3
- export type { HistoryEntry, HistoryProps } from './types.js';
3
+ export type { AutonomyAgentStatus, HistoryEntry, HistoryProps } from './types.js';
4
4
  export type { BodySegment } from './types.js';
5
5
  export { Banner } from './banner.js';
6
6
  export { CodeBlock, DiffBlock, DiffFileBlock, type DiffFilePreview, type DiffLineKind, type DiffLineRow, type DiffPreview, type MultiDiffSummary, MULTI_DIFF_SUMMARY_THRESHOLD, extractDiffPreview, extractMultiFileDiffs, extractReplaceDiffs, formatDiffStats, formatMultiDiffSummary, parseUnifiedDiff, summarizeMultiFileDiffs, } from './code-block.js';
@@ -17,5 +17,5 @@ export { shortenPath, previewArgs, previewOutput, fmtTok, fmtDuration, fmtBytes,
17
17
  * primitives or stable reducer references, so default shallow
18
18
  * comparison is sufficient.
19
19
  */
20
- export declare const History: React.MemoExoticComponent<({ entries, generation, streamingText, toolStream, setSuggestions, autonomyMode, multiDiffSummaryThreshold, todos }: HistoryProps) => React.ReactElement>;
20
+ export declare const History: React.MemoExoticComponent<({ entries, generation, streamingText, toolStream, setSuggestions, autonomyMode, multiDiffSummaryThreshold, todos, showModelReasoning }: HistoryProps) => React.ReactElement>;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/history/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzM,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,iJAA6I,YAAY,KAAG,KAAK,CAAC,YAAY,CAkDhM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/history/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACL,SAAS,EACT,SAAS,EACT,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,aAAa,EAAE,aAAa,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzM,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,cAAc,GACf,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO,qKAAiK,YAAY,KAAG,KAAK,CAAC,YAAY,CAkDpN,CAAC"}
@@ -1,44 +1,20 @@
1
- import type { SessionEvent } from '@wrongstack/core';
1
+ import type { Message, SessionEvent } from '@wrongstack/core';
2
2
  import type { HistoryEntry } from './types.js';
3
3
  /**
4
- * Render a SessionEvent back into a TUI HistoryEntry so a resumed session
5
- * displays exactly what the user saw during live interaction.
4
+ * Canonical session-resume renderer. Rebuilds the visible TUI history for a
5
+ * resumed session from the reconstructed `messages` (the conversation
6
+ * backbone — user/assistant/system text, thinking blocks, and tool calls with
7
+ * their input + output) and interleaves the audit `events` marker stream
8
+ * (mode/compaction/checkpoint/skill/agent/error/retry/truncation) at their
9
+ * chronological positions.
6
10
  *
7
- * ## Entry mapping
8
- *
9
- * | Event type | HistoryEntry kind |
10
- * |--------------------------|-------------------|
11
- * | `user_input` | `user` |
12
- * | `llm_response` | `assistant` |
13
- * | `tool_use` + `tool_result` | `tool` (paired) |
14
- * | `tool_call_start`/`tool_call_end` | `tool` |
15
- * | `compaction` | `info` |
16
- * | `error` | `error` |
17
- * | `provider_retry` | `warn` |
18
- * | `provider_error` | `error` |
19
- * | `checkpoint` | `info` |
20
- * | `agent_spawned`/`agent_stopped` | `subagent` |
21
- * | `agent_error` | `subagent` |
22
- * | `mode_changed` | `info` |
23
- * | `skill_activated`/`skill_deactivated` | `info` |
24
- * | `message_truncated` | `warn` |
25
- *
26
- * ## Non-resumable events (subagent transcripts)
27
- *
28
- * Subagent events (`agent_spawned`, `agent_stopped`, `agent_error`) are
29
- * rendered as `subagent` entries in the main TUI history but the full
30
- * subagent tool-call details live in per-subagent JSONL files. The main
31
- * session only holds the lifecycle markers.
32
- *
33
- * ## Compaction events
34
- *
35
- * Compaction boundaries are rendered as `info` entries showing how many
36
- * tokens were collapsed. This keeps the display neat without pretending
37
- * the full verbose context never existed.
38
- *
39
- * @param events Parsed SessionEvent[] from session JSONL
40
- * @param startId Starting id counter for the generated entries
41
- * @returns Ordered HistoryEntry[] ready for display
11
+ * Ordering is a two-pointer merge of two already-chronological sequences
12
+ * (message backbone by construction, marker events by JSONL order) so the
13
+ * conversation is never reordered — markers are only inserted between existing
14
+ * turns. This is the single renderer used by BOTH the boot `--resume` path and
15
+ * the in-session resume picker, replacing the previous message-only and
16
+ * meta-only tool-chip variants.
42
17
  */
18
+ export declare function replaySessionMessages(messages: readonly Message[], events: readonly SessionEvent[], startId: number): HistoryEntry[];
43
19
  export declare function replaySessionEvents(events: SessionEvent[], startId: number): HistoryEntry[];
44
20
  //# sourceMappingURL=replay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/components/history/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,YAAY,EAAE,EACtB,OAAO,EAAE,MAAM,GACd,YAAY,EAAE,CAgChB"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/components/history/replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAsE/C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,OAAO,EAAE,MAAM,GACd,YAAY,EAAE,CAyHhB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAoC3F"}
@@ -0,0 +1,20 @@
1
+ import type React from 'react';
2
+ export interface ToolCardProps {
3
+ glyph: string;
4
+ color: string;
5
+ title: string;
6
+ detail?: string | undefined;
7
+ meta?: string | undefined;
8
+ ok: boolean;
9
+ termWidth: number;
10
+ hasBody: boolean;
11
+ children?: React.ReactNode;
12
+ }
13
+ /**
14
+ * Shared terminal-native anatomy for committed tool results. The open left
15
+ * rail keeps dense output readable without turning every tiny call into a
16
+ * heavy full-width modal, while the ruled header makes tool/state/timing easy
17
+ * to scan in long transcripts.
18
+ */
19
+ export declare function ToolCard({ glyph, color, title, detail, meta, ok, termWidth, hasBody, children, }: ToolCardProps): React.ReactElement;
20
+ //# sourceMappingURL=tool-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-card.d.ts","sourceRoot":"","sources":["../../../src/components/history/tool-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,IAAI,EACJ,EAAE,EACF,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA4CpC"}