@jeffusion/bungee-core 6.1.1 → 6.2.1

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 (40) hide show
  1. package/dist/main.js +131 -102
  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 +7 -3
  15. package/dist/plugins/llm-protocol-adapter/control.js.map +4 -4
  16. package/dist/plugins/llm-protocol-adapter/index.js +7 -3
  17. package/dist/plugins/llm-protocol-adapter/index.js.map +6 -6
  18. package/dist/plugins/llm-tps/control.js +212 -0
  19. package/dist/plugins/llm-tps/control.js.map +13 -0
  20. package/dist/plugins/llm-tps/index.js +286 -0
  21. package/dist/plugins/llm-tps/index.js.map +27 -0
  22. package/dist/plugins/llm-tps/manifest.json +115 -0
  23. package/dist/plugins/llm-tps/ui/TpsEndpoints.svelte +9 -0
  24. package/dist/plugins/llm-tps/ui/TpsOverview.svelte +9 -0
  25. package/dist/plugins/llm-tps/ui/TpsWidget.svelte +115 -0
  26. package/dist/plugins/llm-tps/ui/presentation.ts +16 -0
  27. package/dist/plugins/llm-tps/ui/stats-resource.ts +77 -0
  28. package/dist/plugins/llm-tps/ui/stats.ts +7 -0
  29. package/dist/plugins/model-mapping/index.js.map +3 -3
  30. package/dist/plugins/models-dev/index.js.map +3 -3
  31. package/dist/plugins/signature-repair/index.js.map +3 -3
  32. package/dist/plugins/token-budget/control.js.map +1 -1
  33. package/dist/plugins/token-budget/index.js.map +3 -3
  34. package/dist/plugins/token-metering/index.js +138 -11
  35. package/dist/plugins/token-metering/index.js.map +8 -7
  36. package/dist/plugins/token-stats/control.js.map +1 -1
  37. package/dist/plugins/token-stats/index.js.map +3 -3
  38. package/dist/plugins/user-auth/control.js.map +1 -1
  39. package/dist/plugins/user-auth/index.js.map +3 -3
  40. package/package.json +2 -2
@@ -6184,7 +6184,7 @@ async function relayPayload(result, param, signal) {
6184
6184
  const contentType = result.bodyHandle.identity.contentType;
6185
6185
  if (contentType === "" || contentType.includes("text/event-stream") || contentType.includes("application/octet-stream")) {
6186
6186
  const iterator = result.bodyHandle.events({ id: "llm-adapter.relay", mandatory: true, signal })[Symbol.asyncIterator]();
6187
- let call, callIndex, args = "", argumentBytes = 0, argumentsDone, outputDone = false, terminal = false, done = false;
6187
+ let call, callIndex, args = "", argumentBytes = 0, sawArgumentDelta = false, argumentsDone, outputDone = false, terminal = false, done = false;
6188
6188
  const reasoning = new Map;
6189
6189
  let reasoningBytes = 0;
6190
6190
  const reasoningEvents = new Set(["response.reasoning_summary_part.added", "response.reasoning_summary_part.done", "response.reasoning_summary_text.delta", "response.reasoning_summary_text.done", "response.reasoning_text.delta", "response.reasoning_text.done"]);
@@ -6218,6 +6218,8 @@ async function relayPayload(result, param, signal) {
6218
6218
  if (event.type === "response.created" || event.type === "response.in_progress") {
6219
6219
  if (event.response?.error || ["failed", "incomplete", "cancelled"].includes(event.response?.status))
6220
6220
  invalid(param);
6221
+ } else if (event.type === "response.metadata") {
6222
+ continue;
6221
6223
  } else if (event.type === "response.output_item.added") {
6222
6224
  if (!Number.isSafeInteger(event.output_index) || event.output_index < 0 || event.output_index >= 128 || event.output_index === callIndex || reasoning.has(event.output_index) || typeof event.item?.id !== "string")
6223
6225
  invalid(param);
@@ -6239,10 +6241,12 @@ async function relayPayload(result, param, signal) {
6239
6241
  argumentBytes += Buffer.byteLength(event.delta);
6240
6242
  if (argumentBytes > result.bodyHandle.maxBytes)
6241
6243
  invalid(param);
6244
+ sawArgumentDelta = true;
6242
6245
  args += event.delta;
6243
6246
  } else if (event.type === "response.function_call_arguments.done") {
6244
- if (!call || argumentsDone !== undefined || event.item_id !== call.id || event.output_index !== callIndex || event.arguments !== args)
6247
+ if (!call || argumentsDone !== undefined || event.item_id !== call.id || event.output_index !== callIndex || typeof event.arguments !== "string" || sawArgumentDelta && event.arguments !== args || Buffer.byteLength(event.arguments) > result.bodyHandle.maxBytes)
6245
6248
  invalid(param);
6249
+ args = event.arguments;
6246
6250
  argumentsDone = args;
6247
6251
  } else if (event.type === "response.output_item.done") {
6248
6252
  const thought = reasoning.get(event.output_index);
@@ -7143,4 +7147,4 @@ export {
7143
7147
  targetPath
7144
7148
  };
7145
7149
 
7146
- //# debugId=23A30C2E2CEA331E64756E2164756E21
7150
+ //# debugId=7C2FFBD5947C86DA64756E2164756E21