geeto 0.6.6 → 0.9.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/README.md +23 -9
- package/lib/api/copilot-adapter.d.ts +14 -5
- package/lib/api/copilot-adapter.d.ts.map +1 -1
- package/lib/api/copilot-adapter.js +15 -21
- package/lib/api/copilot-adapter.js.map +1 -1
- package/lib/api/copilot-sdk.d.ts +3 -16
- package/lib/api/copilot-sdk.d.ts.map +1 -1
- package/lib/api/copilot-sdk.js +186 -454
- package/lib/api/copilot-sdk.js.map +1 -1
- package/lib/api/copilot.d.ts +3 -4
- package/lib/api/copilot.d.ts.map +1 -1
- package/lib/api/copilot.js +28 -28
- package/lib/api/copilot.js.map +1 -1
- package/lib/api/gemini-sdk.d.ts.map +1 -1
- package/lib/api/gemini-sdk.js +11 -77
- package/lib/api/gemini-sdk.js.map +1 -1
- package/lib/api/gemini.d.ts +2 -2
- package/lib/api/gemini.d.ts.map +1 -1
- package/lib/api/gemini.js +24 -19
- package/lib/api/gemini.js.map +1 -1
- package/lib/api/gitlab.d.ts +80 -0
- package/lib/api/gitlab.d.ts.map +1 -0
- package/lib/api/gitlab.js +192 -0
- package/lib/api/gitlab.js.map +1 -0
- package/lib/api/openrouter-sdk.d.ts.map +1 -1
- package/lib/api/openrouter-sdk.js +11 -76
- package/lib/api/openrouter-sdk.js.map +1 -1
- package/lib/api/openrouter.d.ts.map +1 -1
- package/lib/api/openrouter.js +2 -16
- package/lib/api/openrouter.js.map +1 -1
- package/lib/api/platform.d.ts +78 -0
- package/lib/api/platform.d.ts.map +1 -0
- package/lib/api/platform.js +218 -0
- package/lib/api/platform.js.map +1 -0
- package/lib/cli/input.d.ts +2 -2
- package/lib/cli/input.d.ts.map +1 -1
- package/lib/cli/input.js +23 -27
- package/lib/cli/input.js.map +1 -1
- package/lib/cli/menu.d.ts +1 -1
- package/lib/cli/menu.d.ts.map +1 -1
- package/lib/cli/menu.js +123 -100
- package/lib/cli/menu.js.map +1 -1
- package/lib/core/copilot-setup.d.ts +9 -8
- package/lib/core/copilot-setup.d.ts.map +1 -1
- package/lib/core/copilot-setup.js +81 -264
- package/lib/core/copilot-setup.js.map +1 -1
- package/lib/core/gemini-setup.js +7 -7
- package/lib/core/gemini-setup.js.map +1 -1
- package/lib/core/gitlab-setup.d.ts +5 -0
- package/lib/core/gitlab-setup.d.ts.map +1 -0
- package/lib/core/gitlab-setup.js +85 -0
- package/lib/core/gitlab-setup.js.map +1 -0
- package/lib/core/openrouter-setup.d.ts.map +1 -1
- package/lib/core/openrouter-setup.js +17 -0
- package/lib/core/openrouter-setup.js.map +1 -1
- package/lib/index.js +518 -704
- package/lib/index.js.map +1 -1
- package/lib/types/index.d.ts +10 -6
- package/lib/types/index.d.ts.map +1 -1
- package/lib/utils/ai-provider-helpers.d.ts +5 -0
- package/lib/utils/ai-provider-helpers.d.ts.map +1 -0
- package/lib/utils/ai-provider-helpers.js +23 -0
- package/lib/utils/ai-provider-helpers.js.map +1 -0
- package/lib/utils/ai-text.d.ts +23 -0
- package/lib/utils/ai-text.d.ts.map +1 -0
- package/lib/utils/ai-text.js +57 -0
- package/lib/utils/ai-text.js.map +1 -0
- package/lib/utils/ai-workflow.d.ts +18 -0
- package/lib/utils/ai-workflow.d.ts.map +1 -0
- package/lib/utils/ai-workflow.js +66 -0
- package/lib/utils/ai-workflow.js.map +1 -0
- package/lib/utils/branch-naming.d.ts.map +1 -1
- package/lib/utils/branch-naming.js +1 -3
- package/lib/utils/branch-naming.js.map +1 -1
- package/lib/utils/config.d.ts +13 -1
- package/lib/utils/config.d.ts.map +1 -1
- package/lib/utils/config.js +38 -1
- package/lib/utils/config.js.map +1 -1
- package/lib/utils/display.d.ts.map +1 -1
- package/lib/utils/display.js +4 -3
- package/lib/utils/display.js.map +1 -1
- package/lib/utils/exec.d.ts.map +1 -1
- package/lib/utils/exec.js +10 -2
- package/lib/utils/exec.js.map +1 -1
- package/lib/utils/git-ai.js +13 -13
- package/lib/utils/git-ai.js.map +1 -1
- package/lib/utils/git-errors.d.ts.map +1 -1
- package/lib/utils/git-errors.js +2 -6
- package/lib/utils/git-errors.js.map +1 -1
- package/lib/utils/git.d.ts.map +1 -1
- package/lib/utils/git.js +5 -0
- package/lib/utils/git.js.map +1 -1
- package/lib/utils/github-helpers.d.ts +33 -0
- package/lib/utils/github-helpers.d.ts.map +1 -0
- package/lib/utils/github-helpers.js +101 -0
- package/lib/utils/github-helpers.js.map +1 -0
- package/lib/utils/prompt-loader.d.ts +9 -0
- package/lib/utils/prompt-loader.d.ts.map +1 -0
- package/lib/utils/prompt-loader.js +42 -0
- package/lib/utils/prompt-loader.js.map +1 -0
- package/lib/utils/prompts-embedded.d.ts +2 -0
- package/lib/utils/prompts-embedded.d.ts.map +1 -0
- package/lib/utils/prompts-embedded.js +255 -0
- package/lib/utils/prompts-embedded.js.map +1 -0
- package/lib/utils/scramble.d.ts +9 -86
- package/lib/utils/scramble.d.ts.map +1 -1
- package/lib/utils/scramble.js +27 -279
- package/lib/utils/scramble.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/workflows/alias.d.ts.map +1 -1
- package/lib/workflows/alias.js +1 -0
- package/lib/workflows/alias.js.map +1 -1
- package/lib/workflows/amend.d.ts.map +1 -1
- package/lib/workflows/amend.js +1 -5
- package/lib/workflows/amend.js.map +1 -1
- package/lib/workflows/branch-helpers.d.ts.map +1 -1
- package/lib/workflows/branch-helpers.js +0 -1
- package/lib/workflows/branch-helpers.js.map +1 -1
- package/lib/workflows/commit.d.ts.map +1 -1
- package/lib/workflows/commit.js +160 -187
- package/lib/workflows/commit.js.map +1 -1
- package/lib/workflows/doctor.d.ts +7 -0
- package/lib/workflows/doctor.d.ts.map +1 -0
- package/lib/workflows/doctor.js +284 -0
- package/lib/workflows/doctor.js.map +1 -0
- package/lib/workflows/issue.d.ts +1 -1
- package/lib/workflows/issue.d.ts.map +1 -1
- package/lib/workflows/issue.js +28 -115
- package/lib/workflows/issue.js.map +1 -1
- package/lib/workflows/main-helpers.d.ts +34 -0
- package/lib/workflows/main-helpers.d.ts.map +1 -0
- package/lib/workflows/main-helpers.js +346 -0
- package/lib/workflows/main-helpers.js.map +1 -0
- package/lib/workflows/main-steps.d.ts.map +1 -1
- package/lib/workflows/main-steps.js +9 -134
- package/lib/workflows/main-steps.js.map +1 -1
- package/lib/workflows/main.d.ts +2 -6
- package/lib/workflows/main.d.ts.map +1 -1
- package/lib/workflows/main.js +44 -381
- package/lib/workflows/main.js.map +1 -1
- package/lib/workflows/pr.d.ts +2 -2
- package/lib/workflows/pr.d.ts.map +1 -1
- package/lib/workflows/pr.js +49 -137
- package/lib/workflows/pr.js.map +1 -1
- package/lib/workflows/prune.d.ts.map +1 -1
- package/lib/workflows/prune.js +2 -10
- package/lib/workflows/prune.js.map +1 -1
- package/lib/workflows/pull.d.ts.map +1 -1
- package/lib/workflows/pull.js +2 -24
- package/lib/workflows/pull.js.map +1 -1
- package/lib/workflows/release-merge.d.ts +12 -0
- package/lib/workflows/release-merge.d.ts.map +1 -0
- package/lib/workflows/release-merge.js +593 -0
- package/lib/workflows/release-merge.js.map +1 -0
- package/lib/workflows/release-notes.d.ts +13 -0
- package/lib/workflows/release-notes.d.ts.map +1 -0
- package/lib/workflows/release-notes.js +141 -0
- package/lib/workflows/release-notes.js.map +1 -0
- package/lib/workflows/release-recover.d.ts +5 -0
- package/lib/workflows/release-recover.d.ts.map +1 -0
- package/lib/workflows/release-recover.js +137 -0
- package/lib/workflows/release-recover.js.map +1 -0
- package/lib/workflows/release-sync.d.ts +7 -0
- package/lib/workflows/release-sync.d.ts.map +1 -0
- package/lib/workflows/release-sync.js +378 -0
- package/lib/workflows/release-sync.js.map +1 -0
- package/lib/workflows/release-utils.d.ts +36 -0
- package/lib/workflows/release-utils.d.ts.map +1 -0
- package/lib/workflows/release-utils.js +150 -0
- package/lib/workflows/release-utils.js.map +1 -0
- package/lib/workflows/release.d.ts.map +1 -1
- package/lib/workflows/release.js +92 -719
- package/lib/workflows/release.js.map +1 -1
- package/lib/workflows/repo-settings.d.ts +2 -2
- package/lib/workflows/repo-settings.d.ts.map +1 -1
- package/lib/workflows/repo-settings.js +33 -24
- package/lib/workflows/repo-settings.js.map +1 -1
- package/lib/workflows/reword.d.ts.map +1 -1
- package/lib/workflows/reword.js +154 -151
- package/lib/workflows/reword.js.map +1 -1
- package/lib/workflows/security-gate.d.ts.map +1 -1
- package/lib/workflows/security-gate.js +15 -75
- package/lib/workflows/security-gate.js.map +1 -1
- package/lib/workflows/settings.d.ts +3 -1
- package/lib/workflows/settings.d.ts.map +1 -1
- package/lib/workflows/settings.js +319 -19
- package/lib/workflows/settings.js.map +1 -1
- package/lib/workflows/submodules.d.ts +6 -0
- package/lib/workflows/submodules.d.ts.map +1 -0
- package/lib/workflows/submodules.js +344 -0
- package/lib/workflows/submodules.js.map +1 -0
- package/lib/workflows/trello-menu.d.ts +2 -5
- package/lib/workflows/trello-menu.d.ts.map +1 -1
- package/lib/workflows/trello-menu.js +67 -228
- package/lib/workflows/trello-menu.js.map +1 -1
- package/package.json +4 -6
- package/prompts/branch-name-prompt.md +4 -0
- package/prompts/commit-message-prompt.md +12 -0
- package/prompts/issue-prompt.md +19 -0
- package/prompts/issue-review.with-context.prompt.yml +77 -0
- package/prompts/pr-prompt.md +14 -0
- package/prompts/release-notes-prompt.md +35 -0
- package/prompts/repo-description-prompt.md +1 -0
- package/prompts/security-gate-prompt.md +80 -0
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Copilot
|
|
2
|
+
* Copilot setup helper — ensures GitHub CLI is installed and authenticated.
|
|
3
|
+
*
|
|
4
|
+
* Since Geeto now uses the Copilot REST API directly (no Copilot CLI binary
|
|
5
|
+
* needed), setup only requires: 1) gh CLI installed, 2) gh auth login done.
|
|
3
6
|
*/
|
|
7
|
+
import fs from 'node:fs';
|
|
4
8
|
import os from 'node:os';
|
|
5
|
-
import
|
|
9
|
+
import path from 'node:path';
|
|
6
10
|
import { confirm } from '../cli/input.js';
|
|
7
|
-
import { select } from '../cli/menu.js';
|
|
8
11
|
import { ensureGeetoIgnored } from '../utils/config.js';
|
|
9
|
-
import { commandExists, exec
|
|
12
|
+
import { commandExists, exec } from '../utils/exec.js';
|
|
10
13
|
import { log } from '../utils/logging.js';
|
|
11
14
|
import { getGhCliInstallCommand, getLinuxDistro } from '../utils/platform.js';
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
15
|
+
/** Save recommended default Copilot models if no model file exists */
|
|
16
|
+
const saveDefaultCopilotModels = () => {
|
|
17
|
+
try {
|
|
18
|
+
const outDir = path.join(process.cwd(), '.geeto');
|
|
19
|
+
const modelFile = path.join(outDir, 'copilot-model.json');
|
|
20
|
+
if (fs.existsSync(modelFile))
|
|
21
|
+
return; // Already has saved models
|
|
22
|
+
const defaultModels = [
|
|
23
|
+
{ label: 'Claude Sonnet 4', value: 'claude-sonnet-4' },
|
|
24
|
+
{ label: 'Claude Haiku 4.5', value: 'claude-haiku-4.5' },
|
|
25
|
+
{ label: 'GPT-4.1', value: 'gpt-4.1' },
|
|
26
|
+
{ label: 'GPT-5 Mini', value: 'gpt-5-mini' },
|
|
27
|
+
];
|
|
28
|
+
if (!fs.existsSync(outDir))
|
|
29
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
30
|
+
fs.writeFileSync(modelFile, JSON.stringify(defaultModels, null, 2), 'utf8');
|
|
31
|
+
log.info('Saved recommended Copilot models to .geeto/copilot-model.json');
|
|
29
32
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (!process.env.PATH?.startsWith(binDir)) {
|
|
33
|
-
process.env.PATH = `${binDir}:${process.env.PATH}`;
|
|
33
|
+
catch {
|
|
34
|
+
/* ignore */
|
|
34
35
|
}
|
|
35
|
-
return true;
|
|
36
36
|
};
|
|
37
37
|
// Helper: Setup GitHub CLI if needed
|
|
38
38
|
const setupGitHubCLI = () => {
|
|
@@ -183,54 +183,57 @@ const getGitHubUsername = () => {
|
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
185
|
// Helper: Authenticate with GitHub CLI
|
|
186
|
-
const authenticateGitHub = async () => {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
];
|
|
192
|
-
const authChoice = await select('Is GitHub CLI already authenticated?', authOptions);
|
|
193
|
-
if (authChoice === 'auth') {
|
|
194
|
-
log.info('Starting GitHub authentication...');
|
|
195
|
-
log.info('This will open your browser for GitHub OAuth.');
|
|
196
|
-
try {
|
|
197
|
-
exec('gh auth login');
|
|
198
|
-
log.success('Authentication process started!');
|
|
199
|
-
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
200
|
-
if (isGitHubAuthenticated()) {
|
|
201
|
-
log.success('GitHub authenticated successfully');
|
|
202
|
-
return true;
|
|
203
|
-
}
|
|
204
|
-
else {
|
|
205
|
-
log.warn('Authentication may not have completed yet. Please finish in browser.');
|
|
206
|
-
return false;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
catch (error) {
|
|
210
|
-
log.error(`Authentication failed: ${error}`);
|
|
186
|
+
const authenticateGitHub = async (force = false) => {
|
|
187
|
+
if (!force) {
|
|
188
|
+
const proceed = confirm('Authenticate with GitHub now? (opens browser for OAuth)');
|
|
189
|
+
if (!proceed) {
|
|
190
|
+
log.info('Skipping authentication. Run `gh auth login` later.');
|
|
211
191
|
return false;
|
|
212
192
|
}
|
|
213
193
|
}
|
|
214
|
-
|
|
215
|
-
|
|
194
|
+
log.info('Starting GitHub authentication...');
|
|
195
|
+
try {
|
|
196
|
+
exec('gh auth login');
|
|
197
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
198
|
+
if (isGitHubAuthenticated()) {
|
|
199
|
+
log.success('GitHub authenticated successfully');
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
log.warn('Authentication may not have completed yet. Finish in browser.');
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
log.error(`Authentication failed: ${error}`);
|
|
216
207
|
return false;
|
|
217
208
|
}
|
|
218
|
-
// If 'already', assume it's authenticated
|
|
219
|
-
return true;
|
|
220
209
|
};
|
|
221
210
|
/**
|
|
222
|
-
*
|
|
211
|
+
* Check Copilot API access by testing token against the models endpoint.
|
|
223
212
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
213
|
+
const checkCopilotAPIAccess = async () => {
|
|
214
|
+
try {
|
|
215
|
+
const sdk = await import('../api/copilot-sdk.js');
|
|
216
|
+
return await sdk.isAvailable();
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
return false;
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
/**
|
|
223
|
+
* Interactive setup for Copilot AI provider.
|
|
224
|
+
*
|
|
225
|
+
* Since v0.8.0, Geeto uses the Copilot REST API directly.
|
|
226
|
+
* Setup only requires GitHub CLI authenticated — no Copilot CLI binary needed.
|
|
227
|
+
*/
|
|
228
|
+
export const setupGitHubCopilotInteractive = async (forceReauth = false) => {
|
|
226
229
|
// Ensure GitHub CLI is installed (install automatically if needed)
|
|
227
230
|
const ghInstalled = setupGitHubCLI();
|
|
228
231
|
if (!ghInstalled) {
|
|
229
232
|
log.warn('GitHub CLI installation failed. Cannot proceed with Copilot setup.');
|
|
230
233
|
return false;
|
|
231
234
|
}
|
|
232
|
-
// Check if already authenticated
|
|
233
|
-
if (isGitHubAuthenticated()) {
|
|
235
|
+
// Check if already authenticated (skip if force re-auth)
|
|
236
|
+
if (!forceReauth && isGitHubAuthenticated()) {
|
|
234
237
|
const user = getGitHubUsername();
|
|
235
238
|
if (user) {
|
|
236
239
|
log.info(`GitHub authenticated as: ${user}`);
|
|
@@ -241,218 +244,32 @@ export const setupGitHubCopilotInteractive = async () => {
|
|
|
241
244
|
}
|
|
242
245
|
else {
|
|
243
246
|
// Need to authenticate
|
|
244
|
-
const ghAuthenticated = await authenticateGitHub();
|
|
247
|
+
const ghAuthenticated = await authenticateGitHub(forceReauth);
|
|
245
248
|
if (!ghAuthenticated) {
|
|
246
249
|
return false;
|
|
247
250
|
}
|
|
248
251
|
}
|
|
249
|
-
//
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
checkCopilotVersion();
|
|
256
|
-
ensureGeetoIgnored();
|
|
257
|
-
return true;
|
|
258
|
-
}
|
|
259
|
-
// Show informational text only if we reach installer flow
|
|
260
|
-
log.info('Copilot CLI allows local AI workflows via the copilot command-line tool.');
|
|
261
|
-
log.info('This helper will attempt to install and/or authenticate the Copilot CLI for you.');
|
|
262
|
-
const shouldSetup = confirm('Setup Copilot CLI now?');
|
|
263
|
-
if (!shouldSetup) {
|
|
264
|
-
return false;
|
|
265
|
-
}
|
|
266
|
-
let installOptions = [];
|
|
267
|
-
let installCommand = '';
|
|
268
|
-
if (platform === 'win32') {
|
|
269
|
-
installOptions = [
|
|
270
|
-
{ label: 'Download from GitHub releases (manual)', value: 'download' },
|
|
271
|
-
{ label: 'npm: npm install -g @github/copilot', value: 'npm' },
|
|
272
|
-
{ label: 'Winget: winget install GitHub.Copilot', value: 'winget' },
|
|
273
|
-
];
|
|
274
|
-
}
|
|
275
|
-
else if (platform === 'darwin') {
|
|
276
|
-
installOptions = [
|
|
277
|
-
{ label: 'Homebrew: brew install copilot-cli', value: 'brew' },
|
|
278
|
-
{ label: 'npm: npm install -g @github/copilot', value: 'npm' },
|
|
279
|
-
{ label: 'Curl installer: curl -fsSL https://gh.io/copilot-install | bash', value: 'curl' },
|
|
280
|
-
{ label: 'Download from GitHub releases (manual)', value: 'download' },
|
|
281
|
-
];
|
|
252
|
+
// Verify Copilot API access (requires active Copilot subscription)
|
|
253
|
+
const spinner = log.spinner();
|
|
254
|
+
spinner.start('Checking Copilot API access...');
|
|
255
|
+
const apiOk = await checkCopilotAPIAccess();
|
|
256
|
+
if (apiOk) {
|
|
257
|
+
spinner.succeed('Copilot API accessible');
|
|
282
258
|
}
|
|
283
259
|
else {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
const choice = await select('Choose Copilot CLI installation method:', installOptions);
|
|
292
|
-
switch (choice) {
|
|
293
|
-
case 'download': {
|
|
294
|
-
log.info('Please download and install Copilot CLI from:');
|
|
295
|
-
log.info(' https://github.com/github/copilot-cli/releases');
|
|
296
|
-
log.info('Then restart this setup.\n');
|
|
260
|
+
spinner.fail('Copilot API not accessible');
|
|
261
|
+
log.gap();
|
|
262
|
+
log.info('This may mean:');
|
|
263
|
+
log.info(' • Your GitHub account needs an active Copilot subscription');
|
|
264
|
+
log.info(' • Visit: https://github.com/features/copilot/plans');
|
|
265
|
+
const shouldContinue = confirm('Continue setup anyway? (models can be configured manually)');
|
|
266
|
+
if (!shouldContinue) {
|
|
297
267
|
return false;
|
|
298
268
|
}
|
|
299
|
-
case 'npm': {
|
|
300
|
-
if (!commandExists('npm')) {
|
|
301
|
-
log.error('npm not found. Please install Node.js first.');
|
|
302
|
-
return false;
|
|
303
|
-
}
|
|
304
|
-
installCommand = 'npm install -g @github/copilot';
|
|
305
|
-
break;
|
|
306
|
-
}
|
|
307
|
-
case 'winget': {
|
|
308
|
-
if (!commandExists('winget')) {
|
|
309
|
-
log.error('Winget not found. Please install Windows Package Manager first.');
|
|
310
|
-
return false;
|
|
311
|
-
}
|
|
312
|
-
installCommand = 'winget install GitHub.Copilot';
|
|
313
|
-
break;
|
|
314
|
-
}
|
|
315
|
-
case 'brew': {
|
|
316
|
-
if (!commandExists('brew')) {
|
|
317
|
-
log.error('Homebrew not found. Please install Homebrew first.');
|
|
318
|
-
return false;
|
|
319
|
-
}
|
|
320
|
-
installCommand = 'brew install copilot-cli';
|
|
321
|
-
break;
|
|
322
|
-
}
|
|
323
|
-
case 'curl': {
|
|
324
|
-
installCommand = 'curl -fsSL https://gh.io/copilot-install | bash';
|
|
325
|
-
break;
|
|
326
|
-
}
|
|
327
|
-
default: {
|
|
328
|
-
break;
|
|
329
|
-
}
|
|
330
269
|
}
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
try {
|
|
336
|
-
// Use async exec to allow spinner to animate during installation
|
|
337
|
-
await execAsync(installCommand, true);
|
|
338
|
-
spinner.succeed('Copilot CLI installed successfully!');
|
|
339
|
-
}
|
|
340
|
-
catch (error) {
|
|
341
|
-
spinner.fail(`Failed to install Copilot CLI`);
|
|
342
|
-
// Special handling for npm ENOTEMPTY error
|
|
343
|
-
const errorMsg = String(error);
|
|
344
|
-
if (choice === 'npm' && errorMsg.includes('ENOTEMPTY')) {
|
|
345
|
-
console.log('');
|
|
346
|
-
log.warn('Directory conflict detected. Retrying with force reinstall...');
|
|
347
|
-
const retrySpinner = log.spinner();
|
|
348
|
-
retrySpinner.start('Cleaning up and reinstalling...');
|
|
349
|
-
try {
|
|
350
|
-
// First uninstall, then reinstall
|
|
351
|
-
await execAsync('npm uninstall -g @github/copilot', true);
|
|
352
|
-
await execAsync('npm install -g @github/copilot --force', true);
|
|
353
|
-
retrySpinner.succeed('Copilot CLI installed successfully!');
|
|
354
|
-
console.log('');
|
|
355
|
-
}
|
|
356
|
-
catch (retryError) {
|
|
357
|
-
retrySpinner.stop();
|
|
358
|
-
console.log('');
|
|
359
|
-
log.error(`Failed to install Copilot CLI: ${retryError}`);
|
|
360
|
-
log.info('Manual fix: Run these commands in your terminal:');
|
|
361
|
-
log.info(' npm uninstall -g @github/copilot');
|
|
362
|
-
log.info(' npm cache clean --force');
|
|
363
|
-
log.info(' npm install -g @github/copilot');
|
|
364
|
-
log.info('Or visit: https://github.com/github/copilot-cli');
|
|
365
|
-
return false;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
// Other errors
|
|
370
|
-
console.log('');
|
|
371
|
-
log.error(`Failed to install Copilot CLI: ${error}`);
|
|
372
|
-
log.info('You can try installing manually:');
|
|
373
|
-
if (choice === 'npm') {
|
|
374
|
-
log.info(' npm install -g @github/copilot --force');
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
log.info(` ${installCommand}`);
|
|
378
|
-
}
|
|
379
|
-
log.info('Or visit: https://github.com/github/copilot-cli');
|
|
380
|
-
return false;
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
// Add npm global bin to PATH if npm was used
|
|
384
|
-
if (choice === 'npm') {
|
|
385
|
-
if (platform === 'win32') {
|
|
386
|
-
const npmBinPath = String.raw `${os.homedir()}\\AppData\\Roaming\\npm`;
|
|
387
|
-
if (!process.env.PATH?.includes(npmBinPath)) {
|
|
388
|
-
process.env.PATH = `${process.env.PATH};${npmBinPath}`;
|
|
389
|
-
log.info('Added npm global bin to PATH');
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
else {
|
|
393
|
-
const possibleNpmPaths = [
|
|
394
|
-
'/usr/local/bin',
|
|
395
|
-
'/usr/bin',
|
|
396
|
-
String.raw `${os.homedir()}/.npm-global/bin`,
|
|
397
|
-
];
|
|
398
|
-
let npmPathAdded = false;
|
|
399
|
-
for (const npmPath of possibleNpmPaths) {
|
|
400
|
-
if (!process.env.PATH?.includes(npmPath)) {
|
|
401
|
-
process.env.PATH = `${process.env.PATH}:${npmPath}`;
|
|
402
|
-
npmPathAdded = true;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
if (npmPathAdded) {
|
|
406
|
-
log.info('Added npm paths to PATH');
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
}
|
|
410
|
-
// For brew, add brew paths
|
|
411
|
-
if (choice === 'brew') {
|
|
412
|
-
const brewPaths = ['/opt/homebrew/bin', '/usr/local/bin'];
|
|
413
|
-
let brewPathAdded = false;
|
|
414
|
-
for (const brewPath of brewPaths) {
|
|
415
|
-
if (!process.env.PATH?.includes(brewPath)) {
|
|
416
|
-
process.env.PATH = `${process.env.PATH}:${brewPath}`;
|
|
417
|
-
brewPathAdded = true;
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
if (brewPathAdded) {
|
|
421
|
-
log.info('Added Homebrew paths to PATH');
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
// Re-check availability via CLI or SDK-managed client
|
|
425
|
-
let copilotNowAvailable = commandExists('copilot');
|
|
426
|
-
try {
|
|
427
|
-
const sdk = await import('../api/copilot-sdk.js');
|
|
428
|
-
if (sdk && typeof sdk.isAvailable === 'function') {
|
|
429
|
-
copilotNowAvailable = copilotNowAvailable || (await sdk.isAvailable());
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
catch {
|
|
433
|
-
// ignore
|
|
434
|
-
}
|
|
435
|
-
if (!copilotNowAvailable) {
|
|
436
|
-
log.error('Copilot CLI command not found after installation');
|
|
437
|
-
log.info('You may need to restart your terminal for PATH changes to take effect.');
|
|
438
|
-
return false;
|
|
439
|
-
}
|
|
440
|
-
log.info('Copilot CLI is ready to use!');
|
|
441
|
-
checkCopilotVersion();
|
|
442
|
-
ensureGeetoIgnored();
|
|
443
|
-
return true;
|
|
444
|
-
}
|
|
445
|
-
// Check if Copilot CLI is working after installation
|
|
446
|
-
try {
|
|
447
|
-
exec('copilot --version', true);
|
|
448
|
-
log.success('Copilot CLI configured and ready to use');
|
|
449
|
-
checkCopilotVersion();
|
|
450
|
-
ensureGeetoIgnored();
|
|
451
|
-
return true;
|
|
452
|
-
}
|
|
453
|
-
catch {
|
|
454
|
-
// CLI not working
|
|
455
|
-
}
|
|
456
|
-
return false;
|
|
270
|
+
ensureGeetoIgnored();
|
|
271
|
+
saveDefaultCopilotModels();
|
|
272
|
+
log.success('Copilot ready to use');
|
|
273
|
+
return true;
|
|
457
274
|
};
|
|
458
275
|
//# sourceMappingURL=copilot-setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-setup.js","sourceRoot":"","sources":["../../src/core/copilot-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"copilot-setup.js","sourceRoot":"","sources":["../../src/core/copilot-setup.ts"],"names":[],"mappings":"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"}
|
package/lib/core/gemini-setup.js
CHANGED
|
@@ -74,19 +74,19 @@ export const setupGeminiConfigInteractive = () => {
|
|
|
74
74
|
try {
|
|
75
75
|
fs.writeFileSync(configPath, configContent, 'utf8');
|
|
76
76
|
log.success(`Gemini config saved to: ${configPath}`);
|
|
77
|
-
// Write default gemini-model.json
|
|
77
|
+
// Write default gemini-model.json with recommended models
|
|
78
78
|
try {
|
|
79
79
|
const modelFile = `${configDir}/gemini-model.json`;
|
|
80
80
|
const defaultModels = [
|
|
81
|
-
{ label: 'Gemini 2.0 Flash', value: 'gemini-2.0-flash' },
|
|
82
|
-
{ label: 'Gemini 2.5 Flash Lite', value: 'gemini-2.5-flash-lite' },
|
|
83
81
|
{ label: 'Gemini 2.5 Flash', value: 'gemini-2.5-flash' },
|
|
84
82
|
{ label: 'Gemini 2.5 Pro', value: 'gemini-2.5-pro' },
|
|
83
|
+
{ label: 'Gemini 3 Flash Preview', value: 'gemini-3-flash-preview' },
|
|
84
|
+
{ label: 'Gemini 3 Pro Preview', value: 'gemini-3-pro-preview' },
|
|
85
|
+
{ label: 'Gemini Flash Latest', value: 'gemini-flash-latest' },
|
|
86
|
+
{ label: 'Gemini Pro Latest', value: 'gemini-pro-latest' },
|
|
85
87
|
];
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
log.info(`Wrote default Gemini model list to: ${modelFile}`);
|
|
89
|
-
}
|
|
88
|
+
fs.writeFileSync(modelFile, JSON.stringify(defaultModels, null, 2), 'utf8');
|
|
89
|
+
log.info(`Saved recommended Gemini models to: ${modelFile}`);
|
|
90
90
|
}
|
|
91
91
|
catch {
|
|
92
92
|
/* ignore model file write failures */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-setup.js","sourceRoot":"","sources":["../../src/core/gemini-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAA;AAExB,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAY,EAAE;IACxD,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAA;IACxC,0CAA0C;IAC1C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IAEpE,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAA;IACzF,GAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAA;IACpF,GAAG,CAAC,IAAI,CACN,mIAAmI,CACpI,CAAA;IACD,GAAG,CAAC,IAAI,CAAC,wCAAwC,mBAAmB,EAAE,EAAE,CAAC,CAAA;IACzE,GAAG,CAAC,IAAI,CACN,mGAAmG,CACpG,CAAA;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC5D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,iCAAiC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACxE,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,WAAW,CAAC,oCAAoC,CAAC,CAAA;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE,CAAA;IAE9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QACxD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAA;QACjF,GAAG,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;IACxF,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IAEtD,iCAAiC;IACjC,kBAAkB,EAAE,CAAA;IAEpB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,GAAG,CAAC,OAAO,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,sCAAuC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3E,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GACjB,gDAAgD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,qDAAqD;QAC7H,qBAAqB,SAAS,KAAK,CAAA;IAErC,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QACnD,GAAG,CAAC,OAAO,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAA;QAEpD,
|
|
1
|
+
{"version":3,"file":"gemini-setup.js","sourceRoot":"","sources":["../../src/core/gemini-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-setup.d.ts","sourceRoot":"","sources":["../../src/core/gitlab-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,eAAO,MAAM,4BAA4B,QAAO,OAkE/C,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitLab integration setup
|
|
3
|
+
*/
|
|
4
|
+
import fs from 'node:fs';
|
|
5
|
+
import { askQuestion, confirm } from '../cli/input.js';
|
|
6
|
+
import { ensureGeetoIgnored, getGitlabConfigPath } from '../utils/config.js';
|
|
7
|
+
import { exec, openBrowser } from '../utils/exec.js';
|
|
8
|
+
import { log } from '../utils/logging.js';
|
|
9
|
+
const detectGlabToken = () => {
|
|
10
|
+
try {
|
|
11
|
+
const token = exec('glab auth token', true).trim();
|
|
12
|
+
if (token?.startsWith('glpat-'))
|
|
13
|
+
return token;
|
|
14
|
+
if (token && token.length > 20)
|
|
15
|
+
return token;
|
|
16
|
+
}
|
|
17
|
+
catch { }
|
|
18
|
+
return null;
|
|
19
|
+
};
|
|
20
|
+
export const setupGitlabConfigInteractive = () => {
|
|
21
|
+
log.info('GitLab integration is not configured for this project.\n');
|
|
22
|
+
log.info('To enable GitLab features (create MR, issues), you need:');
|
|
23
|
+
log.info(' 1. A Personal Access Token (PAT) with api scope');
|
|
24
|
+
log.info(' 2. Or GitLab CLI (glab) already authenticated\n');
|
|
25
|
+
const shouldSetup = confirm('Setup GitLab integration now?');
|
|
26
|
+
if (!shouldSetup)
|
|
27
|
+
return false;
|
|
28
|
+
if (process.stdin.isTTY)
|
|
29
|
+
process.stdin.setRawMode(false);
|
|
30
|
+
const detectedToken = detectGlabToken();
|
|
31
|
+
let token = '';
|
|
32
|
+
if (detectedToken) {
|
|
33
|
+
log.success('Detected GitLab token from `glab` CLI!');
|
|
34
|
+
const useDetected = confirm('Use this token?');
|
|
35
|
+
if (useDetected)
|
|
36
|
+
token = detectedToken;
|
|
37
|
+
}
|
|
38
|
+
if (!token) {
|
|
39
|
+
log.info('Create a token at: Settings → Access Tokens');
|
|
40
|
+
log.info('Required scopes: api (Full access to the API)\n');
|
|
41
|
+
const openNow = confirm('Open token creation page in your browser?');
|
|
42
|
+
if (openNow) {
|
|
43
|
+
const opened = openBrowser('https://gitlab.com/-/user_settings/personal_access_tokens');
|
|
44
|
+
if (opened)
|
|
45
|
+
log.success('Opened browser');
|
|
46
|
+
else
|
|
47
|
+
log.warn('Could not open browser—please open the URL above manually');
|
|
48
|
+
}
|
|
49
|
+
token = askQuestion('Enter GitLab Personal Access Token: ').trim();
|
|
50
|
+
if (!token) {
|
|
51
|
+
log.error('Token is required');
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
const looksValid = token.startsWith('glpat-') || token.length > 20;
|
|
55
|
+
if (!looksValid) {
|
|
56
|
+
log.warn('Token format looks unusual');
|
|
57
|
+
log.info('Saving anyway—if authentication fails, re-run setup with a valid token.');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const instanceUrl = askQuestion('GitLab instance URL (press Enter for gitlab.com): ').trim() || 'https://gitlab.com';
|
|
61
|
+
const path = getGitlabConfigPath();
|
|
62
|
+
const configDir = path.slice(0, path.lastIndexOf('/'));
|
|
63
|
+
ensureGeetoIgnored();
|
|
64
|
+
try {
|
|
65
|
+
if (!fs.existsSync(configDir))
|
|
66
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
70
|
+
log.error(`Failed to create config directory: ${msg}`);
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
const configContent = `# Geeto GitLab Configuration\n# Generated on ${new Date().toISOString()}\n\ntoken = "${token}"\nurl = "${instanceUrl}"\n`;
|
|
74
|
+
try {
|
|
75
|
+
fs.writeFileSync(path, configContent, 'utf8');
|
|
76
|
+
log.success(`GitLab config saved to: ${path}`);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
81
|
+
log.error(`Failed to save config: ${msg}`);
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=gitlab-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab-setup.js","sourceRoot":"","sources":["../../src/core/gitlab-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-setup.d.ts","sourceRoot":"","sources":["../../src/core/openrouter-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,eAAO,MAAM,gCAAgC,QAAO,
|
|
1
|
+
{"version":3,"file":"openrouter-setup.d.ts","sourceRoot":"","sources":["../../src/core/openrouter-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,eAAO,MAAM,gCAAgC,QAAO,OA2GnD,CAAA"}
|
|
@@ -80,6 +80,23 @@ openrouter_api_key = "${openrouterKey}"
|
|
|
80
80
|
try {
|
|
81
81
|
fs.writeFileSync(path, configContent, 'utf8');
|
|
82
82
|
log.success(`OpenRouter config saved to: ${path}`);
|
|
83
|
+
// Write default openrouter-model.json with recommended text/code models
|
|
84
|
+
try {
|
|
85
|
+
const modelFile = `${configDir}/openrouter-model.json`;
|
|
86
|
+
const defaultModels = [
|
|
87
|
+
{ label: 'Claude Sonnet 4', value: 'anthropic/claude-sonnet-4' },
|
|
88
|
+
{ label: 'Claude Haiku 4.5', value: 'anthropic/claude-haiku-4.5' },
|
|
89
|
+
{ label: 'GPT-4o', value: 'openai/gpt-4o' },
|
|
90
|
+
{ label: 'GPT-4.1', value: 'openai/gpt-4.1' },
|
|
91
|
+
{ label: 'GPT-5 Mini', value: 'openai/gpt-5-mini' },
|
|
92
|
+
{ label: 'Gemini 2.5 Flash', value: 'google/gemini-2.5-flash' },
|
|
93
|
+
];
|
|
94
|
+
fs.writeFileSync(modelFile, JSON.stringify(defaultModels, null, 2), 'utf8');
|
|
95
|
+
log.info(`Saved recommended OpenRouter models to: ${modelFile}`);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
/* ignore model file write failures */
|
|
99
|
+
}
|
|
83
100
|
return true;
|
|
84
101
|
}
|
|
85
102
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openrouter-setup.js","sourceRoot":"","sources":["../../src/core/openrouter-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openrouter-setup.js","sourceRoot":"","sources":["../../src/core/openrouter-setup.ts"],"names":[],"mappings":"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"}
|