@jeffusion/bungee-core 6.3.0 → 6.4.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 (37) hide show
  1. package/dist/config-storage-worker.js +31 -1
  2. package/dist/main.js +79 -39
  3. package/dist/observability-worker.js +14 -1
  4. package/dist/plugins/anthropic-request-sanitizer/index.js.map +1 -1
  5. package/dist/plugins/anthropic-tool-name-transformer/index.js.map +1 -1
  6. package/dist/plugins/chatgpt-oauth/control.js.map +1 -1
  7. package/dist/plugins/chatgpt-oauth/index.js.map +1 -1
  8. package/dist/plugins/chatgpt-oauth/ui/AccountsPage.svelte +1 -1
  9. package/dist/plugins/codex-router/control.js.map +1 -1
  10. package/dist/plugins/codex-router/index.js.map +1 -1
  11. package/dist/plugins/deepseek-reasoning-fix/index.js.map +1 -1
  12. package/dist/plugins/key-access/control.js.map +1 -1
  13. package/dist/plugins/key-access/index.js.map +1 -1
  14. package/dist/plugins/key-access/ingress.js.map +1 -1
  15. package/dist/plugins/key-rate-limit/index.js.map +1 -1
  16. package/dist/plugins/llm-protocol-adapter/control.js.map +1 -1
  17. package/dist/plugins/llm-protocol-adapter/index.js.map +3 -3
  18. package/dist/plugins/llm-tps/control.js +23 -10
  19. package/dist/plugins/llm-tps/control.js.map +5 -5
  20. package/dist/plugins/llm-tps/index.js +17 -1
  21. package/dist/plugins/llm-tps/index.js.map +6 -6
  22. package/dist/plugins/llm-tps/ui/TpsWidget.svelte +29 -50
  23. package/dist/plugins/llm-tps/ui/presentation.ts +1 -15
  24. package/dist/plugins/llm-tps/ui/stats-resource.ts +2 -2
  25. package/dist/plugins/model-mapping/index.js.map +1 -1
  26. package/dist/plugins/models-dev/index.js.map +1 -1
  27. package/dist/plugins/signature-repair/index.js.map +1 -1
  28. package/dist/plugins/token-budget/control.js.map +1 -1
  29. package/dist/plugins/token-budget/index.js.map +2 -2
  30. package/dist/plugins/token-metering/index.js +7 -3
  31. package/dist/plugins/token-metering/index.js.map +5 -5
  32. package/dist/plugins/token-stats/control.js.map +1 -1
  33. package/dist/plugins/token-stats/index.js.map +2 -2
  34. package/dist/plugins/token-stats/ui/TokenStatsPage.svelte +2 -2
  35. package/dist/plugins/user-auth/control.js.map +1 -1
  36. package/dist/plugins/user-auth/index.js.map +1 -1
  37. package/package.json +2 -2
@@ -2675,7 +2675,7 @@ class ResponsesWebSocketMetering {
2675
2675
  this.responseCount++;
2676
2676
  this.callbacks.prepareRequest(response.requestId);
2677
2677
  try {
2678
- if (await this.emit(response, event, { phase: "selected" }) && await this.emit(response, event, { phase: "request", url: event.upstreamUrl, body: { model, stream: true } }))
2678
+ if (await this.emit(response, event, { phase: "selected" }) && await this.emit(response, event, { phase: "request", url: event.upstreamUrl, upstreamHost: new URL(event.upstreamUrl).host, body: { model, stream: true } }))
2679
2679
  return response;
2680
2680
  } catch (error) {
2681
2681
  this.responseCount--;
@@ -2695,7 +2695,7 @@ class ResponsesWebSocketMetering {
2695
2695
  response.attemptId = uuid("attempt");
2696
2696
  response.bound = true;
2697
2697
  this.callbacks.prepareRequest(response.requestId);
2698
- return await this.emit(response, event, { phase: "selected" }) && await this.emit(response, event, { phase: "request", url: event.upstreamUrl, body: { model: response.model, stream: true } });
2698
+ return await this.emit(response, event, { phase: "selected" }) && await this.emit(response, event, { phase: "request", url: event.upstreamUrl, upstreamHost: new URL(event.upstreamUrl).host, body: { model: response.model, stream: true } });
2699
2699
  }
2700
2700
  async emit(response, event, phase, settlement) {
2701
2701
  if (this.closed || !event.isActive()) {
@@ -2895,6 +2895,8 @@ function getAttempt(attempts, event, logger, onDrop) {
2895
2895
  attempt.keyId = event.keyId;
2896
2896
  attempt.routeId = event.routeId || attempt.routeId;
2897
2897
  attempt.upstreamId = event.upstreamId || attempt.upstreamId;
2898
+ if (event.phase === "request")
2899
+ attempt.upstreamHost = event.upstreamHost;
2898
2900
  return attempt;
2899
2901
  }
2900
2902
  function ensureSession(attempt, provider) {
@@ -3016,6 +3018,7 @@ function finalizeAttempt(input) {
3016
3018
  attemptId: input.attemptId,
3017
3019
  routeId: input.routeId,
3018
3020
  upstreamId: input.upstreamId,
3021
+ upstreamHost: input.upstreamHost,
3019
3022
  provider: input.provider,
3020
3023
  model: input.model,
3021
3024
  pricingProvider: input.pricingProvider,
@@ -3308,6 +3311,7 @@ var TokenMeteringPlugin = definePlugin(class {
3308
3311
  keyId: attempt.keyId ?? null,
3309
3312
  routeId: attempt.routeId,
3310
3313
  upstreamId: attempt.upstreamId,
3314
+ upstreamHost: attempt.upstreamHost,
3311
3315
  provider: attempt.provider,
3312
3316
  model: attempt.model,
3313
3317
  pricingProvider: attempt.pricingProvider,
@@ -3343,4 +3347,4 @@ export {
3343
3347
  server_default as default
3344
3348
  };
3345
3349
 
3346
- //# debugId=DB115B0B5828A5AC64756E2164756E21
3350
+ //# debugId=C8C9AA1DD73B7BC264756E2164756E21