@syntero/orca-cli 1.0.0 → 1.1.1
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/assistant.d.ts +17 -3
- package/dist/assistant.d.ts.map +1 -1
- package/dist/assistant.js +217 -22
- package/dist/assistant.js.map +1 -1
- package/dist/auth.d.ts +97 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +437 -0
- package/dist/auth.js.map +1 -0
- package/dist/autocomplete.d.ts +24 -0
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +43 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/components/ChatApp.d.ts +32 -0
- package/dist/components/ChatApp.d.ts.map +1 -0
- package/dist/components/ChatApp.js +470 -0
- package/dist/components/ChatApp.js.map +1 -0
- package/dist/components/CommandPalette.d.ts +15 -0
- package/dist/components/CommandPalette.d.ts.map +1 -0
- package/dist/components/CommandPalette.js +22 -0
- package/dist/components/CommandPalette.js.map +1 -0
- package/dist/components/ConfigWizard.d.ts +25 -0
- package/dist/components/ConfigWizard.d.ts.map +1 -0
- package/dist/components/ConfigWizard.js +401 -0
- package/dist/components/ConfigWizard.js.map +1 -0
- package/dist/components/InputFooter.d.ts +33 -0
- package/dist/components/InputFooter.d.ts.map +1 -0
- package/dist/components/InputFooter.js +618 -0
- package/dist/components/InputFooter.js.map +1 -0
- package/dist/components/InputModal.d.ts +25 -0
- package/dist/components/InputModal.d.ts.map +1 -0
- package/dist/components/InputModal.js +529 -0
- package/dist/components/InputModal.js.map +1 -0
- package/dist/components/ModelMenu.d.ts +24 -0
- package/dist/components/ModelMenu.d.ts.map +1 -0
- package/dist/components/ModelMenu.js +175 -0
- package/dist/components/ModelMenu.js.map +1 -0
- package/dist/components/ProviderMenu.d.ts +20 -0
- package/dist/components/ProviderMenu.d.ts.map +1 -0
- package/dist/components/ProviderMenu.js +31 -0
- package/dist/components/ProviderMenu.js.map +1 -0
- package/dist/components/SyncMenu.d.ts +23 -0
- package/dist/components/SyncMenu.d.ts.map +1 -0
- package/dist/components/SyncMenu.js +135 -0
- package/dist/components/SyncMenu.js.map +1 -0
- package/dist/components/TokenInput.d.ts +15 -0
- package/dist/components/TokenInput.d.ts.map +1 -0
- package/dist/components/TokenInput.js +103 -0
- package/dist/components/TokenInput.js.map +1 -0
- package/dist/index.js +323 -173
- package/dist/index.js.map +1 -1
- package/dist/ink-input.d.ts +14 -0
- package/dist/ink-input.d.ts.map +1 -0
- package/dist/ink-input.js +92 -0
- package/dist/ink-input.js.map +1 -0
- package/dist/models.d.ts +115 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +221 -0
- package/dist/models.js.map +1 -0
- package/dist/providers.d.ts +19 -4
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +80 -112
- package/dist/providers.js.map +1 -1
- package/dist/settings.d.ts +15 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +56 -21
- package/dist/settings.js.map +1 -1
- package/dist/sync/docker.d.ts +68 -0
- package/dist/sync/docker.d.ts.map +1 -0
- package/dist/sync/docker.js +234 -0
- package/dist/sync/docker.js.map +1 -0
- package/dist/sync/download.d.ts +87 -0
- package/dist/sync/download.d.ts.map +1 -0
- package/dist/sync/download.js +291 -0
- package/dist/sync/download.js.map +1 -0
- package/dist/sync/hash.d.ts +60 -0
- package/dist/sync/hash.d.ts.map +1 -0
- package/dist/sync/hash.js +92 -0
- package/dist/sync/hash.js.map +1 -0
- package/dist/sync/index.d.ts +15 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +21 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/manifest.d.ts +132 -0
- package/dist/sync/manifest.d.ts.map +1 -0
- package/dist/sync/manifest.js +260 -0
- package/dist/sync/manifest.js.map +1 -0
- package/dist/sync/progress.d.ts +164 -0
- package/dist/sync/progress.d.ts.map +1 -0
- package/dist/sync/progress.js +233 -0
- package/dist/sync/progress.js.map +1 -0
- package/dist/sync/services.d.ts +70 -0
- package/dist/sync/services.d.ts.map +1 -0
- package/dist/sync/services.js +134 -0
- package/dist/sync/services.js.map +1 -0
- package/dist/sync/sync-engine.d.ts +69 -0
- package/dist/sync/sync-engine.d.ts.map +1 -0
- package/dist/sync/sync-engine.js +533 -0
- package/dist/sync/sync-engine.js.map +1 -0
- package/dist/tokens.d.ts +70 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +198 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tools.d.ts +60 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +34 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/sync.d.ts +284 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +5 -0
- package/dist/types/sync.js.map +1 -0
- package/package.json +10 -2
package/dist/index.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { render } from 'ink';
|
|
3
4
|
import { createRequire } from 'module';
|
|
5
|
+
import { execSync, spawn } from 'child_process';
|
|
4
6
|
import updateNotifier from 'update-notifier';
|
|
5
|
-
import {
|
|
6
|
-
import { createLLMClient, configureProvider,
|
|
7
|
+
import { loadSettings } from './settings.js';
|
|
8
|
+
import { createLLMClient, configureProvider, createClientFromCloudConfig, getCloudModel, } from './providers.js';
|
|
7
9
|
import { runAssistant } from './assistant.js';
|
|
8
|
-
import { Colors, color
|
|
10
|
+
import { Colors, color } from './utils.js';
|
|
11
|
+
import { isAuthenticated, loadCredentials, getSelectedCloudProvider, } from './auth.js';
|
|
12
|
+
import { ChatApp } from './components/ChatApp.js';
|
|
13
|
+
// Debug logging to file
|
|
14
|
+
import * as fs from 'fs';
|
|
15
|
+
import * as path from 'path';
|
|
16
|
+
const DEBUG_LOG = path.join(process.cwd(), 'debug.log');
|
|
17
|
+
// Clear log file on startup
|
|
18
|
+
fs.writeFileSync(DEBUG_LOG, `=== Debug session started ${new Date().toISOString()} ===\n`);
|
|
19
|
+
function debugLog(msg) {
|
|
20
|
+
fs.appendFileSync(DEBUG_LOG, `${new Date().toISOString()} ${msg}\n`);
|
|
21
|
+
}
|
|
22
|
+
// Global error handlers for debugging
|
|
23
|
+
process.on('uncaughtException', (err) => {
|
|
24
|
+
debugLog(`[UNCAUGHT EXCEPTION] ${err.message}\n${err.stack}`);
|
|
25
|
+
process.exit(1);
|
|
26
|
+
});
|
|
27
|
+
process.on('unhandledRejection', (reason) => {
|
|
28
|
+
debugLog(`[UNHANDLED REJECTION] ${reason}`);
|
|
29
|
+
});
|
|
9
30
|
// Check for updates and auto-install if available
|
|
10
31
|
const require = createRequire(import.meta.url);
|
|
11
32
|
const pkg = require('../package.json');
|
|
@@ -23,199 +44,338 @@ if (notifier.update && notifier.update.latest !== pkg.version) {
|
|
|
23
44
|
}
|
|
24
45
|
}
|
|
25
46
|
/**
|
|
26
|
-
*
|
|
47
|
+
* Get the deployment directory (where docker-compose.yml is located).
|
|
27
48
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (cmd === '/login') {
|
|
33
|
-
await configureProvider(settings);
|
|
34
|
-
return { handled: true, message: color('Configuration updated. Reconnecting...', Colors.green) };
|
|
35
|
-
}
|
|
36
|
-
if (cmd === '/settings') {
|
|
37
|
-
return { handled: true, message: `\n${settings.getMaskedDisplay()}\n` };
|
|
49
|
+
function getDeploymentDir() {
|
|
50
|
+
// Check environment variable first
|
|
51
|
+
if (process.env.DEPLOYMENT_DIR) {
|
|
52
|
+
return process.env.DEPLOYMENT_DIR;
|
|
38
53
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
// Default to current working directory
|
|
55
|
+
return process.cwd();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Run a command with streaming output, showing only the last N lines.
|
|
59
|
+
*/
|
|
60
|
+
function runCommand(command, cwd, maxLines = 5) {
|
|
61
|
+
return new Promise((resolve) => {
|
|
62
|
+
const child = spawn('sh', ['-c', command], {
|
|
63
|
+
cwd,
|
|
64
|
+
stdio: ['ignore', 'pipe', 'pipe'],
|
|
65
|
+
});
|
|
66
|
+
let output = '';
|
|
67
|
+
let displayedLines = [];
|
|
68
|
+
let linesOnScreen = 0;
|
|
69
|
+
const updateDisplay = (text) => {
|
|
70
|
+
output += text;
|
|
71
|
+
// Split into lines and add to buffer
|
|
72
|
+
const newLines = text.split('\n');
|
|
73
|
+
for (const line of newLines) {
|
|
74
|
+
if (line.trim()) {
|
|
75
|
+
displayedLines.push(line.slice(0, 80)); // Truncate long lines
|
|
76
|
+
if (displayedLines.length > maxLines) {
|
|
77
|
+
displayedLines.shift();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
47
80
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
81
|
+
// Clear previous lines
|
|
82
|
+
if (linesOnScreen > 0) {
|
|
83
|
+
process.stdout.write(`\x1b[${linesOnScreen}A`); // Move up
|
|
84
|
+
for (let i = 0; i < linesOnScreen; i++) {
|
|
85
|
+
process.stdout.write('\x1b[2K\n'); // Clear each line
|
|
86
|
+
}
|
|
87
|
+
process.stdout.write(`\x1b[${linesOnScreen}A`); // Move back up
|
|
53
88
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
};
|
|
89
|
+
// Write current lines
|
|
90
|
+
linesOnScreen = displayedLines.length;
|
|
91
|
+
for (const line of displayedLines) {
|
|
92
|
+
process.stdout.write(color(line, Colors.dim) + '\n');
|
|
59
93
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
if (cmd === '/model') {
|
|
73
|
-
try {
|
|
74
|
-
if (settings.provider === Provider.ANTHROPIC) {
|
|
75
|
-
settings.anthropic.model = await selectModel(settings.provider, settings.anthropic.model);
|
|
94
|
+
};
|
|
95
|
+
child.stdout?.on('data', (data) => updateDisplay(data.toString()));
|
|
96
|
+
child.stderr?.on('data', (data) => updateDisplay(data.toString()));
|
|
97
|
+
child.on('close', (code) => {
|
|
98
|
+
// Clear the rolling display and show completion
|
|
99
|
+
if (linesOnScreen > 0) {
|
|
100
|
+
process.stdout.write(`\x1b[${linesOnScreen}A`);
|
|
101
|
+
for (let i = 0; i < linesOnScreen; i++) {
|
|
102
|
+
process.stdout.write('\x1b[2K\n');
|
|
103
|
+
}
|
|
104
|
+
process.stdout.write(`\x1b[${linesOnScreen}A`);
|
|
76
105
|
}
|
|
77
|
-
|
|
78
|
-
|
|
106
|
+
resolve({ success: code === 0, output });
|
|
107
|
+
});
|
|
108
|
+
child.on('error', (err) => {
|
|
109
|
+
output += err.message;
|
|
110
|
+
resolve({ success: false, output });
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Wait for all orca containers to be healthy.
|
|
116
|
+
*/
|
|
117
|
+
async function waitForHealthy(cwd, timeoutMs = 60000) {
|
|
118
|
+
const startTime = Date.now();
|
|
119
|
+
const pollInterval = 2000;
|
|
120
|
+
while (Date.now() - startTime < timeoutMs) {
|
|
121
|
+
try {
|
|
122
|
+
const output = execSync('docker ps --filter "name=orca-" --format "{{.Names}}: {{.Status}}"', {
|
|
123
|
+
cwd,
|
|
124
|
+
encoding: 'utf-8',
|
|
125
|
+
});
|
|
126
|
+
const lines = output.trim().split('\n').filter(Boolean);
|
|
127
|
+
if (lines.length === 0) {
|
|
128
|
+
// No containers found yet, keep waiting
|
|
129
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
130
|
+
continue;
|
|
79
131
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
132
|
+
// Check if all containers are healthy or don't have health checks
|
|
133
|
+
const allHealthy = lines.every((line) => {
|
|
134
|
+
const status = line.toLowerCase();
|
|
135
|
+
// Container is ready if it's healthy or if it's running without a health check
|
|
136
|
+
return status.includes('healthy') || (status.includes('up') && !status.includes('health'));
|
|
137
|
+
});
|
|
138
|
+
if (allHealthy) {
|
|
139
|
+
console.log(color('All services are healthy.', Colors.green));
|
|
140
|
+
return true;
|
|
85
141
|
}
|
|
86
|
-
|
|
87
|
-
|
|
142
|
+
// Show current status
|
|
143
|
+
process.stdout.write(color('.', Colors.dim));
|
|
88
144
|
}
|
|
89
|
-
catch
|
|
90
|
-
|
|
91
|
-
return { handled: true, message: color('Cancelled.', Colors.yellow) };
|
|
92
|
-
}
|
|
93
|
-
throw e;
|
|
145
|
+
catch {
|
|
146
|
+
// Command failed, keep trying
|
|
94
147
|
}
|
|
148
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
95
149
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Available commands:
|
|
99
|
-
/login Configure LLM credentials
|
|
100
|
-
/settings Show current settings
|
|
101
|
-
/models List available models
|
|
102
|
-
/model Change model for current provider
|
|
103
|
-
/provider <name> Switch provider (anthropic, openai, azure)
|
|
104
|
-
/clear Clear conversation
|
|
105
|
-
/help Show this help
|
|
106
|
-
quit, exit Exit
|
|
107
|
-
`;
|
|
108
|
-
return { handled: true, message: helpText };
|
|
109
|
-
}
|
|
110
|
-
if (cmd === '/clear') {
|
|
111
|
-
return { handled: true, message: '__CLEAR__' };
|
|
112
|
-
}
|
|
113
|
-
return { handled: false };
|
|
150
|
+
console.log(color('\nTimeout waiting for services to be healthy.', Colors.yellow));
|
|
151
|
+
return false;
|
|
114
152
|
}
|
|
115
153
|
/**
|
|
116
|
-
* Run
|
|
154
|
+
* Run the update command sequence.
|
|
117
155
|
*/
|
|
118
|
-
async function
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
console.log('\nGoodbye!');
|
|
132
|
-
rl.close();
|
|
133
|
-
process.exit(0);
|
|
134
|
-
};
|
|
135
|
-
process.on('SIGINT', handleSigint);
|
|
136
|
-
const promptUser = () => {
|
|
137
|
-
return new Promise((resolve) => {
|
|
138
|
-
rl.question(color('\nYou: ', Colors.green), (answer) => {
|
|
139
|
-
resolve(answer.trim());
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
};
|
|
143
|
-
while (true) {
|
|
144
|
-
let userInput;
|
|
156
|
+
async function runUpdateCommand(deployPath) {
|
|
157
|
+
debugLog('runUpdateCommand started');
|
|
158
|
+
try {
|
|
159
|
+
// Note: No confirmation prompt in interactive mode (Ink captures stdin)
|
|
160
|
+
// User explicitly typed /update so we proceed directly
|
|
161
|
+
console.log(color('\nStarting update...', Colors.cyan));
|
|
162
|
+
// Handle if user passed the file path instead of directory
|
|
163
|
+
let deploymentDir = deployPath || getDeploymentDir();
|
|
164
|
+
if (deploymentDir.endsWith('docker-compose.yml') || deploymentDir.endsWith('docker-compose.yaml')) {
|
|
165
|
+
deploymentDir = path.dirname(deploymentDir);
|
|
166
|
+
}
|
|
167
|
+
// Verify deployment directory has docker-compose.yml
|
|
168
|
+
const composePath = `${deploymentDir}/docker-compose.yml`;
|
|
145
169
|
try {
|
|
146
|
-
|
|
170
|
+
execSync(`test -f "${composePath}"`, { stdio: 'ignore' });
|
|
147
171
|
}
|
|
148
172
|
catch {
|
|
149
|
-
console.log(
|
|
150
|
-
|
|
173
|
+
console.log(color(`\nError: docker-compose.yml not found in ${deploymentDir}`, Colors.red));
|
|
174
|
+
console.log(color('Usage: /update <path-to-deployment-directory>', Colors.dim));
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
console.log(color(`\nUpdating in: ${deploymentDir}\n`, Colors.dim));
|
|
178
|
+
// Step 1: Remove sandbox keeper (if exists)
|
|
179
|
+
console.log(color('Step 1/4: Removing sandbox keeper...', Colors.cyan));
|
|
180
|
+
try {
|
|
181
|
+
execSync('docker rm -f orca-sandbox-keeper 2>/dev/null', { cwd: deploymentDir, stdio: 'ignore' });
|
|
182
|
+
console.log(color('Sandbox keeper removed (or was not running).', Colors.dim));
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
console.log(color('Sandbox keeper was not running.', Colors.dim));
|
|
186
|
+
}
|
|
187
|
+
// Step 2: Pull and restart services
|
|
188
|
+
console.log(color('\nStep 2/4: Pulling latest images and restarting services...', Colors.cyan));
|
|
189
|
+
const pullResult = await runCommand('docker compose up -d --pull always --remove-orphans', deploymentDir);
|
|
190
|
+
if (!pullResult.success) {
|
|
191
|
+
console.log(color('\nFailed to pull/restart services. Check errors above.', Colors.red));
|
|
192
|
+
return;
|
|
151
193
|
}
|
|
152
|
-
|
|
153
|
-
|
|
194
|
+
// Step 3: Wait for services to be healthy
|
|
195
|
+
console.log(color('\nStep 3/4: Waiting for services to be healthy', Colors.cyan));
|
|
196
|
+
const healthy = await waitForHealthy(deploymentDir, 60000);
|
|
197
|
+
if (!healthy) {
|
|
198
|
+
console.log(color('Services may not be fully healthy. Check with: docker ps', Colors.yellow));
|
|
154
199
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
200
|
+
// Step 4: Cleanup old images
|
|
201
|
+
console.log(color('\nStep 4/4: Cleaning up old images...', Colors.cyan));
|
|
202
|
+
const pruneResult = await runCommand('docker system prune -af', deploymentDir);
|
|
203
|
+
if (!pruneResult.success) {
|
|
204
|
+
console.log(color('\nWarning: Cleanup may have had issues.', Colors.yellow));
|
|
158
205
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
206
|
+
console.log(color('\nUpdate complete!', Colors.green));
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
console.log(color(`\nUpdate failed: ${err instanceof Error ? err.message : String(err)}`, Colors.red));
|
|
210
|
+
if (err instanceof Error && err.stack) {
|
|
211
|
+
console.log(color(err.stack, Colors.dim));
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Create the appropriate LLM client based on cloud auth or local settings.
|
|
217
|
+
* When cloud authenticated with LLM config, creates a DIRECT client to Anthropic/OpenAI/Azure.
|
|
218
|
+
*
|
|
219
|
+
* IMPORTANT: This function does NOT mutate the settings object. The settings object
|
|
220
|
+
* should already have the correct provider/model set. This function only creates the client.
|
|
221
|
+
*/
|
|
222
|
+
function createClient(settings) {
|
|
223
|
+
debugLog(`[createClient] called with provider=${settings.provider}, isAuthenticated=${isAuthenticated()}`);
|
|
224
|
+
// Check for cloud authentication first
|
|
225
|
+
if (isAuthenticated()) {
|
|
226
|
+
const creds = loadCredentials();
|
|
227
|
+
if (creds?.llm) {
|
|
228
|
+
// Get the selected provider from cloud credentials (set by setSelectedCloudProvider)
|
|
229
|
+
const selectedProvider = getSelectedCloudProvider();
|
|
230
|
+
debugLog(`[createClient] Cloud auth active, selectedProvider from creds: ${selectedProvider}`);
|
|
231
|
+
if (!selectedProvider) {
|
|
232
|
+
debugLog(`[createClient] No cloud provider selected - falling back to local`);
|
|
233
|
+
console.log(color('Cloud authenticated but no provider selected - using local API keys', Colors.yellow));
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
const cloudProvider = selectedProvider.toLowerCase();
|
|
237
|
+
// Get the model from settings (which was already set by handleModelSelect)
|
|
238
|
+
// Don't override - just read what's already configured
|
|
239
|
+
let model;
|
|
240
|
+
if (cloudProvider === 'anthropic') {
|
|
241
|
+
model = settings.anthropic.model;
|
|
166
242
|
}
|
|
167
|
-
else if (
|
|
168
|
-
|
|
243
|
+
else if (cloudProvider === 'openai') {
|
|
244
|
+
model = settings.openai.model;
|
|
169
245
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
client = createLLMClient(settings);
|
|
246
|
+
else if (cloudProvider === 'azure') {
|
|
247
|
+
model = settings.azure.deployment;
|
|
173
248
|
}
|
|
174
|
-
|
|
249
|
+
else {
|
|
250
|
+
model = getCloudModel(cloudProvider, creds.llm);
|
|
251
|
+
}
|
|
252
|
+
debugLog(`[createClient] Using cloud provider=${cloudProvider}, model=${model}`);
|
|
253
|
+
debugLog(`[createClient] Settings state: provider=${settings.provider}, anthropic.model=${settings.anthropic.model}, openai.model=${settings.openai.model}`);
|
|
254
|
+
return {
|
|
255
|
+
client: createClientFromCloudConfig(cloudProvider, creds.llm),
|
|
256
|
+
isCloud: true,
|
|
257
|
+
cloudProvider,
|
|
258
|
+
};
|
|
175
259
|
}
|
|
176
260
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const generator = runAssistant(client, settings, userInput, messages);
|
|
180
|
-
let result = await generator.next();
|
|
181
|
-
while (!result.done) {
|
|
182
|
-
process.stdout.write(result.value);
|
|
183
|
-
result = await generator.next();
|
|
184
|
-
}
|
|
185
|
-
// Update messages with the returned value
|
|
186
|
-
if (result.value) {
|
|
187
|
-
messages = result.value;
|
|
188
|
-
}
|
|
189
|
-
console.log();
|
|
261
|
+
else {
|
|
262
|
+
debugLog(`[createClient] Cloud auth but no LLM config`);
|
|
190
263
|
}
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
264
|
+
// If cloud authenticated but no LLM config, fall back to local settings
|
|
265
|
+
console.log(color('Cloud authenticated but no LLM config - using local API keys', Colors.yellow));
|
|
266
|
+
}
|
|
267
|
+
// Fall back to local API keys
|
|
268
|
+
debugLog(`[createClient] Using local provider=${settings.provider}`);
|
|
269
|
+
return { client: createLLMClient(settings), isCloud: false };
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Run in interactive conversation mode using the persistent ChatApp.
|
|
273
|
+
*/
|
|
274
|
+
async function interactiveMode(settings) {
|
|
275
|
+
console.log(color('\nOrca Deployment Assistant', Colors.bold));
|
|
276
|
+
console.log(color('='.repeat(40), Colors.dim));
|
|
277
|
+
// Show authentication status
|
|
278
|
+
if (isAuthenticated()) {
|
|
279
|
+
const creds = loadCredentials();
|
|
280
|
+
const selectedProvider = getSelectedCloudProvider();
|
|
281
|
+
if (creds) {
|
|
282
|
+
console.log(`Cloud: ${color(creds.user.email, Colors.cyan)} (${creds.org_id})`);
|
|
283
|
+
if (selectedProvider) {
|
|
284
|
+
console.log(`Provider: ${color(selectedProvider, Colors.cyan)}`);
|
|
195
285
|
}
|
|
196
286
|
}
|
|
197
287
|
}
|
|
198
|
-
|
|
199
|
-
|
|
288
|
+
else {
|
|
289
|
+
console.log(`Provider: ${color(settings.provider, Colors.cyan)}`);
|
|
290
|
+
}
|
|
291
|
+
console.log('Type /help for commands, /token for cloud authentication.\n');
|
|
292
|
+
// Render the persistent ChatApp
|
|
293
|
+
const instance = render(React.createElement(ChatApp, {
|
|
294
|
+
settings,
|
|
295
|
+
createClient,
|
|
296
|
+
onUpdateCommand: runUpdateCommand,
|
|
297
|
+
}), {
|
|
298
|
+
exitOnCtrlC: false, // We handle Ctrl+C in the component
|
|
299
|
+
});
|
|
300
|
+
// Wait for the app to exit
|
|
301
|
+
await instance.waitUntilExit();
|
|
302
|
+
// Restore terminal state
|
|
303
|
+
if (process.stdin.isTTY) {
|
|
304
|
+
process.stdin.setRawMode(false);
|
|
305
|
+
}
|
|
306
|
+
console.log('\nGoodbye!');
|
|
200
307
|
}
|
|
201
308
|
/**
|
|
202
309
|
* Run a single query and exit.
|
|
203
310
|
*/
|
|
204
311
|
async function singleQueryMode(settings, query) {
|
|
205
312
|
console.log(color('Orca Deployment Assistant', Colors.bold));
|
|
206
|
-
|
|
313
|
+
// Show authentication status
|
|
314
|
+
if (isAuthenticated()) {
|
|
315
|
+
const creds = loadCredentials();
|
|
316
|
+
if (creds) {
|
|
317
|
+
console.log(color(`Cloud: ${creds.user.email} (${creds.org_id})`, Colors.dim));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
console.log(color(`Provider: ${settings.provider}`, Colors.dim));
|
|
322
|
+
}
|
|
207
323
|
console.log(color(`\nQuery: ${query}\n`, Colors.dim));
|
|
208
|
-
const client =
|
|
324
|
+
const { client } = createClient(settings);
|
|
209
325
|
try {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
326
|
+
// Create AbortController for escape-to-interrupt
|
|
327
|
+
const abortController = new AbortController();
|
|
328
|
+
// Set up keypress listener for Escape key during streaming
|
|
329
|
+
const stdin = process.stdin;
|
|
330
|
+
const wasRaw = stdin.isRaw;
|
|
331
|
+
if (stdin.isTTY) {
|
|
332
|
+
stdin.setRawMode(true);
|
|
333
|
+
stdin.resume();
|
|
334
|
+
const handleKeypress = (data) => {
|
|
335
|
+
const key = data.toString();
|
|
336
|
+
// Check for standalone Escape key only (not escape sequences like arrow keys)
|
|
337
|
+
// Arrow keys send sequences like \x1b[A (up), \x1b[B (down), etc.
|
|
338
|
+
// We only want to interrupt on a standalone Escape press
|
|
339
|
+
if (key === '\x1b') {
|
|
340
|
+
abortController.abort();
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
stdin.on('data', handleKeypress);
|
|
344
|
+
// Cleanup function to restore terminal state
|
|
345
|
+
const cleanup = () => {
|
|
346
|
+
stdin.removeListener('data', handleKeypress);
|
|
347
|
+
stdin.setRawMode(wasRaw || false);
|
|
348
|
+
};
|
|
349
|
+
const generator = runAssistant(client, settings, query, [], abortController.signal);
|
|
350
|
+
let result = await generator.next();
|
|
351
|
+
while (!result.done) {
|
|
352
|
+
process.stdout.write(result.value);
|
|
353
|
+
result = await generator.next();
|
|
354
|
+
}
|
|
355
|
+
cleanup();
|
|
356
|
+
console.log();
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
// Non-TTY mode (piped input) - no escape handling
|
|
360
|
+
const generator = runAssistant(client, settings, query);
|
|
361
|
+
let result = await generator.next();
|
|
362
|
+
while (!result.done) {
|
|
363
|
+
process.stdout.write(result.value);
|
|
364
|
+
result = await generator.next();
|
|
365
|
+
}
|
|
366
|
+
console.log();
|
|
215
367
|
}
|
|
216
|
-
console.log();
|
|
217
368
|
}
|
|
218
369
|
catch (e) {
|
|
370
|
+
// Cleanup terminal state in case of error
|
|
371
|
+
if (process.stdin.isTTY && process.stdin.isRaw) {
|
|
372
|
+
process.stdin.setRawMode(false);
|
|
373
|
+
}
|
|
374
|
+
// Handle abort error gracefully (user interrupted with Escape)
|
|
375
|
+
if (e instanceof Error && (e.name === 'AbortError' || e.message.includes('aborted'))) {
|
|
376
|
+
console.log(color(' (interrupted)', Colors.dim));
|
|
377
|
+
process.exit(0);
|
|
378
|
+
}
|
|
219
379
|
console.log(color(`\nError: ${e instanceof Error ? e.message : String(e)}`, Colors.red));
|
|
220
380
|
process.exit(1);
|
|
221
381
|
}
|
|
@@ -229,7 +389,7 @@ function parseArgs() {
|
|
|
229
389
|
query: undefined,
|
|
230
390
|
interactive: false,
|
|
231
391
|
deploymentDir: undefined,
|
|
232
|
-
|
|
392
|
+
token: false,
|
|
233
393
|
};
|
|
234
394
|
for (let i = 0; i < args.length; i++) {
|
|
235
395
|
const arg = args[i];
|
|
@@ -239,8 +399,8 @@ function parseArgs() {
|
|
|
239
399
|
else if (arg === '-d' || arg === '--deployment-dir') {
|
|
240
400
|
result.deploymentDir = args[++i];
|
|
241
401
|
}
|
|
242
|
-
else if (arg === '--
|
|
243
|
-
result.
|
|
402
|
+
else if (arg === '--token') {
|
|
403
|
+
result.token = true;
|
|
244
404
|
}
|
|
245
405
|
else if (arg === '-h' || arg === '--help') {
|
|
246
406
|
console.log(`
|
|
@@ -252,7 +412,7 @@ Usage:
|
|
|
252
412
|
Options:
|
|
253
413
|
-i, --interactive Force interactive mode
|
|
254
414
|
-d, --deployment-dir Path to deployment directory
|
|
255
|
-
--
|
|
415
|
+
--token Configure LLM credentials
|
|
256
416
|
-h, --help Show this help
|
|
257
417
|
|
|
258
418
|
Examples:
|
|
@@ -279,21 +439,11 @@ async function main() {
|
|
|
279
439
|
}
|
|
280
440
|
// Load settings
|
|
281
441
|
const settings = loadSettings();
|
|
282
|
-
// Handle --
|
|
283
|
-
if (args.
|
|
442
|
+
// Handle --token flag
|
|
443
|
+
if (args.token) {
|
|
284
444
|
await configureProvider(settings);
|
|
285
445
|
return;
|
|
286
446
|
}
|
|
287
|
-
// Check if configured, prompt if not
|
|
288
|
-
if (!settings.isConfigured()) {
|
|
289
|
-
console.log(color('Welcome to Orca Deployment Assistant!', Colors.bold));
|
|
290
|
-
console.log(color("First, let's configure your LLM provider.\n", Colors.dim));
|
|
291
|
-
const configured = await configureProvider(settings);
|
|
292
|
-
if (!configured) {
|
|
293
|
-
process.exit(1);
|
|
294
|
-
}
|
|
295
|
-
console.log();
|
|
296
|
-
}
|
|
297
447
|
// Run appropriate mode
|
|
298
448
|
if (args.query && !args.interactive) {
|
|
299
449
|
await singleQueryMode(settings, args.query);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|