rehydra 0.13.0 → 0.14.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 (98) hide show
  1. package/README.md +37 -1
  2. package/dist/browser.d.ts +1 -1
  3. package/dist/browser.d.ts.map +1 -1
  4. package/dist/browser.js +1 -1
  5. package/dist/browser.js.map +1 -1
  6. package/dist/cli/commands/anonymize.d.ts.map +1 -1
  7. package/dist/cli/commands/anonymize.js.map +1 -1
  8. package/dist/cli/utils/color.d.ts.map +1 -1
  9. package/dist/cli/utils/color.js +1 -0
  10. package/dist/cli/utils/color.js.map +1 -1
  11. package/dist/core/anonymizer.d.ts.map +1 -1
  12. package/dist/core/anonymizer.js +4 -1
  13. package/dist/core/anonymizer.js.map +1 -1
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/opencode-plugin/git-identity.d.ts +3 -0
  19. package/dist/opencode-plugin/git-identity.d.ts.map +1 -0
  20. package/dist/opencode-plugin/git-identity.js +37 -0
  21. package/dist/opencode-plugin/git-identity.js.map +1 -0
  22. package/dist/opencode-plugin/github-username.d.ts +3 -0
  23. package/dist/opencode-plugin/github-username.d.ts.map +1 -0
  24. package/dist/opencode-plugin/github-username.js +41 -0
  25. package/dist/opencode-plugin/github-username.js.map +1 -0
  26. package/dist/opencode-plugin/identity-recognizer.d.ts +5 -0
  27. package/dist/opencode-plugin/identity-recognizer.d.ts.map +1 -0
  28. package/dist/opencode-plugin/identity-recognizer.js +21 -0
  29. package/dist/opencode-plugin/identity-recognizer.js.map +1 -0
  30. package/dist/opencode-plugin/plugin.d.ts.map +1 -1
  31. package/dist/opencode-plugin/plugin.js +92 -5
  32. package/dist/opencode-plugin/plugin.js.map +1 -1
  33. package/dist/opencode-plugin/types.d.ts +4 -1
  34. package/dist/opencode-plugin/types.d.ts.map +1 -1
  35. package/dist/opencode-plugin/vcs-command.d.ts +3 -0
  36. package/dist/opencode-plugin/vcs-command.d.ts.map +1 -0
  37. package/dist/opencode-plugin/vcs-command.js +34 -0
  38. package/dist/opencode-plugin/vcs-command.js.map +1 -0
  39. package/dist/pipeline/tagger.d.ts +6 -6
  40. package/dist/pipeline/tagger.d.ts.map +1 -1
  41. package/dist/pipeline/tagger.js +32 -11
  42. package/dist/pipeline/tagger.js.map +1 -1
  43. package/dist/pipeline/validator.d.ts.map +1 -1
  44. package/dist/pipeline/validator.js +8 -1
  45. package/dist/pipeline/validator.js.map +1 -1
  46. package/dist/proxy/providers/anthropic.d.ts +1 -0
  47. package/dist/proxy/providers/anthropic.d.ts.map +1 -1
  48. package/dist/proxy/providers/anthropic.js +2 -4
  49. package/dist/proxy/providers/anthropic.js.map +1 -1
  50. package/dist/proxy/providers/openai.d.ts +1 -0
  51. package/dist/proxy/providers/openai.d.ts.map +1 -1
  52. package/dist/proxy/providers/openai.js +3 -4
  53. package/dist/proxy/providers/openai.js.map +1 -1
  54. package/dist/proxy/providers/streaming-tool-loop.d.ts +12 -0
  55. package/dist/proxy/providers/streaming-tool-loop.d.ts.map +1 -0
  56. package/dist/proxy/providers/streaming-tool-loop.js +223 -0
  57. package/dist/proxy/providers/streaming-tool-loop.js.map +1 -0
  58. package/dist/proxy/providers/types.d.ts +3 -0
  59. package/dist/proxy/providers/types.d.ts.map +1 -1
  60. package/dist/proxy/providers/types.js +0 -4
  61. package/dist/proxy/providers/types.js.map +1 -1
  62. package/dist/proxy/rehydra-fetch.d.ts.map +1 -1
  63. package/dist/proxy/rehydra-fetch.js +68 -6
  64. package/dist/proxy/rehydra-fetch.js.map +1 -1
  65. package/dist/proxy/tool-loop-stream.d.ts +7 -0
  66. package/dist/proxy/tool-loop-stream.d.ts.map +1 -0
  67. package/dist/proxy/tool-loop-stream.js +65 -0
  68. package/dist/proxy/tool-loop-stream.js.map +1 -0
  69. package/dist/proxy/types.d.ts +6 -2
  70. package/dist/proxy/types.d.ts.map +1 -1
  71. package/dist/recognizers/address.d.ts +2 -0
  72. package/dist/recognizers/address.d.ts.map +1 -0
  73. package/dist/recognizers/address.js +23 -0
  74. package/dist/recognizers/address.js.map +1 -0
  75. package/dist/recognizers/index.d.ts +2 -0
  76. package/dist/recognizers/index.d.ts.map +1 -1
  77. package/dist/recognizers/index.js +6 -0
  78. package/dist/recognizers/index.js.map +1 -1
  79. package/dist/recognizers/postal-code.d.ts +16 -0
  80. package/dist/recognizers/postal-code.d.ts.map +1 -0
  81. package/dist/recognizers/postal-code.js +42 -0
  82. package/dist/recognizers/postal-code.js.map +1 -0
  83. package/dist/types/index.d.ts +15 -3
  84. package/dist/types/index.d.ts.map +1 -1
  85. package/dist/types/index.js +2 -0
  86. package/dist/types/index.js.map +1 -1
  87. package/dist/types/pii-types.d.ts +2 -0
  88. package/dist/types/pii-types.d.ts.map +1 -1
  89. package/dist/types/pii-types.js +7 -0
  90. package/dist/types/pii-types.js.map +1 -1
  91. package/dist/utils/storage-node.d.ts +1 -0
  92. package/dist/utils/storage-node.d.ts.map +1 -1
  93. package/dist/utils/storage-node.js +22 -0
  94. package/dist/utils/storage-node.js.map +1 -1
  95. package/dist/utils/storage.d.ts +3 -0
  96. package/dist/utils/storage.d.ts.map +1 -1
  97. package/dist/utils/storage.js.map +1 -1
  98. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA4CpB,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,QAAQ,CAAC,IAAI,eAAe;IAE5B,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAOtD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IA2C3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAwCrE,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAa5C,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAatE,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAQ7C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ/D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK1C,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAajD,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO;IAyB1E,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI;IAc/D,wBAAwB,CACtB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO;IAcV,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAapD,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAM5C,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE;IAe1D,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAKzC,iBAAiB,CACf,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO;IAuBV,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CAerE"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA4CpB,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,iBAAiB,8DAA8B;IAExD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAOtD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IA2C3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAwCrE,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAa5C,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAatE,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAQ7C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ/D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK1C,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAajD,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO;IAyB1E,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI;IAc/D,wBAAwB,CACtB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO;IAcV,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAapD,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAM5C,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE;IAe1D,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAKzC,iBAAiB,CACf,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO;IAuBV,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CAerE"}
