erosolar-cli 1.7.108 → 1.7.110
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/bin/erosolar.js +1 -0
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/shell/enhancedInteractiveShell.d.ts +42 -0
- package/dist/shell/enhancedInteractiveShell.d.ts.map +1 -0
- package/dist/shell/enhancedInteractiveShell.js +139 -0
- package/dist/shell/enhancedInteractiveShell.js.map +1 -0
- package/dist/shell/enhancedShellApp.d.ts +22 -0
- package/dist/shell/enhancedShellApp.d.ts.map +1 -0
- package/dist/shell/enhancedShellApp.js +148 -0
- package/dist/shell/enhancedShellApp.js.map +1 -0
- package/dist/tools/diffUtils.d.ts +6 -0
- package/dist/tools/diffUtils.d.ts.map +1 -1
- package/dist/tools/diffUtils.js +110 -0
- package/dist/tools/diffUtils.js.map +1 -1
- package/dist/tools/editTools.d.ts.map +1 -1
- package/dist/tools/editTools.js +85 -11
- package/dist/tools/editTools.js.map +1 -1
- package/dist/ui/enhancedPinnedChatBox.d.ts +93 -0
- package/dist/ui/enhancedPinnedChatBox.d.ts.map +1 -0
- package/dist/ui/enhancedPinnedChatBox.js +372 -0
- package/dist/ui/enhancedPinnedChatBox.js.map +1 -0
- package/dist/ui/persistentChatBox.d.ts.map +1 -1
- package/dist/ui/persistentChatBox.js +6 -2
- package/dist/ui/persistentChatBox.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +5 -4
- package/dist/ui/persistentPrompt.d.ts.map +1 -1
- package/dist/ui/persistentPrompt.js +34 -13
- package/dist/ui/persistentPrompt.js.map +1 -1
- package/package.json +1 -1
package/dist/bin/erosolar.js
CHANGED
|
@@ -79,6 +79,7 @@ else if (argv.includes('--json')) {
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
|
+
// Launch shell with persistent chat box (scroll regions enabled during streaming)
|
|
82
83
|
launchShell('erosolar-code', { enableProfileSelection: true }).catch((error) => {
|
|
83
84
|
console.error(error instanceof Error ? error.message : error);
|
|
84
85
|
process.exit(1);
|
package/dist/bin/erosolar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EnhancedInteractiveShell - Extends InteractiveShell with PersistentChatBox for better UX
|
|
3
|
+
*
|
|
4
|
+
* Key improvements:
|
|
5
|
+
* - Persistent chat box remains visible during AI streaming
|
|
6
|
+
* - Enhanced paste handling with summarization
|
|
7
|
+
* - Only submits to AI when user explicitly hits Enter
|
|
8
|
+
*/
|
|
9
|
+
import { InteractiveShell, type ShellConfig } from './interactiveShell.js';
|
|
10
|
+
export declare class EnhancedInteractiveShell extends InteractiveShell {
|
|
11
|
+
private persistentChatBox;
|
|
12
|
+
constructor(config: ShellConfig);
|
|
13
|
+
/**
|
|
14
|
+
* Override the processRequest method to integrate persistent chat box during streaming
|
|
15
|
+
*/
|
|
16
|
+
protected processRequest(request: any): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Override to handle enhanced paste detection
|
|
19
|
+
*/
|
|
20
|
+
protected handleBracketedPaste(content: string): void;
|
|
21
|
+
/**
|
|
22
|
+
* Override to handle character input with enhanced paste detection
|
|
23
|
+
*/
|
|
24
|
+
protected handleCharacter(char: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Override to handle Enter key with enhanced submission logic
|
|
27
|
+
*/
|
|
28
|
+
protected handleEnter(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Override to integrate with persistent chat box
|
|
31
|
+
*/
|
|
32
|
+
protected setProcessingStatus(detail?: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Override to update context usage in persistent chat box
|
|
35
|
+
*/
|
|
36
|
+
protected refreshContextGauge(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Override to ensure persistent chat box is properly disposed
|
|
39
|
+
*/
|
|
40
|
+
dispose(): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=enhancedInteractiveShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhancedInteractiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/enhancedInteractiveShell.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI3E,qBAAa,wBAAyB,SAAQ,gBAAgB;IAC5D,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,MAAM,EAAE,WAAW;IA4B/B;;OAEG;cACa,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D3D;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKrD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7C;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAQ7B;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAQpD;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAQrC;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EnhancedInteractiveShell - Extends InteractiveShell with PersistentChatBox for better UX
|
|
3
|
+
*
|
|
4
|
+
* Key improvements:
|
|
5
|
+
* - Persistent chat box remains visible during AI streaming
|
|
6
|
+
* - Enhanced paste handling with summarization
|
|
7
|
+
* - Only submits to AI when user explicitly hits Enter
|
|
8
|
+
*/
|
|
9
|
+
import { stdout as output } from 'node:process';
|
|
10
|
+
import { InteractiveShell } from './interactiveShell.js';
|
|
11
|
+
import { display } from '../ui/display.js';
|
|
12
|
+
import { PersistentChatBox } from '../ui/persistentChatBox.js';
|
|
13
|
+
export class EnhancedInteractiveShell extends InteractiveShell {
|
|
14
|
+
persistentChatBox;
|
|
15
|
+
constructor(config) {
|
|
16
|
+
super(config);
|
|
17
|
+
// Initialize persistent chat box for always-visible input during AI processing
|
|
18
|
+
this.persistentChatBox = new PersistentChatBox(output, {
|
|
19
|
+
onCommandQueued: (cmd) => {
|
|
20
|
+
// Bridge to existing follow-up queue system
|
|
21
|
+
this.followUpQueue.push({
|
|
22
|
+
type: cmd.type === 'slash' ? 'request' : cmd.type,
|
|
23
|
+
text: cmd.text,
|
|
24
|
+
});
|
|
25
|
+
this.refreshQueueIndicators();
|
|
26
|
+
},
|
|
27
|
+
onInputSubmit: (input) => {
|
|
28
|
+
// Process the input through the normal flow
|
|
29
|
+
this.processInputBlock(input).catch((err) => {
|
|
30
|
+
display.showError(err instanceof Error ? err.message : String(err), err);
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
// Register persistent chat box with display's output interceptor system
|
|
35
|
+
this.persistentChatBox.registerOutputInterceptor(display);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Override the processRequest method to integrate persistent chat box during streaming
|
|
39
|
+
*/
|
|
40
|
+
async processRequest(request) {
|
|
41
|
+
const requestStartTime = Date.now();
|
|
42
|
+
try {
|
|
43
|
+
this.isProcessing = true;
|
|
44
|
+
this.uiAdapter.beginProcessing();
|
|
45
|
+
// Set streaming state on persistent chat box
|
|
46
|
+
this.persistentChatBox.setStreaming(true);
|
|
47
|
+
this.persistentChatBox.setProcessing(true);
|
|
48
|
+
// Enable scroll region so streaming output scrolls while input stays at bottom
|
|
49
|
+
this.persistentChatBox.enableScrollRegion();
|
|
50
|
+
// Suppress readline echo so typed characters only appear in persistent input box
|
|
51
|
+
this.suppressReadlineOutput();
|
|
52
|
+
const agent = this.getAgent();
|
|
53
|
+
// Enable streaming for real-time text output (Claude Code style)
|
|
54
|
+
await agent.send(request, true);
|
|
55
|
+
await this.awaitPendingCleanup();
|
|
56
|
+
this.captureHistorySnapshot();
|
|
57
|
+
this.autosaveIfEnabled();
|
|
58
|
+
// Track metrics with Alpha Zero 2
|
|
59
|
+
const elapsedMs = Date.now() - requestStartTime;
|
|
60
|
+
this.alphaZeroMetrics.recordMessage(elapsedMs);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
const handled = this.handleProviderError(error, () => this.processRequest(request));
|
|
64
|
+
if (!handled) {
|
|
65
|
+
// Pass full error object for enhanced formatting with stack trace
|
|
66
|
+
display.showError(error instanceof Error ? error.message : String(error), error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
// Restore readline echo before other cleanup
|
|
71
|
+
this.restoreReadlineOutput();
|
|
72
|
+
// Disable scroll region before any other output to restore normal terminal behavior
|
|
73
|
+
this.persistentChatBox.disableScrollRegion();
|
|
74
|
+
display.stopThinking(false);
|
|
75
|
+
this.isProcessing = false;
|
|
76
|
+
this.uiAdapter.endProcessing('Ready for prompts');
|
|
77
|
+
this.setIdleStatus();
|
|
78
|
+
display.newLine();
|
|
79
|
+
// Clear the processing status and ensure persistent chat box is visible
|
|
80
|
+
this.persistentChatBox.setStreaming(false);
|
|
81
|
+
this.persistentChatBox.setProcessing(false);
|
|
82
|
+
this.persistentChatBox.setStatusMessage(null);
|
|
83
|
+
this.persistentChatBox.forceRender();
|
|
84
|
+
// CRITICAL: Ensure readline prompt is active for user input
|
|
85
|
+
// Call ensureReadlineReady to resume stdin if paused and re-enable keypress
|
|
86
|
+
this.ensureReadlineReady();
|
|
87
|
+
this.rl.prompt();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Override to handle enhanced paste detection
|
|
92
|
+
*/
|
|
93
|
+
handleBracketedPaste(content) {
|
|
94
|
+
// Use enhanced paste handling from persistent chat box
|
|
95
|
+
this.persistentChatBox.handlePaste(content);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Override to handle character input with enhanced paste detection
|
|
99
|
+
*/
|
|
100
|
+
handleCharacter(char) {
|
|
101
|
+
this.persistentChatBox.handleCharacter(char);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Override to handle Enter key with enhanced submission logic
|
|
105
|
+
*/
|
|
106
|
+
handleEnter() {
|
|
107
|
+
const input = this.persistentChatBox.handleEnter();
|
|
108
|
+
if (input) {
|
|
109
|
+
// Input was submitted and processed
|
|
110
|
+
this.rl.prompt();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Override to integrate with persistent chat box
|
|
115
|
+
*/
|
|
116
|
+
setProcessingStatus(detail) {
|
|
117
|
+
super.setProcessingStatus(detail);
|
|
118
|
+
if (detail) {
|
|
119
|
+
this.persistentChatBox.setStatusMessage(detail);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Override to update context usage in persistent chat box
|
|
124
|
+
*/
|
|
125
|
+
refreshContextGauge() {
|
|
126
|
+
super.refreshContextGauge();
|
|
127
|
+
if (this.contextUsage !== undefined) {
|
|
128
|
+
this.persistentChatBox.setContextUsage(this.contextUsage);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Override to ensure persistent chat box is properly disposed
|
|
133
|
+
*/
|
|
134
|
+
async dispose() {
|
|
135
|
+
await super.dispose();
|
|
136
|
+
this.persistentChatBox.dispose();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=enhancedInteractiveShell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhancedInteractiveShell.js","sourceRoot":"","sources":["../../src/shell/enhancedInteractiveShell.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EnhancedShellApp - Uses EnhancedInteractiveShell for persistent chat box during streaming
|
|
3
|
+
*/
|
|
4
|
+
import '../config.js';
|
|
5
|
+
import type { ProfileName } from '../config.js';
|
|
6
|
+
export interface LaunchEnhancedShellOptions {
|
|
7
|
+
enableProfileSelection?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Plugin flags for enabling optional features.
|
|
11
|
+
*/
|
|
12
|
+
export interface PluginFlags {
|
|
13
|
+
alphaZero?: boolean;
|
|
14
|
+
coding?: boolean;
|
|
15
|
+
security?: boolean;
|
|
16
|
+
allPlugins?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Launch the enhanced interactive shell with persistent chat box
|
|
20
|
+
*/
|
|
21
|
+
export declare function launchEnhancedShell(profile: ProfileName, options?: LaunchEnhancedShellOptions): Promise<void>;
|
|
22
|
+
//# sourceMappingURL=enhancedShellApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhancedShellApp.d.ts","sourceRoot":"","sources":["../../src/shell/enhancedShellApp.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AA6BhD,MAAM,WAAW,0BAA0B;IACzC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CA0Hf"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EnhancedShellApp - Uses EnhancedInteractiveShell for persistent chat box during streaming
|
|
3
|
+
*/
|
|
4
|
+
import { exit } from 'node:process';
|
|
5
|
+
import '../config.js';
|
|
6
|
+
import { buildWorkspaceContext, resolveWorkspaceCaptureOptions } from '../workspace.js';
|
|
7
|
+
import { EnhancedInteractiveShell } from './enhancedInteractiveShell.js';
|
|
8
|
+
import { display } from '../ui/display.js';
|
|
9
|
+
import { loadModelPreference, loadToolSettings, } from '../core/preferences.js';
|
|
10
|
+
import { createNodeRuntime } from '../runtime/node.js';
|
|
11
|
+
import { buildEnabledToolSet, evaluateToolPermissions, isPluginEnabled, } from '../capabilities/toolRegistry.js';
|
|
12
|
+
import { listAgentProfiles } from '../core/agentProfiles.js';
|
|
13
|
+
import { maybeOfferCliUpdate } from './updateManager.js';
|
|
14
|
+
import { LiveStatusTracker } from './liveStatus.js';
|
|
15
|
+
import { buildInteractiveSystemPrompt } from './systemPrompt.js';
|
|
16
|
+
import { ShellUIAdapter } from '../ui/ShellUIAdapter.js';
|
|
17
|
+
import { stdout } from 'node:process';
|
|
18
|
+
import { getPluginIdsFromFlags, loadPlugin } from '../plugins/index.js';
|
|
19
|
+
import { quickCheckProviders } from '../core/modelDiscovery.js';
|
|
20
|
+
import { loadAllSecrets } from '../core/secretStore.js';
|
|
21
|
+
/**
|
|
22
|
+
* Launch the enhanced interactive shell with persistent chat box
|
|
23
|
+
*/
|
|
24
|
+
export async function launchEnhancedShell(profile, options = {}) {
|
|
25
|
+
const { enableProfileSelection = false } = options;
|
|
26
|
+
try {
|
|
27
|
+
// Check for CLI updates in background
|
|
28
|
+
maybeOfferCliUpdate();
|
|
29
|
+
// Quick check for available providers
|
|
30
|
+
await quickCheckProviders();
|
|
31
|
+
// Load secrets early to avoid delays
|
|
32
|
+
await loadAllSecrets();
|
|
33
|
+
// Parse CLI arguments for prompt
|
|
34
|
+
const argv = process.argv.slice(2);
|
|
35
|
+
const promptArgs = argv.filter(arg => !arg.startsWith('--'));
|
|
36
|
+
// Handle profile selection if enabled
|
|
37
|
+
const allowProfileSelection = enableProfileSelection;
|
|
38
|
+
const profileConfig = await selectProfile(profile, {
|
|
39
|
+
allowSavedProfile: allowProfileSelection,
|
|
40
|
+
});
|
|
41
|
+
const workingDir = process.cwd();
|
|
42
|
+
const workspaceOptions = resolveWorkspaceCaptureOptions(process.env);
|
|
43
|
+
const workspaceContext = buildWorkspaceContext(workingDir, workspaceOptions);
|
|
44
|
+
const statusTracker = new LiveStatusTracker();
|
|
45
|
+
// Create unified UI adapter early to get the tool observer
|
|
46
|
+
// We'll add the file change callback after creating the shell
|
|
47
|
+
const uiAdapter = new ShellUIAdapter(stdout, display, {
|
|
48
|
+
useUnifiedUI: true,
|
|
49
|
+
preserveCompatibility: true,
|
|
50
|
+
enableTelemetry: true,
|
|
51
|
+
debugMode: false,
|
|
52
|
+
});
|
|
53
|
+
// Use the unified UI adapter's tool observer instead of the legacy one
|
|
54
|
+
const toolObserver = uiAdapter.createToolObserver();
|
|
55
|
+
const toolSettings = loadToolSettings();
|
|
56
|
+
const toolSelection = buildEnabledToolSet(toolSettings);
|
|
57
|
+
const permissionSummary = evaluateToolPermissions(toolSelection);
|
|
58
|
+
const pluginFilter = (plugin) => isPluginEnabled(plugin.id, permissionSummary.allowedPluginIds);
|
|
59
|
+
const runtime = await createNodeRuntime({
|
|
60
|
+
profile,
|
|
61
|
+
workspaceContext,
|
|
62
|
+
workingDir,
|
|
63
|
+
toolObserver,
|
|
64
|
+
adapterOptions: {
|
|
65
|
+
filter: pluginFilter,
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const session = runtime.session;
|
|
69
|
+
const profileConfig = session.profileConfig;
|
|
70
|
+
const providerTools = session.toolRuntime.listProviderTools();
|
|
71
|
+
// CLI overrides take highest priority, then persisted preferences, then profile defaults
|
|
72
|
+
const persistedSelection = profileConfig.modelLocked || profileConfig.providerLocked
|
|
73
|
+
? null
|
|
74
|
+
: loadModelPreference(profile);
|
|
75
|
+
let initialModel = persistedSelection ?? {
|
|
76
|
+
provider: profileConfig.defaultProvider,
|
|
77
|
+
model: profileConfig.defaultModel,
|
|
78
|
+
};
|
|
79
|
+
// Build enhanced system prompt with workspace context
|
|
80
|
+
const enhancedSystemPrompt = buildInteractiveSystemPrompt({
|
|
81
|
+
profile: profileConfig,
|
|
82
|
+
workspaceContext,
|
|
83
|
+
workingDir,
|
|
84
|
+
toolSelection,
|
|
85
|
+
agentSelection: providerTools,
|
|
86
|
+
});
|
|
87
|
+
// Load enabled plugins
|
|
88
|
+
const enabledPluginIds = getPluginIdsFromFlags({
|
|
89
|
+
alphaZero: false,
|
|
90
|
+
coding: false,
|
|
91
|
+
security: false,
|
|
92
|
+
allPlugins: false,
|
|
93
|
+
});
|
|
94
|
+
// Load optional plugins if enabled via CLI flags
|
|
95
|
+
for (const pluginId of enabledPluginIds) {
|
|
96
|
+
await loadPlugin(pluginId);
|
|
97
|
+
}
|
|
98
|
+
// Report skipped tools due to missing secrets
|
|
99
|
+
reportSkippedTools(permissionSummary.warnings);
|
|
100
|
+
// Create enhanced interactive shell with persistent chat box
|
|
101
|
+
const shell = new EnhancedInteractiveShell({
|
|
102
|
+
profile,
|
|
103
|
+
profileLabel: profileConfig.label,
|
|
104
|
+
workingDir,
|
|
105
|
+
session,
|
|
106
|
+
baseSystemPrompt: enhancedSystemPrompt,
|
|
107
|
+
initialModel,
|
|
108
|
+
agentSelection: providerTools,
|
|
109
|
+
statusTracker,
|
|
110
|
+
uiAdapter,
|
|
111
|
+
workspaceOptions,
|
|
112
|
+
sessionRestore: { mode: 'none' },
|
|
113
|
+
enabledPlugins: enabledPluginIds,
|
|
114
|
+
});
|
|
115
|
+
const initialPrompt = promptArgs.join(' ').trim();
|
|
116
|
+
await shell.start(initialPrompt || undefined);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
120
|
+
display.showError(message);
|
|
121
|
+
exit(1);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Select profile with user interaction if needed
|
|
126
|
+
*/
|
|
127
|
+
async function selectProfile(profile, options) {
|
|
128
|
+
// Simplified profile selection - in practice this would be more complex
|
|
129
|
+
const availableProfiles = listAgentProfiles();
|
|
130
|
+
const matchedProfile = availableProfiles.find(p => p.name === profile);
|
|
131
|
+
if (!matchedProfile) {
|
|
132
|
+
throw new Error(`Profile "${profile}" not found. Available profiles: ${availableProfiles.map(p => p.name).join(', ')}`);
|
|
133
|
+
}
|
|
134
|
+
return matchedProfile;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Report skipped tools due to missing configuration
|
|
138
|
+
*/
|
|
139
|
+
function reportSkippedTools(entries) {
|
|
140
|
+
for (const warning of entries) {
|
|
141
|
+
const details = warning.reason === 'missing-secret' && warning.secretId
|
|
142
|
+
? `missing ${warning.secretId}`
|
|
143
|
+
: warning.reason;
|
|
144
|
+
const suffix = warning.secretId ? ' (use /secrets to configure it)' : '';
|
|
145
|
+
display.showWarning(`Skipped ${warning.label} — ${details}${suffix}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=enhancedShellApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhancedShellApp.js","sourceRoot":"","sources":["../../src/shell/enhancedShellApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,11 @@ export interface DiffSegment {
|
|
|
4
4
|
content: string;
|
|
5
5
|
}
|
|
6
6
|
export declare function buildDiffSegments(previous: string, next: string): DiffSegment[];
|
|
7
|
+
/**
|
|
8
|
+
* Fast in-memory diff algorithm - no git spawning, no temp files.
|
|
9
|
+
* Uses efficient line-by-line comparison with context tracking.
|
|
10
|
+
* ~10x faster than git-based diff for typical edits.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildDiffSegmentsFast(previous: string, next: string): DiffSegment[];
|
|
7
13
|
export declare function formatDiffLines(diff: DiffSegment[]): string[];
|
|
8
14
|
//# sourceMappingURL=diffUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffUtils.d.ts","sourceRoot":"","sources":["../../src/tools/diffUtils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAc/E;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAgB7D"}
|
|
1
|
+
{"version":3,"file":"diffUtils.d.ts","sourceRoot":"","sources":["../../src/tools/diffUtils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAc/E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAoHnF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAgB7D"}
|
package/dist/tools/diffUtils.js
CHANGED
|
@@ -14,6 +14,116 @@ export function buildDiffSegments(previous, next) {
|
|
|
14
14
|
}
|
|
15
15
|
return buildNaiveDiff(before, after);
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Fast in-memory diff algorithm - no git spawning, no temp files.
|
|
19
|
+
* Uses efficient line-by-line comparison with context tracking.
|
|
20
|
+
* ~10x faster than git-based diff for typical edits.
|
|
21
|
+
*/
|
|
22
|
+
export function buildDiffSegmentsFast(previous, next) {
|
|
23
|
+
const before = normalizeNewlines(previous);
|
|
24
|
+
const after = normalizeNewlines(next);
|
|
25
|
+
if (before === after) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
const oldLines = splitLines(before);
|
|
29
|
+
const newLines = splitLines(after);
|
|
30
|
+
const segments = [];
|
|
31
|
+
// Limit output for very large files
|
|
32
|
+
const MAX_DIFF_SEGMENTS = 200;
|
|
33
|
+
const MAX_LINE_LENGTH = 500;
|
|
34
|
+
// Use simple LCS-based approach optimized for typical code edits
|
|
35
|
+
// Most edits are small, so we use a fast path for detecting changed regions
|
|
36
|
+
let i = 0;
|
|
37
|
+
let j = 0;
|
|
38
|
+
while (i < oldLines.length || j < newLines.length) {
|
|
39
|
+
if (segments.length >= MAX_DIFF_SEGMENTS) {
|
|
40
|
+
const remaining = Math.max(oldLines.length - i, newLines.length - j);
|
|
41
|
+
if (remaining > 0) {
|
|
42
|
+
segments.push({
|
|
43
|
+
type: 'added',
|
|
44
|
+
lineNumber: 0,
|
|
45
|
+
content: `[Diff truncated - ${remaining} more lines not shown]`
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
const oldLine = oldLines[i];
|
|
51
|
+
const newLine = newLines[j];
|
|
52
|
+
// Both lines exist and match - skip
|
|
53
|
+
if (oldLine === newLine) {
|
|
54
|
+
i++;
|
|
55
|
+
j++;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
// Look ahead to find matching lines (handles insertions/deletions)
|
|
59
|
+
const lookAhead = 10;
|
|
60
|
+
let foundOld = -1;
|
|
61
|
+
let foundNew = -1;
|
|
62
|
+
// Check if current old line appears later in new (deletion followed by same content)
|
|
63
|
+
for (let k = 1; k <= lookAhead && j + k < newLines.length; k++) {
|
|
64
|
+
if (oldLine === newLines[j + k]) {
|
|
65
|
+
foundNew = j + k;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Check if current new line appears later in old (insertion)
|
|
70
|
+
for (let k = 1; k <= lookAhead && i + k < oldLines.length; k++) {
|
|
71
|
+
if (newLine === oldLines[i + k]) {
|
|
72
|
+
foundOld = i + k;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Insertion: new lines were added
|
|
77
|
+
if (foundOld > 0 && (foundNew < 0 || foundNew > foundOld)) {
|
|
78
|
+
while (j < newLines.length && newLines[j] !== oldLines[i]) {
|
|
79
|
+
if (segments.length >= MAX_DIFF_SEGMENTS)
|
|
80
|
+
break;
|
|
81
|
+
const content = newLines[j] || '';
|
|
82
|
+
segments.push({
|
|
83
|
+
type: 'added',
|
|
84
|
+
lineNumber: j + 1,
|
|
85
|
+
content: content.length > MAX_LINE_LENGTH ? content.slice(0, MAX_LINE_LENGTH) + '...' : content
|
|
86
|
+
});
|
|
87
|
+
j++;
|
|
88
|
+
}
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
// Deletion: old lines were removed
|
|
92
|
+
if (foundNew > 0) {
|
|
93
|
+
while (i < oldLines.length && oldLines[i] !== newLines[j]) {
|
|
94
|
+
if (segments.length >= MAX_DIFF_SEGMENTS)
|
|
95
|
+
break;
|
|
96
|
+
const content = oldLines[i] || '';
|
|
97
|
+
segments.push({
|
|
98
|
+
type: 'removed',
|
|
99
|
+
lineNumber: i + 1,
|
|
100
|
+
content: content.length > MAX_LINE_LENGTH ? content.slice(0, MAX_LINE_LENGTH) + '...' : content
|
|
101
|
+
});
|
|
102
|
+
i++;
|
|
103
|
+
}
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
// Modification: line changed
|
|
107
|
+
if (typeof oldLine === 'string') {
|
|
108
|
+
const content = oldLine.length > MAX_LINE_LENGTH ? oldLine.slice(0, MAX_LINE_LENGTH) + '...' : oldLine;
|
|
109
|
+
segments.push({ type: 'removed', lineNumber: i + 1, content });
|
|
110
|
+
i++;
|
|
111
|
+
}
|
|
112
|
+
if (typeof newLine === 'string') {
|
|
113
|
+
const content = newLine.length > MAX_LINE_LENGTH ? newLine.slice(0, MAX_LINE_LENGTH) + '...' : newLine;
|
|
114
|
+
segments.push({ type: 'added', lineNumber: j + 1, content });
|
|
115
|
+
j++;
|
|
116
|
+
}
|
|
117
|
+
// Handle end of one array
|
|
118
|
+
if (i >= oldLines.length && j < newLines.length) {
|
|
119
|
+
j++;
|
|
120
|
+
}
|
|
121
|
+
else if (j >= newLines.length && i < oldLines.length) {
|
|
122
|
+
i++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
return segments;
|
|
126
|
+
}
|
|
17
127
|
export function formatDiffLines(diff) {
|
|
18
128
|
if (!diff.length) {
|
|
19
129
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffUtils.js","sourceRoot":"","sources":["../../src/tools/diffUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diffUtils.js","sourceRoot":"","sources":["../../src/tools/diffUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editTools.d.ts","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"editTools.d.ts","sourceRoot":"","sources":["../../src/tools/editTools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,EAAE,CAiIpE"}
|