@wrongstack/tui 1.0.24 → 1.0.27

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 (104) hide show
  1. package/dist/app-action-type.d.ts +68 -1
  2. package/dist/app-panel-state.d.ts +49 -0
  3. package/dist/app-props.d.ts +20 -0
  4. package/dist/app-reducer.d.ts +1 -1
  5. package/dist/app-settings-type.d.ts +1 -0
  6. package/dist/app-state-core-types.d.ts +13 -0
  7. package/dist/app-view-contract.d.ts +1 -1
  8. package/dist/background-strip-model.d.ts +65 -0
  9. package/dist/brain-panel-model.d.ts +7 -7
  10. package/dist/chat-search-slash.d.ts +15 -0
  11. package/dist/clipboard.d.ts +14 -1
  12. package/dist/components/background-strip.d.ts +20 -0
  13. package/dist/components/chat-search-bar.d.ts +19 -0
  14. package/dist/components/checkpoint-timeline.d.ts +6 -2
  15. package/dist/components/history/code-block.d.ts +2 -136
  16. package/dist/components/history/diff-model.d.ts +143 -0
  17. package/dist/components/history/scroll-controller-types.d.ts +11 -0
  18. package/dist/components/history/scrollbar-rail.d.ts +14 -2
  19. package/dist/components/history/use-history-controller.d.ts +5 -0
  20. package/dist/components/monitor-shell.d.ts +5 -1
  21. package/dist/components/phase-monitor.d.ts +3 -1
  22. package/dist/components/prompt-picker-model.d.ts +16 -0
  23. package/dist/components/prompt-picker.d.ts +2 -16
  24. package/dist/components/resource-menu-model.d.ts +3 -0
  25. package/dist/components/resource-menu.d.ts +3 -3
  26. package/dist/components/scrollable-history.d.ts +1 -1
  27. package/dist/components/send-mode-model.d.ts +44 -0
  28. package/dist/components/send-mode-picker.d.ts +2 -43
  29. package/dist/components/settings-picker.d.ts +2 -1
  30. package/dist/components/sidebar-panel-agents.d.ts +10 -0
  31. package/dist/components/sidebar-panel-connections.d.ts +11 -0
  32. package/dist/components/sidebar-panel-coordinator.d.ts +11 -0
  33. package/dist/components/sidebar-panel-fleet.d.ts +16 -0
  34. package/dist/components/sidebar-panel-project.d.ts +12 -0
  35. package/dist/components/sidebar-panel-worktree.d.ts +10 -0
  36. package/dist/components/sidebar-panel-wrong-proxy.d.ts +25 -0
  37. package/dist/components/sidebar-panels-workspace.d.ts +10 -79
  38. package/dist/components/status-bar-rails-async.d.ts +2 -2
  39. package/dist/components/status-bar-types.d.ts +19 -0
  40. package/dist/components/status-bar.d.ts +1 -1
  41. package/dist/components/statusline-picker-model.d.ts +45 -0
  42. package/dist/components/statusline-picker.d.ts +2 -41
  43. package/dist/components/theme-picker.d.ts +19 -7
  44. package/dist/connections-health.d.ts +1 -0
  45. package/dist/connections-slash.d.ts +2 -2
  46. package/dist/hit-test.d.ts +2 -2
  47. package/dist/hooks/failed-run-tracker.d.ts +30 -0
  48. package/dist/hooks/fork-at-checkpoint.d.ts +25 -0
  49. package/dist/hooks/tui-slash-command-options.d.ts +9 -0
  50. package/dist/hooks/use-app-execution-pipeline.d.ts +1 -1
  51. package/dist/hooks/use-app-picker-keys.d.ts +5 -2
  52. package/dist/hooks/use-chip-staleness-guard.d.ts +6 -0
  53. package/dist/hooks/use-core-tui-commands.d.ts +7 -2
  54. package/dist/hooks/use-file-search.d.ts +10 -0
  55. package/dist/hooks/use-mcp-status-bridge.d.ts +18 -0
  56. package/dist/hooks/use-next-steps-auto-submit.d.ts +4 -2
  57. package/dist/hooks/use-picker-keys-brain-statusline.d.ts +4 -0
  58. package/dist/hooks/use-picker-keys-types.d.ts +5 -0
  59. package/dist/hooks/use-provider-quota.d.ts +5 -0
  60. package/dist/hooks/use-provider-warmup.d.ts +9 -0
  61. package/dist/hooks/use-queue-manager.d.ts +11 -1
  62. package/dist/hooks/use-session-rewind.d.ts +8 -1
  63. package/dist/hooks/use-slash-picker.d.ts +1 -1
  64. package/dist/hooks/use-stable-key-handler.d.ts +8 -1
  65. package/dist/hooks/use-status-sync-interval.d.ts +3 -2
  66. package/dist/hooks/use-theme-picker-handler.d.ts +7 -2
  67. package/dist/hooks/use-tui-environment-state.d.ts +3 -0
  68. package/dist/hooks/use-tui-event-bridge.d.ts +12 -0
  69. package/dist/hooks/use-tui-slash-commands.d.ts +1 -1
  70. package/dist/index.js +23899 -21785
  71. package/dist/ink.d.ts +1 -1
  72. package/dist/input-validation/action-types.d.ts +1 -1
  73. package/dist/input-validation/limits.d.ts +2 -0
  74. package/dist/input-validation-display.d.ts +9 -0
  75. package/dist/input-validation.d.ts +0 -52
  76. package/dist/key-routes/key-route-background-strip.d.ts +14 -0
  77. package/dist/key-routes/key-route-chat-search.d.ts +24 -0
  78. package/dist/layout-store.d.ts +2 -2
  79. package/dist/memory-slash-render.d.ts +1 -1
  80. package/dist/message-checkpoint.d.ts +19 -0
  81. package/dist/motion.d.ts +16 -0
  82. package/dist/reducers/chat-search.d.ts +11 -0
  83. package/dist/reducers/composer-action-types.d.ts +6 -0
  84. package/dist/reducers/composer-pickers.d.ts +4 -0
  85. package/dist/reducers/composer.d.ts +1 -5
  86. package/dist/reducers/message-jump.d.ts +16 -0
  87. package/dist/reducers/workspace-panels.d.ts +1 -1
  88. package/dist/resume-session-tree.d.ts +8 -0
  89. package/dist/rewind-prompt.d.ts +24 -0
  90. package/dist/run-tui-options.d.ts +23 -4
  91. package/dist/scroll-anchor.d.ts +6 -0
  92. package/dist/settings-contracts.d.ts +1 -0
  93. package/dist/submit-controller.d.ts +1 -1
  94. package/dist/submit-slash-command.d.ts +67 -0
  95. package/dist/theme-picker-rows.d.ts +70 -0
  96. package/dist/theme-presets/options.d.ts +13 -1
  97. package/dist/theme-presets/rose-pine.d.ts +1 -1
  98. package/dist/theme-types.d.ts +6 -0
  99. package/dist/theme-utils.d.ts +11 -0
  100. package/dist/transcript-search.d.ts +38 -0
  101. package/dist/ui-contracts.d.ts +1 -1
  102. package/dist/use-app-controller.d.ts +1 -1
  103. package/dist/use-controller-key-pipeline.d.ts +218 -0
  104. package/package.json +7 -7
