primellm 1.2.0 → 1.2.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/index.js +142 -74
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +160 -90
package/dist/index.js
CHANGED
|
@@ -26,16 +26,12 @@ const TOOLS = {
|
|
|
26
26
|
package: '@anthropic-ai/claude-code',
|
|
27
27
|
envKeyName: 'ANTHROPIC_API_KEY',
|
|
28
28
|
envBaseName: 'ANTHROPIC_BASE_URL',
|
|
29
|
-
configDir: '.claude',
|
|
30
|
-
configFile: 'settings.json',
|
|
31
29
|
},
|
|
32
30
|
'Codex': {
|
|
33
31
|
command: 'codex',
|
|
34
32
|
package: '@openai/codex',
|
|
35
33
|
envKeyName: 'OPENAI_API_KEY',
|
|
36
34
|
envBaseName: 'OPENAI_BASE_URL',
|
|
37
|
-
configDir: '.codex',
|
|
38
|
-
configFile: 'config.json',
|
|
39
35
|
},
|
|
40
36
|
};
|
|
41
37
|
// ============================================================================
|
|
@@ -69,6 +65,9 @@ function commandExists(cmd) {
|
|
|
69
65
|
return false;
|
|
70
66
|
}
|
|
71
67
|
}
|
|
68
|
+
function isWindows() {
|
|
69
|
+
return (0, os_1.platform)() === 'win32';
|
|
70
|
+
}
|
|
72
71
|
// ============================================================================
|
|
73
72
|
// ASCII ART & DISPLAY
|
|
74
73
|
// ============================================================================
|
|
@@ -95,59 +94,128 @@ function displaySystemInfo() {
|
|
|
95
94
|
console.log();
|
|
96
95
|
}
|
|
97
96
|
// ============================================================================
|
|
98
|
-
// CONFIGURATION
|
|
97
|
+
// SHELL PROFILE CONFIGURATION
|
|
99
98
|
// ============================================================================
|
|
100
|
-
function
|
|
99
|
+
function getShellProfilePath() {
|
|
101
100
|
const home = (0, os_1.homedir)();
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
if (isWindows()) {
|
|
102
|
+
// PowerShell profile path
|
|
103
|
+
return (0, path_1.join)(home, 'Documents', 'WindowsPowerShell', 'Microsoft.PowerShell_profile.ps1');
|
|
104
|
+
}
|
|
105
|
+
// Unix-like systems
|
|
106
|
+
const shell = process.env.SHELL || '';
|
|
107
|
+
if (shell.includes('zsh')) {
|
|
108
|
+
return (0, path_1.join)(home, '.zshrc');
|
|
109
|
+
}
|
|
110
|
+
else if (shell.includes('fish')) {
|
|
111
|
+
return (0, path_1.join)(home, '.config', 'fish', 'config.fish');
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// Default to bash
|
|
115
|
+
return (0, path_1.join)(home, '.bashrc');
|
|
116
|
+
}
|
|
106
117
|
}
|
|
107
|
-
function
|
|
108
|
-
const
|
|
118
|
+
function readShellProfile() {
|
|
119
|
+
const profilePath = getShellProfilePath();
|
|
109
120
|
try {
|
|
110
|
-
if ((0, fs_1.existsSync)(
|
|
111
|
-
|
|
112
|
-
return JSON.parse(content);
|
|
121
|
+
if ((0, fs_1.existsSync)(profilePath)) {
|
|
122
|
+
return (0, fs_1.readFileSync)(profilePath, 'utf8');
|
|
113
123
|
}
|
|
114
124
|
}
|
|
115
125
|
catch {
|
|
116
|
-
//
|
|
126
|
+
// Profile doesn't exist
|
|
117
127
|
}
|
|
118
|
-
return
|
|
128
|
+
return '';
|
|
119
129
|
}
|
|
120
|
-
function
|
|
121
|
-
const { dir, file } = getConfigPath(tool);
|
|
130
|
+
function checkExistingEnvVars(tool) {
|
|
122
131
|
const toolInfo = TOOLS[tool];
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
132
|
+
const profileContent = readShellProfile();
|
|
133
|
+
let apiKey = null;
|
|
134
|
+
let baseUrl = null;
|
|
135
|
+
// Check environment variables first
|
|
136
|
+
apiKey = process.env[toolInfo.envKeyName] || null;
|
|
137
|
+
baseUrl = process.env[toolInfo.envBaseName] || null;
|
|
138
|
+
// If not in env, try to parse from profile
|
|
139
|
+
if (!apiKey) {
|
|
140
|
+
const keyMatch = profileContent.match(new RegExp(`${toolInfo.envKeyName}[=\\s'"]+([^'"\n]+)`));
|
|
141
|
+
if (keyMatch)
|
|
142
|
+
apiKey = keyMatch[1].trim();
|
|
143
|
+
}
|
|
144
|
+
if (!baseUrl) {
|
|
145
|
+
const baseMatch = profileContent.match(new RegExp(`${toolInfo.envBaseName}[=\\s'"]+([^'"\n]+)`));
|
|
146
|
+
if (baseMatch)
|
|
147
|
+
baseUrl = baseMatch[1].trim();
|
|
126
148
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
149
|
+
return { apiKey, baseUrl };
|
|
150
|
+
}
|
|
151
|
+
function writeToShellProfile(tool, apiKey) {
|
|
152
|
+
const profilePath = getShellProfilePath();
|
|
153
|
+
const toolInfo = TOOLS[tool];
|
|
154
|
+
// Ensure directory exists (for PowerShell on Windows)
|
|
155
|
+
const profileDir = (0, path_1.join)(profilePath, '..');
|
|
156
|
+
if (!(0, fs_1.existsSync)(profileDir)) {
|
|
157
|
+
(0, fs_1.mkdirSync)(profileDir, { recursive: true });
|
|
158
|
+
}
|
|
159
|
+
// Read existing profile content
|
|
160
|
+
let profileContent = '';
|
|
161
|
+
try {
|
|
162
|
+
if ((0, fs_1.existsSync)(profilePath)) {
|
|
163
|
+
profileContent = (0, fs_1.readFileSync)(profilePath, 'utf8');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch {
|
|
167
|
+
// File doesn't exist, will create new
|
|
168
|
+
}
|
|
169
|
+
// Remove existing PrimeLLM configuration for this tool
|
|
170
|
+
const startMarker = `# PrimeLLM Configuration for ${tool}`;
|
|
171
|
+
const endMarker = `# End PrimeLLM Configuration for ${tool}`;
|
|
172
|
+
const startIndex = profileContent.indexOf(startMarker);
|
|
173
|
+
const endIndex = profileContent.indexOf(endMarker);
|
|
174
|
+
if (startIndex !== -1 && endIndex !== -1) {
|
|
175
|
+
profileContent = profileContent.substring(0, startIndex) +
|
|
176
|
+
profileContent.substring(endIndex + endMarker.length);
|
|
177
|
+
}
|
|
178
|
+
// Build new configuration block
|
|
179
|
+
let configBlock;
|
|
180
|
+
if (isWindows()) {
|
|
181
|
+
// PowerShell syntax
|
|
182
|
+
configBlock = `
|
|
183
|
+
${startMarker}
|
|
184
|
+
$env:${toolInfo.envKeyName} = '${apiKey}'
|
|
185
|
+
$env:${toolInfo.envBaseName} = '${PRIMELLM_BASE_URL}'
|
|
186
|
+
${endMarker}
|
|
187
|
+
`;
|
|
140
188
|
}
|
|
141
189
|
else {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
190
|
+
const shell = process.env.SHELL || '';
|
|
191
|
+
if (shell.includes('fish')) {
|
|
192
|
+
// Fish shell syntax
|
|
193
|
+
configBlock = `
|
|
194
|
+
${startMarker}
|
|
195
|
+
set -gx ${toolInfo.envKeyName} '${apiKey}'
|
|
196
|
+
set -gx ${toolInfo.envBaseName} '${PRIMELLM_BASE_URL}'
|
|
197
|
+
${endMarker}
|
|
198
|
+
`;
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
// Bash/Zsh syntax
|
|
202
|
+
configBlock = `
|
|
203
|
+
${startMarker}
|
|
204
|
+
export ${toolInfo.envKeyName}='${apiKey}'
|
|
205
|
+
export ${toolInfo.envBaseName}='${PRIMELLM_BASE_URL}'
|
|
206
|
+
${endMarker}
|
|
207
|
+
`;
|
|
208
|
+
}
|
|
149
209
|
}
|
|
150
|
-
|
|
210
|
+
// Append configuration
|
|
211
|
+
profileContent = profileContent.trimEnd() + '\n' + configBlock;
|
|
212
|
+
(0, fs_1.writeFileSync)(profilePath, profileContent);
|
|
213
|
+
return profilePath;
|
|
214
|
+
}
|
|
215
|
+
function setCurrentSessionEnv(tool, apiKey) {
|
|
216
|
+
const toolInfo = TOOLS[tool];
|
|
217
|
+
process.env[toolInfo.envKeyName] = apiKey;
|
|
218
|
+
process.env[toolInfo.envBaseName] = PRIMELLM_BASE_URL;
|
|
151
219
|
}
|
|
152
220
|
// ============================================================================
|
|
153
221
|
// TOOL INSTALLATION
|
|
@@ -228,33 +296,23 @@ async function main() {
|
|
|
228
296
|
}
|
|
229
297
|
console.log();
|
|
230
298
|
// ============ STEP 3: Check Existing Config ============
|
|
231
|
-
const existing =
|
|
232
|
-
if (existing) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
:
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
console.log(chalk_1.default.
|
|
245
|
-
|
|
246
|
-
const { confirmOverwrite } = await prompt({
|
|
247
|
-
type: 'confirm',
|
|
248
|
-
name: 'confirmOverwrite',
|
|
249
|
-
message: 'Do you want to overwrite this configuration?',
|
|
250
|
-
initial: true,
|
|
251
|
-
});
|
|
252
|
-
if (!confirmOverwrite) {
|
|
253
|
-
console.log(chalk_1.default.yellow('\n⚠ Configuration cancelled.'));
|
|
254
|
-
process.exit(0);
|
|
255
|
-
}
|
|
256
|
-
console.log();
|
|
299
|
+
const existing = checkExistingEnvVars(selectedTool);
|
|
300
|
+
if (existing.apiKey || existing.baseUrl) {
|
|
301
|
+
console.log(chalk_1.default.yellow('⚠ Existing configuration found:\n'));
|
|
302
|
+
console.log(chalk_1.default.gray(` API Key: ${existing.apiKey ? maskApiKey(existing.apiKey) : '(not set)'}`));
|
|
303
|
+
console.log(chalk_1.default.gray(` Base URL: ${existing.baseUrl || '(not set)'}`));
|
|
304
|
+
console.log();
|
|
305
|
+
const { confirmOverwrite } = await prompt({
|
|
306
|
+
type: 'confirm',
|
|
307
|
+
name: 'confirmOverwrite',
|
|
308
|
+
message: 'Do you want to overwrite this configuration?',
|
|
309
|
+
initial: true,
|
|
310
|
+
});
|
|
311
|
+
if (!confirmOverwrite) {
|
|
312
|
+
console.log(chalk_1.default.yellow('\n⚠ Configuration cancelled.'));
|
|
313
|
+
process.exit(0);
|
|
257
314
|
}
|
|
315
|
+
console.log();
|
|
258
316
|
}
|
|
259
317
|
// ============ STEP 4: API Key ============
|
|
260
318
|
console.log(chalk_1.default.white.bold('🔑 API Key Configuration\n'));
|
|
@@ -293,19 +351,29 @@ async function main() {
|
|
|
293
351
|
apiKey = inputApiKey;
|
|
294
352
|
console.log(chalk_1.default.green(`✓ API key validated: ${maskApiKey(apiKey)}`));
|
|
295
353
|
console.log();
|
|
296
|
-
// ============ STEP 5: Write Configuration ============
|
|
297
|
-
const writeSpinner = (0, ora_1.default)('Writing configuration...').start();
|
|
354
|
+
// ============ STEP 5: Write Configuration to Shell Profile ============
|
|
355
|
+
const writeSpinner = (0, ora_1.default)('Writing configuration to shell profile...').start();
|
|
298
356
|
try {
|
|
299
|
-
|
|
300
|
-
|
|
357
|
+
// Write to shell profile
|
|
358
|
+
const profilePath = writeToShellProfile(selectedTool, apiKey);
|
|
359
|
+
// Also set for current session
|
|
360
|
+
setCurrentSessionEnv(selectedTool, apiKey);
|
|
361
|
+
writeSpinner.succeed(chalk_1.default.green('Configuration saved to shell profile'));
|
|
301
362
|
console.log();
|
|
302
363
|
console.log(chalk_1.default.gray('━'.repeat(60)));
|
|
303
364
|
console.log();
|
|
304
365
|
console.log(chalk_1.default.green.bold('✅ PrimeLLM configured successfully!'));
|
|
305
366
|
console.log();
|
|
306
|
-
console.log(chalk_1.default.gray(`
|
|
367
|
+
console.log(chalk_1.default.gray(`Profile updated: ${profilePath}`));
|
|
307
368
|
console.log(chalk_1.default.gray(`Base URL: ${PRIMELLM_BASE_URL}`));
|
|
308
369
|
console.log();
|
|
370
|
+
// Show what was set
|
|
371
|
+
console.log(chalk_1.default.white('Environment variables configured:'));
|
|
372
|
+
console.log(chalk_1.default.cyan(` ${toolInfo.envKeyName}=${maskApiKey(apiKey)}`));
|
|
373
|
+
console.log(chalk_1.default.cyan(` ${toolInfo.envBaseName}=${PRIMELLM_BASE_URL}`));
|
|
374
|
+
console.log();
|
|
375
|
+
console.log(chalk_1.default.yellow.bold('⚠ IMPORTANT: Open a new terminal for changes to take effect!'));
|
|
376
|
+
console.log();
|
|
309
377
|
console.log(chalk_1.default.white('You can now use:'));
|
|
310
378
|
console.log(chalk_1.default.cyan(` ${toolInfo.command}`));
|
|
311
379
|
console.log(chalk_1.default.white('with PrimeLLM as the backend.'));
|
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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "primellm",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Configure Claude Code and Codex to use PrimeLLM as the backend",
|
|
5
5
|
"bin": {
|
|
6
6
|
"primellm": "./dist/index.js"
|
|
@@ -43,4 +43,4 @@
|
|
|
43
43
|
"@types/node": "^20.11.0",
|
|
44
44
|
"typescript": "^5.3.0"
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ import figlet from 'figlet';
|
|
|
5
5
|
import ora from 'ora';
|
|
6
6
|
import { execSync } from 'child_process';
|
|
7
7
|
import { platform, homedir } from 'os';
|
|
8
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'fs';
|
|
8
|
+
import { existsSync, readFileSync, writeFileSync, appendFileSync, mkdirSync } from 'fs';
|
|
9
9
|
import { join } from 'path';
|
|
10
10
|
import open from 'open';
|
|
11
11
|
import Enquirer from 'enquirer';
|
|
@@ -26,16 +26,12 @@ const TOOLS = {
|
|
|
26
26
|
package: '@anthropic-ai/claude-code',
|
|
27
27
|
envKeyName: 'ANTHROPIC_API_KEY',
|
|
28
28
|
envBaseName: 'ANTHROPIC_BASE_URL',
|
|
29
|
-
configDir: '.claude',
|
|
30
|
-
configFile: 'settings.json',
|
|
31
29
|
},
|
|
32
30
|
'Codex': {
|
|
33
31
|
command: 'codex',
|
|
34
32
|
package: '@openai/codex',
|
|
35
33
|
envKeyName: 'OPENAI_API_KEY',
|
|
36
34
|
envBaseName: 'OPENAI_BASE_URL',
|
|
37
|
-
configDir: '.codex',
|
|
38
|
-
configFile: 'config.json',
|
|
39
35
|
},
|
|
40
36
|
} as const;
|
|
41
37
|
|
|
@@ -76,6 +72,10 @@ function commandExists(cmd: string): boolean {
|
|
|
76
72
|
}
|
|
77
73
|
}
|
|
78
74
|
|
|
75
|
+
function isWindows(): boolean {
|
|
76
|
+
return platform() === 'win32';
|
|
77
|
+
}
|
|
78
|
+
|
|
79
79
|
// ============================================================================
|
|
80
80
|
// ASCII ART & DISPLAY
|
|
81
81
|
// ============================================================================
|
|
@@ -109,75 +109,143 @@ function displaySystemInfo(): void {
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
// ============================================================================
|
|
112
|
-
// CONFIGURATION
|
|
112
|
+
// SHELL PROFILE CONFIGURATION
|
|
113
113
|
// ============================================================================
|
|
114
114
|
|
|
115
|
-
function
|
|
115
|
+
function getShellProfilePath(): string {
|
|
116
116
|
const home = homedir();
|
|
117
|
-
const toolInfo = TOOLS[tool];
|
|
118
|
-
const dir = join(home, toolInfo.configDir);
|
|
119
|
-
const file = join(dir, toolInfo.configFile);
|
|
120
|
-
return { dir, file };
|
|
121
|
-
}
|
|
122
117
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
118
|
+
if (isWindows()) {
|
|
119
|
+
// PowerShell profile path
|
|
120
|
+
return join(home, 'Documents', 'WindowsPowerShell', 'Microsoft.PowerShell_profile.ps1');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// Unix-like systems
|
|
124
|
+
const shell = process.env.SHELL || '';
|
|
127
125
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
126
|
+
if (shell.includes('zsh')) {
|
|
127
|
+
return join(home, '.zshrc');
|
|
128
|
+
} else if (shell.includes('fish')) {
|
|
129
|
+
return join(home, '.config', 'fish', 'config.fish');
|
|
130
|
+
} else {
|
|
131
|
+
// Default to bash
|
|
132
|
+
return join(home, '.bashrc');
|
|
133
|
+
}
|
|
132
134
|
}
|
|
133
135
|
|
|
134
|
-
function
|
|
135
|
-
const
|
|
136
|
+
function readShellProfile(): string {
|
|
137
|
+
const profilePath = getShellProfilePath();
|
|
136
138
|
try {
|
|
137
|
-
if (existsSync(
|
|
138
|
-
|
|
139
|
-
return JSON.parse(content);
|
|
139
|
+
if (existsSync(profilePath)) {
|
|
140
|
+
return readFileSync(profilePath, 'utf8');
|
|
140
141
|
}
|
|
141
142
|
} catch {
|
|
142
|
-
//
|
|
143
|
+
// Profile doesn't exist
|
|
143
144
|
}
|
|
144
|
-
return
|
|
145
|
+
return '';
|
|
145
146
|
}
|
|
146
147
|
|
|
147
|
-
function
|
|
148
|
-
const { dir, file } = getConfigPath(tool);
|
|
148
|
+
function checkExistingEnvVars(tool: ToolName): { apiKey: string | null; baseUrl: string | null } {
|
|
149
149
|
const toolInfo = TOOLS[tool];
|
|
150
|
+
const profileContent = readShellProfile();
|
|
151
|
+
|
|
152
|
+
let apiKey: string | null = null;
|
|
153
|
+
let baseUrl: string | null = null;
|
|
154
|
+
|
|
155
|
+
// Check environment variables first
|
|
156
|
+
apiKey = process.env[toolInfo.envKeyName] || null;
|
|
157
|
+
baseUrl = process.env[toolInfo.envBaseName] || null;
|
|
158
|
+
|
|
159
|
+
// If not in env, try to parse from profile
|
|
160
|
+
if (!apiKey) {
|
|
161
|
+
const keyMatch = profileContent.match(new RegExp(`${toolInfo.envKeyName}[=\\s'"]+([^'"\n]+)`));
|
|
162
|
+
if (keyMatch) apiKey = keyMatch[1].trim();
|
|
163
|
+
}
|
|
150
164
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
165
|
+
if (!baseUrl) {
|
|
166
|
+
const baseMatch = profileContent.match(new RegExp(`${toolInfo.envBaseName}[=\\s'"]+([^'"\n]+)`));
|
|
167
|
+
if (baseMatch) baseUrl = baseMatch[1].trim();
|
|
154
168
|
}
|
|
155
169
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
+
return { apiKey, baseUrl };
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function writeToShellProfile(tool: ToolName, apiKey: string): string {
|
|
174
|
+
const profilePath = getShellProfilePath();
|
|
175
|
+
const toolInfo = TOOLS[tool];
|
|
176
|
+
|
|
177
|
+
// Ensure directory exists (for PowerShell on Windows)
|
|
178
|
+
const profileDir = join(profilePath, '..');
|
|
179
|
+
if (!existsSync(profileDir)) {
|
|
180
|
+
mkdirSync(profileDir, { recursive: true });
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Read existing profile content
|
|
184
|
+
let profileContent = '';
|
|
185
|
+
try {
|
|
186
|
+
if (existsSync(profilePath)) {
|
|
187
|
+
profileContent = readFileSync(profilePath, 'utf8');
|
|
188
|
+
}
|
|
189
|
+
} catch {
|
|
190
|
+
// File doesn't exist, will create new
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// Remove existing PrimeLLM configuration for this tool
|
|
194
|
+
const startMarker = `# PrimeLLM Configuration for ${tool}`;
|
|
195
|
+
const endMarker = `# End PrimeLLM Configuration for ${tool}`;
|
|
196
|
+
|
|
197
|
+
const startIndex = profileContent.indexOf(startMarker);
|
|
198
|
+
const endIndex = profileContent.indexOf(endMarker);
|
|
199
|
+
|
|
200
|
+
if (startIndex !== -1 && endIndex !== -1) {
|
|
201
|
+
profileContent = profileContent.substring(0, startIndex) +
|
|
202
|
+
profileContent.substring(endIndex + endMarker.length);
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Build new configuration block
|
|
206
|
+
let configBlock: string;
|
|
207
|
+
|
|
208
|
+
if (isWindows()) {
|
|
209
|
+
// PowerShell syntax
|
|
210
|
+
configBlock = `
|
|
211
|
+
${startMarker}
|
|
212
|
+
$env:${toolInfo.envKeyName} = '${apiKey}'
|
|
213
|
+
$env:${toolInfo.envBaseName} = '${PRIMELLM_BASE_URL}'
|
|
214
|
+
${endMarker}
|
|
215
|
+
`;
|
|
170
216
|
} else {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
217
|
+
const shell = process.env.SHELL || '';
|
|
218
|
+
if (shell.includes('fish')) {
|
|
219
|
+
// Fish shell syntax
|
|
220
|
+
configBlock = `
|
|
221
|
+
${startMarker}
|
|
222
|
+
set -gx ${toolInfo.envKeyName} '${apiKey}'
|
|
223
|
+
set -gx ${toolInfo.envBaseName} '${PRIMELLM_BASE_URL}'
|
|
224
|
+
${endMarker}
|
|
225
|
+
`;
|
|
226
|
+
} else {
|
|
227
|
+
// Bash/Zsh syntax
|
|
228
|
+
configBlock = `
|
|
229
|
+
${startMarker}
|
|
230
|
+
export ${toolInfo.envKeyName}='${apiKey}'
|
|
231
|
+
export ${toolInfo.envBaseName}='${PRIMELLM_BASE_URL}'
|
|
232
|
+
${endMarker}
|
|
233
|
+
`;
|
|
234
|
+
}
|
|
178
235
|
}
|
|
179
236
|
|
|
180
|
-
|
|
237
|
+
// Append configuration
|
|
238
|
+
profileContent = profileContent.trimEnd() + '\n' + configBlock;
|
|
239
|
+
|
|
240
|
+
writeFileSync(profilePath, profileContent);
|
|
241
|
+
|
|
242
|
+
return profilePath;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function setCurrentSessionEnv(tool: ToolName, apiKey: string): void {
|
|
246
|
+
const toolInfo = TOOLS[tool];
|
|
247
|
+
process.env[toolInfo.envKeyName] = apiKey;
|
|
248
|
+
process.env[toolInfo.envBaseName] = PRIMELLM_BASE_URL;
|
|
181
249
|
}
|
|
182
250
|
|
|
183
251
|
// ============================================================================
|
|
@@ -276,38 +344,26 @@ async function main(): Promise<void> {
|
|
|
276
344
|
console.log();
|
|
277
345
|
|
|
278
346
|
// ============ STEP 3: Check Existing Config ============
|
|
279
|
-
const existing =
|
|
280
|
-
|
|
281
|
-
if (existing) {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
:
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
console.log(chalk.
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
const { confirmOverwrite } = await prompt<{ confirmOverwrite: boolean }>({
|
|
299
|
-
type: 'confirm',
|
|
300
|
-
name: 'confirmOverwrite',
|
|
301
|
-
message: 'Do you want to overwrite this configuration?',
|
|
302
|
-
initial: true,
|
|
303
|
-
});
|
|
304
|
-
|
|
305
|
-
if (!confirmOverwrite) {
|
|
306
|
-
console.log(chalk.yellow('\n⚠ Configuration cancelled.'));
|
|
307
|
-
process.exit(0);
|
|
308
|
-
}
|
|
309
|
-
console.log();
|
|
347
|
+
const existing = checkExistingEnvVars(selectedTool);
|
|
348
|
+
|
|
349
|
+
if (existing.apiKey || existing.baseUrl) {
|
|
350
|
+
console.log(chalk.yellow('⚠ Existing configuration found:\n'));
|
|
351
|
+
console.log(chalk.gray(` API Key: ${existing.apiKey ? maskApiKey(existing.apiKey) : '(not set)'}`));
|
|
352
|
+
console.log(chalk.gray(` Base URL: ${existing.baseUrl || '(not set)'}`));
|
|
353
|
+
console.log();
|
|
354
|
+
|
|
355
|
+
const { confirmOverwrite } = await prompt<{ confirmOverwrite: boolean }>({
|
|
356
|
+
type: 'confirm',
|
|
357
|
+
name: 'confirmOverwrite',
|
|
358
|
+
message: 'Do you want to overwrite this configuration?',
|
|
359
|
+
initial: true,
|
|
360
|
+
});
|
|
361
|
+
|
|
362
|
+
if (!confirmOverwrite) {
|
|
363
|
+
console.log(chalk.yellow('\n⚠ Configuration cancelled.'));
|
|
364
|
+
process.exit(0);
|
|
310
365
|
}
|
|
366
|
+
console.log();
|
|
311
367
|
}
|
|
312
368
|
|
|
313
369
|
// ============ STEP 4: API Key ============
|
|
@@ -353,12 +409,17 @@ async function main(): Promise<void> {
|
|
|
353
409
|
console.log(chalk.green(`✓ API key validated: ${maskApiKey(apiKey)}`));
|
|
354
410
|
console.log();
|
|
355
411
|
|
|
356
|
-
// ============ STEP 5: Write Configuration ============
|
|
357
|
-
const writeSpinner = ora('Writing configuration...').start();
|
|
412
|
+
// ============ STEP 5: Write Configuration to Shell Profile ============
|
|
413
|
+
const writeSpinner = ora('Writing configuration to shell profile...').start();
|
|
358
414
|
|
|
359
415
|
try {
|
|
360
|
-
|
|
361
|
-
|
|
416
|
+
// Write to shell profile
|
|
417
|
+
const profilePath = writeToShellProfile(selectedTool, apiKey);
|
|
418
|
+
|
|
419
|
+
// Also set for current session
|
|
420
|
+
setCurrentSessionEnv(selectedTool, apiKey);
|
|
421
|
+
|
|
422
|
+
writeSpinner.succeed(chalk.green('Configuration saved to shell profile'));
|
|
362
423
|
|
|
363
424
|
console.log();
|
|
364
425
|
console.log(chalk.gray('━'.repeat(60)));
|
|
@@ -366,10 +427,19 @@ async function main(): Promise<void> {
|
|
|
366
427
|
console.log(chalk.green.bold('✅ PrimeLLM configured successfully!'));
|
|
367
428
|
console.log();
|
|
368
429
|
|
|
369
|
-
console.log(chalk.gray(`
|
|
430
|
+
console.log(chalk.gray(`Profile updated: ${profilePath}`));
|
|
370
431
|
console.log(chalk.gray(`Base URL: ${PRIMELLM_BASE_URL}`));
|
|
371
432
|
console.log();
|
|
372
433
|
|
|
434
|
+
// Show what was set
|
|
435
|
+
console.log(chalk.white('Environment variables configured:'));
|
|
436
|
+
console.log(chalk.cyan(` ${toolInfo.envKeyName}=${maskApiKey(apiKey)}`));
|
|
437
|
+
console.log(chalk.cyan(` ${toolInfo.envBaseName}=${PRIMELLM_BASE_URL}`));
|
|
438
|
+
console.log();
|
|
439
|
+
|
|
440
|
+
console.log(chalk.yellow.bold('⚠ IMPORTANT: Open a new terminal for changes to take effect!'));
|
|
441
|
+
console.log();
|
|
442
|
+
|
|
373
443
|
console.log(chalk.white('You can now use:'));
|
|
374
444
|
console.log(chalk.cyan(` ${toolInfo.command}`));
|
|
375
445
|
console.log(chalk.white('with PrimeLLM as the backend.'));
|