rehydra 0.6.5 → 0.8.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 (56) hide show
  1. package/README.md +40 -3
  2. package/dist/cli/commands/proxy.d.ts +3 -0
  3. package/dist/cli/commands/proxy.d.ts.map +1 -0
  4. package/dist/cli/commands/proxy.js +257 -0
  5. package/dist/cli/commands/proxy.js.map +1 -0
  6. package/dist/cli/main.d.ts +3 -0
  7. package/dist/cli/main.d.ts.map +1 -1
  8. package/dist/cli/main.js +29 -5
  9. package/dist/cli/main.js.map +1 -1
  10. package/dist/opencode-plugin/plugin.d.ts.map +1 -1
  11. package/dist/opencode-plugin/plugin.js +2 -4
  12. package/dist/opencode-plugin/plugin.js.map +1 -1
  13. package/dist/proxy/index.d.ts +3 -2
  14. package/dist/proxy/index.d.ts.map +1 -1
  15. package/dist/proxy/index.js +2 -1
  16. package/dist/proxy/index.js.map +1 -1
  17. package/dist/proxy/providers/anthropic.d.ts +6 -1
  18. package/dist/proxy/providers/anthropic.d.ts.map +1 -1
  19. package/dist/proxy/providers/anthropic.js +91 -0
  20. package/dist/proxy/providers/anthropic.js.map +1 -1
  21. package/dist/proxy/providers/index.d.ts +1 -1
  22. package/dist/proxy/providers/index.d.ts.map +1 -1
  23. package/dist/proxy/providers/index.js.map +1 -1
  24. package/dist/proxy/providers/openai.d.ts +6 -1
  25. package/dist/proxy/providers/openai.d.ts.map +1 -1
  26. package/dist/proxy/providers/openai.js +53 -0
  27. package/dist/proxy/providers/openai.js.map +1 -1
  28. package/dist/proxy/providers/types.d.ts +53 -0
  29. package/dist/proxy/providers/types.d.ts.map +1 -1
  30. package/dist/proxy/proxy-server.d.ts +9 -1
  31. package/dist/proxy/proxy-server.d.ts.map +1 -1
  32. package/dist/proxy/proxy-server.js +2 -2
  33. package/dist/proxy/proxy-server.js.map +1 -1
  34. package/dist/proxy/rehydra-fetch.d.ts.map +1 -1
  35. package/dist/proxy/rehydra-fetch.js +163 -4
  36. package/dist/proxy/rehydra-fetch.js.map +1 -1
  37. package/dist/proxy/rehydra-proxy.d.ts.map +1 -1
  38. package/dist/proxy/rehydra-proxy.js +22 -0
  39. package/dist/proxy/rehydra-proxy.js.map +1 -1
  40. package/dist/proxy/system-instruction.d.ts +10 -0
  41. package/dist/proxy/system-instruction.d.ts.map +1 -0
  42. package/dist/proxy/system-instruction.js +19 -0
  43. package/dist/proxy/system-instruction.js.map +1 -0
  44. package/dist/proxy/types.d.ts +48 -0
  45. package/dist/proxy/types.d.ts.map +1 -1
  46. package/dist/storage/session-base.d.ts +2 -0
  47. package/dist/storage/session-base.d.ts.map +1 -1
  48. package/dist/storage/session-base.js +10 -0
  49. package/dist/storage/session-base.js.map +1 -1
  50. package/dist/storage/types.d.ts +37 -0
  51. package/dist/storage/types.d.ts.map +1 -1
  52. package/dist/utils/json-walk.d.ts +21 -0
  53. package/dist/utils/json-walk.d.ts.map +1 -0
  54. package/dist/utils/json-walk.js +44 -0
  55. package/dist/utils/json-walk.js.map +1 -0
  56. package/package.json +2 -2
package/README.md CHANGED
@@ -29,6 +29,33 @@
29
29
 
30
30
  ## Quick Start
31
31
 