@@ -1,9 +1,7 @@
1
- /**
2
- * Anthropic Content Provider
3
- * Handles Anthropic Messages API format.
4
- */
1
+ import { anthropicStreamingToolLoop } from "./streaming-tool-loop.js";
5
2
  export class AnthropicProvider {
6
3
  name = "anthropic";
4
+ streamingToolLoop = anthropicStreamingToolLoop;
7
5
  matchesRequest(url, headers) {
8
6
  if (url.includes("api.anthropic.com"))
9
7
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import type { LLMContentProvider, ToolCallDelta, ToolCallInfo, ToolResultMessage } from "./types.js";
6
6
  export declare class OpenAIProvider implements LLMContentProvider {
7
7
  readonly name = "openai";
8
+ readonly streamingToolLoop: import("./streaming-tool-loop.js").StreamingToolLoopAdapter;
8
9
  matchesRequest(url: string, headers: Headers): boolean;
9
10
  extractRequestText(body: unknown): string[];
10
11
  rebuildRequestBody(body: unknown, anonymizedTexts: string[]): unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/openai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAgEpB,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,IAAI,YAAY;IAEzB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAOtD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAmB3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAkBrE,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAa5C,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAYtE,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAO7C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ/D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK1C,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAkBjD,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO;IAiB1E,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI;IAe/D,wBAAwB,CACtB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO;IAgBV,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAU5C,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE;IAe1D,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAKzC,iBAAiB,CACf,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO;IAqBV,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CASrE"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/openai.ts"],"names":[],"mappings":"AACA;;;GAGG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAgEpB,qBAAa,cAAe,YAAW,kBAAkB;IACvD,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,iBAAiB,8DAA2B;IAErD,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAOtD,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAmB3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAkBrE,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAa5C,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IAYtE,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI;IAO7C,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO;IAQ/D,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAK1C,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;IAkBjD,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO;IAiB1E,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI;IAe/D,wBAAwB,CACtB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO;IAgBV,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;IAU5C,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE;IAe1D,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE;IAKzC,iBAAiB,CACf,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO;IAsBV,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO;CASrE"}
@@ -1,9 +1,7 @@
1
- /**
2
- * OpenAI Content Provider
3
- * Handles OpenAI Chat Completions API format.
4
- */
1
+ import { openAIStreamingToolLoop } from "./streaming-tool-loop.js";
5
2
  export class OpenAIProvider {
6
3
  name = "openai";
4
+ streamingToolLoop = openAIStreamingToolLoop;
7
5
  matchesRequest(url, headers) {
8
6
  if (url.includes("api.openai.com"))
9
7
  return true;
@@ -189,6 +187,7 @@ export class OpenAIProvider {
189
187
  ...originalBody,
190
188
  messages: newMessages,
191
189
  stream: false,
190
+ stream_options: undefined,
192
191
  };
193
192
  }
194
193
  injectSystemInstruction(body, instruction) {
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/proxy/providers/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/proxy/providers/openai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { SSEEvent } from '../sse-parser.js';
2
+ /** A provider-specific conversion between SSE and complete tool-loop responses. */
3
+ export interface StreamingToolLoopAdapter {
4
+ createAccumulator(): {
5
+ push(data: unknown): void;
6
+ finish(): unknown;
7
+ };
8
+ encode(body: unknown): Iterable<SSEEvent>;
9
+ }
10
+ export declare const openAIStreamingToolLoop: StreamingToolLoopAdapter;
11
+ export declare const anthropicStreamingToolLoop: StreamingToolLoopAdapter;
12
+ //# sourceMappingURL=streaming-tool-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-tool-loop.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/streaming-tool-loop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,iBAAiB,IAAI;QAAE,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,MAAM,IAAI,OAAO,CAAA;KAAE,CAAC;IACtE,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAC3C;AA4BD,eAAO,MAAM,uBAAuB,EAAE,wBA8DrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,wBAwFxC,CAAC"}
@@ -0,0 +1,223 @@
1
+ function object(value) {
2
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
3
+ throw new Error('Invalid streaming response object');
4
+ }
5
+ return value;
6
+ }
7
+ function index(value) {
8
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < 0) {
9
+ throw new Error('Invalid streaming response index');
10
+ }
11
+ return value;
12
+ }
13
+ function append(target, key, value) {
14
+ if (typeof value === 'string')
15
+ target[key] = String(target[key] ?? '') + value;
16
+ }
17
+ function event(data, type = 'message') {
18
+ return { event: type, data: JSON.stringify(data) };
19
+ }
20
+ function validateTool(id, name, args) {
21
+ if (typeof id !== 'string' || id === '' || typeof name !== 'string' || name === '') {
22
+ throw new Error('Incomplete streamed tool call');
23
+ }
24
+ object(JSON.parse(args));
25
+ }
26
+ export const openAIStreamingToolLoop = {
27
+ createAccumulator() {
28
+ const metadata = {};
29
+ const message = { role: 'assistant', content: '' };
30
+ const calls = new Map();
31
+ let finishReason;
32
+ return {
33
+ push(data) {
34
+ const chunk = object(data);
35
+ if (chunk.error !== undefined)
36
+ throw new Error('Upstream streaming error');
37
+ for (const key of ['id', 'model', 'created', 'system_fingerprint', 'usage']) {
38
+ if (chunk[key] !== undefined)
39
+ metadata[key] = chunk[key];
40
+ }
41
+ if (!Array.isArray(chunk.choices))
42
+ throw new Error('Missing streaming choices');
43
+ for (const value of chunk.choices) {
44
+ const choice = object(value);
45
+ if (index(choice.index) !== 0)
46
+ throw new Error('Streaming tool loops require a single completion choice');
47
+ const delta = object(choice.delta);
48
+ if (choice.finish_reason !== undefined && choice.finish_reason !== null)
49
+ finishReason = choice.finish_reason;
50
+ for (const key of ['content', 'refusal', 'reasoning_content'])
51
+ append(message, key, delta[key]);
52
+ if (Array.isArray(delta.tool_calls))
53
+ for (const item of delta.tool_calls) {
54
+ const fragment = object(item);
55
+ const i = index(fragment.index);
56
+ const call = calls.get(i) ?? { id: '', type: 'function', function: { name: '', arguments: '' } };
57
+ append(call, 'id', fragment.id);
58
+ if (fragment.function !== undefined) {
59
+ const fn = object(fragment.function);
60
+ append(call.function, 'name', fn.name);
61
+ append(call.function, 'arguments', fn.arguments);
62
+ }
63
+ calls.set(i, call);
64
+ }
65
+ }
66
+ },
67
+ finish() {
68
+ if (finishReason === undefined)
69
+ throw new Error('Truncated streaming completion');
70
+ if (calls.size > 0) {
71
+ if (finishReason !== 'tool_calls')
72
+ throw new Error('Streamed tool calls did not complete');
73
+ const tools = [...calls].sort(([a], [b]) => a - b).map(([, call]) => call);
74
+ if (new Set(tools.map(call => call.id)).size !== tools.length)
75
+ throw new Error('Duplicate streamed tool call ID');
76
+ for (const call of tools)
77
+ validateTool(call.id, call.function.name, call.function.arguments);
78
+ message.tool_calls = tools;
79
+ }
80
+ return { ...metadata, object: 'chat.completion', choices: [{ index: 0, message, finish_reason: finishReason }] };
81
+ },
82
+ };
83
+ },
84
+ *encode(body) {
85
+ const response = object(body);
86
+ if (!Array.isArray(response.choices))
87
+ throw new Error('Missing completion choices');
88
+ const metadata = { ...response, object: 'chat.completion.chunk', usage: undefined };
89
+ for (const value of response.choices) {
90
+ const choice = object(value);
91
+ const message = object(choice.message);
92
+ const delta = { ...message };
93
+ if (Array.isArray(message.tool_calls))
94
+ delta.tool_calls = message.tool_calls.map((call, i) => ({ ...object(call), index: i }));
95
+ yield event({ ...metadata, choices: [{ index: choice.index ?? 0, delta, finish_reason: null }] });
96
+ yield event({ ...metadata, choices: [{ index: choice.index ?? 0, delta: {}, finish_reason: choice.finish_reason }] });
97
+ }
98
+ if (response.usage !== undefined)
99
+ yield event({ ...metadata, choices: [], usage: response.usage });
100
+ yield { event: 'message', data: '[DONE]' };
101
+ },
102
+ };
103
+ export const anthropicStreamingToolLoop = {
104
+ createAccumulator() {
105
+ let message;
106
+ const blocks = new Map();
107
+ const args = new Map();
108
+ const stoppedBlocks = new Set();
109
+ let stopped = false;
110
+ return {
111
+ push(data) {
112
+ const value = object(data);
113
+ if (value.type === 'error')
114
+ throw new Error('Upstream streaming error');
115
+ switch (value.type) {
116
+ case 'message_start':
117
+ if (message !== undefined)
118
+ throw new Error('Duplicate message start');
119
+ message = { ...object(value.message) };
120
+ break;
121
+ case 'content_block_start': {
122
+ const i = index(value.index);
123
+ if (blocks.has(i))
124
+ throw new Error('Duplicate content block');
125
+ blocks.set(i, { ...object(value.content_block) });
126
+ break;
127
+ }
128
+ case 'content_block_delta': {
129
+ const i = index(value.index);
130
+ const block = blocks.get(i);
131
+ if (block === undefined || stoppedBlocks.has(i))
132
+ throw new Error('Unexpected content delta');
133
+ const delta = object(value.delta);
134
+ if (delta.type === 'input_json_delta') {
135
+ if (typeof delta.partial_json !== 'string')
136
+ throw new Error('Invalid tool argument delta');
137
+ args.set(i, (args.get(i) ?? '') + delta.partial_json);
138
+ }
139
+ else if (delta.type === 'text_delta')
140
+ append(block, 'text', delta.text);
141
+ else if (delta.type === 'thinking_delta')
142
+ append(block, 'thinking', delta.thinking);
143
+ else if (delta.type === 'signature_delta')
144
+ append(block, 'signature', delta.signature);
145
+ else
146
+ throw new Error('Unsupported content delta in streaming tool loop');
147
+ break;
148
+ }
149
+ case 'content_block_stop': {
150
+ const i = index(value.index);
151
+ if (!blocks.has(i) || stoppedBlocks.has(i))
152
+ throw new Error('Unexpected content block stop');
153
+ stoppedBlocks.add(i);
154
+ break;
155
+ }
156
+ case 'message_delta':
157
+ if (message === undefined)
158
+ throw new Error('Missing message start');
159
+ Object.assign(message, object(value.delta));
160
+ if (value.usage !== undefined)
161
+ message.usage = { ...object(message.usage ?? {}), ...object(value.usage) };
162
+ break;
163
+ case 'message_stop':
164
+ stopped = true;
165
+ break;
166
+ }
167
+ },
168
+ finish() {
169
+ if (message === undefined || !stopped)
170
+ throw new Error('Truncated streaming message');
171
+ const content = [...blocks].sort(([a], [b]) => a - b).map(([i, block]) => {
172
+ if (!stoppedBlocks.has(i))
173
+ throw new Error('Unfinished content block');
174
+ if (block.type === 'tool_use') {
175
+ if (message.stop_reason !== 'tool_use')
176
+ throw new Error('Streamed tool calls did not complete');
177
+ const json = args.get(i) ?? JSON.stringify(block.input ?? {});
178
+ validateTool(block.id, block.name, json);
179
+ block.input = JSON.parse(json);
180
+ }
181
+ return block;
182
+ });
183
+ const ids = content.filter(block => block.type === 'tool_use').map(block => block.id);
184
+ if (new Set(ids).size !== ids.length)
185
+ throw new Error('Duplicate streamed tool call ID');
186
+ return { ...message, content };
187
+ },
188
+ };
189
+ },
190
+ *encode(body) {
191
+ const response = object(body);
192
+ if (!Array.isArray(response.content))
193
+ throw new Error('Missing message content');
194
+ yield event({ type: 'message_start', message: { ...response, content: [], stop_reason: null, stop_sequence: null } }, 'message_start');
195
+ for (const [i, item] of response.content.entries()) {
196
+ const block = object(item);
197
+ const start = { ...block };
198
+ const deltas = [];
199
+ if (block.type === 'text') {
200
+ start.text = '';
201
+ deltas.push({ type: 'text_delta', text: block.text });
202
+ }
203
+ if (block.type === 'tool_use') {
204
+ start.input = {};
205
+ deltas.push({ type: 'input_json_delta', partial_json: JSON.stringify(block.input) });
206
+ }
207
+ if (block.type === 'thinking') {
208
+ start.thinking = '';
209
+ start.signature = '';
210
+ deltas.push({ type: 'thinking_delta', thinking: block.thinking });
211
+ if (typeof block.signature === 'string')
212
+ deltas.push({ type: 'signature_delta', signature: block.signature });
213
+ }
214
+ yield event({ type: 'content_block_start', index: i, content_block: start }, 'content_block_start');
215
+ for (const delta of deltas)
216
+ yield event({ type: 'content_block_delta', index: i, delta }, 'content_block_delta');
217
+ yield event({ type: 'content_block_stop', index: i }, 'content_block_stop');
218
+ }
219
+ yield event({ type: 'message_delta', delta: { stop_reason: response.stop_reason, stop_sequence: response.stop_sequence }, usage: response.usage ?? {} }, 'message_delta');
220
+ yield event({ type: 'message_stop' }, 'message_stop');
221
+ },
222
+ };
223
+ //# sourceMappingURL=streaming-tool-loop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming-tool-loop.js","sourceRoot":"","sources":["../../../src/proxy/providers/streaming-tool-loop.ts"],"names":[],"mappings":"AASA,SAAS,MAAM,CAAC,KAAc;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,KAAoB,CAAC;AAC9B,CAAC;AACD,SAAS,KAAK,CAAC,KAAc;IAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,MAAM,CAAC,MAAmB,EAAE,GAAW,EAAE,KAAc;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;AACjF,CAAC;AACD,SAAS,KAAK,CAAC,IAAa,EAAE,IAAI,GAAG,SAAS;IAC5C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AACrD,CAAC;AACD,SAAS,YAAY,CAAC,EAAW,EAAE,IAAa,EAAE,IAAY;IAC5D,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QACnF,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,iBAAiB;QACf,MAAM,QAAQ,GAAgB,EAAE,CAAC;QACjC,MAAM,OAAO,GAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuF,CAAC;QAC7G,IAAI,YAAqB,CAAC;QAC1B,OAAO;YACL,IAAI,CAAC,IAAI;gBACP,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC3E,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC5E,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;wBAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3D,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAChF,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;oBAC1G,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnC,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;wBAAE,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC;oBAC7G,KAAK,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,CAAC;wBAAE,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAChG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;wBAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;4BACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;4BAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAChC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;4BACjG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;4BAChC,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gCACpC,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gCACrC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gCACvC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;4BACnD,CAAC;4BACD,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM;gBACJ,IAAI,YAAY,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAClF,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,YAAY,KAAK,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;oBAC3F,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;wBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBAClH,KAAK,MAAM,IAAI,IAAI,KAAK;wBAAE,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAC7F,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC;gBAC7B,CAAC;gBACD,OAAO,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;YACnH,CAAC;SACF,CAAC;IACJ,CAAC;IACD,CAAC,MAAM,CAAC,IAAI;QACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACpF,MAAM,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACpF,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/H,MAAM,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAClG,MAAM,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;QACD,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;YAAE,MAAM,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACnG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAA6B;IAClE,iBAAiB;QACf,IAAI,OAAgC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO;YACL,IAAI,CAAC,IAAI;gBACP,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACxE,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,eAAe;wBAClB,IAAI,OAAO,KAAK,SAAS;4BAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBACtE,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBAAC,MAAM;oBAChD,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;wBAC9D,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;wBAClD,MAAM;oBACR,CAAC;oBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;wBAC3B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;wBAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;4BACtC,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;gCAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;4BAC3F,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;wBACxD,CAAC;6BAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;4BAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;6BACrE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB;4BAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;6BAC/E,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;4BAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;;4BAClF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;wBACzE,MAAM;oBACR,CAAC;oBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;wBAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;wBAC7F,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBAAC,MAAM;oBAC9B,CAAC;oBACD,KAAK,eAAe;wBAClB,IAAI,OAAO,KAAK,SAAS;4BAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBACpE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;4BAAE,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC1G,MAAM;oBACR,KAAK,cAAc;wBAAE,OAAO,GAAG,IAAI,CAAC;wBAAC,MAAM;gBAC7C,CAAC;YACH,CAAC;YACD,MAAM;gBACJ,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACtF,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE;oBACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;oBACvE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC9B,IAAI,OAAQ,CAAC,WAAW,KAAK,UAAU;4BAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;wBACjG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;wBAC9D,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;wBACzC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;oBAC5C,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACtF,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACzF,OAAO,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC;YACjC,CAAC;SACF,CAAC;IACJ,CAAC;IACD,CAAC,MAAM,CAAC,IAAI;QACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjF,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;QACvI,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAkB,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YACtG,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAAC,CAAC;YAC1I,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAAC,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClE,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAChH,CAAC;YACD,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACpG,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,qBAAqB,CAAC,CAAC;YACjH,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;QAC1K,MAAM,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;CACF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { StreamingToolLoopAdapter } from './streaming-tool-loop.js';
1
2
  /**
2
3
  * LLM Content Provider Interface
3
4
  * Abstracts LLM-specific request/response formats for the proxy middleware.
@@ -40,6 +41,8 @@ export interface ToolCallDelta {
40
41
  export interface LLMContentProvider {
41
42
  /** Provider name (e.g., "openai", "anthropic") */
42
43
  readonly name: string;
44
+ /** Optional SSE conversion for server-side tool execution loops. */
45
+ readonly streamingToolLoop?: StreamingToolLoopAdapter;
43
46
  /** Detect if a request matches this provider based on URL/headers */
44
47
  matchesRequest(url: string, headers: Headers): boolean;
45
48
  /** Extract text strings from a request body for anonymization */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,qEAAqE;IACrE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAEvD,iEAAiE;IACjE,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE5C,uFAAuF;IACvF,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEtE,8EAA8E;IAC9E,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE7C,yFAAyF;IACzF,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvE,0FAA0F;IAC1F,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAE9C,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE,2EAA2E;IAC3E,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3C,4FAA4F;IAC5F,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAEnD,6GAA6G;IAC7G,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE5E,uEAAuE;IACvE,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;IAEjE,sEAAsE;IACtE,wBAAwB,CAAC,CACvB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC;IAEX;;;;OAIG;IACH,sBAAsB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAItD;;;OAGG;IACH,oBAAoB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAE9C;;;OAGG;IACH,2BAA2B,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,CAAC;IAE5D;;OAEG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAE3C;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,CAChB,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO,CAAC;IAEX;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACzE;;;GAGG;AAEH;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oEAAoE;IACpE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAEtD,qEAAqE;IACrE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;IAEvD,iEAAiE;IACjE,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE5C,uFAAuF;IACvF,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEtE,8EAA8E;IAC9E,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAE7C,yFAAyF;IACzF,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAEvE,0FAA0F;IAC1F,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAE9C,uDAAuD;IACvD,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhE,2EAA2E;IAC3E,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAE3C,4FAA4F;IAC5F,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,CAAC;IAEnD,6GAA6G;IAC7G,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE5E,uEAAuE;IACvE,wBAAwB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,aAAa,EAAE,GAAG,IAAI,CAAC;IAEjE,sEAAsE;IACtE,wBAAwB,CAAC,CACvB,IAAI,EAAE,OAAO,EACb,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC;IAEX;;;;OAIG;IACH,sBAAsB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC;IAItD;;;OAGG;IACH,oBAAoB,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAE9C;;;OAGG;IACH,2BAA2B,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,YAAY,EAAE,CAAC;IAE5D;;OAEG;IACH,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAE3C;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,CAChB,YAAY,EAAE,OAAO,EACrB,eAAe,EAAE,OAAO,EAAE,EAC1B,iBAAiB,EAAE,OAAO,EAC1B,WAAW,EAAE,iBAAiB,EAAE,GAC/B,OAAO,CAAC;IAEX;;;;OAIG;IACH,uBAAuB,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE"}
@@ -1,6 +1,2 @@
1
- /**
2
- * LLM Content Provider Interface
3
- * Abstracts LLM-specific request/response formats for the proxy middleware.
4
- */
5
1
  export {};
6
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/proxy/providers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/proxy/providers/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"rehydra-fetch.d.ts","sourceRoot":"","sources":["../../src/proxy/rehydra-fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA+CrD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,UAAU,CAAC,KAAK,CAkLzB"}
1
+ {"version":3,"file":"rehydra-fetch.d.ts","sourceRoot":"","sources":["../../src/proxy/rehydra-fetch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAgDrD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,UAAU,CAAC,KAAK,CAkMzB"}
@@ -11,6 +11,7 @@ import { SSEParser, isSSEDone, serializeSSEEvent } from "./sse-parser.js";
11
11
  import { detectProvider } from "./providers/index.js";
12
12
  import { buildPIISystemInstruction } from "./system-instruction.js";
13
13
  import { buildTagPrefix } from "../utils/regex.js";
14
+ import { accumulateToolStream, readToolResponse, toolResultStream } from "./tool-loop-stream.js";
14
15
  import { DEFAULT_TAG_FORMAT } from "../types/index.js";
15
16
  /** Headers to strip from proxied responses — the body is decompressed and may be modified. */
16
17
  const STRIP_RESPONSE_HEADERS = ["content-encoding", "content-length"];
@@ -74,6 +75,14 @@ function errorResponse(status, message) {
74
75
  * ```
75
76
  */
76
77
  export function createRehydraFetch(config) {
78
+ if (config.maxToolRounds !== undefined &&
79
+ (!Number.isSafeInteger(config.maxToolRounds) || config.maxToolRounds < 0)) {
80
+ throw new Error("maxToolRounds must be a nonnegative safe integer");
81
+ }
82
+ if (config.maxToolResponseBytes !== undefined &&
83
+ (!Number.isSafeInteger(config.maxToolResponseBytes) || config.maxToolResponseBytes <= 0)) {
84
+ throw new Error("maxToolResponseBytes must be a positive safe integer");
85
+ }
77
86
  const anonymizer = createAnonymizer({
78
87
  ...config.anonymizer,
79
88
  keyProvider: config.keyProvider,
@@ -174,6 +183,8 @@ export function createRehydraFetch(config) {
174
183
  const msg = err instanceof Error ? err.message : "Upstream request failed";
175
184
  return errorResponse(502, `Upstream LLM unreachable: ${msg}`);
176
185
  }
186
+ if (!response.ok)
187
+ return response;
177
188
  // Determine if the response is a streaming SSE response
178
189
  const responseContentType = response.headers.get("content-type");
179
190
  const isSSE = handleStreaming &&
@@ -181,6 +192,11 @@ export function createRehydraFetch(config) {
181
192
  responseContentType !== null &&
182
193
  responseContentType.includes("text/event-stream");
183
194
  if (isSSE && response.body !== null) {
195
+ if (config.onToolCall !== undefined && provider.streamingToolLoop !== undefined &&
196
+ provider.hasResponseToolCalls !== undefined && provider.extractResponseToolCallInfo !== undefined &&
197
+ provider.extractMessages !== undefined && provider.buildToolLoopBody !== undefined && response.ok) {
198
+ return await handleStreamingToolLoop(response, anonymizedBody, session, provider, config, request);
199
+ }
184
200
  return rehydrateSSEResponse(response, session, provider, config);
185
201
  }
186
202
  // Tool execution loop: when onToolCall is configured and provider
@@ -195,11 +211,48 @@ export function createRehydraFetch(config) {
195
211
  return rehydrateJSONResponse(response, session, provider);
196
212
  }
197
213
  catch (err) {
214
+ if (request.signal.aborted)
215
+ throw err;
198
216
  const msg = err instanceof Error ? err.message : "Internal proxy error";
199
217
  return errorResponse(500, msg);
200
218
  }
201
219
  };
202
220
  }
221
+ /** Buffer and validate the first stream before allowing any tool side effects. */
222
+ async function handleStreamingToolLoop(response, anonymizedBody, session, provider, config, request) {
223
+ const adapter = provider.streamingToolLoop;
224
+ let text;
225
+ let complete;
226
+ try {
227
+ text = await readToolResponse(response, config.maxToolResponseBytes ?? 8 * 1024 * 1024, request.signal);
228
+ complete = accumulateToolStream(text, adapter);
229
+ }
230
+ catch (err) {
231
+ if (request.signal.aborted)
232
+ throw err;
233
+ return errorResponse(502, err instanceof Error ? err.message : "Invalid streamed tool response");
234
+ }
235
+ if (!provider.hasResponseToolCalls(complete)) {
236
+ return rehydrateSSEResponse(new Response(text, {
237
+ status: response.status, headers: stripResponseHeaders(response.headers),
238
+ }), session, provider, config);
239
+ }
240
+ const headers = stripResponseHeaders(response.headers);
241
+ headers.set("content-type", "application/json");
242
+ const finalResponse = await handleToolLoop(new Response(JSON.stringify(complete), {
243
+ status: response.status, headers,
244
+ }), anonymizedBody, session, provider, config, request);
245
+ if (!finalResponse.ok)
246
+ return finalResponse;
247
+ let finalBody;
248
+ try {
249
+ finalBody = await finalResponse.json();
250
+ }
251
+ catch {
252
+ return errorResponse(502, "Invalid JSON in tool-loop response");
253
+ }
254
+ return toolResultStream(finalBody, finalResponse, adapter);
255
+ }
203
256
  /**
204
257
  * Rehydrate a non-streaming JSON response.
205
258
  */
@@ -266,7 +319,8 @@ async function rehydrateJSONResponseFromBody(body, response, session, provider)
266
319
  async function handleToolLoop(initialResponse, anonymizedBody, session, provider, config, originalRequest) {
267
320
  const maxRounds = config.maxToolRounds ?? 10;
268
321
  // Parse the initial response
269
- const rawText = await initialResponse.text();
322
+ const readResponse = (response) => readToolResponse(response, config.maxToolResponseBytes ?? 8 * 1024 * 1024, originalRequest.signal);
323
+ const rawText = await readResponse(initialResponse);
270
324
  let currentResponse;
271
325
  try {
272
326
  currentResponse = JSON.parse(rawText);
@@ -295,18 +349,21 @@ async function handleToolLoop(initialResponse, anonymizedBody, session, provider
295
349
  const toolResults = [];
296
350
  for (const tc of toolCallInfos) {
297
351
  // Rehydrate the arguments string to restore real PII
298
- const rehydratedArgsStr = await session.rehydrate(tc.arguments);
352
+ originalRequest.signal.throwIfAborted();
299
353
  let parsedArgs;
300
354
  try {
301
- parsedArgs = JSON.parse(rehydratedArgsStr);
355
+ const args = JSON.parse(tc.arguments);
356
+ parsedArgs = await session.rehydrateJson(args);
302
357
  }
303
358
  catch {
304
- parsedArgs = { raw: rehydratedArgsStr };
359
+ parsedArgs = { raw: await session.rehydrate(tc.arguments) };
305
360
  }
361
+ originalRequest.signal.throwIfAborted();
306
362
  // Call the user's tool handler with real PII
307
363
  const result = await config.onToolCall(tc.name, parsedArgs, tc.id);
308
364
  // Anonymize the result using the same session (maintains PII ID continuity)
309
- const anonymizedResult = await session.anonymizeJson(result);
365
+ originalRequest.signal.throwIfAborted();
366
+ const anonymizedResult = await session.anonymizeJson(result, config.locale, config.policy);
310
367
  toolResults.push({
311
368
  toolCallId: tc.id,
312
369
  content: typeof anonymizedResult === "string"
@@ -357,7 +414,12 @@ async function handleToolLoop(initialResponse, anonymizedBody, session, provider
357
414
  }
358
415
  lastUpstreamResponse = nextResponse;
359
416
  // Parse the new response
360
- const nextRawText = await nextResponse.text();
417
+ const nextRawText = await readResponse(nextResponse);
418
+ if (!nextResponse.ok)
419
+ return new Response(nextRawText, {
420
+ status: nextResponse.status, statusText: nextResponse.statusText,
421
+ headers: stripResponseHeaders(nextResponse.headers),
422
+ });
361
423
  try {
362
424
  currentResponse = JSON.parse(nextRawText);
363
425
  }