saros-proxy 0.11.0 → 1.1.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 (62) hide show
  1. package/README.md +149 -60
  2. package/assets/models.json +3349 -0
  3. package/dist/cli/autostart.d.ts +13 -6
  4. package/dist/cli/autostart.js +317 -60
  5. package/dist/cli/autostart.js.map +1 -1
  6. package/dist/cli/daemon.js +66 -8
  7. package/dist/cli/daemon.js.map +1 -1
  8. package/dist/cli/harness-models.d.ts +5 -4
  9. package/dist/cli/harness-models.js +77 -30
  10. package/dist/cli/harness-models.js.map +1 -1
  11. package/dist/cli/help.js +5 -0
  12. package/dist/cli/help.js.map +1 -1
  13. package/dist/cli/opencode-config.d.ts +1 -0
  14. package/dist/cli/opencode-config.js +7 -6
  15. package/dist/cli/opencode-config.js.map +1 -1
  16. package/dist/cli/usage.js +13 -10
  17. package/dist/cli/usage.js.map +1 -1
  18. package/dist/constants.d.ts +2 -0
  19. package/dist/constants.js +2 -0
  20. package/dist/constants.js.map +1 -1
  21. package/dist/index.js +29 -36
  22. package/dist/index.js.map +1 -1
  23. package/dist/model-ladder.d.ts +30 -0
  24. package/dist/model-ladder.js +45 -0
  25. package/dist/model-ladder.js.map +1 -0
  26. package/dist/models-catalog.d.ts +25 -4
  27. package/dist/models-catalog.js +41 -12
  28. package/dist/models-catalog.js.map +1 -1
  29. package/dist/models-dev.d.ts +72 -0
  30. package/dist/models-dev.js +196 -0
  31. package/dist/models-dev.js.map +1 -0
  32. package/dist/models-fetcher.js +2 -0
  33. package/dist/models-fetcher.js.map +1 -1
  34. package/dist/models-refresh.d.ts +144 -0
  35. package/dist/models-refresh.js +522 -0
  36. package/dist/models-refresh.js.map +1 -0
  37. package/dist/models-sync.d.ts +6 -10
  38. package/dist/models-sync.js +26 -60
  39. package/dist/models-sync.js.map +1 -1
  40. package/dist/providers/commandcode.d.ts +20 -5
  41. package/dist/providers/commandcode.js +115 -7
  42. package/dist/providers/commandcode.js.map +1 -1
  43. package/dist/providers/index.d.ts +2 -2
  44. package/dist/providers/index.js +2 -2
  45. package/dist/providers/index.js.map +1 -1
  46. package/dist/providers/opencode-go.d.ts +8 -0
  47. package/dist/providers/opencode-go.js +35 -7
  48. package/dist/providers/opencode-go.js.map +1 -1
  49. package/dist/providers/types.d.ts +10 -2
  50. package/dist/proxy-logic.d.ts +27 -4
  51. package/dist/proxy-logic.js +86 -32
  52. package/dist/proxy-logic.js.map +1 -1
  53. package/dist/proxy.js +41 -22
  54. package/dist/proxy.js.map +1 -1
  55. package/dist/token-usage.d.ts +9 -2
  56. package/dist/token-usage.js +20 -4
  57. package/dist/token-usage.js.map +1 -1
  58. package/dist/usage-client.d.ts +43 -13
  59. package/dist/usage-client.js +37 -54
  60. package/dist/usage-client.js.map +1 -1
  61. package/package.json +5 -4
  62. package/models.json +0 -1440
@@ -18,8 +18,14 @@ interface ApiKey {
18
18
  consecutiveFailures: number;
19
19
  lastUsed: number | null;
20
20
  disabledAt: number | null;
21
- /** Worst-window used percent (0-100) reported by the upstream usage API. */
21
+ /** Monthly used percent (0-100) reported by the upstream usage API. */
22
22
  usagePercent: number | null;
23
+ /**
24
+ * True when any quota window (5h, weekly or monthly) is at 100%. Weight 0
25
+ * in rotation: a month with room does not help when the upstream already
26
+ * rejects the key for a spent shorter window.
27
+ */
28
+ exhausted: boolean;
23
29
  /**
24
30
  * False when the upstream rejected this key for lack of plan
25
31
  * (403 EntitlementError / upgrade_required): the account cannot use the
@@ -74,6 +80,7 @@ export interface KeyHealthReport {
74
80
  reason: KeyFailureReason;
75
81
  at: string;
76
82
  } | null;
83
+ /** Monthly used percent (0-100) of this key's provider budget. */
77
84
  usagePercent: number | null;
78
85
  }
