@wrongstack/tui 0.284.0 → 0.285.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/dist/app-initial-state.d.ts +26 -0
- package/dist/app-initial-state.d.ts.map +1 -0
- package/dist/app-reducer.d.ts +5 -0
- package/dist/app-reducer.d.ts.map +1 -0
- package/dist/app-state.d.ts +1801 -0
- package/dist/app-state.d.ts.map +1 -0
- package/dist/app.d.ts +579 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/clipboard.d.ts +2 -0
- package/dist/clipboard.d.ts.map +1 -0
- package/dist/components/agents-monitor.d.ts +49 -0
- package/dist/components/agents-monitor.d.ts.map +1 -0
- package/dist/components/animation-style.d.ts +51 -0
- package/dist/components/animation-style.d.ts.map +1 -0
- package/dist/components/audit-panel.d.ts +9 -0
- package/dist/components/audit-panel.d.ts.map +1 -0
- package/dist/components/auth-panel-model.d.ts +150 -0
- package/dist/components/auth-panel-model.d.ts.map +1 -0
- package/dist/components/auth-panel.d.ts +8 -0
- package/dist/components/auth-panel.d.ts.map +1 -0
- package/dist/components/autonomy-picker.d.ts +15 -0
- package/dist/components/autonomy-picker.d.ts.map +1 -0
- package/dist/components/brain-decision-prompt.d.ts +28 -0
- package/dist/components/brain-decision-prompt.d.ts.map +1 -0
- package/dist/components/brain-panel.d.ts +16 -0
- package/dist/components/brain-panel.d.ts.map +1 -0
- package/dist/components/checkpoint-timeline.d.ts +19 -0
- package/dist/components/checkpoint-timeline.d.ts.map +1 -0
- package/dist/components/confirm-prompt.d.ts +26 -0
- package/dist/components/confirm-prompt.d.ts.map +1 -0
- package/dist/components/continue-confirm-panel.d.ts +47 -0
- package/dist/components/continue-confirm-panel.d.ts.map +1 -0
- package/dist/components/coordinator-panel.d.ts +11 -0
- package/dist/components/coordinator-panel.d.ts.map +1 -0
- package/dist/components/design-picker.d.ts +14 -0
- package/dist/components/design-picker.d.ts.map +1 -0
- package/dist/components/enhance-panel.d.ts +36 -0
- package/dist/components/enhance-panel.d.ts.map +1 -0
- package/dist/components/esc-confirm-prompt.d.ts +17 -0
- package/dist/components/esc-confirm-prompt.d.ts.map +1 -0
- package/dist/components/f-key-picker.d.ts +13 -0
- package/dist/components/f-key-picker.d.ts.map +1 -0
- package/dist/components/file-picker.d.ts +8 -0
- package/dist/components/file-picker.d.ts.map +1 -0
- package/dist/components/fleet-monitor.d.ts +60 -0
- package/dist/components/fleet-monitor.d.ts.map +1 -0
- package/dist/components/fleet-panel.d.ts +69 -0
- package/dist/components/fleet-panel.d.ts.map +1 -0
- package/dist/components/goal-panel.d.ts +17 -0
- package/dist/components/goal-panel.d.ts.map +1 -0
- package/dist/components/help-overlay.d.ts +27 -0
- package/dist/components/help-overlay.d.ts.map +1 -0
- package/dist/components/help-panel.d.ts +16 -0
- package/dist/components/help-panel.d.ts.map +1 -0
- package/dist/components/history/assistant.d.ts +61 -0
- package/dist/components/history/assistant.d.ts.map +1 -0
- package/dist/components/history/banner.d.ts +13 -0
- package/dist/components/history/banner.d.ts.map +1 -0
- package/dist/components/history/code-block.d.ts +217 -0
- package/dist/components/history/code-block.d.ts.map +1 -0
- package/dist/components/history/entry.d.ts +19 -0
- package/dist/components/history/entry.d.ts.map +1 -0
- package/dist/components/history/index.d.ts +21 -0
- package/dist/components/history/index.d.ts.map +1 -0
- package/dist/components/history/replay.d.ts +44 -0
- package/dist/components/history/replay.d.ts.map +1 -0
- package/dist/components/history/types.d.ts +146 -0
- package/dist/components/history/types.d.ts.map +1 -0
- package/dist/components/history/utils.d.ts +65 -0
- package/dist/components/history/utils.d.ts.map +1 -0
- package/dist/components/history.d.ts +2 -0
- package/dist/components/history.d.ts.map +1 -0
- package/dist/components/input.d.ts +57 -0
- package/dist/components/input.d.ts.map +1 -0
- package/dist/components/kanban-panel.d.ts +7 -0
- package/dist/components/kanban-panel.d.ts.map +1 -0
- package/dist/components/key-hint-bar.d.ts +31 -0
- package/dist/components/key-hint-bar.d.ts.map +1 -0
- package/dist/components/live-activity-strip.d.ts +39 -0
- package/dist/components/live-activity-strip.d.ts.map +1 -0
- package/dist/components/mailbox-panel.d.ts +40 -0
- package/dist/components/mailbox-panel.d.ts.map +1 -0
- package/dist/components/mcp-picker.d.ts +18 -0
- package/dist/components/mcp-picker.d.ts.map +1 -0
- package/dist/components/mode-picker.d.ts +17 -0
- package/dist/components/mode-picker.d.ts.map +1 -0
- package/dist/components/model-picker.d.ts +32 -0
- package/dist/components/model-picker.d.ts.map +1 -0
- package/dist/components/phase-monitor.d.ts +33 -0
- package/dist/components/phase-monitor.d.ts.map +1 -0
- package/dist/components/phase-panel.d.ts +22 -0
- package/dist/components/phase-panel.d.ts.map +1 -0
- package/dist/components/plan-panel.d.ts +17 -0
- package/dist/components/plan-panel.d.ts.map +1 -0
- package/dist/components/plugin-picker.d.ts +22 -0
- package/dist/components/plugin-picker.d.ts.map +1 -0
- package/dist/components/process-list.d.ts +14 -0
- package/dist/components/process-list.d.ts.map +1 -0
- package/dist/components/project-picker.d.ts +21 -0
- package/dist/components/project-picker.d.ts.map +1 -0
- package/dist/components/prompt-picker.d.ts +31 -0
- package/dist/components/prompt-picker.d.ts.map +1 -0
- package/dist/components/provider-colors.d.ts +40 -0
- package/dist/components/provider-colors.d.ts.map +1 -0
- package/dist/components/queue-panel.d.ts +16 -0
- package/dist/components/queue-panel.d.ts.map +1 -0
- package/dist/components/resume-picker.d.ts +16 -0
- package/dist/components/resume-picker.d.ts.map +1 -0
- package/dist/components/scrollable-history.d.ts +60 -0
- package/dist/components/scrollable-history.d.ts.map +1 -0
- package/dist/components/sdd-board-overlay.d.ts +15 -0
- package/dist/components/sdd-board-overlay.d.ts.map +1 -0
- package/dist/components/send-mode-picker.d.ts +64 -0
- package/dist/components/send-mode-picker.d.ts.map +1 -0
- package/dist/components/sessions-panel.d.ts +46 -0
- package/dist/components/sessions-panel.d.ts.map +1 -0
- package/dist/components/settings-picker.d.ts +371 -0
- package/dist/components/settings-picker.d.ts.map +1 -0
- package/dist/components/shadow-panel.d.ts +13 -0
- package/dist/components/shadow-panel.d.ts.map +1 -0
- package/dist/components/shell-command-warning.d.ts +9 -0
- package/dist/components/shell-command-warning.d.ts.map +1 -0
- package/dist/components/slash-menu.d.ts +9 -0
- package/dist/components/slash-menu.d.ts.map +1 -0
- package/dist/components/status-bar.d.ts +378 -0
- package/dist/components/status-bar.d.ts.map +1 -0
- package/dist/components/statusline-picker.d.ts +55 -0
- package/dist/components/statusline-picker.d.ts.map +1 -0
- package/dist/components/suggestions.d.ts +9 -0
- package/dist/components/suggestions.d.ts.map +1 -0
- package/dist/components/todos-monitor.d.ts +13 -0
- package/dist/components/todos-monitor.d.ts.map +1 -0
- package/dist/components/tools-picker.d.ts +20 -0
- package/dist/components/tools-picker.d.ts.map +1 -0
- package/dist/components/worktree-monitor.d.ts +23 -0
- package/dist/components/worktree-monitor.d.ts.map +1 -0
- package/dist/components/worktree-panel.d.ts +21 -0
- package/dist/components/worktree-panel.d.ts.map +1 -0
- package/dist/f-key-panels.d.ts +46 -0
- package/dist/f-key-panels.d.ts.map +1 -0
- package/dist/file-search.d.ts +3 -0
- package/dist/file-search.d.ts.map +1 -0
- package/dist/fn-keys.d.ts +20 -0
- package/dist/fn-keys.d.ts.map +1 -0
- package/dist/git-info.d.ts +20 -0
- package/dist/git-info.d.ts.map +1 -0
- package/dist/heap-watchdog.d.ts +41 -0
- package/dist/heap-watchdog.d.ts.map +1 -0
- package/dist/highlight.d.ts +30 -0
- package/dist/highlight.d.ts.map +1 -0
- package/dist/hit-test.d.ts +75 -0
- package/dist/hit-test.d.ts.map +1 -0
- package/dist/hooks/use-auth-panel.d.ts +38 -0
- package/dist/hooks/use-auth-panel.d.ts.map +1 -0
- package/dist/hooks/use-autonomous-coordinator.d.ts +21 -0
- package/dist/hooks/use-autonomous-coordinator.d.ts.map +1 -0
- package/dist/hooks/use-brain-events.d.ts +7 -0
- package/dist/hooks/use-brain-events.d.ts.map +1 -0
- package/dist/hooks/use-director-fleet-bridge.d.ts +17 -0
- package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -0
- package/dist/hooks/use-file-search.d.ts +42 -0
- package/dist/hooks/use-file-search.d.ts.map +1 -0
- package/dist/hooks/use-input-history-persistence.d.ts +14 -0
- package/dist/hooks/use-input-history-persistence.d.ts.map +1 -0
- package/dist/hooks/use-mode-picker.d.ts +15 -0
- package/dist/hooks/use-mode-picker.d.ts.map +1 -0
- package/dist/hooks/use-paste-handling.d.ts +30 -0
- package/dist/hooks/use-paste-handling.d.ts.map +1 -0
- package/dist/hooks/use-picker-keys.d.ts +58 -0
- package/dist/hooks/use-picker-keys.d.ts.map +1 -0
- package/dist/hooks/use-prompt-picker.d.ts +28 -0
- package/dist/hooks/use-prompt-picker.d.ts.map +1 -0
- package/dist/hooks/use-queue-manager.d.ts +26 -0
- package/dist/hooks/use-queue-manager.d.ts.map +1 -0
- package/dist/hooks/use-statusline-hidden-sync.d.ts +14 -0
- package/dist/hooks/use-statusline-hidden-sync.d.ts.map +1 -0
- package/dist/hooks/use-statusline-state.d.ts +44 -0
- package/dist/hooks/use-statusline-state.d.ts.map +1 -0
- package/dist/hooks/use-stream-chip-expiration.d.ts +25 -0
- package/dist/hooks/use-stream-chip-expiration.d.ts.map +1 -0
- package/dist/hooks/use-subagent-events.d.ts +8 -0
- package/dist/hooks/use-subagent-events.d.ts.map +1 -0
- package/dist/hooks/use-token-counter-refresh.d.ts +30 -0
- package/dist/hooks/use-token-counter-refresh.d.ts.map +1 -0
- package/dist/hooks/use-tui-controllers.d.ts +31 -0
- package/dist/hooks/use-tui-controllers.d.ts.map +1 -0
- package/dist/hooks/use-tui-event-bridge.d.ts +29 -0
- package/dist/hooks/use-tui-event-bridge.d.ts.map +1 -0
- package/dist/hooks/use-working-dir-chip.d.ts +8 -0
- package/dist/hooks/use-working-dir-chip.d.ts.map +1 -0
- package/dist/index.d.ts +11 -910
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2633 -2188
- package/dist/index.js.map +7 -1
- package/dist/ink.d.ts +20 -0
- package/dist/ink.d.ts.map +1 -0
- package/dist/input-editing.d.ts +76 -0
- package/dist/input-editing.d.ts.map +1 -0
- package/dist/input-tokens.d.ts +65 -0
- package/dist/input-tokens.d.ts.map +1 -0
- package/dist/kill-slash.d.ts +3 -0
- package/dist/kill-slash.d.ts.map +1 -0
- package/dist/markdown-table.d.ts +45 -0
- package/dist/markdown-table.d.ts.map +1 -0
- package/dist/markdown.d.ts +47 -0
- package/dist/markdown.d.ts.map +1 -0
- package/dist/mouse.d.ts +73 -0
- package/dist/mouse.d.ts.map +1 -0
- package/dist/on-panel-open.d.ts +62 -0
- package/dist/on-panel-open.d.ts.map +1 -0
- package/dist/paste-accumulator.d.ts +19 -0
- package/dist/paste-accumulator.d.ts.map +1 -0
- package/dist/ps-slash.d.ts +7 -0
- package/dist/ps-slash.d.ts.map +1 -0
- package/dist/queue-slash.d.ts +24 -0
- package/dist/queue-slash.d.ts.map +1 -0
- package/dist/reducers/fleet.d.ts +16 -0
- package/dist/reducers/fleet.d.ts.map +1 -0
- package/dist/reducers/helpers.d.ts +38 -0
- package/dist/reducers/helpers.d.ts.map +1 -0
- package/dist/rehydrate-history.d.ts +40 -0
- package/dist/rehydrate-history.d.ts.map +1 -0
- package/dist/run-tui.d.ts +507 -0
- package/dist/run-tui.d.ts.map +1 -0
- package/dist/slash-command-search.d.ts +10 -0
- package/dist/slash-command-search.d.ts.map +1 -0
- package/dist/steering-preamble.d.ts +25 -0
- package/dist/steering-preamble.d.ts.map +1 -0
- package/dist/submit-history.d.ts +17 -0
- package/dist/submit-history.d.ts.map +1 -0
- package/dist/terminal-title.d.ts +12 -0
- package/dist/terminal-title.d.ts.map +1 -0
- package/dist/theme.d.ts +91 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/thinking-word.d.ts +26 -0
- package/dist/thinking-word.d.ts.map +1 -0
- package/dist/tool-glyph.d.ts +18 -0
- package/dist/tool-glyph.d.ts.map +1 -0
- package/package.json +8 -9
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface PlanPanelProps {
|
|
3
|
+
/** Absolute path to the project root. */
|
|
4
|
+
projectRoot: string;
|
|
5
|
+
/** Current session ID (null if no active session). */
|
|
6
|
+
sessionId: string | null;
|
|
7
|
+
/** Called when the user presses F5 / Esc to close. */
|
|
8
|
+
onClose: () => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Full-screen plan panel (F5 in TUI).
|
|
12
|
+
*
|
|
13
|
+
* Reads the active plan JSON file from disk and renders plan items grouped by status.
|
|
14
|
+
* Shows the current scope and a hint for switching scopes via the /plan tool.
|
|
15
|
+
*/
|
|
16
|
+
export declare function PlanPanel({ projectRoot, sessionId, onClose: _onClose }: PlanPanelProps): React.ReactElement;
|
|
17
|
+
//# sourceMappingURL=plan-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-panel.d.ts","sourceRoot":"","sources":["../../src/components/plan-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAwB/B,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sDAAsD;IACtD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA8BD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,cAAc,GAAG,KAAK,CAAC,YAAY,CAoJ3G"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface PluginPickerItem {
|
|
3
|
+
name: string;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
risk: 'low' | 'medium' | 'high';
|
|
6
|
+
summary: string;
|
|
7
|
+
/**
|
|
8
|
+
* When false the row is locked: the picker renders a 🔒 marker and ignores
|
|
9
|
+
* Enter/←/→ on it. The current built-in audit list is fully toggleable, but
|
|
10
|
+
* the component keeps this marker for future or externally supplied locked
|
|
11
|
+
* rows.
|
|
12
|
+
*/
|
|
13
|
+
lockable?: boolean | undefined;
|
|
14
|
+
}
|
|
15
|
+
export interface PluginPickerProps {
|
|
16
|
+
items: PluginPickerItem[];
|
|
17
|
+
selected: number;
|
|
18
|
+
busy?: boolean | undefined;
|
|
19
|
+
hint?: string | undefined;
|
|
20
|
+
}
|
|
21
|
+
export declare function PluginPicker({ items, selected, busy, hint, }: PluginPickerProps): React.ReactElement;
|
|
22
|
+
//# sourceMappingURL=plugin-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-picker.d.ts","sourceRoot":"","sources":["../../src/components/plugin-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAUD,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,IAAY,EACZ,IAAI,GACL,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA8DxC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* F8 — Process List Monitor.
|
|
4
|
+
*
|
|
5
|
+
* Live view of all background bash/exec processes tracked by the global
|
|
6
|
+
* ProcessRegistry. This panel OWNS the keyboard while open:
|
|
7
|
+
* every keystroke is captured here and NEVER reaches the chat input,
|
|
8
|
+
* because handleKey in app.tsx returns early when processListOpen is true
|
|
9
|
+
* (before it can modify the input buffer). This two-layer design —
|
|
10
|
+
* ProcessList's own useInput for shortcuts, handleKey's guard to suppress
|
|
11
|
+
* everything else — keeps the input field completely unaffected.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ProcessListMonitor(): React.ReactElement;
|
|
14
|
+
//# sourceMappingURL=process-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-list.d.ts","sourceRoot":"","sources":["../../src/components/process-list.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,YAAY,CAuIvD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/** A single row in the project picker. Matches the CLI's PickerItem shape. */
|
|
3
|
+
export interface ProjectPickerItem {
|
|
4
|
+
key: string;
|
|
5
|
+
label: string;
|
|
6
|
+
subtitle?: string | undefined;
|
|
7
|
+
meta?: string | undefined;
|
|
8
|
+
kind: 'project' | 'action';
|
|
9
|
+
}
|
|
10
|
+
export interface ProjectPickerProps {
|
|
11
|
+
/** Already-filtered items. Navigation indices target this list directly. */
|
|
12
|
+
items: ProjectPickerItem[];
|
|
13
|
+
/** Index into `items`. Guaranteed to never point at a divider. */
|
|
14
|
+
selected: number;
|
|
15
|
+
/** Current filter text (for the filter bar display only). */
|
|
16
|
+
filter: string;
|
|
17
|
+
/** Optional status/error hint shown below the list. */
|
|
18
|
+
hint?: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
export declare function ProjectPicker({ items, selected, filter, hint, }: ProjectPickerProps): React.ReactElement;
|
|
21
|
+
//# sourceMappingURL=project-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-picker.d.ts","sourceRoot":"","sources":["../../src/components/project-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAwBD,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,IAAI,GACL,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAqFzC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export interface PromptPickEntry {
|
|
3
|
+
slug: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
category: string;
|
|
7
|
+
source: string;
|
|
8
|
+
content: string;
|
|
9
|
+
favorite: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Apply the picker's category filter. catIndex 0 (= "all") returns everything;
|
|
13
|
+
* "★ favorites" filters by the favorite flag; "🕘 recent" orders by the
|
|
14
|
+
* recently-used slug list (most-recent first).
|
|
15
|
+
*/
|
|
16
|
+
export declare function filterPromptPicker(all: PromptPickEntry[], categories: string[], catIndex: number, recentSlugs?: string[]): PromptPickEntry[];
|
|
17
|
+
export interface PromptPickerProps {
|
|
18
|
+
/** Already-filtered entries for the active category. */
|
|
19
|
+
entries: PromptPickEntry[];
|
|
20
|
+
selected: number;
|
|
21
|
+
category: string;
|
|
22
|
+
total: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Prompt library picker overlay (opened by a bare `/prompt` in the TUI).
|
|
26
|
+
* Presentational only — navigation/category/selection state lives in the
|
|
27
|
+
* reducer; Enter sets the input buffer to the chosen prompt's content (with
|
|
28
|
+
* any `{{variables}}` left in place for the user to fill inline).
|
|
29
|
+
*/
|
|
30
|
+
export declare function PromptPicker({ entries, selected, category, total }: PromptPickerProps): React.ReactElement;
|
|
31
|
+
//# sourceMappingURL=prompt-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-picker.d.ts","sourceRoot":"","sources":["../../src/components/prompt-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAmBD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,eAAe,EAAE,EACtB,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAM,EAAO,GACzB,eAAe,EAAE,CASnB;AAMD,MAAM,WAAW,iBAAiB;IAChC,wDAAwD;IACxD,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAyB1G"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared provider-family → Ink color mapping for the TUI model picker,
|
|
3
|
+
* auth panel, and statusline. All values are hex strings compatible with
|
|
4
|
+
* Ink's `<Text color="...">` prop.
|
|
5
|
+
*
|
|
6
|
+
* Palette is aligned with Catppuccin Mocha pastels from animation-style.tsx
|
|
7
|
+
* so the whole TUI feels cohesive.
|
|
8
|
+
*/
|
|
9
|
+
/** Return a hex color for a known provider family, or a neutral fallback. */
|
|
10
|
+
export declare function colorForFamily(family: string | undefined): string;
|
|
11
|
+
/** Return a dimmer variant (used for unselected / secondary text). */
|
|
12
|
+
export declare function dimColorForFamily(family: string | undefined): string;
|
|
13
|
+
/** Map a provider or OAuth kind to a badge-like color label. */
|
|
14
|
+
export declare function badgeForKind(kind: 'oauth' | 'api_key' | 'session_token' | undefined): {
|
|
15
|
+
label: string;
|
|
16
|
+
color: string;
|
|
17
|
+
} | undefined;
|
|
18
|
+
/** Colors for the three OAuth kinds shown in the auth panel. */
|
|
19
|
+
export declare const OAUTH_KIND_COLORS: Record<string, string>;
|
|
20
|
+
/** Semantic UI colors used across auth / model panels. */
|
|
21
|
+
export declare const UI_COLORS: {
|
|
22
|
+
readonly focused: '#89b4fa';
|
|
23
|
+
readonly active: '#a6e3a1';
|
|
24
|
+
readonly inactive: '#585b70';
|
|
25
|
+
readonly warning: '#f9e2af';
|
|
26
|
+
readonly error: '#f38ba8';
|
|
27
|
+
readonly hint: '#f9e2af';
|
|
28
|
+
readonly border: '#89b4fa';
|
|
29
|
+
readonly title: '#89b4fa';
|
|
30
|
+
readonly selectedModel: '#89b4fa';
|
|
31
|
+
readonly dimmed: string | undefined;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Statusline item category colors — imported by status-bar.tsx and
|
|
35
|
+
* statusline-picker.tsx so chips are distinguishable at a glance.
|
|
36
|
+
*
|
|
37
|
+
* Keys match `StatuslineItem` union member names.
|
|
38
|
+
*/
|
|
39
|
+
export declare const STATUSLINE_ITEM_COLORS: Record<string, string>;
|
|
40
|
+
//# sourceMappingURL=provider-colors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-colors.d.ts","sourceRoot":"","sources":["../../src/components/provider-colors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEpE;AA4CD,gEAAgE;AAChE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,GACtD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAS9C;AAED,gEAAgE;AAChE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIpD,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,SAAS;aACpB,OAAO,EAAE,SAAS;aAClB,MAAM,EAAE,SAAS;aACjB,QAAQ,EAAE,SAAS;aACnB,OAAO,EAAE,SAAS;aAClB,KAAK,EAAE,SAAS;aAChB,IAAI,EAAE,SAAS;aACf,MAAM,EAAE,SAAS;aACjB,KAAK,EAAE,SAAS;aAChB,aAAa,EAAE,SAAS;aACxB,MAAM,EAAe,MAAM,GAAG,SAAS;CAC/B,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8CzD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ContentBlock } from '@wrongstack/core';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
export interface QueueItem {
|
|
4
|
+
id: number;
|
|
5
|
+
displayText: string;
|
|
6
|
+
blocks: ContentBlock[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Compact queue panel. Shows pending messages with position numbers,
|
|
10
|
+
* auto-truncated labels, and a "+N more" overflow indicator. Designed
|
|
11
|
+
* to sit beside the chat area like the CompactTodosPanel.
|
|
12
|
+
*/
|
|
13
|
+
export declare function QueuePanel({ items }: {
|
|
14
|
+
items: QueueItem[];
|
|
15
|
+
}): React.ReactElement;
|
|
16
|
+
//# sourceMappingURL=queue-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue-panel.d.ts","sourceRoot":"","sources":["../../src/components/queue-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG,KAAK,CAAC,YAAY,CAuDhF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { ResumeSessionEntry } from '../app.js';
|
|
3
|
+
export interface ResumePickerProps {
|
|
4
|
+
sessions: ResumeSessionEntry[];
|
|
5
|
+
selected: number;
|
|
6
|
+
busy: boolean;
|
|
7
|
+
error?: string | undefined;
|
|
8
|
+
hint?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Interactive session-resume picker. Renders a scrollable list of recent
|
|
12
|
+
* sessions with metadata (id, date, tokens, tools, outcome badge) so the user
|
|
13
|
+
* can pick one to resume. The current session is grayed out and non-selectable.
|
|
14
|
+
*/
|
|
15
|
+
export declare function ResumePicker({ sessions, selected, busy, error, hint, }: ResumePickerProps): React.ReactElement;
|
|
16
|
+
//# sourceMappingURL=resume-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume-picker.d.ts","sourceRoot":"","sources":["../../src/components/resume-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEpD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,IAAI,GACL,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAqExC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { type HistoryEntry, type HistoryProps } from './history.js';
|
|
3
|
+
export interface ScrollableHistoryProps extends HistoryProps {
|
|
4
|
+
/** Lines scrolled up from the bottom. 0 = pinned to the newest output. */
|
|
5
|
+
scrollOffset: number;
|
|
6
|
+
/** Height of the viewport in rows, computed by App from the bottom region. */
|
|
7
|
+
viewportRows: number;
|
|
8
|
+
/** Last measured total content height (rows). Drives the scrollbar thumb. */
|
|
9
|
+
totalLines: number;
|
|
10
|
+
/** Reports the measured total content height (rows) after every layout so
|
|
11
|
+
* App can clamp the scroll offset and drive the "N new lines" affordance. */
|
|
12
|
+
onMeasure: (totalLines: number) => void;
|
|
13
|
+
/** Optional cap on the width used for entry wrapping (right panel mode). */
|
|
14
|
+
maxWidth?: number | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Right-edge scrollbar for the managed viewport. A 1-column track with a thumb
|
|
18
|
+
* sized + positioned from (scrollOffset, totalLines, viewportRows). Always
|
|
19
|
+
* reserves its column so toggling scrollability doesn't reflow the content.
|
|
20
|
+
*/
|
|
21
|
+
/** Pure thumb geometry for the scrollbar: where the thumb starts and how many
|
|
22
|
+
* cells it spans, given the track height, scroll offset, and total content
|
|
23
|
+
* height. Exported for testing. */
|
|
24
|
+
export declare function scrollbarThumb(rows: number, offset: number, total: number): {
|
|
25
|
+
top: number;
|
|
26
|
+
size: number;
|
|
27
|
+
scrollable: boolean;
|
|
28
|
+
};
|
|
29
|
+
/** Inverse of {@link scrollbarThumb}: given a clicked/dragged 0-based cell on a
|
|
30
|
+
* track of `rows` height, return the scroll offset (rows up from the bottom)
|
|
31
|
+
* that lands the visible window there. Cell 0 (top) → oldest content (max
|
|
32
|
+
* offset); cell rows-1 (bottom) → newest (offset 0). Exported for testing and
|
|
33
|
+
* the TUI scrollbar mouse handler. */
|
|
34
|
+
export declare function scrollOffsetForTrackRow(rows: number, total: number, cell: number): number;
|
|
35
|
+
/**
|
|
36
|
+
* Mouse-mode replacement for {@link History}. Instead of streaming each entry
|
|
37
|
+
* into the terminal's native scrollback via `<Static>`, it renders all entries
|
|
38
|
+
* into a fixed-height, `overflowY:'hidden'` viewport that the app scrolls
|
|
39
|
+
* itself. The terminal's wheel is captured by mouse mode, so scrolling MUST be
|
|
40
|
+
* managed here.
|
|
41
|
+
*
|
|
42
|
+
* Mechanism (Ink-5 verified): the parent Box is height-bounded with
|
|
43
|
+
* `justifyContent:'flex-end'`, so when content overflows, its BOTTOM aligns to
|
|
44
|
+
* the viewport bottom — newest output visible, oldest clipped off the top. That
|
|
45
|
+
* is the pinned (offset 0) state for free, with no height math. Scrolling up is
|
|
46
|
+
* a single `marginBottom={scrollOffset}` on the content box: it pushes the
|
|
47
|
+
* content up, dropping `scrollOffset` rows off the bottom of the clip and
|
|
48
|
+
* revealing that many older rows at the top. Ink's output clipper slices the
|
|
49
|
+
* over/underflowing child at both edges while preserving ANSI styling.
|
|
50
|
+
*
|
|
51
|
+
* Streaming tails (assistant + tool) are the last children of the content box,
|
|
52
|
+
* so they participate in the scrolled content and auto-follow when pinned.
|
|
53
|
+
*
|
|
54
|
+
* Wrapped in `React.memo` so keystrokes in the input buffer don't
|
|
55
|
+
* trigger a full managed-viewport re-layout. All props are primitives
|
|
56
|
+
* or stable reducer references.
|
|
57
|
+
*/
|
|
58
|
+
export declare const ScrollableHistory: React.MemoExoticComponent<({ entries, streamingText, toolStream, scrollOffset, viewportRows, totalLines, onMeasure, maxWidth, setSuggestions, autonomyMode, todos, }: ScrollableHistoryProps) => React.ReactElement>;
|
|
59
|
+
export type { HistoryEntry };
|
|
60
|
+
//# sourceMappingURL=scrollable-history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrollable-history.d.ts","sourceRoot":"","sources":["../../src/components/scrollable-history.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,YAAY,EAIlB,MAAM,cAAc,CAAC;AAOtB,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAC;IACnB;kFAC8E;IAC9E,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED;;;;GAIG;AACH;;oCAEoC;AACpC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CASpD;AAED;;;;uCAIuC;AACvC,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMzF;AA2BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,iBAAiB,wKAY3B,sBAAsB,KAAG,KAAK,CAAC,YAAY,CA8E5C,CAAC;AAGH,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SddBoardSnapshot } from '@wrongstack/sdd';
|
|
2
|
+
import type React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Full-screen live SDD board overlay (Ctrl+B in TUI).
|
|
5
|
+
*
|
|
6
|
+
* Renders the CLI-owned multi-agent SDD run as FORGE-style topological
|
|
7
|
+
* dependency columns (Start / Phase N), with the live worker + worktree on
|
|
8
|
+
* each card. Read-only mirror of the EventBus `sdd.board.snapshot`; steering
|
|
9
|
+
* happens from the WebUI or slash commands.
|
|
10
|
+
*/
|
|
11
|
+
export declare function SddBoardOverlay({ snapshot, focusColumn, }: {
|
|
12
|
+
snapshot: SddBoardSnapshot;
|
|
13
|
+
focusColumn?: number | null | undefined;
|
|
14
|
+
}): React.ReactElement;
|
|
15
|
+
//# sourceMappingURL=sdd-board-overlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdd-board-overlay.d.ts","sourceRoot":"","sources":["../../src/components/sdd-board-overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4E/B;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,GAAG,KAAK,CAAC,YAAY,CAkGrB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* How a plain message typed mid-run should be delivered to the agent.
|
|
4
|
+
* Mirrors the WebUI's `QueueMode` vocabulary (ChatInput.tsx).
|
|
5
|
+
*/
|
|
6
|
+
export type SendMode = 'queue' | 'btw' | 'steer';
|
|
7
|
+
export interface SendModeOption {
|
|
8
|
+
mode: SendMode;
|
|
9
|
+
/** Quick-select key (lower-case). */
|
|
10
|
+
key: string;
|
|
11
|
+
label: string;
|
|
12
|
+
description: string;
|
|
13
|
+
color: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The three delivery modes, Queue first so it is the default highlight and
|
|
17
|
+
* the safest no-op-to-in-flight-work choice. Order is load-bearing: the
|
|
18
|
+
* reducer indexes selection into this array.
|
|
19
|
+
*/
|
|
20
|
+
export declare const SEND_MODE_OPTIONS: SendModeOption[];
|
|
21
|
+
/**
|
|
22
|
+
* Clamp-free wrap-around index move. `delta` is +1 (down) / -1 (up).
|
|
23
|
+
* Pure — unit-tested independently of Ink.
|
|
24
|
+
*/
|
|
25
|
+
export declare function nextSendModeIndex(selected: number, delta: number, len: number): number;
|
|
26
|
+
/** A minimal structural view of the key event — keeps the helper pure/testable. */
|
|
27
|
+
export interface SendModeKey {
|
|
28
|
+
upArrow?: boolean | undefined;
|
|
29
|
+
downArrow?: boolean | undefined;
|
|
30
|
+
return?: boolean | undefined;
|
|
31
|
+
escape?: boolean | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Map a keypress to a picker decision. Returns:
|
|
35
|
+
* - a `SendMode` when the user committed a choice (quick-key or Enter),
|
|
36
|
+
* - `'cancel'` on Esc,
|
|
37
|
+
* - `null` when the key only moves the selection / is irrelevant
|
|
38
|
+
* (the caller handles `↑/↓` movement separately).
|
|
39
|
+
*
|
|
40
|
+
* Pure: no Ink, no React. The single source of truth for key semantics.
|
|
41
|
+
*/
|
|
42
|
+
export declare function sendModeFromKey(input: string, key: SendModeKey, selected: number): SendMode | 'cancel' | null;
|
|
43
|
+
export declare function formatSendModeMessagePreview(text: string, maxChars?: number): string;
|
|
44
|
+
export interface SendModePickerProps {
|
|
45
|
+
selected: number;
|
|
46
|
+
/** The message being routed, shown so the modal question has context. */
|
|
47
|
+
messagePreview?: string | undefined;
|
|
48
|
+
/** Move the highlight by `delta` (caller clamps/wraps via nextSendModeIndex). */
|
|
49
|
+
onMove: (delta: number) => void;
|
|
50
|
+
/** Commit a decision (quick-key / Enter) or cancel (Esc → 'cancel'). */
|
|
51
|
+
onSelect: (decision: SendMode | 'cancel') => void;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Modal shown when the user submits a plain message while the agent is busy.
|
|
55
|
+
* Self-contained input handling (own `useInput`) like {@link EscConfirmPrompt};
|
|
56
|
+
* the main input is gated off via a handleKey early-return while this is open.
|
|
57
|
+
*
|
|
58
|
+
* - q / b / s → pick that mode immediately
|
|
59
|
+
* - ↑ / ↓ → move the highlight
|
|
60
|
+
* - Enter → pick the highlighted mode
|
|
61
|
+
* - Esc → cancel (caller treats this as Queue — text is never lost)
|
|
62
|
+
*/
|
|
63
|
+
export declare function SendModePicker({ selected, messagePreview, onMove, onSelect, }: SendModePickerProps): React.ReactElement;
|
|
64
|
+
//# sourceMappingURL=send-mode-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-mode-picker.d.ts","sourceRoot":"","sources":["../../src/components/send-mode-picker.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,qCAAqC;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAsB7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGtF;AAED,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,MAAM,GACf,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAO5B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAM,GAAG,MAAM,CAIjF;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,iFAAiF;IACjF,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,wEAAwE;IACxE,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;CACnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAwC1C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
/** A single session row from the SessionRegistry, exposed via WebSocket. */
|
|
3
|
+
export interface LiveSessionEntry {
|
|
4
|
+
sessionId: string;
|
|
5
|
+
projectName: string;
|
|
6
|
+
projectSlug: string;
|
|
7
|
+
projectRoot?: string | undefined;
|
|
8
|
+
workingDir: string;
|
|
9
|
+
gitBranch?: string | undefined;
|
|
10
|
+
status: string;
|
|
11
|
+
pid: number;
|
|
12
|
+
startedAt: string;
|
|
13
|
+
agentCount: number;
|
|
14
|
+
agents: LiveAgentEntry[];
|
|
15
|
+
}
|
|
16
|
+
export interface LiveAgentEntry {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
status: string;
|
|
20
|
+
currentTool?: string | undefined;
|
|
21
|
+
iterations: number;
|
|
22
|
+
toolCalls: number;
|
|
23
|
+
lastActivityAt: string;
|
|
24
|
+
}
|
|
25
|
+
export interface SessionsPanelProps {
|
|
26
|
+
sessions: LiveSessionEntry[];
|
|
27
|
+
/** True while the data is being fetched. */
|
|
28
|
+
busy: boolean;
|
|
29
|
+
/** Selected index for arrow-key navigation. */
|
|
30
|
+
selected: number;
|
|
31
|
+
/**
|
|
32
|
+
* When set, the panel shows a confirmation prompt for session resume.
|
|
33
|
+
* Press Enter again to confirm, Esc to cancel.
|
|
34
|
+
*/
|
|
35
|
+
resumeConfirm?: {
|
|
36
|
+
sessionName: string;
|
|
37
|
+
} | undefined;
|
|
38
|
+
/** The current session ID — highlighted with a ● marker. */
|
|
39
|
+
currentSessionId?: string | undefined;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Full-width panel showing all live sessions tracked by the SessionRegistry.
|
|
43
|
+
* Opened with F10. Mirrors the output of /sessions status.
|
|
44
|
+
*/
|
|
45
|
+
export declare function SessionsPanel({ sessions, busy, selected, resumeConfirm, currentSessionId, }: SessionsPanelProps): React.ReactElement;
|
|
46
|
+
//# sourceMappingURL=sessions-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions-panel.d.ts","sourceRoot":"","sources":["../../src/components/sessions-panel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,4CAA4C;IAC5C,IAAI,EAAE,OAAO,CAAC;IACd,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACpD,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAsCD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,gBAAgB,GACjB,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAsFzC"}
|