@@ -67,5 +67,16 @@ export declare function softColorWithTheme(color: string | undefined, currentThe
67
67
  * without bloating the theme with extra named tokens.
68
68
  */
69
69
  export declare function mixHexColors(colorA: string, colorB: string, weight: number): string;
70
+ /** WCAG 2.x relative luminance of a hex colour, or `null` if unparseable. */
71
+ export declare function relativeLuminance(hex: string): number | null;
72
+ /**
73
+ * WCAG 2.x contrast ratio between two hex colours, rounded to one decimal.
74
+ *
75
+ * Returns 1 (the ratio of a colour with itself) when either colour cannot be
76
+ * parsed, so an unparseable token reads as "no measurable separation" rather
77
+ * than as a passing score. Callers that need to distinguish "bad colour" from
78
+ * "bad contrast" should use {@link relativeLuminance} directly.
79
+ */
80
+ export declare function contrastRatio(foreground: string, background: string): number;
70
81
  export declare function detectSupportsBackground(env?: NodeJS.ProcessEnv, isTTY?: boolean): boolean;
71
82
  //# sourceMappingURL=theme-utils.d.ts.map
@@ -0,0 +1,38 @@
1
+ import type { HistoryEntry } from './history-entry.js';
2
+ /** One match per entry: the first hit inside that entry's text. */
3
+ export interface TranscriptMatch {
4
+ entryId: number;
5
+ /** The line containing the first hit, untrimmed. */
6
+ line: string;
7
+ /** Code-unit offset of the hit inside {@link line}. */
8
+ column: number;
9
+ /** Code-unit length of the hit. */
10
+ length: number;
11
+ }
12
+ export interface TranscriptSearchOptions {
13
+ /** Thinking cards are hidden unless model reasoning is shown. */
14
+ includeReasoning: boolean;
15
+ }
16
+ /** Per-entry text is capped so one huge tool result cannot stall a keystroke. */
17
+ export declare const MAX_SEARCH_CHARS_PER_ENTRY = 200000;
18
+ /** Matches in transcript order (oldest first), at most one per entry. */
19
+ export declare function findTranscriptMatches(entries: readonly HistoryEntry[], query: string, options: TranscriptSearchOptions): TranscriptMatch[];
20
+ /**
21
+ * Next selected entry after moving `delta` matches: -1 = older, +1 = newer.
22
+ * Wraps at both ends. A selection that is no longer a match (retention
23
+ * evicted it, or the query changed) restarts from the newest match.
24
+ */
25
+ export declare function stepTranscriptMatch(matches: readonly TranscriptMatch[], selectedEntryId: number | null, delta: -1 | 1): number | null;
26
+ /**
27
+ * Fit a match line into `width` columns, keeping the hit visible. Returns the
28
+ * three display segments; an ellipsis marks each trimmed side. Widths are
29
+ * counted in code units, which is exact for the ASCII-dominant transcript
30
+ * text and conservative (never overflowing) for wide glyphs after the
31
+ * caller's own display-width truncation.
32
+ */
33
+ export declare function transcriptMatchSnippet(match: Pick<TranscriptMatch, 'line' | 'column' | 'length'>, width: number): {
34
+ before: string;
35
+ hit: string;
36
+ after: string;
37
+ };
38
+ //# sourceMappingURL=transcript-search.d.ts.map
@@ -22,7 +22,7 @@ export declare const PILL_MIN_INNER_WIDTH = 22;
22
22
  * starts rendering per-row "metric" columns (latency, diff, elapsed, agent
23
23
  * count, relative time). Below this threshold the row keeps its identity
24
24
  * label only; the secondary metric is dropped to preserve the title.
25
- * Centralized so the F twins in `sidebar-panels-workspace.tsx` and
25
+ * Centralized so the F twins in `sidebar-panel-*.tsx` and
26
26
  * `sidebar-panels-task.tsx` stop hand-rolling the literal `24`.
27
27
  */
28
28
  export declare const METRIC_MIN_BODY_WIDTH = 24;
@@ -131,7 +131,7 @@ export declare function useAppController(props: AppProps): {
131
131
  liveStatuslineMode: import("./settings-contracts.js").StatuslineMode;
132
132
  projectName: string | undefined;
133
133
  workingDirChip: string | undefined;
134
- handleRewindTo: (checkpointIndex: number) => Promise<void>;
134
+ handleRewindTo: (checkpointIndex: number) => Promise<import("./hooks/use-session-rewind.js").RewindOutcome>;
135
135
  activeCtrlRef: import("react").RefObject<AbortController | null>;
136
136
  clearPendingConfirms: () => void;
137
137
  liveDirector: () => Director | null;
@@ -0,0 +1,218 @@
1
+ export declare function useControllerKeyPipeline({ sessionGenerationRef, switchQueueSession, props, state, dispatch, environment, statusbar, panelControllers, authPanelController, brainCtl, lastEnterAtRef, inputGateRef, submitRef, promptUsageRef, setDraft, acceptSlashPickerSelection, changeBrainRisk, handleModelPicked, handleShadowStart, handleShadowStop, subagentModelsCtl, statuslineHiddenForPicker, onPickerEnter, onThemePickerEnter, onThemePickerUndo, setPromptFavorite, stateRef, exitRequestedRef, agent, liveDirector, onExit, exit, activeCtrlRef, clearPendingConfirms, getEternalEngine, getParallelEngine, eternalLoopRunningRef, parallelLoopRunningRef, switchAutonomy, getSddRun, confirmExitRef, historyScrollRef, onHistoryScrollActivity, enhanceCancelledRef, enhanceAbortRef, enhanceOriginalRef, enhanceEnabledRef, lastEscAtRef, dismissedEscAtRef, streamingTextRef, streamSegmentsRef, pendingDeltaRef, flushTimerRef, activeRunGenerationRef, activeRunSettledRef, assistantCommittedThisRunRef, chimeRef, openProjectPicker, loadLiveSessions, openStatuslinePicker, statuslineHiddenItems, draftRef, clearDraft, mouseMode, nativeMouse, termRows, stdout, sidebarLayout, statusBarWrapRef, belowStatusBarRef, statusBarClickMapRef, inspectOverlayHeaderRef, openModelPicker, nextStepsAutoSubmitTimerRef, nextStepsAutoSubmitSuggestionRef, nextStepsAutoSubmitLabel, setNextStepsAutoSubmitCountdown, setNextStepsAutoSubmitLabel, cancelNextStepsCountdown, pasteClipboardText, pasteClipboardImage, onHistoryCopy, pasteAccumRef, pasteFlushTimerRef, commitPaste, builderRef, tokenPreviewsRef, runBlocksRef, liveModel, liveProvider, activeMaxContext, yoloLive, autonomyLive, liveModeLabel, setMouseMode, setNativeMouse, setLiveModel, setLiveProvider, setActiveMaxContext, setYoloLive, setAutonomyLive, setLiveModeLabel, setLiveToolCount, autoSubmitStreakRef, autoSubmitCapWarnedRef, autoSubmitLoopGuardRef, runEternalLoopRef, runParallelLoopRef, midRunSendPickerRef, openPromptPicker, refreshGoalSummary, setMemoryContextMonitor, runSteerSequence, setEnhanceStartedAt, setEnhanceDurationMs, setRefineProviderId, setRefineModel, bugHuntLoop, }: {
2
+ sessionGenerationRef: React.RefObject<number>;
3
+ /** Move the input queue to a resumed session. */
4
+ switchQueueSession?: ((sessionId: string) => void) | undefined;
5
+ props: import('./app-props.js').AppProps;
6
+ state: import('./app-state.js').State;
7
+ dispatch: React.ActionDispatch<[action: import('./app-action-type.js').Action]>;
8
+ environment: {
9
+ hiddenItemsRef: React.RefObject<import('@wrongstack/core/statusline').StatuslineItem[]>;
10
+ memoryContextMonitor: import('./memory-context-monitor.js').MemoryContextMonitorState;
11
+ setMemoryContextMonitor: React.Dispatch<React.SetStateAction<import('./memory-context-monitor.js').MemoryContextMonitorState>>;
12
+ memoryRecordTotal: number | undefined;
13
+ memoryContextMonitorRef: React.RefObject<import('./memory-context-monitor.js').MemoryContextMonitorState>;
14
+ memoryRecordTotalRef: React.RefObject<number | undefined>;
15
+ activeMemoryInContext: number;
16
+ liveToolCount: number | undefined;
17
+ setLiveToolCount: React.Dispatch<React.SetStateAction<number | undefined>>;
18
+ indexState: {
19
+ ready: boolean;
20
+ indexing: boolean;
21
+ currentFile: number;
22
+ totalFiles: number;
23
+ lastError: string | null;
24
+ server: import('@wrongstack/tools').ProjectIndexServerConnectionState;
25
+ circuit: import('@wrongstack/tools').CircuitSnapshot;
26
+ };
27
+ breakerCountdown: import('@wrongstack/tools').BreakerCountdown | null;
28
+ liveModel: string;
29
+ setLiveModel: (v: string) => void;
30
+ liveProvider: string;
31
+ setLiveProvider: (v: string) => void;
32
+ activeMaxContext: number | undefined;
33
+ setActiveMaxContext: (v: number | undefined) => void;
34
+ yoloLive: boolean;
35
+ setYoloLive: (v: boolean) => void;
36
+ autonomyLive: import('./hooks/use-statusline-state.js').AutonomyStage;
37
+ setAutonomyLive: (v: import('./hooks/use-statusline-state.js').AutonomyStage) => void;
38
+ liveModeLabel: string;
39
+ setLiveModeLabel: (v: string) => void;
40
+ hiddenItems: import('@wrongstack/core/statusline').StatuslineItem[];
41
+ setHiddenItems: (v: import('@wrongstack/core/statusline').StatuslineItem[]) => void;
42
+ lines: Partial<Record<import('@wrongstack/core/statusline').StatuslineItem, import('@wrongstack/core/statusline').StatuslineLine>>;
43
+ setLines: (v: Partial<Record<import('@wrongstack/core/statusline').StatuslineItem, import('@wrongstack/core/statusline').StatuslineLine>>) => void;
44
+ densities: Partial<Record<import('@wrongstack/core/statusline').StatuslineItem, import('@wrongstack/core/statusline').StatuslineDensity>>;
45
+ setDensities: (v: Partial<Record<import('@wrongstack/core/statusline').StatuslineItem, import('@wrongstack/core/statusline').StatuslineDensity>>) => void;
46
+ order: import('@wrongstack/core/statusline').StatuslineOrder;
47
+ setOrder: (v: import('@wrongstack/core/statusline').StatuslineOrder) => void;
48
+ sessionCount: number;
49
+ setSessionCount: (v: number) => void;
50
+ };
51
+ statusbar: {
52
+ contextBreakdown: import('@wrongstack/core/utils').ContextBreakdown | undefined;
53
+ currentContextTokens: number;
54
+ contextWindow: {
55
+ used: number;
56
+ max: number;
57
+ } | undefined;
58
+ cacheStats: import('@wrongstack/core/types').CacheStats;
59
+ cacheCoverageTokens: number;
60
+ todos: {
61
+ pending: number;
62
+ inProgress: number;
63
+ completed: number;
64
+ };
65
+ fleetCounts: {
66
+ running: number;
67
+ idle: number;
68
+ pending: number;
69
+ completed: number;
70
+ } | undefined;
71
+ visibleSubagentCount: number;
72
+ hasVisibleFleetPanel: boolean;
73
+ entriesWithLeader: Record<string, import('./app-state-fleet.js').FleetEntry>;
74
+ planCounts: import('./hooks/use-statusbar-view-model.js').PlanCounts | null;
75
+ taskCounts: import('./hooks/use-statusbar-view-model.js').TaskCounts | null;
76
+ droppedTools: number;
77
+ };
78
+ panelControllers: {
79
+ openModelPicker: () => Promise<void>;
80
+ openProjectPicker: () => Promise<void>;
81
+ openFKeyPicker: () => void;
82
+ loadLiveSessions: () => Promise<void>;
83
+ openSettings: () => void;
84
+ toggleSelectedPlugin: () => Promise<void>;
85
+ toggleSelectedMcpServer: () => Promise<void>;
86
+ restartSelectedMcpServer: () => Promise<void>;
87
+ toggleSelectedTool: () => Promise<void>;
88
+ };
89
+ authPanelController: import('./hooks/use-auth-panel.js').AuthPanelController;
90
+ brainCtl: import('./hooks/use-brain-panel.js').BrainPanelController;
91
+ lastEnterAtRef: React.RefObject<number>;
92
+ inputGateRef: React.RefObject<boolean>;
93
+ submitRef: React.RefObject<(text?: string | undefined) => void>;
94
+ promptUsageRef: React.RefObject<import('@wrongstack/core/storage').PromptUsageStore | null>;
95
+ setDraft: (buffer: string, cursor: number) => void;
96
+ acceptSlashPickerSelection: () => void;
97
+ changeBrainRisk: (delta: number) => void;
98
+ handleModelPicked: (providerId: string, modelId: string) => void;
99
+ handleShadowStart: () => Promise<void>;
100
+ handleShadowStop: () => Promise<void>;
101
+ subagentModelsCtl: import('./hooks/use-subagent-models-panel.js').SubagentModelsPanelController;
102
+ statuslineHiddenForPicker: () => import('@wrongstack/core/statusline').StatuslineItem[];
103
+ onPickerEnter: () => Promise<void>;
104
+ onThemePickerEnter: () => void;
105
+ onThemePickerUndo: () => void;
106
+ setPromptFavorite: (slug: string, favorite: boolean) => Promise<void>;
107
+ stateRef: React.RefObject<import('./app-state.js').State>;
108
+ exitRequestedRef: React.RefObject<boolean>;
109
+ agent: import('@wrongstack/core/agent').Agent;
110
+ liveDirector: () => import('@wrongstack/core/coordination').Director | null;
111
+ onExit: (code: number) => void;
112
+ exit: (errorOrResult?: unknown) => void;
113
+ activeCtrlRef: React.RefObject<AbortController | null>;
114
+ clearPendingConfirms: () => void;
115
+ getEternalEngine: (() => import('@wrongstack/core/execution').EternalAutonomyEngine | null) | undefined;
116
+ getParallelEngine: (() => import('@wrongstack/core/execution').ParallelEternalEngine | null) | undefined;
117
+ eternalLoopRunningRef: React.RefObject<boolean>;
118
+ parallelLoopRunningRef: React.RefObject<boolean>;
119
+ switchAutonomy: ((mode: 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel') => string | null) | undefined;
120
+ getSddRun: (() => import('@wrongstack/sdd').SddRunControl | null) | undefined;
121
+ confirmExitRef: React.MutableRefObject<boolean>;
122
+ historyScrollRef: React.RefObject<import('./components/history/scroll-controller-types.js').HistoryScrollController | null>;
123
+ onHistoryScrollActivity: () => void;
124
+ enhanceCancelledRef: React.MutableRefObject<boolean>;
125
+ enhanceAbortRef: React.MutableRefObject<AbortController | null>;
126
+ enhanceOriginalRef: React.MutableRefObject<string>;
127
+ enhanceEnabledRef: React.MutableRefObject<boolean>;
128
+ lastEscAtRef: React.RefObject<number>;
129
+ dismissedEscAtRef: React.RefObject<number>;
130
+ streamingTextRef: React.RefObject<string>;
131
+ streamSegmentsRef: React.RefObject<{
132
+ kind: 'assistant' | 'thinking';
133
+ text: string;
134
+ }[]>;
135
+ pendingDeltaRef: React.RefObject<string>;
136
+ flushTimerRef: React.RefObject<NodeJS.Timeout | null>;
137
+ activeRunGenerationRef: React.RefObject<number>;
138
+ activeRunSettledRef: React.RefObject<Promise<void>>;
139
+ assistantCommittedThisRunRef: React.RefObject<boolean>;
140
+ chimeRef: React.MutableRefObject<boolean>;
141
+ openProjectPicker: () => Promise<void>;
142
+ loadLiveSessions: () => Promise<void>;
143
+ openStatuslinePicker: (field?: number | undefined) => void;
144
+ statuslineHiddenItems: import('@wrongstack/core/statusline').StatuslineItem[];
145
+ draftRef: React.RefObject<{
146
+ buffer: string;
147
+ cursor: number;
148
+ }>;
149
+ clearDraft: () => void;
150
+ mouseMode: boolean;
151
+ nativeMouse: boolean;
152
+ termRows: number;
153
+ stdout: NodeJS.WriteStream;
154
+ sidebarLayout: import('./app-ui-state.js').SidebarLayoutState;
155
+ statusBarWrapRef: React.RefObject<import('ink').DOMElement | null>;
156
+ belowStatusBarRef: React.RefObject<import('ink').DOMElement | null>;
157
+ statusBarClickMapRef: React.RefObject<import('./components/status-bar-types.js').StatusBarClickMap | null>;
158
+ inspectOverlayHeaderRef: React.RefObject<import('ink').DOMElement | null>;
159
+ openModelPicker: () => Promise<void>;
160
+ nextStepsAutoSubmitTimerRef: React.MutableRefObject<NodeJS.Timeout | undefined>;
161
+ nextStepsAutoSubmitSuggestionRef: React.MutableRefObject<string | null>;
162
+ nextStepsAutoSubmitLabel: string | null;
163
+ setNextStepsAutoSubmitCountdown: React.Dispatch<React.SetStateAction<number | null>>;
164
+ setNextStepsAutoSubmitLabel: React.Dispatch<React.SetStateAction<string | null>>;
165
+ cancelNextStepsCountdown: () => void;
166
+ pasteClipboardText: () => Promise<void>;
167
+ pasteClipboardImage: () => Promise<void>;
168
+ onHistoryCopy: (entryId: number) => void;
169
+ pasteAccumRef: React.MutableRefObject<import('./paste-accumulator.js').PasteAccumState>;
170
+ pasteFlushTimerRef: React.MutableRefObject<NodeJS.Timeout | null>;
171
+ commitPaste: (full: string) => Promise<void>;
172
+ builderRef: React.RefObject<import('@wrongstack/core/agent').InputBuilder | null>;
173
+ tokenPreviewsRef: React.RefObject<import('./token-previews.js').TokenPreviewStore>;
174
+ runBlocksRef: React.RefObject<(blocks: import('@wrongstack/core/types').ContentBlock[]) => Promise<void>>;
175
+ liveModel: string;
176
+ liveProvider: string;
177
+ activeMaxContext: number | undefined;
178
+ yoloLive: boolean;
179
+ autonomyLive: import('./hooks/use-statusline-state.js').AutonomyStage;
180
+ liveModeLabel: string;
181
+ setMouseMode: (value: boolean) => void;
182
+ setNativeMouse: (value: boolean) => void;
183
+ setLiveModel: (v: string) => void;
184
+ setLiveProvider: (v: string) => void;
185
+ setActiveMaxContext: (v: number | undefined) => void;
186
+ setYoloLive: (v: boolean) => void;
187
+ setAutonomyLive: (v: import('./hooks/use-statusline-state.js').AutonomyStage) => void;
188
+ setLiveModeLabel: (v: string) => void;
189
+ setLiveToolCount: React.Dispatch<React.SetStateAction<number | undefined>>;
190
+ autoSubmitStreakRef: React.MutableRefObject<number>;
191
+ autoSubmitCapWarnedRef: React.MutableRefObject<boolean>;
192
+ autoSubmitLoopGuardRef: React.MutableRefObject<import('@wrongstack/tools').AutoProceedLoopGuard>;
193
+ runEternalLoopRef: React.MutableRefObject<() => Promise<void>>;
194
+ runParallelLoopRef: React.MutableRefObject<() => Promise<void>>;
195
+ midRunSendPickerRef: React.MutableRefObject<boolean>;
196
+ openPromptPicker: () => Promise<void>;
197
+ refreshGoalSummary: () => void;
198
+ setMemoryContextMonitor: React.Dispatch<React.SetStateAction<import('./memory-context-monitor.js').MemoryContextMonitorState>>;
199
+ runSteerSequence: (text: string) => {
200
+ preamble: string;
201
+ droppedCount: number;
202
+ subagentsTerminated: number;
203
+ };
204
+ setEnhanceStartedAt: React.Dispatch<React.SetStateAction<number | null>>;
205
+ setEnhanceDurationMs: React.Dispatch<React.SetStateAction<number | null>>;
206
+ setRefineProviderId: React.Dispatch<React.SetStateAction<string | null>>;
207
+ setRefineModel: React.Dispatch<React.SetStateAction<string | null>>;
208
+ bugHuntLoop: {
209
+ onBugHuntStarted: (command: string, totalRounds?: number | undefined) => void;
210
+ onRunFinished: (status: 'done' | 'aborted' | 'failed' | 'max_iterations') => void;
211
+ consumeReplay: (command: string) => boolean;
212
+ shouldSuppressNextSteps: () => boolean;
213
+ };
214
+ }): {
215
+ runInterruptLadder: () => void;
216
+ stableOnKey: (input: string, key: import("./components/input.js").KeyEvent) => Promise<void>;
217
+ };
218
+ //# sourceMappingURL=use-controller-key-pipeline.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrongstack/tui",
3
- "version": "1.0.24",
3
+ "version": "1.0.27",
4
4
  "license": "MIT",
5
5
  "description": "WrongStack terminal UI: Ink-based interactive renderer with history, pickers, and slash menus.",
6
6
  "repository": {
@@ -26,12 +26,12 @@
26
26
  "!dist/**/*.map"
27
27
  ],
28
28
  "dependencies": {
29
- "@wrongstack/core": "1.0.24",
30
- "@wrongstack/kanban": "1.0.24",
31
- "@wrongstack/runtime": "1.0.24",
32
- "@wrongstack/sage": "1.0.24",
33
- "@wrongstack/sdd": "1.0.24",
34
- "@wrongstack/tools": "1.0.24",
29
+ "@wrongstack/core": "1.0.27",
30
+ "@wrongstack/kanban": "1.0.27",
31
+ "@wrongstack/runtime": "1.0.27",
32
+ "@wrongstack/sage": "1.0.27",
33
+ "@wrongstack/sdd": "1.0.27",
34
+ "@wrongstack/tools": "1.0.27",
35
35
  "string-width": "8.2.2",
36
36
  "wrap-ansi": "^10.0.1"
37
37
  },