@wrongstack/tui 0.313.1 → 0.316.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/app-action-type.d.ts +56 -0
  2. package/dist/app-initial-state.d.ts +2 -1
  3. package/dist/app-props.d.ts +45 -2
  4. package/dist/app-settings-type.d.ts +7 -0
  5. package/dist/app-state-core-types.d.ts +18 -0
  6. package/dist/app-state.d.ts +42 -0
  7. package/dist/app-status-region.d.ts +1 -1
  8. package/dist/app-view-contract.d.ts +2 -1
  9. package/dist/app-view-pickers.d.ts +2 -1
  10. package/dist/app-view-sidebar.d.ts +2 -1
  11. package/dist/brain-panel-model.d.ts +0 -2
  12. package/dist/checkpoint-retention.d.ts +2 -3
  13. package/dist/components/agents-monitor.d.ts +3 -3
  14. package/dist/components/auth-panel.d.ts +2 -1
  15. package/dist/components/brain-decision-prompt.d.ts +2 -1
  16. package/dist/components/clear-confirm-panel.d.ts +4 -3
  17. package/dist/components/composer-status-chip.d.ts +3 -2
  18. package/dist/components/confirm-prompt.d.ts +2 -1
  19. package/dist/components/context-panel.d.ts +2 -1
  20. package/dist/components/continue-confirm-panel.d.ts +3 -2
  21. package/dist/components/coordinator-panel.d.ts +2 -1
  22. package/dist/components/cron-jobs.d.ts +2 -1
  23. package/dist/components/design-picker.d.ts +2 -1
  24. package/dist/components/enhance-panel.d.ts +4 -3
  25. package/dist/components/esc-confirm-prompt.d.ts +2 -1
  26. package/dist/components/exit-confirm-panel.d.ts +3 -2
  27. package/dist/components/f-key-picker.d.ts +1 -2
  28. package/dist/components/fallback-overlay.d.ts +2 -1
  29. package/dist/components/fleet-monitor.d.ts +2 -1
  30. package/dist/components/fleet-panel.d.ts +4 -4
  31. package/dist/components/goal-kanban-panel.d.ts +2 -1
  32. package/dist/components/help-overlay.d.ts +2 -1
  33. package/dist/components/help-panel.d.ts +2 -1
  34. package/dist/components/history/code-block-diff-helpers.d.ts +1 -6
  35. package/dist/components/history/code-block.d.ts +0 -2
  36. package/dist/components/history/copy-registry.d.ts +2 -1
  37. package/dist/components/history/index.d.ts +2 -2
  38. package/dist/components/history/replay.d.ts +2 -1
  39. package/dist/components/history/sage-memory-block.d.ts +0 -6
  40. package/dist/components/history/scroll-controller-types.d.ts +7 -12
  41. package/dist/components/history/selection-band-store.d.ts +3 -2
  42. package/dist/components/history/selection-helpers.d.ts +24 -65
  43. package/dist/components/history/tool-card.d.ts +2 -1
  44. package/dist/components/history/tool-group.d.ts +0 -7
  45. package/dist/components/history/use-history-controller.d.ts +2 -1
  46. package/dist/components/history/utils.d.ts +1 -1
  47. package/dist/components/history/wrap-geometry.d.ts +18 -125
  48. package/dist/components/history.d.ts +1 -1
  49. package/dist/components/kanban-panel.d.ts +7 -25
  50. package/dist/components/live-activity-strip.d.ts +2 -1
  51. package/dist/components/mailbox-panel.d.ts +2 -1
  52. package/dist/components/mcp-picker.d.ts +2 -1
  53. package/dist/components/mode-picker.d.ts +2 -1
  54. package/dist/components/model-picker.d.ts +2 -1
  55. package/dist/components/monitor-shell.d.ts +3 -2
  56. package/dist/components/phase-monitor.d.ts +2 -1
  57. package/dist/components/plan-panel.d.ts +3 -2
  58. package/dist/components/plugin-picker.d.ts +2 -1
  59. package/dist/components/powerline-rail.d.ts +2 -1
  60. package/dist/components/project-picker.d.ts +2 -1
  61. package/dist/components/prompt-picker.d.ts +2 -1
  62. package/dist/components/refine-countdown-panel.d.ts +3 -2
  63. package/dist/components/refine-failure-panel.d.ts +2 -1
  64. package/dist/components/resource-menu.d.ts +2 -1
  65. package/dist/components/resume-picker.d.ts +2 -1
  66. package/dist/components/scrollable-history.d.ts +2 -2
  67. package/dist/components/send-mode-picker.d.ts +3 -2
  68. package/dist/components/sessions-panel.d.ts +2 -1
  69. package/dist/components/settings-picker-filter.d.ts +2 -1
  70. package/dist/components/settings-picker.d.ts +3 -1
  71. package/dist/components/shadow-panel.d.ts +2 -1
  72. package/dist/components/shell-command-warning.d.ts +2 -1
  73. package/dist/components/sidebar-content.d.ts +4 -9
  74. package/dist/components/sidebar-panel-frame.d.ts +2 -13
  75. package/dist/components/sidebar.d.ts +2 -1
  76. package/dist/components/skill-picker.d.ts +2 -1
  77. package/dist/components/slash-confirm-panel.d.ts +3 -2
  78. package/dist/components/slash-menu.d.ts +2 -1
  79. package/dist/components/status-bar-format.d.ts +2 -0
  80. package/dist/components/status-bar-icons.d.ts +4 -0
  81. package/dist/components/status-bar-rails.d.ts +19 -6
  82. package/dist/components/status-bar-types.d.ts +18 -0
  83. package/dist/components/status-bar.d.ts +17 -7
  84. package/dist/components/status-line-registry.d.ts +62 -0
  85. package/dist/components/statusline-picker.d.ts +5 -27
  86. package/dist/components/theme-picker.d.ts +2 -1
  87. package/dist/components/theme-preview.d.ts +2 -1
  88. package/dist/components/tools-picker.d.ts +2 -1
  89. package/dist/components/topic-check-panel.d.ts +2 -1
  90. package/dist/connections-slash.d.ts +2 -1
  91. package/dist/context-fill.d.ts +4 -3
  92. package/dist/context-slash.d.ts +3 -2
  93. package/dist/cron-slash.d.ts +2 -1
  94. package/dist/esc-close-panels.d.ts +2 -1
  95. package/dist/f-key-panels.d.ts +1 -1
  96. package/dist/git-info.d.ts +22 -3
  97. package/dist/height-cache.d.ts +2 -8
  98. package/dist/history-entry.d.ts +4 -3
  99. package/dist/history-retention.d.ts +16 -6
  100. package/dist/hit-test.d.ts +2 -1
  101. package/dist/hooks/subagent-history-format.d.ts +2 -1
  102. package/dist/hooks/use-app-session-state.d.ts +2 -1
  103. package/dist/hooks/use-auth-panel.d.ts +2 -1
  104. package/dist/hooks/use-brain-panel.d.ts +2 -1
  105. package/dist/hooks/use-chip-staleness-guard.d.ts +4 -3
  106. package/dist/hooks/use-core-tui-commands.d.ts +1 -1
  107. package/dist/hooks/use-director-fleet-bridge.d.ts +2 -4
  108. package/dist/hooks/use-exit-command.d.ts +1 -1
  109. package/dist/hooks/use-file-search.d.ts +3 -7
  110. package/dist/hooks/use-fleet-generation-gate.d.ts +2 -1
  111. package/dist/hooks/use-git-session-status.d.ts +1 -1
  112. package/dist/hooks/use-history-archive.d.ts +3 -2
  113. package/dist/hooks/use-input-history-persistence.d.ts +2 -1
  114. package/dist/hooks/use-mode-picker.d.ts +2 -1
  115. package/dist/hooks/use-model-pick.d.ts +2 -1
  116. package/dist/hooks/use-next-steps-auto-submit.d.ts +2 -2
  117. package/dist/hooks/use-panel-controllers.d.ts +3 -1
  118. package/dist/hooks/use-paste-handling.d.ts +2 -1
  119. package/dist/hooks/use-prompt-picker.d.ts +4 -3
  120. package/dist/hooks/use-session-rewind.d.ts +2 -1
  121. package/dist/hooks/use-shadow-panel.d.ts +2 -1
  122. package/dist/hooks/use-sidebar-panel-data.d.ts +4 -3
  123. package/dist/hooks/use-status-sync-interval.d.ts +2 -1
  124. package/dist/hooks/use-statusline-hidden-sync.d.ts +2 -1
  125. package/dist/hooks/use-statusline-state.d.ts +9 -3
  126. package/dist/hooks/use-stream-chip-expiration.d.ts +3 -2
  127. package/dist/hooks/use-terminal-size.d.ts +3 -2
  128. package/dist/hooks/use-theme-picker-handler.d.ts +2 -1
  129. package/dist/hooks/use-tui-activity.d.ts +2 -1
  130. package/dist/hooks/use-tui-controllers.d.ts +2 -1
  131. package/dist/hooks/use-tui-environment-state.d.ts +7 -5
  132. package/dist/hooks/use-tui-event-bridge.d.ts +1 -1
  133. package/dist/index.js +8509 -8341
  134. package/dist/ink.d.ts +1 -1
  135. package/dist/input-editing.d.ts +2 -1
  136. package/dist/input-tokens.d.ts +2 -1
  137. package/dist/input-validation/action-types.d.ts +1 -1
  138. package/dist/input-validation.d.ts +4 -4
  139. package/dist/kanban-slash.d.ts +8 -32
  140. package/dist/layout-store.d.ts +2 -1
  141. package/dist/markdown-table.d.ts +1 -3
  142. package/dist/memory-context-monitor.d.ts +3 -2
  143. package/dist/memory-lifecycle-entry.d.ts +2 -1
  144. package/dist/memory-slash-format.d.ts +0 -1
  145. package/dist/mouse.d.ts +3 -2
  146. package/dist/overlay-key-router.d.ts +5 -4
  147. package/dist/paste-accumulator.d.ts +3 -2
  148. package/dist/prompt-refinement-start.d.ts +1 -1
  149. package/dist/reducers/composer.d.ts +1 -1
  150. package/dist/reducers/conversation.d.ts +1 -1
  151. package/dist/reducers/helpers.d.ts +16 -3
  152. package/dist/resume-load.d.ts +131 -0
  153. package/dist/run-blocks-controller.d.ts +2 -1
  154. package/dist/run-tui-client-registration.d.ts +3 -2
  155. package/dist/run-tui-options.d.ts +35 -2
  156. package/dist/run-tui-teardown.d.ts +2 -1
  157. package/dist/run-tui-title-controller.d.ts +2 -1
  158. package/dist/scroll-anchor.d.ts +2 -4
  159. package/dist/slash-command-lifecycle.d.ts +2 -1
  160. package/dist/submit-history.d.ts +2 -1
  161. package/dist/submit-prompt-refinement.d.ts +3 -2
  162. package/dist/terminal-title.d.ts +2 -1
  163. package/dist/theme.d.ts +2 -2
  164. package/dist/token-previews.d.ts +2 -1
  165. package/dist/tui-host-capabilities.d.ts +1 -1
  166. package/dist/tui-memory-counters.d.ts +2 -1
  167. package/dist/ui-contracts.d.ts +1 -1
  168. package/dist/ui-glyphs.d.ts +3 -1
  169. package/dist/workbench-slash.d.ts +2 -1
  170. package/package.json +9 -9
  171. package/dist/react-children-flatten.d.ts +0 -28
