saros-proxy 0.7.4 → 0.10.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 (114) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +116 -64
  3. package/dist/cli/autostart.d.ts +0 -0
  4. package/dist/cli/autostart.js +0 -0
  5. package/dist/cli/autostart.js.map +0 -0
  6. package/dist/cli/daemon.d.ts +0 -0
  7. package/dist/cli/daemon.js +4 -0
  8. package/dist/cli/daemon.js.map +1 -1
  9. package/dist/cli/dsh-config.d.ts +32 -0
  10. package/dist/cli/dsh-config.js +122 -0
  11. package/dist/cli/dsh-config.js.map +1 -0
  12. package/dist/cli/harness-models.d.ts +26 -2
  13. package/dist/cli/harness-models.js +192 -2
  14. package/dist/cli/harness-models.js.map +1 -1
  15. package/dist/cli/harness-sync.d.ts +3 -6
  16. package/dist/cli/harness-sync.js +14 -7
  17. package/dist/cli/harness-sync.js.map +1 -1
  18. package/dist/cli/help.d.ts +0 -0
  19. package/dist/cli/help.js +2 -2
  20. package/dist/cli/help.js.map +0 -0
  21. package/dist/cli/omp-config.d.ts +0 -0
  22. package/dist/cli/omp-config.js +11 -1
  23. package/dist/cli/omp-config.js.map +1 -1
  24. package/dist/cli/opencode-config.d.ts +0 -0
  25. package/dist/cli/opencode-config.js +0 -0
  26. package/dist/cli/opencode-config.js.map +0 -0
  27. package/dist/cli/overview.d.ts +0 -0
  28. package/dist/cli/overview.js +2 -1
  29. package/dist/cli/overview.js.map +1 -1
  30. package/dist/cli/pi-config.d.ts +0 -0
  31. package/dist/cli/pi-config.js +11 -1
  32. package/dist/cli/pi-config.js.map +1 -1
  33. package/dist/cli/setup.d.ts +6 -10
  34. package/dist/cli/setup.js +100 -232
  35. package/dist/cli/setup.js.map +1 -1
  36. package/dist/cli/ui.d.ts +1 -2
  37. package/dist/cli/ui.js +0 -16
  38. package/dist/cli/ui.js.map +1 -1
  39. package/dist/cli/update-check.d.ts +0 -0
  40. package/dist/cli/update-check.js +0 -0
  41. package/dist/cli/update-check.js.map +0 -0
  42. package/dist/cli/usage.d.ts +12 -0
  43. package/dist/cli/usage.js +182 -0
  44. package/dist/cli/usage.js.map +1 -0
  45. package/dist/config.d.ts +13 -17
  46. package/dist/config.js +29 -78
  47. package/dist/config.js.map +1 -1
  48. package/dist/constants.d.ts +9 -5
  49. package/dist/constants.js +14 -5
  50. package/dist/constants.js.map +1 -1
  51. package/dist/index.d.ts +0 -0
  52. package/dist/index.js +9 -25
  53. package/dist/index.js.map +1 -1
  54. package/dist/key-encryption.d.ts +0 -0
  55. package/dist/key-encryption.js +0 -0
  56. package/dist/key-encryption.js.map +0 -0
  57. package/dist/logger.d.ts +0 -0
  58. package/dist/logger.js +0 -0
  59. package/dist/logger.js.map +0 -0
  60. package/dist/model-probe.d.ts +0 -0
  61. package/dist/model-probe.js +0 -0
  62. package/dist/model-probe.js.map +0 -0
  63. package/dist/model-stats.d.ts +20 -0
  64. package/dist/model-stats.js +135 -0
  65. package/dist/model-stats.js.map +1 -0
  66. package/dist/models-fetcher.d.ts +0 -0
  67. package/dist/models-fetcher.js +0 -0
  68. package/dist/models-fetcher.js.map +0 -0
  69. package/dist/models-sync.d.ts +0 -0
  70. package/dist/models-sync.js +0 -0
  71. package/dist/models-sync.js.map +0 -0
  72. package/dist/probe-cache.d.ts +0 -0
  73. package/dist/probe-cache.js +0 -0
  74. package/dist/probe-cache.js.map +0 -0
  75. package/dist/providers/commandcode.d.ts +17 -0
  76. package/dist/providers/commandcode.js +237 -0
  77. package/dist/providers/commandcode.js.map +1 -0
  78. package/dist/providers/index.d.ts +43 -0
  79. package/dist/providers/index.js +75 -0
  80. package/dist/providers/index.js.map +1 -0
  81. package/dist/providers/infer.d.ts +23 -0
  82. package/dist/providers/infer.js +13 -0
  83. package/dist/providers/infer.js.map +1 -0
  84. package/dist/providers/opencode-go.d.ts +4 -0
  85. package/dist/providers/opencode-go.js +190 -0
  86. package/dist/providers/opencode-go.js.map +1 -0
  87. package/dist/providers/types.d.ts +135 -0
  88. package/dist/providers/types.js +10 -0
  89. package/dist/providers/types.js.map +1 -0
  90. package/dist/proxy-logic.d.ts +61 -22
  91. package/dist/proxy-logic.js +163 -106
  92. package/dist/proxy-logic.js.map +1 -1
  93. package/dist/proxy.d.ts +43 -2
  94. package/dist/proxy.js +327 -62
  95. package/dist/proxy.js.map +1 -1
  96. package/dist/token-usage.d.ts +53 -0
  97. package/dist/token-usage.js +198 -0
  98. package/dist/token-usage.js.map +1 -0
  99. package/dist/usage-client.d.ts +62 -0
  100. package/dist/usage-client.js +155 -0
  101. package/dist/usage-client.js.map +1 -0
  102. package/dist/validation.d.ts +5 -5
  103. package/dist/validation.js +7 -9
  104. package/dist/validation.js.map +1 -1
  105. package/package.json +11 -7
  106. package/dist/dashboard-parser.d.ts +0 -47
  107. package/dist/dashboard-parser.js +0 -88
  108. package/dist/dashboard-parser.js.map +0 -1
  109. package/dist/firefox-cookies.d.ts +0 -42
  110. package/dist/firefox-cookies.js +0 -170
  111. package/dist/firefox-cookies.js.map +0 -1
  112. package/dist/scraper.d.ts +0 -70
  113. package/dist/scraper.js +0 -239
  114. package/dist/scraper.js.map +0 -1
