rehydra 0.14.0 → 0.16.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 +5 -3
- package/dist/core/anonymizer.d.ts +10 -0
- package/dist/core/anonymizer.d.ts.map +1 -1
- package/dist/core/anonymizer.js +51 -25
- package/dist/core/anonymizer.js.map +1 -1
- package/dist/opencode-plugin/core.d.ts +56 -0
- package/dist/opencode-plugin/core.d.ts.map +1 -0
- package/dist/opencode-plugin/core.js +294 -0
- package/dist/opencode-plugin/core.js.map +1 -0
- package/dist/opencode-plugin/index.d.ts +10 -1
- package/dist/opencode-plugin/index.d.ts.map +1 -1
- package/dist/opencode-plugin/index.js +32 -1
- package/dist/opencode-plugin/index.js.map +1 -1
- package/dist/opencode-plugin/plugin-v2.d.ts +91 -0
- package/dist/opencode-plugin/plugin-v2.d.ts.map +1 -0
- package/dist/opencode-plugin/plugin-v2.js +166 -0
- package/dist/opencode-plugin/plugin-v2.js.map +1 -0
- package/dist/opencode-plugin/plugin.d.ts +3 -3
- package/dist/opencode-plugin/plugin.d.ts.map +1 -1
- package/dist/opencode-plugin/plugin.js +26 -248
- package/dist/opencode-plugin/plugin.js.map +1 -1
- package/dist/opencode-plugin/types.d.ts +7 -0
- package/dist/opencode-plugin/types.d.ts.map +1 -1
- package/dist/recognizers/custom-id.d.ts.map +1 -1
- package/dist/recognizers/custom-id.js +4 -2
- package/dist/recognizers/custom-id.js.map +1 -1
- package/dist/recognizers/registry.d.ts +4 -0
- package/dist/recognizers/registry.d.ts.map +1 -1
- package/dist/recognizers/registry.js +12 -0
- package/dist/recognizers/registry.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -72,12 +72,14 @@ npm install @rehydra/opencode
|
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
```json
|
|
75
|
-
{ "
|
|
75
|
+
{ "plugins": ["@rehydra/opencode"] }
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
On OpenCode 1 use the singular `"plugin"` key instead. The same package ships the V2 (OpenCode 2) and V1 (OpenCode 1) plugin implementations.
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
Intercepts the conversation between [OpenCode](https://github.com/anomalyco/opencode) and the LLM. Secrets from `.env` files are replaced with placeholders before they leave your machine and restored before tools execute.
|
|
81
|
+
|
|
82
|
+
OpenCode 1's separate session-title request bypasses the plugin hooks and can send the first message without scrubbing; disable the title agent to prevent that call. On OpenCode 2 the plugin scrubs title requests through its own session hook.
|
|
81
83
|
|
|
82
84
|
### CLI
|
|
83
85
|
|
|
@@ -200,6 +200,8 @@ export declare class Anonymizer {
|
|
|
200
200
|
private sessionFactory;
|
|
201
201
|
private onValidationWarning;
|
|
202
202
|
private tagFormat;
|
|
203
|
+
private literalRecognizer;
|
|
204
|
+
private secretValuesKey;
|
|
203
205
|
constructor(config?: AnonymizerConfig, sessionFactory?: SessionFactory);
|
|
204
206
|
/**
|
|
205
207
|
* Returns the resolved tag format configuration
|
|
@@ -219,6 +221,14 @@ export declare class Anonymizer {
|
|
|
219
221
|
* @returns Anonymization result with anonymized text and encrypted PII map
|
|
220
222
|
*/
|
|
221
223
|
anonymize(text: string, locale?: string, policy?: Partial<AnonymizationPolicy>, existingPiiMap?: RawPIIMap): Promise<AnonymizationResult>;
|
|
224
|
+
/**
|
|
225
|
+
* Re-reads `secrets.envFiles`, resolving globs again, and updates the
|
|
226
|
+
* values matched as ENV_VAR_SECRET.
|
|
227
|
+
* @returns Whether the set of secret values changed
|
|
228
|
+
*/
|
|
229
|
+
reloadSecrets(): Promise<boolean>;
|
|
230
|
+
private readSecretValues;
|
|
231
|
+
private applySecretValues;
|
|
222
232
|
/**
|
|
223
233
|
* Disposes of resources
|
|
224
234
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymizer.d.ts","sourceRoot":"","sources":["../../src/core/anonymizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EAEnB,iBAAiB,EAEjB,cAAc,EACd,aAAa,EAEb,OAAO,EACP,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAEL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"anonymizer.d.ts","sourceRoot":"","sources":["../../src/core/anonymizer.ts"],"names":[],"mappings":"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"}
|
package/dist/core/anonymizer.js
CHANGED
|
@@ -65,6 +65,8 @@ export class Anonymizer {
|
|
|
65
65
|
sessionFactory;
|
|
66
66
|
onValidationWarning;
|
|
67
67
|
tagFormat;
|
|
68
|
+
literalRecognizer = null;
|
|
69
|
+
secretValuesKey = null;
|
|
68
70
|
constructor(config = {}, sessionFactory) {
|
|
69
71
|
this.registry = config.registry ?? createDefaultRegistry();
|
|
70
72
|
this.mode = config.mode ?? "pseudonymize";
|
|
@@ -246,31 +248,7 @@ export class Anonymizer {
|
|
|
246
248
|
}
|
|
247
249
|
// Handle secrets .env file loading and literal value matching
|
|
248
250
|
if (this.secretsConfig.enabled) {
|
|
249
|
-
|
|
250
|
-
...(this.secretsConfig.redactValues ?? []),
|
|
251
|
-
];
|
|
252
|
-
const minLength = this.secretsConfig.minValueLength ?? 4;
|
|
253
|
-
// Parse .env files if provided
|
|
254
|
-
if (this.secretsConfig.envFiles !== undefined && this.secretsConfig.envFiles.length > 0) {
|
|
255
|
-
const storage = await getStorageProvider();
|
|
256
|
-
const envFiles = storage.resolveFiles !== undefined
|
|
257
|
-
? await storage.resolveFiles(this.secretsConfig.envFiles, this.secretsConfig.envBaseDirectory)
|
|
258
|
-
: this.secretsConfig.envFiles;
|
|
259
|
-
for (const envFile of envFiles) {
|
|
260
|
-
try {
|
|
261
|
-
const content = await storage.readTextFile(envFile);
|
|
262
|
-
const parsed = parseEnvFile(content);
|
|
263
|
-
literalValues.push(...parsed);
|
|
264
|
-
}
|
|
265
|
-
catch {
|
|
266
|
-
// Skip files that can't be read
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
// Register literal value recognizer if we have values
|
|
271
|
-
if (literalValues.length > 0) {
|
|
272
|
-
this.registry.register(createLiteralValueRecognizer(literalValues, minLength));
|
|
273
|
-
}
|
|
251
|
+
this.applySecretValues(await this.readSecretValues());
|
|
274
252
|
}
|
|
275
253
|
this.modelVersion = this.nerModel.version;
|
|
276
254
|
this.initialized = true;
|
|
@@ -372,6 +350,54 @@ export class Anonymizer {
|
|
|
372
350
|
stats,
|
|
373
351
|
};
|
|
374
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Re-reads `secrets.envFiles`, resolving globs again, and updates the
|
|
355
|
+
* values matched as ENV_VAR_SECRET.
|
|
356
|
+
* @returns Whether the set of secret values changed
|
|
357
|
+
*/
|
|
358
|
+
async reloadSecrets() {
|
|
359
|
+
if (!this.secretsConfig.enabled)
|
|
360
|
+
return false;
|
|
361
|
+
if (!this.initialized) {
|
|
362
|
+
await this.initialize();
|
|
363
|
+
return false;
|
|
364
|
+
}
|
|
365
|
+
return this.applySecretValues(await this.readSecretValues());
|
|
366
|
+
}
|
|
367
|
+
async readSecretValues() {
|
|
368
|
+
const values = [...(this.secretsConfig.redactValues ?? [])];
|
|
369
|
+
const patterns = this.secretsConfig.envFiles;
|
|
370
|
+
if (patterns === undefined || patterns.length === 0)
|
|
371
|
+
return values;
|
|
372
|
+
const storage = await getStorageProvider();
|
|
373
|
+
const envFiles = storage.resolveFiles !== undefined
|
|
374
|
+
? await storage.resolveFiles(patterns, this.secretsConfig.envBaseDirectory)
|
|
375
|
+
: patterns;
|
|
376
|
+
for (const envFile of envFiles) {
|
|
377
|
+
try {
|
|
378
|
+
values.push(...parseEnvFile(await storage.readTextFile(envFile)));
|
|
379
|
+
}
|
|
380
|
+
catch {
|
|
381
|
+
// Skip files that can't be read
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
return values;
|
|
385
|
+
}
|
|
386
|
+
applySecretValues(values) {
|
|
387
|
+
const key = JSON.stringify(values);
|
|
388
|
+
if (key === this.secretValuesKey)
|
|
389
|
+
return false;
|
|
390
|
+
this.secretValuesKey = key;
|
|
391
|
+
if (this.literalRecognizer !== null) {
|
|
392
|
+
this.registry.remove(this.literalRecognizer);
|
|
393
|
+
this.literalRecognizer = null;
|
|
394
|
+
}
|
|
395
|
+
if (values.length > 0) {
|
|
396
|
+
this.literalRecognizer = createLiteralValueRecognizer(values, this.secretsConfig.minValueLength ?? 4);
|
|
397
|
+
this.registry.register(this.literalRecognizer);
|
|
398
|
+
}
|
|
399
|
+
return true;
|
|
400
|
+
}
|
|
375
401
|
/**
|
|
376
402
|
* Disposes of resources
|
|
377
403
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anonymizer.js","sourceRoot":"","sources":["../../src/core/anonymizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anonymizer.js","sourceRoot":"","sources":["../../src/core/anonymizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup shared by the OpenCode 1 and OpenCode 2 plugins: options, the
|
|
3
|
+
* anonymizer and its policies, per-session PII maps, scrubbing, env file
|
|
4
|
+
* reloading, and tool argument handling.
|
|
5
|
+
*/
|
|
6
|
+
import { AnonymizerSessionImpl } from "../storage/session-base.js";
|
|
7
|
+
import type { AnonymizationPolicy } from "../types/index.js";
|
|
8
|
+
import type { RehydraPluginOptions } from "./types.js";
|
|
9
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
10
|
+
export type Log = (level: LogLevel, message: string, extra?: Record<string, unknown>) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Merges options passed by OpenCode (opencode.json) with factory options.
|
|
13
|
+
* Factory options take precedence per key.
|
|
14
|
+
*/
|
|
15
|
+
export declare function mergeOptions(configOptions: unknown, factoryOptions?: RehydraPluginOptions): RehydraPluginOptions;
|
|
16
|
+
/**
|
|
17
|
+
* Recursively rehydrate all string values containing PII tags.
|
|
18
|
+
* Returns a new value (for strings/arrays) or the same object mutated in-place
|
|
19
|
+
* (for plain objects). The in-place mutation is required because OpenCode's
|
|
20
|
+
* tool.execute.before hook uses the original args reference for execution —
|
|
21
|
+
* replacing the object wholesale has no effect.
|
|
22
|
+
*/
|
|
23
|
+
export declare function deepRehydrate(value: unknown, session: AnonymizerSessionImpl, tagPrefix: string): Promise<unknown>;
|
|
24
|
+
/** Scrubs the messages of one model request and logs what it found. */
|
|
25
|
+
export interface RequestScrub {
|
|
26
|
+
/** Anonymizes a string. */
|
|
27
|
+
text(sessionID: string, text: string, policy?: Partial<AnonymizationPolicy>): Promise<string>;
|
|
28
|
+
/** Anonymizes every string in a value, returning a copy so the original stays intact. */
|
|
29
|
+
copy(sessionID: string, value: unknown, policy?: Partial<AnonymizationPolicy>): Promise<unknown>;
|
|
30
|
+
/** Logs the totals for the request. */
|
|
31
|
+
finish(messageCount: number): void;
|
|
32
|
+
}
|
|
33
|
+
export interface RehydraCore {
|
|
34
|
+
readonly tagPrefix: string;
|
|
35
|
+
readonly rehydraInstruction: string;
|
|
36
|
+
/** Whether any request so far had something scrubbed. */
|
|
37
|
+
readonly hasAnonymized: boolean;
|
|
38
|
+
startRequest(): RequestScrub;
|
|
39
|
+
/** Policy for a tool's output, widened for Git and GitHub CLI commands when vcsIdentities is on. */
|
|
40
|
+
outputPolicy(command: unknown): Partial<AnonymizationPolicy> | undefined;
|
|
41
|
+
/** Reloads env file secrets when envRefreshInterval has passed since the last check. */
|
|
42
|
+
refreshSecrets(): Promise<void>;
|
|
43
|
+
/** Restores real values in tool arguments, or keeps them redacted for redactTools. */
|
|
44
|
+
beforeTool(tool: string, sessionID: string, callID: string, args: unknown): Promise<unknown>;
|
|
45
|
+
/** Restores real values in a tool result. */
|
|
46
|
+
afterTool(tool: string, sessionID: string, callID: string, result: unknown): Promise<unknown>;
|
|
47
|
+
rehydrateText(sessionID: string, text: string): Promise<string>;
|
|
48
|
+
/** Drops all PII maps. */
|
|
49
|
+
dispose(): void;
|
|
50
|
+
}
|
|
51
|
+
export declare function createRehydraCore(options: RehydraPluginOptions, context: {
|
|
52
|
+
directory: string;
|
|
53
|
+
log: Log;
|
|
54
|
+
info?: Record<string, unknown>;
|
|
55
|
+
}): Promise<RehydraCore>;
|
|
56
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/core.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQpE,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAK9F;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,oBAAoB,GACpC,oBAAoB,CAEtB;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAElB;AA8BD,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9F,yFAAyF;IACzF,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,uCAAuC;IACvC,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,YAAY,IAAI,YAAY,CAAC;IAC7B,oGAAoG;IACpG,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IACzE,wFAAwF;IACxF,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,sFAAsF;IACtF,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7F,6CAA6C;IAC7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,0BAA0B;IAC1B,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,GAAG,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvE,OAAO,CAAC,WAAW,CAAC,CA2PtB"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Setup shared by the OpenCode 1 and OpenCode 2 plugins: options, the
|
|
3
|
+
* anonymizer and its policies, per-session PII maps, scrubbing, env file
|
|
4
|
+
* reloading, and tool argument handling.
|
|
5
|
+
*/
|
|
6
|
+
import { createAnonymizer } from "../core/anonymizer.js";
|
|
7
|
+
import { AnonymizerSessionImpl } from "../storage/session-base.js";
|
|
8
|
+
import { InMemoryPIIStorageProvider } from "../storage/in-memory.js";
|
|
9
|
+
import { InMemoryKeyProvider } from "../crypto/index.js";
|
|
10
|
+
import { PIIType, createDefaultPolicy, SECRET_PII_TYPES, DEFAULT_TAG_FORMAT } from "../types/index.js";
|
|
11
|
+
import { buildPIISystemInstruction } from "../proxy/system-instruction.js";
|
|
12
|
+
import { buildTagPrefix } from "../utils/regex.js";
|
|
13
|
+
import { githubUsernameRecognizer } from "./github-username.js";
|
|
14
|
+
import { protectIdentityTags } from "./identity-recognizer.js";
|
|
15
|
+
import { vcsCommandTypes } from "./vcs-command.js";
|
|
16
|
+
import { gitIdentityRecognizer } from "./git-identity.js";
|
|
17
|
+
const DEFAULT_ENV_REFRESH_INTERVAL = 2000;
|
|
18
|
+
const DEFAULT_REDACT_TOOLS = ["webfetch", "websearch"];
|
|
19
|
+
/**
|
|
20
|
+
* Merges options passed by OpenCode (opencode.json) with factory options.
|
|
21
|
+
* Factory options take precedence per key.
|
|
22
|
+
*/
|
|
23
|
+
export function mergeOptions(configOptions, factoryOptions) {
|
|
24
|
+
return { ...configOptions, ...factoryOptions };
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Recursively rehydrate all string values containing PII tags.
|
|
28
|
+
* Returns a new value (for strings/arrays) or the same object mutated in-place
|
|
29
|
+
* (for plain objects). The in-place mutation is required because OpenCode's
|
|
30
|
+
* tool.execute.before hook uses the original args reference for execution —
|
|
31
|
+
* replacing the object wholesale has no effect.
|
|
32
|
+
*/
|
|
33
|
+
export async function deepRehydrate(value, session, tagPrefix) {
|
|
34
|
+
return deepMapStrings(value, (text) => text.includes(tagPrefix) ? session.rehydrate(text) : text);
|
|
35
|
+
}
|
|
36
|
+
/** Applies `map` to every string, mutating arrays and objects in place. */
|
|
37
|
+
async function deepMapStrings(value, map) {
|
|
38
|
+
if (typeof value === "string")
|
|
39
|
+
return map(value);
|
|
40
|
+
if (Array.isArray(value)) {
|
|
41
|
+
for (let i = 0; i < value.length; i++) {
|
|
42
|
+
value[i] = await deepMapStrings(value[i], map);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
if (value !== null && typeof value === "object") {
|
|
47
|
+
const obj = value;
|
|
48
|
+
for (const key of Object.keys(obj)) {
|
|
49
|
+
obj[key] = await deepMapStrings(obj[key], map);
|
|
50
|
+
}
|
|
51
|
+
return obj;
|
|
52
|
+
}
|
|
53
|
+
return value;
|
|
54
|
+
}
|
|
55
|
+
/** Converts a tool name pattern with `*` wildcards to an anchored regex. */
|
|
56
|
+
function toolPattern(pattern) {
|
|
57
|
+
const source = pattern.split("*").map((part) => part.replace(/[.+?^${}()|[\]\\]/g, "\\$&")).join(".*");
|
|
58
|
+
return new RegExp(`^${source}$`);
|
|
59
|
+
}
|
|
60
|
+
export async function createRehydraCore(options, context) {
|
|
61
|
+
const { log } = context;
|
|
62
|
+
const keyProvider = new InMemoryKeyProvider();
|
|
63
|
+
const piiStorage = new InMemoryPIIStorageProvider();
|
|
64
|
+
// Build anonymizer config from options, sharing key and storage providers
|
|
65
|
+
const baseConfig = options.anonymizer ?? {
|
|
66
|
+
secrets: {
|
|
67
|
+
enabled: true,
|
|
68
|
+
envFiles: options.envFiles ?? ["**/.env*"],
|
|
69
|
+
redactValues: options.redactValues,
|
|
70
|
+
minValueLength: options.minValueLength,
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
const anonymizerConfig = {
|
|
74
|
+
...baseConfig,
|
|
75
|
+
secrets: baseConfig.secrets === undefined ? undefined : {
|
|
76
|
+
...baseConfig.secrets,
|
|
77
|
+
envBaseDirectory: baseConfig.secrets.envBaseDirectory ?? context.directory,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
const tagFormat = anonymizerConfig.tagFormat ?? options.tagFormat ?? DEFAULT_TAG_FORMAT;
|
|
81
|
+
const tagPrefix = buildTagPrefix(tagFormat);
|
|
82
|
+
const rehydraInstruction = `<rehydra>\n${buildPIISystemInstruction(tagFormat)}\n</rehydra>`;
|
|
83
|
+
const anonymizer = createAnonymizer({
|
|
84
|
+
...anonymizerConfig,
|
|
85
|
+
tagFormat,
|
|
86
|
+
keyProvider,
|
|
87
|
+
piiStorageProvider: piiStorage,
|
|
88
|
+
});
|
|
89
|
+
if (options.vcsIdentities === true) {
|
|
90
|
+
anonymizer.getRegistry().register(protectIdentityTags(githubUsernameRecognizer, tagFormat));
|
|
91
|
+
anonymizer.getRegistry().register(protectIdentityTags(gitIdentityRecognizer, tagFormat));
|
|
92
|
+
}
|
|
93
|
+
await anonymizer.initialize();
|
|
94
|
+
// Build policy with disabled types (URL and IP_ADDRESS disabled by default)
|
|
95
|
+
const disableTypes = options.disableTypes ?? ["URL", "IP_ADDRESS"];
|
|
96
|
+
let policy = options.policy;
|
|
97
|
+
if (disableTypes.length > 0) {
|
|
98
|
+
const base = createDefaultPolicy();
|
|
99
|
+
const disableSet = new Set(disableTypes);
|
|
100
|
+
const regexEnabledTypes = new Set(base.regexEnabledTypes);
|
|
101
|
+
const nerEnabledTypes = new Set(base.nerEnabledTypes);
|
|
102
|
+
// createDefaultPolicy() excludes secret types (they're opt-in via
|
|
103
|
+
// AnonymizerConfig.secrets). Add them back so that passing this
|
|
104
|
+
// partial policy to mergePolicyWithBase doesn't accidentally drop
|
|
105
|
+
// the secret types the anonymizer added to its internal default.
|
|
106
|
+
for (const secretType of SECRET_PII_TYPES) {
|
|
107
|
+
regexEnabledTypes.add(secretType);
|
|
108
|
+
}
|
|
109
|
+
for (const t of disableSet) {
|
|
110
|
+
const piiType = t;
|
|
111
|
+
regexEnabledTypes.delete(piiType);
|
|
112
|
+
nerEnabledTypes.delete(piiType);
|
|
113
|
+
}
|
|
114
|
+
policy = {
|
|
115
|
+
...policy,
|
|
116
|
+
regexEnabledTypes,
|
|
117
|
+
nerEnabledTypes,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
const redactToolNames = options.redactTools ?? DEFAULT_REDACT_TOOLS;
|
|
121
|
+
const redactTools = redactToolNames.map(toolPattern);
|
|
122
|
+
const envRefreshInterval = options.envRefreshInterval ?? DEFAULT_ENV_REFRESH_INTERVAL;
|
|
123
|
+
log("info", "plugin initialized", {
|
|
124
|
+
envFiles: anonymizerConfig.secrets?.envFiles,
|
|
125
|
+
redactValueCount: options.redactValues?.length ?? 0,
|
|
126
|
+
disableTypes,
|
|
127
|
+
redactTools: redactToolNames,
|
|
128
|
+
...context.info,
|
|
129
|
+
});
|
|
130
|
+
const locale = options.locale;
|
|
131
|
+
const identityPolicy = (types) => {
|
|
132
|
+
const defaults = createDefaultPolicy();
|
|
133
|
+
const configPolicy = anonymizerConfig.defaultPolicy;
|
|
134
|
+
const enabledTypes = new Set(policy?.enabledTypes ?? configPolicy?.enabledTypes ?? defaults.enabledTypes);
|
|
135
|
+
const regexEnabledTypes = new Set(policy?.regexEnabledTypes ?? configPolicy?.regexEnabledTypes ?? defaults.regexEnabledTypes);
|
|
136
|
+
if (anonymizerConfig.secrets?.enabled === true) {
|
|
137
|
+
for (const type of SECRET_PII_TYPES) {
|
|
138
|
+
if (!disableTypes.includes(type)) {
|
|
139
|
+
enabledTypes.add(type);
|
|
140
|
+
regexEnabledTypes.add(type);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
for (const type of types) {
|
|
145
|
+
if (!disableTypes.includes(type)) {
|
|
146
|
+
enabledTypes.add(type);
|
|
147
|
+
regexEnabledTypes.add(type);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return { ...policy, enabledTypes, regexEnabledTypes, reuseIdsForRepeatedPII: true };
|
|
151
|
+
};
|
|
152
|
+
// One session per OpenCode session, keyed by sessionID
|
|
153
|
+
const sessions = new Map();
|
|
154
|
+
function getSession(sessionID) {
|
|
155
|
+
let session = sessions.get(sessionID);
|
|
156
|
+
if (session === undefined) {
|
|
157
|
+
session = new AnonymizerSessionImpl(anonymizer, sessionID, piiStorage, keyProvider);
|
|
158
|
+
sessions.set(sessionID, session);
|
|
159
|
+
}
|
|
160
|
+
return session;
|
|
161
|
+
}
|
|
162
|
+
// Track whether any anonymization occurred (to conditionally inject instruction)
|
|
163
|
+
let hasAnonymized = false;
|
|
164
|
+
let lastRefresh = Date.now();
|
|
165
|
+
let refreshing;
|
|
166
|
+
return {
|
|
167
|
+
tagPrefix,
|
|
168
|
+
rehydraInstruction,
|
|
169
|
+
get hasAnonymized() {
|
|
170
|
+
return hasAnonymized;
|
|
171
|
+
},
|
|
172
|
+
startRequest() {
|
|
173
|
+
let totalScrubbed = 0;
|
|
174
|
+
const scrubbedByType = {};
|
|
175
|
+
const text = async (sessionID, value, activePolicy) => {
|
|
176
|
+
const result = await getSession(sessionID).anonymize(value, locale, activePolicy ?? policy);
|
|
177
|
+
if (result.stats.totalEntities > 0) {
|
|
178
|
+
hasAnonymized = true;
|
|
179
|
+
totalScrubbed += result.stats.totalEntities;
|
|
180
|
+
for (const [type, count] of Object.entries(result.stats.countsByType)) {
|
|
181
|
+
scrubbedByType[type] = (scrubbedByType[type] ?? 0) + count;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return result.anonymizedText;
|
|
185
|
+
};
|
|
186
|
+
// OpenCode retains the rehydrated arguments after tool execution and
|
|
187
|
+
// serializes them into later model requests. Copy and scrub values so
|
|
188
|
+
// the execution arguments and JSON property names stay intact.
|
|
189
|
+
const copy = async (sessionID, value, activePolicy) => {
|
|
190
|
+
if (typeof value === "string")
|
|
191
|
+
return text(sessionID, value, activePolicy);
|
|
192
|
+
if (Array.isArray(value)) {
|
|
193
|
+
const result = [];
|
|
194
|
+
for (const item of value)
|
|
195
|
+
result.push(await copy(sessionID, item, activePolicy));
|
|
196
|
+
return result;
|
|
197
|
+
}
|
|
198
|
+
if (value !== null && typeof value === "object") {
|
|
199
|
+
const entries = [];
|
|
200
|
+
for (const [key, item] of Object.entries(value)) {
|
|
201
|
+
entries.push([key, await copy(sessionID, item, activePolicy)]);
|
|
202
|
+
}
|
|
203
|
+
return Object.fromEntries(entries);
|
|
204
|
+
}
|
|
205
|
+
return value;
|
|
206
|
+
};
|
|
207
|
+
return {
|
|
208
|
+
text,
|
|
209
|
+
copy,
|
|
210
|
+
finish(messageCount) {
|
|
211
|
+
if (totalScrubbed > 0) {
|
|
212
|
+
// Only include types that actually had hits
|
|
213
|
+
const nonZero = {};
|
|
214
|
+
for (const [type, count] of Object.entries(scrubbedByType)) {
|
|
215
|
+
if (count > 0)
|
|
216
|
+
nonZero[type] = count;
|
|
217
|
+
}
|
|
218
|
+
log("info", `scrubbed ${totalScrubbed} secret(s) from messages`, {
|
|
219
|
+
scrubbed: nonZero,
|
|
220
|
+
messageCount,
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
else {
|
|
224
|
+
log("debug", "no secrets found in messages", { messageCount });
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
};
|
|
228
|
+
},
|
|
229
|
+
outputPolicy(command) {
|
|
230
|
+
if (options.vcsIdentities !== true || typeof command !== "string")
|
|
231
|
+
return policy;
|
|
232
|
+
const commands = vcsCommandTypes(command);
|
|
233
|
+
const types = [];
|
|
234
|
+
if (commands.has("github"))
|
|
235
|
+
types.push(PIIType.GITHUB_USERNAME);
|
|
236
|
+
if (commands.has("git"))
|
|
237
|
+
types.push(PIIType.PERSON);
|
|
238
|
+
return types.length > 0 ? identityPolicy(types) : policy;
|
|
239
|
+
},
|
|
240
|
+
refreshSecrets() {
|
|
241
|
+
if (envRefreshInterval === false)
|
|
242
|
+
return Promise.resolve();
|
|
243
|
+
if (refreshing !== undefined)
|
|
244
|
+
return refreshing;
|
|
245
|
+
if (Date.now() - lastRefresh < envRefreshInterval)
|
|
246
|
+
return Promise.resolve();
|
|
247
|
+
refreshing = (async () => {
|
|
248
|
+
try {
|
|
249
|
+
if (await anonymizer.reloadSecrets())
|
|
250
|
+
log("info", "reloaded secrets from env files");
|
|
251
|
+
}
|
|
252
|
+
catch (error) {
|
|
253
|
+
log("warn", "failed to reload env files", { error: String(error) });
|
|
254
|
+
}
|
|
255
|
+
finally {
|
|
256
|
+
lastRefresh = Date.now();
|
|
257
|
+
refreshing = undefined;
|
|
258
|
+
}
|
|
259
|
+
})();
|
|
260
|
+
return refreshing;
|
|
261
|
+
},
|
|
262
|
+
async beforeTool(tool, sessionID, callID, args) {
|
|
263
|
+
const session = getSession(sessionID);
|
|
264
|
+
const before = JSON.stringify(args);
|
|
265
|
+
const redacted = redactTools.some((pattern) => pattern.test(tool));
|
|
266
|
+
const result = redacted
|
|
267
|
+
? await deepMapStrings(args, async (text) => (await session.anonymize(text, locale, policy)).anonymizedText)
|
|
268
|
+
: await deepRehydrate(args, session, tagPrefix);
|
|
269
|
+
if (redacted) {
|
|
270
|
+
log("info", "kept tool args redacted", { tool, callID });
|
|
271
|
+
}
|
|
272
|
+
else if (JSON.stringify(result) !== before) {
|
|
273
|
+
log("info", "rehydrated PII tags in tool args", { tool, callID });
|
|
274
|
+
}
|
|
275
|
+
return result;
|
|
276
|
+
},
|
|
277
|
+
async afterTool(tool, sessionID, callID, result) {
|
|
278
|
+
const before = JSON.stringify(result);
|
|
279
|
+
const rehydrated = await deepRehydrate(result, getSession(sessionID), tagPrefix);
|
|
280
|
+
if (JSON.stringify(rehydrated) !== before) {
|
|
281
|
+
log("info", "rehydrated PII tags in tool result", { tool, callID });
|
|
282
|
+
}
|
|
283
|
+
return rehydrated;
|
|
284
|
+
},
|
|
285
|
+
async rehydrateText(sessionID, text) {
|
|
286
|
+
return text.includes(tagPrefix) ? getSession(sessionID).rehydrate(text) : text;
|
|
287
|
+
},
|
|
288
|
+
dispose() {
|
|
289
|
+
sessions.clear();
|
|
290
|
+
piiStorage.clear();
|
|
291
|
+
},
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/opencode-plugin/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
* Rehydra OpenCode Plugin
|
|
3
3
|
* Anonymizes secrets in LLM context via OpenCode's native plugin hooks.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
import { createRehydraPlugin } from "./plugin.js";
|
|
6
|
+
export { createRehydraPlugin } from "./plugin.js";
|
|
7
|
+
export { createRehydraPluginV2 } from "./plugin-v2.js";
|
|
6
8
|
export type { RehydraPluginOptions } from "./types.js";
|
|
9
|
+
export type { RehydraV2Plugin, RehydraV2PluginContext, RehydraCleanup, } from "./plugin-v2.js";
|
|
10
|
+
declare const _default: {
|
|
11
|
+
id: string;
|
|
12
|
+
setup: (context: import("./plugin-v2.js").RehydraV2PluginContext) => Promise<import("./plugin-v2.js").RehydraCleanup | void>;
|
|
13
|
+
server(input?: Parameters<ReturnType<typeof createRehydraPlugin>>[0], options?: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
14
|
+
};
|
|
15
|
+
export default _default;
|
|
7
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opencode-plugin/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACvD,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,GACf,MAAM,gBAAgB,CAAC;;;;mBAmBZ,UAAU,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,YACnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;AANrC,wBAkBE"}
|