@jeffusion/bungee-core 6.1.1 → 6.2.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 (38) hide show
  1. package/dist/main.js +94 -65
  2. package/dist/observability-worker.js +21 -1
  3. package/dist/plugins/anthropic-request-sanitizer/index.js.map +3 -3
  4. package/dist/plugins/anthropic-tool-name-transformer/index.js.map +3 -3
  5. package/dist/plugins/chatgpt-oauth/control.js.map +1 -1
  6. package/dist/plugins/chatgpt-oauth/index.js.map +3 -3
  7. package/dist/plugins/codex-router/control.js.map +1 -1
  8. package/dist/plugins/codex-router/index.js.map +3 -3
  9. package/dist/plugins/deepseek-reasoning-fix/index.js.map +3 -3
  10. package/dist/plugins/key-access/control.js.map +1 -1
  11. package/dist/plugins/key-access/index.js.map +3 -3
  12. package/dist/plugins/key-access/ingress.js.map +1 -1
  13. package/dist/plugins/key-rate-limit/index.js.map +3 -3
  14. package/dist/plugins/llm-protocol-adapter/control.js.map +1 -1
  15. package/dist/plugins/llm-protocol-adapter/index.js.map +4 -4
  16. package/dist/plugins/llm-tps/control.js +212 -0
  17. package/dist/plugins/llm-tps/control.js.map +13 -0
  18. package/dist/plugins/llm-tps/index.js +286 -0
  19. package/dist/plugins/llm-tps/index.js.map +27 -0
  20. package/dist/plugins/llm-tps/manifest.json +115 -0
  21. package/dist/plugins/llm-tps/ui/TpsEndpoints.svelte +9 -0
  22. package/dist/plugins/llm-tps/ui/TpsOverview.svelte +9 -0
  23. package/dist/plugins/llm-tps/ui/TpsWidget.svelte +115 -0
  24. package/dist/plugins/llm-tps/ui/presentation.ts +16 -0
  25. package/dist/plugins/llm-tps/ui/stats-resource.ts +77 -0
  26. package/dist/plugins/llm-tps/ui/stats.ts +7 -0
  27. package/dist/plugins/model-mapping/index.js.map +3 -3
  28. package/dist/plugins/models-dev/index.js.map +3 -3
  29. package/dist/plugins/signature-repair/index.js.map +3 -3
  30. package/dist/plugins/token-budget/control.js.map +1 -1
  31. package/dist/plugins/token-budget/index.js.map +3 -3
  32. package/dist/plugins/token-metering/index.js +138 -11
  33. package/dist/plugins/token-metering/index.js.map +8 -7
  34. package/dist/plugins/token-stats/control.js.map +1 -1
  35. package/dist/plugins/token-stats/index.js.map +3 -3
  36. package/dist/plugins/user-auth/control.js.map +1 -1
  37. package/dist/plugins/user-auth/index.js.map +3 -3
  38. package/package.json +2 -2
@@ -17437,6 +17437,26 @@ function createMasterStats(input, legacyOpenDatabase) {
17437
17437
  });
17438
17438
  }
17439
17439
 
17440
+ // src/migrations/llm-tps-samples.ts
17441
+ var LLM_TPS_SAMPLES = {
17442
+ version: "002",
17443
+ name: "llm_tps_samples",
17444
+ up(db) {
17445
+ db.run(`CREATE TABLE llm_tps_samples (
17446
+ attempt_id TEXT PRIMARY KEY,
17447
+ request_id TEXT NOT NULL,
17448
+ route_id TEXT NOT NULL,
17449
+ endpoint_id TEXT NOT NULL,
17450
+ finished_at_ms INTEGER NOT NULL CHECK (finished_at_ms >= 0),
17451
+ output_tokens INTEGER NOT NULL CHECK (output_tokens >= 0),
17452
+ generation_duration_ms REAL NOT NULL CHECK (generation_duration_ms > 0),
17453
+ output_source TEXT NOT NULL CHECK (output_source IN ('official','estimated'))
17454
+ )`);
17455
+ db.run("CREATE INDEX idx_llm_tps_samples_finished ON llm_tps_samples(finished_at_ms)");
17456
+ db.run("CREATE INDEX idx_llm_tps_samples_endpoint ON llm_tps_samples(route_id,endpoint_id,finished_at_ms)");
17457
+ }
17458
+ };
17459
+
17440
17460
  // src/migrations/schema.ts
17441
17461
  var ACCESS_SCHEMA_STATEMENTS = [
17442
17462
  `CREATE TABLE access_logs (
@@ -18031,7 +18051,7 @@ class MigrationManager {
18031
18051
  }
18032
18052
 
18033
18053
  // src/migrations/index.ts
18034
- var migrations = [ACCESS_BASELINE];
18054
+ var migrations = [ACCESS_BASELINE, LLM_TPS_SAMPLES];
18035
18055
 
18036
18056
  // src/master-runtime/observability-worker.ts
18037
18057
  function headerEntries(headers) {