rehydra 0.7.0 → 0.9.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.
- package/README.md +40 -3
- package/dist/cli/commands/anonymize.d.ts.map +1 -1
- package/dist/cli/commands/anonymize.js +3 -0
- package/dist/cli/commands/anonymize.js.map +1 -1
- package/dist/cli/commands/inspect.d.ts.map +1 -1
- package/dist/cli/commands/inspect.js +2 -0
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/proxy.d.ts +3 -0
- package/dist/cli/commands/proxy.d.ts.map +1 -0
- package/dist/cli/commands/proxy.js +259 -0
- package/dist/cli/commands/proxy.js.map +1 -0
- package/dist/cli/commands/rehydrate.d.ts.map +1 -1
- package/dist/cli/commands/rehydrate.js +3 -1
- package/dist/cli/commands/rehydrate.js.map +1 -1
- package/dist/cli/main.d.ts +6 -0
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +38 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/utils/tag-format.d.ts +4 -0
- package/dist/cli/utils/tag-format.d.ts.map +1 -0
- package/dist/cli/utils/tag-format.js +12 -0
- package/dist/cli/utils/tag-format.js.map +1 -0
- package/dist/core/anonymizer.d.ts +13 -1
- package/dist/core/anonymizer.d.ts.map +1 -1
- package/dist/core/anonymizer.js +15 -3
- package/dist/core/anonymizer.js.map +1 -1
- package/dist/opencode-plugin/plugin.d.ts.map +1 -1
- package/dist/opencode-plugin/plugin.js +16 -12
- package/dist/opencode-plugin/plugin.js.map +1 -1
- package/dist/opencode-plugin/types.d.ts +3 -1
- package/dist/opencode-plugin/types.d.ts.map +1 -1
- package/dist/pipeline/tagger.d.ts +17 -14
- package/dist/pipeline/tagger.d.ts.map +1 -1
- package/dist/pipeline/tagger.js +126 -45
- package/dist/pipeline/tagger.js.map +1 -1
- package/dist/pipeline/validator.d.ts +2 -2
- package/dist/pipeline/validator.d.ts.map +1 -1
- package/dist/pipeline/validator.js +43 -22
- package/dist/pipeline/validator.js.map +1 -1
- package/dist/proxy/index.d.ts +1 -1
- package/dist/proxy/index.d.ts.map +1 -1
- package/dist/proxy/index.js +1 -1
- package/dist/proxy/index.js.map +1 -1
- package/dist/proxy/providers/anthropic.d.ts.map +1 -1
- package/dist/proxy/providers/anthropic.js +29 -0
- package/dist/proxy/providers/anthropic.js.map +1 -1
- package/dist/proxy/proxy-server.d.ts +9 -1
- package/dist/proxy/proxy-server.d.ts.map +1 -1
- package/dist/proxy/proxy-server.js +2 -2
- package/dist/proxy/proxy-server.js.map +1 -1
- package/dist/proxy/rehydra-fetch.d.ts.map +1 -1
- package/dist/proxy/rehydra-fetch.js +28 -14
- package/dist/proxy/rehydra-fetch.js.map +1 -1
- package/dist/proxy/rehydra-proxy.d.ts.map +1 -1
- package/dist/proxy/rehydra-proxy.js +22 -0
- package/dist/proxy/rehydra-proxy.js.map +1 -1
- package/dist/proxy/system-instruction.d.ts +9 -0
- package/dist/proxy/system-instruction.d.ts.map +1 -1
- package/dist/proxy/system-instruction.js +24 -10
- package/dist/proxy/system-instruction.js.map +1 -1
- package/dist/proxy/types.d.ts +9 -0
- package/dist/proxy/types.d.ts.map +1 -1
- package/dist/storage/session-base.d.ts +2 -1
- package/dist/storage/session-base.d.ts.map +1 -1
- package/dist/storage/session-base.js +1 -1
- package/dist/storage/session-base.js.map +1 -1
- package/dist/streaming/sentence-buffer.d.ts.map +1 -1
- package/dist/streaming/sentence-buffer.js +4 -3
- package/dist/streaming/sentence-buffer.js.map +1 -1
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/regex.d.ts +11 -0
- package/dist/utils/regex.d.ts.map +1 -0
- package/dist/utils/regex.js +14 -0
- package/dist/utils/regex.js.map +1 -0
- package/package.json +1 -1
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
|
|
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymize.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/anonymize.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"anonymize.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/anonymize.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAkGhD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,CA2BjB"}
|
|
@@ -6,6 +6,7 @@ import { CLIError } from "../utils/errors.js";
|
|
|
6
6
|
import { readInput, writeOutput, getInputStream, getOutputStream } from "../utils/io.js";
|
|
7
7
|
import { formatText, formatJson, formatNdjson, formatStats } from "../utils/format.js";
|
|
8
8
|
import { savePIIMapFile } from "../utils/pii-map-file.js";
|
|
9
|
+
import { buildTagFormatFromOptions } from "../utils/tag-format.js";
|
|
9
10
|
function parseTypes(typesStr) {
|
|
10
11
|
const allValues = new Set(Object.values(PIIType));
|
|
11
12
|
const types = new Set();
|
|
@@ -109,6 +110,7 @@ async function anonymizeBatch(options, nerMode, anonMode, format, keyProvider, k
|
|
|
109
110
|
const config = {
|
|
110
111
|
mode: anonMode,
|
|
111
112
|
keyProvider,
|
|
113
|
+
tagFormat: buildTagFormatFromOptions(options),
|
|
112
114
|
};
|
|
113
115
|
const nerConfig = buildNerConfig(nerMode, options.quiet);
|
|
114
116
|
if (nerConfig !== undefined) {
|
|
@@ -178,6 +180,7 @@ async function anonymizeFile(filePath, options, nerMode, anonMode, format, keyPr
|
|
|
178
180
|
const anonymizerConfig = {
|
|
179
181
|
mode: anonMode,
|
|
180
182
|
keyProvider,
|
|
183
|
+
tagFormat: buildTagFormatFromOptions(options),
|
|
181
184
|
};
|
|
182
185
|
const nerConfig = buildNerConfig(nerMode, options.quiet);
|
|
183
186
|
if (nerConfig !== undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymize.js","sourceRoot":"","sources":["../../../src/cli/commands/anonymize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anonymize.js","sourceRoot":"","sources":["../../../src/cli/commands/anonymize.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/inspect.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/inspect.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA+BhD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,CAuEjB"}
|
|
@@ -3,6 +3,7 @@ import { SECRET_PII_TYPES } from "../../types/pii-types.js";
|
|
|
3
3
|
import { CLIError } from "../utils/errors.js";
|
|
4
4
|
import { readInput, writeOutput } from "../utils/io.js";
|
|
5
5
|
import { formatInspect, formatStats } from "../utils/format.js";
|
|
6
|
+
import { buildTagFormatFromOptions } from "../utils/tag-format.js";
|
|
6
7
|
function parseTypes(typesStr) {
|
|
7
8
|
const allValues = new Set(Object.values(PIIType));
|
|
8
9
|
const types = new Set();
|
|
@@ -33,6 +34,7 @@ export async function inspectCommand(filePath, options) {
|
|
|
33
34
|
const config = {
|
|
34
35
|
mode: "pseudonymize",
|
|
35
36
|
keyProvider: new InMemoryKeyProvider(),
|
|
37
|
+
tagFormat: buildTagFormatFromOptions(options),
|
|
36
38
|
};
|
|
37
39
|
if (nerMode !== "disabled") {
|
|
38
40
|
config.ner = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/cli/commands/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAKhB,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/cli/commands/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAKhB,OAAO,EACP,WAAW,EACX,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAW,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,QAAQ,CAAC,qBAAqB,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,CAAY,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,4CAA4C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,KAAK,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,QAAQ,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAyB,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAA4B,EAC5B,OAAsB;IAEtB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IAExC,MAAM,MAAM,GAAqB;QAC/B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,IAAI,mBAAmB,EAAE;QACtC,SAAS,EAAE,yBAAyB,CAAC,OAAO,CAAC;KAC9C,CAAC;IAEF,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,GAAG;YACX,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,KAAK;gBACrB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,MAAc,EAAQ,EAAE;oBACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;gBACtC,CAAC;SACN,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,aAAa,GAAkB;YACnC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SAChF,CAAC;QACF,MAAM,CAAC,OAAO,GAAG,aAAa,CAAC;IACjC,CAAC;IAED,IAAI,MAAgD,CAAC;IACrD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAiC,EAAE,YAAY,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;YACD,aAAa,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QACtD,CAAC;QACD,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE5G,0DAA0D;QAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC;YACrC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,CAAC,CAAC,CAAC;QAEJ,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,aAAa,GAAG,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAExD,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;YAAS,CAAC;QACT,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC"}
|
|
@@ -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;AA4DhD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,CAwLjB"}
|
|
@@ -0,0 +1,259 @@
|
|
|
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
|
+
import { buildTagFormatFromOptions } from "../utils/tag-format.js";
|
|
9
|
+
const PROVIDER_UPSTREAMS = {
|
|
10
|
+
openai: "https://api.openai.com",
|
|
11
|
+
anthropic: "https://api.anthropic.com",
|
|
12
|
+
claude: "https://api.anthropic.com",
|
|
13
|
+
};
|
|
14
|
+
const PROVIDER_CANONICAL = {
|
|
15
|
+
openai: "openai",
|
|
16
|
+
anthropic: "anthropic",
|
|
17
|
+
claude: "anthropic",
|
|
18
|
+
};
|
|
19
|
+
function getConnectionHints(provider, baseUrl, hasApiKey) {
|
|
20
|
+
const lines = [];
|
|
21
|
+
if (provider === "anthropic") {
|
|
22
|
+
if (hasApiKey) {
|
|
23
|
+
lines.push(` ${bold("Claude Code")}`, ` ANTHROPIC_BASE_URL=${baseUrl} claude`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
lines.push(` ${bold("Claude Code")} ${dim("(requires --api-key)")}`, ` ANTHROPIC_BASE_URL=${baseUrl} claude`);
|
|
27
|
+
}
|
|
28
|
+
lines.push("", ` ${bold("Cursor")}`, ` Settings ${dim("→")} Models ${dim("→")} Anthropic ${dim("→")} Override Base URL`, ` ${dim(baseUrl)}`);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
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" })`)}`);
|
|
32
|
+
}
|
|
33
|
+
return lines.join("\n");
|
|
34
|
+
}
|
|
35
|
+
export async function proxyCommand(provider, options) {
|
|
36
|
+
if (provider === undefined) {
|
|
37
|
+
throw new CLIError("Missing provider argument.\n\n" +
|
|
38
|
+
"Usage: rehydra proxy <provider>\n\n" +
|
|
39
|
+
"Providers:\n" +
|
|
40
|
+
" openai OpenAI API\n" +
|
|
41
|
+
" anthropic Anthropic API\n" +
|
|
42
|
+
" claude Alias for anthropic");
|
|
43
|
+
}
|
|
44
|
+
const providerLower = provider.toLowerCase();
|
|
45
|
+
const canonical = PROVIDER_CANONICAL[providerLower];
|
|
46
|
+
if (canonical === undefined) {
|
|
47
|
+
throw new CLIError(`Unknown provider: ${provider}\nSupported: openai, anthropic, claude`);
|
|
48
|
+
}
|
|
49
|
+
const upstream = options.upstream ?? PROVIDER_UPSTREAMS[providerLower];
|
|
50
|
+
const port = parseInt(options.port ?? "8787", 10);
|
|
51
|
+
const host = "127.0.0.1";
|
|
52
|
+
if (isNaN(port) || port < 1 || port > 65535) {
|
|
53
|
+
throw new CLIError(`Invalid port: ${options.port}`);
|
|
54
|
+
}
|
|
55
|
+
// Key setup
|
|
56
|
+
const envKey = process.env["REHYDRA_KEY"];
|
|
57
|
+
const flagKey = options.key;
|
|
58
|
+
const externalKey = flagKey ?? envKey;
|
|
59
|
+
let keyProvider;
|
|
60
|
+
if (externalKey !== undefined) {
|
|
61
|
+
keyProvider = new ConfigKeyProvider(externalKey);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const keyBytes = generateKey();
|
|
65
|
+
keyProvider = new ConfigKeyProvider(uint8ArrayToBase64(keyBytes));
|
|
66
|
+
}
|
|
67
|
+
const storage = new InMemoryPIIStorageProvider();
|
|
68
|
+
const nerMode = validateNerMode(options.ner);
|
|
69
|
+
// Policy
|
|
70
|
+
let policy;
|
|
71
|
+
if (options.types !== undefined) {
|
|
72
|
+
const enabledTypes = parseTypes(options.types);
|
|
73
|
+
const policyPartial = { enabledTypes };
|
|
74
|
+
if (options.secrets) {
|
|
75
|
+
const regexEnabledTypes = new Set(enabledTypes);
|
|
76
|
+
for (const t of SECRET_PII_TYPES) {
|
|
77
|
+
enabledTypes.add(t);
|
|
78
|
+
regexEnabledTypes.add(t);
|
|
79
|
+
}
|
|
80
|
+
policyPartial.regexEnabledTypes = regexEnabledTypes;
|
|
81
|
+
}
|
|
82
|
+
policy = mergePolicy(policyPartial);
|
|
83
|
+
}
|
|
84
|
+
// LLM API key — from --api-key flag or LLM_API_KEY env var
|
|
85
|
+
const llmApiKey = options["api-key"] ?? process.env["LLM_API_KEY"];
|
|
86
|
+
// Build shared proxy config (without NER initially)
|
|
87
|
+
const baseProxyConfig = {
|
|
88
|
+
upstream,
|
|
89
|
+
provider: canonical,
|
|
90
|
+
keyProvider,
|
|
91
|
+
piiStorageProvider: storage,
|
|
92
|
+
anonymizer: {
|
|
93
|
+
...(options.secrets ? { secrets: { enabled: true } } : {}),
|
|
94
|
+
tagFormat: buildTagFormatFromOptions(options),
|
|
95
|
+
},
|
|
96
|
+
policy,
|
|
97
|
+
locale: options.locale,
|
|
98
|
+
apiKey: llmApiKey,
|
|
99
|
+
};
|
|
100
|
+
// Start with regex-only proxy (instant startup)
|
|
101
|
+
let handler = createRehydraProxy(baseProxyConfig);
|
|
102
|
+
// Create HTTP server with swappable handler
|
|
103
|
+
const server = createServer((req, res) => {
|
|
104
|
+
void (async () => {
|
|
105
|
+
try {
|
|
106
|
+
const webRequest = incomingMessageToRequest(req, host, port);
|
|
107
|
+
const webResponse = await handler(webRequest);
|
|
108
|
+
await writeResponse(res, webResponse);
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
res.writeHead(502, { "Content-Type": "application/json" });
|
|
112
|
+
res.end(JSON.stringify({
|
|
113
|
+
error: "proxy_error",
|
|
114
|
+
message: error instanceof Error ? error.message : "Unknown proxy error",
|
|
115
|
+
}));
|
|
116
|
+
}
|
|
117
|
+
})();
|
|
118
|
+
});
|
|
119
|
+
await new Promise((resolve, reject) => {
|
|
120
|
+
server.on("error", reject);
|
|
121
|
+
server.listen(port, host, () => {
|
|
122
|
+
resolve();
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
// Print startup banner
|
|
126
|
+
const baseUrl = `http://${host}:${port}`;
|
|
127
|
+
const nerEnabled = nerMode !== "disabled";
|
|
128
|
+
let linesAfterNer = 0;
|
|
129
|
+
if (!options.quiet) {
|
|
130
|
+
const nerLine = ` NER ${nerEnabled ? yellow("loading...") : dim("disabled")}`;
|
|
131
|
+
const bannerBottom = [
|
|
132
|
+
...(llmApiKey !== undefined ? [` API key ${green("configured")}`] : []),
|
|
133
|
+
...(options.secrets ? [` Secrets ${green("enabled")}`] : []),
|
|
134
|
+
"",
|
|
135
|
+
` ${bold("Configure your tools:")}`,
|
|
136
|
+
"",
|
|
137
|
+
getConnectionHints(canonical, baseUrl, llmApiKey !== undefined),
|
|
138
|
+
"",
|
|
139
|
+
` ${dim("Ctrl+C to stop")}`,
|
|
140
|
+
"",
|
|
141
|
+
];
|
|
142
|
+
const banner = [
|
|
143
|
+
"",
|
|
144
|
+
` ${bold("rehydra proxy")}`,
|
|
145
|
+
"",
|
|
146
|
+
` Provider ${cyan(canonical)} ${dim(`(${upstream})`)}`,
|
|
147
|
+
` Listening ${green(baseUrl)}`,
|
|
148
|
+
nerLine,
|
|
149
|
+
...bannerBottom,
|
|
150
|
+
].join("\n");
|
|
151
|
+
process.stderr.write(banner);
|
|
152
|
+
// Count lines after NER line for in-place cursor update
|
|
153
|
+
linesAfterNer = bannerBottom.join("\n").split("\n").length;
|
|
154
|
+
}
|
|
155
|
+
// Helper to update the NER status line in-place
|
|
156
|
+
const updateNerLine = (text) => {
|
|
157
|
+
if (options.quiet)
|
|
158
|
+
return;
|
|
159
|
+
if (process.stderr.isTTY && linesAfterNer > 0) {
|
|
160
|
+
process.stderr.write(`\x1b[${linesAfterNer}A\x1b[2K\r${text}\x1b[${linesAfterNer}B\r`);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
// Background: download and warm up NER model, then swap handler
|
|
164
|
+
if (nerEnabled) {
|
|
165
|
+
void loadNerAndSwap(nerMode, options, baseProxyConfig).then((nerProxy) => {
|
|
166
|
+
if (nerProxy !== null) {
|
|
167
|
+
handler = nerProxy;
|
|
168
|
+
updateNerLine(` NER ${green(nerMode)}`);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
updateNerLine(` NER ${yellow("failed")} ${dim("(regex-only)")}`);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
// Wait for shutdown signal
|
|
176
|
+
await new Promise((resolve) => {
|
|
177
|
+
const shutdown = () => {
|
|
178
|
+
if (!options.quiet) {
|
|
179
|
+
process.stderr.write(dim("\nShutting down...\n"));
|
|
180
|
+
}
|
|
181
|
+
resolve();
|
|
182
|
+
};
|
|
183
|
+
process.on("SIGINT", shutdown);
|
|
184
|
+
process.on("SIGTERM", shutdown);
|
|
185
|
+
});
|
|
186
|
+
await new Promise((resolve, reject) => {
|
|
187
|
+
server.close((err) => {
|
|
188
|
+
if (err !== undefined)
|
|
189
|
+
reject(err);
|
|
190
|
+
else
|
|
191
|
+
resolve();
|
|
192
|
+
});
|
|
193
|
+
});
|
|
194
|
+
return 0;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Downloads the NER model (if needed), creates a NER-enabled proxy, and returns it.
|
|
198
|
+
* Returns null on failure (proxy continues with regex-only).
|
|
199
|
+
*/
|
|
200
|
+
async function loadNerAndSwap(nerMode, options, baseConfig) {
|
|
201
|
+
const modelMode = nerMode === "standard" ? "standard" : "quantized";
|
|
202
|
+
try {
|
|
203
|
+
// Download model if not cached
|
|
204
|
+
const alreadyDownloaded = await isModelDownloaded(modelMode);
|
|
205
|
+
if (!alreadyDownloaded) {
|
|
206
|
+
if (!options.quiet) {
|
|
207
|
+
process.stderr.write(` ${dim(`Downloading NER model (${modelMode})...`)}\n`);
|
|
208
|
+
}
|
|
209
|
+
const onProgress = (progress) => {
|
|
210
|
+
if (!options.quiet) {
|
|
211
|
+
writeProgress(formatProgress(progress.file, progress.percent));
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
await downloadModel(modelMode, onProgress);
|
|
215
|
+
clearProgress();
|
|
216
|
+
}
|
|
217
|
+
// Create NER-enabled proxy
|
|
218
|
+
const nerProxy = createRehydraProxy({
|
|
219
|
+
...baseConfig,
|
|
220
|
+
anonymizer: {
|
|
221
|
+
...baseConfig.anonymizer,
|
|
222
|
+
ner: {
|
|
223
|
+
mode: nerMode,
|
|
224
|
+
autoDownload: false, // already downloaded
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
return nerProxy;
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// --- helpers ---
|
|
235
|
+
function validateNerMode(mode) {
|
|
236
|
+
const valid = ["disabled", "quantized", "standard"];
|
|
237
|
+
if (!valid.includes(mode)) {
|
|
238
|
+
throw new CLIError(`Invalid NER mode: ${mode}\nValid modes: ${valid.join(", ")}`);
|
|
239
|
+
}
|
|
240
|
+
return mode;
|
|
241
|
+
}
|
|
242
|
+
function parseTypes(typesStr) {
|
|
243
|
+
const allValues = new Set(Object.values(PIIType));
|
|
244
|
+
const types = new Set();
|
|
245
|
+
for (const raw of typesStr.split(",")) {
|
|
246
|
+
const t = raw.trim().toUpperCase();
|
|
247
|
+
if (t === "")
|
|
248
|
+
continue;
|
|
249
|
+
if (!allValues.has(t)) {
|
|
250
|
+
throw new CLIError(`Unknown PII type: ${raw.trim()}\nValid types: ${[...allValues].join(", ")}`);
|
|
251
|
+
}
|
|
252
|
+
types.add(t);
|
|
253
|
+
}
|
|
254
|
+
if (types.size === 0) {
|
|
255
|
+
throw new CLIError("--types must specify at least one PII type");
|
|
256
|
+
}
|
|
257
|
+
return types;
|
|
258
|
+
}
|
|
259
|
+
//# 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rehydrate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"rehydrate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rehydrate.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,CAAC,CAmCjB"}
|
|
@@ -2,6 +2,7 @@ import { decryptPIIMap, base64ToUint8Array, rehydrate, } from "../../index.js";
|
|
|
2
2
|
import { CLIError } from "../utils/errors.js";
|
|
3
3
|
import { readInput, writeOutput } from "../utils/io.js";
|
|
4
4
|
import { loadPIIMapFile } from "../utils/pii-map-file.js";
|
|
5
|
+
import { buildTagFormatFromOptions } from "../utils/tag-format.js";
|
|
5
6
|
export async function rehydrateCommand(filePath, options) {
|
|
6
7
|
const input = await readInput(filePath);
|
|
7
8
|
const piiMapFile = await loadPIIMapFile(options["pii-map"]);
|
|
@@ -21,7 +22,8 @@ export async function rehydrateCommand(filePath, options) {
|
|
|
21
22
|
catch {
|
|
22
23
|
throw new CLIError("Failed to decrypt PII map. Check that the encryption key is correct.");
|
|
23
24
|
}
|
|
24
|
-
const
|
|
25
|
+
const tagFormat = buildTagFormatFromOptions(options);
|
|
26
|
+
const output = rehydrate(input, rawPiiMap, false, tagFormat);
|
|
25
27
|
// Ensure trailing newline
|
|
26
28
|
const finalOutput = output.endsWith("\n") ? output : output + "\n";
|
|
27
29
|
await writeOutput(finalOutput, options.output);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rehydrate.js","sourceRoot":"","sources":["../../../src/cli/commands/rehydrate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"rehydrate.js","sourceRoot":"","sources":["../../../src/cli/commands/rehydrate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAA4B,EAC5B,OAAsB;IAEtB,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5D,2BAA2B;IAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAC5B,MAAM,WAAW,GAAG,OAAO,IAAI,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC;IAEhD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAChB,uGAAuG,CACxG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,QAAQ,CAChB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;IACnE,MAAM,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/C,OAAO,CAAC,CAAC;AACX,CAAC"}
|
package/dist/cli/main.d.ts
CHANGED
|
@@ -11,6 +11,12 @@ 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;
|
|
17
|
+
"tag-open"?: string;
|
|
18
|
+
"tag-close"?: string;
|
|
19
|
+
"tag-keyword"?: string;
|
|
14
20
|
}
|
|
15
21
|
export declare function run(argv?: string[]): Promise<number>;
|
|
16
22
|
//# sourceMappingURL=main.d.ts.map
|
package/dist/cli/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"
|
|
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;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgED,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4GjF"}
|
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>
|
|
18
|
-
rehydrate <file>
|
|
19
|
-
inspect <file>
|
|
20
|
-
|
|
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,12 @@ ${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)
|
|
38
|
+
--tag-open <str> Tag open delimiter (default: "<")
|
|
39
|
+
--tag-close <str> Tag close delimiter (default: "/>")
|
|
40
|
+
--tag-keyword <str> Tag keyword (default: "PII")
|
|
33
41
|
--no-color Disable colored output
|
|
34
42
|
--verbose Show detection details
|
|
35
43
|
-q, --quiet Suppress non-essential output
|
|
@@ -52,6 +60,10 @@ ${bold("EXAMPLES")}
|
|
|
52
60
|
${dim("# Inspect detected PII")}
|
|
53
61
|
rehydra inspect input.txt
|
|
54
62
|
|
|
63
|
+
${dim("# Start a proxy for Claude Code")}
|
|
64
|
+
rehydra proxy claude
|
|
65
|
+
${dim("# then: export ANTHROPIC_BASE_URL=http://127.0.0.1:8787")}
|
|
66
|
+
|
|
55
67
|
${bold("EXIT CODES")}
|
|
56
68
|
0 Success
|
|
57
69
|
1 Error
|
|
@@ -66,7 +78,7 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
66
78
|
options: {
|
|
67
79
|
output: { type: "string", short: "o" },
|
|
68
80
|
format: { type: "string", short: "f", default: "text" },
|
|
69
|
-
ner: { type: "string"
|
|
81
|
+
ner: { type: "string" },
|
|
70
82
|
"pii-map": { type: "string", default: ".rehydra-pii-map.json" },
|
|
71
83
|
key: { type: "string" },
|
|
72
84
|
types: { type: "string" },
|
|
@@ -74,6 +86,12 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
74
86
|
locale: { type: "string" },
|
|
75
87
|
secrets: { type: "boolean", default: false },
|
|
76
88
|
"env-file": { type: "string" },
|
|
89
|
+
port: { type: "string", short: "p" },
|
|
90
|
+
upstream: { type: "string" },
|
|
91
|
+
"api-key": { type: "string" },
|
|
92
|
+
"tag-open": { type: "string" },
|
|
93
|
+
"tag-close": { type: "string" },
|
|
94
|
+
"tag-keyword": { type: "string" },
|
|
77
95
|
"no-color": { type: "boolean", default: false },
|
|
78
96
|
verbose: { type: "boolean", default: false },
|
|
79
97
|
quiet: { type: "boolean", short: "q", default: false },
|
|
@@ -122,6 +140,12 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
122
140
|
"env-file": values["env-file"],
|
|
123
141
|
verbose: values["verbose"] === true,
|
|
124
142
|
quiet: values["quiet"] === true,
|
|
143
|
+
port: values["port"],
|
|
144
|
+
upstream: values["upstream"],
|
|
145
|
+
"api-key": values["api-key"],
|
|
146
|
+
"tag-open": values["tag-open"],
|
|
147
|
+
"tag-close": values["tag-close"],
|
|
148
|
+
"tag-keyword": values["tag-keyword"],
|
|
125
149
|
};
|
|
126
150
|
switch (command) {
|
|
127
151
|
case "anonymize":
|
|
@@ -130,6 +154,15 @@ export async function run(argv = process.argv.slice(2)) {
|
|
|
130
154
|
return rehydrateCommand(filePath, options);
|
|
131
155
|
case "inspect":
|
|
132
156
|
return inspectCommand(filePath, options);
|
|
157
|
+
case "proxy": {
|
|
158
|
+
// Default to NER quantized for proxy (override global default of "disabled")
|
|
159
|
+
// unless the user explicitly passed --ner
|
|
160
|
+
const explicitNer = values["ner"];
|
|
161
|
+
if (explicitNer === undefined) {
|
|
162
|
+
options.ner = "quantized";
|
|
163
|
+
}
|
|
164
|
+
return proxyCommand(filePath, options);
|
|
165
|
+
}
|
|
133
166
|
case "setup-ner":
|
|
134
167
|
return setupNerCommand(options);
|
|
135
168
|
default:
|