rehydra 0.6.5 → 0.7.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 (40) hide show
  1. package/dist/opencode-plugin/plugin.d.ts.map +1 -1
  2. package/dist/opencode-plugin/plugin.js +2 -4
  3. package/dist/opencode-plugin/plugin.js.map +1 -1
  4. package/dist/proxy/index.d.ts +2 -1
  5. package/dist/proxy/index.d.ts.map +1 -1
  6. package/dist/proxy/index.js +1 -0
  7. package/dist/proxy/index.js.map +1 -1
  8. package/dist/proxy/providers/anthropic.d.ts +6 -1
  9. package/dist/proxy/providers/anthropic.d.ts.map +1 -1
  10. package/dist/proxy/providers/anthropic.js +62 -0
  11. package/dist/proxy/providers/anthropic.js.map +1 -1
  12. package/dist/proxy/providers/index.d.ts +1 -1
  13. package/dist/proxy/providers/index.d.ts.map +1 -1
  14. package/dist/proxy/providers/index.js.map +1 -1
  15. package/dist/proxy/providers/openai.d.ts +6 -1
  16. package/dist/proxy/providers/openai.d.ts.map +1 -1
  17. package/dist/proxy/providers/openai.js +53 -0
  18. package/dist/proxy/providers/openai.js.map +1 -1
  19. package/dist/proxy/providers/types.d.ts +53 -0
  20. package/dist/proxy/providers/types.d.ts.map +1 -1
  21. package/dist/proxy/rehydra-fetch.d.ts.map +1 -1
  22. package/dist/proxy/rehydra-fetch.js +153 -3
  23. package/dist/proxy/rehydra-fetch.js.map +1 -1
  24. package/dist/proxy/system-instruction.d.ts +10 -0
  25. package/dist/proxy/system-instruction.d.ts.map +1 -0
  26. package/dist/proxy/system-instruction.js +19 -0
  27. package/dist/proxy/system-instruction.js.map +1 -0
  28. package/dist/proxy/types.d.ts +39 -0
  29. package/dist/proxy/types.d.ts.map +1 -1
  30. package/dist/storage/session-base.d.ts +2 -0
  31. package/dist/storage/session-base.d.ts.map +1 -1
  32. package/dist/storage/session-base.js +10 -0
  33. package/dist/storage/session-base.js.map +1 -1
  34. package/dist/storage/types.d.ts +37 -0
  35. package/dist/storage/types.d.ts.map +1 -1
  36. package/dist/utils/json-walk.d.ts +21 -0
  37. package/dist/utils/json-walk.d.ts.map +1 -0
  38. package/dist/utils/json-walk.js +44 -0
  39. package/dist/utils/json-walk.js.map +1 -0
  40. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAOpE;;;GAGG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE;QACH,GAAG,CAAC,KAAK,EAAE;YACT,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;gBAC3C,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACjC,CAAC;SACH,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAErD,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CA8O1E;;AAED,wBAAqC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAKpE;;;GAGG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,GAAG,EAAE;QACH,GAAG,CAAC,KAAK,EAAE;YACT,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;gBAC3C,OAAO,EAAE,MAAM,CAAC;gBAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;aACjC,CAAC;SACH,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KACtB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;AAErD,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,MAAM,CA8O1E;;AAED,wBAAqC"}
@@ -15,10 +15,8 @@ import { AnonymizerSessionImpl } from "../storage/session-base.js";
15
15
  import { InMemoryPIIStorageProvider } from "../storage/in-memory.js";
16
16
  import { InMemoryKeyProvider } from "../crypto/index.js";
17
17
  import { createDefaultPolicy, SECRET_PII_TYPES } from "../types/index.js";
18
- const REHYDRA_INSTRUCTION = `<rehydra>
19
- Some values in this conversation have been replaced with PII placeholders like <PII type="..." id="..."/>. These are real values that have been masked for privacy during transit. They will be automatically rehydrated (replaced with the original values) before any command is executed locally.
20
- IMPORTANT: Treat these placeholders exactly like real values. Do NOT try to resolve, decode, remove, or work around them. Use them as-is in commands, code, and tool calls. The rehydration layer handles the rest.
21
- </rehydra>`;
18
+ import { DEFAULT_PII_SYSTEM_INSTRUCTION } from "../proxy/system-instruction.js";
19
+ const REHYDRA_INSTRUCTION = `<rehydra>\n${DEFAULT_PII_SYSTEM_INSTRUCTION}\n</rehydra>`;
22
20
  /**
23
21
  * Recursively rehydrate all string values containing PII tags.
24
22
  * Returns a new value (for strings/arrays) or the same object mutated in-place
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/opencode-plugin/plugin.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export { wrapLLMClient } from "./wrap-client.js";
8
8
  export { createRehydraProxyServer, type RehydraProxyServerConfig, type RehydraProxyServer, } from "./proxy-server.js";
9
9
  export { SSEParser, isSSEDone, serializeSSEEvent, type SSEEvent } from "./sse-parser.js";
10
10
  export { detectProvider, OpenAIProvider, AnthropicProvider, type LLMContentProvider, } from "./providers/index.js";
11
- export type { RehydraFetchConfig, RehydraProxyConfig } from "./types.js";
11
+ export type { RehydraFetchConfig, RehydraProxyConfig, OnToolCallFn } from "./types.js";
12
+ export { DEFAULT_PII_SYSTEM_INSTRUCTION } from "./system-instruction.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -8,4 +8,5 @@ export { wrapLLMClient } from "./wrap-client.js";
8
8
  export { createRehydraProxyServer, } from "./proxy-server.js";
9
9
  export { SSEParser, isSSEDone, serializeSSEEvent } from "./sse-parser.js";
10
10
  export { detectProvider, OpenAIProvider, AnthropicProvider, } from "./providers/index.js";
11
+ export { DEFAULT_PII_SYSTEM_INSTRUCTION } from "./system-instruction.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,GAGzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxy/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,wBAAwB,GAGzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Anthropic Content Provider
3
3
  * Handles Anthropic Messages API format.
4
4
  */
