@wrongstack/tui 1.0.24 → 1.0.26

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 (84) hide show
  1. package/dist/app-action-type.d.ts +54 -1
  2. package/dist/app-panel-state.d.ts +25 -0
  3. package/dist/app-props.d.ts +20 -0
  4. package/dist/app-reducer.d.ts +1 -1
  5. package/dist/app-state-core-types.d.ts +13 -0
  6. package/dist/app-view-contract.d.ts +1 -1
  7. package/dist/background-strip-model.d.ts +65 -0
  8. package/dist/brain-panel-model.d.ts +7 -7
  9. package/dist/chat-search-slash.d.ts +15 -0
  10. package/dist/clipboard.d.ts +14 -1
  11. package/dist/components/background-strip.d.ts +20 -0
  12. package/dist/components/chat-search-bar.d.ts +19 -0
  13. package/dist/components/checkpoint-timeline.d.ts +6 -2
  14. package/dist/components/history/code-block.d.ts +2 -136
  15. package/dist/components/history/diff-model.d.ts +143 -0
  16. package/dist/components/history/scroll-controller-types.d.ts +11 -0
  17. package/dist/components/history/scrollbar-rail.d.ts +14 -2
  18. package/dist/components/history/use-history-controller.d.ts +5 -0
  19. package/dist/components/monitor-shell.d.ts +5 -1
  20. package/dist/components/phase-monitor.d.ts +3 -1
  21. package/dist/components/prompt-picker-model.d.ts +16 -0
  22. package/dist/components/prompt-picker.d.ts +2 -16
  23. package/dist/components/resource-menu-model.d.ts +3 -0
  24. package/dist/components/resource-menu.d.ts +3 -3
  25. package/dist/components/scrollable-history.d.ts +1 -1
  26. package/dist/components/send-mode-model.d.ts +44 -0
  27. package/dist/components/send-mode-picker.d.ts +2 -43
  28. package/dist/components/sidebar-panel-agents.d.ts +10 -0
  29. package/dist/components/sidebar-panel-connections.d.ts +11 -0
  30. package/dist/components/sidebar-panel-coordinator.d.ts +11 -0
  31. package/dist/components/sidebar-panel-fleet.d.ts +16 -0
  32. package/dist/components/sidebar-panel-project.d.ts +12 -0
  33. package/dist/components/sidebar-panel-worktree.d.ts +10 -0
  34. package/dist/components/sidebar-panel-wrong-proxy.d.ts +25 -0
  35. package/dist/components/sidebar-panels-workspace.d.ts +10 -79
  36. package/dist/components/status-bar-rails-async.d.ts +2 -2
  37. package/dist/components/status-bar-types.d.ts +6 -0
  38. package/dist/components/status-bar.d.ts +1 -1
  39. package/dist/components/statusline-picker-model.d.ts +45 -0
  40. package/dist/components/statusline-picker.d.ts +2 -41
  41. package/dist/hooks/fork-at-checkpoint.d.ts +25 -0
  42. package/dist/hooks/use-app-execution-pipeline.d.ts +1 -1
  43. package/dist/hooks/use-app-picker-keys.d.ts +4 -2
  44. package/dist/hooks/use-chip-staleness-guard.d.ts +6 -0
  45. package/dist/hooks/use-core-tui-commands.d.ts +7 -2
  46. package/dist/hooks/use-file-search.d.ts +10 -0
  47. package/dist/hooks/use-picker-keys-brain-statusline.d.ts +4 -0
  48. package/dist/hooks/use-provider-warmup.d.ts +9 -0
  49. package/dist/hooks/use-queue-manager.d.ts +11 -1
  50. package/dist/hooks/use-session-rewind.d.ts +8 -1
  51. package/dist/hooks/use-slash-picker.d.ts +1 -1
  52. package/dist/hooks/use-stable-key-handler.d.ts +8 -1
  53. package/dist/hooks/use-status-sync-interval.d.ts +3 -2
  54. package/dist/hooks/use-tui-environment-state.d.ts +3 -0
  55. package/dist/hooks/use-tui-event-bridge.d.ts +12 -0
  56. package/dist/index.js +22173 -20317
  57. package/dist/ink.d.ts +1 -1
  58. package/dist/input-validation/action-types.d.ts +1 -1
  59. package/dist/input-validation/limits.d.ts +2 -0
  60. package/dist/input-validation-display.d.ts +9 -0
  61. package/dist/input-validation.d.ts +0 -52
  62. package/dist/key-routes/key-route-background-strip.d.ts +14 -0
  63. package/dist/key-routes/key-route-chat-search.d.ts +24 -0
  64. package/dist/layout-store.d.ts +2 -2
  65. package/dist/memory-slash-render.d.ts +1 -1
  66. package/dist/message-checkpoint.d.ts +19 -0
  67. package/dist/motion.d.ts +16 -0
  68. package/dist/reducers/chat-search.d.ts +11 -0
  69. package/dist/reducers/composer-action-types.d.ts +6 -0
  70. package/dist/reducers/composer-pickers.d.ts +4 -0
  71. package/dist/reducers/composer.d.ts +1 -5
  72. package/dist/reducers/message-jump.d.ts +16 -0
  73. package/dist/reducers/workspace-panels.d.ts +1 -1
  74. package/dist/resume-session-tree.d.ts +8 -0
  75. package/dist/rewind-prompt.d.ts +24 -0
  76. package/dist/run-tui-options.d.ts +23 -4
  77. package/dist/scroll-anchor.d.ts +6 -0
  78. package/dist/submit-controller.d.ts +1 -1
  79. package/dist/submit-slash-command.d.ts +67 -0
  80. package/dist/transcript-search.d.ts +38 -0
  81. package/dist/ui-contracts.d.ts +1 -1
  82. package/dist/use-app-controller.d.ts +1 -1
  83. package/dist/use-controller-key-pipeline.d.ts +217 -0
  84. package/package.json +7 -7