@@ -9,6 +9,40 @@
9
9
  */
10
10
  import { loadModelsFromJson } from './opencode-config.js';
11
11
  import { buildMinimalStub, fetchModelsDevMetadata, fetchUpstreamModelIds } from '../models-sync.js';
12
+ import { allProviders, getProvider, inferProvider } from '../providers/index.js';
13
+ /**
14
+ * Suffix for provider-specific model ids in synced harness configs.
15
+ * Commandcode-only models (claude-*, vendor/model) are exposed to harnesses
16
+ * as `<id>@commandcode`; the proxy strips the suffix on the way upstream.
17
+ */
18
+ export const PROVIDER_MODEL_SUFFIX = '@';
19
+ /** Canonical effort vocabulary, least → most intensive (pi/omp schema). */
20
+ const EFFORT_ORDER = ['minimal', 'low', 'medium', 'high', 'xhigh', 'max'];
21
+ /**
22
+ * Extract the effort ladder from models.dev `reasoning_options`
23
+ * (`[{ type: 'effort', values: [...] }]`). Keeps only values in the pi/omp
24
+ * thinking schema vocabulary; deduplicates and orders least → most intensive.
25
+ */
26
+ function parseEfforts(entry) {
27
+ const options = entry.reasoning_options;
28
+ if (!Array.isArray(options))
29
+ return [];
30
+ const found = new Set();
31
+ for (const option of options) {
32
+ if (!option || typeof option !== 'object' || Array.isArray(option))
33
+ continue;
34
+ if (option.type !== 'effort')
35
+ continue;
36
+ const values = option.values;
37
+ if (!Array.isArray(values))
38
+ continue;
39
+ for (const value of values) {
40
+ if (typeof value === 'string')
41
+ found.add(value);
42
+ }
43
+ }
44
+ return EFFORT_ORDER.filter((effort) => found.has(effort));
45
+ }
12
46
  /**
13
47
  * Transform one canonical (opencode-shaped) model entry into the
14
48
  * pi/omp model shape. Unknown metadata falls back to safe defaults
@@ -28,6 +62,15 @@ export function toPiOmpModel(entry) {
28
62
  contextWindow: typeof limit.context === 'number' ? limit.context : 262144,
29
63
  maxTokens: typeof limit.output === 'number' ? limit.output : 65536,
30
64
  };
65
+ // Explicit thinking metadata: models.dev effort options → pi/omp
66
+ // `thinking.efforts`. Without it the harness infers a generic ladder that
67
+ // can disagree with the model's real contract (e.g. ox-alpha only accepts
68
+ // low/high/max).
69
+ if (model.reasoning) {
70
+ const efforts = parseEfforts(entry);
71
+ if (efforts.length > 0)
72
+ model.thinking = { mode: 'effort', efforts };
73
+ }
31
74
  // Cost is optional; accept both camelCase (pi/omp) and snake_case (models.dev).
32
75
  const rawCost = entry.cost;
33
76
  if (rawCost && typeof rawCost === 'object' && !Array.isArray(rawCost)) {
@@ -49,12 +92,144 @@ export function toPiOmpModel(entry) {
49
92
  export function toPiOmpModelArray(models) {
50
93
  return Object.values(models).map((entry) => toPiOmpModel(entry));
51
94
  }
95
+ /**
96
+ * Normalize a provider model id to its bare name for cross-provider
97
+ * matching: 'deepseek/deepseek-v4-flash' → 'deepseek-v4-flash';
98
+ * 'glm-5' → 'glm-5'. Case- and separator-insensitive.
99
+ */
100
+ export function bareModelName(modelId) {
101
+ const last = modelId.split('/').pop() ?? modelId;
102
+ return last.toLowerCase().replaceAll('_', '-');
103
+ }
104
+ /**
105
+ * Annotate a display name with how many keys can serve the model,
106
+ * e.g. "DeepSeek V4 Flash (3)". Communicates rotation width: '(3)' rotates
107
+ * across 3 accounts (possibly cross-provider), '(1)' is a single key.
108
+ */
109
+ export function annotateName(name, keyCount) {
110
+ if (keyCount <= 0)
111
+ return name;
112
+ return `${name} (${keyCount})`;
113
+ }
114
+ /**
115
+ * Count how many of the user's keys can serve a bare model name.
116
+ *
117
+ * The owning provider (whose catalog the entry came from) always serves it.
118
+ * Every OTHER provider must claim the model definitively ('yes' via
119
+ * bare-name/affinity check) — a structural 'maybe' does not count, or
120
+ * blanket-maybe providers (opencode-go) would overcount models they don't
121
+ * actually have (e.g. claude-*).
122
+ */
123
+ function countServingKeys(config, bareName, owner) {
124
+ return (config.keys ?? []).filter((k) => {
125
+ const provider = getProvider(inferProvider(k));
126
+ if (!provider)
127
+ return false;
128
+ if (provider.id === owner)
129
+ return true;
130
+ const byName = provider.modelAffinityByName?.(bareName);
131
+ if (byName)
132
+ return byName === 'yes';
133
+ return provider.modelAffinity(bareName) === 'yes';
134
+ }).length;
135
+ }
136
+ /**
137
+ * Map one provider-catalog entry into the canonical opencode-shaped entry.
138
+ * Uses the catalog's own fields when present (commandcode serves name +
139
+ * context_length); models.dev metadata is not available for these providers.
140
+ */
141
+ /**
142
+ * Map one provider-catalog entry into the canonical opencode-shaped entry.
143
+ * Uses the catalog's own fields when present (commandcode serves name +
144
+ * context_length); models.dev metadata is not available for these providers.
145
+ */
146
+ function providerCatalogToCanonical(modelId, entry, keyCount) {
147
+ const context = typeof entry.context_length === 'number' ? entry.context_length : undefined;
148
+ const name = typeof entry.name === 'string' ? entry.name : modelId;
149
+ return {
150
+ id: modelId,
151
+ name: annotateName(name, keyCount),
152
+ tool_call: true,
153
+ reasoning: true,
154
+ limit: {
155
+ context: context ?? 262144,
156
+ output: 65536,
157
+ },
158
+ modalities: { input: ['text'], output: ['text'] },
159
+ // Conservative effort ladder for provider-catalog models (no models.dev
160
+ // metadata): the commandcode gateway accepts low|medium|high|xhigh and
161
+ // rejects minimal — better declared here than invented by the harness.
162
+ reasoning_options: [{ type: 'effort', values: ['low', 'medium', 'high'] }],
163
+ // Hint consumed by display tooling; harmless to harnesses that ignore it.
164
+ ...(typeof entry.owned_by === 'string' ? { owned_by: entry.owned_by } : {}),
165
+ };
166
+ }
167
+ /**
168
+ * Fetch model entries from the given providers and merge them into the map.
169
+ *
170
+ * Cross-provider aliasing: when a provider catalog serves the SAME model
171
+ * under a different id (bare name matches an existing entry — e.g.
172
+ * 'deepseek/deepseek-v4-flash' on commandcode vs 'deepseek-v4-flash' on
173
+ * opencode-go), the existing entry gains the new provider as an alias:
174
+ * requests naming either id rotate across all serving keys.
175
+ *
176
+ * Provider-only models (claude-*, unique vendor ids) are added as
177
+ * `<id>@<providerId>` suffixed entries.
178
+ *
179
+ * Only providers the user actually has keys for are merged: exposing
180
+ * provider-only models without a usable key would create broken entries in
181
+ * harness configs.
182
+ */
183
+ async function appendProviderCatalogModels(map, existingIds, config) {
184
+ const configured = new Set((config.keys ?? []).map((k) => inferProvider(k)));
185
+ const providers = allProviders().filter((p) => configured.has(p.id) && typeof p.fetchCatalog === 'function');
186
+ // Bare-name index of what's already in the map (from the primary upstream)
187
+ const byBareName = new Map();
188
+ for (const id of existingIds) {
189
+ const bare = bareModelName(id);
190
+ if (!byBareName.has(bare))
191
+ byBareName.set(bare, id);
192
+ }
193
+ await Promise.all(providers.map(async (provider) => {
194
+ const catalog = await provider.fetchCatalog();
195
+ if (!catalog)
196
+ return;
197
+ for (const entry of catalog) {
198
+ const rawId = typeof entry.id === 'string' ? entry.id : '';
199
+ if (!rawId)
200
+ continue;
201
+ const bare = bareModelName(rawId);
202
+ const existingId = byBareName.get(bare);
203
+ if (existingId) {
204
+ // Same model served by both providers → alias it onto the existing
205
+ // entry so either id routes to the full serving key pool.
206
+ const entryRec = map[existingId];
207
+ const aliases = Array.isArray(entryRec?.aliases)
208
+ ? entryRec.aliases
209
+ : [];
210
+ if (!aliases.includes(rawId))
211
+ aliases.push(rawId);
212
+ entryRec.aliases = aliases;
213
+ continue;
214
+ }
215
+ if (provider.modelAffinity(rawId) !== 'yes')
216
+ continue; // not uniquely claimable
217
+ const suffixedId = `${rawId}${PROVIDER_MODEL_SUFFIX}${provider.id}`;
218
+ if (existingIds.has(suffixedId))
219
+ continue;
220
+ existingIds.add(suffixedId);
221
+ byBareName.set(bare, suffixedId);
222
+ map[suffixedId] = providerCatalogToCanonical(suffixedId, entry, countServingKeys(config, bare, provider.id));
223
+ }
224
+ }));
225
+ }
52
226
  /**
53
227
  * Build the canonical model map (id → opencode-shaped entry).
54
228
  *
55
229
  * Live path (config provided, not offline): fetch upstream model IDs and
56
- * enrich each with models.dev metadata via buildMinimalStub. Falls back to
57
- * the bundled models.json when the upstream fetch yields nothing.
230
+ * enrich each with models.dev metadata via buildMinimalStub, then append
231
+ * provider-specific catalog models (@commandcode etc.). Falls back to the
232
+ * bundled models.json when the upstream fetch yields nothing.
58
233
  * Offline path (or no config): bundled models.json only.
59
234
  */