5
- import type { LLMContentProvider, ToolCallDelta } from "./types.js";
5
+ import type { LLMContentProvider, ToolCallDelta, ToolCallInfo, ToolResultMessage } from "./types.js";
6
6
  export declare class AnthropicProvider implements LLMContentProvider {
7
7
  readonly name = "anthropic";
8
8
  matchesRequest(url: string, headers: Headers): boolean;
@@ -18,5 +18,10 @@ export declare class AnthropicProvider implements LLMContentProvider {
18
18
  extractSSEToolCallDeltas(data: unknown): ToolCallDelta[] | null;
19
19
  rebuildSSEToolCallDeltas(data: unknown, rehydratedArgs: Map<number, string>): unknown;
20
20
  extractSSEToolCallStop(data: unknown): number | null;
21
+ hasResponseToolCalls(body: unknown): boolean;
22
+ extractResponseToolCallInfo(body: unknown): ToolCallInfo[];
23
+ extractMessages(body: unknown): unknown[];
24
+ buildToolLoopBody(originalBody: unknown, currentMessages: unknown[], assistantResponse: unknown, toolResults: ToolResultMessage[]): unknown;
25
+ injectSystemInstruction(body: unknown, instruction: string): unknown;
21
26
  }
22
27
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0CpE,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;IAgC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IA8BrE,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;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;IAwB1E,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;CAUrD"}
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;AA0CpB,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;IAgC3C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO;IA8BrE,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;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;IAwB1E,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"}
@@ -172,5 +172,67 @@ export class AnthropicProvider {
172
172
  }
173
173
  return null;
174
174
  }
175
+ // ── Tool execution loop methods ──────────────────────────────────
176
+ hasResponseToolCalls(body) {
177
+ const res = body;
178
+ if (!Array.isArray(res.content))
179
+ return false;
180
+ return res.content.some((b) => b.type === "tool_use");
181
+ }
182
+ extractResponseToolCallInfo(body) {
183
+ const res = body;
184
+ const infos = [];
185
+ for (const block of res.content ?? []) {
186
+ if (block.type === "tool_use" && block.id !== undefined && block.name !== undefined) {
187
+ infos.push({
188
+ id: block.id,
189
+ name: block.name,
190
+ arguments: JSON.stringify(block.input ?? {}),
191
+ });
192
+ }
193
+ }
194
+ return infos;
195
+ }
196
+ extractMessages(body) {
197
+ const req = body;
198
+ return req.messages ?? [];
199
+ }
200
+ buildToolLoopBody(originalBody, currentMessages, assistantResponse, toolResults) {
201
+ const res = assistantResponse;
202
+ const newMessages = [
203
+ ...currentMessages,
204
+ { role: "assistant", content: res.content },
205
+ {
206
+ role: "user",
207
+ content: toolResults.map((tr) => ({
208
+ type: "tool_result",
209
+ tool_use_id: tr.toolCallId,
210
+ content: tr.content,
211
+ })),
212
+ },
213
+ ];
214
+ return {
215
+ ...originalBody,
216
+ messages: newMessages,
217
+ stream: false,
218
+ };
219
+ }
220
+ injectSystemInstruction(body, instruction) {
221
+ const req = structuredClone(body);
222
+ // Prepend to the existing system prompt
223
+ if (typeof req.system === "string") {
224
+ req.system = instruction + "\n\n" + req.system;
225
+ }
226
+ else if (Array.isArray(req.system)) {
227
+ req.system = [
228
+ { type: "text", text: instruction },
229
+ ...req.system,
230
+ ];
231
+ }
232
+ else {
233
+ req.system = instruction;
234
+ }
235
+ return req;
236
+ }
175
237
  }
176
238
  //# sourceMappingURL=anthropic.js.map
@@ -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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"}
@@ -3,7 +3,7 @@
3
3
  * Auto-detects the appropriate provider based on request URL/headers.
4
4
  */
5
5
  import type { LLMContentProvider } from "./types.js";
6
- export type { LLMContentProvider } from "./types.js";
6
+ export type { LLMContentProvider, ToolCallInfo, ToolResultMessage, } from "./types.js";
7
7
  export { OpenAIProvider } from "./openai.js";
