erosolar-cli 1.7.261 → 1.7.262
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/README.md +22 -148
- package/dist/core/customCommands.d.ts +1 -0
- package/dist/core/customCommands.d.ts.map +1 -1
- package/dist/core/customCommands.js +3 -0
- package/dist/core/customCommands.js.map +1 -1
- package/dist/core/hooks.d.ts +113 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +267 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/metricsTracker.d.ts +122 -0
- package/dist/core/metricsTracker.d.ts.map +1 -0
- package/dist/{alpha-zero → core}/metricsTracker.js +2 -5
- package/dist/core/metricsTracker.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -1
- package/dist/core/toolPreconditions.js +0 -14
- package/dist/core/toolPreconditions.js.map +1 -1
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +0 -5
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/toolValidation.d.ts.map +1 -1
- package/dist/core/toolValidation.js +14 -3
- package/dist/core/toolValidation.js.map +1 -1
- package/dist/core/validationRunner.d.ts +1 -3
- package/dist/core/validationRunner.d.ts.map +1 -1
- package/dist/core/validationRunner.js.map +1 -1
- package/dist/mcp/sseClient.d.ts.map +1 -1
- package/dist/mcp/sseClient.js +9 -18
- package/dist/mcp/sseClient.js.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.d.ts +0 -6
- package/dist/plugins/tools/build/buildPlugin.d.ts.map +1 -1
- package/dist/plugins/tools/build/buildPlugin.js +4 -10
- package/dist/plugins/tools/build/buildPlugin.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +10 -2
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +182 -36
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +68 -140
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +448 -667
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/shell/terminalInputAdapter.d.ts +20 -15
- package/dist/shell/terminalInputAdapter.d.ts.map +1 -1
- package/dist/shell/terminalInputAdapter.js +14 -22
- package/dist/shell/terminalInputAdapter.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +13 -12
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/display.d.ts +19 -0
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +131 -33
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +6 -8
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/toolDisplay.d.ts +0 -158
- package/dist/ui/toolDisplay.d.ts.map +1 -1
- package/dist/ui/toolDisplay.js +0 -348
- package/dist/ui/toolDisplay.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +1 -0
- package/dist/ui/unified/layout.d.ts.map +1 -1
- package/dist/ui/unified/layout.js +15 -25
- package/dist/ui/unified/layout.js.map +1 -1
- package/package.json +1 -1
- package/dist/alpha-zero/agentWrapper.d.ts +0 -84
- package/dist/alpha-zero/agentWrapper.d.ts.map +0 -1
- package/dist/alpha-zero/agentWrapper.js +0 -171
- package/dist/alpha-zero/agentWrapper.js.map +0 -1
- package/dist/alpha-zero/codeEvaluator.d.ts +0 -25
- package/dist/alpha-zero/codeEvaluator.d.ts.map +0 -1
- package/dist/alpha-zero/codeEvaluator.js +0 -273
- package/dist/alpha-zero/codeEvaluator.js.map +0 -1
- package/dist/alpha-zero/competitiveRunner.d.ts +0 -66
- package/dist/alpha-zero/competitiveRunner.d.ts.map +0 -1
- package/dist/alpha-zero/competitiveRunner.js +0 -224
- package/dist/alpha-zero/competitiveRunner.js.map +0 -1
- package/dist/alpha-zero/index.d.ts +0 -67
- package/dist/alpha-zero/index.d.ts.map +0 -1
- package/dist/alpha-zero/index.js +0 -99
- package/dist/alpha-zero/index.js.map +0 -1
- package/dist/alpha-zero/introspection.d.ts +0 -128
- package/dist/alpha-zero/introspection.d.ts.map +0 -1
- package/dist/alpha-zero/introspection.js +0 -300
- package/dist/alpha-zero/introspection.js.map +0 -1
- package/dist/alpha-zero/metricsTracker.d.ts +0 -71
- package/dist/alpha-zero/metricsTracker.d.ts.map +0 -1
- package/dist/alpha-zero/metricsTracker.js.map +0 -1
- package/dist/alpha-zero/security/core.d.ts +0 -125
- package/dist/alpha-zero/security/core.d.ts.map +0 -1
- package/dist/alpha-zero/security/core.js +0 -271
- package/dist/alpha-zero/security/core.js.map +0 -1
- package/dist/alpha-zero/security/google.d.ts +0 -125
- package/dist/alpha-zero/security/google.d.ts.map +0 -1
- package/dist/alpha-zero/security/google.js +0 -311
- package/dist/alpha-zero/security/google.js.map +0 -1
- package/dist/alpha-zero/security/googleLoader.d.ts +0 -17
- package/dist/alpha-zero/security/googleLoader.d.ts.map +0 -1
- package/dist/alpha-zero/security/googleLoader.js +0 -41
- package/dist/alpha-zero/security/googleLoader.js.map +0 -1
- package/dist/alpha-zero/security/index.d.ts +0 -29
- package/dist/alpha-zero/security/index.d.ts.map +0 -1
- package/dist/alpha-zero/security/index.js +0 -32
- package/dist/alpha-zero/security/index.js.map +0 -1
- package/dist/alpha-zero/security/simulation.d.ts +0 -124
- package/dist/alpha-zero/security/simulation.d.ts.map +0 -1
- package/dist/alpha-zero/security/simulation.js +0 -277
- package/dist/alpha-zero/security/simulation.js.map +0 -1
- package/dist/alpha-zero/selfModification.d.ts +0 -109
- package/dist/alpha-zero/selfModification.d.ts.map +0 -1
- package/dist/alpha-zero/selfModification.js +0 -233
- package/dist/alpha-zero/selfModification.js.map +0 -1
- package/dist/alpha-zero/types.d.ts +0 -170
- package/dist/alpha-zero/types.d.ts.map +0 -1
- package/dist/alpha-zero/types.js +0 -31
- package/dist/alpha-zero/types.js.map +0 -1
- package/dist/core/aiFlowOptimizer.d.ts +0 -26
- package/dist/core/aiFlowOptimizer.d.ts.map +0 -1
- package/dist/core/aiFlowOptimizer.js +0 -31
- package/dist/core/aiFlowOptimizer.js.map +0 -1
- package/dist/core/aiOptimizationEngine.d.ts +0 -158
- package/dist/core/aiOptimizationEngine.d.ts.map +0 -1
- package/dist/core/aiOptimizationEngine.js +0 -428
- package/dist/core/aiOptimizationEngine.js.map +0 -1
- package/dist/core/aiOptimizationIntegration.d.ts +0 -93
- package/dist/core/aiOptimizationIntegration.d.ts.map +0 -1
- package/dist/core/aiOptimizationIntegration.js +0 -250
- package/dist/core/aiOptimizationIntegration.js.map +0 -1
- package/dist/core/enhancedErrorRecovery.d.ts +0 -100
- package/dist/core/enhancedErrorRecovery.d.ts.map +0 -1
- package/dist/core/enhancedErrorRecovery.js +0 -345
- package/dist/core/enhancedErrorRecovery.js.map +0 -1
- package/dist/core/unified/errors.d.ts +0 -189
- package/dist/core/unified/errors.d.ts.map +0 -1
- package/dist/core/unified/errors.js +0 -497
- package/dist/core/unified/errors.js.map +0 -1
- package/dist/core/unified/index.d.ts +0 -19
- package/dist/core/unified/index.d.ts.map +0 -1
- package/dist/core/unified/index.js +0 -68
- package/dist/core/unified/index.js.map +0 -1
- package/dist/core/unified/schema.d.ts +0 -101
- package/dist/core/unified/schema.d.ts.map +0 -1
- package/dist/core/unified/schema.js +0 -350
- package/dist/core/unified/schema.js.map +0 -1
- package/dist/core/unified/toolRuntime.d.ts +0 -179
- package/dist/core/unified/toolRuntime.d.ts.map +0 -1
- package/dist/core/unified/toolRuntime.js +0 -517
- package/dist/core/unified/toolRuntime.js.map +0 -1
- package/dist/core/unified/tools.d.ts +0 -127
- package/dist/core/unified/tools.d.ts.map +0 -1
- package/dist/core/unified/tools.js +0 -1333
- package/dist/core/unified/tools.js.map +0 -1
- package/dist/core/unified/types.d.ts +0 -352
- package/dist/core/unified/types.d.ts.map +0 -1
- package/dist/core/unified/types.js +0 -12
- package/dist/core/unified/types.js.map +0 -1
- package/dist/core/unified/version.d.ts +0 -209
- package/dist/core/unified/version.d.ts.map +0 -1
- package/dist/core/unified/version.js +0 -454
- package/dist/core/unified/version.js.map +0 -1
- package/dist/security/active-stack-security.d.ts +0 -112
- package/dist/security/active-stack-security.d.ts.map +0 -1
- package/dist/security/active-stack-security.js +0 -296
- package/dist/security/active-stack-security.js.map +0 -1
- package/dist/security/advanced-persistence-research.d.ts +0 -92
- package/dist/security/advanced-persistence-research.d.ts.map +0 -1
- package/dist/security/advanced-persistence-research.js +0 -195
- package/dist/security/advanced-persistence-research.js.map +0 -1
- package/dist/security/advanced-targeting.d.ts +0 -119
- package/dist/security/advanced-targeting.d.ts.map +0 -1
- package/dist/security/advanced-targeting.js +0 -233
- package/dist/security/advanced-targeting.js.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +0 -104
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +0 -1
- package/dist/security/assessment/vulnerabilityAssessment.js +0 -315
- package/dist/security/assessment/vulnerabilityAssessment.js.map +0 -1
- package/dist/security/authorization/securityAuthorization.d.ts +0 -88
- package/dist/security/authorization/securityAuthorization.d.ts.map +0 -1
- package/dist/security/authorization/securityAuthorization.js +0 -172
- package/dist/security/authorization/securityAuthorization.js.map +0 -1
- package/dist/security/comprehensive-targeting.d.ts +0 -85
- package/dist/security/comprehensive-targeting.d.ts.map +0 -1
- package/dist/security/comprehensive-targeting.js +0 -438
- package/dist/security/comprehensive-targeting.js.map +0 -1
- package/dist/security/global-security-integration.d.ts +0 -91
- package/dist/security/global-security-integration.d.ts.map +0 -1
- package/dist/security/global-security-integration.js +0 -218
- package/dist/security/global-security-integration.js.map +0 -1
- package/dist/security/index.d.ts +0 -38
- package/dist/security/index.d.ts.map +0 -1
- package/dist/security/index.js +0 -47
- package/dist/security/index.js.map +0 -1
- package/dist/security/persistence-analyzer.d.ts +0 -56
- package/dist/security/persistence-analyzer.d.ts.map +0 -1
- package/dist/security/persistence-analyzer.js +0 -187
- package/dist/security/persistence-analyzer.js.map +0 -1
- package/dist/security/persistence-cli.d.ts +0 -36
- package/dist/security/persistence-cli.d.ts.map +0 -1
- package/dist/security/persistence-cli.js +0 -160
- package/dist/security/persistence-cli.js.map +0 -1
- package/dist/security/persistence-research.d.ts +0 -92
- package/dist/security/persistence-research.d.ts.map +0 -1
- package/dist/security/persistence-research.js +0 -364
- package/dist/security/persistence-research.js.map +0 -1
- package/dist/security/research/persistenceResearch.d.ts +0 -97
- package/dist/security/research/persistenceResearch.d.ts.map +0 -1
- package/dist/security/research/persistenceResearch.js +0 -282
- package/dist/security/research/persistenceResearch.js.map +0 -1
- package/dist/security/security-integration.d.ts +0 -74
- package/dist/security/security-integration.d.ts.map +0 -1
- package/dist/security/security-integration.js +0 -137
- package/dist/security/security-integration.js.map +0 -1
- package/dist/security/security-testing-framework.d.ts +0 -112
- package/dist/security/security-testing-framework.d.ts.map +0 -1
- package/dist/security/security-testing-framework.js +0 -364
- package/dist/security/security-testing-framework.js.map +0 -1
- package/dist/security/simulation/attackSimulation.d.ts +0 -93
- package/dist/security/simulation/attackSimulation.d.ts.map +0 -1
- package/dist/security/simulation/attackSimulation.js +0 -341
- package/dist/security/simulation/attackSimulation.js.map +0 -1
- package/dist/security/strategic-operations.d.ts +0 -100
- package/dist/security/strategic-operations.d.ts.map +0 -1
- package/dist/security/strategic-operations.js +0 -276
- package/dist/security/strategic-operations.js.map +0 -1
- package/dist/security/tool-security-wrapper.d.ts +0 -58
- package/dist/security/tool-security-wrapper.d.ts.map +0 -1
- package/dist/security/tool-security-wrapper.js +0 -156
- package/dist/security/tool-security-wrapper.js.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.d.ts +0 -145
- package/dist/shell/claudeCodeStreamHandler.d.ts.map +0 -1
- package/dist/shell/claudeCodeStreamHandler.js +0 -322
- package/dist/shell/claudeCodeStreamHandler.js.map +0 -1
- package/dist/shell/inputQueueManager.d.ts +0 -144
- package/dist/shell/inputQueueManager.d.ts.map +0 -1
- package/dist/shell/inputQueueManager.js +0 -290
- package/dist/shell/inputQueueManager.js.map +0 -1
- package/dist/shell/streamingOutputManager.d.ts +0 -115
- package/dist/shell/streamingOutputManager.d.ts.map +0 -1
- package/dist/shell/streamingOutputManager.js +0 -225
- package/dist/shell/streamingOutputManager.js.map +0 -1
- package/dist/ui/persistentPrompt.d.ts +0 -50
- package/dist/ui/persistentPrompt.d.ts.map +0 -1
- package/dist/ui/persistentPrompt.js +0 -92
- package/dist/ui/persistentPrompt.js.map +0 -1
- package/dist/ui/terminalUISchema.d.ts +0 -195
- package/dist/ui/terminalUISchema.d.ts.map +0 -1
- package/dist/ui/terminalUISchema.js +0 -113
- package/dist/ui/terminalUISchema.js.map +0 -1
- package/scripts/deploy-security-capabilities.js +0 -178
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Design principles:
|
|
5
5
|
* - Single source of truth for input state
|
|
6
|
+
* - One bottom-pinned chat box for the entire session (no inline anchors)
|
|
6
7
|
* - Native bracketed paste support (no heuristics)
|
|
7
8
|
* - Clean cursor model with render-time wrapping
|
|
8
9
|
* - State machine for different input modes
|
|
9
10
|
* - No readline dependency for display
|
|
10
11
|
*/
|
|
11
12
|
import { EventEmitter } from 'node:events';
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Input modes - determines how input is handled
|
|
15
|
+
*/
|
|
16
|
+
export type InputMode = 'idle' | 'streaming' | 'paste';
|
|
17
|
+
export type EditGuardMode = 'display-edits' | 'ask-permission';
|
|
14
18
|
/**
|
|
15
19
|
* Events emitted by TerminalInput
|
|
16
20
|
*/
|
|
@@ -62,6 +66,11 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
62
66
|
private statusMessage;
|
|
63
67
|
private overrideStatusMessage;
|
|
64
68
|
private streamingLabel;
|
|
69
|
+
private metaElapsedSeconds;
|
|
70
|
+
private metaTokensUsed;
|
|
71
|
+
private metaTokenLimit;
|
|
72
|
+
private metaThinkingMs;
|
|
73
|
+
private metaThinkingHasContent;
|
|
65
74
|
private reservedLines;
|
|
66
75
|
private scrollRegionActive;
|
|
67
76
|
private lastRenderContent;
|
|
@@ -69,28 +78,22 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
69
78
|
private renderDirty;
|
|
70
79
|
private isRendering;
|
|
71
80
|
private pinnedTopRows;
|
|
72
|
-
private inlineAnchorRow;
|
|
73
|
-
private inlineLayout;
|
|
74
|
-
private anchorProvider;
|
|
75
|
-
private flowMode;
|
|
76
|
-
private flowModeRenderedLines;
|
|
77
|
-
private commandSuggestions;
|
|
78
|
-
private filteredSuggestions;
|
|
79
|
-
private selectedSuggestionIndex;
|
|
80
|
-
private showSuggestions;
|
|
81
|
-
private maxVisibleSuggestions;
|
|
82
81
|
private disposed;
|
|
83
82
|
private enabled;
|
|
84
83
|
private contextUsage;
|
|
84
|
+
private contextAutoCompactThreshold;
|
|
85
|
+
private thinkingModeLabel;
|
|
85
86
|
private editMode;
|
|
86
87
|
private verificationEnabled;
|
|
87
88
|
private autoContinueEnabled;
|
|
88
89
|
private verificationHotkey;
|
|
89
90
|
private autoContinueHotkey;
|
|
91
|
+
private thinkingHotkey;
|
|
92
|
+
private modelLabel;
|
|
93
|
+
private providerLabel;
|
|
90
94
|
private outputInterceptorCleanup?;
|
|
91
|
-
private
|
|
92
|
-
private
|
|
93
|
-
private thinkingEnabled;
|
|
95
|
+
private lastStreamingRender;
|
|
96
|
+
private streamingRenderInterval;
|
|
94
97
|
private streamingRenderTimer;
|
|
95
98
|
constructor(writeStream?: NodeJS.WriteStream, config?: TerminalInputConfig);
|
|
96
99
|
/**
|
|
@@ -116,88 +119,14 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
116
119
|
/**
|
|
117
120
|
* Set the input mode
|
|
118
121
|
*
|
|
119
|
-
* Streaming
|
|
120
|
-
*
|
|
121
|
-
* the cursor is (below the streamed content).
|
|
122
|
+
* Streaming keeps the scroll region active so the prompt/status stay pinned
|
|
123
|
+
* below the streaming output. When streaming ends, we refresh the input area.
|
|
122
124
|
*/
|
|
123
125
|
setMode(mode: InputMode): void;
|
|
124
|
-
/**
|
|
125
|
-
* Update streaming status label (called by timer)
|
|
126
|
-
*/
|
|
127
|
-
private updateStreamingStatus;
|
|
128
|
-
/**
|
|
129
|
-
* Render input area at absolute bottom - unified for streaming and normal modes.
|
|
130
|
-
* Supports multi-line input, background styling, and cursor positioning.
|
|
131
|
-
* Uses cursor save/restore during streaming so content flow is not disrupted.
|
|
132
|
-
*/
|
|
133
|
-
private renderPinnedInputArea;
|
|
134
|
-
/**
|
|
135
|
-
* Render input area during streaming (alias for unified method)
|
|
136
|
-
*/
|
|
137
|
-
private renderStreamingInputArea;
|
|
138
|
-
/**
|
|
139
|
-
* Enable or disable flow mode.
|
|
140
|
-
* In flow mode, the input renders immediately after content (wherever cursor is).
|
|
141
|
-
* When disabled, input renders at the absolute bottom of terminal.
|
|
142
|
-
*/
|
|
143
|
-
setFlowMode(enabled: boolean): void;
|
|
144
|
-
/**
|
|
145
|
-
* Check if flow mode is enabled.
|
|
146
|
-
*/
|
|
147
|
-
isFlowMode(): boolean;
|
|
148
|
-
/**
|
|
149
|
-
* Set available slash commands for auto-complete suggestions.
|
|
150
|
-
*/
|
|
151
|
-
setCommands(commands: Array<{
|
|
152
|
-
command: string;
|
|
153
|
-
description: string;
|
|
154
|
-
}>): void;
|
|
155
|
-
/**
|
|
156
|
-
* Update filtered suggestions based on current input.
|
|
157
|
-
*/
|
|
158
|
-
private updateSuggestions;
|
|
159
|
-
/**
|
|
160
|
-
* Select next suggestion (arrow down / tab).
|
|
161
|
-
*/
|
|
162
|
-
selectNextSuggestion(): void;
|
|
163
|
-
/**
|
|
164
|
-
* Select previous suggestion (arrow up / shift+tab).
|
|
165
|
-
*/
|
|
166
|
-
selectPrevSuggestion(): void;
|
|
167
|
-
/**
|
|
168
|
-
* Accept current suggestion and insert into buffer.
|
|
169
|
-
*/
|
|
170
|
-
acceptSuggestion(): boolean;
|
|
171
|
-
/**
|
|
172
|
-
* Check if suggestions are visible.
|
|
173
|
-
*/
|
|
174
|
-
areSuggestionsVisible(): boolean;
|
|
175
|
-
/**
|
|
176
|
-
* Update token count for metrics display
|
|
177
|
-
*/
|
|
178
|
-
setTokensUsed(tokens: number): void;
|
|
179
|
-
/**
|
|
180
|
-
* Toggle thinking/reasoning mode
|
|
181
|
-
*/
|
|
182
|
-
toggleThinking(): void;
|
|
183
|
-
/**
|
|
184
|
-
* Get thinking enabled state
|
|
185
|
-
*/
|
|
186
|
-
isThinkingEnabled(): boolean;
|
|
187
126
|
/**
|
|
188
127
|
* Keep the top N rows pinned outside the scroll region (used for the launch banner).
|
|
189
128
|
*/
|
|
190
129
|
setPinnedHeaderLines(count: number): void;
|
|
191
|
-
/**
|
|
192
|
-
* Anchor prompt rendering near a specific row (inline layout). Pass null to
|
|
193
|
-
* restore the default bottom-aligned layout.
|
|
194
|
-
*/
|
|
195
|
-
setInlineAnchor(row: number | null): void;
|
|
196
|
-
/**
|
|
197
|
-
* Provide a dynamic anchor callback. When set, the prompt will follow the
|
|
198
|
-
* output by re-evaluating the anchor before each render.
|
|
199
|
-
*/
|
|
200
|
-
setInlineAnchorProvider(provider: (() => number | null | undefined) | null): void;
|
|
201
130
|
/**
|
|
202
131
|
* Get current mode
|
|
203
132
|
*/
|
|
@@ -244,6 +173,16 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
244
173
|
* Can be shown alongside override status messages.
|
|
245
174
|
*/
|
|
246
175
|
setStreamingLabel(label: string | null): void;
|
|
176
|
+
/**
|
|
177
|
+
* Surface meta status just above the divider (e.g., elapsed time or token usage).
|
|
178
|
+
*/
|
|
179
|
+
setMetaStatus(meta: {
|
|
180
|
+
elapsedSeconds?: number | null;
|
|
181
|
+
tokensUsed?: number | null;
|
|
182
|
+
tokenLimit?: number | null;
|
|
183
|
+
thinkingMs?: number | null;
|
|
184
|
+
thinkingHasContent?: boolean;
|
|
185
|
+
}): void;
|
|
247
186
|
/**
|
|
248
187
|
* Keep mode toggles (verification/auto-continue) visible in the control bar.
|
|
249
188
|
* Hotkey labels remain stable so the bar looks the same before/during streaming.
|
|
@@ -253,62 +192,57 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
253
192
|
autoContinueEnabled: boolean;
|
|
254
193
|
verificationHotkey?: string;
|
|
255
194
|
autoContinueHotkey?: string;
|
|
195
|
+
thinkingModeLabel?: string | null;
|
|
196
|
+
thinkingHotkey?: string;
|
|
256
197
|
}): void;
|
|
257
198
|
/**
|
|
258
199
|
* Clear all status messages at once (convenience method).
|
|
259
200
|
*/
|
|
260
201
|
clearAllStatus(): void;
|
|
261
202
|
/**
|
|
262
|
-
*
|
|
263
|
-
*
|
|
264
|
-
* Same rendering for both normal and streaming modes - just different status bar.
|
|
265
|
-
* During streaming, uses cursor save/restore to preserve streaming position.
|
|
266
|
-
*/
|
|
267
|
-
render(): void;
|
|
268
|
-
/**
|
|
269
|
-
* Render in flow mode - delegates to bottom-pinned for stability.
|
|
270
|
-
*
|
|
271
|
-
* Flow mode attempted inline rendering but caused duplicate renders
|
|
272
|
-
* due to unreliable cursor position tracking. Bottom-pinned is reliable.
|
|
203
|
+
* Surface model/provider context in the controls bar.
|
|
273
204
|
*/
|
|
274
|
-
|
|
205
|
+
setModelContext(options: {
|
|
206
|
+
model?: string | null;
|
|
207
|
+
provider?: string | null;
|
|
208
|
+
}): void;
|
|
275
209
|
/**
|
|
276
|
-
* Render
|
|
277
|
-
*
|
|
278
|
-
* Works for both normal and streaming modes:
|
|
279
|
-
* - During streaming: saves/restores cursor position
|
|
280
|
-
* - Status bar shows streaming info or "Type a message"
|
|
281
|
-
*
|
|
282
|
-
* Layout when suggestions visible:
|
|
283
|
-
* - Top divider
|
|
284
|
-
* - Input line(s)
|
|
285
|
-
* - Bottom divider
|
|
286
|
-
* - Suggestions (command list)
|
|
210
|
+
* Render the input area - Claude Code style with mode controls
|
|
287
211
|
*
|
|
288
|
-
*
|
|
289
|
-
*
|
|
290
|
-
*
|
|
291
|
-
* - Input line(s)
|
|
292
|
-
* - Bottom divider
|
|
293
|
-
* - Mode controls
|
|
212
|
+
* During streaming we keep the scroll region active and repaint only the
|
|
213
|
+
* pinned status/input block (throttled) so streamed content can scroll
|
|
214
|
+
* naturally above while elapsed time and status stay fresh.
|
|
294
215
|
*/
|
|
295
|
-
|
|
216
|
+
render(): void;
|
|
296
217
|
/**
|
|
297
|
-
* Build
|
|
218
|
+
* Build one or more compact meta lines above the divider (thinking, status, usage).
|
|
219
|
+
* During streaming, consolidates into a single line to minimize cursor repositioning
|
|
220
|
+
* and prevent escape code interleaving with streamed content.
|
|
298
221
|
*/
|
|
299
|
-
private
|
|
222
|
+
private buildMetaLines;
|
|
300
223
|
/**
|
|
301
|
-
*
|
|
302
|
-
* This is the TOP line above the input area - minimal Claude Code style.
|
|
224
|
+
* Clear the reserved bottom block (meta + divider + input + controls) before repainting.
|
|
303
225
|
*/
|
|
304
|
-
private
|
|
226
|
+
private clearReservedArea;
|
|
305
227
|
/**
|
|
306
|
-
* Build mode controls line
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
* Layout: [toggles on left] ... [context info on right]
|
|
228
|
+
* Build Claude Code style mode controls line.
|
|
229
|
+
* Combines streaming label + override status + main status for simultaneous display.
|
|
310
230
|
*/
|
|
311
231
|
private buildModeControls;
|
|
232
|
+
private formatHotkey;
|
|
233
|
+
private computeContextRemaining;
|
|
234
|
+
private computeTokensRemaining;
|
|
235
|
+
private formatElapsedLabel;
|
|
236
|
+
private formatTokenCount;
|
|
237
|
+
private visibleLength;
|
|
238
|
+
/**
|
|
239
|
+
* Debug-only snapshot used by tests to assert rendered strings without
|
|
240
|
+
* needing a TTY. Not used by production code.
|
|
241
|
+
*/
|
|
242
|
+
getDebugUiSnapshot(width?: number): {
|
|
243
|
+
meta: string[];
|
|
244
|
+
controls: string;
|
|
245
|
+
};
|
|
312
246
|
/**
|
|
313
247
|
* Force a re-render
|
|
314
248
|
*/
|
|
@@ -325,9 +259,6 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
325
259
|
* Register with display's output interceptor to position cursor correctly.
|
|
326
260
|
* When scroll region is active, output needs to go to the scroll region,
|
|
327
261
|
* not the protected bottom area where the input is rendered.
|
|
328
|
-
*
|
|
329
|
-
* NOTE: With scroll region properly set, content naturally stays within
|
|
330
|
-
* the region boundaries - no cursor manipulation needed per-write.
|
|
331
262
|
*/
|
|
332
263
|
registerOutputInterceptor(display: {
|
|
333
264
|
registerOutputInterceptor: (i: {
|
|
@@ -372,21 +303,18 @@ export declare class TerminalInput extends EventEmitter {
|
|
|
372
303
|
private shiftPlaceholders;
|
|
373
304
|
private removeRange;
|
|
374
305
|
private insertPlainText;
|
|
306
|
+
private shouldInlineMultiline;
|
|
375
307
|
private findPlaceholderAt;
|
|
376
308
|
private buildPlaceholder;
|
|
377
309
|
private insertPastePlaceholder;
|
|
378
|
-
/**
|
|
379
|
-
* Toggle expansion of a paste placeholder at the current cursor position.
|
|
380
|
-
* When expanded, shows first 3 and last 2 lines of the content.
|
|
381
|
-
*/
|
|
382
|
-
togglePasteExpansion(): boolean;
|
|
383
|
-
private buildExpandedPlaceholder;
|
|
384
310
|
private deletePlaceholder;
|
|
385
|
-
updateContextUsage(value: number | null): void;
|
|
311
|
+
updateContextUsage(value: number | null, autoCompactThreshold?: number): void;
|
|
386
312
|
getEditMode(): EditGuardMode;
|
|
387
313
|
applyEditMode(mode: EditGuardMode): void;
|
|
388
314
|
private setEditMode;
|
|
389
315
|
toggleEditMode(): void;
|
|
316
|
+
private scheduleStreamingRender;
|
|
317
|
+
private resetStreamingRenderThrottle;
|
|
390
318
|
private scheduleRender;
|
|
391
319
|
private canRender;
|
|
392
320
|
private isTTY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"terminalInput.d.ts","sourceRoot":"","sources":["../../src/shell/terminalInput.ts"],"names":[],"mappings":"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"}
|