saros-proxy 0.7.4 → 0.9.0

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 (67) hide show
  1. package/README.md +74 -44
  2. package/dist/cli/daemon.js +4 -0
  3. package/dist/cli/daemon.js.map +1 -1
  4. package/dist/cli/dsh-config.d.ts +32 -0
  5. package/dist/cli/dsh-config.js +122 -0
  6. package/dist/cli/dsh-config.js.map +1 -0
  7. package/dist/cli/harness-models.d.ts +26 -2
  8. package/dist/cli/harness-models.js +192 -2
  9. package/dist/cli/harness-models.js.map +1 -1
  10. package/dist/cli/harness-sync.d.ts +3 -6
  11. package/dist/cli/harness-sync.js +14 -7
  12. package/dist/cli/harness-sync.js.map +1 -1
  13. package/dist/cli/help.js +2 -2
  14. package/dist/cli/omp-config.js +11 -1
  15. package/dist/cli/omp-config.js.map +1 -1
  16. package/dist/cli/overview.js +2 -1
  17. package/dist/cli/overview.js.map +1 -1
  18. package/dist/cli/pi-config.js +11 -1
  19. package/dist/cli/pi-config.js.map +1 -1
  20. package/dist/cli/setup.d.ts +6 -10
  21. package/dist/cli/setup.js +100 -232
  22. package/dist/cli/setup.js.map +1 -1
  23. package/dist/cli/ui.d.ts +0 -1
  24. package/dist/cli/ui.js +0 -16
  25. package/dist/cli/ui.js.map +1 -1
  26. package/dist/cli/usage.d.ts +12 -0
  27. package/dist/cli/usage.js +116 -0
  28. package/dist/cli/usage.js.map +1 -0
  29. package/dist/config.d.ts +13 -17
  30. package/dist/config.js +29 -78
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.d.ts +6 -5
  33. package/dist/constants.js +10 -5
  34. package/dist/constants.js.map +1 -1
  35. package/dist/index.js +7 -25
  36. package/dist/index.js.map +1 -1
  37. package/dist/model-stats.d.ts +20 -0
  38. package/dist/model-stats.js +135 -0
  39. package/dist/model-stats.js.map +1 -0
  40. package/dist/providers/commandcode.d.ts +17 -0
  41. package/dist/providers/commandcode.js +232 -0
  42. package/dist/providers/commandcode.js.map +1 -0
  43. package/dist/providers/index.d.ts +43 -0
  44. package/dist/providers/index.js +75 -0
  45. package/dist/providers/index.js.map +1 -0
  46. package/dist/providers/infer.d.ts +23 -0
  47. package/dist/providers/infer.js +13 -0
  48. package/dist/providers/infer.js.map +1 -0
  49. package/dist/providers/opencode-go.d.ts +4 -0
  50. package/dist/providers/opencode-go.js +179 -0
  51. package/dist/providers/opencode-go.js.map +1 -0
  52. package/dist/providers/types.d.ts +118 -0
  53. package/dist/providers/types.js +10 -0
  54. package/dist/providers/types.js.map +1 -0
  55. package/dist/proxy-logic.d.ts +46 -22
  56. package/dist/proxy-logic.js +146 -106
  57. package/dist/proxy-logic.js.map +1 -1
  58. package/dist/proxy.d.ts +20 -2
  59. package/dist/proxy.js +231 -57
  60. package/dist/proxy.js.map +1 -1
  61. package/dist/usage-client.d.ts +41 -0
  62. package/dist/usage-client.js +124 -0
  63. package/dist/usage-client.js.map +1 -0
  64. package/dist/validation.d.ts +5 -5
  65. package/dist/validation.js +7 -9
  66. package/dist/validation.js.map +1 -1
  67. package/package.json +6 -2
package/dist/cli/setup.js CHANGED
@@ -16,13 +16,13 @@ import { resolve as pathResolve, join as pathJoin, dirname } from 'node:path';
16
16
  import { fileURLToPath } from 'node:url';
17
17
  import chalk from 'chalk';
18
18
  import { encryptKey } from '../key-encryption.js';
19
- import { extractFirefoxAuthCookie, extractFirefoxWorkspaceIds } from '../firefox-cookies.js';
20
- import { scrapeDashboard } from '../scraper.js';
21
19
  import { getDefaultOpencodeConfigPath, updateOpencodeConfig, generateManualConfigSnippet, } from './opencode-config.js';
