@akon-labs/nexus-cli 0.1.11-rc.2 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +588 -63
- package/dist/core/graph-rail-store.d.ts +10 -0
- package/dist/core/graph-rail-store.d.ts.map +1 -1
- package/dist/core/graph-rail-store.js +9 -0
- package/dist/core/graph-rail-store.js.map +1 -1
- package/dist/core/keybindings.d.ts +2 -1
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +4 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/extensions/gitnexus/client.d.ts.map +1 -1
- package/dist/extensions/gitnexus/client.js +45 -14
- package/dist/extensions/gitnexus/client.js.map +1 -1
- package/dist/extensions/gitnexus/hub-api.d.ts +56 -0
- package/dist/extensions/gitnexus/hub-api.d.ts.map +1 -0
- package/dist/extensions/gitnexus/hub-api.js +105 -0
- package/dist/extensions/gitnexus/hub-api.js.map +1 -0
- package/dist/extensions/gitnexus/index-repo.d.ts +50 -0
- package/dist/extensions/gitnexus/index-repo.d.ts.map +1 -0
- package/dist/extensions/gitnexus/index-repo.js +162 -0
- package/dist/extensions/gitnexus/index-repo.js.map +1 -0
- package/dist/extensions/gitnexus/index.d.ts.map +1 -1
- package/dist/extensions/gitnexus/index.js +135 -15
- package/dist/extensions/gitnexus/index.js.map +1 -1
- package/dist/extensions/gitnexus/resolve.d.ts +9 -0
- package/dist/extensions/gitnexus/resolve.d.ts.map +1 -1
- package/dist/extensions/gitnexus/resolve.js +52 -2
- package/dist/extensions/gitnexus/resolve.js.map +1 -1
- package/dist/index.js +588 -63
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +2 -0
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/command-palette.d.ts +2 -1
- package/dist/modes/interactive/components/command-palette.d.ts.map +1 -1
- package/dist/modes/interactive/components/command-palette.js +11 -4
- package/dist/modes/interactive/components/command-palette.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js +9 -3
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/graph-rail.d.ts.map +1 -1
- package/dist/modes/interactive/components/graph-rail.js +18 -3
- package/dist/modes/interactive/components/graph-rail.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts +1 -0
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js +7 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/landing-panel.d.ts.map +1 -1
- package/dist/modes/interactive/components/landing-panel.js +15 -2
- package/dist/modes/interactive/components/landing-panel.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +35 -5
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/rpc-entry.js +588 -63
- package/dist/vendor/ai.js +14 -14
- package/dist/vendor/tui.js +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
|
@@ -167,11 +167,15 @@ function formatLoginProviderCompletionDescription(provider) {
|
|
|
167
167
|
const authTypes = provider.authTypes.map(formatAuthSelectorProviderType).join("/");
|
|
168
168
|
return provider.name === provider.id ? authTypes : `${provider.name} · ${authTypes}`;
|
|
169
169
|
}
|
|
170
|
+
const FULLSCREEN_WHEEL_SCROLL_LINES = 3;
|
|
170
171
|
/** Composition root for selecting the interactive terminal renderer. */
|
|
171
172
|
export function createInteractiveTui(options) {
|
|
172
173
|
const terminal = options.terminal ?? new ProcessTerminal();
|
|
173
174
|
if (options.uiMode === "fullscreen") {
|
|
174
|
-
return new TuiAltScreen(terminal, options.showHardwareCursor, options.logDirectory, {
|
|
175
|
+
return new TuiAltScreen(terminal, options.showHardwareCursor, options.logDirectory, {
|
|
176
|
+
openUrl: openBrowser,
|
|
177
|
+
wheelScrollLines: FULLSCREEN_WHEEL_SCROLL_LINES,
|
|
178
|
+
});
|
|
175
179
|
}
|
|
176
180
|
return new TuiMainScreen(terminal, options.showHardwareCursor, options.logDirectory);
|
|
177
181
|
}
|
|
@@ -243,6 +247,7 @@ export class InteractiveMode {
|
|
|
243
247
|
defaultHiddenThinkingLabel = "Thinking...";
|
|
244
248
|
hiddenThinkingLabel = this.defaultHiddenThinkingLabel;
|
|
245
249
|
lastSigintTime = 0;
|
|
250
|
+
quitConfirmationTimer;
|
|
246
251
|
lastEscapeTime = 0;
|
|
247
252
|
anthropicSubscriptionWarningShown = false;
|
|
248
253
|
// Status line tracking (for mutating immediately-sequential status updates)
|
|
@@ -437,6 +442,10 @@ export class InteractiveMode {
|
|
|
437
442
|
handle.hide();
|
|
438
443
|
this.ui.setFocus(this.editor);
|
|
439
444
|
void this.defaultEditor.onSubmit?.(commandText);
|
|
445
|
+
}, (commandText) => {
|
|
446
|
+
handle.hide();
|
|
447
|
+
this.editor.setText(commandText);
|
|
448
|
+
this.ui.setFocus(this.editor);
|
|
440
449
|
}, () => {
|
|
441
450
|
handle.hide();
|
|
442
451
|
this.ui.setFocus(this.editor);
|
|
@@ -3103,13 +3112,30 @@ export class InteractiveMode {
|
|
|
3103
3112
|
// =========================================================================
|
|
3104
3113
|
handleCtrlC() {
|
|
3105
3114
|
const now = Date.now();
|
|
3106
|
-
if (now - this.lastSigintTime <
|
|
3115
|
+
if (now - this.lastSigintTime < 2_000) {
|
|
3116
|
+
if (this.quitConfirmationTimer) {
|
|
3117
|
+
clearTimeout(this.quitConfirmationTimer);
|
|
3118
|
+
this.quitConfirmationTimer = undefined;
|
|
3119
|
+
}
|
|
3120
|
+
this.lastSigintTime = 0;
|
|
3121
|
+
this.setExtensionStatus("quit-confirmation", undefined);
|
|
3107
3122
|
void this.shutdown();
|
|
3123
|
+
return;
|
|
3108
3124
|
}
|
|
3109
|
-
|
|
3110
|
-
this.
|
|
3111
|
-
this.lastSigintTime = now;
|
|
3125
|
+
if (this.quitConfirmationTimer) {
|
|
3126
|
+
clearTimeout(this.quitConfirmationTimer);
|
|
3112
3127
|
}
|
|
3128
|
+
this.clearEditor();
|
|
3129
|
+
this.lastSigintTime = now;
|
|
3130
|
+
const shortcut = formatKeyText(this.keybindings.getKeys("app.clear").join("/"), { capitalize: true });
|
|
3131
|
+
this.setExtensionStatus("quit-confirmation", `Press ${shortcut} again to exit`);
|
|
3132
|
+
this.quitConfirmationTimer = setTimeout(() => {
|
|
3133
|
+
if (this.lastSigintTime !== now)
|
|
3134
|
+
return;
|
|
3135
|
+
this.lastSigintTime = 0;
|
|
3136
|
+
this.quitConfirmationTimer = undefined;
|
|
3137
|
+
this.setExtensionStatus("quit-confirmation", undefined);
|
|
3138
|
+
}, 2_000);
|
|
3113
3139
|
}
|
|
3114
3140
|
handleCtrlD() {
|
|
3115
3141
|
// Only called when editor is empty (enforced by CustomEditor)
|
|
@@ -3125,6 +3151,10 @@ export class InteractiveMode {
|
|
|
3125
3151
|
if (this.isShuttingDown)
|
|
3126
3152
|
return;
|
|
3127
3153
|
this.isShuttingDown = true;
|
|
3154
|
+
if (this.quitConfirmationTimer) {
|
|
3155
|
+
clearTimeout(this.quitConfirmationTimer);
|
|
3156
|
+
this.quitConfirmationTimer = undefined;
|
|
3157
|
+
}
|
|
3128
3158
|
this.graphRailUnsubscribe?.();
|
|
3129
3159
|
this.graphRailUnsubscribe = undefined;
|
|
3130
3160
|
this.landingPanel?.dispose();
|