79
86
  /** Fields needed to answer "can this key be used right now?". */
@@ -138,11 +145,27 @@ export declare function createProxyState(keys: Array<{
138
145
  circuitBreakerThreshold?: number;
139
146
  circuitBreakerCooldownMs?: number;
140
147
  }): ProxyState;
148
+ /** Usage snapshot applied to one key. */
149
+ export interface KeyUsageMetrics {
150
+ /**
151
+ * Monthly used percent, 0-100, of the key's own provider budget; null when
152
+ * the payload had no derivable monthly value and the previous one must stay.
153
+ */
154
+ usedPercent: number | null;
155
+ /** True when any quota window is at 100%. */
156
+ exhausted: boolean;
157
+ }
141
158
  /**
142
- * Update per-key usage data (worst-window used percent, 0-100).
143
- * Keys absent from the map keep their previous value.
159
+ * Update per-key usage data. `usedPercent` is the **monthly** percentage of
160
+ * the key's **own provider budget**, not absolute capacity: a mixed pool
161
+ * feeds every provider's number into `pickWeighted`, where only this
162
+ * normalized percent is comparable (opencode-go publishes percentages alone —
163
+ * no counts or caps). `exhausted` means a shorter window already hit its cap,
164
+ * so the key weighs 0 even when the month has room. A null `usedPercent` means
165
+ * the payload had no derivable monthly value and the previous percentage is
166
+ * kept. Keys absent from the map keep their previous values.
144
167
  */
145
- export declare function updateKeyUsage(state: ProxyState, usage: Map<string, number>): void;
168
+ export declare function updateKeyUsage(state: ProxyState, usage: Map<string, KeyUsageMetrics>): void;
146
169
  /**
147
170
  * Mark a key as (not) entitled to use its provider. Unentitled keys are
148
171
  * skipped by selection without touching the circuit breaker; the usage
@@ -25,6 +25,7 @@ export function createProxyState(keys, options) {
25
25
  lastUsed: null,
26
26
  disabledAt: null,
27
27
  usagePercent: null,
28
+ exhausted: false,
28
29
  entitled: true,
29
30
  currentWeight: 0,
30
31
  lastError: null,
@@ -103,13 +104,17 @@ function buildBookedLabels(state) {
103
104
  *
104
105
  * Selection strategy (smooth weighted round-robin, nginx-style):
105
106
  * - When usage data is known for the candidates, keys with more remaining
106
- * quota are proportionally preferred. E.g. key X at 30% used and key Y at
107
- * 70% used receive ~70%/30% of requests — exact proportions over a cycle,
108
- * not random sampling.
109
- * - Without usage data (or when every candidate is exhausted), falls back to
110
- * plain round-robin ordering.
107
+ * **monthly** budget are proportionally preferred. E.g. key X at 30% of its
108
+ * monthly allowance and key Y at 70% receive ~70%/30% of requests — exact
109
+ * proportions over a cycle, not random sampling.
110
+ * - A key with any exhausted window weighs 0, so it is not selected while
111
+ * another candidate still has room.
112
+ * - Keys without usage data take the median of the other candidates'
113
+ * non-exhausted weights (not plain round-robin). Round-robin only applies
114
+ * when no candidate has usage data at all; with `allowExhausted` (Tier 2+)
115
+ * it is also the last resort when every candidate is exhausted.
111
116
  */