22
- import { DEFAULT_PORT, DEFAULT_HOST, DEFAULT_UPSTREAM_URL, DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MS, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_SCRAPE_INTERVAL_MS, DEFAULT_USAGE_THRESHOLD, } from '../constants.js';
20
+ import { DEFAULT_PORT, DEFAULT_HOST, DEFAULT_UPSTREAM_URL, DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MS, DEFAULT_REQUEST_TIMEOUT_MS, } from '../constants.js';
23
21
  import { isValidPort, isValidApiKey, isValidHttpsUrl, isValidPositiveInt } from '../validation.js';
24
22
  import { getDefaultConfigPath } from '../config.js';
23
+ import { extractKeys, identifyKey, inferProvider } from '../providers/index.js';
25
24
  import * as ui from './ui.js';
25
+ import { maskKey } from '../logger.js';
26
26
  // ---------------------------------------------------------------------------
27
27
  // Constants
28
28
  // ---------------------------------------------------------------------------
@@ -59,9 +59,6 @@ export function parseSetupArgs(argv = process.argv.slice(2)) {
59
59
  case '--no-encryption':
60
60
  opts.noEncryption = true;
61
61
  break;
62
- case '--no-scraping':
63
- opts.noScraping = true;
64
- break;
65
62
  case '--no-smoke-test':
66
63
  opts.noSmokeTest = true;
67
64
  break;
@@ -81,7 +78,7 @@ export function parseSetupArgs(argv = process.argv.slice(2)) {
81
78
  }
82
79
  return opts;
83
80
  }
84
- /** Parse keys from comma-separated label:key pairs. */
81
+ /** Parse keys from comma-separated label:key[:provider] triples. */
85
82
  export function parseKeysFromArgs(keysStr) {
86
83
  if (!keysStr.trim())
87
84
  return [];
@@ -89,10 +86,16 @@ export function parseKeysFromArgs(keysStr) {
89
86
  const trimmed = pair.trim();
90
87
  const [label, ...rest] = trimmed.split(':');
91
88
  const key = rest.join(':');
89
+ // Optional third segment: provider (needed for commandcode sk- console keys,
90
+ // whose sk- prefix is ambiguous with opencode-go)
91
+ const providerRaw = key.includes(':') ? key.split(':').pop()?.trim() : undefined;
92
+ if (key.includes(':') && (providerRaw === 'commandcode' || providerRaw === 'opencode-go')) {
93
+ return { label: label ?? '', key: key.slice(0, key.lastIndexOf(':')), provider: providerRaw };
94
+ }
92
95
  return { label: label ?? '', key };
93
96
  });
94
97
  }
95
- /** Parse keys from file (one per line: label:key). */
98
+ /** Parse keys from file (one per line: label:key[:provider]). */
96
99
  export function parseKeysFromFile(filePath) {
97
100
  const content = readFileSync(filePath, 'utf-8');
98
101
  return content
@@ -102,6 +105,10 @@ export function parseKeysFromFile(filePath) {
102
105
  .map((line) => {
103
106
  const [label, ...rest] = line.split(':');
104
107
  const key = rest.join(':');
108
+ const providerRaw = key.includes(':') ? key.split(':').pop()?.trim() : undefined;
109
+ if (key.includes(':') && (providerRaw === 'commandcode' || providerRaw === 'opencode-go')) {
110
+ return { label: label ?? '', key: key.slice(0, key.lastIndexOf(':')), provider: providerRaw };
111
+ }
105
112
  return { label: label ?? '', key };
106
113
  });
107
114
  }
@@ -138,7 +145,7 @@ export function validateNonInteractiveArgs(opts) {
138
145
  if (!k.label)
139
146
  errors.push({ field: 'keys', message: 'Key label cannot be empty' });
140
147
  if (!isValidApiKey(k.key)) {
141
- errors.push({ field: 'keys', message: `Key "${k.label}" must start with "sk-" and be at least 20 characters` });
148
+ errors.push({ field: 'keys', message: `Key "${k.label}" must start with "sk-" or "user_" and be at least 20 characters` });
142
149
  }
143
150
  }
144
151
  }
@@ -194,14 +201,6 @@ function saveEnvVar(name, value) {
194
201
  return false;
195
202
  }
196
203
  }