32
+ ### Proxy — protect your AI coding tools
33
+
34
+ Run a local proxy that anonymizes PII before it reaches the LLM and rehydrates responses. Works with Claude Code, Cursor, and any OpenAI/Anthropic-compatible client.
35
+
36
+ ```bash
37
+ npx @rehydra/cli proxy claude --api-key sk-ant-...
38
+ ```
39
+
40
+ ```
41
+ rehydra proxy
42
+
43
+ Provider anthropic (https://api.anthropic.com)
44
+ Listening http://127.0.0.1:8787
45
+ NER quantized
46
+
47
+ Configure your tools:
48
+
49
+ Claude Code
50
+ ANTHROPIC_BASE_URL=http://127.0.0.1:8787 claude
51
+ ```
52
+
53
+ Names, emails, phone numbers, and other PII are replaced with placeholders in transit. Tool results (file reads, bash output) are anonymized. Tool call arguments (file writes, bash commands) are rehydrated. The LLM never sees real PII.
54
+
55
+ > **Note:** The proxy requires an [Anthropic API key](https://console.anthropic.com/settings/keys). Claude Max/Pro subscriptions use OAuth which `api.anthropic.com` does not support through proxies.
56
+
57
+ ### Library — embed PII anonymization in your app
58
+
32
59
  ```typescript
33
60
  import { anonymize } from 'rehydra';
34
61
 
@@ -40,10 +67,22 @@ const { anonymizedText } = await anonymize(
40
67
 
41
68
  Works in **Node.js**, **Bun**, and **browsers**. No data leaves your machine.
42
69
 
70
+ ### OpenCode plugin — scrub secrets from your coding agent
71
+
72
+ ```bash
73
+ npm install @rehydra/opencode
74
+ ```
75
+
76
+ ```json
77
+ { "plugin": ["@rehydra/opencode"] }
78
+ ```
79
+
80
+ Intercepts the conversation between [OpenCode](https://github.com/sst/opencode) and the LLM. Secrets from `.env` files are replaced with placeholders before they leave your machine and restored before tools execute.
81
+
43
82
  ## Features
44
83
 
45
84
  - **Regex + NER detection** — emails, phones, IBANs, credit cards, names, orgs, locations, and more
46
- - **LLM Proxy** — drop-in `fetch` wrapper or standalone proxy server for OpenAI, Anthropic, and compatible APIs
85
+ - **LLM Proxy** — CLI proxy or drop-in `fetch` wrapper for OpenAI, Anthropic, and compatible APIs
47
86
  - **Streaming** — Transform stream with low-latency mode for real-time LLM token streams
48
87
  - **Sessions** — consistent PII IDs across multi-message conversations with persistent storage
49
88
  - **Encryption** — AES-256-GCM via Web Crypto API
@@ -54,8 +93,6 @@ Works in **Node.js**, **Bun**, and **browsers**. No data leaves your machine.
54
93
  ```typescript
55
94
  import {
56
95
  createAnonymizer,
57
- decryptPIIMap,
58
- rehydrate,
59
96
  InMemoryKeyProvider,
60
97
  SQLitePIIStorageProvider,
61
98
  } from 'rehydra';
@@ -0,0 +1,3 @@
1
+ import type { ParsedOptions } from "../main.js";
2
+ export declare function proxyCommand(provider: string | undefined, options: ParsedOptions): Promise<number>;
3
+ //# sourceMappingURL=proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/proxy.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA2DhD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,CAuLjB"}
@@ -0,0 +1,257 @@
1
+ import { createServer } from "node:http";
2
+ import { PIIType, mergePolicy, generateKey, uint8ArrayToBase64, ConfigKeyProvider, InMemoryPIIStorageProvider, isModelDownloaded, downloadModel, } from "../../index.js";
3
+ import { SECRET_PII_TYPES } from "../../types/pii-types.js";
4
+ import { createRehydraProxy, incomingMessageToRequest, writeResponse, } from "../../proxy/index.js";
5
+ import { CLIError } from "../utils/errors.js";
6
+ import { bold, dim, cyan, green, yellow } from "../utils/color.js";
7
+ import { formatProgress, writeProgress, clearProgress } from "../utils/progress.js";
8
+ const PROVIDER_UPSTREAMS = {
9
+ openai: "https://api.openai.com",
10
+ anthropic: "https://api.anthropic.com",
11
+ claude: "https://api.anthropic.com",
12
+ };
13
+ const PROVIDER_CANONICAL = {
14
+ openai: "openai",
15
+ anthropic: "anthropic",
16
+ claude: "anthropic",
17
+ };
18
+ function getConnectionHints(provider, baseUrl, hasApiKey) {
19
+ const lines = [];
20
+ if (provider === "anthropic") {
21
+ if (hasApiKey) {
22
+ lines.push(` ${bold("Claude Code")}`, ` ANTHROPIC_BASE_URL=${baseUrl} claude`);
23
+ }
24
+ else {
25
+ lines.push(` ${bold("Claude Code")} ${dim("(requires --api-key)")}`, ` ANTHROPIC_BASE_URL=${baseUrl} claude`);
26
+ }
27
+ lines.push("", ` ${bold("Cursor")}`, ` Settings ${dim("→")} Models ${dim("→")} Anthropic ${dim("→")} Override Base URL`, ` ${dim(baseUrl)}`);
28
+ }
29
+ else {
30
+ lines.push(` ${bold("Environment variable")}`, ` export OPENAI_BASE_URL=${baseUrl}/v1`, "", ` ${bold("Cursor")}`, ` Settings ${dim("→")} Models ${dim("→")} OpenAI ${dim("→")} Override Base URL`, ` ${dim(baseUrl + "/v1")}`, "", ` ${bold("OpenAI SDK")}`, ` ${dim(`new OpenAI({ baseURL: "${baseUrl}/v1" })`)}`);
31
+ }
32
+ return lines.join("\n");
33
+ }
34
+ export async function proxyCommand(provider, options) {
35
+ if (provider === undefined) {
36
+ throw new CLIError("Missing provider argument.\n\n" +
37
+ "Usage: rehydra proxy <provider>\n\n" +
38
+ "Providers:\n" +
39
+ " openai OpenAI API\n" +
40
+ " anthropic Anthropic API\n" +
41
+ " claude Alias for anthropic");
42
+ }
43
+ const providerLower = provider.toLowerCase();
44
+ const canonical = PROVIDER_CANONICAL[providerLower];
45
+ if (canonical === undefined) {
46
+ throw new CLIError(`Unknown provider: ${provider}\nSupported: openai, anthropic, claude`);
47
+ }
48
+ const upstream = options.upstream ?? PROVIDER_UPSTREAMS[providerLower];
49
+ const port = parseInt(options.port ?? "8787", 10);
50
+ const host = "127.0.0.1";
51
+ if (isNaN(port) || port < 1 || port > 65535) {
52
+ throw new CLIError(`Invalid port: ${options.port}`);
53
+ }
54
+ // Key setup
55
+ const envKey = process.env["REHYDRA_KEY"];
56
+ const flagKey = options.key;
57
+ const externalKey = flagKey ?? envKey;
58
+ let keyProvider;
59
+ if (externalKey !== undefined) {
60
+ keyProvider = new ConfigKeyProvider(externalKey);
61
+ }
62
+ else {
63
+ const keyBytes = generateKey();
64
+ keyProvider = new ConfigKeyProvider(uint8ArrayToBase64(keyBytes));
65
+ }
66
+ const storage = new InMemoryPIIStorageProvider();
67
+ const nerMode = validateNerMode(options.ner);
68
+ // Policy
69
+ let policy;
70
+ if (options.types !== undefined) {
71
+ const enabledTypes = parseTypes(options.types);
72
+ const policyPartial = { enabledTypes };
73
+ if (options.secrets) {
74
+ const regexEnabledTypes = new Set(enabledTypes);
75
+ for (const t of SECRET_PII_TYPES) {
76
+ enabledTypes.add(t);
77
+ regexEnabledTypes.add(t);
78
+ }
79
+ policyPartial.regexEnabledTypes = regexEnabledTypes;
80
+ }
81
+ policy = mergePolicy(policyPartial);
82
+ }
83
+ // LLM API key — from --api-key flag or LLM_API_KEY env var
84
+ const llmApiKey = options["api-key"] ?? process.env["LLM_API_KEY"];
85
+ // Build shared proxy config (without NER initially)
86
+ const baseProxyConfig = {
87
+ upstream,
88
+ provider: canonical,
89
+ keyProvider,
90
+ piiStorageProvider: storage,
91
+ anonymizer: {
92
+ ...(options.secrets ? { secrets: { enabled: true } } : {}),
93
+ },
94
+ policy,
95
+ locale: options.locale,
96
+ apiKey: llmApiKey,
97
+ };
98
+ // Start with regex-only proxy (instant startup)
99
+ let handler = createRehydraProxy(baseProxyConfig);
100
+ // Create HTTP server with swappable handler
101
+ const server = createServer((req, res) => {
102
+ void (async () => {
103
+ try {
104
+ const webRequest = incomingMessageToRequest(req, host, port);
105
+ const webResponse = await handler(webRequest);
106
+ await writeResponse(res, webResponse);
107
+ }
108
+ catch (error) {
109
+ res.writeHead(502, { "Content-Type": "application/json" });
110
+ res.end(JSON.stringify({
111
+ error: "proxy_error",
112
+ message: error instanceof Error ? error.message : "Unknown proxy error",
113
+ }));
114
+ }
115
+ })();
116
+ });
117
+ await new Promise((resolve, reject) => {
118
+ server.on("error", reject);
119
+ server.listen(port, host, () => {
120
+ resolve();
121
+ });
122
+ });
123
+ // Print startup banner
124
+ const baseUrl = `http://${host}:${port}`;
125
+ const nerEnabled = nerMode !== "disabled";
126
+ let linesAfterNer = 0;
127
+ if (!options.quiet) {
128
+ const nerLine = ` NER ${nerEnabled ? yellow("loading...") : dim("disabled")}`;
129
+ const bannerBottom = [
130
+ ...(llmApiKey !== undefined ? [` API key ${green("configured")}`] : []),
131
+ ...(options.secrets ? [` Secrets ${green("enabled")}`] : []),
132
+ "",
133
+ ` ${bold("Configure your tools:")}`,
134
+ "",
135
+ getConnectionHints(canonical, baseUrl, llmApiKey !== undefined),
136
+ "",
137
+ ` ${dim("Ctrl+C to stop")}`,
138
+ "",
139
+ ];
140
+ const banner = [
141
+ "",
142
+ ` ${bold("rehydra proxy")}`,
143
+ "",
144
+ ` Provider ${cyan(canonical)} ${dim(`(${upstream})`)}`,
145
+ ` Listening ${green(baseUrl)}`,
146
+ nerLine,
147
+ ...bannerBottom,
148
+ ].join("\n");
149
+ process.stderr.write(banner);
150
+ // Count lines after NER line for in-place cursor update
151
+ linesAfterNer = bannerBottom.join("\n").split("\n").length;
152
+ }
153
+ // Helper to update the NER status line in-place
154
+ const updateNerLine = (text) => {
155
+ if (options.quiet)
156
+ return;
157
+ if (process.stderr.isTTY && linesAfterNer > 0) {
158
+ process.stderr.write(`\x1b[${linesAfterNer}A\x1b[2K\r${text}\x1b[${linesAfterNer}B\r`);
159
+ }
160
+ };
161
+ // Background: download and warm up NER model, then swap handler
162
+ if (nerEnabled) {
163
+ void loadNerAndSwap(nerMode, options, baseProxyConfig).then((nerProxy) => {
164
+ if (nerProxy !== null) {
165
+ handler = nerProxy;
166
+ updateNerLine(` NER ${green(nerMode)}`);
167
+ }
168
+ else {
169
+ updateNerLine(` NER ${yellow("failed")} ${dim("(regex-only)")}`);
170
+ }
171
+ });
172
+ }
173
+ // Wait for shutdown signal
174
+ await new Promise((resolve) => {
175
+ const shutdown = () => {
176
+ if (!options.quiet) {
177
+ process.stderr.write(dim("\nShutting down...\n"));
178
+ }
179
+ resolve();
180
+ };
181
+ process.on("SIGINT", shutdown);
182
+ process.on("SIGTERM", shutdown);
183
+ });
184
+ await new Promise((resolve, reject) => {
185
+ server.close((err) => {
186
+ if (err !== undefined)
187
+ reject(err);
188
+ else
189
+ resolve();
190
+ });
191
+ });
192
+ return 0;
193
+ }
194
+ /**
195
+ * Downloads the NER model (if needed), creates a NER-enabled proxy, and returns it.
196
+ * Returns null on failure (proxy continues with regex-only).
197
+ */
198
+ async function loadNerAndSwap(nerMode, options, baseConfig) {
199
+ const modelMode = nerMode === "standard" ? "standard" : "quantized";
200
+ try {
201
+ // Download model if not cached
202
+ const alreadyDownloaded = await isModelDownloaded(modelMode);
203
+ if (!alreadyDownloaded) {
204
+ if (!options.quiet) {
205
+ process.stderr.write(` ${dim(`Downloading NER model (${modelMode})...`)}\n`);
206
+ }
207
+ const onProgress = (progress) => {
208
+ if (!options.quiet) {
209
+ writeProgress(formatProgress(progress.file, progress.percent));
210
+ }
211
+ };
212
+ await downloadModel(modelMode, onProgress);
213
+ clearProgress();
214
+ }
215
+ // Create NER-enabled proxy
216
+ const nerProxy = createRehydraProxy({
217
+ ...baseConfig,
218
+ anonymizer: {
219
+ ...baseConfig.anonymizer,
220
+ ner: {
221
+ mode: nerMode,
222
+ autoDownload: false, // already downloaded
223
+ },
224
+ },
225
+ });
226
+ return nerProxy;
227
+ }
228
+ catch {
229
+ return null;
230
+ }
231
+ }
232
+ // --- helpers ---
233
+ function validateNerMode(mode) {
234
+ const valid = ["disabled", "quantized", "standard"];
235
+ if (!valid.includes(mode)) {
236
+ throw new CLIError(`Invalid NER mode: ${mode}\nValid modes: ${valid.join(", ")}`);
237
+ }
238
+ return mode;
239
+ }
240
+ function parseTypes(typesStr) {
241
+ const allValues = new Set(Object.values(PIIType));
242
+ const types = new Set();
243
+ for (const raw of typesStr.split(",")) {
244
+ const t = raw.trim().toUpperCase();
245
+ if (t === "")
246
+ continue;
247
+ if (!allValues.has(t)) {
248
+ throw new CLIError(`Unknown PII type: ${raw.trim()}\nValid types: ${[...allValues].join(", ")}`);
249
+ }
250
+ types.add(t);
251
+ }
252
+ if (types.size === 0) {
253
+ throw new CLIError("--types must specify at least one PII type");
254
+ }
255
+ return types;
256
+ }
257
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/cli/commands/proxy.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ export interface ParsedOptions {
11
11
  "env-file"?: string;
12
12
  verbose: boolean;
13
13
  quiet: boolean;
14
+ port?: string;
15
+ upstream?: string;
16
+ "api-key"?: string;
14
17
  }
15
18
  export declare function run(argv?: string[]): Promise<number>;
16
19
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAqDD,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAuFjF"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6DD,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAsGjF"}
package/dist/cli/main.js CHANGED
@@ -5,6 +5,7 @@ import { anonymizeCommand } from "./commands/anonymize.js";
5
5
  import { rehydrateCommand } from "./commands/rehydrate.js";
