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.
Files changed (205) hide show
  1. package/README.md +23 -9
  2. package/lib/api/copilot-adapter.d.ts +14 -5
  3. package/lib/api/copilot-adapter.d.ts.map +1 -1
  4. package/lib/api/copilot-adapter.js +15 -21
  5. package/lib/api/copilot-adapter.js.map +1 -1
  6. package/lib/api/copilot-sdk.d.ts +3 -16
  7. package/lib/api/copilot-sdk.d.ts.map +1 -1
  8. package/lib/api/copilot-sdk.js +186 -454
  9. package/lib/api/copilot-sdk.js.map +1 -1
  10. package/lib/api/copilot.d.ts +3 -4
  11. package/lib/api/copilot.d.ts.map +1 -1
  12. package/lib/api/copilot.js +28 -28
  13. package/lib/api/copilot.js.map +1 -1
  14. package/lib/api/gemini-sdk.d.ts.map +1 -1
  15. package/lib/api/gemini-sdk.js +11 -77
  16. package/lib/api/gemini-sdk.js.map +1 -1
  17. package/lib/api/gemini.d.ts +2 -2
  18. package/lib/api/gemini.d.ts.map +1 -1
  19. package/lib/api/gemini.js +24 -19
  20. package/lib/api/gemini.js.map +1 -1
  21. package/lib/api/gitlab.d.ts +80 -0
  22. package/lib/api/gitlab.d.ts.map +1 -0
  23. package/lib/api/gitlab.js +192 -0
  24. package/lib/api/gitlab.js.map +1 -0
  25. package/lib/api/openrouter-sdk.d.ts.map +1 -1
  26. package/lib/api/openrouter-sdk.js +11 -76
  27. package/lib/api/openrouter-sdk.js.map +1 -1
  28. package/lib/api/openrouter.d.ts.map +1 -1
  29. package/lib/api/openrouter.js +2 -16
  30. package/lib/api/openrouter.js.map +1 -1
  31. package/lib/api/platform.d.ts +78 -0
  32. package/lib/api/platform.d.ts.map +1 -0
  33. package/lib/api/platform.js +218 -0
  34. package/lib/api/platform.js.map +1 -0
  35. package/lib/cli/input.d.ts +2 -2
  36. package/lib/cli/input.d.ts.map +1 -1
  37. package/lib/cli/input.js +23 -27
  38. package/lib/cli/input.js.map +1 -1
  39. package/lib/cli/menu.d.ts +1 -1
  40. package/lib/cli/menu.d.ts.map +1 -1
  41. package/lib/cli/menu.js +123 -100
  42. package/lib/cli/menu.js.map +1 -1
  43. package/lib/core/copilot-setup.d.ts +9 -8
  44. package/lib/core/copilot-setup.d.ts.map +1 -1
  45. package/lib/core/copilot-setup.js +81 -264
  46. package/lib/core/copilot-setup.js.map +1 -1
  47. package/lib/core/gemini-setup.js +7 -7
  48. package/lib/core/gemini-setup.js.map +1 -1
  49. package/lib/core/gitlab-setup.d.ts +5 -0
  50. package/lib/core/gitlab-setup.d.ts.map +1 -0
  51. package/lib/core/gitlab-setup.js +85 -0
  52. package/lib/core/gitlab-setup.js.map +1 -0
  53. package/lib/core/openrouter-setup.d.ts.map +1 -1
  54. package/lib/core/openrouter-setup.js +17 -0
  55. package/lib/core/openrouter-setup.js.map +1 -1
  56. package/lib/index.js +518 -704
  57. package/lib/index.js.map +1 -1
  58. package/lib/types/index.d.ts +10 -6
  59. package/lib/types/index.d.ts.map +1 -1
  60. package/lib/utils/ai-provider-helpers.d.ts +5 -0
  61. package/lib/utils/ai-provider-helpers.d.ts.map +1 -0
  62. package/lib/utils/ai-provider-helpers.js +23 -0
  63. package/lib/utils/ai-provider-helpers.js.map +1 -0
  64. package/lib/utils/ai-text.d.ts +23 -0
  65. package/lib/utils/ai-text.d.ts.map +1 -0
  66. package/lib/utils/ai-text.js +57 -0
  67. package/lib/utils/ai-text.js.map +1 -0
  68. package/lib/utils/ai-workflow.d.ts +18 -0
  69. package/lib/utils/ai-workflow.d.ts.map +1 -0
  70. package/lib/utils/ai-workflow.js +66 -0
  71. package/lib/utils/ai-workflow.js.map +1 -0
  72. package/lib/utils/branch-naming.d.ts.map +1 -1
  73. package/lib/utils/branch-naming.js +1 -3
  74. package/lib/utils/branch-naming.js.map +1 -1
  75. package/lib/utils/config.d.ts +13 -1
  76. package/lib/utils/config.d.ts.map +1 -1
  77. package/lib/utils/config.js +38 -1
  78. package/lib/utils/config.js.map +1 -1
  79. package/lib/utils/display.d.ts.map +1 -1
  80. package/lib/utils/display.js +4 -3
  81. package/lib/utils/display.js.map +1 -1
  82. package/lib/utils/exec.d.ts.map +1 -1
  83. package/lib/utils/exec.js +10 -2
  84. package/lib/utils/exec.js.map +1 -1
  85. package/lib/utils/git-ai.js +13 -13
  86. package/lib/utils/git-ai.js.map +1 -1
  87. package/lib/utils/git-errors.d.ts.map +1 -1
  88. package/lib/utils/git-errors.js +2 -6
  89. package/lib/utils/git-errors.js.map +1 -1
  90. package/lib/utils/git.d.ts.map +1 -1
  91. package/lib/utils/git.js +5 -0
  92. package/lib/utils/git.js.map +1 -1
  93. package/lib/utils/github-helpers.d.ts +33 -0
  94. package/lib/utils/github-helpers.d.ts.map +1 -0
  95. package/lib/utils/github-helpers.js +101 -0
  96. package/lib/utils/github-helpers.js.map +1 -0
  97. package/lib/utils/prompt-loader.d.ts +9 -0
  98. package/lib/utils/prompt-loader.d.ts.map +1 -0
  99. package/lib/utils/prompt-loader.js +42 -0
  100. package/lib/utils/prompt-loader.js.map +1 -0
  101. package/lib/utils/prompts-embedded.d.ts +2 -0
  102. package/lib/utils/prompts-embedded.d.ts.map +1 -0
  103. package/lib/utils/prompts-embedded.js +255 -0
  104. package/lib/utils/prompts-embedded.js.map +1 -0
  105. package/lib/utils/scramble.d.ts +9 -86
  106. package/lib/utils/scramble.d.ts.map +1 -1
  107. package/lib/utils/scramble.js +27 -279
  108. package/lib/utils/scramble.js.map +1 -1
  109. package/lib/version.d.ts +1 -1
  110. package/lib/version.js +1 -1
  111. package/lib/workflows/alias.d.ts.map +1 -1
  112. package/lib/workflows/alias.js +1 -0
  113. package/lib/workflows/alias.js.map +1 -1
  114. package/lib/workflows/amend.d.ts.map +1 -1
  115. package/lib/workflows/amend.js +1 -5
  116. package/lib/workflows/amend.js.map +1 -1
  117. package/lib/workflows/branch-helpers.d.ts.map +1 -1
  118. package/lib/workflows/branch-helpers.js +0 -1
  119. package/lib/workflows/branch-helpers.js.map +1 -1
  120. package/lib/workflows/commit.d.ts.map +1 -1
  121. package/lib/workflows/commit.js +160 -187
  122. package/lib/workflows/commit.js.map +1 -1
  123. package/lib/workflows/doctor.d.ts +7 -0
  124. package/lib/workflows/doctor.d.ts.map +1 -0
  125. package/lib/workflows/doctor.js +284 -0
  126. package/lib/workflows/doctor.js.map +1 -0
  127. package/lib/workflows/issue.d.ts +1 -1
  128. package/lib/workflows/issue.d.ts.map +1 -1
  129. package/lib/workflows/issue.js +28 -115
  130. package/lib/workflows/issue.js.map +1 -1
  131. package/lib/workflows/main-helpers.d.ts +34 -0
  132. package/lib/workflows/main-helpers.d.ts.map +1 -0
  133. package/lib/workflows/main-helpers.js +346 -0
  134. package/lib/workflows/main-helpers.js.map +1 -0
  135. package/lib/workflows/main-steps.d.ts.map +1 -1
  136. package/lib/workflows/main-steps.js +9 -134
  137. package/lib/workflows/main-steps.js.map +1 -1
  138. package/lib/workflows/main.d.ts +2 -6
  139. package/lib/workflows/main.d.ts.map +1 -1
  140. package/lib/workflows/main.js +44 -381
  141. package/lib/workflows/main.js.map +1 -1
  142. package/lib/workflows/pr.d.ts +2 -2
  143. package/lib/workflows/pr.d.ts.map +1 -1
  144. package/lib/workflows/pr.js +49 -137
  145. package/lib/workflows/pr.js.map +1 -1
  146. package/lib/workflows/prune.d.ts.map +1 -1
  147. package/lib/workflows/prune.js +2 -10
  148. package/lib/workflows/prune.js.map +1 -1
  149. package/lib/workflows/pull.d.ts.map +1 -1
  150. package/lib/workflows/pull.js +2 -24
  151. package/lib/workflows/pull.js.map +1 -1
  152. package/lib/workflows/release-merge.d.ts +12 -0
  153. package/lib/workflows/release-merge.d.ts.map +1 -0
  154. package/lib/workflows/release-merge.js +593 -0
  155. package/lib/workflows/release-merge.js.map +1 -0
  156. package/lib/workflows/release-notes.d.ts +13 -0
  157. package/lib/workflows/release-notes.d.ts.map +1 -0
  158. package/lib/workflows/release-notes.js +141 -0
  159. package/lib/workflows/release-notes.js.map +1 -0
  160. package/lib/workflows/release-recover.d.ts +5 -0
  161. package/lib/workflows/release-recover.d.ts.map +1 -0
  162. package/lib/workflows/release-recover.js +137 -0
  163. package/lib/workflows/release-recover.js.map +1 -0
  164. package/lib/workflows/release-sync.d.ts +7 -0
  165. package/lib/workflows/release-sync.d.ts.map +1 -0
  166. package/lib/workflows/release-sync.js +378 -0
  167. package/lib/workflows/release-sync.js.map +1 -0
  168. package/lib/workflows/release-utils.d.ts +36 -0
  169. package/lib/workflows/release-utils.d.ts.map +1 -0
  170. package/lib/workflows/release-utils.js +150 -0
  171. package/lib/workflows/release-utils.js.map +1 -0
  172. package/lib/workflows/release.d.ts.map +1 -1
  173. package/lib/workflows/release.js +92 -719
  174. package/lib/workflows/release.js.map +1 -1
  175. package/lib/workflows/repo-settings.d.ts +2 -2
  176. package/lib/workflows/repo-settings.d.ts.map +1 -1
  177. package/lib/workflows/repo-settings.js +33 -24
  178. package/lib/workflows/repo-settings.js.map +1 -1
  179. package/lib/workflows/reword.d.ts.map +1 -1
  180. package/lib/workflows/reword.js +154 -151
  181. package/lib/workflows/reword.js.map +1 -1
  182. package/lib/workflows/security-gate.d.ts.map +1 -1
  183. package/lib/workflows/security-gate.js +15 -75
  184. package/lib/workflows/security-gate.js.map +1 -1
  185. package/lib/workflows/settings.d.ts +3 -1
  186. package/lib/workflows/settings.d.ts.map +1 -1
  187. package/lib/workflows/settings.js +319 -19
  188. package/lib/workflows/settings.js.map +1 -1
  189. package/lib/workflows/submodules.d.ts +6 -0
  190. package/lib/workflows/submodules.d.ts.map +1 -0
  191. package/lib/workflows/submodules.js +344 -0
  192. package/lib/workflows/submodules.js.map +1 -0
  193. package/lib/workflows/trello-menu.d.ts +2 -5
  194. package/lib/workflows/trello-menu.d.ts.map +1 -1
  195. package/lib/workflows/trello-menu.js +67 -228
  196. package/lib/workflows/trello-menu.js.map +1 -1
  197. package/package.json +4 -6
  198. package/prompts/branch-name-prompt.md +4 -0
  199. package/prompts/commit-message-prompt.md +12 -0
  200. package/prompts/issue-prompt.md +19 -0
  201. package/prompts/issue-review.with-context.prompt.yml +77 -0
  202. package/prompts/pr-prompt.md +14 -0
  203. package/prompts/release-notes-prompt.md +35 -0
  204. package/prompts/repo-description-prompt.md +1 -0
  205. package/prompts/security-gate-prompt.md +80 -0