8
8
  export { AnthropicProvider } from "./anthropic.js";
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GACrC,kBAAkB,CAoBpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,YAAY,EACV,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQnD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,GACrC,kBAAkB,CAoBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/proxy/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,yBAAyB;AACzB,MAAM,SAAS,GAAyB;IACtC,IAAI,cAAc,EAAE;IACpB,IAAI,iBAAiB,EAAE;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,OAAgB,EAChB,IAAsC;IAEtC,0DAA0D;IAC1D,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,OAAO,CAAC,IAAI,CACV,yCAAyC,GAAG,gCAAgC,CAC7E,CAAC;IACF,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/proxy/providers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAOnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,yBAAyB;AACzB,MAAM,SAAS,GAAyB;IACtC,IAAI,cAAc,EAAE;IACpB,IAAI,iBAAiB,EAAE;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,GAAW,EACX,OAAgB,EAChB,IAAsC;IAEtC,0DAA0D;IAC1D,IAAI,IAAI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACxD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,mCAAmC;IACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,OAAO,CAAC,IAAI,CACV,yCAAyC,GAAG,gCAAgC,CAC7E,CAAC;IACF,OAAO,SAAS,CAAC,CAAC,CAAE,CAAC;AACvB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * OpenAI Content Provider
3
3
  * Handles OpenAI Chat Completions API format.
4
4
  */
5
- import type { LLMContentProvider, ToolCallDelta } from "./types.js";
5
+ import type { LLMContentProvider, ToolCallDelta, ToolCallInfo, ToolResultMessage } from "./types.js";
6
6
  export declare class OpenAIProvider implements LLMContentProvider {
7
7
  readonly name = "openai";
8
8
  matchesRequest(url: string, headers: Headers): boolean;
@@ -17,5 +17,10 @@ export declare class OpenAIProvider implements LLMContentProvider {
17
17
  rebuildResponseToolCalls(body: unknown, rehydratedArgs: string[]): unknown;
18
18
  extractSSEToolCallDeltas(data: unknown): ToolCallDelta[] | null;
19
19
  rebuildSSEToolCallDeltas(data: unknown, rehydratedArgs: Map<number, string>): unknown;
20
+ hasResponseToolCalls(body: unknown): boolean;
21
+ extractResponseToolCallInfo(body: unknown): ToolCallInfo[];
22
+ extractMessages(body: unknown): unknown[];
23
+ buildToolLoopBody(originalBody: unknown, currentMessages: unknown[], assistantResponse: unknown, toolResults: ToolResultMessage[]): unknown;
24
+ injectSystemInstruction(body: unknown, instruction: string): unknown;
20
25
  }
21
26
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/proxy/providers/openai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAgEpE,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;CAaX"}
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"}
@@ -147,5 +147,58 @@ export class OpenAIProvider {
147
147
  }
148
148
  return chunk;
149
149
  }
150
+ // ── Tool execution loop methods ──────────────────────────────────
151
+ hasResponseToolCalls(body) {
152
+ const res = body;
153
+ if (!Array.isArray(res.choices))
154
+ return false;
155
+ return res.choices.some((c) => Array.isArray(c.message?.tool_calls) &&
156
+ c.message.tool_calls.length > 0);
157
+ }
158
+ extractResponseToolCallInfo(body) {
159
+ const res = body;
160
+ const infos = [];
161
+ for (const choice of res.choices ?? []) {
162
+ for (const tc of choice.message?.tool_calls ?? []) {
163
+ infos.push({
164
+ id: tc.id,
165
+ name: tc.function.name,
166
+ arguments: tc.function.arguments,
167
+ });
168
+ }
169
+ }
170
+ return infos;
171
+ }
172
+ extractMessages(body) {
173
+ const req = body;
174
+ return req.messages ?? [];
175
+ }
176
+ buildToolLoopBody(originalBody, currentMessages, assistantResponse, toolResults) {
177
+ const res = assistantResponse;
178
+ const assistantMsg = res.choices[0].message;
179
+ const newMessages = [
180
+ ...currentMessages,
181
+ assistantMsg,
182
+ ...toolResults.map((tr) => ({
183
+ role: "tool",
184
+ tool_call_id: tr.toolCallId,
185
+ content: tr.content,
186
+ })),
187
+ ];
188
+ return {
189
+ ...originalBody,
190
+ messages: newMessages,
191
+ stream: false,
192
+ };
193
+ }
194
+ injectSystemInstruction(body, instruction) {
195
+ const req = structuredClone(body);
196
+ // Prepend as the first system message
197
+ req.messages = [
198
+ { role: "system", content: instruction },
199
+ ...(req.messages ?? []),
200
+ ];
201
+ return req;
202
+ }
150
203
  }
151
204
  //# sourceMappingURL=openai.js.map
@@ -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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"}
@@ -2,6 +2,27 @@
2
2
  * LLM Content Provider Interface
3
3
  * Abstracts LLM-specific request/response formats for the proxy middleware.
4
4
  */
5
+ /**
6
+ * Structured tool call information extracted from a non-streaming response.
7
+ * Used by the tool execution loop to invoke user callbacks.
8
+ */
9
+ export interface ToolCallInfo {
10
+ /** Tool call ID (e.g., "call_abc123" for OpenAI, "toolu_01A..." for Anthropic) */
11
+ id: string;
12
+ /** Function/tool name */
13
+ name: string;
14
+ /** Raw arguments as JSON string (in anonymized form from LLM) */
15
+ arguments: string;
16
+ }
17
+ /**
18
+ * A tool result to be sent back to the LLM in the next round.
19
+ */
20
+ export interface ToolResultMessage {
21
+ /** The tool call ID this result corresponds to */
22
+ toolCallId: string;
23
+ /** The tool result content (JSON-stringified, anonymized) */
24
+ content: string;
25
+ }
5
26
  /**
6
27
  * A tool call argument fragment from an SSE chunk.
7
28
  * Keyed by index to support interleaved multi-tool streaming.
@@ -49,5 +70,37 @@ export interface LLMContentProvider {
49
70
  * Returns null if this event is not a tool call stop signal.
50
71
  */