197
- // ---------------------------------------------------------------------------
198
- // Scraping accounts setup
199
- // ---------------------------------------------------------------------------
200
- function ordinal(n) {
201
- const s = ['th', 'st', 'nd', 'rd'];
202
- const v = n % 100;
203
- return n + (s[(v - 20) % 10] || s[v] || s[0] || 'th');
204
- }
205
204
  export function generateYaml(cfg, encryptionEnabled = false) {
206
205
  const config = {
207
206
  port: cfg.port,
@@ -211,16 +210,14 @@ export function generateYaml(cfg, encryptionEnabled = false) {
211
210
  circuitBreakerCooldownMs: DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MS,
212
211
  requestTimeoutMs: DEFAULT_REQUEST_TIMEOUT_MS,
213
212
  allowedOrigins: ['http://localhost:*', 'http://127.0.0.1:*'],
214
- keys: cfg.keys,
213
+ keys: cfg.keys.map((k) => ({
214
+ label: k.label,
215
+ key: k.key,
216
+ // Persist the provider so encrypted keys (prefix hidden) still route
217
+ // to the right upstream after a restart.
218
+ provider: k.provider ?? inferProvider(k),
219
+ })),
215
220
  };
216
- if (cfg.scrapingAccounts && cfg.scrapingAccounts.length > 0) {
217
- config.scraping = {
218
- enabled: true,
219
- intervalMs: cfg.scrapingIntervalMs ?? DEFAULT_SCRAPE_INTERVAL_MS,
220
- usageThreshold: cfg.scrapingThreshold ?? DEFAULT_USAGE_THRESHOLD,
221
- accounts: cfg.scrapingAccounts,
222
- };
223
- }
224
221
  let yaml = stringifyYaml(config);
225
222
  if (encryptionEnabled) {
226
223
  yaml = `# [!] API keys are encrypted with AES-256-GCM\n# Set OPENCODE_GO_ENCRYPTION_KEY environment variable to start the proxy\n\n${yaml}`;
@@ -247,8 +244,13 @@ export async function testProxy(port, timeoutMs = 20_000, cwd = PACKAGE_ROOT, en
247
244
  const entryPoint = pathResolve(PACKAGE_ROOT, 'src', 'index.ts');
248
245
  // Use single-command form with shell:true to avoid DEP0190 deprecation
249
246
  // (Node.js deprecates passing both shell:true and separate args)
247
+ // Invoke the repo-local tsx directly: `npx tsx` with a cwd outside the
248
+ // package downloads tsx into the shared npx cache, and two concurrent
249
+ // callers race the extraction (TAR_ENTRY_ERROR -> proxy exits 1).
250
+ const tsxCli = pathResolve(PACKAGE_ROOT, 'node_modules', 'tsx', 'dist', 'cli.mjs');
251
+ const runner = existsSync(tsxCli) ? `"${process.execPath}" "${tsxCli}"` : 'npx tsx';
250
252
  const configFlag = configPath ? ` --config "${configPath}"` : '';
251
- const cmd = `npx tsx "${entryPoint}" serve --port ${port}${configFlag}`;
253
+ const cmd = `${runner} "${entryPoint}" serve --port ${port}${configFlag}`;
252
254
  const child = spawn(cmd, [], {
253
255
  cwd,
254
256
  stdio: ['ignore', 'pipe', 'pipe'],
@@ -369,15 +371,6 @@ export function backupExistingConfig(configDir = dirname(getDefaultConfigPath())
369
371
  return false;
370
372
  }
371
373
  }
372
- function formatUsageLine(usage) {
373
- if (!usage)
374
- return '';
375
- return [
376
- usage.rolling == null ? '' : `Rolling: ${usage.rolling}%`,
377
- usage.weekly == null ? '' : `Weekly: ${usage.weekly}%`,
378
- usage.monthly == null ? '' : `Monthly: ${usage.monthly}%`,
379
- ].filter(Boolean).join(' ');
380
- }
381
374
  async function promptServerConfig() {
382
375
  const portStr = ui.assertNotCancelled(await ui.text({
383
376
  message: 'Proxy port',
@@ -442,56 +435,78 @@ async function promptEncryption() {
442
435
  }
443
436
  return { encryptionKey, envSaved };
444
437
  }
445
- async function promptScrapingConfig() {
446
- const wantScraping = ui.assertNotCancelled(await ui.confirm({
447
- message: 'Enable usage-based account switching?',
448
- initialValue: true,
449
- }));
450
- if (!wantScraping)
451
- return null;
452
- ui.step('Usage-Based Switching Config');
453
- const thresholdStr = ui.assertNotCancelled(await ui.text({
454
- message: 'Usage threshold (switch when usage exceeds this %)',
455
- placeholder: '70',
456
- validate: (v) => {
457
- if (v && (!/^\d+$/.test(v) || Number.parseInt(v) < 1 || Number.parseInt(v) > 100))
458
- return 'Enter a number between 1 and 100.';
459
- },
460
- }));
461
- const threshold = Number.parseInt(thresholdStr || '70', 10);
462
- const intervalStr = ui.assertNotCancelled(await ui.text({
463
- message: 'Scrape interval in seconds',
464
- placeholder: '90',
465
- validate: (v) => {
466
- if (v && (!/^\d+$/.test(v) || Number.parseInt(v) < 10))
467
- return 'Enter a number of seconds (minimum 10).';
468
- },
469
- }));
470
- const intervalMs = Number.parseInt(intervalStr || '90', 10) * 1000;
471
- return { accounts: [], threshold, intervalMs };
472
- }
473
438
  async function collectAccountCredentials(opts) {
474
439
  const keys = [];
475
- const scrapingAccounts = [];
476
- const seenCookies = new Set();
477
- const seenWorkspaceIds = new Set();
440
+ // Paste-a-key mode: drop any text containing keys; saros extracts and
441
+ // identifies each one by pinging the candidate providers (smoke test).
442
+ const pasteMode = ui.assertNotCancelled(await ui.confirm({
443
+ message: 'Paste API keys instead of typing them? (auto-detects the provider)',
444
+ initialValue: false,
445
+ }));
446
+ if (pasteMode) {
447
+ return collectPastedKeys(opts);
448
+ }
478
449
  for (let i = 0; i < opts.numAccounts; i++) {
479
450
  ui.step(`Account ${i + 1} of ${opts.numAccounts}`);
480
451
  const label = await promptAccountLabel(i, opts.numAccounts);
481
452
  const key = await promptAccountApiKey();
453
+ const provider = inferProvider({ label, key });
482
454
  const finalKey = opts.encryptionKey ? encryptKey(key, opts.encryptionKey) : key;
483
- keys.push({ label, key: finalKey });
484
- ui.success(`"${label}" API key configured`);
485
- if (opts.wantScraping) {
486
- const scraping = await collectScrapingCredentials(i, opts.numAccounts, opts.encryptionKey, seenCookies, seenWorkspaceIds);
487
- if (scraping)
488
- scrapingAccounts.push(scraping);
455
+ keys.push({ label, key: finalKey, provider });
456
+ ui.success(`"${label}" API key configured (${provider})`);
457
+ }
458
+ return keys;
459
+ }
460
+ /**
461
+ * Paste mode: accept arbitrary text (notes, .env dumps, chat messages),
462
+ * extract every key-looking token, identify its provider with a live smoke
463
+ * test, and let the user label each one.
464
+ */
465
+ async function collectPastedKeys(opts) {
466
+ const keys = [];
467
+ let batchIndex = 0;
468
+ for (;;) {
469
+ batchIndex++;
470
+ const pasted = ui.assertNotCancelled(await ui.text({
471
+ message: `Paste text containing API key(s) — batch ${batchIndex} (empty to finish)`,
472
+ placeholder: 'e.g. user_abc123… or sk-abc123… (leave blank when done)',
473
+ validate: () => undefined,
474
+ }));
475
+ const found = extractKeys(pasted ?? '');
476
+ if (found.length === 0) {
477
+ if (keys.length > 0)
478
+ break;
479
+ ui.warn('No API keys found in that text — try again or leave blank to finish.');
480
+ if (batchIndex > 1)
481
+ break;
482
+ continue;
483
+ }
484
+ for (const key of found) {
485
+ ui.step(`Identifying ${maskKey(key)}...`);
486
+ const id = await identifyKey(key);
487
+ if (id.provider === null) {
488
+ ui.warn(`Could not verify ${maskKey(key)} — ${id.confidence}. Skipped.`);
489
+ for (const a of id.attempts) {
490
+ ui.info(` ${a.provider}: ${a.status}${a.detail ? ` (${a.detail})` : ''}`);
491
+ }
492
+ continue;
493
+ }
494
+ if (id.confidence === 'unverified') {
495
+ ui.warn(`${maskKey(key)} looks like ${id.provider} (prefix match only — offline)`);
496
+ }
497
+ const detail = id.attempts.find((a) => a.provider === id.provider)?.detail;
498
+ if (detail)
499
+ ui.info(` ${detail}`);
500
+ const label = await promptAccountLabel(batchIndex - 1 + keys.length, found.length + keys.length);
501
+ keys.push({
502
+ label,
503
+ key: opts.encryptionKey ? encryptKey(key, opts.encryptionKey) : key,
504
+ provider: id.provider,
505
+ });
506
+ ui.success(`"${label}" added — provider: ${id.provider}`);
489
507
  }
490
508
  }
491
- return {
492
- keys,
493
- scrapingAccounts: opts.wantScraping && scrapingAccounts.length > 0 ? scrapingAccounts : undefined,
494
- };
509
+ return keys;
495
510
  }
496
511
  async function promptAccountLabel(index, total) {
497
512
  const placeholder = `account${index + 1}`;
@@ -510,153 +525,10 @@ async function promptAccountApiKey() {
510
525
  message: 'API key',
511
526
  validate: (v) => {
512
527
  if (!v || !isValidApiKey(v))
513
- return 'API key must start with "sk-" and be at least 20 characters long.';
528
+ return 'API key must start with "sk-" or "user_" and be at least 20 characters long.';
514
529
  },
515
530
  }));
516
531
  }
517
- async function collectScrapingCredentials(index, total, encryptionKey, seenCookies, seenWorkspaceIds) {
518
- ui.info(`Log into ${index === 0 ? 'first' : ordinal(index + 1)} account in Firefox, then press Enter`);
519
- ui.assertNotCancelled(await ui.text({
520
- message: 'Press Enter when ready (log into Firefox first)',
521
- placeholder: 'Press Enter to continue',
522
- validate: () => undefined,
523
- }));
524
- const authCookie = await extractOrPromptAuthCookie(seenCookies);
525
- const workspaceId = await selectOrPromptWorkspace(seenWorkspaceIds);
526
- const validatedId = await validateAndRetry(workspaceId, authCookie);
527
- if (!validatedId)
528
- return null;
529
- seenCookies.add(authCookie);
530
- seenWorkspaceIds.add(validatedId);
531
- return {
532
- workspaceId: validatedId,
533
- authCookie: encryptionKey ? encryptKey(authCookie, encryptionKey) : authCookie,
534
- };
535
- }
536
- async function extractOrPromptAuthCookie(seenCookies) {
537
- const extractSpinner = ui.spinner();
538
- extractSpinner.start('Extracting auth cookie from Firefox...');
539
- const cookieResult = extractFirefoxAuthCookie();
540
- if (cookieResult.cookie) {
541
- extractSpinner.stop('Extracted');
542
- }
543
- else {
544
- extractSpinner.error('No cookie found');
545
- }
546
- let authCookie = cookieResult.cookie ?? null;
547
- if (authCookie) {
548
- ui.success('Auth cookie extracted from Firefox');
549
- }
550
- else {
551
- ui.warn(`Firefox extraction: ${cookieResult.error || 'No cookie found'}`);
552
- authCookie = ui.assertNotCancelled(await ui.text({
553
- message: 'Auth cookie value (from Firefox DevTools)',
554
- validate: (v) => {
555
- if (!v || v.length < 10)
556
- return 'Cookie value must be at least 10 characters.';
557
- },
558
- }));
559
- }
560
- if (seenCookies.has(authCookie)) {
561
- ui.warn('This cookie matches a previous account. Did you log out?');
562
- const retry = ui.assertNotCancelled(await ui.confirm({
563
- message: 'Try again with a different account?',
564
- initialValue: true,
565
- }));
566
- if (retry) {
567
- authCookie = ui.assertNotCancelled(await ui.text({
568
- message: 'Auth cookie value (from Firefox DevTools)',
569
- validate: (v) => {
570
- if (!v || v.length < 10)
571
- return 'Cookie value must be at least 10 characters.';
572
- },
573
- }));
574
- }
575
- }
576
- return authCookie;
577
- }
578
- async function selectOrPromptWorkspace(seenWorkspaceIds) {
579
- const workspaceIds = extractFirefoxWorkspaceIds();
580
- let workspaceId;
581
- if (workspaceIds.length === 0) {
582
- workspaceId = ui.assertNotCancelled(await ui.text({
583
- message: 'Workspace ID (wrk_...)',
584
- validate: (v) => {
585
- if (!v || !/^wrk_[A-Za-z0-9]+$/.test(v))
586
- return 'Must match format: wrk_... (e.g. wrk_abc123).';
587
- },
588
- }));
589
- }
590
- else if (workspaceIds.length === 1) {
591
- workspaceId = workspaceIds[0];
592
- ui.success(`Found workspace: ${workspaceId}`);
593
- }
594
- else {
595
- ui.listWorkspaces(workspaceIds);
596
- const choiceStr = ui.assertNotCancelled(await ui.text({
597
- message: 'Enter the number for this account',
598
- placeholder: '1',
599
- validate: (v) => {
600
- if (v && (!/^\d+$/.test(v) || Number.parseInt(v) < 1 || Number.parseInt(v) > workspaceIds.length))
601
- return `Enter a number between 1 and ${workspaceIds.length}.`;
602
- },
603
- }));
604
- workspaceId = workspaceIds[Number.parseInt(choiceStr || '1', 10) - 1];
605
- }
606
- if (seenWorkspaceIds.has(workspaceId)) {
607
- ui.warn('This workspace ID belongs to another account.');
608
- const retry = ui.assertNotCancelled(await ui.confirm({
609
- message: 'Enter a different workspace ID?',
610
- initialValue: true,
611
- }));
612
- if (retry) {
613
- workspaceId = ui.assertNotCancelled(await ui.text({
614
- message: 'Workspace ID (wrk_...)',
615
- validate: (v) => {
616
- if (!v || !/^wrk_[A-Za-z0-9]+$/.test(v))
617
- return 'Must match format: wrk_... (e.g. wrk_abc123).';
618
- },
619
- }));
620
- }
621
- }
622
- return workspaceId;
623
- }
624
- async function validateAndRetry(workspaceId, authCookie) {
625
- const vSpinner = ui.spinner();
626
- vSpinner.start('Validating cookie against opencode.ai...');
627
- const scrapeResult = await scrapeDashboard(workspaceId, authCookie);
628
- if (scrapeResult.success) {
629
- vSpinner.stop('Validated');
630
- ui.success(`Cookie validated — ${formatUsageLine(scrapeResult.usage)}`);
631
- return workspaceId;
632
- }
633
- vSpinner.error('Validation failed');
634
- ui.error(`Validation failed: ${scrapeResult.error || 'Unknown error'}`);
635
- const retry = ui.assertNotCancelled(await ui.confirm({
636
- message: 'Try again?',
637
- initialValue: true,
638
- }));
639
- if (!retry)
640
- return null;
641
- const newId = ui.assertNotCancelled(await ui.text({
642
- message: 'Workspace ID (wrk_...)',
643
- validate: (v) => {
644
- if (!v || !/^wrk_[A-Za-z0-9]+$/.test(v))
645
- return 'Must match format: wrk_... (e.g. wrk_abc123).';
646
- },
647
- }));
648
- const retrySpinner = ui.spinner();
649
- retrySpinner.start(`Retrying validation with workspace ${newId}...`);
650
- const retryResult = await scrapeDashboard(newId, authCookie);
651
- if (retryResult.success) {
652
- retrySpinner.stop('Validated');
653
- ui.success(`Cookie validated — ${formatUsageLine(retryResult.usage)}`);
654
- return newId;
655
- }
656
- retrySpinner.error('Validation failed');
657
- ui.error(`Still failed: ${retryResult.error || 'Unknown'}`);
658
- return null;
659
- }
660
532
  async function writeConfigFile(cfg, configDir, encryptionEnabled) {
661
533
  const yaml = generateYaml(cfg, encryptionEnabled);
662
534
  backupExistingConfig(configDir);
@@ -775,10 +647,14 @@ export async function setup(configDir, skipSmokeTest) {
775
647
  else if (opts.encryptionKey) {
776
648
  encryptionKey = opts.encryptionKey;
777
649
  }
650
+ // Infer provider BEFORE encryption: once encrypted, the prefix is hidden
651
+ // (enc:scrypt:…) and inference would misroute user_ commandcode keys to
652
+ // opencode-go. The explicit provider column still wins.
653
+ const withProvider = keys.map((k) => ({ ...k, provider: k.provider ?? inferProvider(k) }));
778
654
  // Encrypt keys if needed
779
655
  const finalKeys = encryptionKey
780
- ? keys.map((k) => ({ ...k, key: encryptKey(k.key, encryptionKey) }))
781
- : keys;
656
+ ? withProvider.map((k) => ({ ...k, key: encryptKey(k.key, encryptionKey) }))
657
+ : withProvider;
782
658
  const cfg = {
783
659
  port: opts.port ?? DEFAULT_PORT,
784
660
  upstreamBaseUrl: opts.upstream ?? DEFAULT_UPSTREAM_URL,
@@ -824,22 +700,14 @@ export async function setup(configDir, skipSmokeTest) {
824
700
  const { port, upstreamBaseUrl } = await promptServerConfig();
825
701
  const numAccounts = await promptAccountCount();
826
702
  const { encryptionKey, envSaved } = await promptEncryption();
827
- const scraping = await promptScrapingConfig();
828
- const { keys, scrapingAccounts } = await collectAccountCredentials({
703
+ const keys = await collectAccountCredentials({
829
704
  numAccounts,
830
705
  encryptionKey,
831
- wantScraping: scraping !== null,
832
706
  });
833
- if (encryptionKey && scrapingAccounts && scrapingAccounts.length > 0) {
834
- ui.success(`${scrapingAccounts.length} cookie(s) encrypted`);
835
- }
836
707
  const cfg = {
837
708
  port,
838
709
  upstreamBaseUrl,
839
710
  keys,
840
- scrapingAccounts,
841
- scrapingThreshold: scraping?.threshold,
842
- scrapingIntervalMs: scraping?.intervalMs,
843
711
  };
844
712
  const configPath = await writeConfigFile(cfg, effectiveConfigDir, encryptionKey !== undefined);
845
713
  await runSmokeTestIfEnabled({
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
package/dist/cli/ui.d.ts CHANGED
@@ -23,5 +23,4 @@ export declare function step(title: string): void;
23
23
  export declare function panel(title: string, body: string): void;
24
24
  export declare function printConfigSummary(cfg: SetupConfig, encryptionEnabled?: boolean, envSaved?: boolean): void;
25
25
  export declare function printNextSteps(port: number): void;
26
- export declare function listWorkspaces(workspaceIds: string[]): void;
27
26
  export declare function assertNotCancelled<T>(value: T | symbol): T;
package/dist/cli/ui.js CHANGED
@@ -60,9 +60,6 @@ export function printConfigSummary(cfg, encryptionEnabled = false, envSaved = fa
60
60
  lines.push(`${chalk.dim(k.label.padEnd(16))} ${maskKey(k.key)}`);
61
61
  }
62
62
  }
63
- if (cfg.scrapingAccounts && cfg.scrapingAccounts.length > 0) {
64
- lines.push('', `${chalk.dim('Scraping accounts:')} ${cfg.scrapingAccounts.length}`, `${chalk.dim('Usage threshold:')} ${cfg.scrapingThreshold ?? 50}%`, `${chalk.dim('Check interval:')} ${((cfg.scrapingIntervalMs ?? 90_000) / 1000)}s`);
65
- }
66
63
  note(lines.join('\n'), 'Configuration Summary');
67
64
  if (encryptionEnabled && !envSaved) {
68
65
  log.warn('Your API keys are encrypted.');
@@ -91,19 +88,6 @@ export function printNextSteps(port) {
91
88
  console.log(` ${bullet} Edit config.yaml directly (circuit breaker, CORS, timeouts)`);
92
89
  }
93
90
  // ---------------------------------------------------------------------------
94
- // Workspace list
95
- // ---------------------------------------------------------------------------
96
- export function listWorkspaces(workspaceIds) {
97
- info('Workspaces found in Firefox history:');
98
- for (let w = 0; w < workspaceIds.length; w++) {
99
- const number = `${w + 1})`;
100
- const ws = workspaceIds[w];
101
- const url = `https://opencode.ai/workspace/${ws}/go`;
102
- console.log(` ${chalk.cyan(number)} ${ws}`);
103
- console.log(` ${chalk.dim(url)}`);
104
- }
105
- }
106
- // ---------------------------------------------------------------------------
107
91
  // Cancellation helper
108
92
  // ---------------------------------------------------------------------------
109
93
  export function assertNotCancelled(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"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"}