@@ -0,0 +1,217 @@
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, 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
+ setPromptFavorite: (slug: string, favorite: boolean) => Promise<void>;
106
+ stateRef: React.RefObject<import('./app-state.js').State>;
107
+ exitRequestedRef: React.RefObject<boolean>;
108
+ agent: import('@wrongstack/core/agent').Agent;
109
+ liveDirector: () => import('@wrongstack/core/coordination').Director | null;
110
+ onExit: (code: number) => void;
111
+ exit: (errorOrResult?: unknown) => void;
112
+ activeCtrlRef: React.RefObject<AbortController | null>;
113
+ clearPendingConfirms: () => void;
114
+ getEternalEngine: (() => import('@wrongstack/core/execution').EternalAutonomyEngine | null) | undefined;
115
+ getParallelEngine: (() => import('@wrongstack/core/execution').ParallelEternalEngine | null) | undefined;
116
+ eternalLoopRunningRef: React.RefObject<boolean>;
117
+ parallelLoopRunningRef: React.RefObject<boolean>;
118
+ switchAutonomy: ((mode: 'off' | 'suggest' | 'auto' | 'eternal' | 'eternal-parallel') => string | null) | undefined;
119
+ getSddRun: (() => import('@wrongstack/sdd').SddRunControl | null) | undefined;
120
+ confirmExitRef: React.MutableRefObject<boolean>;
121
+ historyScrollRef: React.RefObject<import('./components/history/scroll-controller-types.js').HistoryScrollController | null>;
122
+ onHistoryScrollActivity: () => void;
123
+ enhanceCancelledRef: React.MutableRefObject<boolean>;
124
+ enhanceAbortRef: React.MutableRefObject<AbortController | null>;
125
+ enhanceOriginalRef: React.MutableRefObject<string>;
126
+ enhanceEnabledRef: React.MutableRefObject<boolean>;
127
+ lastEscAtRef: React.RefObject<number>;
128
+ dismissedEscAtRef: React.RefObject<number>;
129
+ streamingTextRef: React.RefObject<string>;
130
+ streamSegmentsRef: React.RefObject<{
131
+ kind: 'assistant' | 'thinking';
132
+ text: string;
133
+ }[]>;
134
+ pendingDeltaRef: React.RefObject<string>;
135
+ flushTimerRef: React.RefObject<NodeJS.Timeout | null>;
136
+ activeRunGenerationRef: React.RefObject<number>;
137
+ activeRunSettledRef: React.RefObject<Promise<void>>;
138
+ assistantCommittedThisRunRef: React.RefObject<boolean>;
139
+ chimeRef: React.MutableRefObject<boolean>;
140
+ openProjectPicker: () => Promise<void>;
141
+ loadLiveSessions: () => Promise<void>;
142
+ openStatuslinePicker: (field?: number | undefined) => void;
143
+ statuslineHiddenItems: import('@wrongstack/core/statusline').StatuslineItem[];
144
+ draftRef: React.RefObject<{
145
+ buffer: string;
146
+ cursor: number;
147
+ }>;
148
+ clearDraft: () => void;
149
+ mouseMode: boolean;
150
+ nativeMouse: boolean;
151
+ termRows: number;
152
+ stdout: NodeJS.WriteStream;
153
+ sidebarLayout: import('./app-ui-state.js').SidebarLayoutState;
154
+ statusBarWrapRef: React.RefObject<import('ink').DOMElement | null>;
155
+ belowStatusBarRef: React.RefObject<import('ink').DOMElement | null>;
156
+ statusBarClickMapRef: React.RefObject<import('./components/status-bar-types.js').StatusBarClickMap | null>;
157
+ inspectOverlayHeaderRef: React.RefObject<import('ink').DOMElement | null>;
158
+ openModelPicker: () => Promise<void>;
159
+ nextStepsAutoSubmitTimerRef: React.MutableRefObject<NodeJS.Timeout | undefined>;
160
+ nextStepsAutoSubmitSuggestionRef: React.MutableRefObject<string | null>;
161
+ nextStepsAutoSubmitLabel: string | null;
162
+ setNextStepsAutoSubmitCountdown: React.Dispatch<React.SetStateAction<number | null>>;
163
+ setNextStepsAutoSubmitLabel: React.Dispatch<React.SetStateAction<string | null>>;
164
+ cancelNextStepsCountdown: () => void;
165
+ pasteClipboardText: () => Promise<void>;
166
+ pasteClipboardImage: () => Promise<void>;
167
+ onHistoryCopy: (entryId: number) => void;
168
+ pasteAccumRef: React.MutableRefObject<import('./paste-accumulator.js').PasteAccumState>;
169
+ pasteFlushTimerRef: React.MutableRefObject<NodeJS.Timeout | null>;
170
+ commitPaste: (full: string) => Promise<void>;
171
+ builderRef: React.RefObject<import('@wrongstack/core/agent').InputBuilder | null>;
172
+ tokenPreviewsRef: React.RefObject<import('./token-previews.js').TokenPreviewStore>;
173
+ runBlocksRef: React.RefObject<(blocks: import('@wrongstack/core/types').ContentBlock[]) => Promise<void>>;
174
+ liveModel: string;
175
+ liveProvider: string;
176
+ activeMaxContext: number | undefined;
177
+ yoloLive: boolean;
178
+ autonomyLive: import('./hooks/use-statusline-state.js').AutonomyStage;
179
+ liveModeLabel: string;
180
+ setMouseMode: (value: boolean) => void;
181
+ setNativeMouse: (value: boolean) => void;
182
+ setLiveModel: (v: string) => void;
183
+ setLiveProvider: (v: string) => void;
184
+ setActiveMaxContext: (v: number | undefined) => void;
185
+ setYoloLive: (v: boolean) => void;
186
+ setAutonomyLive: (v: import('./hooks/use-statusline-state.js').AutonomyStage) => void;
187
+ setLiveModeLabel: (v: string) => void;
188
+ setLiveToolCount: React.Dispatch<React.SetStateAction<number | undefined>>;
189
+ autoSubmitStreakRef: React.MutableRefObject<number>;
190
+ autoSubmitCapWarnedRef: React.MutableRefObject<boolean>;
191
+ autoSubmitLoopGuardRef: React.MutableRefObject<import('@wrongstack/tools').AutoProceedLoopGuard>;
192
+ runEternalLoopRef: React.MutableRefObject<() => Promise<void>>;
193
+ runParallelLoopRef: React.MutableRefObject<() => Promise<void>>;
194
+ midRunSendPickerRef: React.MutableRefObject<boolean>;
195
+ openPromptPicker: () => Promise<void>;
196
+ refreshGoalSummary: () => void;
197
+ setMemoryContextMonitor: React.Dispatch<React.SetStateAction<import('./memory-context-monitor.js').MemoryContextMonitorState>>;
198
+ runSteerSequence: (text: string) => {
199
+ preamble: string;
200
+ droppedCount: number;
201
+ subagentsTerminated: number;
202
+ };
203
+ setEnhanceStartedAt: React.Dispatch<React.SetStateAction<number | null>>;
204
+ setEnhanceDurationMs: React.Dispatch<React.SetStateAction<number | null>>;
205
+ setRefineProviderId: React.Dispatch<React.SetStateAction<string | null>>;
206
+ setRefineModel: React.Dispatch<React.SetStateAction<string | null>>;
207
+ bugHuntLoop: {
208
+ onBugHuntStarted: (command: string, totalRounds?: number | undefined) => void;
209
+ onRunFinished: (status: 'done' | 'aborted' | 'failed' | 'max_iterations') => void;
210
+ consumeReplay: (command: string) => boolean;
211
+ shouldSuppressNextSteps: () => boolean;
212
+ };
213
+ }): {
214
+ runInterruptLadder: () => void;
215
+ stableOnKey: (input: string, key: import("./components/input.js").KeyEvent) => Promise<void>;
216
+ };
217
+ //# 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.26",
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.26",
30
+ "@wrongstack/kanban": "1.0.26",
31
+ "@wrongstack/runtime": "1.0.26",
32
+ "@wrongstack/sage": "1.0.26",
33
+ "@wrongstack/sdd": "1.0.26",
34
+ "@wrongstack/tools": "1.0.26",
35
35
  "string-width": "8.2.2",
36
36
  "wrap-ansi": "^10.0.1"
37
37
  },