opencode-rehydra-core 0.14.2 → 0.14.3
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.
|
@@ -16,16 +16,16 @@ import type { AnonymizationPolicy } from "../../types/index.js";
|
|
|
16
16
|
import type { RehydraPluginOptions } from "../types.js";
|
|
17
17
|
/**
|
|
18
18
|
* Resolves the canonical OpenCode config directory (`$XDG_CONFIG_HOME/opencode`
|
|
19
|
-
* or `$HOME/.config/opencode`). Returns `undefined` when
|
|
20
|
-
*
|
|
19
|
+
* or `$HOME/.config/opencode`). Returns `undefined` when no usable path can be
|
|
20
|
+
* derived. Honours `XDG_CONFIG_HOME` on every platform so distros overriding
|
|
21
21
|
* the spec keep working, and falls back to `~/.config/opencode` per the
|
|
22
22
|
* OpenCode XDG spec.
|
|
23
23
|
*/
|
|
24
24
|
export declare function opencodeConfigDirectory(env?: NodeJS.ProcessEnv, homedirFn?: () => string): string | undefined;
|
|
25
25
|
/**
|
|
26
26
|
* Heuristic: returns `true` when `projectDir` is somewhere underneath (or equal
|
|
27
|
-
* to) `opencodeConfigDir
|
|
28
|
-
*
|
|
27
|
+
* to) `opencodeConfigDir`. Mirrors a directory-equality check rather than
|
|
28
|
+
* relying on a separator-suffix workaround.
|
|
29
29
|
*/
|
|
30
30
|
export declare function shouldUseOpencodeConfigDir(projectDir: string, opencodeConfigDir: string): boolean;
|
|
31
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/opencode-plugin/v2/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMrE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,MAAM,MAAgB,GAChC,MAAM,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/opencode-plugin/v2/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,OAAO,KAAK,EAAE,mBAAmB,EAA4B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMrE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,MAAM,MAAgB,GAChC,MAAM,GAAG,SAAS,CAYpB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAKT;AA8CD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,YAAY,EAAE,MAAM,GACnB,oBAAoB,CA2BtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,oBAAoB,EAC7B,YAAY,EAAE,MAAM,EACpB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,GAAE,MAAM,MAAgB,GAChC,gBAAgB,CAuBlB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAuB1C"}
|
|
@@ -12,48 +12,42 @@
|
|
|
12
12
|
* re-adding the opt-in secret types the anonymizer enables internally.
|
|
13
13
|
*/
|
|
14
14
|
import { homedir } from "node:os";
|
|
15
|
-
import {
|
|
15
|
+
import { join } from "node:path";
|
|
16
16
|
import { PIIType, SECRET_PII_TYPES, createDefaultPolicy, } from "../../types/index.js";
|
|
17
17
|
const DEFAULT_DISABLE_TYPES = ["URL", "IP_ADDRESS"];
|
|
18
18
|
const DEFAULT_ENV_FILES = ["**/.env*"];
|
|
19
19
|
const DEFAULT_MIN_VALUE_LENGTH = 4;
|
|
20
20
|
/**
|
|
21
21
|
* Resolves the canonical OpenCode config directory (`$XDG_CONFIG_HOME/opencode`
|
|
22
|
-
* or `$HOME/.config/opencode`). Returns `undefined` when
|
|
23
|
-
*
|
|
22
|
+
* or `$HOME/.config/opencode`). Returns `undefined` when no usable path can be
|
|
23
|
+
* derived. Honours `XDG_CONFIG_HOME` on every platform so distros overriding
|
|
24
24
|
* the spec keep working, and falls back to `~/.config/opencode` per the
|
|
25
25
|
* OpenCode XDG spec.
|
|
26
26
|
*/
|
|
27
27
|
export function opencodeConfigDirectory(env = process.env, homedirFn = homedir) {
|
|
28
28
|
const xdg = env.XDG_CONFIG_HOME;
|
|
29
29
|
if (typeof xdg === "string" && xdg.trim().length > 0) {
|
|
30
|
-
return
|
|
30
|
+
return join(xdg, "opencode");
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
const candidates = [env.HOME, env.USERPROFILE, homedirFn()];
|
|
33
|
+
for (const candidate of candidates) {
|
|
34
|
+
if (typeof candidate === "string" && candidate.trim().length > 0) {
|
|
35
|
+
return join(candidate, ".config", "opencode");
|
|
36
|
+
}
|
|
35
37
|
}
|
|
36
38
|
return undefined;
|
|
37
39
|
}
|
|
38
|
-
/** Joins POSIX/Windows path segments without depending on `node:path.join`. */
|
|
39
|
-
function joinPath(...segments) {
|
|
40
|
-
return segments
|
|
41
|
-
.filter((segment) => segment.length > 0)
|
|
42
|
-
.join(sep)
|
|
43
|
-
.replace(new RegExp(`${sep}+`, "g"), sep);
|
|
44
|
-
}
|
|
45
40
|
/**
|
|
46
41
|
* Heuristic: returns `true` when `projectDir` is somewhere underneath (or equal
|
|
47
|
-
* to) `opencodeConfigDir
|
|
48
|
-
*
|
|
42
|
+
* to) `opencodeConfigDir`. Mirrors a directory-equality check rather than
|
|
43
|
+
* relying on a separator-suffix workaround.
|
|
49
44
|
*/
|
|
50
45
|
export function shouldUseOpencodeConfigDir(projectDir, opencodeConfigDir) {
|
|
51
|
-
|
|
52
|
-
const a = normalized(projectDir);
|
|
53
|
-
const b = normalized(opencodeConfigDir);
|
|
54
|
-
if (a === b)
|
|
46
|
+
if (projectDir === opencodeConfigDir)
|
|
55
47
|
return false;
|
|
56
|
-
|
|
48
|
+
const withSep = opencodeConfigDir.replace(/[\/\\]+$/, "") + "/";
|
|
49
|
+
const candidate = projectDir.replace(/[\/\\]+$/, "");
|
|
50
|
+
return candidate.startsWith(withSep);
|
|
57
51
|
}
|
|
58
52
|
function isRecord(value) {
|
|
59
53
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -116,9 +110,14 @@ export function normalizePluginOptions(raw, ctxDirectory) {
|
|
|
116
110
|
if (isRecord(source.policy)) {
|
|
117
111
|
normalized.policy = source.policy;
|
|
118
112
|
}
|
|
113
|
+
// Only forward `anonymizer` when the user actually configured one.
|
|
114
|
+
// Leaving it `undefined` lets {@link anonymizerConfigFromOptions} distinguish
|
|
115
|
+
// "user did not configure" from "user configured an empty block", which is
|
|
116
|
+
// required to honour the global `~/.config/opencode` default for
|
|
117
|
+
// `secrets.envBaseDirectory`.
|
|
119
118
|
normalized.anonymizer = isRecord(source.anonymizer)
|
|
120
119
|
? source.anonymizer
|
|
121
|
-
:
|
|
120
|
+
: undefined;
|
|
122
121
|
return normalized;
|
|
123
122
|
}
|
|
124
123
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/opencode-plugin/v2/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/opencode-plugin/v2/options.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,qBAAqB,GAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACnE,MAAM,iBAAiB,GAAa,CAAC,UAAU,CAAC,CAAC;AACjD,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,MAAyB,OAAO,CAAC,GAAG,EACpC,YAA0B,OAAO;IAEjC,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,iBAAyB;IAEzB,IAAI,UAAU,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IAChE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,IAAI,EAAuB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACxE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA6B;IAE7B,OAAO;QACL,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,iBAAiB;QAC/C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,wBAAwB;KACnE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACpC,GAAY,EACZ,YAAoB;IAEpB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,MAAM,UAAU,GAAyB;QACvC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,iBAAiB;QAC7D,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC;QAChD,cAAc,EACZ,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,wBAAwB;QACtE,YAAY,EAAE,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,qBAAqB;QAC1E,aAAa,EACX,OAAO,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK;QAC1E,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;QACrE,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;KACzC,CAAC;IAEF,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,MAAsC,CAAC;IACpE,CAAC;IACD,mEAAmE;IACnE,8EAA8E;IAC9E,2EAA2E;IAC3E,iEAAiE;IACjE,8BAA8B;IAC9B,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,CAAC,CAAE,MAAM,CAAC,UAA+B;QACzC,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAA6B,EAC7B,YAAoB,EACpB,MAAyB,OAAO,CAAC,GAAG,EACpC,YAA0B,OAAO;IAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;IACtD,MAAM,IAAI,GAAqB,YAAY;QACzC,CAAC,CAAC,OAAO,CAAC,UAAW;QACrB,CAAC,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;IAE/C,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CACxD,YAAY;QACV,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,YAAY,CAAC,CAC9D,CAAC;IAEF,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,IAAI,CAAC,OAAO;YACf,gBAAgB;SACjB;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA6B;IAE7B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,qBAAqB,CAAC;IACnE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,IAAI,GAAG,mBAAmB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACtD,2EAA2E;IAC3E,2EAA2E;IAC3E,6CAA6C;IAC7C,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;QAC1C,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAe,CAAC;QAChC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AACnE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-rehydra-core",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.3",
|
|
4
4
|
"description": "On-device PII anonymization core SDK (opencode-rehydra-core). Ships the OpenCode plugin as opencode-rehydar.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -88,6 +88,9 @@
|
|
|
88
88
|
"publish:plugin": "npm run build && cd packages/opencode-plugin && npm publish --access public && cd ../..",
|
|
89
89
|
"publish:all": "npm run build && npm publish --access public && cd packages/opencode-plugin && npm publish --access public && cd ../..",
|
|
90
90
|
"pack:dry-run": "npm pack --dry-run && cd packages/opencode-plugin && npm pack --dry-run && cd ../..",
|
|
91
|
+
"version:patch": "npm version patch -m \"%s\"",
|
|
92
|
+
"version:minor": "npm version minor -m \"%s\"",
|
|
93
|
+
"version:major": "npm version major -m \"%s\"",
|
|
91
94
|
"setup:ner": "bash scripts/setup-ner-model.sh --quantize",
|
|
92
95
|
"setup:ner:standard": "bash scripts/setup-ner-model.sh",
|
|
93
96
|
"setup:ner:upload": "bash scripts/setup-ner-model.sh --quantize --upload",
|