saros-proxy 0.10.1 → 0.11.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 (73) hide show
  1. package/README.md +187 -29
  2. package/dist/cli/daemon.d.ts +38 -6
  3. package/dist/cli/daemon.js +524 -109
  4. package/dist/cli/daemon.js.map +1 -1
  5. package/dist/cli/dsh-config.js +34 -9
  6. package/dist/cli/dsh-config.js.map +1 -1
  7. package/dist/cli/help.js +3 -0
  8. package/dist/cli/help.js.map +1 -1
  9. package/dist/cli/key-state.d.ts +21 -0
  10. package/dist/cli/key-state.js +57 -0
  11. package/dist/cli/key-state.js.map +1 -0
  12. package/dist/cli/keys.d.ts +28 -0
  13. package/dist/cli/keys.js +185 -0
  14. package/dist/cli/keys.js.map +1 -0
  15. package/dist/cli/opencode-config.js +3 -3
  16. package/dist/cli/opencode-config.js.map +1 -1
  17. package/dist/cli/overview.js +6 -1
  18. package/dist/cli/overview.js.map +1 -1
  19. package/dist/cli/secret.d.ts +31 -0
  20. package/dist/cli/secret.js +89 -0
  21. package/dist/cli/secret.js.map +1 -0
  22. package/dist/cli/usage.js +7 -0
  23. package/dist/cli/usage.js.map +1 -1
  24. package/dist/config.d.ts +15 -1
  25. package/dist/config.js +98 -25
  26. package/dist/config.js.map +1 -1
  27. package/dist/constants.d.ts +2 -1
  28. package/dist/constants.js +2 -160
  29. package/dist/constants.js.map +1 -1
  30. package/dist/debug-buffer.d.ts +58 -0
  31. package/dist/debug-buffer.js +42 -0
  32. package/dist/debug-buffer.js.map +1 -0
  33. package/dist/index.js +30 -4
  34. package/dist/index.js.map +1 -1
  35. package/dist/log-redact.d.ts +18 -0
  36. package/dist/log-redact.js +41 -0
  37. package/dist/log-redact.js.map +1 -0
  38. package/dist/logger.d.ts +6 -0
  39. package/dist/logger.js +30 -0
  40. package/dist/logger.js.map +1 -1
  41. package/dist/models-catalog.d.ts +20 -0
  42. package/dist/models-catalog.js +55 -0
  43. package/dist/models-catalog.js.map +1 -0
  44. package/dist/models-fetcher.d.ts +2 -2
  45. package/dist/models-fetcher.js +4 -4
  46. package/dist/models-fetcher.js.map +1 -1
  47. package/dist/models-sync.d.ts +1 -1
  48. package/dist/models-sync.js +3 -3
  49. package/dist/models-sync.js.map +1 -1
  50. package/dist/providers/infer.d.ts +11 -0
  51. package/dist/providers/infer.js.map +1 -1
  52. package/dist/proxy-logic.d.ts +74 -3
  53. package/dist/proxy-logic.js +111 -9
  54. package/dist/proxy-logic.js.map +1 -1
  55. package/dist/proxy.d.ts +33 -1
  56. package/dist/proxy.js +351 -49
  57. package/dist/proxy.js.map +1 -1
  58. package/dist/secrets/boot.d.ts +33 -0
  59. package/dist/secrets/boot.js +65 -0
  60. package/dist/secrets/boot.js.map +1 -0
  61. package/dist/secrets/envelope.d.ts +44 -0
  62. package/dist/secrets/envelope.js +132 -0
  63. package/dist/secrets/envelope.js.map +1 -0
  64. package/dist/secrets/source.d.ts +130 -0
  65. package/dist/secrets/source.js +332 -0
  66. package/dist/secrets/source.js.map +1 -0
  67. package/dist/token-usage.js +6 -3
  68. package/dist/token-usage.js.map +1 -1
  69. package/dist/validation.d.ts +3 -3
  70. package/dist/validation.js +3 -3
  71. package/dist/validation.js.map +1 -1
  72. package/models.json +1440 -0
  73. package/package.json +2 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * secret.ts — `saros-proxy secret set|status`.