51
72
  extractSSEToolCallStop?(data: unknown): number | null;
73
+ /**
74
+ * Check if a non-streaming response body contains tool calls that need execution.
75
+ * Returns true if the response has tool_calls (OpenAI) or tool_use blocks (Anthropic).
76
+ */
77
+ hasResponseToolCalls?(body: unknown): boolean;
78
+ /**
79
+ * Extract structured tool call information from a non-streaming response.
80
+ * Arguments are returned as raw JSON strings (in anonymized form from the LLM).
81
+ */
82
+ extractResponseToolCallInfo?(body: unknown): ToolCallInfo[];
83
+ /**
84
+ * Extract the messages array from a request body.
85
+ */
86
+ extractMessages?(body: unknown): unknown[];
87
+ /**
88
+ * Build the next-round request body for a tool execution loop.
89
+ * Appends the assistant's tool-call response and tool result messages
90
+ * to the current message array without re-anonymizing existing messages.
91
+ *
92
+ * @param originalBody - The original request body (used as template for non-message fields)
93
+ * @param currentMessages - The current (anonymized) messages array
94
+ * @param assistantResponse - The raw LLM response body containing tool calls
95
+ * @param toolResults - Tool results to append (already anonymized)
96
+ * @returns A new request body with updated messages and stream: false
97
+ */
98
+ buildToolLoopBody?(originalBody: unknown, currentMessages: unknown[], assistantResponse: unknown, toolResults: ToolResultMessage[]): unknown;
99
+ /**
100
+ * Inject a system-level instruction into the request body.
101
+ * Used to tell the model how to handle PII placeholders in tool calls.
102
+ * Returns a new body with the instruction prepended to the system prompt.
103
+ */
104
+ injectSystemInstruction?(body: unknown, instruction: string): unknown;
52
105
  }
53
106
  //# sourceMappingURL=types.d.ts.map
@@ -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,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;CACvD"}
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 +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;AAoBrD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,UAAU,CAAC,KAAK,CAuHzB"}
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;AAqBrD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,GACzB,OAAO,UAAU,CAAC,KAAK,CA+JzB"}
@@ -9,6 +9,7 @@ import { rehydrate } from "../pipeline/tagger.js";
9
9
  import { AnonymizerSessionImpl } from "../storage/session.js";
10
10
  import { SSEParser, isSSEDone, serializeSSEEvent } from "./sse-parser.js";
11
11
  import { detectProvider } from "./providers/index.js";
12
+ import { DEFAULT_PII_SYSTEM_INSTRUCTION } from "./system-instruction.js";
12
13
  let sessionCounter = 0;