112
- function findNextKey(state, excludeLabels, providerFilter) {
117
+ function findNextKey(state, excludeLabels, providerFilter, allowExhausted = true) {
113
118
  const n = state.keys.length;
114
119
  if (n === 0)
115
120
  return null;
@@ -126,50 +131,97 @@ function findNextKey(state, excludeLabels, providerFilter) {
126
131
  }
127
132
  if (candidates.length === 0)
128
133
  return null;
129
- const picked = pickWeighted(state, candidates);
134
+ const picked = pickWeighted(state, candidates, allowExhausted);
135
+ if (!picked)
136
+ return null;
130
137
  state.currentIndex = (state.keys.indexOf(picked) + 1) % n;
131
138
  picked.lastUsed = Date.now();
132
139
  return toSnapshot(picked);
133
140
  }
134
141
  /**
135
142
  * Internal: smooth weighted round-robin over the candidates.
136
- * Falls back to the first candidate (round-robin order) when usage data is
137
- * missing for any candidate or when no candidate has remaining capacity.
143
+ *
144
+ * Weight is the remaining **monthly** budget (`100 - usedPercent`), except
145
+ * that a key with any exhausted window weighs 0 — the upstream would reject it
146
+ * even while the month still has room.
147
+ *
148
+ * Keys without usage data get the median of the *non-exhausted* known weights.
149
+ * Including the zeros of exhausted keys here would silently drag the neutral
150
+ * weight to 0 (and starve the unknown keys); when no known key has room they
151
+ * get a positive weight instead, so an exhausted key is never preferred.
152
+ * Keys with weight 0 are skipped and their residual `currentWeight` cleared,
153
+ * so a key that just became exhausted cannot win on leftover momentum.
154
+ *
155
+ * Falls back to the first candidate (round-robin order) when no candidate has
156
+ * usage data at all, or — only when `allowExhausted` — when every candidate is
157
+ * out of capacity. Tier 1 passes `false`, so a zero-weight pool yields null
158
+ * and the next tier can share a healthy key instead of serving an exhausted
159
+ * one.
138
160
  */
139
- function pickWeighted(state, candidates) {
140
- const known = candidates.filter((k) => k.usagePercent !== null);
141
- if (known.length === 0)
142
- return candidates[0];
143
- let weights = candidates.map((k) => Math.max(0, 100 - (k.usagePercent ?? 0)));
144
- // Keys missing usage data get the median of the known weights — neutral,
145
- // so one flaky key no longer disables weighting for the whole pool.
146
- const sorted = known.map((k) => 100 - (k.usagePercent ?? 0)).sort((a, b) => a - b);
147
- const median = sorted[Math.floor(sorted.length / 2)] ?? 0;
148
- weights = weights.map((w, i) => (candidates[i].usagePercent === null ? median : w));
149
- const totalWeight = weights.reduce((sum, w) => sum + w, 0);
150
- if (totalWeight === 0)
161
+ function pickWeighted(state, candidates, allowExhausted) {
162
+ const known = candidates.map((k) => {
163
+ if (k.usagePercent === null)
164
+ return null;
165
+ return k.exhausted ? 0 : Math.max(0, 100 - k.usagePercent);
166
+ });
167
+ if (known.every((w) => w === null))
151
168
  return candidates[0];
152
- let best = candidates[0];
169
+ const roomWeights = candidates
170
+ .map((k, i) => (known[i] !== null && !k.exhausted ? known[i] : null))
171
+ .filter((w) => w !== null && w > 0)
172
+ .sort((a, b) => a - b);
173
+ // No known key has room: unknown keys must still be tried, so give them a
174
+ // full weight instead of the zero median.
175
+ const neutralWeight = roomWeights.length > 0
176
+ ? roomWeights[Math.floor(roomWeights.length / 2)]
177
+ : 100;
178
+ const finalWeights = known.map((w) => w ?? neutralWeight);
179
+ const totalWeight = finalWeights.reduce((sum, w) => sum + w, 0);
180
+ if (totalWeight === 0) {
181
+ // Nothing has room: keep the round-robin fallback momentum-free so a key
182
+ // that frees up later does not start with stale weight.
183
+ for (const key of candidates)
184
+ key.currentWeight = 0;
185
+ return allowExhausted ? candidates[0] : null;
186
+ }
187
+ let best = null;
153
188
  let bestWeight = -Infinity;
154
189
  for (let i = 0; i < candidates.length; i++) {
155
- candidates[i].currentWeight += weights[i];
190
+ if (finalWeights[i] === 0) {
191
+ candidates[i].currentWeight = 0;
192
+ continue;
193
+ }
194
+ candidates[i].currentWeight += finalWeights[i];
156
195
  if (candidates[i].currentWeight > bestWeight) {
157
196
  bestWeight = candidates[i].currentWeight;
158
197
  best = candidates[i];
159
198
  }
160
199
  }
200
+ if (best === null)
201
+ return candidates[0];
161
202
  best.currentWeight -= totalWeight;
162
203
  return best;
163
204
  }
164
205
  /**
165
- * Update per-key usage data (worst-window used percent, 0-100).
166
- * Keys absent from the map keep their previous value.
206
+ * Update per-key usage data. `usedPercent` is the **monthly** percentage of
207
+ * the key's **own provider budget**, not absolute capacity: a mixed pool
208
+ * feeds every provider's number into `pickWeighted`, where only this
209
+ * normalized percent is comparable (opencode-go publishes percentages alone —
210
+ * no counts or caps). `exhausted` means a shorter window already hit its cap,
211
+ * so the key weighs 0 even when the month has room. A null `usedPercent` means
212
+ * the payload had no derivable monthly value and the previous percentage is
213
+ * kept. Keys absent from the map keep their previous values.
167
214
  */
168
215
  export function updateKeyUsage(state, usage) {
169
216
  for (const key of state.keys) {
170
- const percent = usage.get(key.label);
171
- if (typeof percent === 'number')
172
- key.usagePercent = percent;
217
+ const metrics = usage.get(key.label);
218
+ if (!metrics)
219
+ continue;
220
+ // A null monthly metric is "no data", not 0%: keep the last known value
221
+ // so an underivable payload can never turn into maximum weight.
222
+ if (metrics.usedPercent !== null)
223
+ key.usagePercent = metrics.usedPercent;
224
+ key.exhausted = metrics.exhausted;
173
225
  }
174
226
  }
175
227
  /**
@@ -266,10 +318,11 @@ export function selectKeyForRequest(state, requestId, modelId) {
266
318
  for (const label of booked) {
267
319
  excludeLabels.add(label);
268
320
  }
269
- let snapshot = findNextKey(state, excludeLabels, providerFilter);
321
+ let snapshot = findNextKey(state, excludeLabels, providerFilter, false);
270
322
  // Tier 2: all healthy preferred keys are booked — share one via
271
323
  // round-robin. Better to share a key than return 503 when concurrent
272
- // requests outnumber the key pool.
324
+ // requests outnumber the key pool. This tier may fall back to an exhausted
325
+ // key when no healthy one exists at all.
273
326
  if (!snapshot) {
274
327
  snapshot = findNextKey(state, new Set(ctx.triedKeys), providerFilter);
275
328
  }
@@ -305,10 +358,11 @@ export function failoverRequest(state, requestId) {
305
358
  for (const label of booked) {
306
359
  excludeLabels.add(label);
307
360
  }
308
- let snapshot = findNextKey(state, excludeLabels, filter);
361
+ let snapshot = findNextKey(state, excludeLabels, filter, false);
309
362
  // Tier 2: all remaining healthy preferred keys are booked — share one.
310
363
  // Still respects per-request triedKeys (don't re-use a key this
311
- // request already failed on).
364
+ // request already failed on). May fall back to an exhausted key only when
365
+ // no healthy candidate exists.
312
366
  if (!snapshot) {
313
367
  snapshot = findNextKey(state, new Set(ctx.triedKeys), filter);
314
368
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proxy-logic.js","sourceRoot":"","sources":["../src/proxy-logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy-logic.js","sourceRoot":"","sources":["../src/proxy-logic.ts"],"names":[],"mappings":"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"}
package/dist/proxy.js CHANGED
@@ -842,21 +842,46 @@ async function handleStreamingRequest(opts) {
842
842
  });
843
843
  }
844
844
  /**
845
- * Pull token counts out of one SSE event. Chat completions carry `usage` at the
846
- * top level; the OpenAI Responses schema nests it under `response.usage` on
847
- * `response.completed`, so a top-level-only reader books zero for those streams.
845
+ * Pull token counts out of one SSE event, across every streaming surface saros
846
+ * relays: Chat Completions (top-level `usage`), OpenAI Responses
847
+ * (`response.usage` on `response.completed`) and Anthropic Messages
848
+ * (`message.usage` on `message_start`). A reader that only knew the first
849
+ * shape booked zero for the other two. `message` is only consulted on
850
+ * `message_start`: other event types may carry an unrelated business object
851
+ * under that key (e.g. streamed decision payloads).
848
852
  */
849
853
  function extractEventUsage(parsed) {
850
854
  if (parsed.usage)
851
855
  return parsed.usage;
852
- const response = parsed.response;
853
- if (response && typeof response === 'object' && !Array.isArray(response)) {
854
- const nested = response.usage;
856
+ const containers = [parsed.response];
857
+ if (parsed.type === 'message_start')
858
+ containers.push(parsed.message);
859
+ for (const container of containers) {
860
+ if (!container || typeof container !== 'object' || Array.isArray(container))
861
+ continue;
862
+ const nested = container.usage;
855
863
  if (nested)
856
864
  return nested;
857
865
  }
858
866
  return null;
859
867
  }
868
+ /**
869
+ * Merge one event's usage into the stream total. Anthropic splits the counts
870
+ * across events — `message_start` carries the prompt tokens, `message_delta`
871
+ * the cumulative output tokens — so last-one-wins would book zero prompt
872
+ * tokens for every Messages stream. Every documented surface reports
873
+ * cumulative per-field counts, so the largest value seen is the final one;
874
+ * identical repeats (CommandCode sends `usage` twice) are no-ops.
875
+ */
876
+ function mergeStreamUsage(target, next) {
877
+ if (!next || typeof next !== 'object' || Array.isArray(next))
878
+ return;
879
+ for (const [field, value] of Object.entries(next)) {
880
+ if (typeof value !== 'number' || !Number.isFinite(value))
881
+ continue;
882
+ target[field] = Math.max(target[field] ?? 0, value);
883
+ }
884
+ }
860
885
  /**
861
886
  * Wrap an upstream SSE stream with error detection.
862
887
  * Parses SSE events properly to avoid false positives on
@@ -869,20 +894,17 @@ function wrapStreamWithErrorDetection(upstreamStream, state, requestId, keyLabel
869
894
  const decoder = new TextDecoder();
870
895
  const encoder = new TextEncoder();
871
896
  let buffer = '';
872
- // Upstreams may report the same `usage` on more than one chunk: CommandCode
873
- // sends it on the finish chunk (`choices[0].finish_reason`) and again on the
874
- // trailing usage-only chunk (`choices: []`), so booking per chunk would
875
- // count every streamed request twice. Keep the canonical usage-only chunk
876
- // (last one wins, OpenAI's `include_usage` contract) and fall back to the
877
- // finish chunk's copy; book exactly once, when the stream ends.
878
- let lastUsage = null;
879
- let usageOnlyChunk = null;
897
+ // Usage is booked exactly once, when the stream ends. Upstreams may repeat
898
+ // the same counts on more than one chunk (CommandCode sends them on the
899
+ // finish chunk and on the trailing usage-only chunk) and Anthropic splits
900
+ // them across events, so counts are merged per field instead of replaced.
901
+ let streamUsage = null;
880
902
  let usageBooked = false;
881
903
  const bookUsage = () => {
882
904
  if (usageBooked)
883
905
  return;
884
906
  usageBooked = true;
885
- recordKeyTokens(keyLabel, usageOnlyChunk ?? lastUsage);
907
+ recordKeyTokens(keyLabel, streamUsage);
886
908
  };
887
909
  return new ReadableStream({
888
910
  async pull(controller) {
@@ -918,15 +940,12 @@ function wrapStreamWithErrorDetection(upstreamStream, state, requestId, keyLabel
918
940
  return;
919
941
  }
920
942
  // Intermediate chunks send `usage: null`; the counts arrive on the
921
- // finish chunk and/or the usage-only chunk (see bookUsage). The
922
- // OpenAI Responses schema nests them under `response.usage` on the
923
- // `response.completed` event instead of at the top level.
943
+ // finish chunk and/or a usage-only chunk (see bookUsage), or split
944
+ // across `response.completed` / `message_start` / `message_delta`.
924
945
  const eventUsage = extractEventUsage(parsed);
925
946
  if (eventUsage) {
926
- lastUsage = eventUsage;
927
- if (Array.isArray(parsed.choices) && parsed.choices.length === 0) {
928
- usageOnlyChunk = eventUsage;
929
- }
947
+ streamUsage ??= {};
948
+ mergeStreamUsage(streamUsage, eventUsage);
930
949
  }
931
950
  }
932
951
  catch {
package/dist/proxy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"}
@@ -49,5 +49,12 @@ export declare function getKeyTokenUsage(): {
49
49
  since: number;
50
50
  keys: Record<string, KeyTokenUsage>;
51
51
  };
52
- /** Test seam: drop in-memory state and any pending debounced write. */
53
- export declare function resetTokenUsage(): void;
52
+ /**
53
+ * Test seam: drop in-memory state and any pending debounced write. By default
54
+ * the persisted file is removed too, so counters cannot leak between tests
55
+ * that share a config dir; `keepFile` simulates a process restart that
56
+ * reloads existing history.
57
+ */
58
+ export declare function resetTokenUsage(options?: {
59
+ keepFile?: boolean;
60
+ }): void;