3
+ *
4
+ * `set` stores the envelope passphrase through the platform's own credential
5
+ * CLI, so the user never edits a file and the value is never echoed or logged.
6
+ * `status` reports which source would win and whether the store is populated;
7
+ * it prints no secret material.
8
+ */
9
+ import chalk from 'chalk';
10
+ import { resolveConfigPath } from '../config.js';
11
+ import { configHasEnvelopeKeys } from '../secrets/boot.js';
12
+ import { getSecretStatus, isInteractive, promptHidden, readStdinLine, storePassphrase, } from '../secrets/source.js';
13
+ function storeOptions(options) {
14
+ return {
15
+ env: options.env,
16
+ platform: options.platform,
17
+ username: options.username,
18
+ run: options.run,
19
+ dpapiPath: options.dpapiPath,
20
+ };
21
+ }
22
+ /** Prompt twice on a TTY; read one line when stdin is piped. */
23
+ export async function readNewPassphrase(options = {}) {
24
+ const input = options.input ?? process.stdin;
25
+ const output = options.output ?? process.stderr;
26
+ if (!isInteractive(input)) {
27
+ const line = await readStdinLine(input);
28
+ return line === null
29
+ ? { ok: false, reason: 'no passphrase on stdin (pipe one line or run in a terminal)' }
30
+ : { ok: true, value: line };
31
+ }
32
+ const first = await promptHidden({ input, output, question: 'New passphrase: ' });
33
+ if (first === null)
34
+ return { ok: false, reason: 'no passphrase entered' };
35
+ const second = await promptHidden({ input, output, question: 'Confirm passphrase: ' });
36
+ if (second !== first)
37
+ return { ok: false, reason: 'passphrases do not match' };
38
+ return { ok: true, value: first };
39
+ }
40
+ /** Below this length the passphrase is the weak link, not scrypt. */
41
+ export const MIN_PASSPHRASE_LENGTH = 12;
42
+ /** Store the passphrase in the OS store. Returns the process exit code. */
43
+ export async function runSecretSet(options = {}) {
44
+ const resolved = await readNewPassphrase(options);
45
+ if (!resolved.ok) {
46
+ console.error(chalk.red(`✗ ${resolved.reason}`));
47
+ return 1;
48
+ }
49
+ if (resolved.value.length < MIN_PASSPHRASE_LENGTH) {
50
+ console.error(chalk.yellow(`⚠ Passphrase is shorter than ${MIN_PASSPHRASE_LENGTH} characters. ` +
51
+ 'scrypt makes offline guessing expensive, but passphrase entropy is what protects the keys.'));
52
+ }
53
+ const stored = storePassphrase(resolved.value, storeOptions(options));
54
+ if (!stored.ok) {
55
+ console.error(chalk.red(`✗ Could not store the passphrase: ${stored.reason}`));
56
+ return 1;
57
+ }
58
+ console.log(chalk.green(`✓ Passphrase stored in ${stored.backend}.`));
59
+ console.log(chalk.dim('Resolution order: SAROS_PASSPHRASE > OS store > TTY prompt (foreground serve).'));
60
+ return 0;
61
+ }
62
+ /** Which source would be used, without printing any value. Exit code 0. */
63
+ export async function runSecretStatus(options = {}) {
64
+ const status = getSecretStatus({ ...storeOptions(options), input: options.input ?? process.stdin });
65
+ const configPath = options.configPath ?? resolveConfigPath();
66
+ const encryptedConfig = configHasEnvelopeKeys(configPath);
67
+ console.log(chalk.bold('Passphrase sources') + chalk.dim(' (first match wins)'));
68
+ console.log(` env SAROS_PASSPHRASE: ${status.env ? chalk.green('set') : 'not set'}`);
69
+ console.log(` store ${status.store.backend}: ` +
70
+ (status.store.populated
71
+ ? chalk.green('populated')
72
+ : chalk.yellow(`not populated — ${status.store.reason}`)));
73
+ console.log(` tty interactive prompt: ` +
74
+ (status.tty ? 'available (foreground serve only)' : 'not a TTY'));
75
+ console.log(`Config: ${encryptedConfig ? 'contains enc:v1 envelopes' : 'no enc:v1 envelopes'} ` +
76
+ chalk.dim(`(${configPath})`));
77
+ console.log(`Effective source: ${status.effective ?? 'none'}`);
78
+ return 0;
79
+ }
80
+ export async function runSecretCommand(args, options = {}) {
81
+ const subcommand = args[0];
82
+ if (subcommand === 'set')
83
+ return runSecretSet(options);
84
+ if (subcommand === 'status')
85
+ return runSecretStatus(options);
86
+ console.error('Usage: saros-proxy secret <set|status>');
87
+ return 1;
88
+ }
89
+ //# sourceMappingURL=secret.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.js","sourceRoot":"","sources":["../../src/cli/secret.ts"],"names":[],"mappings":"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"}
package/dist/cli/usage.js CHANGED
@@ -13,6 +13,7 @@ import { fetchKeyUsage } from '../usage-client.js';
13
13
  import { getProvider, inferProvider } from '../providers/index.js';