60
235
  export async function buildCanonicalModels(config, opts) {
@@ -71,8 +246,23 @@ export async function buildCanonicalModels(config, opts) {
71
246
  const meta = await fetchModelsDevMetadata();
72
247
  if (ids && ids.length > 0) {
73
248
  const map = {};
249
+ const seen = new Set();
74
250
  for (const id of ids) {
75
251
  map[id] = buildMinimalStub(id, meta ?? undefined);
252
+ seen.add(id);
253
+ }
254
+ await appendProviderCatalogModels(map, seen, config);
255
+ // Rotation-width annotation on the primary (opencode-go) entries:
256
+ // "DeepSeek V4 Flash (3)" = 3 keys can serve this model.
257
+ for (const [id, entry] of Object.entries(map)) {
258
+ if (id.includes(PROVIDER_MODEL_SUFFIX))
259
+ continue;
260
+ if (entry && typeof entry === 'object' && !Array.isArray(entry)) {
261
+ const rec = entry;
262
+ if (typeof rec.name === 'string') {
263
+ rec.name = annotateName(rec.name, countServingKeys(config, bareModelName(id), 'opencode-go'));
264
+ }
265
+ }
76
266
  }
77
267
  return map;
78
268
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harness-models.js","sourceRoot":"","sources":["../../src/cli/harness-models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-models.js","sourceRoot":"","sources":["../../src/cli/harness-models.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  */
10
10
  import type { ProxyConfig } from '../config.js';
11
11
  import { type OpencodeConfigResult } from './opencode-config.js';
12
- export type HarnessId = 'opencode' | 'pi' | 'omp';
12
+ export type HarnessId = 'opencode' | 'pi' | 'omp' | 'dsh';
13
13
  export interface HarnessSyncResult {
14
14
  harness: HarnessId;
15
15
  result: OpencodeConfigResult;
@@ -57,10 +57,7 @@ export declare function updateHarnessSettings(op: Omit<HarnessCommandArgs, 'erro
57
57
  * Sync models to every enabled harness (opt-in via the settings file).
58
58
  *
59
59
  * @param config — Proxy config; required for the live (upstream) opencode
60
- * sync. When undefined, opencode falls back to the bundled fast-path.
61
- * @param opts.offline — Skip network: use bundled models.json everywhere.
60
+ * sync. When undefined, harnesses fall back to the bundled model list.
62
61
  * @returns One result per enabled harness, in the order opencode, pi, omp.
63
62
  */
64
- export declare function syncModelsInAllHarnesses(config?: ProxyConfig, opts?: {
65
- offline?: boolean;
66
- }): Promise<HarnessSyncResult[]>;
63
+ export declare function syncModelsInAllHarnesses(config?: ProxyConfig): Promise<HarnessSyncResult[]>;
@@ -14,8 +14,9 @@ import { syncModelsToOpencodeConfig } from './opencode-config.js';
14
14
  import { syncOpencodeModelsWithUpstream } from '../models-sync.js';
15
15
  import { syncModelsToPiConfig } from './pi-config.js';
16
16
  import { syncModelsToOmpConfig } from './omp-config.js';
17
+ import { syncModelsToDshConfig } from './dsh-config.js';
17
18
  import { buildCanonicalModels } from './harness-models.js';
18
- const VALID_HARNESS_IDS = ['opencode', 'pi', 'omp'];
19
+ const VALID_HARNESS_IDS = ['opencode', 'pi', 'omp', 'dsh'];
19
20
  /** Path to the harness-selection setting: ~/.config/saros/harnesses.json */
20
21
  export function getHarnessSettingsPath() {
21
22
  return join(homedir(), '.config', 'saros', 'harnesses.json');
@@ -55,6 +56,8 @@ const HARNESS_ALIASES = {
55
56
  pi: 'pi',
56
57
  oc: 'opencode',
57
58
  opencode: 'opencode',
59
+ dsh: 'dsh',
60
+ deepseek: 'dsh',
58
61
  };
59
62
  /**
60
63
  * Parse `configharness` CLI args into an add/remove/clear operation.
@@ -123,25 +126,26 @@ export function updateHarnessSettings(op) {
123
126
  * Sync models to every enabled harness (opt-in via the settings file).
124
127
  *
125
128
  * @param config — Proxy config; required for the live (upstream) opencode
126
- * sync. When undefined, opencode falls back to the bundled fast-path.
127
- * @param opts.offline — Skip network: use bundled models.json everywhere.
129
+ * sync. When undefined, harnesses fall back to the bundled model list.
128
130
  * @returns One result per enabled harness, in the order opencode, pi, omp.
129
131
  */
130
- export async function syncModelsInAllHarnesses(config, opts = {}) {
132
+ export async function syncModelsInAllHarnesses(config) {
131
133
  const enabled = readHarnessSettings();
132
134
  if (enabled.length === 0)
133
135
  return [];
134
136
  const results = [];
135
137
  if (enabled.includes('opencode')) {
136
- if (opts.offline || !config) {
138
+ if (!config) {
137
139
  results.push({ harness: 'opencode', result: syncModelsToOpencodeConfig() });
138
140
  }
139
141
  else {
140
142
  results.push({ harness: 'opencode', result: await syncOpencodeModelsWithUpstream(config) });
141
143
  }
142
144
  }
143
- if (enabled.includes('pi') || enabled.includes('omp')) {
144
- const modelsMap = await buildCanonicalModels(config, opts);
145
+ if (enabled.includes('pi') ||
146
+ enabled.includes('omp') ||
147
+ enabled.includes('dsh')) {
148
+ const modelsMap = await buildCanonicalModels(config);
145
149
  const port = config?.port ?? 3000;
146
150
  if (enabled.includes('pi')) {
147
151
  results.push({ harness: 'pi', result: syncModelsToPiConfig(modelsMap, port) });
@@ -149,6 +153,9 @@ export async function syncModelsInAllHarnesses(config, opts = {}) {
149
153
  if (enabled.includes('omp')) {
150
154
  results.push({ harness: 'omp', result: syncModelsToOmpConfig(modelsMap, port) });
151
155
  }
156
+ if (enabled.includes('dsh')) {
157
+ results.push({ harness: 'dsh', result: syncModelsToDshConfig(modelsMap, port) });
158
+ }
152
159
  }
153
160
  return results;
154
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"harness-sync.js","sourceRoot":"","sources":["../../src/cli/harness-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-sync.js","sourceRoot":"","sources":["../../src/cli/harness-sync.ts"],"names":[],"mappings":"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"}
File without changes
package/dist/cli/help.js CHANGED
@@ -15,10 +15,10 @@ Commands:
15
15
  restart [--port <port>] [--config <path>] Restart the proxy daemon
16
16
  status Check daemon status
17
17
  setup Run interactive setup wizard
18
- sync-models Sync bundled models to all enabled harnesses
19
18
  sync-upstream Sync new models from upstream into enabled harnesses
20
- configharness [omp|ohmypi] [pi] [oc|opencode] Add harnesses; --remove <h> / --clear to disable
19
+ configharness [omp|ohmypi] [pi] [oc|opencode] [dsh] Add harnesses; --remove <h> / --clear to disable
21
20
  probe [model-id] Test model capabilities (liveness, reasoning, tools)
21
+ usage Show per-key quota usage and most-used models
22
22
  autostart install [--method <method>] Install autostart
23
23
  autostart uninstall [--method <method>] Uninstall autostart
24
24
  autostart status [--method <method>] Check autostart status
File without changes
File without changes
@@ -61,17 +61,27 @@ export function syncModelsToOmpConfig(modelsMap, port, options = {}) {
61
61
  auth: 'none',
62
62
  compat: {
63
63
  supportsDeveloperRole: false,
64
- supportsReasoningEffort: false,
65
64
  maxTokensField: 'max_tokens',
66
65
  },
67
66
  }
68
67
  : {};
68
+ // saros owns `compat.supportsReasoningEffort`: the proxy forwards
69
+ // reasoning_effort verbatim, and a stale `false` (pre-efforts sync
70
+ // default) makes the harness omit the wire parameter entirely.
71
+ const rawCompat = existing.compat && typeof existing.compat === 'object' && !Array.isArray(existing.compat)
72
+ ? existing.compat
73
+ : {};
69
74
  providers[SAROS_PROVIDER_KEY] = {
70
75
  ...freshStub,
71
76
  ...existing,
72
77
  baseUrl,
73
78
  api: typeof existing.api === 'string' ? existing.api : 'openai-completions',
74
79
  models: toPiOmpModelArray(modelsMap),
80
+ compat: {
81
+ ...(freshStub.compat ?? {}),
82
+ ...rawCompat,
83
+ supportsReasoningEffort: true,
84
+ },
75
85
  };
76
86
  config.providers = providers;
77
87
  // Backup before modifying (never overwrite an existing backup)
@@ -1 +1 @@
1
- {"version":3,"file":"omp-config.js","sourceRoot":"","sources":["../../src/cli/omp-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"omp-config.js","sourceRoot":"","sources":["../../src/cli/omp-config.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
@@ -51,7 +51,8 @@ export async function printOverview() {
51
51
  const labels = keys.map((k) => k.label).join(', ');
52
52
  console.log(`API keys: ${enabledText}${keys.length} configured${labels ? ` (${labels})` : ''}`);
53
53
  for (const k of keys) {
54
- console.log(` ${k.label}: ${maskKey(k.key)}`);
54
+ const provider = k.provider ? chalk.dim(` [${k.provider}]`) : '';
55
+ console.log(` ${k.label}: ${maskKey(k.key)}${provider}`);
55
56
  }
56
57
  console.log(`Config: ${getDefaultConfigPath()}`);
57
58
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/cli/overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../../src/cli/overview.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAEjF,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,yEAAyE;IACzE,qEAAqE;IACrE,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEzE,IAAI,IAAI,GAA6D,EAAE,CAAC;IACxE,IAAI,CAAC;QACH,IAAI,GAAG,UAAU,EAAE,CAAC,IAAI,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,kDAAkD;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,WAAW,GACf,MAAM;QACN,OAAO,MAAM,CAAC,YAAY,KAAK,QAAQ;QACvC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACjC,CAAC,CAAC,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,QAAQ,YAAY;QACvD,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,GAAG,IAAI,CAAC,MAAM,cAAc,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjG,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,cAAc,oBAAoB,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,mFAAmF,CAAC,CAC/F,CAAC;AACJ,CAAC"}
File without changes
@@ -52,17 +52,27 @@ export function syncModelsToPiConfig(modelsMap, port, options = {}) {
52
52
  apiKey: 'not-used',
53
53
  compat: {
54
54
  supportsDeveloperRole: false,
55
- supportsReasoningEffort: false,
56
55
  maxTokensField: 'max_tokens',
57
56
  },
58
57
  }
59
58
  : {};
59
+ // saros owns `compat.supportsReasoningEffort`: the proxy forwards
60
+ // reasoning_effort verbatim, and a stale `false` (pre-efforts sync
61
+ // default) makes the harness omit the wire parameter entirely.
62
+ const rawCompat = existing.compat && typeof existing.compat === 'object' && !Array.isArray(existing.compat)
63
+ ? existing.compat
64
+ : {};
60
65
  providers[SAROS_PROVIDER_KEY] = {
61
66
  ...freshStub,
62
67
  ...existing,
63
68
  baseUrl,
64
69
  api: typeof existing.api === 'string' ? existing.api : 'openai-completions',
65
70
  models: toPiOmpModelArray(modelsMap),
71
+ compat: {
72
+ ...(freshStub.compat ?? {}),
73
+ ...rawCompat,
74
+ supportsReasoningEffort: true,
75
+ },
66
76
  };
67
77
  config.providers = providers;
68
78
  // Backup before modifying (never overwrite an existing backup)
@@ -1 +1 @@
1
- {"version":3,"file":"pi-config.js","sourceRoot":"","sources":["../../src/cli/pi-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,sDAAsD;AACtD,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAAkC,EAClC,IAAY,EACZ,OAAO,GAA4B,EAAE;IAErC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,sBAAsB,EAAE,CAAC;IAElE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,GAAG,UAAU,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,CAAC;QACH,IAAI,MAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QACpF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;QACxF,CAAC;QAED,MAAM,SAAS,GAAI,MAAM,CAAC,SAAiD,IAAI,EAAE,CAAC;QAClF,MAAM,WAAW,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAClD,MAAM,QAAQ,GACZ,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3E,CAAC,CAAE,WAAuC;YAC1C,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAEjD,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ;YAClC,CAAC,CAAC,QAAQ,CAAC,OAAO;YAClB,CAAC,CAAC,oBAAoB,IAAI,YAAY,CAAC;QAE3C,uEAAuE;QACvE,MAAM,SAAS,GAAG,KAAK;YACrB,CAAC,CAAC;gBACE,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE;oBACN,qBAAqB,EAAE,KAAK;oBAC5B,uBAAuB,EAAE,KAAK;oBAC9B,cAAc,EAAE,YAAY;iBAC7B;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,SAAS,CAAC,kBAAkB,CAAC,GAAG;YAC9B,GAAG,SAAS;YACZ,GAAG,QAAQ;YACX,OAAO;YACP,GAAG,EAAE,OAAO,QAAQ,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;YAC3E,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC;SACrC,CAAC;QACF,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAE7B,+DAA+D;QAC/D,MAAM,UAAU,GAAG,GAAG,UAAU,SAAS,CAAC;QAC1C,IAAI,CAAC;YACH,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QAED,QAAQ;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,mDAAmD;QACnD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC;gBACH,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;YAAC,MAAM,CAAC;gBACP,kDAAkD;YACpD,CAAC;YACD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,8DAA8D;aACtE,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pi-config.js","sourceRoot":"","sources":["../../src/cli/pi-config.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * Prompts for configuration values, writes config.yaml, and runs a quick
10
10
  * smoke test to verify the proxy starts and responds to health checks.
11
11
  */
12
+ import type { ProviderId } from '../providers/index.js';
12
13
  export interface SetupOptions {
13
14
  /** Skip all prompts — requires --keys or --keys-file */
14
15
  nonInteractive?: boolean;
@@ -26,8 +27,6 @@ export interface SetupOptions {
26
27
  encryptionKeyFile?: string;
27
28
  /** Skip encryption entirely */
28
29
  noEncryption?: boolean;
29
- /** Skip scraping setup */
30
- noScraping?: boolean;
31
30
  /** Skip proxy smoke test */
32
31
  noSmokeTest?: boolean;
33
32
  /** Skip opencode.json configuration */
@@ -45,15 +44,17 @@ export interface SetupOptions {
45
44
  }
46
45
  /** Parse CLI arguments for non-interactive setup. */
47
46
  export declare function parseSetupArgs(argv?: string[]): SetupOptions;
48
- /** Parse keys from comma-separated label:key pairs. */
47
+ /** Parse keys from comma-separated label:key[:provider] triples. */
49
48
  export declare function parseKeysFromArgs(keysStr: string): Array<{
50
49
  label: string;
51
50
  key: string;
51
+ provider?: ProviderId;
52
52
  }>;
53
- /** Parse keys from file (one per line: label:key). */
53
+ /** Parse keys from file (one per line: label:key[:provider]). */
54
54
  export declare function parseKeysFromFile(filePath: string): Array<{
55
55
  label: string;
56
56
  key: string;
57
+ provider?: ProviderId;
57
58
  }>;
58
59
  interface ValidationError {
59
60
  field: string;
@@ -67,13 +68,8 @@ export interface SetupConfig {
67
68
  keys: Array<{
68
69
  label: string;
69
70
  key: string;
71
+ provider?: ProviderId;
70
72
  }>;
71
- scrapingAccounts?: Array<{
72
- workspaceId: string;
73
- authCookie: string;
74
- }>;
75
- scrapingThreshold?: number;
76
- scrapingIntervalMs?: number;
77
73
  }
78
74
  export declare function generateYaml(cfg: SetupConfig, encryptionEnabled?: boolean): string;
79
75
  export declare function testProxy(port: number, timeoutMs?: number, cwd?: string, encryptionKey?: string, configPath?: string): Promise<void>;