13
14
  function defaultGetSessionId() {
14
15
  return `rehydra-proxy-${Date.now()}-${++sessionCounter}`;
@@ -99,12 +100,26 @@ export function createRehydraFetch(config) {
99
100
  // Extract and anonymize text from the request
100
101
  const texts = provider.extractRequestText(body);
101
102
  const anonymizedTexts = [];
102
- for (const text of texts) {
103
- const result = await session.anonymize(text, config.locale, config.policy);
103
+ let piiDetected = false;
104
+ for (let i = 0; i < texts.length; i++) {
105
+ const result = await session.anonymize(texts[i], config.locale, config.policy);
104
106
  anonymizedTexts.push(result.anonymizedText);
107
+ if (result.anonymizedText !== texts[i]) {
108
+ piiDetected = true;
109
+ }
105
110
  }
106
111
  // Rebuild the request body with anonymized text
107
- const anonymizedBody = provider.rebuildRequestBody(body, anonymizedTexts);
112
+ let anonymizedBody = provider.rebuildRequestBody(body, anonymizedTexts);
113
+ // Inject PII handling instruction when anonymization replaced something.
114
+ // Can be disabled with systemInstruction: false, or overridden with a custom string.
115
+ if (piiDetected &&
116
+ config.systemInstruction !== false &&
117
+ provider.injectSystemInstruction !== undefined) {
118
+ const instruction = typeof config.systemInstruction === "string"
119
+ ? config.systemInstruction
120
+ : DEFAULT_PII_SYSTEM_INSTRUCTION;
121
+ anonymizedBody = provider.injectSystemInstruction(anonymizedBody, instruction);
122
+ }
108
123
  // Forward the anonymized request
109
124
  const upstreamRequest = new Request(request, {
110
125
  body: JSON.stringify(anonymizedBody),
@@ -126,6 +141,15 @@ export function createRehydraFetch(config) {
126
141
  if (isSSE && response.body !== null) {
127
142
  return rehydrateSSEResponse(response, session, provider, config);
128
143
  }
144
+ // Tool execution loop: when onToolCall is configured and provider
145
+ // supports it, intercept tool call responses and run them server-side
146
+ if (config.onToolCall !== undefined &&
147
+ provider.hasResponseToolCalls !== undefined &&
148
+ provider.extractResponseToolCallInfo !== undefined &&
149
+ provider.extractMessages !== undefined &&
150
+ provider.buildToolLoopBody !== undefined) {
151
+ return await handleToolLoop(response, anonymizedBody, session, provider, config, request);
152
+ }
129
153
  return rehydrateJSONResponse(response, session, provider);
130
154
  }
131
155
  catch (err) {
@@ -152,6 +176,12 @@ async function rehydrateJSONResponse(response, session, provider) {
152
176
  headers: response.headers,
153
177
  });
154
178
  }
179
+ return rehydrateJSONResponseFromBody(body, response, session, provider);
180
+ }
181
+ /**
182
+ * Rehydrate a pre-parsed JSON response body.
183
+ */
184
+ async function rehydrateJSONResponseFromBody(body, response, session, provider) {
155
185
  // Extract response text and rehydrate
156
186
  const responseTexts = provider.extractResponseText(body);
157
187
  const rehydratedTexts = [];
@@ -180,6 +210,126 @@ async function rehydrateJSONResponse(response, session, provider) {
180
210
  headers: response.headers,
181
211
  });
182
212
  }
213
+ /**
214
+ * Handle multi-round tool execution loop.
215
+ *
216
+ * When the LLM returns tool calls, this function:
217
+ * 1. Rehydrates tool call arguments (restores real PII)
218
+ * 2. Calls the user's onToolCall callback for each tool call
219
+ * 3. Anonymizes the result
220
+ * 4. Appends assistant + tool result messages to the conversation
221
+ * 5. Sends the next request (without re-anonymizing existing messages)
222
+ * 6. Repeats until the LLM returns a final response or maxToolRounds is hit
223
+ */
224
+ async function handleToolLoop(initialResponse, anonymizedBody, session, provider, config, originalRequest) {
225
+ const maxRounds = config.maxToolRounds ?? 10;
226
+ // Parse the initial response
227
+ const rawText = await initialResponse.text();
228
+ let currentResponse;
229
+ try {
230
+ currentResponse = JSON.parse(rawText);
231
+ }
232
+ catch {
233
+ return new Response(rawText, {
234
+ status: initialResponse.status,
235
+ statusText: initialResponse.statusText,
236
+ headers: initialResponse.headers,
237
+ });
238
+ }
239
+ // If the first response doesn't have tool calls, just rehydrate normally
240
+ if (!provider.hasResponseToolCalls(currentResponse)) {
241
+ return rehydrateJSONResponseFromBody(currentResponse, initialResponse, session, provider);
242
+ }
243
+ // Track the anonymized messages array across rounds
244
+ let currentMessages = provider.extractMessages(anonymizedBody);
245
+ let lastUpstreamResponse = initialResponse;
246
+ let round = 0;
247
+ while (round < maxRounds &&
248
+ provider.hasResponseToolCalls(currentResponse)) {
249
+ round++;
250
+ // Extract tool call details (arguments are still in anonymized form)
251
+ const toolCallInfos = provider.extractResponseToolCallInfo(currentResponse);
252
+ // Rehydrate arguments and invoke the user's callback
253
+ const toolResults = [];
254
+ for (const tc of toolCallInfos) {
255
+ // Rehydrate the arguments string to restore real PII
256
+ const rehydratedArgsStr = await session.rehydrate(tc.arguments);
257
+ let parsedArgs;
258
+ try {
259
+ parsedArgs = JSON.parse(rehydratedArgsStr);
260
+ }
261
+ catch {
262
+ parsedArgs = { raw: rehydratedArgsStr };
263
+ }
264
+ // Call the user's tool handler with real PII
265
+ const result = await config.onToolCall(tc.name, parsedArgs, tc.id);
266
+ // Anonymize the result using the same session (maintains PII ID continuity)
267
+ const anonymizedResult = await session.anonymizeJson(result);
268
+ toolResults.push({
269
+ toolCallId: tc.id,
270
+ content: typeof anonymizedResult === "string"
271
+ ? anonymizedResult
272
+ : JSON.stringify(anonymizedResult),
273
+ });
274
+ }
275
+ // Anonymize the assistant's tool call arguments before appending.
276
+ // The LLM may have generated real-looking PII in tool_use inputs
277
+ // instead of echoing back the PII tags it received.
278
+ let sanitizedResponse = currentResponse;
279
+ if (provider.extractResponseToolCalls !== undefined &&
280
+ provider.rebuildResponseToolCalls !== undefined) {
281
+ const rawArgs = provider.extractResponseToolCalls(currentResponse);
282
+ if (rawArgs.length > 0) {
283
+ const anonymizedArgs = [];
284
+ for (const arg of rawArgs) {
285
+ let parsed;
286
+ try {
287
+ parsed = JSON.parse(arg);
288
+ }
289
+ catch {
290
+ parsed = arg;
291
+ }
292
+ const anonymized = await session.anonymizeJson(parsed);
293
+ anonymizedArgs.push(typeof anonymized === "string"
294
+ ? anonymized
295
+ : JSON.stringify(anonymized));
296
+ }
297
+ sanitizedResponse = provider.rebuildResponseToolCalls(currentResponse, anonymizedArgs);
298
+ }
299
+ }
300
+ // Build the next request body (no re-anonymization — messages are already anonymized)
301
+ const nextBody = provider.buildToolLoopBody(anonymizedBody, currentMessages, sanitizedResponse, toolResults);
302
+ // Update message array for next round
303
+ currentMessages = provider.extractMessages(nextBody);
304
+ // Send the next request to the LLM
305
+ const nextRequest = new Request(originalRequest, {
306
+ body: JSON.stringify(nextBody),
307
+ });
308
+ let nextResponse;
309
+ try {
310
+ nextResponse = await fetch(nextRequest);
311
+ }
312
+ catch (err) {
313
+ const msg = err instanceof Error ? err.message : "Upstream request failed";
314
+ return errorResponse(502, `Upstream LLM unreachable: ${msg}`);
315
+ }
316
+ lastUpstreamResponse = nextResponse;
317
+ // Parse the new response
318
+ const nextRawText = await nextResponse.text();
319
+ try {
320
+ currentResponse = JSON.parse(nextRawText);
321
+ }
322
+ catch {
323
+ return new Response(nextRawText, {
324
+ status: nextResponse.status,
325
+ statusText: nextResponse.statusText,
326
+ headers: nextResponse.headers,
327
+ });
328
+ }
329
+ }
330
+ // Rehydrate and return the final response
331
+ return rehydrateJSONResponseFromBody(currentResponse, lastUpstreamResponse, session, provider);
332
+ }
183
333
  /**
184
334
  * Rehydrate a streaming SSE response.
185
335
  * Returns a new Response with a transformed body stream.
@@ -1 +1 @@
1
- {"version":3,"file":"rehydra-fetch.js","sourceRoot":"","sources":["../../src/proxy/rehydra-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rehydra-fetch.js","sourceRoot":"","sources":["../../src/proxy/rehydra-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Default system instruction for PII placeholder handling.
3
+ *
4
+ * Injected into the system prompt when anonymization produces PII replacements,
5
+ * telling the model to treat PII placeholders as opaque pass-through values.
6
+ *
7
+ * Shared between the proxy layer and the OpenCode plugin.
8
+ */
9
+ export declare const DEFAULT_PII_SYSTEM_INSTRUCTION: string;
10
+ //# sourceMappingURL=system-instruction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-instruction.d.ts","sourceRoot":"","sources":["../../src/proxy/system-instruction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,QAShC,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Default system instruction for PII placeholder handling.
3
+ *
4
+ * Injected into the system prompt when anonymization produces PII replacements,
5
+ * telling the model to treat PII placeholders as opaque pass-through values.
6
+ *
7
+ * Shared between the proxy layer and the OpenCode plugin.
8
+ */
9
+ export const DEFAULT_PII_SYSTEM_INSTRUCTION = [
10
+ "Some values in this conversation have been replaced with PII placeholders like <PII type=\"...\" id=\"...\"/>.",
11
+ "These are real values that have been masked for privacy during transit.",
12
+ "They will be automatically rehydrated (replaced with the original values) before any command is executed locally.",
13
+ "IMPORTANT: Treat these placeholders exactly like real values.",
14
+ "Do NOT try to resolve, decode, remove, or work around them.",
15
+ "Use them as-is in commands, code, and tool calls.",
16
+ "For example, if a user message contains <PII type=\"EMAIL\" id=\"1\"/>, pass that exact placeholder as the email argument in any tool call.",
17
+ "The rehydration layer handles the rest.",
18
+ ].join(" ");
19
+ //# sourceMappingURL=system-instruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-instruction.js","sourceRoot":"","sources":["../../src/proxy/system-instruction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,gHAAgH;IAChH,yEAAyE;IACzE,mHAAmH;IACnH,+DAA+D;IAC/D,6DAA6D;IAC7D,mDAAmD;IACnD,6IAA6I;IAC7I,yCAAyC;CAC1C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -5,6 +5,17 @@ import type { AnonymizerConfig } from "../core/anonymizer.js";
5
5
  import type { AnonymizationPolicy } from "../types/index.js";
6
6
  import type { KeyProvider } from "../crypto/index.js";
7
7
  import type { PIIStorageProvider } from "../storage/types.js";
8
+ /**
9
+ * Callback invoked when the LLM requests a tool call during an agentic loop.
10
+ * Receives rehydrated (real PII) arguments. The return value will be
11
+ * automatically anonymized before being sent back to the LLM.
12
+ *
13
+ * @param name - The function/tool name
14
+ * @param args - Parsed tool arguments with real PII values restored
15
+ * @param toolCallId - The unique tool call ID from the LLM
16
+ * @returns The tool execution result (will be JSON-stringified and anonymized)
17
+ */
18
+ export type OnToolCallFn = (name: string, args: Record<string, unknown>, toolCallId: string) => unknown;
8
19
  /**
9
20
  * Configuration for the Rehydra fetch wrapper
10
21
  */
@@ -31,6 +42,34 @@ export interface RehydraFetchConfig {
31
42
  handleStreaming?: boolean;
32
43
  /** Locale hint for anonymization */
33
44
  locale?: string;
45
+ /**
46
+ * System instruction injected when PII is detected, telling the model
47
+ * to treat PII placeholders as opaque pass-through values.
48
+ *
49
+ * - `undefined` (default): uses the built-in instruction
50
+ * - `string`: uses your custom instruction text
51
+ * - `false`: disables injection entirely
52
+ */
53
+ systemInstruction?: string | false;
54
+ /**
55
+ * Callback for executing tool calls in an agentic loop.
56
+ * When provided and the LLM returns tool calls (non-streaming), the proxy will:
57
+ * 1. Rehydrate tool call arguments (restore real PII)
58
+ * 2. Call this callback for each tool call
59
+ * 3. Anonymize the return value
60
+ * 4. Send the result back to the LLM in the next round
61
+ * 5. Repeat until the LLM returns a final response (no tool calls)
62
+ *
63
+ * The callback receives real PII values — it runs on your server, not the LLM.
64
+ * Non-streaming only (streaming tool loops are not yet supported).
65
+ */
66
+ onToolCall?: OnToolCallFn;
67
+ /**
68
+ * Maximum number of tool execution rounds before returning.
69
+ * Prevents infinite loops. Only used when onToolCall is set.
70
+ * @default 10
71
+ */
72
+ maxToolRounds?: number;
34
73
  }
35
74
  /**
36
75
  * Configuration for the Rehydra proxy middleware
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,WAAW,EAAE,WAAW,CAAC;IAEzB,0DAA0D;IAC1D,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAE3C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/proxy/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,KACf,OAAO,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B,sBAAsB;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEtC,6CAA6C;IAC7C,WAAW,EAAE,WAAW,CAAC;IAEzB,0DAA0D;IAC1D,kBAAkB,EAAE,kBAAkB,CAAC;IAEvC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;IAE3C;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9D;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAEnC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC;IAE1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC5D,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -24,6 +24,8 @@ export declare class AnonymizerSessionImpl implements AnonymizerSession {
24
24
  constructor(anonymizer: IAnonymizer, sessionId: string, storage: PIIStorageProvider, keyProvider: KeyProvider);
25
25
  anonymize(text: string, locale?: string, policy?: Partial<AnonymizationPolicy>): Promise<AnonymizationResult>;
26
26
  rehydrate(text: string): Promise<string>;
27
+ anonymizeJson<T>(value: T, locale?: string, policy?: Partial<AnonymizationPolicy>): Promise<T>;
28
+ rehydrateJson<T>(value: T): Promise<T>;
27
29
  load(): Promise<StoredPIIMap | null>;
28
30
  delete(): Promise<boolean>;
29
31
  exists(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-base.d.ts","sourceRoot":"","sources":["../../src/storage/session-base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACrC,cAAc,CAAC,EAAE,SAAS,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAI3D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB;IAC9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAN7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGN,UAAU,EAAE,WAAW,EAC1C,SAAS,EAAE,MAAM,EACE,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW;IAKvC,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAuFzB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxC,IAAI,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIpC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGjC"}
1
+ {"version":3,"file":"session-base.d.ts","sourceRoot":"","sources":["../../src/storage/session-base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,EACrC,cAAc,CAAC,EAAE,SAAS,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,qBAAsB,YAAW,iBAAiB;IAI3D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB;IAC9C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAN7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGN,UAAU,EAAE,WAAW,EAC1C,SAAS,EAAE,MAAM,EACE,OAAO,EAAE,kBAAkB,EAC3B,WAAW,EAAE,WAAW;IAKvC,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC;IAuFzB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBxC,aAAa,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,EACR,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,CAAC,CAAC;IAOP,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAItC,IAAI,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAIpC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAI1B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAGjC"}
@@ -3,6 +3,7 @@
3
3
  * Browser-safe session wrapper for automatic PII map storage.
4
4
  * Does NOT include createStream() to avoid pulling in node:stream.
5
5
  */
6
+ import { walkJson } from "../utils/json-walk.js";
6
7
  import { decryptPIIMap, encryptPIIMap } from "../crypto/index.js";
7
8
  import { rehydrate as rehydrateText } from "../pipeline/tagger.js";
8
9
  /**
@@ -99,6 +100,15 @@ export class AnonymizerSessionImpl {
99
100
  // Rehydrate the text
100
101
  return rehydrateText(text, piiMap);
101
102
  }
103
+ async anonymizeJson(value, locale, policy) {
104
+ return walkJson(value, async (s) => {
105
+ const result = await this.anonymize(s, locale, policy);
106
+ return result.anonymizedText;
107
+ });
108
+ }
109
+ async rehydrateJson(value) {
110
+ return walkJson(value, (s) => this.rehydrate(s));
111
+ }
102
112
  async load() {
103
113
  return this.storage.load(this.sessionId);
104
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session-base.js","sourceRoot":"","sources":["../../src/storage/session-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-base.js","sourceRoot":"","sources":["../../src/storage/session-base.ts"],"names":[],"mappings":"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"}
@@ -151,6 +151,43 @@ export interface AnonymizerSession {
151
151
  * @returns true if exists, false otherwise
152
152
  */
153
153
  exists(): Promise<boolean>;
154
+ /**
155
+ * Recursively anonymize all string values in a JSON-serializable structure.
156
+ * Returns a deep copy with every string leaf anonymized via session.anonymize().
157
+ *
158
+ * Useful for anonymizing tool call results or arbitrary JSON payloads
159
+ * in multi-round LLM tool execution loops.
160
+ *
161
+ * @param value - Any JSON-serializable value (object, array, string, number, boolean, null)
162
+ * @param locale - Optional locale hint (e.g., 'de-DE', 'en-US')
163
+ * @param policy - Optional policy override
164
+ * @returns Deep copy with all strings anonymized
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * const result = await session.anonymizeJson({
169
+ * name: "John Smith",
170
+ * email: "john@example.com",
171
+ * age: 30,
172
+ * });
173
+ * // { name: '<PII type="PERSON" id="1"/>', email: '<PII type="EMAIL" id="2"/>', age: 30 }
174
+ * ```
175
+ */
176
+ anonymizeJson<T>(value: T, locale?: string, policy?: Partial<AnonymizationPolicy>): Promise<T>;
177
+ /**
178
+ * Recursively rehydrate all string values in a JSON-serializable structure.
179
+ * Returns a deep copy with every string leaf rehydrated via session.rehydrate().
180
+ *
181
+ * @param value - Any JSON-serializable value
182
+ * @returns Deep copy with all strings rehydrated (PII tags replaced with original values)
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * const original = await session.rehydrateJson(anonymizedResult);
187
+ * // { name: "John Smith", email: "john@example.com", age: 30 }
188
+ * ```
189
+ */
190
+ rehydrateJson<T>(value: T): Promise<T>;
154
191
  /**
155
192
  * Create a streaming anonymizer bound to this session.
156
193
  * The stream automatically uses this session's ID, storage, and key provider.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,MAAM,EAAE,eAAe,CAAC;IACxB,0BAA0B;IAC1B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,IAAI,CACF,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;OAIG;IACH,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAE3D;;;;OAIG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD;;;;OAIG;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;;;;;OAMG;IACH,SAAS,CACP,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACpC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhC;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzC;;;OAGG;IACH,IAAI,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAErC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;CAClF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Recursive JSON Walker
3
+ * Walks a JSON-serializable value and transforms all string leaves.
4
+ */
5
+ /**
6
+ * Async function that transforms a string value.
7
+ */
8
+ export type StringProcessor = (s: string) => Promise<string>;
9
+ /**
10
+ * Recursively walks a JSON-serializable value and applies a string processor
11
+ * to every string leaf. Returns a deep copy with all strings transformed.
12
+ *
13
+ * Strings are processed **sequentially** to ensure deterministic PII ID
14
+ * assignment when used with session.anonymize().
15
+ *
16
+ * @param value - Any JSON-serializable value (object, array, string, number, boolean, null)
17
+ * @param processString - Async function to transform each string leaf
18
+ * @returns Deep copy of the value with all strings transformed
19
+ */
20
+ export declare function walkJson<T>(value: T, processString: StringProcessor): Promise<T>;
21
+ //# sourceMappingURL=json-walk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-walk.d.ts","sourceRoot":"","sources":["../../src/utils/json-walk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,KAAK,EAAE,CAAC,EACR,aAAa,EAAE,eAAe,GAC7B,OAAO,CAAC,CAAC,CAAC,CAkCZ"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Recursive JSON Walker
3
+ * Walks a JSON-serializable value and transforms all string leaves.
4
+ */
5
+ /**
6
+ * Recursively walks a JSON-serializable value and applies a string processor
7
+ * to every string leaf. Returns a deep copy with all strings transformed.
8
+ *
9
+ * Strings are processed **sequentially** to ensure deterministic PII ID
10
+ * assignment when used with session.anonymize().
11
+ *
12
+ * @param value - Any JSON-serializable value (object, array, string, number, boolean, null)
13
+ * @param processString - Async function to transform each string leaf
14
+ * @returns Deep copy of the value with all strings transformed
15
+ */
16
+ export async function walkJson(value, processString) {
17
+ // null
18
+ if (value === null || value === undefined) {
19
+ return value;
20
+ }
21
+ // string — process it
22
+ if (typeof value === "string") {
23
+ return (await processString(value));
24
+ }
25
+ // non-object primitives (number, boolean) — pass through
26
+ if (typeof value !== "object") {
27
+ return value;
28
+ }
29
+ // array — walk each element sequentially
30
+ if (Array.isArray(value)) {
31
+ const result = [];
32
+ for (const item of value) {
33
+ result.push(await walkJson(item, processString));
34
+ }
35
+ return result;
36
+ }
37
+ // plain object — walk each own enumerable property sequentially
38
+ const result = {};
39
+ for (const key of Object.keys(value)) {
40
+ result[key] = await walkJson(value[key], processString);
41
+ }
42
+ return result;
43
+ }
44
+ //# sourceMappingURL=json-walk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-walk.js","sourceRoot":"","sources":["../../src/utils/json-walk.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,KAAQ,EACR,aAA8B;IAE9B,OAAO;IACP,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sBAAsB;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,aAAa,CAAC,KAAK,CAAC,CAAM,CAAC;IAC3C,CAAC;IAED,yDAAyD;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,gEAAgE;IAChE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CACzB,KAAiC,CAAC,GAAG,CAAC,EACvC,aAAa,CACd,CAAC;IACJ,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rehydra",
3
- "version": "0.6.5",
3
+ "version": "0.7.0",
4
4
  "description": "On-device PII anonymization module for high-privacy AI workflows",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -143,4 +143,4 @@
143
143
  "engines": {
144
144
  "node": ">=18.0.0"
145
145
  }
146
- }
146
+ }