@relayplane/proxy 1.5.43 → 1.5.45

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.
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-proxy.d.ts","sourceRoot":"","sources":["../src/standalone-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAU5C,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAuB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA6C9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAc/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQ/E,CAAC;AAsCF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAWjD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvD;AAkBD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjD,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAcD,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAmBD,KAAK,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AA6EpD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;CAChD;AAuZD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAe3D;AAuDD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,UAAU,CAuCpG;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,OAAO,CAIlG;AAuoDD;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAu5C/E"}
1
+ {"version":3,"file":"standalone-proxy.d.ts","sourceRoot":"","sources":["../src/standalone-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAKlC,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAU5C,2DAA2D;AAC3D,eAAO,MAAM,mBAAmB,gBAAuB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA6C9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAc/E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQ/E,CAAC;AAiCF;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAWjD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMvD;AAkBD,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEjD,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9B;AAcD,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAmBD,KAAK,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AA6EpD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;CAChD;AAuZD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAe3D;AAuDD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,GAAG,UAAU,CAuCpG;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,OAAO,CAIlG;AAulDD;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CA2xC/E"}
@@ -133,14 +133,14 @@ exports.DEFAULT_ENDPOINTS = {
133
133
  */
134
134
  exports.MODEL_MAPPING = {
135
135
  // Anthropic models (using correct API model IDs)
136
- 'claude-opus-4-5': { provider: 'anthropic', model: 'claude-opus-4-20250514' },
137
- 'claude-sonnet-4': { provider: 'anthropic', model: 'claude-sonnet-4-20250514' },
138
- 'claude-3-5-sonnet': { provider: 'anthropic', model: 'claude-3-5-sonnet-20241022' },
139
- 'claude-3-5-haiku': { provider: 'anthropic', model: 'claude-3-5-haiku-20241022' },
140
- 'claude-haiku-4-5': { provider: 'anthropic', model: 'claude-haiku-4-5-20250514' },
141
- haiku: { provider: 'anthropic', model: 'claude-haiku-4-5-20250514' },
142
- sonnet: { provider: 'anthropic', model: 'claude-sonnet-4-20250514' },
143
- opus: { provider: 'anthropic', model: 'claude-opus-4-20250514' },
136
+ 'claude-opus-4-5': { provider: 'anthropic', model: 'claude-opus-4-6' },
137
+ 'claude-sonnet-4': { provider: 'anthropic', model: 'claude-sonnet-4-6' },
138
+ 'claude-3-5-sonnet': { provider: 'anthropic', model: 'claude-3-5-sonnet-latest' },
139
+ 'claude-3-5-haiku': { provider: 'anthropic', model: 'claude-haiku-4-5' },
140
+ 'claude-haiku-4-5': { provider: 'anthropic', model: 'claude-haiku-4-5' },
141
+ haiku: { provider: 'anthropic', model: 'claude-haiku-4-5' },
142
+ sonnet: { provider: 'anthropic', model: 'claude-sonnet-4-6' },
143
+ opus: { provider: 'anthropic', model: 'claude-opus-4-6' },
144
144
  // OpenAI models
145
145
  'gpt-4o': { provider: 'openai', model: 'gpt-4o' },
146
146
  'gpt-4o-mini': { provider: 'openai', model: 'gpt-4o-mini' },
@@ -171,10 +171,10 @@ exports.SMART_ALIASES = {
171
171
  * Send a telemetry event to the cloud (anonymous or authenticated).
172
172
  * Non-blocking — errors are silently swallowed.
173
173
  */
174
- function sendCloudTelemetry(taskType, model, tokensIn, tokensOut, latencyMs, success, costUsd, requestedModel, cacheCreationTokens, cacheReadTokens) {
174
+ function sendCloudTelemetry(taskType, model, tokensIn, tokensOut, latencyMs, success, costUsd, requestedModel) {
175
175
  try {
176
- const cost = costUsd ?? (0, telemetry_js_1.estimateCost)(model, tokensIn, tokensOut, cacheCreationTokens, cacheReadTokens);
177
- const event = {
176
+ const cost = costUsd ?? (0, telemetry_js_1.estimateCost)(model, tokensIn, tokensOut);
177
+ (0, telemetry_js_1.recordTelemetry)({
178
178
  task_type: taskType,
179
179
  model,
180
180
  tokens_in: tokensIn,
@@ -183,12 +183,7 @@ function sendCloudTelemetry(taskType, model, tokensIn, tokensOut, latencyMs, suc
183
183
  success,
184
184
  cost_usd: cost,
185
185
  requested_model: requestedModel,
186
- };
187
- if (cacheCreationTokens)
188
- event.cache_creation_tokens = cacheCreationTokens;
189
- if (cacheReadTokens)
190
- event.cache_read_tokens = cacheReadTokens;
191
- (0, telemetry_js_1.recordTelemetry)(event);
186
+ });
192
187
  }
193
188
  catch {
194
189
  // Telemetry should never break the proxy
@@ -494,18 +489,18 @@ const DEFAULT_PROXY_CONFIG = {
494
489
  cascade: {
495
490
  enabled: true,
496
491
  models: [
497
- 'claude-3-5-haiku-20241022',
498
- 'claude-sonnet-4-20250514',
499
- 'claude-opus-4-20250514',
492
+ 'claude-haiku-4-5',
493
+ 'claude-sonnet-4-6',
494
+ 'claude-opus-4-6',
500
495
  ],
501
496
  escalateOn: 'uncertainty',
502
497
  maxEscalations: 1,
503
498
  },
504
499
  complexity: {
505
500
  enabled: true,
506
- simple: 'claude-3-5-haiku-20241022',
507
- moderate: 'claude-sonnet-4-20250514',
508
- complex: 'claude-opus-4-20250514',
501
+ simple: 'claude-haiku-4-5',
502
+ moderate: 'claude-sonnet-4-6',
503
+ complex: 'claude-opus-4-6',
509
504
  },
510
505
  },
511
506
  reliability: {
@@ -746,24 +741,29 @@ function getAuthForModel(model, authConfig, envApiKey) {
746
741
  * MAX tokens (sk-ant-oat*) use Authorization: Bearer header
747
742
  * API keys (sk-ant-api*) use x-api-key header
748
743
  */
749
- function buildAnthropicHeadersWithAuth(ctx, apiKey, isMaxToken, isRerouted) {
744
+ function buildAnthropicHeadersWithAuth(ctx, apiKey, isMaxToken) {
750
745
  const headers = {
751
746
  'Content-Type': 'application/json',
752
747
  'anthropic-version': ctx.versionHeader || '2023-06-01',
753
748
  };
754
- // Detect if incoming auth is OAuth
755
- const incomingIsOAuth = ctx.apiKeyHeader?.startsWith('sk-ant-oat') || ctx.authHeader?.includes('sk-ant-oat');
756
- const apiKeyIsRegular = apiKey && apiKey.startsWith('sk-ant-api');
757
- // When rerouted (auto mode changed the model) and incoming is OAuth,
758
- // prefer the regular API key — OAuth doesn't work for all models (e.g. Haiku)
759
- if (isRerouted && incomingIsOAuth && apiKeyIsRegular) {
749
+ // Auth: prefer incoming auth for passthrough, but OAuth doesn't work for all models (e.g. Haiku)
750
+ // When we have a regular API key AND incoming auth is OAuth, prefer the API key for rerouted requests
751
+ // because OAuth may not be supported on the target model. The API key works for ALL models.
752
+ const incomingIsOAuth = !!(ctx.apiKeyHeader?.startsWith('sk-ant-oat') || ctx.authHeader?.includes('sk-ant-oat'));
753
+ if (incomingIsOAuth && apiKey && !apiKey.startsWith('sk-ant-oat')) {
760
754
  headers['x-api-key'] = apiKey;
761
755
  }
762
756
  else if (ctx.authHeader) {
763
757
  headers['Authorization'] = ctx.authHeader;
764
758
  }
765
759
  else if (ctx.apiKeyHeader) {
766
- headers['x-api-key'] = ctx.apiKeyHeader;
760
+ // MAX/OAuth tokens (sk-ant-oat*) must use Authorization: Bearer, not x-api-key
761
+ if (ctx.apiKeyHeader.startsWith('sk-ant-oat')) {
762
+ headers['Authorization'] = `Bearer ${ctx.apiKeyHeader}`;
763
+ }
764
+ else {
765
+ headers['x-api-key'] = ctx.apiKeyHeader;
766
+ }
767
767
  }
768
768
  else if (apiKey) {
769
769
  // MAX tokens (OAuth) use Authorization: Bearer, API keys use x-api-key
@@ -850,8 +850,8 @@ async function forwardToAnthropicStream(request, targetModel, ctx, envApiKey) {
850
850
  * Forward native Anthropic /v1/messages request (passthrough with routing)
851
851
  * Used for Claude Code direct integration
852
852
  */
853
- async function forwardNativeAnthropicRequest(body, ctx, envApiKey, isMaxToken, isRerouted) {
854
- const headers = buildAnthropicHeadersWithAuth(ctx, envApiKey, isMaxToken, isRerouted);
853
+ async function forwardNativeAnthropicRequest(body, ctx, envApiKey, isMaxToken) {
854
+ const headers = buildAnthropicHeadersWithAuth(ctx, envApiKey, isMaxToken);
855
855
  const response = await fetch('https://api.anthropic.com/v1/messages', {
856
856
  method: 'POST',
857
857
  headers,
@@ -1412,11 +1412,9 @@ function convertAnthropicResponse(anthropicData) {
1412
1412
  },
1413
1413
  ],
1414
1414
  usage: {
1415
- prompt_tokens: (anthropicData.usage?.input_tokens ?? 0) + (anthropicData.usage?.cache_creation_input_tokens ?? 0) + (anthropicData.usage?.cache_read_input_tokens ?? 0),
1415
+ prompt_tokens: anthropicData.usage?.input_tokens ?? 0,
1416
1416
  completion_tokens: anthropicData.usage?.output_tokens ?? 0,
1417
- total_tokens: (anthropicData.usage?.input_tokens ?? 0) + (anthropicData.usage?.cache_creation_input_tokens ?? 0) + (anthropicData.usage?.cache_read_input_tokens ?? 0) + (anthropicData.usage?.output_tokens ?? 0),
1418
- cache_creation_input_tokens: anthropicData.usage?.cache_creation_input_tokens ?? 0,
1419
- cache_read_input_tokens: anthropicData.usage?.cache_read_input_tokens ?? 0,
1417
+ total_tokens: (anthropicData.usage?.input_tokens ?? 0) + (anthropicData.usage?.output_tokens ?? 0),
1420
1418
  },
1421
1419
  };
1422
1420
  }
@@ -1439,16 +1437,11 @@ function convertAnthropicStreamEvent(eventType, eventData, messageId, model, too
1439
1437
  const msg = eventData['message'];
1440
1438
  baseChunk.id = msg?.['id'] || messageId;
1441
1439
  choice.delta = { role: 'assistant', content: '' };
1442
- // Pass through input token count from message_start (including cache tokens)
1440
+ // Pass through input token count from message_start
1443
1441
  const msgUsage = msg?.['usage'];
1444
1442
  if (msgUsage) {
1445
- const cacheCreation = msgUsage['cache_creation_input_tokens'] ?? 0;
1446
- const cacheRead = msgUsage['cache_read_input_tokens'] ?? 0;
1447
- const inputTokens = msgUsage['input_tokens'] ?? 0;
1448
1443
  baseChunk['usage'] = {
1449
- prompt_tokens: inputTokens + cacheCreation + cacheRead,
1450
- cache_creation_input_tokens: cacheCreation,
1451
- cache_read_input_tokens: cacheRead,
1444
+ prompt_tokens: msgUsage['input_tokens'] ?? 0,
1452
1445
  };
1453
1446
  }
1454
1447
  return `data: ${JSON.stringify(baseChunk)}\n\n`;
@@ -1819,7 +1812,7 @@ function getCascadeConfig(config) {
1819
1812
  const c = config.routing?.cascade;
1820
1813
  return {
1821
1814
  enabled: c?.enabled ?? true,
1822
- models: c?.models ?? ['claude-3-5-haiku-20241022', 'claude-sonnet-4-20250514', 'claude-opus-4-20250514'],
1815
+ models: c?.models ?? ['claude-haiku-4-5', 'claude-sonnet-4-6', 'claude-opus-4-6'],
1823
1816
  escalateOn: c?.escalateOn ?? 'uncertainty',
1824
1817
  maxEscalations: c?.maxEscalations ?? 1,
1825
1818
  };
@@ -1836,18 +1829,18 @@ function getCooldownConfig(config) {
1836
1829
  function getCostModel(config) {
1837
1830
  return (config.routing?.complexity?.simple ||
1838
1831
  config.routing?.cascade?.models?.[0] ||
1839
- 'claude-3-5-haiku-20241022');
1832
+ 'claude-haiku-4-5');
1840
1833
  }
1841
1834
  function getFastModel(config) {
1842
1835
  return (config.routing?.complexity?.simple ||
1843
1836
  config.routing?.cascade?.models?.[0] ||
1844
- 'claude-3-5-haiku-20241022');
1837
+ 'claude-haiku-4-5');
1845
1838
  }
1846
1839
  function getQualityModel(config) {
1847
1840
  return (config.routing?.complexity?.complex ||
1848
1841
  config.routing?.cascade?.models?.[config.routing?.cascade?.models?.length ? config.routing.cascade.models.length - 1 : 0] ||
1849
1842
  process.env['RELAYPLANE_QUALITY_MODEL'] ||
1850
- 'claude-sonnet-4-20250514');
1843
+ 'claude-sonnet-4-6');
1851
1844
  }
1852
1845
  async function cascadeRequest(config, makeRequest, log) {
1853
1846
  let escalations = 0;
@@ -1912,15 +1905,6 @@ td{padding:8px 12px;border-bottom:1px solid #111318}
1912
1905
  <div class="card"><div class="label">Savings</div><div class="value green" id="savings">—</div></div>
1913
1906
  <div class="card"><div class="label">Avg Latency</div><div class="value" id="avgLat">—</div></div>
1914
1907
  </div>
1915
- <div class="section"><h2>Auth & Routing</h2>
1916
- <div id="routingDetails" style="display:flex;gap:16px;flex-wrap:wrap;margin-bottom:12px">
1917
- <div class="prov-item"><span class="dot" id="authDot"></span> <strong>Auth:</strong>&nbsp;<span id="authInfo">—</span></div>
1918
- <div class="prov-item"><strong>Routing:</strong>&nbsp;<span id="routingMode">—</span></div>
1919
- <div class="prov-item"><strong>Simple→</strong>&nbsp;<span id="routeSimple">—</span></div>
1920
- <div class="prov-item"><strong>Moderate→</strong>&nbsp;<span id="routeModerate">—</span></div>
1921
- <div class="prov-item"><strong>Complex→</strong>&nbsp;<span id="routeComplex">—</span></div>
1922
- </div>
1923
- </div>
1924
1908
  <div class="section"><h2>Model Breakdown</h2>
1925
1909
  <table><thead><tr><th>Model</th><th>Requests</th><th>Cost</th><th>% of Total</th></tr></thead><tbody id="models"></tbody></table></div>
1926
1910
  <div class="section"><h2>Provider Status</h2><div class="prov" id="providers"></div></div>
@@ -1941,39 +1925,6 @@ async function load(){
1941
1925
  fetch('/v1/telemetry/health').then(r=>r.json())
1942
1926
  ]);
1943
1927
  $('ver').textContent='v'+health.version;
1944
- const authDot=$('authDot'),authInfo=$('authInfo');
1945
- if(health.auth){
1946
- if(health.auth.anthropicApiKey){authDot.className='dot up';authInfo.textContent='API key ('+health.auth.anthropicApiKeyPrefix+')';}
1947
- else{authDot.className='dot warn';authInfo.textContent='OAuth only (no API key)';}
1948
- }
1949
- if(health.routing){
1950
- const mode=health.routing.mode||'passthrough';
1951
- $('routingMode').textContent=mode;
1952
- const routingSection=document.getElementById('routingDetails');
1953
- const hasApiKey=health.auth&&health.auth.anthropicApiKey;
1954
- if(mode==='passthrough'){
1955
- if(routingSection)routingSection.innerHTML='<div class="prov-item">Routing: passthrough → model from incoming requests</div>';
1956
- }else{
1957
- if(health.routing.complexity){
1958
- const cx=health.routing.complexity;
1959
- const authLabel=function(model){
1960
- if(hasApiKey)return '<span style="color:#34d399">● API key</span>';
1961
- const isHaiku=model&&model.toLowerCase().includes('haiku');
1962
- if(isHaiku)return '<span style="color:#ef4444">⚠️ OAuth - may fail</span>';
1963
- return '<span style="color:#fbbf24">● OAuth</span>';
1964
- };
1965
- $('routeSimple').innerHTML=(cx.simple||'—')+' <small>'+authLabel(cx.simple)+'</small>';
1966
- $('routeModerate').innerHTML=(cx.moderate||'—')+' <small>'+authLabel(cx.moderate)+'</small>';
1967
- $('routeComplex').innerHTML=(cx.complex||'—')+' <small>'+authLabel(cx.complex)+'</small>';
1968
- if(!hasApiKey&&cx.simple&&cx.simple.toLowerCase().includes('haiku')){
1969
- const warn=document.createElement('div');
1970
- warn.className='prov-item';warn.style.borderColor='#ef4444';warn.style.color='#ef4444';
1971
- warn.innerHTML='⚠️ Haiku requires ANTHROPIC_API_KEY — OAuth not supported';
1972
- if(routingSection)routingSection.appendChild(warn);
1973
- }
1974
- }
1975
- }
1976
- }
1977
1928
  $('uptime').textContent=dur(health.uptime);
1978
1929
  const total=stats.summary?.totalEvents||0;
1979
1930
  $('totalReq').textContent=total;
@@ -2102,60 +2053,6 @@ async function startProxy(config = {}) {
2102
2053
  process.on('SIGTERM', handleShutdown);
2103
2054
  const configPath = getProxyConfigPath();
2104
2055
  let proxyConfig = await loadProxyConfig(configPath, log);
2105
- // Auto-config on startup: detect available auth and set optimal routing
2106
- const configExists = await fs.promises.access(configPath).then(() => true).catch(() => false);
2107
- if (!configExists || proxyConfig.routing?.mode === 'auto') {
2108
- const envAnthropicKey = process.env['ANTHROPIC_API_KEY'];
2109
- const hasRegularApiKey = !!envAnthropicKey && envAnthropicKey.startsWith('sk-ant-api');
2110
- if (hasRegularApiKey) {
2111
- // Full 3-tier routing with API key
2112
- log('Auto-config: ANTHROPIC_API_KEY detected — enabling 3-tier routing (haiku/sonnet/opus)');
2113
- if (!configExists) {
2114
- const autoConfig = {
2115
- enabled: true,
2116
- modelOverrides: {},
2117
- routing: {
2118
- mode: 'auto',
2119
- cascade: { enabled: false, models: [], escalateOn: 'uncertainty', maxEscalations: 1 },
2120
- complexity: {
2121
- enabled: true,
2122
- simple: 'claude-haiku-4-5',
2123
- moderate: 'claude-sonnet-4-6',
2124
- complex: 'claude-opus-4-6',
2125
- },
2126
- },
2127
- reliability: proxyConfig.reliability,
2128
- };
2129
- await saveProxyConfig(configPath, autoConfig);
2130
- proxyConfig = await loadProxyConfig(configPath, log);
2131
- log('Auto-config: wrote config to ' + configPath);
2132
- }
2133
- }
2134
- else {
2135
- // No regular API key — OAuth only, skip Haiku
2136
- console.warn('[relayplane] ⚠️ No ANTHROPIC_API_KEY set — Haiku routing disabled (OAuth not supported). Set ANTHROPIC_API_KEY to enable 3-tier routing.');
2137
- if (!configExists) {
2138
- const autoConfig = {
2139
- enabled: true,
2140
- modelOverrides: {},
2141
- routing: {
2142
- mode: 'auto',
2143
- cascade: { enabled: false, models: [], escalateOn: 'uncertainty', maxEscalations: 1 },
2144
- complexity: {
2145
- enabled: true,
2146
- simple: 'claude-sonnet-4-6',
2147
- moderate: 'claude-sonnet-4-6',
2148
- complex: 'claude-opus-4-6',
2149
- },
2150
- },
2151
- reliability: proxyConfig.reliability,
2152
- };
2153
- await saveProxyConfig(configPath, autoConfig);
2154
- proxyConfig = await loadProxyConfig(configPath, log);
2155
- log('Auto-config: wrote OAuth-safe config to ' + configPath + ' (no Haiku)');
2156
- }
2157
- }
2158
- }
2159
2056
  const cooldownManager = new CooldownManager(getCooldownConfig(proxyConfig));
2160
2057
  let configWatcher = null;
2161
2058
  let configReloadTimer = null;
@@ -2171,8 +2068,6 @@ async function startProxy(config = {}) {
2171
2068
  reloadConfig().catch(() => { });
2172
2069
  }, 50);
2173
2070
  };
2174
- let credentialsWatcher = null;
2175
- const credentialsPath = path.join(path.dirname(configPath), 'credentials.json');
2176
2071
  const startConfigWatcher = () => {
2177
2072
  if (configWatcher)
2178
2073
  return;
@@ -2184,45 +2079,7 @@ async function startProxy(config = {}) {
2184
2079
  log(`Config watch error: ${error.message}`);
2185
2080
  }
2186
2081
  };
2187
- const startCredentialsWatcher = () => {
2188
- if (credentialsWatcher)
2189
- return;
2190
- try {
2191
- // Watch credentials.json so login triggers a reload without proxy restart
2192
- if (fs.existsSync(credentialsPath)) {
2193
- credentialsWatcher = fs.watch(credentialsPath, () => {
2194
- log('Credentials changed — reloading config');
2195
- scheduleConfigReload();
2196
- });
2197
- }
2198
- else {
2199
- // Watch the directory for credentials.json creation
2200
- const dir = path.dirname(credentialsPath);
2201
- const dirWatcher = fs.watch(dir, (_, filename) => {
2202
- if (filename === 'credentials.json') {
2203
- log('Credentials file created — reloading config');
2204
- scheduleConfigReload();
2205
- // Now watch the file directly
2206
- dirWatcher.close();
2207
- try {
2208
- credentialsWatcher = fs.watch(credentialsPath, () => {
2209
- log('Credentials changed — reloading config');
2210
- scheduleConfigReload();
2211
- });
2212
- }
2213
- catch { }
2214
- }
2215
- });
2216
- credentialsWatcher = dirWatcher;
2217
- }
2218
- }
2219
- catch (err) {
2220
- const error = err;
2221
- log(`Credentials watch error: ${error.message}`);
2222
- }
2223
- };
2224
2082
  startConfigWatcher();
2225
- startCredentialsWatcher();
2226
2083
  // Initialize RelayPlane
2227
2084
  const relay = new core_1.RelayPlane({ dbPath: config.dbPath });
2228
2085
  // Startup migration: clear default routing rules so complexity config takes priority
@@ -2253,10 +2110,6 @@ async function startProxy(config = {}) {
2253
2110
  if (req.method === 'GET' && (pathname === '/health' || pathname === '/healthz')) {
2254
2111
  const uptimeMs = Date.now() - globalStats.startedAt;
2255
2112
  res.writeHead(200, { 'Content-Type': 'application/json' });
2256
- const anthropicEnvKeySet = !!process.env['ANTHROPIC_API_KEY'];
2257
- const anthropicEnvKeyPrefix = anthropicEnvKeySet ? process.env['ANTHROPIC_API_KEY'].slice(0, 12) + '...' : null;
2258
- const routingMode = proxyConfig.routing?.mode || 'passthrough';
2259
- const complexityConfig = proxyConfig.routing?.complexity;
2260
2113
  res.end(JSON.stringify({
2261
2114
  status: 'ok',
2262
2115
  version: PROXY_VERSION,
@@ -2266,15 +2119,6 @@ async function startProxy(config = {}) {
2266
2119
  successRate: globalStats.totalRequests > 0
2267
2120
  ? parseFloat(((globalStats.successfulRequests / globalStats.totalRequests) * 100).toFixed(1))
2268
2121
  : null,
2269
- auth: {
2270
- anthropicApiKey: anthropicEnvKeySet,
2271
- anthropicApiKeyPrefix: anthropicEnvKeyPrefix,
2272
- note: anthropicEnvKeySet ? 'API key available for models that don\'t support OAuth' : 'No API key — OAuth passthrough only',
2273
- },
2274
- routing: {
2275
- mode: routingMode,
2276
- complexity: complexityConfig,
2277
- },
2278
2122
  stats: {
2279
2123
  totalRequests: globalStats.totalRequests,
2280
2124
  successfulRequests: globalStats.successfulRequests,
@@ -2400,7 +2244,7 @@ async function startProxy(config = {}) {
2400
2244
  const offset = parseInt(params.get('offset') || '0', 10);
2401
2245
  const sorted = [...requestHistory].reverse();
2402
2246
  const runs = sorted.slice(offset, offset + limit).map(r => {
2403
- const origCost = (0, telemetry_js_1.estimateCost)('claude-opus-4-20250514', r.tokensIn, r.tokensOut);
2247
+ const origCost = (0, telemetry_js_1.estimateCost)('claude-opus-4-6', r.tokensIn, r.tokensOut);
2404
2248
  const perRunSavings = Math.max(0, origCost - r.costUsd);
2405
2249
  return {
2406
2250
  id: r.id,
@@ -2431,7 +2275,7 @@ async function startProxy(config = {}) {
2431
2275
  if (req.method === 'GET' && telemetryPath === 'savings') {
2432
2276
  // Savings = cost if everything ran on Opus - actual cost
2433
2277
  // Always compare against Opus as the baseline
2434
- const OPUS_BASELINE = 'claude-opus-4-20250514';
2278
+ const OPUS_BASELINE = 'claude-opus-4-6';
2435
2279
  let totalOriginalCost = 0;
2436
2280
  let totalActualCost = 0;
2437
2281
  let totalSavedAmount = 0;
@@ -2556,7 +2400,8 @@ async function startProxy(config = {}) {
2556
2400
  useAnthropicEnvKey = undefined; // Only use incoming auth
2557
2401
  }
2558
2402
  else {
2559
- // 'auto': Always keep env key available — needed for OAuth→API key fallback on rerouted requests
2403
+ // 'auto': Use incoming auth if present, fallback to env
2404
+ // ALWAYS keep env key available — OAuth (sk-ant-oat) doesn't work for all models (e.g. Haiku)
2560
2405
  useAnthropicEnvKey = anthropicEnvKey;
2561
2406
  }
2562
2407
  // === Native Anthropic /v1/messages endpoint (for Claude Code) ===
@@ -2795,8 +2640,7 @@ async function startProxy(config = {}) {
2795
2640
  if (modelAuth.isMax) {
2796
2641
  log(`Using MAX token for ${resolved.model}`);
2797
2642
  }
2798
- const isCascadeRerouted = resolved.model !== originalModel;
2799
- const providerResponse = await forwardNativeAnthropicRequest(attemptBody, ctx, modelAuth.apiKey, modelAuth.isMax, isCascadeRerouted);
2643
+ const providerResponse = await forwardNativeAnthropicRequest(attemptBody, ctx, modelAuth.apiKey, modelAuth.isMax);
2800
2644
  const responseData = (await providerResponse.json());
2801
2645
  if (!providerResponse.ok) {
2802
2646
  if (proxyConfig.reliability?.cooldowns?.enabled) {
@@ -2823,12 +2667,7 @@ async function startProxy(config = {}) {
2823
2667
  if (modelAuth.isMax) {
2824
2668
  log(`Using MAX token for ${finalModel}`);
2825
2669
  }
2826
- // isRerouted: true when auto-routing changed the model from what the user requested
2827
- const isRerouted = routingMode !== 'passthrough' && finalModel !== originalModel;
2828
- if (isRerouted) {
2829
- log(`Rerouted: ${originalModel} → ${finalModel} (auth fallback enabled)`);
2830
- }
2831
- const providerResponse = await forwardNativeAnthropicRequest({ ...requestBody, model: finalModel }, ctx, modelAuth.apiKey, modelAuth.isMax, isRerouted);
2670
+ const providerResponse = await forwardNativeAnthropicRequest({ ...requestBody, model: finalModel }, ctx, modelAuth.apiKey, modelAuth.isMax);
2832
2671
  if (!providerResponse.ok) {
2833
2672
  const errorPayload = (await providerResponse.json());
2834
2673
  if (proxyConfig.reliability?.cooldowns?.enabled) {
@@ -2854,8 +2693,6 @@ async function startProxy(config = {}) {
2854
2693
  const reader = providerResponse.body?.getReader();
2855
2694
  let streamTokensIn = 0;
2856
2695
  let streamTokensOut = 0;
2857
- let streamCacheCreation = 0;
2858
- let streamCacheRead = 0;
2859
2696
  if (reader) {
2860
2697
  const decoder = new TextDecoder();
2861
2698
  let sseBuffer = '';
@@ -2878,12 +2715,9 @@ async function startProxy(config = {}) {
2878
2715
  if (evt.type === 'message_delta' && evt.usage) {
2879
2716
  streamTokensOut = evt.usage.output_tokens ?? streamTokensOut;
2880
2717
  }
2881
- // Anthropic: message_start has usage.input_tokens + cache token fields
2718
+ // Anthropic: message_start has usage.input_tokens
2882
2719
  if (evt.type === 'message_start' && evt.message?.usage) {
2883
- const u = evt.message.usage;
2884
- streamCacheCreation = u.cache_creation_input_tokens ?? 0;
2885
- streamCacheRead = u.cache_read_input_tokens ?? 0;
2886
- streamTokensIn = (u.input_tokens ?? 0) + streamCacheCreation + streamCacheRead;
2720
+ streamTokensIn = evt.message.usage.input_tokens ?? streamTokensIn;
2887
2721
  }
2888
2722
  // OpenAI format: choices with usage
2889
2723
  if (evt.usage) {
@@ -2903,7 +2737,7 @@ async function startProxy(config = {}) {
2903
2737
  }
2904
2738
  }
2905
2739
  // Store streaming token counts so telemetry can use them
2906
- nativeResponseData = { usage: { input_tokens: streamTokensIn, output_tokens: streamTokensOut, cache_creation_input_tokens: streamCacheCreation, cache_read_input_tokens: streamCacheRead } };
2740
+ nativeResponseData = { usage: { input_tokens: streamTokensIn, output_tokens: streamTokensOut } };
2907
2741
  res.end();
2908
2742
  }
2909
2743
  else {
@@ -2920,12 +2754,9 @@ async function startProxy(config = {}) {
2920
2754
  // nativeResponseData holds response JSON for non-streaming, or { usage: { input_tokens, output_tokens } }
2921
2755
  // synthesised from SSE events for streaming
2922
2756
  const nativeUsageData = nativeResponseData?.usage;
2923
- const nativeCacheCreation = nativeUsageData?.cache_creation_input_tokens ?? 0;
2924
- const nativeCacheRead = nativeUsageData?.cache_read_input_tokens ?? 0;
2925
- const nativeRawIn = nativeUsageData?.input_tokens ?? nativeUsageData?.prompt_tokens ?? 0;
2926
- const nativeTokIn = nativeRawIn + nativeCacheCreation + nativeCacheRead;
2757
+ const nativeTokIn = nativeUsageData?.input_tokens ?? nativeUsageData?.prompt_tokens ?? 0;
2927
2758
  const nativeTokOut = nativeUsageData?.output_tokens ?? nativeUsageData?.completion_tokens ?? 0;
2928
- updateLastHistoryEntry(nativeTokIn, nativeTokOut, (0, telemetry_js_1.estimateCost)(targetModel || requestedModel, nativeRawIn, nativeTokOut, nativeCacheCreation, nativeCacheRead));
2759
+ updateLastHistoryEntry(nativeTokIn, nativeTokOut, (0, telemetry_js_1.estimateCost)(targetModel || requestedModel, nativeTokIn, nativeTokOut));
2929
2760
  if (recordTelemetry) {
2930
2761
  relay
2931
2762
  .run({
@@ -2934,7 +2765,7 @@ async function startProxy(config = {}) {
2934
2765
  model: `${targetProvider}:${targetModel || requestedModel}`,
2935
2766
  })
2936
2767
  .catch(() => { });
2937
- sendCloudTelemetry(taskType, targetModel || requestedModel, nativeTokIn, nativeTokOut, durationMs, true, undefined, originalModel ?? undefined, nativeCacheCreation, nativeCacheRead);
2768
+ sendCloudTelemetry(taskType, targetModel || requestedModel, nativeTokIn, nativeTokOut, durationMs, true, undefined, originalModel ?? undefined);
2938
2769
  }
2939
2770
  }
2940
2771
  catch (err) {
@@ -3272,12 +3103,9 @@ async function startProxy(config = {}) {
3272
3103
  // Log cascade request for stats tracking
3273
3104
  logRequest(originalRequestedModel ?? 'unknown', cascadeResult.model, cascadeResult.provider, durationMs, true, 'cascade', cascadeResult.escalations > 0, taskType, complexity);
3274
3105
  const cascadeUsage = responseData?.usage;
3275
- const cascadeCacheCreation = cascadeUsage?.cache_creation_input_tokens ?? 0;
3276
- const cascadeCacheRead = cascadeUsage?.cache_read_input_tokens ?? 0;
3277
- const cascadeRawIn = cascadeUsage?.input_tokens ?? cascadeUsage?.prompt_tokens ?? 0;
3278
- const cascadeTokensIn = cascadeRawIn + cascadeCacheCreation + cascadeCacheRead;
3106
+ const cascadeTokensIn = cascadeUsage?.input_tokens ?? cascadeUsage?.prompt_tokens ?? 0;
3279
3107
  const cascadeTokensOut = cascadeUsage?.output_tokens ?? cascadeUsage?.completion_tokens ?? 0;
3280
- const cascadeCost = (0, telemetry_js_1.estimateCost)(cascadeResult.model, cascadeRawIn, cascadeTokensOut, cascadeCacheCreation, cascadeCacheRead);
3108
+ const cascadeCost = (0, telemetry_js_1.estimateCost)(cascadeResult.model, cascadeTokensIn, cascadeTokensOut);
3281
3109
  updateLastHistoryEntry(cascadeTokensIn, cascadeTokensOut, cascadeCost, chatCascadeRespModel);
3282
3110
  if (recordTelemetry) {
3283
3111
  try {
@@ -3300,7 +3128,7 @@ async function startProxy(config = {}) {
3300
3128
  catch (err) {
3301
3129
  log(`Failed to record run: ${err}`);
3302
3130
  }
3303
- sendCloudTelemetry(taskType, cascadeResult.model, cascadeTokensIn, cascadeTokensOut, durationMs, true, undefined, originalRequestedModel ?? undefined, cascadeCacheCreation, cascadeCacheRead);
3131
+ sendCloudTelemetry(taskType, cascadeResult.model, cascadeTokensIn, cascadeTokensOut, durationMs, true, undefined, originalRequestedModel ?? undefined);
3304
3132
  }
3305
3133
  const chatCascadeRpHeaders = buildRelayPlaneResponseHeaders(cascadeResult.model, originalRequestedModel ?? 'unknown', complexity, cascadeResult.provider, 'cascade');
3306
3134
  res.writeHead(200, { 'Content-Type': 'application/json', ...chatCascadeRpHeaders });
@@ -3449,8 +3277,6 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
3449
3277
  // Track token usage from streaming events
3450
3278
  let streamTokensIn = 0;
3451
3279
  let streamTokensOut = 0;
3452
- let streamCacheCreation = 0;
3453
- let streamCacheRead = 0;
3454
3280
  try {
3455
3281
  // Stream the response based on provider format
3456
3282
  switch (targetProvider) {
@@ -3467,8 +3293,6 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
3467
3293
  if (evt.usage) {
3468
3294
  streamTokensIn = evt.usage.prompt_tokens ?? streamTokensIn;
3469
3295
  streamTokensOut = evt.usage.completion_tokens ?? streamTokensOut;
3470
- streamCacheCreation = evt.usage.cache_creation_input_tokens ?? streamCacheCreation;
3471
- streamCacheRead = evt.usage.cache_read_input_tokens ?? streamCacheRead;
3472
3296
  }
3473
3297
  }
3474
3298
  }
@@ -3525,9 +3349,7 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
3525
3349
  // Always log the request for stats/telemetry tracking
3526
3350
  logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, true, routingMode, undefined, taskType, complexity);
3527
3351
  // Update token/cost info on the history entry
3528
- // For cost calculation with cache breakdown, pass raw input (total minus cache) separately
3529
- const streamRawIn = streamCacheCreation || streamCacheRead ? streamTokensIn - streamCacheCreation - streamCacheRead : streamTokensIn;
3530
- const streamCost = (0, telemetry_js_1.estimateCost)(targetModel, streamRawIn, streamTokensOut, streamCacheCreation || undefined, streamCacheRead || undefined);
3352
+ const streamCost = (0, telemetry_js_1.estimateCost)(targetModel, streamTokensIn, streamTokensOut);
3531
3353
  updateLastHistoryEntry(streamTokensIn, streamTokensOut, streamCost);
3532
3354
  if (recordTelemetry) {
3533
3355
  // Record the run (non-blocking)
@@ -3543,7 +3365,7 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
3543
3365
  .catch((err) => {
3544
3366
  log(`Failed to record run: ${err}`);
3545
3367
  });
3546
- sendCloudTelemetry(taskType, targetModel, streamTokensIn, streamTokensOut, durationMs, true, undefined, request.model ?? undefined, streamCacheCreation || undefined, streamCacheRead || undefined);
3368
+ sendCloudTelemetry(taskType, targetModel, streamTokensIn, streamTokensOut, durationMs, true, undefined, request.model ?? undefined);
3547
3369
  }
3548
3370
  res.end();
3549
3371
  }
@@ -3587,12 +3409,9 @@ async function handleNonStreamingRequest(res, request, targetProvider, targetMod
3587
3409
  logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, true, routingMode, undefined, taskType, complexity);
3588
3410
  // Update token/cost info
3589
3411
  const usage = responseData?.usage;
3590
- const cacheCreation = usage?.cache_creation_input_tokens ?? 0;
3591
- const cacheRead = usage?.cache_read_input_tokens ?? 0;
3592
- const rawIn = usage?.input_tokens ?? usage?.prompt_tokens ?? 0;
3593
- const tokensIn = rawIn + cacheCreation + cacheRead;
3412
+ const tokensIn = usage?.input_tokens ?? usage?.prompt_tokens ?? 0;
3594
3413
  const tokensOut = usage?.output_tokens ?? usage?.completion_tokens ?? 0;
3595
- const cost = (0, telemetry_js_1.estimateCost)(targetModel, rawIn, tokensOut, cacheCreation || undefined, cacheRead || undefined);
3414
+ const cost = (0, telemetry_js_1.estimateCost)(targetModel, tokensIn, tokensOut);
3596
3415
  updateLastHistoryEntry(tokensIn, tokensOut, cost, nonStreamRespModel);
3597
3416
  if (recordTelemetry) {
3598
3417
  // Record the run in RelayPlane
@@ -3617,13 +3436,10 @@ async function handleNonStreamingRequest(res, request, targetProvider, targetMod
3617
3436
  log(`Failed to record run: ${err}`);
3618
3437
  }
3619
3438
  // Extract token counts from response if available (Anthropic/OpenAI format)
3620
- const usage2 = responseData?.usage;
3621
- const cc2 = usage2?.cache_creation_input_tokens ?? 0;
3622
- const cr2 = usage2?.cache_read_input_tokens ?? 0;
3623
- const rawIn2 = usage2?.input_tokens ?? usage2?.prompt_tokens ?? 0;
3624
- const tokensIn2 = rawIn2 + cc2 + cr2;
3625
- const tokensOut2 = usage2?.output_tokens ?? usage2?.completion_tokens ?? 0;
3626
- sendCloudTelemetry(taskType, targetModel, tokensIn2, tokensOut2, durationMs, true, undefined, undefined, cc2 || undefined, cr2 || undefined);
3439
+ const usage = responseData?.usage;
3440
+ const tokensIn = usage?.input_tokens ?? usage?.prompt_tokens ?? 0;
3441
+ const tokensOut = usage?.output_tokens ?? usage?.completion_tokens ?? 0;
3442
+ sendCloudTelemetry(taskType, targetModel, tokensIn, tokensOut, durationMs, true);
3627
3443
  }
3628
3444
  // Send response with RelayPlane routing headers
3629
3445
  const nonStreamRpHeaders = buildRelayPlaneResponseHeaders(targetModel, request.model ?? 'unknown', complexity, targetProvider, routingMode);
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-proxy.js","sourceRoot":"","sources":["../src/standalone-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-proxy.js","sourceRoot":"","sources":["../src/standalone-proxy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relayplane/proxy",
3
- "version": "1.5.43",
3
+ "version": "1.5.45",
4
4
  "description": "Open source cost intelligence proxy for AI agents. Cut LLM costs ~80% with smart model routing. Dashboard, policy engine, 11 providers. MIT licensed.",
5
5
  "homepage": "https://relayplane.com",
6
6
  "repository": {