@@ -1,38 +1,38 @@
1
1
  /**
2
- * Copilot CLI setup helper (moved from `setup.ts`)
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 { findBestCopilotBinary, MIN_COPILOT_VERSION, parseParts } from '../api/copilot-sdk.js';
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, execAsync } from '../utils/exec.js';
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
- * Check Copilot CLI version and warn if outdated.
14
- * Uses shared utility from copilot-sdk.ts.
15
- */
16
- export const checkCopilotVersion = () => {
17
- const best = findBestCopilotBinary();
18
- if (!best) {
19
- return false;
20
- }
21
- const currentNum = parseParts(best.version);
22
- const minNum = parseParts(MIN_COPILOT_VERSION);
23
- if (currentNum < minNum) {
24
- log.error(`Copilot CLI version ${best.version} is outdated. Minimum required: ${MIN_COPILOT_VERSION}`);
25
- log.info('The Copilot SDK requires CLI version 0.0.400+ for session/server support.');
26
- log.info('Please upgrade with: sudo npm install -g @github/copilot');
27
- log.info('Or visit: https://github.com/github/copilot-cli/releases');
28
- return false;
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
- // Update PATH so CopilotClient can find the newest binary
31
- const binDir = best.path.slice(0, best.path.lastIndexOf('/'));
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
- const authOptions = [
188
- { label: 'Already authenticated with GitHub CLI (skip auth)', value: 'already' },
189
- { label: 'Authenticate now (opens browser for GitHub OAuth)', value: 'auth' },
190
- { label: 'Skip for now (authenticate later)', value: 'skip' },
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
- else if (authChoice === 'skip') {
215
- log.info('Skipping authentication for now. You can run `gh auth login` later.');
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
- * Interactive installer and authenticator for Copilot CLI
211
+ * Check Copilot API access by testing token against the models endpoint.
223
212
  */
224
- export const setupGitHubCopilotInteractive = async () => {
225
- const platform = os.platform();
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
- // Now check/setup Copilot CLI
250
- // Check if Copilot CLI is available
251
- const copilotAvailable = commandExists('copilot');
252
- if (copilotAvailable) {
253
- // Note about premium models that may require enablement.
254
- log.success('Copilot ready to use');
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
- installOptions = [
285
- { label: 'Download from GitHub releases (manual)', value: 'download' },
286
- { label: 'npm: npm install -g @github/copilot', value: 'npm' },
287
- { label: 'Curl installer: curl -fsSL https://gh.io/copilot-install | bash', value: 'curl' },
288
- ];
289
- }
290
- console.log('');
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
- if (installCommand) {
332
- console.log('');
333
- const spinner = log.spinner();
334
- spinner.start(`Installing Copilot via ${choice}...`);
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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"}
@@ -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 so users have model choices available
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
- if (!fs.existsSync(modelFile)) {
87
- fs.writeFileSync(modelFile, JSON.stringify(defaultModels, null, 2), 'utf8');
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":"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"}
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,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,GAAG,SAAS,oBAAoB,CAAA;YAClD,MAAM,aAAa,GAAG;gBACpB,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBACxD,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBACpD,EAAE,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE;gBACpE,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE;gBAChE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE;gBAC9D,EAAE,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,EAAE;aAC3D,CAAA;YAED,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC3E,GAAG,CAAC,IAAI,CAAC,uCAAuC,SAAS,EAAE,CAAC,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,0BAA2B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;QAC/D,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * GitLab integration setup
3
+ */
4
+ export declare const setupGitlabConfigInteractive: () => boolean;
5
+ //# sourceMappingURL=gitlab-setup.d.ts.map
@@ -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":"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,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAA;AAEzC,MAAM,eAAe,GAAG,GAAkB,EAAE;IAC1C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAClD,IAAI,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAA;QAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;YAAE,OAAO,KAAK,CAAA;IAC9C,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAY,EAAE;IACxD,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACpE,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACpE,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;IAC7D,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;IAE7D,MAAM,WAAW,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAA;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAA;IAE9B,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IAExD,MAAM,aAAa,GAAG,eAAe,EAAE,CAAA;IACvC,IAAI,KAAK,GAAG,EAAE,CAAA;IAEd,IAAI,aAAa,EAAE,CAAC;QAClB,GAAG,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;QAC9C,IAAI,WAAW;YAAE,KAAK,GAAG,aAAa,CAAA;IACxC,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAA;QACvD,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;QAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,2CAA2C,CAAC,CAAA;QACpE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,WAAW,CAAC,2DAA2D,CAAC,CAAA;YACvF,IAAI,MAAM;gBAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAA;;gBACpC,GAAG,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAA;QAC5E,CAAC;QACD,KAAK,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC,IAAI,EAAE,CAAA;QAClE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAC9B,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAA;QAClE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;YACtC,GAAG,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GACf,WAAW,CAAC,oDAAoD,CAAC,CAAC,IAAI,EAAE,IAAI,oBAAoB,CAAA;IAElG,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAA;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAA;IACtD,kBAAkB,EAAE,CAAA;IACpB,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7E,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAClE,GAAG,CAAC,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAA;QACtD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,aAAa,GAAG,gDAAgD,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,gBAAgB,KAAK,aAAa,WAAW,KAAK,CAAA;IAChJ,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAA;QAC7C,GAAG,CAAC,OAAO,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAClE,GAAG,CAAC,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAA;QAC1C,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA"}
@@ -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,OAyFnD,CAAA"}
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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"}