6
6
  import { inspectCommand } from "./commands/inspect.js";
7
7
  import { setupNerCommand } from "./commands/setup-ner.js";
8
+ import { proxyCommand } from "./commands/proxy.js";
8
9
  const require = createRequire(import.meta.url);
9
10
  const pkg = require("../../package.json");
10
11
  const HELP_TEXT = `
@@ -14,10 +15,11 @@ ${bold("USAGE")}
14
15
  rehydra <command> [file] [options]
15
16
 
16
17
  ${bold("COMMANDS")}
17
- anonymize <file> Anonymize a file or stdin
18
- rehydrate <file> Rehydrate a previously anonymized file
19
- inspect <file> Show detected PII without anonymizing (dry run)
20
- setup-ner Download and set up NER model
18
+ anonymize <file> Anonymize a file or stdin
19
+ rehydrate <file> Rehydrate a previously anonymized file
20
+ inspect <file> Show detected PII without anonymizing (dry run)
21
+ proxy <provider> Start a PII-filtering proxy for LLM APIs
22
+ setup-ner Download and set up NER model
21
23
 
22
24
  ${bold("OPTIONS")}
23
25
  -o, --output <file> Output file (default: stdout)
@@ -30,6 +32,9 @@ ${bold("OPTIONS")}
30
32
  --locale <locale> Locale hint for detection (e.g., de-DE)
31
33
  --secrets Enable secrets/credentials detection
32
34
  --env-file <file> .env file path for literal value redaction
35
+ -p, --port <port> Proxy port (default: 8787)
36
+ --upstream <url> Custom upstream URL (overrides provider default)
37
+ --api-key <key> LLM API key (or set LLM_API_KEY env var)
33
38
  --no-color Disable colored output
34
39
  --verbose Show detection details
35
40
  -q, --quiet Suppress non-essential output
@@ -52,6 +57,10 @@ ${bold("EXAMPLES")}
52
57
  ${dim("# Inspect detected PII")}
53
58
  rehydra inspect input.txt
54
59
 
60
+ ${dim("# Start a proxy for Claude Code")}
61
+ rehydra proxy claude
62
+ ${dim("# then: export ANTHROPIC_BASE_URL=http://127.0.0.1:8787")}
63
+
55
64
  ${bold("EXIT CODES")}
56
65
  0 Success
57
66
  1 Error
@@ -66,7 +75,7 @@ export async function run(argv = process.argv.slice(2)) {
66
75
  options: {
67
76
  output: { type: "string", short: "o" },
68
77
  format: { type: "string", short: "f", default: "text" },
69
- ner: { type: "string", default: "disabled" },
78
+ ner: { type: "string" },
70
79
  "pii-map": { type: "string", default: ".rehydra-pii-map.json" },
71
80
  key: { type: "string" },
72
81
  types: { type: "string" },
@@ -74,6 +83,9 @@ export async function run(argv = process.argv.slice(2)) {
74
83
  locale: { type: "string" },
75
84
  secrets: { type: "boolean", default: false },
76
85
  "env-file": { type: "string" },
86
+ port: { type: "string", short: "p" },
87
+ upstream: { type: "string" },
88
+ "api-key": { type: "string" },
77
89
  "no-color": { type: "boolean", default: false },
78
90
  verbose: { type: "boolean", default: false },
79
91
  quiet: { type: "boolean", short: "q", default: false },
@@ -122,6 +134,9 @@ export async function run(argv = process.argv.slice(2)) {
122
134
  "env-file": values["env-file"],
123
135
  verbose: values["verbose"] === true,
124
136
  quiet: values["quiet"] === true,
137
+ port: values["port"],
138
+ upstream: values["upstream"],
139
+ "api-key": values["api-key"],
125
140
  };
126
141
  switch (command) {
127
142
  case "anonymize":
@@ -130,6 +145,15 @@ export async function run(argv = process.argv.slice(2)) {
130
145
  return rehydrateCommand(filePath, options);
131
146
  case "inspect":
132
147
  return inspectCommand(filePath, options);
148
+ case "proxy": {
149
+ // Default to NER quantized for proxy (override global default of "disabled")
150
+ // unless the user explicitly passed --ner
151
+ const explicitNer = values["ner"];
152
+ if (explicitNer === undefined) {
153
+ options.ner = "quantized";
154
+ }
155
+ return proxyCommand(filePath, options);
156
+ }
133
157
  case "setup-ner":
134
158
  return setupNerCommand(options);
135
159
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAiBjE,MAAM,SAAS,GAAG;EAChB,IAAI,CAAC,SAAS,CAAC;;EAEf,IAAI,CAAC,OAAO,CAAC;;;EAGb,IAAI,CAAC,UAAU,CAAC;;;;;;EAMhB,IAAI,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;EAiBf,IAAI,CAAC,UAAU,CAAC;IACd,GAAG,CAAC,oBAAoB,CAAC;;;IAGzB,GAAG,CAAC,mBAAmB,CAAC;;;IAGxB,GAAG,CAAC,wBAAwB,CAAC;;;IAG7B,GAAG,CAAC,aAAa,CAAC;;;IAGlB,GAAG,CAAC,wBAAwB,CAAC;;;EAG/B,IAAI,CAAC,YAAY,CAAC;;;;CAInB,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,IAAI,MAAoD,CAAC;IACzD,IAAI,WAAqB,CAAC;IAE1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE;gBACtC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE;gBACvD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;gBAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,uBAAuB,EAAE;gBAC/D,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE;gBACjD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC1B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC5C,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC/C,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;gBACtD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;gBACrD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;aACzD;YACD,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,OAAO,GAAkB;QAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAuB;QAC9C,MAAM,EAAG,MAAM,CAAC,QAAQ,CAAwB,IAAI,MAAM;QAC1D,GAAG,EAAG,MAAM,CAAC,KAAK,CAAwB,IAAI,UAAU;QACxD,SAAS,EAAG,MAAM,CAAC,SAAS,CAAwB,IAAI,uBAAuB;QAC/E,GAAG,EAAE,MAAM,CAAC,KAAK,CAAuB;QACxC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAuB;QAC5C,IAAI,EAAG,MAAM,CAAC,MAAM,CAAwB,IAAI,cAAc;QAC9D,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAuB;QAC9C,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,SAAS;QACvE,UAAU,EAAE,MAAM,CAAC,UAAU,CAAuB;QACpD,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,IAAI;QACnC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;KAChC,CAAC;IAEF,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,WAAW;YACd,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,KAAK,SAAS;YACZ,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,KAAK,WAAW;YACd,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;QAClC;YACE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAClE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -5,8 +5,9 @@
5
5
  export { createRehydraFetch } from "./rehydra-fetch.js";
6
6
  export { createRehydraProxy } from "./rehydra-proxy.js";
7
7
  export { wrapLLMClient } from "./wrap-client.js";
8
- export { createRehydraProxyServer, type RehydraProxyServerConfig, type RehydraProxyServer, } from "./proxy-server.js";
8
+ export { createRehydraProxyServer, incomingMessageToRequest, writeResponse, 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,wBAAwB,EACxB,aAAa,EACb,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"}
@@ -5,7 +5,8 @@
5
5
  export { createRehydraFetch } from "./rehydra-fetch.js";
6
6
  export { createRehydraProxy } from "./rehydra-proxy.js";
7
7
  export { wrapLLMClient } from "./wrap-client.js";
8
- export { createRehydraProxyServer, } from "./proxy-server.js";
8
+ export { createRehydraProxyServer, incomingMessageToRequest, writeResponse, } 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,EACxB,wBAAwB,EACxB,aAAa,GAGd,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;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"}