14
14
  import { getModelStatsPath } from '../model-stats.js';
15
15
  import { getTokenUsagePath } from '../token-usage.js';
16
+ import { SecretSourceError } from '../secrets/source.js';
16
17
  /**
17
18
  * Read the token totals the proxy persisted (the CLI is a separate process,
18
19
  * so this file is the only shared state). Corrupt/missing files read as empty.
@@ -121,6 +122,12 @@ export async function runUsageCommand() {
121
122
  config = loadConfig();
122
123
  }
123
124
  catch (err) {
125
+ if (err instanceof SecretSourceError) {
126
+ console.log(chalk.yellow('· Encrypted keys need a passphrase; showing local token totals only.'));
127
+ console.log(chalk.dim(' Set SAROS_PASSPHRASE, run `saros-proxy secret set`, or run `saros-proxy serve` in a terminal.'));
128
+ printModelStats();
129
+ return 0;
130
+ }
124
131
  console.error('Failed to load config:', err instanceof Error ? err.message : String(err));
125
132
  return 1;
126
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/cli/usage.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -17,6 +17,14 @@ export interface ProxyConfig {
17
17
  requestTimeoutMs: number;
18
18
  allowedOrigins: string[];
19
19
  }
20
+ export interface LoadConfigOptions {
21
+ /**
22
+ * Passphrase already resolved by a foreground `serve` (which may have used
23
+ * the TTY prompt). When absent, loading uses SAROS_PASSPHRASE, then the OS
24
+ * store; it never prompts, so reporting commands cannot hang.
25
+ */
26
+ passphrase?: string;
27
+ }
20
28
  /**
21
29
  * Return the OS-native user config directory path for saros.
22
30
  *
@@ -43,4 +51,10 @@ export declare function validateConfig(config: Partial<ProxyConfig>): ProxyConfi
43
51
  * 3. Environment variables
44
52
  * 4. Hardcoded defaults
45
53
  */
46
- export declare function loadConfig(configPath?: string): ProxyConfig;
54
+ export declare function loadConfig(configPath?: string, options?: LoadConfigOptions): ProxyConfig;
55
+ /**
56
+ * The path `loadConfig` would read, honouring `--config` and falling back to
57
+ * the OS config directory (or ./config.yaml when that is all that exists).
58
+ * Exported so `keys encrypt` rewrites the same file the proxy reads.
59
+ */
60
+ export declare function resolveConfigPath(explicitPath?: string): string;
package/dist/config.js CHANGED
@@ -6,7 +6,10 @@ import { homedir } from 'node:os';
6
6
  import { join, dirname } from 'node:path';
7
7
  import { parse as parseYaml } from 'yaml';
8
8
  import { logger, maskKey } from './logger.js';
9
+ import { redactErrorMessage } from './log-redact.js';
9
10
  import { decryptKey, isEncryptedKey } from './key-encryption.js';