@@ -27,7 +27,7 @@ export interface MailboxAgentEntry {
27
27
  online: boolean;
28
28
  source?: string | undefined;
29
29
  }
30
- export interface MailboxPanelProps {
30
+ interface MailboxPanelProps {
31
31
  /** Recent messages (newest first). */
32
32
  messages: MailboxMessageEntry[];
33
33
  /** Online agents in this project. */
@@ -38,4 +38,5 @@ export interface MailboxPanelProps {
38
38
  open: boolean;
39
39
  }
40
40
  export declare function MailboxPanel({ messages, agents, unreadCount, open, }: MailboxPanelProps): React.ReactElement | null;
41
+ export {};
41
42
  //# sourceMappingURL=mailbox-panel.d.ts.map
@@ -8,11 +8,12 @@ export interface McpPickerItem {
8
8
  toolCount: number;
9
9
  lazy?: boolean | undefined;
10
10
  }
11
- export interface McpPickerProps {
11
+ interface McpPickerProps {
12
12
  items: McpPickerItem[];
13
13
  selected: number;
14
14
  busy?: boolean | undefined;
15
15
  hint?: string | undefined;
16
16
  }
17
17
  export declare function McpPicker({ items, selected, busy, hint, }: McpPickerProps): React.ReactElement;
18
+ export {};
18
19
  //# sourceMappingURL=mcp-picker.d.ts.map
@@ -7,11 +7,12 @@ export interface ModeOption {
7
7
  family: 'lite' | 'deep' | 'balanced' | 'custom';
8
8
  isActive: boolean;
9
9
  }
10
- export interface ModePickerProps {
10
+ interface ModePickerProps {
11
11
  modes: ModeOption[];
12
12
  selected: number;
13
13
  hint?: string | undefined;
14
14
  }
15
15
  export declare function toModeOptions(modes: Mode[], activeId: string | null): ModeOption[];
16
16
  export declare function ModePicker({ modes, selected, hint, }: ModePickerProps): React.ReactElement;
17
+ export {};
17
18
  //# sourceMappingURL=mode-picker.d.ts.map
@@ -21,7 +21,7 @@ export interface ProviderOption {
21
21
  releaseDate?: string | undefined;
22
22
  }> | undefined;
23
23
  }
24
- export interface ModelPickerProps {
24
+ interface ModelPickerProps {
25
25
  step: 'provider' | 'model';
26
26
  providerOptions: ProviderOption[];
27
27
  /** All model options for the current provider. */
@@ -50,4 +50,5 @@ export interface ModelPickerProps {
50
50
  * Driven entirely by props — App owns cursor state, key events, and search.
51
51
  */
52
52
  export declare function ModelPicker({ step, providerOptions, filteredOptions, selected, pickedProviderId, searchQuery, hint, titleLabel, columns, maxRows, }: ModelPickerProps): React.ReactElement;
53
+ export {};
53
54
  //# sourceMappingURL=model-picker.d.ts.map
@@ -2,7 +2,7 @@ import type { ReactNode } from 'react';
2
2
  export declare const PanelShortcutsProvider: import("react").Provider<boolean>;
3
3
  /** True when panel letter shortcuts may fire (empty composer draft). */
4
4
  export declare function usePanelShortcutsEnabled(): boolean;
5
- export interface MonitorSize {
5
+ interface MonitorSize {
6
6
  columns: number;
7
7
  rows: number;
8
8
  /** Width inside a full-width round border with one column of horizontal padding. */
@@ -18,7 +18,7 @@ export declare function panelWindow(total: number, selected: number, limit: numb
18
18
  above: number;
19
19
  below: number;
20
20
  };
21
- export interface MonitorShellProps {
21
+ interface MonitorShellProps {
22
22
  accent: string;
23
23
  icon: string;
24
24
  title: string;
@@ -48,4 +48,5 @@ export declare function EmptyPanelState({ icon, title, detail, accent, }: {
48
48
  detail?: ReactNode | undefined;
49
49
  accent?: string | undefined;
50
50
  }): import("react").JSX.Element;
51
+ export {};
51
52
  //# sourceMappingURL=monitor-shell.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- export interface PhaseMonitorProps {
2
+ interface PhaseMonitorProps {
3
3
  /** Per-phase state from the App reducer. */
4
4
  phases: Record<string, {
5
5
  name: string;
@@ -30,4 +30,5 @@ export interface PhaseMonitorProps {
30
30
  * Bottom: keyboard hint
31
31
  */
32
32
  export declare function PhaseMonitor({ phases, runningPhaseIds, elapsedMs, nowTick, }: PhaseMonitorProps): React.ReactElement;
33
+ export {};
33
34
  //# sourceMappingURL=phase-monitor.d.ts.map
@@ -7,7 +7,7 @@ export interface PlanItem {
7
7
  createdAt: string;
8
8
  updatedAt: string;
9
9
  }
10
- export interface PlanPanelData {
10
+ interface PlanPanelData {
11
11
  items: PlanItem[];
12
12
  title?: string | undefined;
13
13
  scope: 'session' | 'project';
@@ -17,7 +17,7 @@ export interface PlanPanelData {
17
17
  setScope: (scope: 'session' | 'project') => void;
18
18
  load: (scope: 'session' | 'project', quiet?: boolean) => Promise<void>;
19
19
  }
20
- export interface PlanPanelProps {
20
+ interface PlanPanelProps {
21
21
  /** Absolute path to the project root. */
22
22
  projectRoot: string;
23
23
  /** Current session ID (null if no active session). */
@@ -41,4 +41,5 @@ export interface PlanPanelProps {
41
41
  */
42
42
  export declare function usePlanPanelData(projectRoot: string, sessionId: string | null, enabled?: boolean): PlanPanelData;
43
43
  export declare function PlanPanel({ projectRoot, sessionId, onClose: _onClose, }: PlanPanelProps): React.ReactElement;
44
+ export {};
44
45
  //# sourceMappingURL=plan-panel.d.ts.map
@@ -12,11 +12,12 @@ export interface PluginPickerItem {
12
12
  */
13
13
  lockable?: boolean | undefined;
14
14
  }
15
- export interface PluginPickerProps {
15
+ interface PluginPickerProps {
16
16
  items: PluginPickerItem[];
17
17
  selected: number;
18
18
  busy?: boolean | undefined;
19
19
  hint?: string | undefined;
20
20
  }
21
21
  export declare function PluginPicker({ items, selected, busy, hint, }: PluginPickerProps): React.ReactElement;
22
+ export {};
22
23
  //# sourceMappingURL=plugin-picker.d.ts.map
@@ -21,7 +21,7 @@ export interface RailSpan {
21
21
  * PowerlineRail's layout loop above.
22
22
  */
23
23
  export declare function computeRailSpans(entries: readonly RailSpanEntry[], budget: number, rightAnchor?: React.ReactElement | null): RailSpan[];
24
- export interface PowerlineRailProps {
24
+ interface PowerlineRailProps {
25
25
  segments: React.ReactElement[];
26
26
  budget: number;
27
27
  monochrome?: boolean | undefined;
@@ -41,4 +41,5 @@ export interface PowerlineRailProps {
41
41
  * just clean chips separated by a single space.
42
42
  */
43
43
  export declare function PowerlineRail({ segments, budget, monochrome, fillBg, rightAnchor, }: PowerlineRailProps): React.ReactElement;
44
+ export {};
44
45
  //# sourceMappingURL=powerline-rail.d.ts.map
@@ -7,7 +7,7 @@ export interface ProjectPickerItem {
7
7
  meta?: string | undefined;
8
8
  kind: 'project' | 'action';
9
9
  }
10
- export interface ProjectPickerProps {
10
+ interface ProjectPickerProps {
11
11
  /** Already-filtered items. Navigation indices target this list directly. */
12
12
  items: ProjectPickerItem[];
13
13
  /** Index into `items`. Guaranteed to never point at a divider. */
@@ -19,4 +19,5 @@ export interface ProjectPickerProps {
19
19
  }
20
20
  /** Responsive project command center opened by F1. */
21
21
  export declare function ProjectPicker({ items, selected, filter, hint, }: ProjectPickerProps): React.ReactElement;
22
+ export {};
22
23
  //# sourceMappingURL=project-picker.d.ts.map
@@ -14,7 +14,7 @@ export interface PromptPickEntry {
14
14
  * recently-used slug list (most-recent first).
15
15
  */
16
16
  export declare function filterPromptPicker(all: PromptPickEntry[], categories: string[], catIndex: number, recentSlugs?: string[]): PromptPickEntry[];
17
- export interface PromptPickerProps {
17
+ interface PromptPickerProps {
18
18
  /** Already-filtered entries for the active category. */
19
19
  entries: PromptPickEntry[];
20
20
  selected: number;
@@ -30,4 +30,5 @@ export interface PromptPickerProps {
30
30
  * any `{{variables}}` left in place for the user to fill inline).
31
31
  */
32
32
  export declare function PromptPicker({ entries, selected, category, total, columns, maxRows, }: PromptPickerProps): React.ReactElement;
33
+ export {};
33
34
  //# sourceMappingURL=prompt-picker.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
- export type RefineCountdownDecision = 'proceed' | 'skip' | 'cancel';
3
- export interface RefineCountdownPanelProps {
2
+ type RefineCountdownDecision = 'proceed' | 'skip' | 'cancel';
3
+ interface RefineCountdownPanelProps {
4
4
  /** The user's just-submitted message. */
5
5
  original: string;
6
6
  /** Grace period, in seconds, before the refiner call starts. */
@@ -22,4 +22,5 @@ export interface RefineCountdownPanelProps {
22
22
  * WebUI/SimpleUI RefinePanel's 'countdown' face.
23
23
  */
24
24
  export declare function RefineCountdownPanel({ original, seconds, onDecision, providerId, model, }: RefineCountdownPanelProps): React.ReactElement;
25
+ export {};
25
26
  //# sourceMappingURL=refine-countdown-panel.d.ts.map
@@ -25,7 +25,7 @@ export interface RefineFailureModel {
25
25
  label?: string | undefined;
26
26
  }
27
27
  export declare function filterRefineModels<T extends RefineFailureModel>(models: readonly T[], query: string): readonly T[];
28
- export interface RefineFailurePanelProps {
28
+ interface RefineFailurePanelProps {
29
29
  /** The user's original message (sent as-is if they decline recovery). */
30
30
  original: string;
31
31
  /** Short failure reason from the refiner (provider error / timeout / empty). */
@@ -46,4 +46,5 @@ export interface RefineFailurePanelProps {
46
46
  * Everything resolves through `onDecision`; no session state is mutated here.
47
47
  */
48
48
  export declare function RefineFailurePanel({ original, error, elapsedMs, fallbackRef, models, onDecision, }: RefineFailurePanelProps): React.ReactElement;
49
+ export {};
49
50
  //# sourceMappingURL=refine-failure-panel.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { ResourceMenuItem, ResourceMenuSnapshot } from '../ui-contracts.js';
3
- export interface ResourceMenuProps {
3
+ interface ResourceMenuProps {
4
4
  snapshot: ResourceMenuSnapshot;
5
5
  selected: number;
6
6
  hint?: string | undefined;
@@ -13,4 +13,5 @@ export interface ResourceMenuProps {
13
13
  /** Reusable two-pane browser for operational state exposed by slash commands. */
14
14
  export declare function ResourceMenu({ snapshot, selected, hint, confirming, filter, filtering, columns, maxRows, }: ResourceMenuProps): React.ReactElement;
15
15
  export declare function filterResourceMenuItems(snapshot: ResourceMenuSnapshot, filter: string): ResourceMenuItem[];
16
+ export {};
16
17
  //# sourceMappingURL=resource-menu.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { ResumeSessionEntry } from '../app-state.js';
3
- export interface ResumePickerProps {
3
+ interface ResumePickerProps {
4
4
  sessions: ResumeSessionEntry[];
5
5
  selected: number;
6
6
  busy: boolean;
@@ -17,4 +17,5 @@ export interface ResumePickerProps {
17
17
  * on the focused session so 30+ entries stay navigable on a 24-row terminal.
18
18
  */
19
19
  export declare function ResumePicker({ sessions, selected, busy, error, hint, }: ResumePickerProps): React.ReactElement;
20
+ export {};
20
21
  //# sourceMappingURL=resume-picker.d.ts.map
@@ -1,8 +1,8 @@
1
1
  import type React from 'react';
2
2
  import { type HistoryEntry } from './history.js';
3
- export type { HistoryScrollController, ScrollableHistoryProps, } from './history/scroll-controller-types.js';
3
+ export type { HistoryScrollController } from './history/scroll-controller-types.js';
4
4
  export { type CopyHit, LIVE_TOOL_STREAM_COPY_ID, SELECTION_COPY_ID, findCopyHit, resolveCopyPayload, copyRegistryVisibleClip, liveToolStreamCopyHit, } from './history/copy-geometry.js';
5
- export { type SelectionRect, type SelectionSlice, normalizeSelection, isOutOfBand, selectionToSlices, assembleSelectionText, } from './history/selection-helpers.js';
5
+ export { type SelectionRect, normalizeSelection, isOutOfBand, selectionTouchedEntryIds, assembleSelectionText, } from './history/selection-helpers.js';
6
6
  export { type MountedCardSpan, scrollbarThumb, scrollOffsetForTrackRow, buildMountedCardSpans, selectionHitAt, } from './history/scrollbar-geometry.js';
7
7
  export { Scrollbar } from './history/scrollbar-rail.js';
8
8
  import type { ScrollableHistoryProps } from './history/scroll-controller-types.js';
@@ -4,7 +4,7 @@ import type React from 'react';
4
4
  * Mirrors the WebUI's `QueueMode` vocabulary (ChatInput.tsx).
5
5
  */
6
6
  export type SendMode = 'queue' | 'btw' | 'steer';
7
- export interface SendModeOption {
7
+ interface SendModeOption {
8
8
  mode: SendMode;
9
9
  /** Quick-select key (lower-case). */
10
10
  key: string;
@@ -41,7 +41,7 @@ export interface SendModeKey {
41
41
  */
42
42
  export declare function sendModeFromKey(input: string, key: SendModeKey, selected: number): SendMode | 'cancel' | null;
43
43
  export declare function formatSendModeMessagePreview(text: string, maxChars?: number): string;
44
- export interface SendModePickerProps {
44
+ interface SendModePickerProps {
45
45
  selected: number;
46
46
  /** The message being routed, shown so the modal question has context. */
47
47
  messagePreview?: string | undefined;
@@ -61,4 +61,5 @@ export interface SendModePickerProps {
61
61
  * - Esc → cancel (caller restores the draft to the composer)
62
62
  */
63
63
  export declare function SendModePicker({ selected, messagePreview, onMove, onSelect, }: SendModePickerProps): React.ReactElement;
64
+ export {};
64
65
  //# sourceMappingURL=send-mode-picker.d.ts.map
@@ -22,7 +22,7 @@ export interface LiveAgentEntry {
22
22
  toolCalls: number;
23
23
  lastActivityAt: string;
24
24
  }
25
- export interface SessionsPanelProps {
25
+ interface SessionsPanelProps {
26
26
  sessions: LiveSessionEntry[];
27
27
  /** True while the data is being fetched. */
28
28
  busy: boolean;
@@ -43,4 +43,5 @@ export interface SessionsPanelProps {
43
43
  * Opened with F10. Mirrors the output of /sessions status.
44
44
  */
45
45
  export declare function SessionsPanel({ sessions, busy, selected, resumeConfirm, currentSessionId, }: SessionsPanelProps): React.ReactElement;
46
+ export {};
46
47
  //# sourceMappingURL=sessions-panel.d.ts.map
@@ -9,7 +9,7 @@ export type SettingsFilterResult = {
9
9
  fuzzyIdx: number[] | undefined;
10
10
  score: number;
11
11
  };
12
- export interface SettingsFilterState {
12
+ interface SettingsFilterState {
13
13
  filterActive: boolean;
14
14
  filterQuery: string;
15
15
  rankedResults: SettingsFilterResult[];
@@ -17,4 +17,5 @@ export interface SettingsFilterState {
17
17
  highlightSegments: (label: string) => SettingsHighlightSegment[];
18
18
  }
19
19
  export declare function buildSettingsFilterState(filter: string | undefined, chords: readonly SettingsPickerJumpChord[]): SettingsFilterState;
20
+ export {};
20
21
  //# sourceMappingURL=settings-picker-filter.d.ts.map
@@ -48,6 +48,8 @@ export interface SettingsPickerProps {
48
48
  reasoningMode: ReasoningMode;
49
49
  /** Reasoning effort level. */
50
50
  reasoningEffort: ReasoningEffort;
51
+ /** Effort levels the active model documents (absent = undocumented). */
52
+ reasoningEffortLevels?: string[] | undefined;
51
53
  /** Preserve thinking across turns. */
52
54
  reasoningPreserve: boolean;
53
55
  /** Prompt cache TTL. */
@@ -135,5 +137,5 @@ export interface SettingsPickerProps {
135
137
  fieldRowIndex: readonly number[];
136
138
  }) => void) | undefined;
137
139
  }
138
- export declare function SettingsPicker({ field, filter, mode, delayMs, titleAnimation, yolo, fleetChat, chime, confirmExit, nextPrediction, featureMcp, featurePlugins, featureMemory, featureSkills, featureModelsRegistry, tokenSavingTier, allowOutsideProjectRoot, maxIterations, autoProceedMaxIterations, enhanceDelayMs, enhanceEnabled, enhanceLanguage, preRefineSeconds, indexOnStart, multiDiffSummaryThreshold, thinkingWord, thinkingWordEditing, thinkingWordDraft, wrongProxyUrlEditing, wrongProxyUrlDraft, reasoningMode, reasoningEffort, reasoningPreserve, cacheTtl, contextAutoCompact, contextStrategy, contextMode, maxConcurrent, logLevel, auditLevel, debugStream, statuslineMode, configScope, profileConfigPath, animationStyle, breakerEnabled, breakerAutoKillResetMs, showModelReasoning, showAgentSwarmPanel, showSidebar, showSageMemoryInject, sageMemoryInjectThreshold, nextStepsTool, readSymbols, panelPositions, wrongProxyEnabled, wrongProxyUrl, inputHeight, hint, onLayoutComputed, }: SettingsPickerProps): React.ReactElement;
140
+ export declare function SettingsPicker({ field, filter, mode, delayMs, titleAnimation, yolo, fleetChat, chime, confirmExit, nextPrediction, featureMcp, featurePlugins, featureMemory, featureSkills, featureModelsRegistry, tokenSavingTier, allowOutsideProjectRoot, maxIterations, autoProceedMaxIterations, enhanceDelayMs, enhanceEnabled, enhanceLanguage, preRefineSeconds, indexOnStart, multiDiffSummaryThreshold, thinkingWord, thinkingWordEditing, thinkingWordDraft, wrongProxyUrlEditing, wrongProxyUrlDraft, reasoningMode, reasoningEffort, reasoningEffortLevels, reasoningPreserve, cacheTtl, contextAutoCompact, contextStrategy, contextMode, maxConcurrent, logLevel, auditLevel, debugStream, statuslineMode, configScope, profileConfigPath, animationStyle, breakerEnabled, breakerAutoKillResetMs, showModelReasoning, showAgentSwarmPanel, showSidebar, showSageMemoryInject, sageMemoryInjectThreshold, nextStepsTool, readSymbols, panelPositions, wrongProxyEnabled, wrongProxyUrl, inputHeight, hint, onLayoutComputed, }: SettingsPickerProps): React.ReactElement;
139
141
  //# sourceMappingURL=settings-picker.d.ts.map
@@ -5,9 +5,10 @@ export interface ShadowState {
5
5
  model: string;
6
6
  intervalMs: number;
7
7
  }
8
- export interface ShadowPanelProps {
8
+ interface ShadowPanelProps {
9
9
  shadow: ShadowState;
10
10
  hint?: string | undefined;
11
11
  }
12
12
  export declare function ShadowPanel({ shadow, hint, }: ShadowPanelProps): React.ReactElement;
13
+ export {};
13
14
  //# sourceMappingURL=shadow-panel.d.ts.map
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  export type ShellCommandWarningDecision = 'yes' | 'no' | 'dont-show-again';
3
- export interface ShellCommandWarningProps {
3
+ interface ShellCommandWarningProps {
4
4
  command: string;
5
5
  onDecision: (decision: ShellCommandWarningDecision) => void;
6
6
  }
7
7
  export declare function truncateShellCommandWarningCommand(text: string, max?: number): string;
8
8
  export declare function ShellCommandWarning({ command, onDecision, }: ShellCommandWarningProps): React.ReactElement;
9
+ export {};
9
10
  //# sourceMappingURL=shell-command-warning.d.ts.map
@@ -7,7 +7,7 @@ import type { FleetEntry } from '../app-state-fleet.js';
7
7
  import type { HeapSample } from '../heap-watchdog.js';
8
8
  import type { PanelId } from '../ui-contracts.js';
9
9
  import type { LiveSessionEntry } from './sessions-panel.js';
10
- export interface SidebarContentProps {
10
+ interface SidebarContentProps {
11
11
  /** Live context window data from useStatusbarViewModel. */
12
12
  contextWindow: {
13
13
  used: number;
@@ -21,13 +21,6 @@ export interface SidebarContentProps {
21
21
  * the spend is hitting the prompt cache without opening `/context`.
22
22
  */
23
23
  cacheStats?: CacheStats | undefined;
24
- /**
25
- * How far the cached prefix reaches into the live request, in tokens.
26
- * Drawn as an overlay marker on the context-window spectrum bar so
27
- * "exactly how far the cache extends" is answerable at a glance.
28
- * Zero hides the marker — no prompt cached this request.
29
- */
30
- cacheCoverageTokens?: number | undefined;
31
24
  /** Fleet entries (leader + subagents) from useStatusbarViewModel. */
32
25
  entries: Record<string, FleetEntry>;
33
26
  /** Fleet counts summary. */
@@ -41,6 +34,8 @@ export interface SidebarContentProps {
41
34
  provider?: string | undefined;
42
35
  /** Current model label for display. */
43
36
  model?: string | undefined;
37
+ /** Active theme preset name for display. */
38
+ themeName?: string | undefined;
44
39
  /** Actual sidebar width in columns (including border+padding chrome).
45
40
  * Used to size the content area and truncate text appropriately. */
46
41
  width: number;
@@ -131,6 +126,6 @@ export declare function contextSpectrum(breakdown: ContextBreakdown | undefined,
131
126
  } | undefined, width: number): Array<ContextSegment & {
132
127
  cells: number;
133
128
  }>;
134
- export declare function SidebarContent({ contextWindow, contextBreakdown, cacheStats, cacheCoverageTokens, entries, fleetCounts, provider, model, width, scrollOffset, focused, todos, showSwarmSection, liveSessions, resumeSessions, currentSessionId, processMemory, cpuPercent, cpuHistory, rssHistory, heapHistory, totalMem, effectiveSidebarRoutes, }: SidebarContentProps): React.ReactElement;
129
+ export declare function SidebarContent({ contextWindow, contextBreakdown, cacheStats, entries, fleetCounts, provider, model, themeName, width, scrollOffset, focused, todos, showSwarmSection, liveSessions, resumeSessions, currentSessionId, processMemory, cpuPercent, cpuHistory, rssHistory, heapHistory, totalMem, effectiveSidebarRoutes, }: SidebarContentProps): React.ReactElement;
135
130
  export {};
136
131
  //# sourceMappingURL=sidebar-content.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type CardProps } from './sidebar-card.js';
3
- export interface SidebarPanelFrameProps {
3
+ interface SidebarPanelFrameProps {
4
4
  /** Accent color for the rail, title, and separator. */
5
5
  accent: string;
6
6
  /** Header glyph, e.g. `glyphs.fleet` or `glyphs.sessions`. */
@@ -44,18 +44,6 @@ export interface SidebarPanelFrameProps {
44
44
  * helper without pulling in sidebar-content.tsx's full implementation.
45
45
  */
46
46
  export declare function trunc(s: string, max: number): string;
47
- /**
48
- * A "capsuled" status pill, e.g. `⟦ live 12 ⟧`. Used in panel headers
49
- * (right side) and stat rows. Renders inline — no Box, no flex — so it can
50
- * sit next to a label without burning a row of its own.
51
- */
52
- export declare function SidebarStatusPill({ label, color, outlined, }: {
53
- label: string;
54
- color: string;
55
- /** When true, render the brackets in muted color so the inner label
56
- * reads as the main signal — useful in dense stat rows. */
57
- outlined?: boolean | undefined;
58
- }): React.ReactElement;
59
47
  /**
60
48
  * A label : value row, sized for narrow rails. Reserves the first column
61
49
  * for an optional accent rail so a stat block reads as a single column of
@@ -151,4 +139,5 @@ export declare function useSidebarPanelSize(): {
151
139
  width: number;
152
140
  height: number;
153
141
  };
142
+ export {};
154
143
  //# sourceMappingURL=sidebar-panel-frame.d.ts.map
@@ -24,7 +24,7 @@ export declare function computeSidebarContentWidth(sidebarWidth: number): number
24
24
  * math (e.g. narrowing the history column) without mounting the component.
25
25
  */
26
26
  export declare function computeSidebarWidth(termCols: number): number;
27
- export interface RightSidebarProps {
27
+ interface RightSidebarProps {
28
28
  /**
29
29
  * Optional explicit width override (in columns). When omitted, the width
30
30
  * is derived from the current terminal width via {@link computeSidebarWidth}.
@@ -46,4 +46,5 @@ export interface RightSidebarProps {
46
46
  children?: React.ReactNode | undefined;
47
47
  }
48
48
  export declare function RightSidebar({ width, maxHeight, focused, children, }: RightSidebarProps): React.ReactElement | null;
49
+ export {};
49
50
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { SkillEntry } from '@wrongstack/core/types';
2
2
  import type React from 'react';
3
- export interface SkillPickerProps {
3
+ interface SkillPickerProps {
4
4
  entries: readonly SkillEntry[];
5
5
  selected: number;
6
6
  hint?: string | undefined;
@@ -9,4 +9,5 @@ export interface SkillPickerProps {
9
9
  }
10
10
  /** Interactive two-pane skill browser, matching the `/theme` picker layout. */
11
11
  export declare function SkillPicker({ entries, selected, hint, columns, maxRows, }: SkillPickerProps): React.ReactElement;
12
+ export {};
12
13
  //# sourceMappingURL=skill-picker.d.ts.map
@@ -1,9 +1,9 @@
1
1
  import type React from 'react';
2
- export interface SlashConfirmPanelProps {
2
+ interface SlashConfirmPanelProps {
3
3
  question: string;
4
4
  defaultYes: boolean;
5
5
  }
6
- export interface SlashConfirmationKey {
6
+ interface SlashConfirmationKey {
7
7
  escape?: boolean | undefined;
8
8
  return?: boolean | undefined;
9
9
  }
@@ -11,4 +11,5 @@ export interface SlashConfirmationKey {
11
11
  export declare function slashConfirmationDecision(input: string, key: SlashConfirmationKey, defaultYes: boolean): boolean | null | 'cancel';
12
12
  /** Visible modal used by slash commands that previously prompted via readline. */
13
13
  export declare function SlashConfirmPanel({ question, defaultYes, }: SlashConfirmPanelProps): React.ReactElement;
14
+ export {};
14
15
  //# sourceMappingURL=slash-confirm-panel.d.ts.map
@@ -1,9 +1,10 @@
1
1
  import type React from 'react';
2
2
  import type { SlashCommandMatch } from '../app-state.js';
3
- export interface SlashMenuProps {
3
+ interface SlashMenuProps {
4
4
  query: string;
5
5
  matches: SlashCommandMatch[];
6
6
  selected: number;
7
7
  }
8
8
  export declare function SlashMenu({ query, matches, selected }: SlashMenuProps): React.ReactElement;
9
+ export {};
9
10
  //# sourceMappingURL=slash-menu.d.ts.map
@@ -61,4 +61,6 @@ export declare function fmtTok(n: number): string;
61
61
  export declare function fmtMemory(bytes: number): string;
62
62
  export declare function fmtElapsed(ms: number): string;
63
63
  export declare function fmtDebugBytes(n: number): string;
64
+ export declare function fmtPct(pct: number, maxDecimals?: number): string;
65
+ export declare function fmtRatioPct(ratio: number, maxDecimals?: number): string;
64
66
  //# sourceMappingURL=status-bar-format.d.ts.map
@@ -7,6 +7,7 @@ export declare const STATUSLINE_ICONS: {
7
7
  readonly context: string;
8
8
  readonly cost: string;
9
9
  readonly debug_stream: string;
10
+ readonly dropped_tools: string;
10
11
  readonly elapsed: string;
11
12
  readonly enhance: string;
12
13
  readonly eternal_stage: string;
@@ -24,15 +25,18 @@ export declare const STATUSLINE_ICONS: {
24
25
  readonly plan: string;
25
26
  readonly processes: string;
26
27
  readonly project: string;
28
+ readonly prompt_variant: string;
27
29
  readonly queue: string;
28
30
  readonly sessions: string;
29
31
  readonly side_effects: string;
30
32
  readonly state: string;
31
33
  readonly tasks: string;
34
+ readonly theme: string;
32
35
  readonly token_saving: string;
33
36
  readonly tokens: string;
34
37
  readonly todos: string;
35
38
  readonly tools: string;
39
+ readonly version: string;
36
40
  readonly working_dir: string;
37
41
  readonly yolo: string;
38
42
  };
@@ -32,9 +32,6 @@ export interface StatusBarRailBuildParams {
32
32
  readTokens: number;
33
33
  writeTokens: number;
34
34
  savedUsd: number;
35
- /** 5-min / 1-hour cache-write split; present for Anthropic-family providers. */
36
- cacheWrite5m?: number | undefined;
37
- cacheWrite1h?: number | undefined;
38
35
  } | undefined;
39
36
  queueCount?: number | undefined;
40
37
  hint?: string | undefined;
@@ -43,6 +40,7 @@ export interface StatusBarRailBuildParams {
43
40
  workingDir?: string | undefined;
44
41
  git?: StatusBarProps['git'];
45
42
  modeLabel?: string | undefined;
43
+ themeName?: string | undefined;
46
44
  sessionCount?: number | undefined;
47
45
  toolCount?: number | undefined;
48
46
  tokenSavingMode?: string | undefined;
@@ -72,7 +70,6 @@ export interface StatusBarRailBuildParams {
72
70
  hasAutoProceed: boolean;
73
71
  autoProceedCountdown?: StatusBarProps['autoProceedCountdown'];
74
72
  droppedTools?: number | undefined;
75
- detailChips: React.ReactElement[];
76
73
  minimalWorkParts: string[];
77
74
  thinking: boolean;
78
75
  statePrefix: string;
@@ -84,12 +81,28 @@ export interface StatusBarRailBuildParams {
84
81
  memoryContextMonitor?: StatusBarProps['memoryContextMonitor'];
85
82
  Sage?: StatusBarProps['Sage'];
86
83
  indexState?: StatusBarProps['indexState'];
84
+ /** Mailbox status for the connectivity rail (line 4). */
85
+ mailbox?: MailboxStatus | undefined;
86
+ /** Per-agent live detail rows for the connectivity rail (line 4). */
87
+ fleetAgents?: FleetAgentDetail[] | undefined;
88
+ /** Whether the mailbox chip is eligible (not hidden + has activity). */
89
+ showMailbox: boolean;
90
+ /** Pre-built memory-context chips for the connectivity rail (line 4). */
91
+ memoryDetailChips: React.ReactElement[];
92
+ /** Active system-prompt variant (Lite / Standard / Pro) — line 1 identity chip. */
93
+ promptVariant?: 'lite' | 'default' | 'pro' | undefined;
87
94
  }
95
+ /**
96
+ * The ctx·tokens·cost·cache telemetry composite for the run-state rail.
97
+ * queue/hint/breaker are separate entries in buildRunStateChipEntries so
98
+ * each keeps a stable click-map id and its urgency-sorted position.
99
+ */
88
100
  export declare function buildPrimaryChips(p: StatusBarRailBuildParams): React.ReactElement[];
89
- export declare function buildModeChipEntries(p: StatusBarRailBuildParams, modelStatusChip: React.ReactElement | null): RailSpanEntry[];
101
+ export declare function buildWorkspaceChipEntries(p: StatusBarRailBuildParams, modelStatusChip: React.ReactElement | null): RailSpanEntry[];
102
+ export declare function buildRunStateChipEntries(p: StatusBarRailBuildParams): RailSpanEntry[];
90
103
  export declare function buildMinimumChips(p: StatusBarRailBuildParams): React.ReactElement[];
91
- export declare function buildMailboxDetailChips(mailbox: MailboxStatus | undefined, showMailbox: boolean, isNoColor: boolean, fleetAgents?: FleetAgentDetail[] | undefined, showFleetAgents?: boolean | undefined): React.ReactElement[];
92
104
  export declare function buildWorkRowEntries(p: StatusBarRailBuildParams): RailSpanEntry[];
105
+ export declare function buildConnectivityChipEntries(p: StatusBarRailBuildParams): RailSpanEntry[];
93
106
  export declare function buildIndexStatusChip(indexState: StatusBarProps['indexState'], showChip: (item: StatuslineItem) => boolean, isNoColor: boolean): React.ReactElement | null;
94
107
  export declare function buildMemoryDetailChips(memoryContextMonitor: StatusBarProps['memoryContextMonitor'], Sage: StatusBarProps['Sage'], isNoColor: boolean): React.ReactElement[];
95
108
  //# sourceMappingURL=status-bar-rails.d.ts.map
@@ -2,6 +2,7 @@ import type { EventBus } from '@wrongstack/core/kernel';
2
2
  import type { AutonomyStage, TokenCounter, TokenSavingTier } from '@wrongstack/core/types';
3
3
  import type { GitInfo } from '../git-info.js';
4
4
  import type { MemoryContextMonitorState } from '../memory-context-monitor.js';
5
+ import type { StatuslineLines } from '@wrongstack/core/statusline';
5
6
  import type { AnimationStyle } from './animation-style.js';
6
7
  import type { StatuslineMode } from './settings-picker.js';
7
8
  import type { ChipMeta, StatuslineItem } from './statusline-picker.js';
@@ -217,6 +218,11 @@ export interface StatusBarProps {
217
218
  * against. Updated live via `ctx.onWorkingDirChanged()`.
218
219
  */
219
220
  workingDir?: string | undefined;
221
+ /**
222
+ * Active color theme preset name (e.g. "catppuccin", "dracula", "tokyo-night").
223
+ * Rendered as a `glyphs.palette` chip on line 2 so the user can see their active theme.
224
+ */
225
+ themeName?: string | undefined;
220
226
  /** Autonomy mode chip: 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel'. */
221
227
  autonomy?: 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel' | undefined;
222
228
  /**
@@ -229,6 +235,12 @@ export interface StatusBarProps {
229
235
  processCount?: number | undefined;
230
236
  /** Items to hide from the status bar. Canonical set: {@link StatuslineItem}. */
231
237
  hiddenItems?: StatuslineItem[] | undefined;
238
+ /**
239
+ * Per-chip line assignment (statusline.json schema v2). Absent keys render
240
+ * on the core contract's DEFAULT_LINES; values outside 1–4 are clamped by
241
+ * the persistence layer and again by the registry partition.
242
+ */
243
+ statuslineLines?: StatuslineLines | undefined;
232
244
  /**
233
245
  * Statusline density. The prop default 'detailed' is kept for back-compat
234
246
  * with tests/callers that omit `mode`; the user-facing default is 'minimum'
@@ -313,6 +325,12 @@ export interface StatusBarProps {
313
325
  } | null | undefined;
314
326
  /** Active agent mode label with icon (e.g. `glyphs.brand teach`, `glyphs.running brief`). Rendered on line 2. */
315
327
  modeLabel?: string | undefined;
328
+ /**
329
+ * Active system-prompt variant — rendered as a `⌘ PRO|STANDARD|LITE` chip on
330
+ * line 1 (workspace & identity) so the session's prompt density is visible
331
+ * at a glance. Sourced from `config.systemPrompt.variant`.
332
+ */
333
+ promptVariant?: 'lite' | 'default' | 'pro' | undefined;
316
334
  /**
317
335
  * Live debug-stream telemetry — pushed into the TUI reducer by the
318
336
  * throttled callback from stream-debug-state.ts. When non-null, renders