@relayplane/proxy 1.7.3 → 1.7.4

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":"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"}
1
+ {"version":3,"file":"standalone-proxy.d.ts","sourceRoot":"","sources":["../src/standalone-proxy.ts"],"names":[],"mappings":"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"}
@@ -491,7 +491,7 @@ function shutdownHistory() {
491
491
  }
492
492
  flushHistoryBuffer();
493
493
  }
494
- function logRequest(originalModel, targetModel, provider, latencyMs, success, mode, escalated, taskType, complexity, agentFingerprint, agentId) {
494
+ function logRequest(originalModel, targetModel, provider, latencyMs, success, mode, escalated, taskType, complexity, agentFingerprint, agentId, errorMessage, errorStatusCode) {
495
495
  const timestamp = new Date().toISOString();
496
496
  const status = success ? '✓' : '✗';
497
497
  const escalateTag = escalated ? ' [ESCALATED]' : '';
@@ -536,6 +536,8 @@ function logRequest(originalModel, targetModel, provider, latencyMs, success, mo
536
536
  complexity: complexity || 'simple',
537
537
  agentFingerprint,
538
538
  agentId,
539
+ error: errorMessage,
540
+ statusCode: errorStatusCode,
539
541
  };
540
542
  requestHistory.push(entry);
541
543
  if (requestHistory.length > MAX_HISTORY) {
@@ -544,7 +546,7 @@ function logRequest(originalModel, targetModel, provider, latencyMs, success, mo
544
546
  bufferHistoryEntry(entry);
545
547
  }
546
548
  /** Update the most recent history entry with token/cost info */
547
- function updateLastHistoryEntry(tokensIn, tokensOut, costUsd, responseModel, cacheCreationTokens, cacheReadTokens, agentFingerprint, agentId, requestContent) {
549
+ function updateLastHistoryEntry(tokensIn, tokensOut, costUsd, responseModel, cacheCreationTokens, cacheReadTokens, agentFingerprint, agentId, requestContent, errorMessage, errorStatusCode) {
548
550
  if (requestHistory.length > 0) {
549
551
  const last = requestHistory[requestHistory.length - 1];
550
552
  last.tokensIn = tokensIn;
@@ -563,6 +565,10 @@ function updateLastHistoryEntry(tokensIn, tokensOut, costUsd, responseModel, cac
563
565
  last.agentId = agentId;
564
566
  if (requestContent)
565
567
  last.requestContent = requestContent;
568
+ if (errorMessage !== undefined)
569
+ last.error = errorMessage;
570
+ if (errorStatusCode !== undefined)
571
+ last.statusCode = errorStatusCode;
566
572
  }
567
573
  }
568
574
  /**
@@ -919,19 +925,16 @@ function buildAnthropicHeadersWithAuth(ctx, apiKey, isMaxToken) {
919
925
  'Content-Type': 'application/json',
920
926
  'anthropic-version': ctx.versionHeader || '2023-06-01',
921
927
  };
922
- // Auth: prefer incoming auth for passthrough, but OAuth doesn't work for all models (e.g. Haiku)
923
- // When we have a regular API key AND incoming auth is OAuth, prefer the API key for rerouted requests
924
- // because OAuth may not be supported on the target model. The API key works for ALL models.
925
- const incomingIsOAuth = !!(ctx.apiKeyHeader?.startsWith('sk-ant-oat') || ctx.authHeader?.includes('sk-ant-oat'));
926
- if (incomingIsOAuth && apiKey && !apiKey.startsWith('sk-ant-oat')) {
927
- headers['x-api-key'] = apiKey;
928
- }
929
- else if (ctx.authHeader) {
928
+ // Auth: ALWAYS prefer incoming auth for passthrough (don't replace it)
929
+ // Incoming auth is from Claude Code/OpenClaw and is already the right token for the request
930
+ if (ctx.authHeader) {
931
+ // Incoming Authorization header takes priority - use it as-is
930
932
  headers['Authorization'] = ctx.authHeader;
931
933
  }
932
934
  else if (ctx.apiKeyHeader) {
933
- // MAX/OAuth tokens (sk-ant-oat*) must use Authorization: Bearer, not x-api-key
935
+ // Incoming x-api-key header
934
936
  if (ctx.apiKeyHeader.startsWith('sk-ant-oat')) {
937
+ // MAX/OAuth tokens must use Authorization: Bearer, not x-api-key
935
938
  headers['Authorization'] = `Bearer ${ctx.apiKeyHeader}`;
936
939
  }
937
940
  else {
@@ -939,7 +942,7 @@ function buildAnthropicHeadersWithAuth(ctx, apiKey, isMaxToken) {
939
942
  }
940
943
  }
941
944
  else if (apiKey) {
942
- // MAX tokens (OAuth) use Authorization: Bearer, API keys use x-api-key
945
+ // Fallback to configured API key (only if no incoming auth)
943
946
  if (isMaxToken || apiKey.startsWith('sk-ant-oat')) {
944
947
  headers['Authorization'] = `Bearer ${apiKey}`;
945
948
  }
@@ -951,6 +954,13 @@ function buildAnthropicHeadersWithAuth(ctx, apiKey, isMaxToken) {
951
954
  if (ctx.betaHeaders) {
952
955
  headers['anthropic-beta'] = ctx.betaHeaders;
953
956
  }
957
+ // Pass through OAuth identity headers (required by Anthropic for OAuth token validation)
958
+ if (ctx.userAgent) {
959
+ headers['user-agent'] = ctx.userAgent;
960
+ }
961
+ if (ctx.xApp) {
962
+ headers['x-app'] = ctx.xApp;
963
+ }
954
964
  return headers;
955
965
  }
956
966
  /**
@@ -991,6 +1001,13 @@ function buildAnthropicHeaders(ctx, envApiKey) {
991
1001
  if (ctx.betaHeaders) {
992
1002
  headers['anthropic-beta'] = ctx.betaHeaders;
993
1003
  }
1004
+ // Pass through OAuth identity headers (required by Anthropic for OAuth token validation)
1005
+ if (ctx.userAgent) {
1006
+ headers['user-agent'] = ctx.userAgent;
1007
+ }
1008
+ if (ctx.xApp) {
1009
+ headers['x-app'] = ctx.xApp;
1010
+ }
994
1011
  return headers;
995
1012
  }
996
1013
  /**
@@ -1900,6 +1917,28 @@ function checkResponseModelMismatch(responseData, requestedModel, provider, log)
1900
1917
  }
1901
1918
  return responseModel;
1902
1919
  }
1920
+ /**
1921
+ * Extract a human-readable error message from a provider error payload.
1922
+ * Handles Anthropic ({ error: { type, message } }) and OpenAI ({ error: { message } }) formats.
1923
+ */
1924
+ function extractProviderErrorMessage(payload, statusCode) {
1925
+ const err = payload['error'];
1926
+ if (typeof err === 'string')
1927
+ return err;
1928
+ if (err && typeof err === 'object') {
1929
+ const errType = err['type'];
1930
+ const errMsg = err['message'];
1931
+ if (errType && errMsg)
1932
+ return `${errType}: ${errMsg}`;
1933
+ if (errMsg)
1934
+ return errMsg;
1935
+ if (errType)
1936
+ return errType;
1937
+ }
1938
+ if (statusCode)
1939
+ return `HTTP ${statusCode}`;
1940
+ return 'Unknown error';
1941
+ }
1903
1942
  class ProviderResponseError extends Error {
1904
1943
  status;
1905
1944
  payload;
@@ -1925,6 +1964,8 @@ function extractRequestContext(req) {
1925
1964
  betaHeaders: req.headers['anthropic-beta'],
1926
1965
  versionHeader: req.headers['anthropic-version'],
1927
1966
  apiKeyHeader: req.headers['x-api-key'],
1967
+ userAgent: req.headers['user-agent'],
1968
+ xApp: req.headers['x-app'],
1928
1969
  };
1929
1970
  }
1930
1971
  const MAX_BODY_SIZE = 10 * 1024 * 1024; // 10MB max request body
@@ -2053,7 +2094,7 @@ async function cascadeRequest(config, makeRequest, log) {
2053
2094
  function getDashboardHTML() {
2054
2095
  return `<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>RelayPlane Dashboard</title>
2055
2096
  <style>
2056
- *{margin:0;padding:0;box-sizing:border-box}body{background:#0a0b0d;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:20px;max-width:1200px;margin:0 auto}
2097
+ *{margin:0;padding:0;box-sizing:border-box}body{background:#0a0b0d;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:20px;max-width:1600px;margin:0 auto}
2057
2098
  a{color:#34d399}h1{font-size:1.5rem;font-weight:600}
2058
2099
  .header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #1e293b;margin-bottom:24px}
2059
2100
  .header .meta{font-size:.8rem;color:#64748b}
@@ -2061,13 +2102,18 @@ a{color:#34d399}h1{font-size:1.5rem;font-weight:600}
2061
2102
  .card{background:#111318;border:1px solid #1e293b;border-radius:12px;padding:20px}
2062
2103
  .card .label{font-size:.75rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}
2063
2104
  .card .value{font-size:1.75rem;font-weight:700}.green{color:#34d399}
2105
+ .tooltip-wrap{position:relative;display:inline-block}
2106
+ .tooltip-wrap .tooltip-box{visibility:hidden;opacity:0;background:#1e293b;color:#e2e8f0;font-size:.8rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;border:1px solid #334155;border-radius:8px;padding:10px 14px;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:280px;z-index:999;pointer-events:none;transition:opacity .15s;box-shadow:0 4px 16px rgba(0,0,0,.4)}
2107
+ .tooltip-wrap .tooltip-box::after{content:'';position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-bottom-color:#334155}
2108
+ .tooltip-wrap:hover .tooltip-box{visibility:visible;opacity:1}
2109
+ .info-icon{cursor:help;color:#64748b;font-size:.75rem;vertical-align:middle;margin-left:4px}
2064
2110
  table{width:100%;border-collapse:collapse;font-size:.85rem}
2065
2111
  th{text-align:left;color:#64748b;font-weight:500;padding:8px 12px;border-bottom:1px solid #1e293b;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}
2066
2112
  td{padding:8px 12px;border-bottom:1px solid #111318}
2067
2113
  .section{margin-bottom:32px}.section h2{font-size:1rem;font-weight:600;margin-bottom:12px;color:#94a3b8}
2068
2114
  .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.dot.up{background:#34d399}.dot.warn{background:#fbbf24}.dot.down{background:#ef4444}
2069
2115
  .badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:500}
2070
- .badge.ok{background:#052e1633;color:#34d399}.badge.err{background:#2d0a0a;color:#ef4444}
2116
+ .badge.ok{background:#052e1633;color:#34d399}.badge.err{background:#2d0a0a;color:#ef4444}.badge.err-auth{background:#2d0a0a;color:#ef4444}.badge.err-rate{background:#2d2a0a;color:#fbbf24}.badge.err-timeout{background:#2d1a0a;color:#fb923c}
2071
2117
  .badge.tt-code{background:#1e3a5f;color:#60a5fa}.badge.tt-analysis{background:#3b1f6e;color:#a78bfa}.badge.tt-summarization{background:#1a3a2a;color:#6ee7b7}.badge.tt-qa{background:#3a2f1e;color:#fbbf24}.badge.tt-general{background:#1e293b;color:#94a3b8}
2072
2118
  .badge.cx-simple{background:#052e1633;color:#34d399}.badge.cx-moderate{background:#2d2a0a;color:#fbbf24}.badge.cx-complex{background:#2d0a0a;color:#ef4444}
2073
2119
  .vstat{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid #334155;font-size:.72rem}
@@ -2082,16 +2128,16 @@ td{padding:8px 12px;border-bottom:1px solid #111318}
2082
2128
  <div class="cards">
2083
2129
  <div class="card"><div class="label">Total Requests</div><div class="value" id="totalReq">—</div></div>
2084
2130
  <div class="card"><div class="label">Total Cost</div><div class="value" id="totalCost">—</div></div>
2085
- <div class="card"><div class="label">Savings</div><div class="value green" id="savings">—</div></div>
2131
+ <div class="card"><div class="label">Routing Savings <span class="tooltip-wrap"><span class="info-icon">ⓘ</span><span class="tooltip-box" id="savings-tooltip">Loading...</span></span></div><div class="value green" id="savings">—</div><div id="savings-detail" style="font-size:.75rem;color:#64748b;margin-top:4px">—</div></div>
2086
2132
  <div class="card"><div class="label">Avg Latency</div><div class="value" id="avgLat">—</div></div>
2087
2133
  </div>
2088
2134
  <div class="section"><h2>Model Breakdown</h2>
2089
- <table><thead><tr><th>Model</th><th>Requests</th><th>Cost</th><th>% of Total</th></tr></thead><tbody id="models"></tbody></table></div>
2135
+ <table><thead><tr><th>Provider</th><th>Model</th><th>Requests</th><th>Cost</th><th>% of Total</th></tr></thead><tbody id="models"></tbody></table></div>
2090
2136
  <div class="section"><h2>Agent Cost Breakdown</h2>
2091
2137
  <table><thead><tr><th>Agent</th><th>Requests</th><th>Total Cost</th><th>Last Active</th><th></th></tr></thead><tbody id="agents"></tbody></table></div>
2092
2138
  <div class="section"><h2>Provider Status</h2><div class="prov" id="providers"></div></div>
2093
2139
  <div class="section"><h2>Recent Runs</h2>
2094
- <table><thead><tr><th>Time</th><th>Model</th><th class="col-tt">Task Type</th><th class="col-cx">Complexity</th><th>Tokens In</th><th>Tokens Out</th><th class="col-cache">Cache Create</th><th class="col-cache">Cache Read</th><th>Cost</th><th>Latency</th><th>Status</th></tr></thead><tbody id="runs"></tbody></table></div>
2140
+ <table><thead><tr><th>Time</th><th>Agent</th><th>Model</th><th class="col-tt">Task Type</th><th class="col-cx">Complexity</th><th>Tokens In</th><th>Tokens Out</th><th class="col-cache">Cache Create</th><th class="col-cache">Cache Read</th><th>Cost</th><th>Latency</th><th>Status</th></tr></thead><tbody id="runs"></tbody></table></div>
2095
2141
  <script>
2096
2142
  const $ = id => document.getElementById(id);
2097
2143
  function fmt(n,d=2){return typeof n==='number'?n.toFixed(d):'-'}
@@ -2125,32 +2171,64 @@ async function load(){
2125
2171
  const total=stats.summary?.totalEvents||0;
2126
2172
  $('totalReq').textContent=total;
2127
2173
  $('totalCost').textContent='$'+fmt(stats.summary?.totalCostUsd??0,4);
2128
- $('savings').textContent=(sav.percentage??0)+'%';
2174
+ const savAmt=sav.savedAmount??sav.savings??0;
2175
+ const cacheSav=sav.cacheSavings??0;
2176
+ const routeSav=sav.routingSavings??0;
2177
+ const actual=sav.actualCost??0;
2178
+ const hasAnthropic=sav.hasAnthropicCalls!==false;
2179
+ const baseline=sav.potentialSavings??sav.total??0;
2180
+ // Headline = routing savings % (RelayPlane's actual contribution)
2181
+ const routeBaseline=baseline>0?baseline:1;
2182
+ const routePct=hasAnthropic?Math.round((routeSav/routeBaseline)*100):0;
2183
+ const totalPct=sav.percentage??0;
2184
+ $('savings').textContent='$'+fmt(routeSav,2);
2185
+ // Secondary: show total % including cache as context
2186
+ if(hasAnthropic){
2187
+ $('savings-detail').innerHTML='<span style="color:#60a5fa">routing savings</span> · <span style="color:#64748b" title="Includes Anthropic prompt cache hits which happen regardless of routing">'+totalPct+'% total incl. cache</span>';
2188
+ } else {
2189
+ $('savings-detail').innerHTML='<span style="color:#a78bfa">$'+fmt(cacheSav,2)+' cache</span> · <span style="color:#64748b">'+totalPct+'% total</span>';
2190
+ }
2191
+ const tipEl=$('savings-tooltip');
2192
+ if(tipEl){
2193
+ let tip='<strong>How savings are calculated</strong><br><br>';
2194
+ if(hasAnthropic){
2195
+ tip+='<span style="color:#60a5fa">🔀 Routing savings: $'+fmt(routeSav,2)+'</span><br><small>Requests routed to cheaper models (e.g. Sonnet) vs always using Opus. RelayPlane contribution.</small><br><br>';
2196
+ tip+='<span style="color:#a78bfa">💾 Cache savings: $'+fmt(cacheSav,2)+'</span><br><small>Anthropic prompt cache hits (10× cheaper reads). This would happen without RelayPlane too.</small><br><br>';
2197
+ } else {
2198
+ tip+='<span style="color:#a78bfa">💾 Cache savings: $'+fmt(cacheSav,2)+'</span><br><small>Provider cache hits. Happens automatically, not specific to RelayPlane.</small><br><br>';
2199
+ }
2200
+ tip+='💳 Actual cost: <b>$'+fmt(actual,2)+'</b><br>✅ Total saved: <b>$'+fmt(savAmt,2)+'</b>';
2201
+ tipEl.innerHTML=tip;
2202
+ }
2129
2203
  $('avgLat').textContent=(stats.summary?.avgLatencyMs??0)+'ms';
2130
2204
  $('models').innerHTML=(stats.byModel||[]).map(m=>
2131
- '<tr><td>'+m.model+'</td><td>'+m.count+'</td><td>$'+fmt(m.costUsd,4)+'</td><td>'+fmt(total>0?m.count/total*100:0,1)+'%</td></tr>'
2132
- ).join('')||'<tr><td colspan=4 style="color:#64748b">No data yet</td></tr>';
2205
+ '<tr><td style="color:#94a3b8;font-size:.85rem">'+(m.provider||'—')+'</td><td>'+m.model+'</td><td>'+m.count+'</td><td>$'+fmt(m.costUsd,4)+'</td><td>'+fmt(total>0?m.count/total*100:0,1)+'%</td></tr>'
2206
+ ).join('')||'<tr><td colspan=5 style="color:#64748b">No data yet</td></tr>';
2133
2207
  function ttCls(t){const m={code_generation:'tt-code',analysis:'tt-analysis',summarization:'tt-summarization',question_answering:'tt-qa'};return m[t]||'tt-general'}
2134
2208
  function cxCls(c){const m={simple:'cx-simple',moderate:'cx-moderate',complex:'cx-complex'};return m[c]||'cx-simple'}
2135
2209
  function esc(s){if(!s)return'';return s.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;')}
2210
+ const agents=(agentsR.agents||[]).sort((a,b)=>(b.totalCost||0)-(a.totalCost||0));
2136
2211
  $('runs').innerHTML=(runsR.runs||[]).map((r,i)=>{
2137
- const row='<tr style="cursor:pointer" onclick="toggleDetail('+i+')" title="Click to expand"><td>'+fmtTime(r.started_at)+'</td><td>'+r.model+'</td><td class="col-tt"><span class="badge '+ttCls(r.taskType)+'">'+(r.taskType||'general').replace(/_/g,' ')+'</span></td><td class="col-cx"><span class="badge '+cxCls(r.complexity)+'">'+(r.complexity||'simple')+'</span></td><td>'+(r.tokensIn||0)+'</td><td>'+(r.tokensOut||0)+'</td><td class="col-cache" style="color:#60a5fa">'+(r.cacheCreationTokens||0)+'</td><td class="col-cache" style="color:#34d399">'+(r.cacheReadTokens||0)+'</td><td>$'+fmt(r.costUsd,4)+'</td><td>'+r.latencyMs+'ms</td><td><span class="badge '+(r.status==='success'?'ok':'err')+'">'+r.status+'</span></td></tr>';
2212
+ function errBadge(r){if(r.status==='success')return '<span class="badge ok">success</span>';var cls='err';var label=r.error||'error';if(r.statusCode===401||r.statusCode===403||(r.error&&/auth/i.test(r.error)))cls='err-auth';else if(r.statusCode===429||(r.error&&/rate.?limit/i.test(r.error)))cls='err-rate';else if(r.error&&/timeout/i.test(r.error))cls='err-timeout';return '<span class="badge '+cls+'" title="'+esc(r.error||'')+' (HTTP '+( r.statusCode||'?')+')">'+(r.statusCode?r.statusCode+' ':'')+ (label.length>40?label.slice(0,40)+'':label)+'</span>';}
2213
+ const agentName=agents.find(a=>a.fingerprint===r.agentFingerprint)?.name||(r.agentId||'—');
2214
+ const row='<tr style="cursor:pointer" onclick="toggleDetail('+i+')"><td><span id="arrow-'+i+'" style="color:#64748b;font-size:.7rem;margin-right:6px">▶</span>'+fmtTime(r.started_at)+'</td><td style="font-size:.85rem">'+esc(agentName)+'</td><td>'+r.model+'</td><td class="col-tt"><span class="badge '+ttCls(r.taskType)+'">'+(r.taskType||'general').replace(/_/g,' ')+'</span></td><td class="col-cx"><span class="badge '+cxCls(r.complexity)+'">'+(r.complexity||'simple')+'</span></td><td>'+(r.tokensIn||0)+'</td><td>'+(r.tokensOut||0)+'</td><td class="col-cache" style="color:#60a5fa">'+(r.cacheCreationTokens||0)+'</td><td class="col-cache" style="color:#34d399">'+(r.cacheReadTokens||0)+'</td><td>$'+fmt(r.costUsd,4)+'</td><td>'+r.latencyMs+'ms</td><td>'+errBadge(r)+'</td></tr>';
2138
2215
  const c=r.requestContent||{};
2139
- let detail='<tr id="run-detail-'+i+'" style="display:none"><td colspan="11" style="padding:16px;background:#111217;border-bottom:1px solid #1e293b">';
2216
+ let detail='<tr id="run-detail-'+i+'" style="display:none"><td colspan="12" style="padding:16px;background:#111217;border-bottom:1px solid #1e293b">';
2140
2217
  if(c.systemPrompt||c.userMessage||c.responsePreview){
2141
2218
  if(c.systemPrompt) detail+='<div style="color:#64748b;font-size:.85rem;margin-bottom:10px;font-style:italic"><strong style="color:#94a3b8">System:</strong> '+esc(c.systemPrompt)+'</div>';
2142
2219
  if(c.userMessage) detail+='<div style="background:#1a1c23;border:1px solid #1e293b;border-radius:8px;padding:12px;margin-bottom:10px"><strong style="color:#94a3b8;font-size:.8rem">User Message</strong><div style="margin-top:6px;white-space:pre-wrap">'+esc(c.userMessage)+'</div></div>';
2143
2220
  if(c.responsePreview) detail+='<div style="background:#1a1c23;border:1px solid #1e293b;border-radius:8px;padding:12px;margin-bottom:10px"><strong style="color:#94a3b8;font-size:.8rem">Response Preview</strong><div style="margin-top:6px;white-space:pre-wrap">'+esc(c.responsePreview)+'</div></div>';
2144
- detail+='<button onclick="event.stopPropagation();loadFullResponse(\''+r.id+'\','+i+')" id="full-btn-'+i+'" style="background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.8rem">Show full response</button><pre id="full-resp-'+i+'" style="display:none;white-space:pre-wrap;margin-top:10px;background:#0d0e11;border:1px solid #1e293b;border-radius:8px;padding:12px;max-height:400px;overflow:auto;font-size:.8rem"></pre>';
2221
+ const btnAttrs='id="full-btn-'+i+'" style="background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:6px 12px;border-radius:6px;font-size:.8rem"';
2222
+ detail+=(r.tokensOut>0?'<button onclick="event.stopPropagation();loadFullResponse(&quot;'+r.id+'&quot;,'+i+')" '+btnAttrs+'>Show full response</button>':'<button disabled '+btnAttrs+' style="opacity:.4;cursor:default">Response not available (streaming)</button>')+'<pre id="full-resp-'+i+'" style="display:none;white-space:pre-wrap;margin-top:10px;background:#0d0e11;border:1px solid #1e293b;border-radius:8px;padding:12px;max-height:400px;overflow:auto;font-size:.8rem"></pre>';
2145
2223
  } else {
2146
2224
  detail+='<span style="color:#64748b">No content captured for this request</span>';
2147
2225
  }
2148
2226
  detail+='</td></tr>';
2149
2227
  return row+detail;
2150
- }).join('')||'<tr><td colspan=11 style="color:#64748b">No runs yet</td></tr>';
2151
- const agents=(agentsR.agents||[]).sort((a,b)=>(b.totalCost||0)-(a.totalCost||0));
2228
+ }).join('')||'<tr><td colspan=12 style="color:#64748b">No runs yet</td></tr>';
2229
+ restoreExpanded();
2152
2230
  $('agents').innerHTML=agents.length?agents.map(a=>
2153
- '<tr><td><span class="agent-name" data-fp="'+a.fingerprint+'">'+a.name+'</span> <button class="rename-btn" onclick="renameAgent(\''+a.fingerprint+'\',\''+a.name.replace(/'/g,"\\'")+'\')">✏️</button></td><td>'+a.totalRequests+'</td><td>$'+fmt(a.totalCost,4)+'</td><td>'+fmtTime(a.lastSeen)+'</td><td style="font-size:.7rem;color:#64748b" title="'+a.systemPromptPreview+'">'+a.fingerprint+'</td></tr>'
2231
+ '<tr><td><span class="agent-name" data-fp="'+a.fingerprint+'">'+esc(a.name)+'</span> <button class="rename-btn" onclick="renameAgent(&quot;'+a.fingerprint+'&quot;,&quot;'+a.name.replace(/"/g,'')+'&quot;)">✏️</button></td><td>'+a.totalRequests+'</td><td>$'+fmt(a.totalCost,4)+'</td><td>'+fmtTime(a.lastSeen)+'</td><td style="font-size:.7rem;color:#64748b" title="'+esc(a.systemPromptPreview||'')+'">'+a.fingerprint+'</td></tr>'
2154
2232
  ).join(''):'<tr><td colspan=5 style="color:#64748b">No agents detected yet</td></tr>';
2155
2233
  $('providers').innerHTML=(provH.providers||[]).map(p=>{
2156
2234
  const dotClass = p.status==='healthy'?'up':(p.status==='degraded'?'warn':'down');
@@ -2165,7 +2243,9 @@ async function renameAgent(fp,currentName){
2165
2243
  await fetch('/api/agents/rename',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({fingerprint:fp,name:name})});
2166
2244
  load();
2167
2245
  }
2168
- function toggleDetail(i){var d=document.getElementById('run-detail-'+i);d.style.display=d.style.display==='none'?'table-row':'none'}
2246
+ const expandedRows=new Set();
2247
+ function toggleDetail(i){var d=document.getElementById('run-detail-'+i);var arrow=document.getElementById('arrow-'+i);if(d.style.display==='none'){d.style.display='table-row';expandedRows.add(i);if(arrow)arrow.textContent='▼'}else{d.style.display='none';expandedRows.delete(i);if(arrow)arrow.textContent='▶'}}
2248
+ function restoreExpanded(){expandedRows.forEach(i=>{var d=document.getElementById('run-detail-'+i);var arrow=document.getElementById('arrow-'+i);if(d)d.style.display='table-row';if(arrow)arrow.textContent='▼'})}
2169
2249
  async function loadFullResponse(runId,i){
2170
2250
  const btn=document.getElementById('full-btn-'+i);
2171
2251
  const pre=document.getElementById('full-resp-'+i);
@@ -2184,7 +2264,7 @@ load();setInterval(load,5000);
2184
2264
  function getConfigDashboardHTML() {
2185
2265
  return `<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>RelayPlane Config</title>
2186
2266
  <style>
2187
- *{margin:0;padding:0;box-sizing:border-box}body{background:#0a0b0d;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:20px;max-width:1200px;margin:0 auto}
2267
+ *{margin:0;padding:0;box-sizing:border-box}body{background:#0a0b0d;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;padding:20px;max-width:1600px;margin:0 auto}
2188
2268
  a{color:#34d399}h1{font-size:1.5rem;font-weight:600}
2189
2269
  .header{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #1e293b;margin-bottom:24px}
2190
2270
  .header .meta{font-size:.8rem;color:#64748b}
@@ -2627,11 +2707,11 @@ async function startProxy(config = {}) {
2627
2707
  const days = parseInt(params.get('days') || '7', 10);
2628
2708
  const cutoff = Date.now() - days * 86400000;
2629
2709
  const recent = requestHistory.filter(r => new Date(r.timestamp).getTime() >= cutoff);
2630
- // Model breakdown
2710
+ // Model breakdown (keyed by provider/model for disambiguation)
2631
2711
  const modelMap = new Map();
2632
2712
  for (const r of recent) {
2633
- const key = r.targetModel;
2634
- const cur = modelMap.get(key) || { count: 0, cost: 0 };
2713
+ const key = `${r.provider || 'unknown'}/${r.targetModel}`;
2714
+ const cur = modelMap.get(key) || { count: 0, cost: 0, provider: r.provider || 'unknown', model: r.targetModel };
2635
2715
  cur.count++;
2636
2716
  cur.cost += r.costUsd;
2637
2717
  modelMap.set(key, cur);
@@ -2654,7 +2734,7 @@ async function startProxy(config = {}) {
2654
2734
  avgLatencyMs: recent.length ? Math.round(totalLatency / recent.length) : 0,
2655
2735
  successRate: recent.length ? recent.filter(r => r.success).length / recent.length : 0,
2656
2736
  },
2657
- byModel: Array.from(modelMap.entries()).map(([model, v]) => ({ model, count: v.count, costUsd: v.cost, savings: 0 })),
2737
+ byModel: Array.from(modelMap.entries()).map(([, v]) => ({ model: v.model, provider: v.provider, count: v.count, costUsd: v.cost, savings: 0 })),
2658
2738
  dailyCosts: Array.from(dailyMap.entries()).map(([date, v]) => ({ date, costUsd: v.cost, requests: v.requests })),
2659
2739
  };
2660
2740
  res.writeHead(200, { 'Content-Type': 'application/json' });
@@ -2692,6 +2772,10 @@ async function startProxy(config = {}) {
2692
2772
  cacheReadTokens: r.cacheReadTokens ?? 0,
2693
2773
  savings: Math.round(perRunSavings * 10000) / 10000,
2694
2774
  escalated: r.escalated,
2775
+ error: r.error ?? null,
2776
+ statusCode: r.statusCode ?? null,
2777
+ agentFingerprint: r.agentFingerprint ?? null,
2778
+ agentId: r.agentId ?? null,
2695
2779
  requestContent: r.requestContent ? {
2696
2780
  systemPrompt: r.requestContent.systemPrompt,
2697
2781
  userMessage: r.requestContent.userMessage,
@@ -2705,26 +2789,34 @@ async function startProxy(config = {}) {
2705
2789
  return;
2706
2790
  }
2707
2791
  if (req.method === 'GET' && telemetryPath === 'savings') {
2708
- // Savings = cost if everything ran on Opus - actual cost
2709
- // Always compare against Opus as the baseline
2710
- const OPUS_BASELINE = 'claude-opus-4-6';
2711
- let totalOriginalCost = 0;
2792
+ // Routing savings: cost at same model with no cache vs actual cost
2793
+ // Cache savings: what cache hits saved vs paying full input price
2794
+ // Baseline: each request at full input price (no cache, no routing)
2712
2795
  let totalActualCost = 0;
2713
- let totalSavedAmount = 0;
2796
+ let totalCacheSavings = 0; // savings from cache hits (Anthropic feature)
2797
+ let totalRoutingSavings = 0; // savings from routing to cheaper model
2798
+ let hasAnthropicCalls = false;
2714
2799
  const byDayMap = new Map();
2715
2800
  for (const r of requestHistory) {
2716
- // Pass same cache tokens to baseline so savings only reflect routing decisions,
2717
- // not prompt-cache discounts (those happen regardless of which model is chosen).
2718
- const origCost = (0, telemetry_js_1.estimateCost)(OPUS_BASELINE, r.tokensIn, r.tokensOut, r.cacheCreationTokens || undefined, r.cacheReadTokens || undefined);
2719
2801
  const actualCost = r.costUsd;
2720
- const saved = Math.max(0, origCost - actualCost);
2721
- totalOriginalCost += origCost;
2722
2802
  totalActualCost += actualCost;
2723
- totalSavedAmount += saved;
2803
+ // Cache savings: full input price vs what was paid with cache
2804
+ const fullInputCost = (0, telemetry_js_1.estimateCost)(r.targetModel, r.tokensIn + (r.cacheCreationTokens || 0) + (r.cacheReadTokens || 0), r.tokensOut);
2805
+ const cachedCost = r.costUsd;
2806
+ const cacheSaved = Math.max(0, fullInputCost - cachedCost);
2807
+ totalCacheSavings += cacheSaved;
2808
+ // Routing savings: what would this request cost at full Opus price (no cache)
2809
+ // vs what the routed model cost (no cache). Only meaningful for Anthropic.
2810
+ if (r.provider === 'anthropic') {
2811
+ hasAnthropicCalls = true;
2812
+ const opusCost = (0, telemetry_js_1.estimateCost)('claude-opus-4-6', r.tokensIn, r.tokensOut);
2813
+ const modelCost = (0, telemetry_js_1.estimateCost)(r.targetModel, r.tokensIn, r.tokensOut);
2814
+ const routingSaved = Math.max(0, opusCost - modelCost);
2815
+ totalRoutingSavings += routingSaved;
2816
+ }
2724
2817
  const date = r.timestamp.slice(0, 10);
2725
2818
  const day = byDayMap.get(date) || { savedAmount: 0, originalCost: 0, actualCost: 0 };
2726
- day.savedAmount += saved;
2727
- day.originalCost += origCost;
2819
+ day.savedAmount += Math.max(0, totalCacheSavings + totalRoutingSavings);
2728
2820
  day.actualCost += actualCost;
2729
2821
  byDayMap.set(date, day);
2730
2822
  }
@@ -2736,16 +2828,19 @@ async function startProxy(config = {}) {
2736
2828
  originalCost: Math.round(v.originalCost * 10000) / 10000,
2737
2829
  actualCost: Math.round(v.actualCost * 10000) / 10000,
2738
2830
  }));
2831
+ const totalSaved = totalCacheSavings + totalRoutingSavings;
2832
+ const baseline = totalActualCost + totalSaved;
2739
2833
  res.writeHead(200, { 'Content-Type': 'application/json' });
2740
2834
  res.end(JSON.stringify({
2741
- total: Math.round(totalOriginalCost * 10000) / 10000,
2742
2835
  actualCost: Math.round(totalActualCost * 10000) / 10000,
2743
- savings: Math.round(totalSavedAmount * 10000) / 10000,
2744
- savedAmount: Math.round(totalSavedAmount * 10000) / 10000,
2745
- potentialSavings: Math.round(totalOriginalCost * 10000) / 10000,
2746
- percentage: totalOriginalCost > 0
2747
- ? Math.round((totalSavedAmount / totalOriginalCost) * 100)
2748
- : 0,
2836
+ savedAmount: Math.round(totalSaved * 10000) / 10000,
2837
+ savings: Math.round(totalSaved * 10000) / 10000,
2838
+ cacheSavings: Math.round(totalCacheSavings * 10000) / 10000,
2839
+ routingSavings: Math.round(totalRoutingSavings * 10000) / 10000,
2840
+ hasAnthropicCalls,
2841
+ potentialSavings: Math.round(baseline * 10000) / 10000,
2842
+ total: Math.round(baseline * 10000) / 10000,
2843
+ percentage: baseline > 0 ? Math.round((totalSaved / baseline) * 100) : 0,
2749
2844
  byDay,
2750
2845
  }));
2751
2846
  return;
@@ -3274,7 +3369,8 @@ async function startProxy(config = {}) {
3274
3369
  cooldownManager.recordFailure(targetProvider, JSON.stringify(errorPayload));
3275
3370
  }
3276
3371
  const durationMs = Date.now() - startTime;
3277
- logRequest(originalModel ?? 'unknown', targetModel || requestedModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
3372
+ const errMsg = extractProviderErrorMessage(errorPayload, providerResponse.status);
3373
+ logRequest(originalModel ?? 'unknown', targetModel || requestedModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, errMsg, providerResponse.status);
3278
3374
  res.writeHead(providerResponse.status, { 'Content-Type': 'application/json' });
3279
3375
  res.end(JSON.stringify(errorPayload));
3280
3376
  return;
@@ -3437,7 +3533,17 @@ async function startProxy(config = {}) {
3437
3533
  }
3438
3534
  catch (err) {
3439
3535
  const durationMs = Date.now() - startTime;
3440
- logRequest(originalModel ?? 'unknown', targetModel || requestedModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
3536
+ let catchErrMsg;
3537
+ let catchErrStatus;
3538
+ if (err instanceof ProviderResponseError) {
3539
+ catchErrMsg = extractProviderErrorMessage(err.payload, err.status);
3540
+ catchErrStatus = err.status;
3541
+ }
3542
+ else {
3543
+ catchErrMsg = err instanceof Error ? err.message : String(err);
3544
+ catchErrStatus = 500;
3545
+ }
3546
+ logRequest(originalModel ?? 'unknown', targetModel || requestedModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, catchErrMsg, catchErrStatus);
3441
3547
  if (err instanceof ProviderResponseError) {
3442
3548
  res.writeHead(err.status, { 'Content-Type': 'application/json' });
3443
3549
  res.end(JSON.stringify(err.payload));
@@ -3897,7 +4003,17 @@ async function startProxy(config = {}) {
3897
4003
  }
3898
4004
  catch (err) {
3899
4005
  const durationMs = Date.now() - startTime;
3900
- logRequest(originalRequestedModel ?? 'unknown', targetModel || 'unknown', targetProvider, durationMs, false, 'cascade', undefined, taskType, complexity);
4006
+ let cascadeErrMsg;
4007
+ let cascadeErrStatus;
4008
+ if (err instanceof ProviderResponseError) {
4009
+ cascadeErrMsg = extractProviderErrorMessage(err.payload, err.status);
4010
+ cascadeErrStatus = err.status;
4011
+ }
4012
+ else {
4013
+ cascadeErrMsg = err instanceof Error ? err.message : String(err);
4014
+ cascadeErrStatus = 500;
4015
+ }
4016
+ logRequest(originalRequestedModel ?? 'unknown', targetModel || 'unknown', targetProvider, durationMs, false, 'cascade', undefined, taskType, complexity, undefined, undefined, cascadeErrMsg, cascadeErrStatus);
3901
4017
  if (err instanceof ProviderResponseError) {
3902
4018
  res.writeHead(err.status, { 'Content-Type': 'application/json' });
3903
4019
  res.end(JSON.stringify(err.payload));
@@ -4080,7 +4196,8 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
4080
4196
  cooldownManager.recordFailure(targetProvider, JSON.stringify(errorData));
4081
4197
  }
4082
4198
  const durationMs = Date.now() - startTime;
4083
- logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
4199
+ const streamErrMsg = extractProviderErrorMessage(errorData, providerResponse.status);
4200
+ logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, streamErrMsg, providerResponse.status);
4084
4201
  res.writeHead(providerResponse.status, { 'Content-Type': 'application/json' });
4085
4202
  res.end(JSON.stringify(errorData));
4086
4203
  return;
@@ -4092,7 +4209,7 @@ async function handleStreamingRequest(res, request, targetProvider, targetModel,
4092
4209
  cooldownManager.recordFailure(targetProvider, errorMsg);
4093
4210
  }
4094
4211
  const durationMs = Date.now() - startTime;
4095
- logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
4212
+ logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, errorMsg, 500);
4096
4213
  res.writeHead(500, { 'Content-Type': 'application/json' });
4097
4214
  res.end(JSON.stringify({ error: `Provider error: ${errorMsg}` }));
4098
4215
  return;
@@ -4259,7 +4376,8 @@ async function handleNonStreamingRequest(res, request, targetProvider, targetMod
4259
4376
  cooldownManager.recordFailure(targetProvider, JSON.stringify(responseData));
4260
4377
  }
4261
4378
  const durationMs = Date.now() - startTime;
4262
- logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
4379
+ const nsErrMsg = extractProviderErrorMessage(responseData, result.status);
4380
+ logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, nsErrMsg, result.status);
4263
4381
  res.writeHead(result.status, { 'Content-Type': 'application/json' });
4264
4382
  res.end(JSON.stringify(responseData));
4265
4383
  return;
@@ -4271,7 +4389,7 @@ async function handleNonStreamingRequest(res, request, targetProvider, targetMod
4271
4389
  cooldownManager.recordFailure(targetProvider, errorMsg);
4272
4390
  }
4273
4391
  const durationMs = Date.now() - startTime;
4274
- logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity);
4392
+ logRequest(request.model ?? 'unknown', targetModel, targetProvider, durationMs, false, routingMode, undefined, taskType, complexity, undefined, undefined, errorMsg, 500);
4275
4393
  res.writeHead(500, { 'Content-Type': 'application/json' });
4276
4394
  res.end(JSON.stringify({ error: `Provider error: ${errorMsg}` }));
4277
4395
  return;
@@ -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.7.3",
3
+ "version": "1.7.4",
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": {