11
+ import { decryptValue, isEnvelope } from './secrets/envelope.js';
12
+ import { NO_SOURCE_MESSAGE, SecretSourceError, decryptFailureMessage, readEnvPassphrase, readStorePassphrase, } from './secrets/source.js';
10
13
  import { DEFAULT_PORT, DEFAULT_HOST, DEFAULT_UPSTREAM_URL, DEFAULT_CIRCUIT_BREAKER_COOLDOWN_MS, DEFAULT_REQUEST_TIMEOUT_MS, } from './constants.js';
11
14
  import { isValidPort, isValidHttpsUrl, isValidApiKey } from './validation.js';
12
15
  import { inferProvider } from './providers/infer.js';
@@ -56,6 +59,21 @@ function parseCliArgs() {
56
59
  }
57
60
  return args;
58
61
  }
62
+ /**
63
+ * Normalize one key entry: resolve its provider and drop a malformed `enabled`.
64
+ * A non-boolean `enabled` is a config typo, not a retirement order — warning and
65
+ * keeping the key enabled beats silently taking a credential out of rotation.
66
+ */
67
+ function normalizeKeyEntry(entry) {
68
+ const provider = inferProvider(entry);
69
+ if (entry.enabled === undefined)
70
+ return { ...entry, provider };
71
+ if (typeof entry.enabled !== 'boolean') {
72
+ logger.warn('Key "%s": "enabled" must be true or false — ignoring it', entry.label);
73
+ return { ...entry, enabled: undefined, provider };
74
+ }
75
+ return { ...entry, provider };
76
+ }
59
77
  /**
60
78
  * Validate and normalize a partial config object.
61
79
  * Logs warnings for invalid values that fall back to defaults.
@@ -137,7 +155,7 @@ export function validateConfig(config) {
137
155
  return {
138
156
  port,
139
157
  host,
140
- keys: validKeys.map((k) => ({ ...k, provider: inferProvider(k) })),
158
+ keys: validKeys.map(normalizeKeyEntry),
141
159
  circuitBreakerThreshold,
142
160
  circuitBreakerCooldownMs,
143
161
  upstreamBaseUrl,
@@ -155,21 +173,17 @@ export function validateConfig(config) {
155
173
  * 3. Environment variables
156
174
  * 4. Hardcoded defaults
157
175
  */
