@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.
- package/README.md +48 -8
- package/dist/app-initial-state.d.ts +19 -2
- package/dist/app-initial-state.d.ts.map +1 -1
- package/dist/app-props.d.ts +618 -0
- package/dist/app-props.d.ts.map +1 -0
- package/dist/app-reducer.d.ts.map +1 -1
- package/dist/app-state.d.ts +63 -12
- package/dist/app-state.d.ts.map +1 -1
- package/dist/app.d.ts +5 -587
- package/dist/app.d.ts.map +1 -1
- package/dist/components/agents-monitor.d.ts +21 -34
- package/dist/components/agents-monitor.d.ts.map +1 -1
- package/dist/components/auth-panel.d.ts.map +1 -1
- package/dist/components/composer-status-chip.d.ts +55 -0
- package/dist/components/composer-status-chip.d.ts.map +1 -0
- package/dist/components/context-panel.d.ts +25 -0
- package/dist/components/context-panel.d.ts.map +1 -0
- package/dist/components/coordinator-panel.d.ts.map +1 -1
- package/dist/components/cron-jobs.d.ts +24 -0
- package/dist/components/cron-jobs.d.ts.map +1 -0
- package/dist/components/enhance-panel.d.ts +43 -18
- package/dist/components/enhance-panel.d.ts.map +1 -1
- package/dist/components/f-key-picker.d.ts.map +1 -1
- package/dist/components/fleet-monitor.d.ts.map +1 -1
- package/dist/components/fleet-panel.d.ts +11 -7
- package/dist/components/fleet-panel.d.ts.map +1 -1
- package/dist/components/goal-kanban-panel.d.ts +14 -0
- package/dist/components/goal-kanban-panel.d.ts.map +1 -0
- package/dist/components/goal-panel.d.ts.map +1 -1
- package/dist/components/history/banner.d.ts +3 -6
- package/dist/components/history/banner.d.ts.map +1 -1
- package/dist/components/history/entry.d.ts +6 -1
- package/dist/components/history/entry.d.ts.map +1 -1
- package/dist/components/history/index.d.ts +2 -2
- package/dist/components/history/index.d.ts.map +1 -1
- package/dist/components/history/replay.d.ts +14 -38
- package/dist/components/history/replay.d.ts.map +1 -1
- package/dist/components/history/tool-card.d.ts +20 -0
- package/dist/components/history/tool-card.d.ts.map +1 -0
- package/dist/components/history/types.d.ts +16 -0
- package/dist/components/history/types.d.ts.map +1 -1
- package/dist/components/history/utils.d.ts.map +1 -1
- package/dist/components/history.d.ts +1 -1
- package/dist/components/history.d.ts.map +1 -1
- package/dist/components/input.d.ts +24 -1
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/kanban-panel.d.ts +4 -1
- package/dist/components/kanban-panel.d.ts.map +1 -1
- package/dist/components/monitor-shell.d.ts +48 -0
- package/dist/components/monitor-shell.d.ts.map +1 -0
- package/dist/components/phase-panel.d.ts +1 -1
- package/dist/components/plan-panel.d.ts +1 -1
- package/dist/components/plan-panel.d.ts.map +1 -1
- package/dist/components/powerline-rail.d.ts +16 -0
- package/dist/components/powerline-rail.d.ts.map +1 -0
- package/dist/components/process-list.d.ts.map +1 -1
- package/dist/components/project-picker.d.ts +2 -1
- package/dist/components/project-picker.d.ts.map +1 -1
- package/dist/components/queue-panel.d.ts.map +1 -1
- package/dist/components/refine-failure-panel.d.ts +47 -0
- package/dist/components/refine-failure-panel.d.ts.map +1 -0
- package/dist/components/scrollable-history.d.ts +1 -1
- package/dist/components/scrollable-history.d.ts.map +1 -1
- package/dist/components/sessions-panel.d.ts.map +1 -1
- package/dist/components/settings-picker.d.ts +5 -2
- package/dist/components/settings-picker.d.ts.map +1 -1
- package/dist/components/status-bar-chips.d.ts +33 -0
- package/dist/components/status-bar-chips.d.ts.map +1 -0
- package/dist/components/status-bar.d.ts +58 -25
- package/dist/components/status-bar.d.ts.map +1 -1
- package/dist/components/statusline-detail-panel.d.ts +10 -0
- package/dist/components/statusline-detail-panel.d.ts.map +1 -0
- package/dist/components/statusline-picker.d.ts +4 -4
- package/dist/components/statusline-picker.d.ts.map +1 -1
- package/dist/components/todos-monitor.d.ts.map +1 -1
- package/dist/components/worktree-monitor.d.ts +1 -1
- package/dist/components/worktree-monitor.d.ts.map +1 -1
- package/dist/components/worktree-panel.d.ts +1 -1
- package/dist/context-slash.d.ts +75 -0
- package/dist/context-slash.d.ts.map +1 -0
- package/dist/cron-slash.d.ts +33 -0
- package/dist/cron-slash.d.ts.map +1 -0
- package/dist/esc-close-panels.d.ts +42 -0
- package/dist/esc-close-panels.d.ts.map +1 -0
- package/dist/f-key-panels.d.ts +14 -1
- package/dist/f-key-panels.d.ts.map +1 -1
- package/dist/height-cache.d.ts +124 -0
- package/dist/height-cache.d.ts.map +1 -0
- package/dist/hooks/use-auth-panel.d.ts +2 -0
- package/dist/hooks/use-auth-panel.d.ts.map +1 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts +6 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -1
- package/dist/hooks/use-fleet-generation-gate.d.ts +37 -0
- package/dist/hooks/use-fleet-generation-gate.d.ts.map +1 -0
- package/dist/hooks/use-live-todos.d.ts +4 -0
- package/dist/hooks/use-live-todos.d.ts.map +1 -0
- package/dist/hooks/use-session-interrupt-controller.d.ts +44 -0
- package/dist/hooks/use-session-interrupt-controller.d.ts.map +1 -0
- package/dist/hooks/use-subagent-events.d.ts +3 -1
- package/dist/hooks/use-subagent-events.d.ts.map +1 -1
- package/dist/hooks/use-tui-activity.d.ts +28 -0
- package/dist/hooks/use-tui-activity.d.ts.map +1 -0
- package/dist/hooks/use-tui-event-bridge.d.ts +9 -3
- package/dist/hooks/use-tui-event-bridge.d.ts.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21439 -16063
- package/dist/index.js.map +4 -4
- package/dist/memory-slash.d.ts +15 -0
- package/dist/memory-slash.d.ts.map +1 -0
- package/dist/on-panel-open.d.ts +1 -1
- package/dist/on-panel-open.d.ts.map +1 -1
- package/dist/reducers/helpers.d.ts +1 -1
- package/dist/reducers/helpers.d.ts.map +1 -1
- package/dist/run-tui.d.ts +27 -2
- package/dist/run-tui.d.ts.map +1 -1
- package/dist/running-tools.d.ts +9 -0
- package/dist/running-tools.d.ts.map +1 -0
- package/dist/slash-command-search.d.ts +5 -0
- package/dist/slash-command-search.d.ts.map +1 -1
- package/dist/submit-history.d.ts.map +1 -1
- package/dist/terminal-width.d.ts +36 -0
- package/dist/terminal-width.d.ts.map +1 -0
- package/dist/theme.d.ts +50 -0
- package/dist/theme.d.ts.map +1 -1
- package/dist/tool-glyph.d.ts +1 -4
- package/dist/tool-glyph.d.ts.map +1 -1
- package/dist/ui-glyphs.d.ts +45 -0
- package/dist/ui-glyphs.d.ts.map +1 -0
- 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
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
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":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
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;
|
|
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":"
|
|
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.
|
|
16
|
-
*
|
|
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
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
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":"
|
|
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;
|
|
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;
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
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;
|
|
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
|
-
|
|
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":"
|
|
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,
|
|
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;
|
|
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
|
-
*
|
|
5
|
-
*
|
|
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
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
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;
|
|
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"}
|