@wrongstack/tui 0.295.1 → 0.296.3
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-action-type.d.ts +988 -0
- package/dist/app-action-type.d.ts.map +1 -0
- package/dist/app-initial-state.d.ts +1 -1
- package/dist/app-initial-state.d.ts.map +1 -1
- package/dist/app-key-handler.d.ts +11 -3
- package/dist/app-key-handler.d.ts.map +1 -1
- package/dist/app-props.d.ts +4 -2
- package/dist/app-props.d.ts.map +1 -1
- package/dist/app-reducer.d.ts +4 -2
- package/dist/app-reducer.d.ts.map +1 -1
- package/dist/app-settings-type.d.ts +75 -0
- package/dist/app-settings-type.d.ts.map +1 -0
- package/dist/app-state-core-types.d.ts +52 -0
- package/dist/app-state-core-types.d.ts.map +1 -0
- package/dist/app-state-fleet.d.ts +44 -0
- package/dist/app-state-fleet.d.ts.map +1 -0
- package/dist/app-state.d.ts +49 -1180
- package/dist/app-state.d.ts.map +1 -1
- package/dist/app-ui-state.d.ts +5 -0
- package/dist/app-ui-state.d.ts.map +1 -0
- package/dist/app-view-contract.d.ts +8 -1
- package/dist/app-view-contract.d.ts.map +1 -1
- package/dist/app-view.d.ts.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/brain-panel-model.d.ts +8 -0
- package/dist/brain-panel-model.d.ts.map +1 -1
- package/dist/clipboard.d.ts +1 -1
- package/dist/clipboard.d.ts.map +1 -1
- package/dist/components/agents-monitor-constants.d.ts +12 -0
- package/dist/components/agents-monitor-constants.d.ts.map +1 -0
- package/dist/components/agents-monitor.d.ts +1 -7
- package/dist/components/agents-monitor.d.ts.map +1 -1
- package/dist/components/auth-panel.d.ts +2 -0
- package/dist/components/auth-panel.d.ts.map +1 -1
- package/dist/components/brain-panel.d.ts.map +1 -1
- package/dist/components/connections-panel.d.ts +7 -0
- package/dist/components/connections-panel.d.ts.map +1 -0
- package/dist/components/f-key-picker.d.ts.map +1 -1
- package/dist/components/history/basic-format.d.ts +19 -0
- package/dist/components/history/basic-format.d.ts.map +1 -0
- package/dist/components/history/code-block-diff-helpers.d.ts +28 -0
- package/dist/components/history/code-block-diff-helpers.d.ts.map +1 -0
- package/dist/components/history/code-block.d.ts +1 -1
- package/dist/components/history/code-block.d.ts.map +1 -1
- package/dist/components/history/copy-icon.d.ts +25 -0
- package/dist/components/history/copy-icon.d.ts.map +1 -0
- package/dist/components/history/entry.d.ts.map +1 -1
- package/dist/components/history/index.d.ts +5 -6
- package/dist/components/history/index.d.ts.map +1 -1
- package/dist/components/history/sage-output-format.d.ts +58 -0
- package/dist/components/history/sage-output-format.d.ts.map +1 -0
- package/dist/components/history/stream-box.d.ts +23 -0
- package/dist/components/history/stream-box.d.ts.map +1 -0
- package/dist/components/history/tool-arg-format.d.ts +5 -0
- package/dist/components/history/tool-arg-format.d.ts.map +1 -0
- package/dist/components/history/tool-group.d.ts.map +1 -1
- package/dist/components/history/tool-output-summary.d.ts +4 -0
- package/dist/components/history/tool-output-summary.d.ts.map +1 -0
- package/dist/components/history/tool-visual-command.d.ts +3 -0
- package/dist/components/history/tool-visual-command.d.ts.map +1 -0
- package/dist/components/history/tool-visual-domain.d.ts +8 -0
- package/dist/components/history/tool-visual-domain.d.ts.map +1 -0
- package/dist/components/history/tool-visual-format.d.ts +13 -0
- package/dist/components/history/tool-visual-format.d.ts.map +1 -0
- package/dist/components/history/tool-visual-lsp.d.ts +4 -0
- package/dist/components/history/tool-visual-lsp.d.ts.map +1 -0
- package/dist/components/history/tool-visual-misc.d.ts +7 -0
- package/dist/components/history/tool-visual-misc.d.ts.map +1 -0
- package/dist/components/history/tool-visual-mode-workdir.d.ts +4 -0
- package/dist/components/history/tool-visual-mode-workdir.d.ts.map +1 -0
- package/dist/components/history/tool-visual-types.d.ts +9 -0
- package/dist/components/history/tool-visual-types.d.ts.map +1 -0
- package/dist/components/history/utils.d.ts +16 -54
- package/dist/components/history/utils.d.ts.map +1 -1
- package/dist/components/history/visual-lines.d.ts +7 -0
- package/dist/components/history/visual-lines.d.ts.map +1 -0
- package/dist/components/history/visual-memory-logs.d.ts +4 -0
- package/dist/components/history/visual-memory-logs.d.ts.map +1 -0
- package/dist/components/input.d.ts.map +1 -1
- package/dist/components/kanban-panel.d.ts.map +1 -1
- package/dist/components/key-hint-bar.d.ts +11 -0
- package/dist/components/key-hint-bar.d.ts.map +1 -1
- package/dist/components/powerline-rail.d.ts +11 -4
- package/dist/components/powerline-rail.d.ts.map +1 -1
- package/dist/components/provider-colors.d.ts.map +1 -1
- package/dist/components/refine-countdown-panel.d.ts +25 -0
- package/dist/components/refine-countdown-panel.d.ts.map +1 -0
- package/dist/components/refine-failure-panel.d.ts +3 -1
- package/dist/components/refine-failure-panel.d.ts.map +1 -1
- package/dist/components/resume-picker.d.ts.map +1 -1
- package/dist/components/scrollable-history.d.ts +96 -17
- package/dist/components/scrollable-history.d.ts.map +1 -1
- package/dist/components/settings-picker-filter.d.ts +20 -0
- package/dist/components/settings-picker-filter.d.ts.map +1 -0
- package/dist/components/settings-picker-jumps.d.ts +16 -0
- package/dist/components/settings-picker-jumps.d.ts.map +1 -0
- package/dist/components/settings-picker-model.d.ts +271 -0
- package/dist/components/settings-picker-model.d.ts.map +1 -0
- package/dist/components/settings-picker-row-list.d.ts +21 -0
- package/dist/components/settings-picker-row-list.d.ts.map +1 -0
- package/dist/components/settings-picker.d.ts +8 -313
- package/dist/components/settings-picker.d.ts.map +1 -1
- package/dist/components/status-bar-format.d.ts +65 -0
- package/dist/components/status-bar-format.d.ts.map +1 -0
- package/dist/components/status-bar-helpers.d.ts +19 -0
- package/dist/components/status-bar-helpers.d.ts.map +1 -0
- package/dist/components/status-bar-types.d.ts +350 -0
- package/dist/components/status-bar-types.d.ts.map +1 -0
- package/dist/components/status-bar.d.ts +4 -444
- package/dist/components/status-bar.d.ts.map +1 -1
- package/dist/components/statusline-detail-panel.d.ts.map +1 -1
- package/dist/components/statusline-picker.d.ts +5 -3
- package/dist/components/statusline-picker.d.ts.map +1 -1
- package/dist/connections-health.d.ts +39 -0
- package/dist/connections-health.d.ts.map +1 -0
- package/dist/connections-slash.d.ts +12 -0
- package/dist/connections-slash.d.ts.map +1 -0
- package/dist/esc-close-panels.d.ts.map +1 -1
- package/dist/f-key-panels.d.ts +4 -2
- package/dist/f-key-panels.d.ts.map +1 -1
- package/dist/heap-watchdog.d.ts.map +1 -1
- package/dist/height-cache.d.ts.map +1 -1
- package/dist/history-archive.d.ts +69 -0
- package/dist/history-archive.d.ts.map +1 -0
- package/dist/history-entry.d.ts +52 -0
- package/dist/history-entry.d.ts.map +1 -1
- package/dist/hit-test.d.ts +3 -4
- package/dist/hit-test.d.ts.map +1 -1
- package/dist/hooks/use-app-picker-keys.d.ts +3 -2
- package/dist/hooks/use-app-picker-keys.d.ts.map +1 -1
- package/dist/hooks/use-app-runtime-refs.d.ts +38 -0
- package/dist/hooks/use-app-runtime-refs.d.ts.map +1 -0
- package/dist/hooks/use-app-session-state.d.ts +28 -0
- package/dist/hooks/use-app-session-state.d.ts.map +1 -0
- package/dist/hooks/use-autonomy-drivers.d.ts +1 -1
- package/dist/hooks/use-autonomy-drivers.d.ts.map +1 -1
- package/dist/hooks/use-brain-panel.d.ts +1 -1
- package/dist/hooks/use-brain-panel.d.ts.map +1 -1
- package/dist/hooks/use-brain-risk-sync.d.ts +11 -0
- package/dist/hooks/use-brain-risk-sync.d.ts.map +1 -0
- package/dist/hooks/use-client-telemetry.d.ts +1 -1
- package/dist/hooks/use-client-telemetry.d.ts.map +1 -1
- package/dist/hooks/use-core-tui-commands.d.ts +2 -1
- package/dist/hooks/use-core-tui-commands.d.ts.map +1 -1
- package/dist/hooks/use-director-fleet-bridge.d.ts.map +1 -1
- package/dist/hooks/use-enhance-runtime-state.d.ts +23 -0
- package/dist/hooks/use-enhance-runtime-state.d.ts.map +1 -0
- package/dist/hooks/use-git-session-status.d.ts.map +1 -1
- package/dist/hooks/use-help-panel.d.ts +6 -0
- package/dist/hooks/use-help-panel.d.ts.map +1 -0
- package/dist/hooks/use-history-copy-notice.d.ts +4 -0
- package/dist/hooks/use-history-copy-notice.d.ts.map +1 -0
- package/dist/hooks/use-history-viewport-sync.d.ts +13 -0
- package/dist/hooks/use-history-viewport-sync.d.ts.map +1 -0
- package/dist/hooks/use-initial-prompt.d.ts +1 -1
- package/dist/hooks/use-initial-prompt.d.ts.map +1 -1
- package/dist/hooks/use-interrupt-ladder.d.ts +2 -1
- package/dist/hooks/use-interrupt-ladder.d.ts.map +1 -1
- package/dist/hooks/use-kanban-board-focus.d.ts +8 -0
- package/dist/hooks/use-kanban-board-focus.d.ts.map +1 -0
- package/dist/hooks/use-live-settings-state.d.ts +20 -0
- package/dist/hooks/use-live-settings-state.d.ts.map +1 -0
- package/dist/hooks/use-mailbox-view-model.d.ts.map +1 -1
- package/dist/hooks/use-model-pick.d.ts +1 -1
- package/dist/hooks/use-model-pick.d.ts.map +1 -1
- package/dist/hooks/use-mouse-tracking.d.ts +15 -0
- package/dist/hooks/use-mouse-tracking.d.ts.map +1 -0
- package/dist/hooks/use-next-steps-auto-submit.d.ts +2 -1
- package/dist/hooks/use-next-steps-auto-submit.d.ts.map +1 -1
- package/dist/hooks/use-panel-controllers.d.ts +2 -1
- package/dist/hooks/use-panel-controllers.d.ts.map +1 -1
- package/dist/hooks/use-picker-keys-types.d.ts +56 -0
- package/dist/hooks/use-picker-keys-types.d.ts.map +1 -0
- package/dist/hooks/use-picker-keys.d.ts +2 -64
- package/dist/hooks/use-picker-keys.d.ts.map +1 -1
- package/dist/hooks/use-provider-event-bridge.d.ts +1 -1
- package/dist/hooks/use-provider-event-bridge.d.ts.map +1 -1
- package/dist/hooks/use-session-interrupt-controller.d.ts +6 -1
- package/dist/hooks/use-session-interrupt-controller.d.ts.map +1 -1
- package/dist/hooks/use-settings-auto-save.d.ts +2 -1
- package/dist/hooks/use-settings-auto-save.d.ts.map +1 -1
- package/dist/hooks/use-shadow-panel.d.ts +17 -0
- package/dist/hooks/use-shadow-panel.d.ts.map +1 -0
- package/dist/hooks/use-slash-picker.d.ts +2 -1
- package/dist/hooks/use-slash-picker.d.ts.map +1 -1
- package/dist/hooks/use-stable-key-handler.d.ts +5 -0
- package/dist/hooks/use-stable-key-handler.d.ts.map +1 -0
- package/dist/hooks/use-statusbar-view-model.d.ts.map +1 -1
- package/dist/hooks/use-subagent-events.d.ts.map +1 -1
- package/dist/hooks/use-terminal-render-lifecycle.d.ts.map +1 -1
- package/dist/hooks/use-todos-auto-clear.d.ts +3 -0
- package/dist/hooks/use-todos-auto-clear.d.ts.map +1 -0
- package/dist/hooks/use-tui-activity.d.ts +7 -1
- package/dist/hooks/use-tui-activity.d.ts.map +1 -1
- package/dist/hooks/use-tui-environment-state.d.ts +1 -0
- package/dist/hooks/use-tui-environment-state.d.ts.map +1 -1
- package/dist/hooks/use-tui-slash-commands.d.ts +2 -1
- package/dist/hooks/use-tui-slash-commands.d.ts.map +1 -1
- package/dist/index.js +22376 -20119
- package/dist/index.js.map +4 -4
- package/dist/input-validation/action-helpers.d.ts +12 -0
- package/dist/input-validation/action-helpers.d.ts.map +1 -0
- package/dist/input-validation/action-types.d.ts +4 -0
- package/dist/input-validation/action-types.d.ts.map +1 -0
- package/dist/input-validation/allow-lists.d.ts +29 -0
- package/dist/input-validation/allow-lists.d.ts.map +1 -0
- package/dist/input-validation/limits.d.ts +27 -0
- package/dist/input-validation/limits.d.ts.map +1 -0
- package/dist/input-validation/result.d.ts +10 -0
- package/dist/input-validation/result.d.ts.map +1 -0
- package/dist/input-validation/state-entries.d.ts +22 -0
- package/dist/input-validation/state-entries.d.ts.map +1 -0
- package/dist/input-validation/terminal.d.ts +69 -0
- package/dist/input-validation/terminal.d.ts.map +1 -0
- package/dist/input-validation.d.ts +7 -176
- package/dist/input-validation.d.ts.map +1 -1
- package/dist/layout-engine.d.ts +5 -1
- package/dist/layout-engine.d.ts.map +1 -1
- package/dist/layout-store.d.ts.map +1 -1
- package/dist/mailbox-view-model-types.d.ts +19 -0
- package/dist/mailbox-view-model-types.d.ts.map +1 -0
- package/dist/memory-context-monitor.d.ts +6 -0
- package/dist/memory-context-monitor.d.ts.map +1 -1
- package/dist/memory-slash-format.d.ts +10 -0
- package/dist/memory-slash-format.d.ts.map +1 -0
- package/dist/memory-slash.d.ts.map +1 -1
- package/dist/mouse.d.ts +11 -4
- package/dist/mouse.d.ts.map +1 -1
- package/dist/on-panel-open.d.ts +1 -1
- package/dist/on-panel-open.d.ts.map +1 -1
- package/dist/overlay-key-router.d.ts +1 -1
- package/dist/overlay-key-router.d.ts.map +1 -1
- package/dist/reducers/activity.d.ts +2 -1
- package/dist/reducers/activity.d.ts.map +1 -1
- package/dist/reducers/composer.d.ts +2 -1
- package/dist/reducers/composer.d.ts.map +1 -1
- package/dist/reducers/conversation.d.ts +3 -2
- package/dist/reducers/conversation.d.ts.map +1 -1
- package/dist/reducers/dialogs.d.ts +3 -2
- package/dist/reducers/dialogs.d.ts.map +1 -1
- package/dist/reducers/fleet.d.ts +2 -1
- package/dist/reducers/fleet.d.ts.map +1 -1
- package/dist/reducers/helpers.d.ts +1 -1
- package/dist/reducers/helpers.d.ts.map +1 -1
- package/dist/reducers/panel-pickers.d.ts +2 -1
- package/dist/reducers/panel-pickers.d.ts.map +1 -1
- package/dist/reducers/settings-panel.d.ts +2 -1
- package/dist/reducers/settings-panel.d.ts.map +1 -1
- package/dist/reducers/settings-values.d.ts +2 -1
- package/dist/reducers/settings-values.d.ts.map +1 -1
- package/dist/reducers/workspace-panels.d.ts +3 -2
- package/dist/reducers/workspace-panels.d.ts.map +1 -1
- package/dist/run-tui-client-registration.d.ts +18 -0
- package/dist/run-tui-client-registration.d.ts.map +1 -0
- package/dist/run-tui-options.d.ts +569 -0
- package/dist/run-tui-options.d.ts.map +1 -0
- package/dist/run-tui-title-controller.d.ts +16 -0
- package/dist/run-tui-title-controller.d.ts.map +1 -0
- package/dist/run-tui.d.ts +5 -572
- package/dist/run-tui.d.ts.map +1 -1
- package/dist/scroll-anchor.d.ts +10 -14
- package/dist/scroll-anchor.d.ts.map +1 -1
- package/dist/settings-contracts.d.ts +6 -1
- package/dist/settings-contracts.d.ts.map +1 -1
- package/dist/submit-controller.d.ts +4 -0
- package/dist/submit-controller.d.ts.map +1 -1
- package/dist/submit-prompt-refinement.d.ts +2 -0
- package/dist/submit-prompt-refinement.d.ts.map +1 -1
- package/dist/terminal-modes.d.ts +3 -0
- package/dist/terminal-modes.d.ts.map +1 -0
- package/dist/terminal-silence.d.ts +3 -0
- package/dist/terminal-silence.d.ts.map +1 -0
- package/dist/terminal-title.d.ts +7 -1
- package/dist/terminal-title.d.ts.map +1 -1
- package/dist/tui-host-capabilities.d.ts +1 -1
- package/dist/tui-host-capabilities.d.ts.map +1 -1
- package/dist/ui-contracts.d.ts +2 -1
- package/dist/ui-contracts.d.ts.map +1 -1
- package/package.json +11 -12
package/dist/app-state.d.ts
CHANGED
|
@@ -1,143 +1,23 @@
|
|
|
1
1
|
import type { AutonomyStage, ContentBlock, DesignKitEntry, FleetChatVerbosity, TokenSavingTier } from '@wrongstack/core/types';
|
|
2
2
|
import type { SddBoardSnapshot } from '@wrongstack/sdd';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { GoalSummary, QueueItem, ResumeSessionEntry, SlashCommandMatch } from './app-state-core-types.js';
|
|
4
|
+
import type { FleetEntry } from './app-state-fleet.js';
|
|
5
|
+
import type { AuthPanelState } from './auth-panel-model.js';
|
|
5
6
|
import type { BrainLogEntry, BrainRiskLevel } from './brain-contracts.js';
|
|
6
7
|
import type { BrainPanelSettings } from './brain-panel-model.js';
|
|
7
|
-
import type {
|
|
8
|
+
import type { HistoryEntry } from './history-entry.js';
|
|
9
|
+
import type { AuditLevel, CacheTtl, CompactorStrategy, ContextMode, LogLevel, ReasoningEffort, SettingsMode, StatuslineMode } from './settings-contracts.js';
|
|
8
10
|
import type { AutonomyOption, ChipMeta, HelpEntry, LiveSessionEntry, McpPickerItem, ModeOption, PluginPickerItem, ProjectPickerItem, PromptPickEntry, ProviderOption, RefineFailureDecision, RefineFailureModel, SendMode, ShadowState, StatuslineItem, ToolPickerItem, WorktreeRow } from './ui-contracts.js';
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
blocks: ContentBlock[];
|
|
13
|
-
/** When true, the item will be refined via model.refine before entering the agent context. */
|
|
14
|
-
shouldRefine?: boolean | undefined;
|
|
15
|
-
}
|
|
16
|
-
/** Per-subagent state tracked live from the FleetBus. */
|
|
17
|
-
export interface FleetEntry {
|
|
18
|
-
id: string;
|
|
19
|
-
name: string;
|
|
20
|
-
provider?: string | undefined;
|
|
21
|
-
model?: string | undefined;
|
|
22
|
-
status: 'idle' | 'running' | 'success' | 'failed' | 'timeout' | 'stopped';
|
|
23
|
-
streamingText: string;
|
|
24
|
-
iterations: number;
|
|
25
|
-
toolCalls: number;
|
|
26
|
-
recentTools: Array<{
|
|
27
|
-
name: string;
|
|
28
|
-
ok?: boolean | undefined;
|
|
29
|
-
durationMs?: number | undefined;
|
|
30
|
-
outputBytes?: number | undefined;
|
|
31
|
-
outputLines?: number | undefined;
|
|
32
|
-
at: number;
|
|
33
|
-
}>;
|
|
34
|
-
recentMessages: Array<{
|
|
35
|
-
text: string;
|
|
36
|
-
at: number;
|
|
37
|
-
}>;
|
|
38
|
-
cost: number;
|
|
39
|
-
startedAt: number;
|
|
40
|
-
lastEventAt: number;
|
|
41
|
-
/**
|
|
42
|
-
* Tool the subagent is currently inside, set on `tool.started` and
|
|
43
|
-
* cleared on `tool.executed`. Lets the FleetPanel render "running →
|
|
44
|
-
* bash" instead of an opaque "running". Undefined when no tool is
|
|
45
|
-
* mid-flight (between iterations, before the first tool, or after
|
|
46
|
-
* the last tool of a run).
|
|
47
|
-
*/
|
|
48
|
-
currentTool?: {
|
|
49
|
-
name: string;
|
|
50
|
-
startedAt: number;
|
|
51
|
-
} | undefined;
|
|
52
|
-
/**
|
|
53
|
-
* Absolute path to the per-subagent JSONL transcript on disk, when
|
|
54
|
-
* one was created. Surfaced so the FleetPanel can render `path:`
|
|
55
|
-
* dim under the entry — users grep / tail the file for full
|
|
56
|
-
* visibility into the subagent's run.
|
|
57
|
-
*/
|
|
58
|
-
transcriptPath?: string | undefined;
|
|
59
|
-
/**
|
|
60
|
-
* Most recent budget warning: subagent hit a soft limit and the
|
|
61
|
-
* coordinator is auto-extending. Rendered in FleetPanel as:
|
|
62
|
-
* "⚡ hitting tool_calls limit (350/400) — extending"
|
|
63
|
-
* Cleared on the next fleetDone or fleetStart.
|
|
64
|
-
*/
|
|
65
|
-
budgetWarning?: {
|
|
66
|
-
kind: string;
|
|
67
|
-
used: number;
|
|
68
|
-
limit: number;
|
|
69
|
-
at: number;
|
|
70
|
-
} | undefined;
|
|
71
|
-
/**
|
|
72
|
-
* Cumulative auto-extension grants for this subagent. Surfaced as a
|
|
73
|
-
* persistent "⚡×N" badge in the monitor and 4th status line so the user
|
|
74
|
-
* can see how often never-die kept the agent alive. Survives across tasks
|
|
75
|
-
* within the same subagent entry (unlike `budgetWarning`, which clears).
|
|
76
|
-
*/
|
|
77
|
-
extensions?: number | undefined;
|
|
78
|
-
/**
|
|
79
|
-
* Latest displayed context window fill percentage (0–1, capped at 1).
|
|
80
|
-
* Emitted on every `iteration.completed` via `ctx.pct` event.
|
|
81
|
-
* Rendered as a colored progress bar in the AgentsMonitor.
|
|
82
|
-
*/
|
|
83
|
-
ctxPct?: number | undefined;
|
|
84
|
-
/** Estimated total tokens in the context window (from ctx.pct event). */
|
|
85
|
-
ctxTokens?: number | undefined;
|
|
86
|
-
/** Provider's max context window in tokens (from ctx.pct event). */
|
|
87
|
-
ctxMaxTokens?: number | undefined;
|
|
88
|
-
/**
|
|
89
|
-
* Estimated USD cost of the current context tokens. Derived from
|
|
90
|
-
* ctxTokens × provider-specific input pricing when available.
|
|
91
|
-
* Shown in the agents monitor as a per-agent cost breakdown.
|
|
92
|
-
*/
|
|
93
|
-
ctxCost?: number | undefined;
|
|
94
|
-
/**
|
|
95
|
-
* Human-readable reason for terminal failure, when known.
|
|
96
|
-
* E.g. "provider_auth", "rate_limit", "timeout", "budget_iterations".
|
|
97
|
-
* Shown in the Fleet timeline and the per-agent card in the agents monitor.
|
|
98
|
-
*/
|
|
99
|
-
failureReason?: string | undefined;
|
|
100
|
-
}
|
|
101
|
-
/** A registered slash command matched against the user's current / query. */
|
|
102
|
-
export interface SlashCommandMatch {
|
|
103
|
-
name: string;
|
|
104
|
-
description: string;
|
|
105
|
-
argsHint?: string | undefined;
|
|
106
|
-
matchedAlias?: string | undefined;
|
|
107
|
-
isBuiltin: boolean;
|
|
108
|
-
category: 'Run' | 'Session' | 'Inspect' | 'Agent' | 'Config' | 'App';
|
|
109
|
-
}
|
|
110
|
-
/** Thin view over a SessionSummary for the resume picker. */
|
|
111
|
-
export interface ResumeSessionEntry {
|
|
112
|
-
id: string;
|
|
113
|
-
title: string;
|
|
114
|
-
startedAt: string;
|
|
115
|
-
endedAt?: string | undefined;
|
|
116
|
-
tokenTotal: number;
|
|
117
|
-
iterationCount: number;
|
|
118
|
-
toolCallCount: number;
|
|
119
|
-
toolErrorCount: number;
|
|
120
|
-
outcome?: 'completed' | 'error' | 'timeout' | 'aborted' | undefined;
|
|
121
|
-
/** The current session — marked so the picker can disallow resuming into itself. */
|
|
122
|
-
isCurrent?: boolean | undefined;
|
|
123
|
-
}
|
|
124
|
-
export type DraftEntry = HistoryEntry extends infer T ? T extends {
|
|
125
|
-
id: number;
|
|
126
|
-
} ? Omit<T, 'id'> : never : never;
|
|
127
|
-
export type GoalSummary = {
|
|
128
|
-
goal: string;
|
|
129
|
-
refinedGoal?: string | undefined;
|
|
130
|
-
goalState: 'active' | 'paused' | 'completed' | 'abandoned';
|
|
131
|
-
iterations: number;
|
|
132
|
-
progress?: number | undefined;
|
|
133
|
-
progressNote?: string | undefined;
|
|
134
|
-
progressTrend?: 'accelerating' | 'steady' | 'stalling' | undefined;
|
|
135
|
-
deliverables?: string[] | undefined;
|
|
136
|
-
lastTask?: string | undefined;
|
|
137
|
-
lastStatus?: string | undefined;
|
|
138
|
-
} | null;
|
|
11
|
+
export type { Settings } from './app-settings-type.js';
|
|
12
|
+
export type { DraftEntry, GoalSummary, QueueItem, ResumeSessionEntry, SlashCommandMatch, } from './app-state-core-types.js';
|
|
13
|
+
export type { FleetEntry } from './app-state-fleet.js';
|
|
139
14
|
export type State = {
|
|
140
15
|
entries: HistoryEntry[];
|
|
16
|
+
/**
|
|
17
|
+
* True while the history archive is loading older entries from disk.
|
|
18
|
+
* The UI may show a loading indicator for the scrollback area.
|
|
19
|
+
*/
|
|
20
|
+
archiveLoading: boolean;
|
|
141
21
|
/**
|
|
142
22
|
* Monotonic generation counter retained for wholesale history replacement
|
|
143
23
|
* compatibility and the legacy standalone History renderer.
|
|
@@ -187,6 +67,21 @@ export type State = {
|
|
|
187
67
|
partialAssistantText: string;
|
|
188
68
|
} | null;
|
|
189
69
|
hint: string;
|
|
70
|
+
/**
|
|
71
|
+
* Transient "Copied" confirmation shown when a chat card's copy icon is
|
|
72
|
+
* clicked and its content lands on the clipboard. Separate from `hint` so it
|
|
73
|
+
* takes precedence over the running-tools indicator (copying tool output
|
|
74
|
+
* mid-run is a prime use case) and never races another hint producer. Empty
|
|
75
|
+
* string = no notice. Auto-cleared by a host timer.
|
|
76
|
+
*/
|
|
77
|
+
copiedNotice: string;
|
|
78
|
+
/**
|
|
79
|
+
* Entry id of the card whose copy icon was just clicked, so ScrollableHistory
|
|
80
|
+
* can flash that specific icon in the success color while the "Copied" notice
|
|
81
|
+
* is active. `null` = no card highlighted. Set and cleared in lockstep with
|
|
82
|
+
* `copiedNotice`.
|
|
83
|
+
*/
|
|
84
|
+
copiedEntryId: number | null;
|
|
190
85
|
brain: {
|
|
191
86
|
state: 'idle' | 'deciding' | 'answered' | 'ask_human' | 'denied';
|
|
192
87
|
source?: string | undefined;
|
|
@@ -350,6 +245,8 @@ export type State = {
|
|
|
350
245
|
autoProceedMaxIterations: number;
|
|
351
246
|
/** Prompt refinement preview countdown (ms). */
|
|
352
247
|
enhanceDelayMs: number;
|
|
248
|
+
/** Pre-refine grace period (seconds). 0 = skip countdown entirely. */
|
|
249
|
+
preRefineSeconds: number;
|
|
353
250
|
/** Master toggle for the prompt refiner (mirrors Settings.enhanceEnabled). */
|
|
354
251
|
enhanceEnabled: boolean;
|
|
355
252
|
/** Refined-prompt language preference (mirrors Settings.enhanceLanguage). */
|
|
@@ -378,6 +275,8 @@ export type State = {
|
|
|
378
275
|
showModelReasoning: boolean;
|
|
379
276
|
/** Show the persistent AGENT SWARM and todo mission queue panel. Default: true. */
|
|
380
277
|
showAgentSwarmPanel: boolean;
|
|
278
|
+
/** When true, read tool includes codebase-index symbols alongside file content. */
|
|
279
|
+
readSymbols: boolean;
|
|
381
280
|
/** Prompt cache TTL. */
|
|
382
281
|
cacheTtl: CacheTtl;
|
|
383
282
|
/** Where to persist settings: 'global' or 'project'. */
|
|
@@ -526,6 +425,21 @@ export type State = {
|
|
|
526
425
|
enhanceEnabled: boolean;
|
|
527
426
|
/** True while the refiner LLM call is in flight (before the panel appears). Drives a "refining…" indicator. */
|
|
528
427
|
enhanceBusy: boolean;
|
|
428
|
+
/**
|
|
429
|
+
* Active pre-refine grace countdown. Set after the user submits a prompt
|
|
430
|
+
* that passes the refiner gate but BEFORE the refiner LLM call starts.
|
|
431
|
+
* The user sees a "refining in Ns…" panel and can send as-is (any key),
|
|
432
|
+
* cancel back to the composer (Esc), or let the timer expire to proceed
|
|
433
|
+
* into normal refinement. Resolves to proceed / skip / cancel. Null when
|
|
434
|
+
* no countdown is active.
|
|
435
|
+
*/
|
|
436
|
+
refineCountdown: {
|
|
437
|
+
/** The user's just-submitted message (shown as preview). */
|
|
438
|
+
original: string;
|
|
439
|
+
/** Grace period in seconds before the refiner call starts. */
|
|
440
|
+
seconds: number;
|
|
441
|
+
resolve: (decision: 'proceed' | 'skip' | 'cancel') => void;
|
|
442
|
+
} | null;
|
|
529
443
|
/**
|
|
530
444
|
* Active refinement-failure recovery panel. Set when a refine attempt (and
|
|
531
445
|
* its automatic timeout retry) failed and the user must choose how to
|
|
@@ -694,6 +608,8 @@ export type State = {
|
|
|
694
608
|
goalKanbanPanelOpen: boolean;
|
|
695
609
|
/** When true, the interactive context monitor is shown (`/context`). */
|
|
696
610
|
contextPanelOpen: boolean;
|
|
611
|
+
/** When true, the interactive service connections health panel is shown (`/connections`). */
|
|
612
|
+
connectionsPanelOpen: boolean;
|
|
697
613
|
/** When true, the sessions panel is shown (F10). */
|
|
698
614
|
sessionsPanelOpen: boolean;
|
|
699
615
|
/** Live session data for the sessions panel (F10). */
|
|
@@ -866,1051 +782,4 @@ export type State = {
|
|
|
866
782
|
remainingSeconds: number;
|
|
867
783
|
} | null;
|
|
868
784
|
};
|
|
869
|
-
export type Settings = {
|
|
870
|
-
mode: 'off' | 'suggest' | 'auto';
|
|
871
|
-
delayMs: number;
|
|
872
|
-
titleAnimation: boolean;
|
|
873
|
-
yolo: boolean;
|
|
874
|
-
/** Fleet-chat verbosity; wire name matches the CLI LiveSettingsInput. */
|
|
875
|
-
fleetChatVerbosity: FleetChatVerbosity;
|
|
876
|
-
chime: boolean;
|
|
877
|
-
confirmExit: boolean;
|
|
878
|
-
nextPrediction: boolean;
|
|
879
|
-
featureMcp: boolean;
|
|
880
|
-
featurePlugins: boolean;
|
|
881
|
-
featureMemory: boolean;
|
|
882
|
-
featureSkills: boolean;
|
|
883
|
-
featureModelsRegistry: boolean;
|
|
884
|
-
/** Token-saving tier: off | minimal | light | medium | aggressive. */
|
|
885
|
-
featureTokenSaving: TokenSavingTier;
|
|
886
|
-
/** Allow tools to access paths outside the project root. Default: true (open). */
|
|
887
|
-
allowOutsideProjectRoot: boolean;
|
|
888
|
-
contextAutoCompact: boolean;
|
|
889
|
-
contextStrategy: 'hybrid' | 'intelligent' | 'selective';
|
|
890
|
-
contextMode: ContextMode;
|
|
891
|
-
maxConcurrent: number;
|
|
892
|
-
logLevel: 'error' | 'warn' | 'info' | 'debug' | 'trace';
|
|
893
|
-
auditLevel: 'minimal' | 'standard' | 'full';
|
|
894
|
-
indexOnStart: boolean;
|
|
895
|
-
/** Multi-file diff summary footer cutoff. 0 = off; positive = min file count. */
|
|
896
|
-
multiDiffSummaryThreshold: number;
|
|
897
|
-
/**
|
|
898
|
-
* Settings-picker row the user last navigated to. Carried in the
|
|
899
|
-
* canonical Settings shape so reopening the picker after a session
|
|
900
|
-
* restart lands on the same row they were last tweaking, rather than
|
|
901
|
-
* always resetting to 0. Updated on every `settingsFieldMove` /
|
|
902
|
-
* `settingsFieldSet`; consumed by the `settingsOpen` action.
|
|
903
|
-
*/
|
|
904
|
-
lastSettingsField: number;
|
|
905
|
-
maxIterations: number;
|
|
906
|
-
/** Maximum auto-proceed iterations (0 = unlimited). */
|
|
907
|
-
autoProceedMaxIterations: number;
|
|
908
|
-
/** Prompt refinement preview countdown (ms). */
|
|
909
|
-
enhanceDelayMs: number;
|
|
910
|
-
/** Enable/disable prompt refinement. */
|
|
911
|
-
enhanceEnabled: boolean;
|
|
912
|
-
/** Default language for refinement: original or english. */
|
|
913
|
-
enhanceLanguage: 'original' | 'english';
|
|
914
|
-
/**
|
|
915
|
-
* When true (default), submitting a plain message while the agent is busy
|
|
916
|
-
* pops the send-mode picker (queue / by-the-way / steer). Toggled via
|
|
917
|
-
* `/queue picker on|off`; persisted to `autonomy.midRunSendPicker`.
|
|
918
|
-
*/
|
|
919
|
-
midRunSendPicker?: boolean | undefined;
|
|
920
|
-
/** Raw SSE stream debugging — hex-dump every byte received from providers. */
|
|
921
|
-
debugStream: boolean;
|
|
922
|
-
/** Skip the confirmation prompt for the `!<command>` shell shortcut. */
|
|
923
|
-
shellBangWarningDontShowAgain?: boolean | undefined;
|
|
924
|
-
/** Statusline density mode. Defaults to detailed. */
|
|
925
|
-
statuslineMode: StatuslineMode;
|
|
926
|
-
/** Reasoning mode: auto (provider default) | on | off. */
|
|
927
|
-
reasoningMode: 'auto' | 'on' | 'off';
|
|
928
|
-
/** Reasoning effort level. */
|
|
929
|
-
reasoningEffort: ReasoningEffort;
|
|
930
|
-
/** Preserve thinking across turns. */
|
|
931
|
-
reasoningPreserve: boolean;
|
|
932
|
-
/** Single word shown in the TUI rainbow working-state chip. */
|
|
933
|
-
thinkingWord: string;
|
|
934
|
-
/**
|
|
935
|
-
* Show the "Model Reasoning" collapsible blocks in chat history.
|
|
936
|
-
* Default: true.
|
|
937
|
-
*/
|
|
938
|
-
showModelReasoning: boolean;
|
|
939
|
-
/** Show the persistent AGENT SWARM and todo mission queue panel. Default: true. */
|
|
940
|
-
showAgentSwarmPanel: boolean;
|
|
941
|
-
/** Prompt cache TTL. */
|
|
942
|
-
cacheTtl: CacheTtl;
|
|
943
|
-
/** Where to persist settings: 'global' or 'project'. */
|
|
944
|
-
configScope: 'global' | 'project';
|
|
945
|
-
/**
|
|
946
|
-
* Animation style for the working/thinking chip in the status bar. One of
|
|
947
|
-
* the renderable styles plus the meta-mode `'cycle'` that rotates through
|
|
948
|
-
* the variant styles every `CYCLE_INTERVAL_SECONDS`.
|
|
949
|
-
*/
|
|
950
|
-
animationStyle: 'rainbow' | 'wave' | 'pulse' | 'dots' | 'breathe' | 'cycle';
|
|
951
|
-
/** Full mouse mode: in-app managed scroll + clickable UI (SGR tracking on). */
|
|
952
|
-
mouseMode?: boolean | undefined;
|
|
953
|
-
/** Whether the process circuit breaker gates bash/exec. Default false (off). */
|
|
954
|
-
breakerEnabled?: boolean | undefined;
|
|
955
|
-
/** Auto kill/reset delay (ms) when the breaker trips. 0 = manual recovery. */
|
|
956
|
-
breakerAutoKillResetMs?: number | undefined;
|
|
957
|
-
};
|
|
958
|
-
export type Action = {
|
|
959
|
-
type: 'addEntry';
|
|
960
|
-
entry: DraftEntry;
|
|
961
|
-
} | {
|
|
962
|
-
type: 'compactHistory';
|
|
963
|
-
} | {
|
|
964
|
-
type: 'setBuffer';
|
|
965
|
-
buffer: string;
|
|
966
|
-
cursor: number;
|
|
967
|
-
} | {
|
|
968
|
-
type: 'clearInput';
|
|
969
|
-
} | {
|
|
970
|
-
type: 'clearHistory';
|
|
971
|
-
model?: string | undefined;
|
|
972
|
-
provider?: string | undefined;
|
|
973
|
-
} | {
|
|
974
|
-
type: 'streamDelta';
|
|
975
|
-
delta: string;
|
|
976
|
-
} | {
|
|
977
|
-
type: 'streamReset';
|
|
978
|
-
} | {
|
|
979
|
-
type: 'status';
|
|
980
|
-
status: State['status'];
|
|
981
|
-
} | {
|
|
982
|
-
type: 'interrupt';
|
|
983
|
-
} | {
|
|
984
|
-
type: 'resetInterrupts';
|
|
985
|
-
}
|
|
986
|
-
/**
|
|
987
|
-
* User pressed Esc mid-iteration — flag the next message for steering
|
|
988
|
-
* AND stash a context snapshot so the preamble can tell the model
|
|
989
|
-
* exactly what it was doing.
|
|
990
|
-
*/
|
|
991
|
-
| {
|
|
992
|
-
type: 'steerStart';
|
|
993
|
-
snapshot: State['steerSnapshot'];
|
|
994
|
-
}
|
|
995
|
-
/** Submit handler consumed the steering flag; reset. */
|
|
996
|
-
| {
|
|
997
|
-
type: 'steerConsume';
|
|
998
|
-
} | {
|
|
999
|
-
type: 'hint';
|
|
1000
|
-
text: string;
|
|
1001
|
-
} | {
|
|
1002
|
-
type: 'brainStatus';
|
|
1003
|
-
state: State['brain']['state'];
|
|
1004
|
-
source?: string | undefined;
|
|
1005
|
-
risk?: State['brain']['risk'] | undefined;
|
|
1006
|
-
summary?: string | undefined;
|
|
1007
|
-
} | {
|
|
1008
|
-
type: 'brainPromptSet';
|
|
1009
|
-
prompt: NonNullable<State['brainPrompt']>;
|
|
1010
|
-
} | {
|
|
1011
|
-
type: 'brainPromptClear';
|
|
1012
|
-
} | {
|
|
1013
|
-
type: 'pickerOpen';
|
|
1014
|
-
query: string;
|
|
1015
|
-
} | {
|
|
1016
|
-
type: 'pickerClose';
|
|
1017
|
-
} | {
|
|
1018
|
-
type: 'pickerSetMatches';
|
|
1019
|
-
query: string;
|
|
1020
|
-
matches: string[];
|
|
1021
|
-
} | {
|
|
1022
|
-
type: 'pickerMove';
|
|
1023
|
-
delta: number;
|
|
1024
|
-
} | {
|
|
1025
|
-
type: 'toolStarted';
|
|
1026
|
-
id: string;
|
|
1027
|
-
name: string;
|
|
1028
|
-
} | {
|
|
1029
|
-
type: 'toolEnded';
|
|
1030
|
-
id?: string | undefined;
|
|
1031
|
-
name?: string | undefined;
|
|
1032
|
-
} | {
|
|
1033
|
-
type: 'toolStreamAppend';
|
|
1034
|
-
toolUseId: string;
|
|
1035
|
-
name: string;
|
|
1036
|
-
text: string;
|
|
1037
|
-
startedAt: number;
|
|
1038
|
-
} | {
|
|
1039
|
-
type: 'toolStreamClear';
|
|
1040
|
-
toolUseId?: string | undefined;
|
|
1041
|
-
name?: string | undefined;
|
|
1042
|
-
} | {
|
|
1043
|
-
type: 'enqueue';
|
|
1044
|
-
item: Omit<QueueItem, 'id'>;
|
|
1045
|
-
} | {
|
|
1046
|
-
type: 'dequeueFirst';
|
|
1047
|
-
} | {
|
|
1048
|
-
type: 'queueClear';
|
|
1049
|
-
} | {
|
|
1050
|
-
type: 'queueDelete';
|
|
1051
|
-
positions: number[];
|
|
1052
|
-
} | {
|
|
1053
|
-
type: 'queueToggleRefine';
|
|
1054
|
-
position: number;
|
|
1055
|
-
} | {
|
|
1056
|
-
type: 'slashPickerOpen';
|
|
1057
|
-
query: string;
|
|
1058
|
-
matches: SlashCommandMatch[];
|
|
1059
|
-
} | {
|
|
1060
|
-
type: 'slashPickerClose';
|
|
1061
|
-
} | {
|
|
1062
|
-
type: 'slashPickerMove';
|
|
1063
|
-
delta: number;
|
|
1064
|
-
} | {
|
|
1065
|
-
type: 'modelPickerOpen';
|
|
1066
|
-
providers: ProviderOption[];
|
|
1067
|
-
purpose?: 'switch' | 'pick' | undefined;
|
|
1068
|
-
title?: string | undefined;
|
|
1069
|
-
} | {
|
|
1070
|
-
type: 'modelPickerClose';
|
|
1071
|
-
} | {
|
|
1072
|
-
type: 'modelPickerMove';
|
|
1073
|
-
delta: number;
|
|
1074
|
-
} | {
|
|
1075
|
-
type: 'modelPickerPickProvider';
|
|
1076
|
-
providerId: string;
|
|
1077
|
-
models: string[];
|
|
1078
|
-
} | {
|
|
1079
|
-
type: 'modelPickerBack';
|
|
1080
|
-
} | {
|
|
1081
|
-
type: 'modelPickerHint';
|
|
1082
|
-
text?: string | undefined;
|
|
1083
|
-
}
|
|
1084
|
-
/** Update the search filter in step 2. */
|
|
1085
|
-
| {
|
|
1086
|
-
type: 'modelPickerSearch';
|
|
1087
|
-
query: string;
|
|
1088
|
-
} | {
|
|
1089
|
-
type: 'autonomyPickerOpen';
|
|
1090
|
-
options: AutonomyOption[];
|
|
1091
|
-
} | {
|
|
1092
|
-
type: 'autonomyPickerClose';
|
|
1093
|
-
} | {
|
|
1094
|
-
type: 'autonomyPickerMove';
|
|
1095
|
-
delta: number;
|
|
1096
|
-
} | {
|
|
1097
|
-
type: 'autonomyPickerHint';
|
|
1098
|
-
text?: string | undefined;
|
|
1099
|
-
} | {
|
|
1100
|
-
type: 'modePickerOpen';
|
|
1101
|
-
modes: ModeOption[];
|
|
1102
|
-
} | {
|
|
1103
|
-
type: 'modePickerClose';
|
|
1104
|
-
} | {
|
|
1105
|
-
type: 'modePickerMove';
|
|
1106
|
-
delta: number;
|
|
1107
|
-
} | {
|
|
1108
|
-
type: 'modePickerHint';
|
|
1109
|
-
text?: string | undefined;
|
|
1110
|
-
} | {
|
|
1111
|
-
type: 'designPickerOpen';
|
|
1112
|
-
kits: DesignKitEntry[];
|
|
1113
|
-
} | {
|
|
1114
|
-
type: 'designPickerClose';
|
|
1115
|
-
} | {
|
|
1116
|
-
type: 'designPickerMove';
|
|
1117
|
-
delta: number;
|
|
1118
|
-
} | {
|
|
1119
|
-
type: 'designPickerStack';
|
|
1120
|
-
stack: string;
|
|
1121
|
-
} | {
|
|
1122
|
-
type: 'promptPickerOpen';
|
|
1123
|
-
all: PromptPickEntry[];
|
|
1124
|
-
categories: string[];
|
|
1125
|
-
recentSlugs: string[];
|
|
1126
|
-
} | {
|
|
1127
|
-
type: 'promptPickerClose';
|
|
1128
|
-
} | {
|
|
1129
|
-
type: 'promptPickerMove';
|
|
1130
|
-
delta: number;
|
|
1131
|
-
} | {
|
|
1132
|
-
type: 'promptPickerCategory';
|
|
1133
|
-
delta: number;
|
|
1134
|
-
} | {
|
|
1135
|
-
type: 'resumePickerOpen';
|
|
1136
|
-
sessions: ResumeSessionEntry[];
|
|
1137
|
-
} | {
|
|
1138
|
-
type: 'resumePickerClose';
|
|
1139
|
-
} | {
|
|
1140
|
-
type: 'resumePickerMove';
|
|
1141
|
-
delta: number;
|
|
1142
|
-
} | {
|
|
1143
|
-
type: 'resumePickerBusy';
|
|
1144
|
-
on: boolean;
|
|
1145
|
-
} | {
|
|
1146
|
-
type: 'resumePickerHint';
|
|
1147
|
-
text?: string | undefined;
|
|
1148
|
-
} | {
|
|
1149
|
-
type: 'resumePickerError';
|
|
1150
|
-
text: string;
|
|
1151
|
-
}
|
|
1152
|
-
/** Replace all history entries with the given hydrated entries from a resumed session. */
|
|
1153
|
-
| {
|
|
1154
|
-
type: 'replaceHistory';
|
|
1155
|
-
entries: HistoryEntry[];
|
|
1156
|
-
nextId: number;
|
|
1157
|
-
} | {
|
|
1158
|
-
type: 'settingsOpen';
|
|
1159
|
-
mode: SettingsMode;
|
|
1160
|
-
delayMs: number;
|
|
1161
|
-
titleAnimation: boolean;
|
|
1162
|
-
yolo: boolean;
|
|
1163
|
-
fleetChat: FleetChatVerbosity;
|
|
1164
|
-
chime: boolean;
|
|
1165
|
-
confirmExit: boolean;
|
|
1166
|
-
nextPrediction: boolean;
|
|
1167
|
-
featureMcp: boolean;
|
|
1168
|
-
featurePlugins: boolean;
|
|
1169
|
-
featureMemory: boolean;
|
|
1170
|
-
featureSkills: boolean;
|
|
1171
|
-
featureModelsRegistry: boolean;
|
|
1172
|
-
tokenSavingTier: TokenSavingTier;
|
|
1173
|
-
allowOutsideProjectRoot: boolean;
|
|
1174
|
-
contextAutoCompact: boolean;
|
|
1175
|
-
contextStrategy: CompactorStrategy;
|
|
1176
|
-
contextMode: ContextMode;
|
|
1177
|
-
maxConcurrent: number;
|
|
1178
|
-
logLevel: LogLevel;
|
|
1179
|
-
auditLevel: AuditLevel;
|
|
1180
|
-
indexOnStart: boolean;
|
|
1181
|
-
multiDiffSummaryThreshold: number;
|
|
1182
|
-
/**
|
|
1183
|
-
* Animation style for the working/thinking chip in the status bar.
|
|
1184
|
-
* One of the renderable styles plus the meta-mode `'cycle'`. Persisted
|
|
1185
|
-
* to disk on every ←/→ change in `/settings`.
|
|
1186
|
-
*/
|
|
1187
|
-
animationStyle: 'rainbow' | 'wave' | 'pulse' | 'dots' | 'breathe' | 'cycle';
|
|
1188
|
-
/**
|
|
1189
|
-
* Persisted row index for where to land when the picker reopens.
|
|
1190
|
-
* See `Settings.lastSettingsField`.
|
|
1191
|
-
*/
|
|
1192
|
-
lastSettingsField: number;
|
|
1193
|
-
maxIterations: number;
|
|
1194
|
-
autoProceedMaxIterations: number;
|
|
1195
|
-
enhanceDelayMs: number;
|
|
1196
|
-
enhanceEnabled: boolean;
|
|
1197
|
-
enhanceLanguage: 'original' | 'english';
|
|
1198
|
-
debugStream: boolean;
|
|
1199
|
-
statuslineMode: StatuslineMode;
|
|
1200
|
-
reasoningMode: 'auto' | 'on' | 'off';
|
|
1201
|
-
reasoningEffort: ReasoningEffort;
|
|
1202
|
-
reasoningPreserve: boolean;
|
|
1203
|
-
thinkingWord: string;
|
|
1204
|
-
cacheTtl: CacheTtl;
|
|
1205
|
-
configScope: 'global' | 'project';
|
|
1206
|
-
breakerEnabled: boolean;
|
|
1207
|
-
breakerAutoKillResetMs: number;
|
|
1208
|
-
showModelReasoning: boolean;
|
|
1209
|
-
showAgentSwarmPanel: boolean;
|
|
1210
|
-
} | {
|
|
1211
|
-
type: 'settingsClose';
|
|
1212
|
-
} | {
|
|
1213
|
-
type: 'settingsFieldMove';
|
|
1214
|
-
delta: number;
|
|
1215
|
-
} | {
|
|
1216
|
-
type: 'settingsFieldSet';
|
|
1217
|
-
field: number;
|
|
1218
|
-
} | {
|
|
1219
|
-
type: 'settingsValueChange';
|
|
1220
|
-
delta: number;
|
|
1221
|
-
}
|
|
1222
|
-
/**
|
|
1223
|
-
* Set a settings value directly from a typed patch (used by the
|
|
1224
|
-
* `/settings <chord> <value>` slash command). The patch is produced
|
|
1225
|
-
* by `resolveSettingsFieldValue` in settings-picker.tsx and validated
|
|
1226
|
-
* before dispatch, so the reducer just spreads it.
|
|
1227
|
-
*/
|
|
1228
|
-
| {
|
|
1229
|
-
type: 'settingsValueSet';
|
|
1230
|
-
patch: SettingsPickerPatch;
|
|
1231
|
-
}
|
|
1232
|
-
/**
|
|
1233
|
-
* Update the live row-search filter. Empty string clears the filter.
|
|
1234
|
-
* Setting any non-empty value while the filter is empty also implicitly
|
|
1235
|
-
* activates filter mode (the picker renders only matching rows).
|
|
1236
|
-
*/
|
|
1237
|
-
| {
|
|
1238
|
-
type: 'settingsFilterSet';
|
|
1239
|
-
filter: string;
|
|
1240
|
-
} | {
|
|
1241
|
-
type: 'settingsHint';
|
|
1242
|
-
text?: string | undefined;
|
|
1243
|
-
}
|
|
1244
|
-
/** Begin free-text editing of the thinking word (Enter on its row). */
|
|
1245
|
-
| {
|
|
1246
|
-
type: 'settingsThinkingEditStart';
|
|
1247
|
-
}
|
|
1248
|
-
/** Replace the in-progress thinking-word draft with the given buffer. */
|
|
1249
|
-
| {
|
|
1250
|
-
type: 'settingsThinkingEditChange';
|
|
1251
|
-
draft: string;
|
|
1252
|
-
}
|
|
1253
|
-
/** Commit the draft as the new thinking word (validated in the reducer). */
|
|
1254
|
-
| {
|
|
1255
|
-
type: 'settingsThinkingEditCommit';
|
|
1256
|
-
}
|
|
1257
|
-
/** Discard the draft and leave edit mode without changing the word. */
|
|
1258
|
-
| {
|
|
1259
|
-
type: 'settingsThinkingEditCancel';
|
|
1260
|
-
} | {
|
|
1261
|
-
type: 'statuslineOpen';
|
|
1262
|
-
hiddenItems: StatuslineItem[];
|
|
1263
|
-
} | {
|
|
1264
|
-
type: 'statuslineClose';
|
|
1265
|
-
} | {
|
|
1266
|
-
type: 'statuslineFieldMove';
|
|
1267
|
-
delta: number;
|
|
1268
|
-
} | {
|
|
1269
|
-
type: 'statuslineFieldSet';
|
|
1270
|
-
field: number;
|
|
1271
|
-
} | {
|
|
1272
|
-
type: 'statuslineToggle';
|
|
1273
|
-
item: StatuslineItem;
|
|
1274
|
-
} | {
|
|
1275
|
-
type: 'statuslineHint';
|
|
1276
|
-
text?: string | undefined;
|
|
1277
|
-
}
|
|
1278
|
-
/**
|
|
1279
|
-
* A chip became visible due to data arriving (e.g., brain decision made,
|
|
1280
|
-
* mailbox messages arrived). Adds it to visibleChips with optional expiration.
|
|
1281
|
-
* If the chip is already in visibleChips, resets its shownAt timestamp.
|
|
1282
|
-
*/
|
|
1283
|
-
| {
|
|
1284
|
-
type: 'statuslineChipShow';
|
|
1285
|
-
key: StatuslineItem;
|
|
1286
|
-
expiresIn?: number;
|
|
1287
|
-
}
|
|
1288
|
-
/**
|
|
1289
|
-
* Immediately remove a chip from visibleChips. Used when a stream ends
|
|
1290
|
-
* (brain, mailbox, enhance, debug_stream) so it disappears right away
|
|
1291
|
-
* even if it hasn't expired yet.
|
|
1292
|
-
*/
|
|
1293
|
-
| {
|
|
1294
|
-
type: 'statuslineChipExpire';
|
|
1295
|
-
key: StatuslineItem;
|
|
1296
|
-
}
|
|
1297
|
-
/**
|
|
1298
|
-
* Sync visibleChips from the parent (e.g., after /statusline reset).
|
|
1299
|
-
* Replaces the entire visibleChips array.
|
|
1300
|
-
*/
|
|
1301
|
-
| {
|
|
1302
|
-
type: 'statuslineVisibleChipsSync';
|
|
1303
|
-
visibleChips: ChipMeta[];
|
|
1304
|
-
} | {
|
|
1305
|
-
type: 'pluginPickerOpen';
|
|
1306
|
-
items?: PluginPickerItem[] | undefined;
|
|
1307
|
-
} | {
|
|
1308
|
-
type: 'pluginPickerClose';
|
|
1309
|
-
} | {
|
|
1310
|
-
type: 'pluginPickerMove';
|
|
1311
|
-
delta: number;
|
|
1312
|
-
} | {
|
|
1313
|
-
type: 'pluginPickerSetItems';
|
|
1314
|
-
items: PluginPickerItem[];
|
|
1315
|
-
} | {
|
|
1316
|
-
type: 'pluginPickerBusy';
|
|
1317
|
-
busy: boolean;
|
|
1318
|
-
} | {
|
|
1319
|
-
type: 'pluginPickerHint';
|
|
1320
|
-
text?: string | undefined;
|
|
1321
|
-
} | {
|
|
1322
|
-
type: 'mcpPickerOpen';
|
|
1323
|
-
items?: McpPickerItem[] | undefined;
|
|
1324
|
-
} | {
|
|
1325
|
-
type: 'mcpPickerClose';
|
|
1326
|
-
} | {
|
|
1327
|
-
type: 'mcpPickerMove';
|
|
1328
|
-
delta: number;
|
|
1329
|
-
} | {
|
|
1330
|
-
type: 'mcpPickerSetItems';
|
|
1331
|
-
items: McpPickerItem[];
|
|
1332
|
-
} | {
|
|
1333
|
-
type: 'mcpPickerBusy';
|
|
1334
|
-
busy: boolean;
|
|
1335
|
-
} | {
|
|
1336
|
-
type: 'mcpPickerHint';
|
|
1337
|
-
text?: string | undefined;
|
|
1338
|
-
} | {
|
|
1339
|
-
type: 'toolsPickerOpen';
|
|
1340
|
-
items?: ToolPickerItem[] | undefined;
|
|
1341
|
-
} | {
|
|
1342
|
-
type: 'toolsPickerClose';
|
|
1343
|
-
} | {
|
|
1344
|
-
type: 'toolsPickerMove';
|
|
1345
|
-
delta: number;
|
|
1346
|
-
} | {
|
|
1347
|
-
type: 'toolsPickerSetItems';
|
|
1348
|
-
items: ToolPickerItem[];
|
|
1349
|
-
} | {
|
|
1350
|
-
type: 'toolsPickerToggle';
|
|
1351
|
-
} | {
|
|
1352
|
-
type: 'toolsPickerBusy';
|
|
1353
|
-
busy: boolean;
|
|
1354
|
-
} | {
|
|
1355
|
-
type: 'toolsPickerHint';
|
|
1356
|
-
text?: string | undefined;
|
|
1357
|
-
} | {
|
|
1358
|
-
type: 'toolsPickerFilter';
|
|
1359
|
-
filter: string;
|
|
1360
|
-
} | {
|
|
1361
|
-
type: 'brainOpen';
|
|
1362
|
-
riskLevel: BrainRiskLevel;
|
|
1363
|
-
log: BrainLogEntry[];
|
|
1364
|
-
settings?: BrainPanelSettings | undefined;
|
|
1365
|
-
} | {
|
|
1366
|
-
type: 'brainClose';
|
|
1367
|
-
} | {
|
|
1368
|
-
type: 'brainMove';
|
|
1369
|
-
delta: number;
|
|
1370
|
-
} | {
|
|
1371
|
-
type: 'brainRiskChange';
|
|
1372
|
-
delta: number;
|
|
1373
|
-
} | {
|
|
1374
|
-
type: 'brainSetLog';
|
|
1375
|
-
log: BrainLogEntry[];
|
|
1376
|
-
} | {
|
|
1377
|
-
type: 'brainHint';
|
|
1378
|
-
text?: string | undefined;
|
|
1379
|
-
} | {
|
|
1380
|
-
type: 'brainSettingsLoaded';
|
|
1381
|
-
settings: BrainPanelSettings;
|
|
1382
|
-
} | {
|
|
1383
|
-
type: 'brainView';
|
|
1384
|
-
view: 'settings' | 'log';
|
|
1385
|
-
} | {
|
|
1386
|
-
type: 'brainRowMove';
|
|
1387
|
-
delta: number;
|
|
1388
|
-
} | {
|
|
1389
|
-
type: 'brainBusy';
|
|
1390
|
-
busy: boolean;
|
|
1391
|
-
} | {
|
|
1392
|
-
type: 'helpOpen';
|
|
1393
|
-
entries: HelpEntry[];
|
|
1394
|
-
} | {
|
|
1395
|
-
type: 'helpClose';
|
|
1396
|
-
} | {
|
|
1397
|
-
type: 'helpMove';
|
|
1398
|
-
delta: number;
|
|
1399
|
-
} | {
|
|
1400
|
-
type: 'helpFilter';
|
|
1401
|
-
filter: string;
|
|
1402
|
-
} | {
|
|
1403
|
-
type: 'helpHint';
|
|
1404
|
-
text?: string | undefined;
|
|
1405
|
-
} | {
|
|
1406
|
-
type: 'shadowOpen';
|
|
1407
|
-
shadow: ShadowState;
|
|
1408
|
-
} | {
|
|
1409
|
-
type: 'shadowClose';
|
|
1410
|
-
} | {
|
|
1411
|
-
type: 'shadowUpdate';
|
|
1412
|
-
shadow: ShadowState;
|
|
1413
|
-
} | {
|
|
1414
|
-
type: 'shadowHint';
|
|
1415
|
-
text?: string | undefined;
|
|
1416
|
-
} | {
|
|
1417
|
-
type: 'authOpen';
|
|
1418
|
-
view?: Extract<AuthPanelView, 'list' | 'oauth'> | undefined;
|
|
1419
|
-
providers?: AuthProviderRow[] | undefined;
|
|
1420
|
-
presets?: AuthLocalPresetRow[] | undefined;
|
|
1421
|
-
} | {
|
|
1422
|
-
type: 'authClose';
|
|
1423
|
-
} | {
|
|
1424
|
-
type: 'authProviders';
|
|
1425
|
-
providers: AuthProviderRow[];
|
|
1426
|
-
} | {
|
|
1427
|
-
type: 'authCatalog';
|
|
1428
|
-
catalog: AuthCatalogRow[];
|
|
1429
|
-
} | {
|
|
1430
|
-
type: 'authView';
|
|
1431
|
-
view: AuthPanelView;
|
|
1432
|
-
providerId?: string | undefined;
|
|
1433
|
-
} | {
|
|
1434
|
-
type: 'authMove';
|
|
1435
|
-
delta: number;
|
|
1436
|
-
} | {
|
|
1437
|
-
type: 'authBusy';
|
|
1438
|
-
busy: boolean;
|
|
1439
|
-
} | {
|
|
1440
|
-
type: 'authHint';
|
|
1441
|
-
text?: string | undefined;
|
|
1442
|
-
} | {
|
|
1443
|
-
type: 'authFilter';
|
|
1444
|
-
filter: string;
|
|
1445
|
-
} | {
|
|
1446
|
-
type: 'authFlowStart';
|
|
1447
|
-
title: string;
|
|
1448
|
-
} | {
|
|
1449
|
-
type: 'authFlowLog';
|
|
1450
|
-
line: string;
|
|
1451
|
-
} | {
|
|
1452
|
-
type: 'authFlowDone';
|
|
1453
|
-
ok: boolean;
|
|
1454
|
-
message?: string | undefined;
|
|
1455
|
-
} | {
|
|
1456
|
-
type: 'authPromptStart';
|
|
1457
|
-
label: string;
|
|
1458
|
-
masked: boolean;
|
|
1459
|
-
} | {
|
|
1460
|
-
type: 'authPromptChange';
|
|
1461
|
-
draft: string;
|
|
1462
|
-
} | {
|
|
1463
|
-
type: 'authPromptEnd';
|
|
1464
|
-
} | {
|
|
1465
|
-
type: 'authConfirmStart';
|
|
1466
|
-
question: string;
|
|
1467
|
-
action: AuthConfirmAction;
|
|
1468
|
-
} | {
|
|
1469
|
-
type: 'authConfirmEnd';
|
|
1470
|
-
} | {
|
|
1471
|
-
type: 'projectPickerOpen';
|
|
1472
|
-
items: ProjectPickerItem[];
|
|
1473
|
-
} | {
|
|
1474
|
-
type: 'projectPickerClose';
|
|
1475
|
-
} | {
|
|
1476
|
-
type: 'projectPickerMove';
|
|
1477
|
-
delta: number;
|
|
1478
|
-
} | {
|
|
1479
|
-
type: 'projectPickerFilter';
|
|
1480
|
-
filter: string;
|
|
1481
|
-
} | {
|
|
1482
|
-
type: 'projectPickerHint';
|
|
1483
|
-
text?: string | undefined;
|
|
1484
|
-
} | {
|
|
1485
|
-
type: 'fKeyPickerOpen';
|
|
1486
|
-
} | {
|
|
1487
|
-
type: 'fKeyPickerClose';
|
|
1488
|
-
} | {
|
|
1489
|
-
type: 'fKeyPickerMove';
|
|
1490
|
-
delta: number;
|
|
1491
|
-
} | {
|
|
1492
|
-
type: 'historyPush';
|
|
1493
|
-
text: string;
|
|
1494
|
-
} | {
|
|
1495
|
-
type: 'historyUp';
|
|
1496
|
-
} | {
|
|
1497
|
-
type: 'historyDown';
|
|
1498
|
-
} | {
|
|
1499
|
-
type: 'setInputHistory';
|
|
1500
|
-
entries: string[];
|
|
1501
|
-
} | {
|
|
1502
|
-
type: 'clearInputHistory';
|
|
1503
|
-
} | {
|
|
1504
|
-
type: 'confirmOpen';
|
|
1505
|
-
info: State['confirmQueue'][0];
|
|
1506
|
-
} | {
|
|
1507
|
-
type: 'confirmClose';
|
|
1508
|
-
} | {
|
|
1509
|
-
type: 'confirmClearAll';
|
|
1510
|
-
} | {
|
|
1511
|
-
type: 'shellCommandWarningOpen';
|
|
1512
|
-
info: NonNullable<State['shellCommandWarning']>;
|
|
1513
|
-
} | {
|
|
1514
|
-
type: 'shellCommandWarningClose';
|
|
1515
|
-
} | {
|
|
1516
|
-
type: 'enhanceOpen';
|
|
1517
|
-
info: NonNullable<State['enhance']>;
|
|
1518
|
-
} | {
|
|
1519
|
-
type: 'enhanceClose';
|
|
1520
|
-
} | {
|
|
1521
|
-
type: 'enhanceSet';
|
|
1522
|
-
enabled: boolean;
|
|
1523
|
-
} | {
|
|
1524
|
-
type: 'enhanceBusy';
|
|
1525
|
-
on: boolean;
|
|
1526
|
-
} | {
|
|
1527
|
-
type: 'refineFailureOpen';
|
|
1528
|
-
info: NonNullable<State['refineFailure']>;
|
|
1529
|
-
} | {
|
|
1530
|
-
type: 'refineFailureClose';
|
|
1531
|
-
} | {
|
|
1532
|
-
type: 'continueConfirmOpen';
|
|
1533
|
-
info: NonNullable<State['continueConfirm']>;
|
|
1534
|
-
} | {
|
|
1535
|
-
type: 'continueConfirmClose';
|
|
1536
|
-
} | {
|
|
1537
|
-
type: 'clearConfirmOpen';
|
|
1538
|
-
info: NonNullable<State['clearConfirm']>;
|
|
1539
|
-
} | {
|
|
1540
|
-
type: 'clearConfirmSetValue';
|
|
1541
|
-
value: string;
|
|
1542
|
-
} | {
|
|
1543
|
-
type: 'clearConfirmClose';
|
|
1544
|
-
} | {
|
|
1545
|
-
type: 'exitConfirmOpen';
|
|
1546
|
-
info: NonNullable<State['exitConfirm']>;
|
|
1547
|
-
} | {
|
|
1548
|
-
type: 'exitConfirmClose';
|
|
1549
|
-
} | {
|
|
1550
|
-
type: 'slashConfirmOpen';
|
|
1551
|
-
info: NonNullable<State['slashConfirm']>;
|
|
1552
|
-
} | {
|
|
1553
|
-
type: 'slashConfirmClose';
|
|
1554
|
-
}
|
|
1555
|
-
/**
|
|
1556
|
-
* Open the ESC-interrupt confirmation dialog with a context snapshot.
|
|
1557
|
-
* Fired when Esc is pressed mid-iteration and `confirmExit` is enabled.
|
|
1558
|
-
* The snapshot is replayed into `steerStart` on confirmation so the
|
|
1559
|
-
* STEERING preamble can describe the interrupted state to the LLM.
|
|
1560
|
-
*/
|
|
1561
|
-
| {
|
|
1562
|
-
type: 'escConfirmOpen';
|
|
1563
|
-
snapshot: NonNullable<State['steerSnapshot']>;
|
|
1564
|
-
}
|
|
1565
|
-
/** Dismiss the ESC-interrupt confirmation (user cancelled). */
|
|
1566
|
-
| {
|
|
1567
|
-
type: 'escConfirmClose';
|
|
1568
|
-
}
|
|
1569
|
-
/** Open the mid-run send-mode picker with the resolved message + resolver. */
|
|
1570
|
-
| {
|
|
1571
|
-
type: 'sendModePickerOpen';
|
|
1572
|
-
info: NonNullable<State['sendModePicker']>;
|
|
1573
|
-
}
|
|
1574
|
-
/** Move the send-mode highlight (wraps). */
|
|
1575
|
-
| {
|
|
1576
|
-
type: 'sendModePickerMove';
|
|
1577
|
-
delta: number;
|
|
1578
|
-
}
|
|
1579
|
-
/** Close the send-mode picker. */
|
|
1580
|
-
| {
|
|
1581
|
-
type: 'sendModePickerClose';
|
|
1582
|
-
} | {
|
|
1583
|
-
type: 'resetContextChip';
|
|
1584
|
-
} | {
|
|
1585
|
-
type: 'fleetSeed';
|
|
1586
|
-
entries: FleetEntry[];
|
|
1587
|
-
cost: number;
|
|
1588
|
-
} | {
|
|
1589
|
-
type: 'fleetSpawn';
|
|
1590
|
-
id: string;
|
|
1591
|
-
name?: string | undefined;
|
|
1592
|
-
provider?: string | undefined;
|
|
1593
|
-
model?: string | undefined;
|
|
1594
|
-
transcriptPath?: string | undefined;
|
|
1595
|
-
} | {
|
|
1596
|
-
type: 'fleetStart';
|
|
1597
|
-
id: string;
|
|
1598
|
-
taskId?: string | undefined;
|
|
1599
|
-
} | {
|
|
1600
|
-
type: 'fleetDelta';
|
|
1601
|
-
id: string;
|
|
1602
|
-
text: string;
|
|
1603
|
-
} | {
|
|
1604
|
-
type: 'fleetMessage';
|
|
1605
|
-
id: string;
|
|
1606
|
-
text: string;
|
|
1607
|
-
} | {
|
|
1608
|
-
type: 'fleetTool';
|
|
1609
|
-
id: string;
|
|
1610
|
-
name?: string | undefined;
|
|
1611
|
-
ok?: boolean | undefined;
|
|
1612
|
-
durationMs?: number | undefined;
|
|
1613
|
-
outputBytes?: number | undefined;
|
|
1614
|
-
outputLines?: number | undefined;
|
|
1615
|
-
}
|
|
1616
|
-
/** tool.started: pin the current tool name for status display. */
|
|
1617
|
-
| {
|
|
1618
|
-
type: 'fleetToolStart';
|
|
1619
|
-
id: string;
|
|
1620
|
-
name: string;
|
|
1621
|
-
}
|
|
1622
|
-
/** tool.executed: clear the current tool (paired with fleetTool). */
|
|
1623
|
-
| {
|
|
1624
|
-
type: 'fleetToolEnd';
|
|
1625
|
-
id: string;
|
|
1626
|
-
} | {
|
|
1627
|
-
type: 'fleetUsage';
|
|
1628
|
-
id: string;
|
|
1629
|
-
input: number;
|
|
1630
|
-
output: number;
|
|
1631
|
-
cacheRead: number;
|
|
1632
|
-
cacheWrite: number;
|
|
1633
|
-
} | {
|
|
1634
|
-
type: 'fleetDone';
|
|
1635
|
-
id: string;
|
|
1636
|
-
status: FleetEntry['status'];
|
|
1637
|
-
iterations: number;
|
|
1638
|
-
toolCalls: number;
|
|
1639
|
-
/** Human-readable failure reason, e.g. "provider_auth", "rate_limit", "timeout". */
|
|
1640
|
-
failureReason?: string | undefined;
|
|
1641
|
-
} | {
|
|
1642
|
-
type: 'fleetRemove';
|
|
1643
|
-
id: string;
|
|
1644
|
-
} | {
|
|
1645
|
-
type: 'fleetBudgetWarning';
|
|
1646
|
-
id: string;
|
|
1647
|
-
kind: string;
|
|
1648
|
-
used: number;
|
|
1649
|
-
limit: number;
|
|
1650
|
-
} | {
|
|
1651
|
-
type: 'fleetBudgetExtended';
|
|
1652
|
-
id: string;
|
|
1653
|
-
totalExtensions: number;
|
|
1654
|
-
} | {
|
|
1655
|
-
type: 'fleetCtxPct';
|
|
1656
|
-
id: string;
|
|
1657
|
-
load: number;
|
|
1658
|
-
tokens: number;
|
|
1659
|
-
maxContext: number;
|
|
1660
|
-
/** Estimated USD cost of the context tokens (optional — computed when pricing known). */
|
|
1661
|
-
ctxCost?: number | undefined;
|
|
1662
|
-
} | {
|
|
1663
|
-
type: 'fleetCost';
|
|
1664
|
-
cost: number;
|
|
1665
|
-
input?: number | undefined;
|
|
1666
|
-
output?: number | undefined;
|
|
1667
|
-
/** Per-subagent usage keyed by subagent id (from the director snapshot). */
|
|
1668
|
-
perAgent?: Record<string, {
|
|
1669
|
-
cost: number;
|
|
1670
|
-
}>;
|
|
1671
|
-
}
|
|
1672
|
-
/** Runtime concurrency ceiling change from CLI /fleet concurrency <n>. */
|
|
1673
|
-
| {
|
|
1674
|
-
type: 'fleetConcurrency';
|
|
1675
|
-
n: number;
|
|
1676
|
-
} | {
|
|
1677
|
-
type: 'leaderIterStart';
|
|
1678
|
-
} | {
|
|
1679
|
-
type: 'leaderIterEnd';
|
|
1680
|
-
} | {
|
|
1681
|
-
type: 'leaderToolStart';
|
|
1682
|
-
name: string;
|
|
1683
|
-
} | {
|
|
1684
|
-
type: 'leaderToolEnd';
|
|
1685
|
-
name: string;
|
|
1686
|
-
ok?: boolean | undefined;
|
|
1687
|
-
durationMs?: number | undefined;
|
|
1688
|
-
} | {
|
|
1689
|
-
type: 'leaderCtxPct';
|
|
1690
|
-
load: number;
|
|
1691
|
-
tokens: number;
|
|
1692
|
-
maxContext: number;
|
|
1693
|
-
} | {
|
|
1694
|
-
type: 'setFleetChat';
|
|
1695
|
-
mode: FleetChatVerbosity;
|
|
1696
|
-
} | {
|
|
1697
|
-
type: 'toggleMonitor';
|
|
1698
|
-
} | {
|
|
1699
|
-
type: 'toggleAgentsMonitor';
|
|
1700
|
-
} | {
|
|
1701
|
-
type: 'toggleHelp';
|
|
1702
|
-
} | {
|
|
1703
|
-
type: 'toggleTodosMonitor';
|
|
1704
|
-
} | {
|
|
1705
|
-
type: 'toggleQueuePanel';
|
|
1706
|
-
} | {
|
|
1707
|
-
type: 'checkpointReceived';
|
|
1708
|
-
cp: State['checkpoints'][0];
|
|
1709
|
-
} | {
|
|
1710
|
-
type: 'rewindOverlayOpen';
|
|
1711
|
-
} | {
|
|
1712
|
-
type: 'rewindOverlayClose';
|
|
1713
|
-
} | {
|
|
1714
|
-
type: 'rewindOverlayMove';
|
|
1715
|
-
delta: number;
|
|
1716
|
-
} | {
|
|
1717
|
-
type: 'sessionRewound';
|
|
1718
|
-
toPromptIndex: number;
|
|
1719
|
-
} | {
|
|
1720
|
-
type: 'eternalStage';
|
|
1721
|
-
stage: AutonomyStage;
|
|
1722
|
-
} | {
|
|
1723
|
-
type: 'goalSummary';
|
|
1724
|
-
summary: GoalSummary;
|
|
1725
|
-
} | {
|
|
1726
|
-
type: 'goalRunInit';
|
|
1727
|
-
title: string;
|
|
1728
|
-
} | {
|
|
1729
|
-
type: 'goalRunPhaseUpdate';
|
|
1730
|
-
phaseId: string;
|
|
1731
|
-
name: string;
|
|
1732
|
-
status: string;
|
|
1733
|
-
completedTasks: number;
|
|
1734
|
-
totalTasks: number;
|
|
1735
|
-
startedAt?: number | undefined;
|
|
1736
|
-
} | {
|
|
1737
|
-
type: 'goalRunRunningPhases';
|
|
1738
|
-
phaseIds: string[];
|
|
1739
|
-
} | {
|
|
1740
|
-
type: 'goalRunElapsed';
|
|
1741
|
-
ms: number;
|
|
1742
|
-
} | {
|
|
1743
|
-
type: 'goalRunTaskActive';
|
|
1744
|
-
phaseId: string;
|
|
1745
|
-
taskId: string;
|
|
1746
|
-
title: string;
|
|
1747
|
-
agent?: string | undefined;
|
|
1748
|
-
/** True when the task starts, false when it completes/fails. */
|
|
1749
|
-
active: boolean;
|
|
1750
|
-
} | {
|
|
1751
|
-
type: 'goalRunMonitorToggle';
|
|
1752
|
-
} | {
|
|
1753
|
-
type: 'goalRunReset';
|
|
1754
|
-
} | {
|
|
1755
|
-
type: 'sddBoardSnapshot';
|
|
1756
|
-
snapshot: SddBoardSnapshot;
|
|
1757
|
-
} | {
|
|
1758
|
-
type: 'toggleSddBoardMonitor';
|
|
1759
|
-
} | {
|
|
1760
|
-
type: 'sddBoardFocusNext';
|
|
1761
|
-
} | {
|
|
1762
|
-
type: 'sddBoardFocusPrev';
|
|
1763
|
-
} | {
|
|
1764
|
-
type: 'worktreeUpsert';
|
|
1765
|
-
handleId: string;
|
|
1766
|
-
row: Partial<WorktreeRow & {
|
|
1767
|
-
baseBranch?: string | undefined;
|
|
1768
|
-
}>;
|
|
1769
|
-
baseBranch?: string | undefined;
|
|
1770
|
-
} | {
|
|
1771
|
-
type: 'worktreeRemove';
|
|
1772
|
-
handleId: string;
|
|
1773
|
-
} | {
|
|
1774
|
-
type: 'toggleWorktreeMonitor';
|
|
1775
|
-
}
|
|
1776
|
-
/** ScrollableHistory reports whether the viewport is scrolled up. */
|
|
1777
|
-
| {
|
|
1778
|
-
type: 'setHistoryScrolled';
|
|
1779
|
-
scrolled: boolean;
|
|
1780
|
-
}
|
|
1781
|
-
/** Report the computed viewport height. */
|
|
1782
|
-
| {
|
|
1783
|
-
type: 'setViewportRows';
|
|
1784
|
-
rows: number;
|
|
1785
|
-
}
|
|
1786
|
-
/**
|
|
1787
|
-
* Fold a batch of fleet/display actions through the reducer in ONE pass so
|
|
1788
|
-
* a 150ms burst of subagent events produces a single React render instead
|
|
1789
|
-
* of one per event. Order-preserving; only high-frequency display events
|
|
1790
|
-
* are batched (correctness-sensitive events stay immediate).
|
|
1791
|
-
*/
|
|
1792
|
-
| {
|
|
1793
|
-
type: 'fleetBatch';
|
|
1794
|
-
actions: Action[];
|
|
1795
|
-
}
|
|
1796
|
-
/** BugHunter emitted a bug.found event on the FleetBus. */
|
|
1797
|
-
| {
|
|
1798
|
-
type: 'collabBugFound';
|
|
1799
|
-
sessionId: string;
|
|
1800
|
-
bugId: string;
|
|
1801
|
-
severity: string;
|
|
1802
|
-
description: string;
|
|
1803
|
-
}
|
|
1804
|
-
/** RefactorPlanner emitted a refactor.plan event on the FleetBus. */
|
|
1805
|
-
| {
|
|
1806
|
-
type: 'collabPlanEmitted';
|
|
1807
|
-
sessionId: string;
|
|
1808
|
-
planId: string;
|
|
1809
|
-
riskScore: string;
|
|
1810
|
-
phaseCount: number;
|
|
1811
|
-
}
|
|
1812
|
-
/** Critic emitted a critic.evaluation event on the FleetBus. */
|
|
1813
|
-
| {
|
|
1814
|
-
type: 'collabEvalComplete';
|
|
1815
|
-
sessionId: string;
|
|
1816
|
-
evalId: string;
|
|
1817
|
-
verdict: string;
|
|
1818
|
-
score: number;
|
|
1819
|
-
}
|
|
1820
|
-
/** Collab session completed — overall verdict is available. */
|
|
1821
|
-
| {
|
|
1822
|
-
type: 'collabSessionDone';
|
|
1823
|
-
sessionId: string;
|
|
1824
|
-
verdict: 'approve' | 'needs_revision' | 'reject';
|
|
1825
|
-
}
|
|
1826
|
-
/** A collab subagent (bug-hunter / refactor-planner / critic) was spawned. */
|
|
1827
|
-
| {
|
|
1828
|
-
type: 'collabSubagentSpawned';
|
|
1829
|
-
subagentId: string;
|
|
1830
|
-
role: string;
|
|
1831
|
-
}
|
|
1832
|
-
/** Toggle the process list overlay (F8). */
|
|
1833
|
-
| {
|
|
1834
|
-
type: 'toggleProcessList';
|
|
1835
|
-
}
|
|
1836
|
-
/** Toggle the cron jobs monitor. */
|
|
1837
|
-
| {
|
|
1838
|
-
type: 'toggleCronMonitor';
|
|
1839
|
-
}
|
|
1840
|
-
/** Toggle the audit (side effects) panel. */
|
|
1841
|
-
| {
|
|
1842
|
-
type: 'toggleAuditPanel';
|
|
1843
|
-
}
|
|
1844
|
-
/** Toggle the plan panel (F5). */
|
|
1845
|
-
| {
|
|
1846
|
-
type: 'togglePlanPanel';
|
|
1847
|
-
}
|
|
1848
|
-
/** Close every open panel/monitor/overlay at once. */
|
|
1849
|
-
| {
|
|
1850
|
-
type: 'closeAllPanels';
|
|
1851
|
-
} | {
|
|
1852
|
-
type: 'toggleKanbanPanel';
|
|
1853
|
-
} | {
|
|
1854
|
-
type: 'toggleGoalPanel';
|
|
1855
|
-
} | {
|
|
1856
|
-
type: 'toggleGoalKanbanPanel';
|
|
1857
|
-
} | {
|
|
1858
|
-
type: 'toggleContextPanel';
|
|
1859
|
-
} | {
|
|
1860
|
-
type: 'toggleSessionsPanel';
|
|
1861
|
-
} | {
|
|
1862
|
-
type: 'sessionsPanelSet';
|
|
1863
|
-
sessions: LiveSessionEntry[];
|
|
1864
|
-
} | {
|
|
1865
|
-
type: 'sessionsPanelMove';
|
|
1866
|
-
delta: number;
|
|
1867
|
-
} | {
|
|
1868
|
-
type: 'sessionsPanelBusy';
|
|
1869
|
-
on: boolean;
|
|
1870
|
-
} | {
|
|
1871
|
-
type: 'sessionResumeConfirmSet';
|
|
1872
|
-
sessionId: string;
|
|
1873
|
-
sessionName: string;
|
|
1874
|
-
} | {
|
|
1875
|
-
type: 'sessionResumeConfirmClear';
|
|
1876
|
-
}
|
|
1877
|
-
/** Push throttled debug-stream telemetry from the provider's chunk callback. */
|
|
1878
|
-
| {
|
|
1879
|
-
type: 'debugStreamStats';
|
|
1880
|
-
chunkCount: number;
|
|
1881
|
-
lastChunkSize: number;
|
|
1882
|
-
lastDeltaMs: number;
|
|
1883
|
-
totalBytes: number;
|
|
1884
|
-
lastChunkAt: string;
|
|
1885
|
-
}
|
|
1886
|
-
/** Clear debug-stream stats (fired on stream reset / idle). */
|
|
1887
|
-
| {
|
|
1888
|
-
type: 'debugStreamStatsClear';
|
|
1889
|
-
}
|
|
1890
|
-
/** Auto-proceed countdown tick. Upserts the countdown; 0 clears it. */
|
|
1891
|
-
| {
|
|
1892
|
-
type: 'countdownTick';
|
|
1893
|
-
remainingSeconds: number;
|
|
1894
|
-
}
|
|
1895
|
-
/** Auto-proceed countdown ended (completed or aborted). */
|
|
1896
|
-
| {
|
|
1897
|
-
type: 'countdownEnded';
|
|
1898
|
-
}
|
|
1899
|
-
/** Coordinator emitted a live event. */
|
|
1900
|
-
| {
|
|
1901
|
-
type: 'coordinatorEvent';
|
|
1902
|
-
event: {
|
|
1903
|
-
type: string;
|
|
1904
|
-
goalId?: string | undefined;
|
|
1905
|
-
taskId?: string | undefined;
|
|
1906
|
-
knowledgeId?: string | undefined;
|
|
1907
|
-
title?: string | undefined;
|
|
1908
|
-
text?: string | undefined;
|
|
1909
|
-
participants?: string[] | undefined;
|
|
1910
|
-
};
|
|
1911
|
-
}
|
|
1912
|
-
/** Toggle the coordinator monitor overlay. */
|
|
1913
|
-
| {
|
|
1914
|
-
type: 'toggleCoordinatorMonitor';
|
|
1915
|
-
};
|
|
1916
785
|
//# sourceMappingURL=app-state.d.ts.map
|