158
- export function loadConfig(configPath) {
176
+ export function loadConfig(configPath, options = {}) {
159
177
  const cliArgs = parseCliArgs();
160
178
  const config = getBaseConfig();
161
179
  applyEnvConfig(config);
162
- const yamlPath = resolveYamlPath(cliArgs.config, configPath);
180
+ const yamlPath = resolveConfigPath(configPath);
163
181
  const yaml = loadYamlOverrides(yamlPath);
164
- if (yaml)
182
+ if (yaml) {
165
183
  applyYamlConfig(config, yaml);
166
- const encryptionKey = process.env.OPENCODE_GO_ENCRYPTION_KEY;
167
- if (encryptionKey) {
168
- decryptConfigSecrets(config, encryptionKey);
169
- }
170
- else {
171
- assertNoEncryptedSecrets(config);
184
+ warnPlaintextKeys(yaml, yamlPath);
172
185
  }
186
+ resolveEncryptedKeys(config, options.passphrase);
173
187
  applyCliOverrides(config, cliArgs);
174
188
  return validateConfig(config);
175
189
  }
@@ -225,6 +239,14 @@ function resolveYamlPath(cliConfigArg, explicitPath) {
225
239
  }
226
240
  return defaultPath;
227
241
  }
242
+ /**
243
+ * The path `loadConfig` would read, honouring `--config` and falling back to
244
+ * the OS config directory (or ./config.yaml when that is all that exists).
245
+ * Exported so `keys encrypt` rewrites the same file the proxy reads.
246
+ */
247
+ export function resolveConfigPath(explicitPath) {
248
+ return resolveYamlPath(parseCliArgs().config, explicitPath);
249
+ }
228
250
  function loadYamlOverrides(yamlPath) {
229
251
  if (!existsSync(yamlPath)) {
230
252
  logger.info('No config file found at %s, using env/defaults', yamlPath);
@@ -237,7 +259,8 @@ function loadYamlOverrides(yamlPath) {
237
259
  return yaml;
238
260
  }
239
261
  catch (err) {
240
- logger.error({ err }, 'Failed to parse config file %s', yamlPath);
262
+ // YAMLParseError.message embeds the offending line — possibly a key.
263
+ logger.error('Failed to parse config file %s: %s', yamlPath, redactErrorMessage(err));
241
264
  return null;
242
265
  }
243
266
  }
@@ -261,26 +284,76 @@ function applyYamlConfig(config, yaml) {
261
284
  if (yaml.keys && yaml.keys.length > 0)
262
285
  config.keys = yaml.keys;
263
286
  }
264
- function decryptConfigSecrets(config, encryptionKey) {
265
- config.keys = config.keys.map((k) => decryptApiKeyIfNeeded(k, encryptionKey));
287
+ /**
288
+ * Warn once at load time when the YAML file still holds plaintext credentials.
289
+ * Env-provided keys (`OPENCODE_GO_KEYS`) are plaintext by design and are not
290
+ * part of this warning.
291
+ */
292
+ function warnPlaintextKeys(yaml, yamlPath) {
293
+ if (!Array.isArray(yaml.keys))
294
+ return;
295
+ const hasPlaintext = yaml.keys.some((entry) => typeof entry?.key === 'string' && !isEnvelope(entry.key) && !isEncryptedKey(entry.key));
296
+ if (!hasPlaintext)
297
+ return;
298
+ logger.warn({ evt: 'security.plaintext-keys' }, 'API keys are stored in plaintext in %s — run `saros-proxy keys encrypt` to encrypt them', yamlPath);
299
+ }
300
+ /** Plaintext entries must not be able to claim `encrypted: true` in YAML. */
301
+ function withoutEncryptedFlag(entry) {
302
+ const copy = { ...entry };
303
+ delete copy.encrypted;
304
+ return copy;
266
305
  }
267
- function decryptApiKeyIfNeeded(entry, encryptionKey) {
268
- if (!isEncryptedKey(entry.key))
269
- return entry;
306
+ /** Resolve every `enc:` entry before validation; a failure aborts boot. */
307
+ function resolveEncryptedKeys(config, explicitPassphrase) {
308
+ const hasEnvelopes = config.keys.some((key) => isEnvelope(key.key));
309
+ const passphrase = hasEnvelopes ? resolveEnvelopePassphrase(explicitPassphrase) : '';
310
+ config.keys = config.keys.map((entry) => {
311
+ if (isEnvelope(entry.key))
312
+ return decryptEnvelopeEntry(entry, passphrase);
313
+ if (typeof entry.key === 'string' && isEncryptedKey(entry.key)) {
314
+ return { ...entry, key: decryptLegacyEntry(entry), encrypted: true };
315
+ }
316
+ return withoutEncryptedFlag(entry);
317
+ });
318
+ }
319
+ /**
320
+ * Envelope passphrase: the value already resolved by `serve`, then the env
321
+ * var, then the OS store. Deliberately never prompts — reporting commands and
322
+ * the daemon child must not block on a terminal that is not there.
323
+ */
324
+ function resolveEnvelopePassphrase(explicitPassphrase) {
325
+ if (explicitPassphrase !== undefined && explicitPassphrase.length > 0)
326
+ return explicitPassphrase;
327
+ const env = readEnvPassphrase();
328
+ if (env.ok)
329
+ return env.value;
330
+ const store = readStorePassphrase();
331
+ if (store.ok)
332
+ return store.value;
333
+ throw new SecretSourceError(`${NO_SOURCE_MESSAGE}\nStore: ${store.reason}`);
334
+ }
335
+ function decryptEnvelopeEntry(entry, passphrase) {
336
+ const result = decryptValue(entry.key, passphrase, entry.label);
337
+ if (!result.ok) {
338
+ throw new SecretSourceError(decryptFailureMessage(entry.label, result.error.message));
339
+ }
340
+ return { ...entry, key: result.value, encrypted: true };
341
+ }
342
+ /** `enc:scrypt:` values predate the v1 envelope; keep them readable. */
343
+ function decryptLegacyEntry(entry) {
344
+ const legacyKey = process.env.OPENCODE_GO_ENCRYPTION_KEY;
345
+ if (!legacyKey) {
346
+ throw new Error('Found encrypted API key(s) but OPENCODE_GO_ENCRYPTION_KEY environment variable is not set');
347
+ }
270
348
  try {
271
- return { ...entry, key: decryptKey(entry.key, encryptionKey) };
349
+ const plaintext = decryptKey(entry.key, legacyKey);
350
+ logger.warn({ evt: 'security.legacy-encryption' }, 'Key "%s" uses legacy enc:scrypt encryption with OPENCODE_GO_ENCRYPTION_KEY — replace it with plaintext and run `saros-proxy keys encrypt` to migrate', entry.label);
351
+ return plaintext;
272
352
  }
273
- catch (err) {
274
- logger.error('Failed to decrypt key "%s": %s', entry.label, err instanceof Error ? err.message : String(err));
353
+ catch {
275
354
  throw new Error(`Failed to decrypt API key "${entry.label}" — check OPENCODE_GO_ENCRYPTION_KEY`);
276
355
  }
277
356
  }
278
- function assertNoEncryptedSecrets(config) {
279
- const encryptedKeys = config.keys.filter((k) => isEncryptedKey(k.key));
280
- if (encryptedKeys.length > 0) {
281
- throw new Error(`Found ${encryptedKeys.length} encrypted API key(s) but OPENCODE_GO_ENCRYPTION_KEY environment variable is not set`);
282
- }
283
- }
284
357
  function applyCliOverrides(config, cliArgs) {
285
358
  if (cliArgs.port) {
286
359
  config.port = Number.parseInt(cliArgs.port, 10);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export declare const RATE_LIMIT_WINDOW_MS = 60000;
21
21
  export declare const RATE_LIMIT_MAX = 100;
22
22
  export declare const FORCE_SHUTDOWN_TIMEOUT_MS = 5000;
23
23
  export declare const MAX_STREAMING_BUFFER = 10000;
24
+ /** `GET /debug/recent` keeps this many proxied requests in memory. */
25
+ export declare const RECENT_REQUESTS_CAPACITY = 200;
24
26
  export declare const MODELS_FETCH_TIMEOUT_MS = 5000;
25
27
  export declare const MODELS_WARM_BUFFER_MS = 60000;
26
28
  export declare const USAGE_REFRESH_TTL_MS = 60000;
@@ -39,4 +41,3 @@ export declare const PROBE_LIVENESS_PROMPT = "Reply with the word 'pong' and not
39
41
  export declare const PROBE_REASONING_PROMPT = "What is 2+2? Think step by step.";
40
42
  export declare const PROBE_TOOL_CALLING_PROMPT = "What is the weather in Paris?";
41
43
  export declare const DAEMON_SYNC_TIMEOUT_MS = 30000;
42
- export declare const OPENCODE_MODELS: Record<string, unknown>;
package/dist/constants.js CHANGED
@@ -23,6 +23,8 @@ export const RATE_LIMIT_WINDOW_MS = 60_000;
23
23
  export const RATE_LIMIT_MAX = 100;
24
24
  export const FORCE_SHUTDOWN_TIMEOUT_MS = 5_000;
25
25
  export const MAX_STREAMING_BUFFER = 10_000;
26
+ /** `GET /debug/recent` keeps this many proxied requests in memory. */
27
+ export const RECENT_REQUESTS_CAPACITY = 200;
26
28
  export const MODELS_FETCH_TIMEOUT_MS = 5_000;
27
29
  export const MODELS_WARM_BUFFER_MS = 60_000;
28
30
  // Per-key usage tracking (upstream usage API + weighted rotation)
@@ -51,164 +53,4 @@ export const PROBE_REASONING_PROMPT = 'What is 2+2? Think step by step.';
51
53
  export const PROBE_TOOL_CALLING_PROMPT = 'What is the weather in Paris?';
52
54
  // Daemon auto-sync timeout (how long to wait for upstream sync before exiting)
53
55
  export const DAEMON_SYNC_TIMEOUT_MS = 30_000;
54
- // OpenCode client model definitions for proxy provider configuration
55
- // Source: https://opencode.ai/zen/go/v1/models (18 models as of 2026-06-06)
56
- export const OPENCODE_MODELS = {
57
- // GLM series (Z.AI/Zhipu - 202K context, 32K output, text-only)
58
- // Blocklisted in OpenCode — no auto variants; reasoning via interleaved reasoning_content only
59
- 'glm-5': {
60
- id: 'glm-5',
61
- name: 'GLM-5',
62
- tool_call: true,
63
- reasoning: true,
64
- limit: { context: 202752, output: 32768 },
65
- modalities: { input: ['text'], output: ['text'] },
66
- },
67
- 'glm-5.1': {
68
- id: 'glm-5.1',
69
- name: 'GLM-5.1',
70
- tool_call: true,
71
- reasoning: true,
72
- limit: { context: 202752, output: 32768 },
73
- modalities: { input: ['text'], output: ['text'] },
74
- },
75
- 'glm-5.2': {
76
- id: 'glm-5.2',
77
- name: 'GLM-5.2',
78
- tool_call: true,
79
- reasoning: true,
80
- limit: { context: 1000000, output: 131072 },
81
- modalities: { input: ['text'], output: ['text'] },
82
- },
83
- // Kimi series (Moonshot - 262K context, 65K output, multimodal)
84
- // Blocklisted in OpenCode — no reasoning_effort support via opencode-go
85
- 'kimi-k2.5': {
86
- id: 'kimi-k2.5',
87
- name: 'Kimi K2.5',
88
- tool_call: true,
89
- reasoning: true,
90
- limit: { context: 262144, output: 65536 },
91
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
92
- },
93
- 'kimi-k2.6': {
94
- id: 'kimi-k2.6',
95
- name: 'Kimi K2.6',
96
- tool_call: true,
97
- reasoning: true,
98
- limit: { context: 262144, output: 65536 },
99
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
100
- },
101
- // DeepSeek V4 series (1M context, 384K output, text-only)
102
- // NOT blocklisted - OpenCode auto-generates low/medium/high/max variants
103
- 'deepseek-v4-pro': {
104
- id: 'deepseek-v4-pro',
105
- name: 'DeepSeek V4 Pro',
106
- tool_call: true,
107
- reasoning: true,
108
- limit: { context: 1000000, output: 384000 },
109
- modalities: { input: ['text'], output: ['text'] },
110
- },
111
- 'deepseek-v4-flash': {
112
- id: 'deepseek-v4-flash',
113
- name: 'DeepSeek V4 Flash',
114
- tool_call: true,
115
- reasoning: true,
116
- limit: { context: 1000000, output: 384000 },
117
- modalities: { input: ['text'], output: ['text'] },
118
- },
119
- // MiMo series (Xiaomi - 1M context except V2 Omni 262K)
120
- // NOT blocklisted - OpenCode auto-generates low/medium/high variants (reasoning_effort supported)
121
- 'mimo-v2.5': {
122
- id: 'mimo-v2.5',
123
- name: 'MiMo V2.5',
124
- tool_call: true,
125
- reasoning: true,
126
- limit: { context: 1000000, output: 128000 },
127
- modalities: { input: ['text', 'image', 'audio', 'video'], output: ['text'] },
128
- },
129
- 'mimo-v2.5-pro': {
130
- id: 'mimo-v2.5-pro',
131
- name: 'MiMo V2.5 Pro',
132
- tool_call: true,
133
- reasoning: true,
134
- limit: { context: 1048576, output: 128000 },
135
- modalities: { input: ['text'], output: ['text'] },
136
- },
137
- 'mimo-v2-pro': {
138
- id: 'mimo-v2-pro',
139
- name: 'MiMo V2 Pro',
140
- tool_call: true,
141
- reasoning: true,
142
- limit: { context: 1048576, output: 128000 },
143
- modalities: { input: ['text'], output: ['text'] },
144
- },
145
- 'mimo-v2-omni': {
146
- id: 'mimo-v2-omni',
147
- name: 'MiMo V2 Omni',
148
- tool_call: true,
149
- reasoning: true,
150
- limit: { context: 262144, output: 128000 },
151
- modalities: { input: ['text', 'image', 'audio', 'pdf'], output: ['text'] },
152
- },
153
- // MiniMax series (Anthropic-compatible - 512K context for M3, 204K for M2.x)
154
- // Blocklisted in OpenCode — no auto variants; uses Anthropic thinking blocks, not reasoning_effort
155
- 'minimax-m3': {
156
- id: 'minimax-m3',
157
- name: 'MiniMax M3',
158
- tool_call: true,
159
- reasoning: true,
160
- limit: { context: 512000, output: 131072 },
161
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
162
- },
163
- 'minimax-m2.7': {
164
- id: 'minimax-m2.7',
165
- name: 'MiniMax M2.7',
166
- tool_call: true,
167
- reasoning: true,
168
- limit: { context: 204800, output: 131072 },
169
- modalities: { input: ['text'], output: ['text'] },
170
- },
171
- 'minimax-m2.5': {
172
- id: 'minimax-m2.5',
173
- name: 'MiniMax M2.5',
174
- tool_call: true,
175
- reasoning: true,
176
- limit: { context: 204800, output: 65536 },
177
- modalities: { input: ['text'], output: ['text'] },
178
- },
179
- // Qwen series (Alibaba - Anthropic-compatible, 1M context except 3.5 Plus 262K)
180
- // Blocklisted in OpenCode — no auto variants; uses Anthropic thinking blocks, not reasoning_effort
181
- 'qwen3.7-max': {
182
- id: 'qwen3.7-max',
183
- name: 'Qwen 3.7 Max',
184
- tool_call: true,
185
- reasoning: true,
186
- limit: { context: 1000000, output: 65536 },
187
- modalities: { input: ['text'], output: ['text'] },
188
- },
189
- 'qwen3.7-plus': {
190
- id: 'qwen3.7-plus',
191
- name: 'Qwen 3.7 Plus',
192
- tool_call: true,
193
- reasoning: true,
194
- limit: { context: 1000000, output: 65536 },
195
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
196
- },
197
- 'qwen3.6-plus': {
198
- id: 'qwen3.6-plus',
199
- name: 'Qwen 3.6 Plus',
200
- tool_call: true,
201
- reasoning: true,
202
- limit: { context: 1000000, output: 65536 },
203
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
204
- },
205
- 'qwen3.5-plus': {
206
- id: 'qwen3.5-plus',
207
- name: 'Qwen 3.5 Plus',
208
- tool_call: true,
209
- reasoning: true,
210
- limit: { context: 262144, output: 65536 },
211
- modalities: { input: ['text', 'image', 'video'], output: ['text'] },
212
- }
213
- };
214
56
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,mCAAmC,GAAG,MAAM,CAAC;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC;AACpC,oFAAoF;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAC1D,sEAAsE;AACtE,oEAAoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAAoB,CAAC;AACjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,4BAA4B,CAAC;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC3C,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE5C,kEAAkE;AAClE,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,0CAA0C;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAE7C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAElD,gCAAgC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,6BAA6B,CAAC;AAC5D,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC5C,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO;IAC/C,YAAY,EAAE,MAAM,EAAE,mBAAmB;IACzC,aAAa,EAAE,mBAAmB;CAC1B,CAAC;AAEX,kCAAkC;AAClC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,SAAS;AACpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,8CAA8C,CAAC;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,+BAA+B,CAAC;AAEzE,+EAA+E;AAC/E,MAAM,CAAC,MAAM,sBAAsB,GAAG,MAAM,CAAC"}