opencode-varlock 0.0.8 → 0.0.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Output scrubber - tool.execute.after hook that redacts secret values
3
+ * from tool output before they reach the agent context.
4
+ */
5
+ export type SecretRegistry = {
6
+ /** Register a secret value that should be redacted from output */
7
+ register(name: string, value: string): void;
8
+ /** Scrub all registered secret values from a string */
9
+ scrub(text: string): string;
10
+ /** Get count of registered secrets */
11
+ size(): number;
12
+ };
13
+ export declare function createSecretRegistry(): SecretRegistry;
14
+ //# sourceMappingURL=scrubber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubber.d.ts","sourceRoot":"","sources":["../src/scrubber.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,uDAAuD;IACvD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,sCAAsC;IACtC,IAAI,IAAI,MAAM,CAAA;CACf,CAAA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CA6BrD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Output scrubber - tool.execute.after hook that redacts secret values
3
+ * from tool output before they reach the agent context.
4
+ */
5
+ export function createSecretRegistry() {
6
+ const secrets = new Map(); // name -> value
7
+ return {
8
+ register(name, value) {
9
+ if (value && value.length >= 3) { // don't scrub trivially short values
10
+ secrets.set(name, value);
11
+ }
12
+ },
13
+ scrub(text) {
14
+ let result = text;
15
+ for (const [name, value] of secrets) {
16
+ // Only replace if the value is substantial enough to avoid false positives
17
+ if (value.length >= 8) {
18
+ result = result.replaceAll(value, `[REDACTED:${name}]`);
19
+ }
20
+ else if (value.length >= 3) {
21
+ // For shorter values, only replace exact matches with word boundaries
22
+ const escaped = value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
23
+ result = result.replace(new RegExp(`\\b${escaped}\\b`, 'g'), `[REDACTED:${name}]`);
24
+ }
25
+ }
26
+ return result;
27
+ },
28
+ size() {
29
+ return secrets.size;
30
+ },
31
+ };
32
+ }
33
+ //# sourceMappingURL=scrubber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubber.js","sourceRoot":"","sources":["../src/scrubber.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA,CAAC,gBAAgB;IAE1D,OAAO;QACL,QAAQ,CAAC,IAAY,EAAE,KAAa;YAClC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,qCAAqC;gBACrE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAY;YAChB,IAAI,MAAM,GAAG,IAAI,CAAA;YACjB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,2EAA2E;gBAC3E,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,aAAa,IAAI,GAAG,CAAC,CAAA;gBACzD,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAC7B,sEAAsE;oBACtE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA;oBAC5D,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,OAAO,KAAK,EAAE,GAAG,CAAC,EAAE,aAAa,IAAI,GAAG,CAAC,CAAA;gBACpF,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAED,IAAI;YACF,OAAO,OAAO,CAAC,IAAI,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { EnvConfig, VarlockConfig } from "./config.js";
2
- export declare function createLoadEnvTool(envConfig: EnvConfig): {
2
+ import type { SecretRegistry } from "./scrubber.js";
3
+ export declare function createLoadEnvTool(envConfig: EnvConfig, registry?: SecretRegistry): {
3
4
  description: string;
4
5
  args: {
5
6
  path: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
@@ -12,7 +13,7 @@ export declare function createLoadEnvTool(envConfig: EnvConfig): {
12
13
  prefix?: string | undefined;
13
14
  }, context: import("@opencode-ai/plugin").ToolContext): Promise<string>;
14
15
  };
15
- export declare function createLoadSecretsTool($: any, varlockConfig: VarlockConfig): {
16
+ export declare function createLoadSecretsTool($: any, varlockConfig: VarlockConfig, registry?: SecretRegistry): {
16
17
  description: string;
17
18
  args: {
18
19
  namespace: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS;;;;;;;;;;;;EAyFrD;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,GAAG,EACN,aAAa,EAAE,aAAa;;;;;;;;;;;;;;EAoG7B;AAED,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,GAAG,EACN,aAAa,EAAE,aAAa;;;;;;;;EAsD7B"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAYnD,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,cAAc;;;;;;;;;;;;EAuGhF;AAED,wBAAgB,qBAAqB,CACnC,CAAC,EAAE,GAAG,EACN,aAAa,EAAE,aAAa,EAC5B,QAAQ,CAAC,EAAE,cAAc;;;;;;;;;;;;;;EAmH1B;AAED,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,GAAG,EACN,aAAa,EAAE,aAAa;;;;;;;;EA6D7B"}
package/dist/tools.js CHANGED
@@ -1,8 +1,20 @@
1
1
  import { tool } from "@opencode-ai/plugin";
2
- import { readFileSync, existsSync } from "fs";
2
+ import { readFileSync, existsSync, realpathSync } from "fs";
3
3
  import { resolve } from "path";
4
- export function createLoadEnvTool(envConfig) {
5
- const allowedRoot = resolve(envConfig.allowedRoot);
4
+ const SAFE_INPUT_RE = /^[a-zA-Z0-9_.\-\/]+$/;
5
+ function validateInput(value, label) {
6
+ if (!SAFE_INPUT_RE.test(value)) {
7
+ throw new Error(`[varlock] Invalid ${label}: "${value}". Only alphanumeric, hyphens, underscores, dots, and slashes are allowed.`);
8
+ }
9
+ }
10
+ export function createLoadEnvTool(envConfig, registry) {
11
+ let allowedRoot;
12
+ try {
13
+ allowedRoot = realpathSync(resolve(envConfig.allowedRoot));
14
+ }
15
+ catch {
16
+ allowedRoot = resolve(envConfig.allowedRoot);
17
+ }
6
18
  return tool({
7
19
  description: [
8
20
  "Load environment variables from a .env file into the running process.",
@@ -35,7 +47,12 @@ export function createLoadEnvTool(envConfig) {
35
47
  if (!existsSync(envPath)) {
36
48
  throw new Error(`[varlock] File not found: ${envPath}`);
37
49
  }
38
- const content = readFileSync(envPath, "utf-8");
50
+ const realPath = realpathSync(envPath);
51
+ if (!realPath.startsWith(allowedRoot)) {
52
+ throw new Error(`[varlock] Path "${args.path}" resolves outside the allowed root via symlink. ` +
53
+ `Only .env files under "${allowedRoot}" are permitted.`);
54
+ }
55
+ const content = readFileSync(realPath, "utf-8");
39
56
  const loaded = [];
40
57
  const skipped = [];
41
58
  for (const line of content.split("\n")) {
@@ -61,6 +78,7 @@ export function createLoadEnvTool(envConfig) {
61
78
  continue;
62
79
  }
63
80
  process.env[keyPart] = value;
81
+ registry?.register(keyPart, value);
64
82
  loaded.push(keyPart);
65
83
  }
66
84
  return JSON.stringify({
@@ -76,7 +94,7 @@ export function createLoadEnvTool(envConfig) {
76
94
  },
77
95
  });
78
96
  }
79
- export function createLoadSecretsTool($, varlockConfig) {
97
+ export function createLoadSecretsTool($, varlockConfig, registry) {
80
98
  const cmd = varlockConfig.command;
81
99
  const defaultNs = varlockConfig.namespace;
82
100
  return tool({
@@ -107,17 +125,27 @@ export function createLoadSecretsTool($, varlockConfig) {
107
125
  },
108
126
  async execute(args) {
109
127
  const ns = args.namespace;
128
+ if (ns) {
129
+ validateInput(ns, "namespace");
130
+ }
131
+ if (args.envPrefix) {
132
+ validateInput(args.envPrefix, "envPrefix");
133
+ }
110
134
  let keyList;
111
135
  if (args.keys && args.keys.length > 0) {
136
+ for (const key of args.keys) {
137
+ validateInput(key, "key");
138
+ }
112
139
  keyList = args.keys;
113
140
  }
114
141
  else {
115
142
  try {
116
- const raw = await $ `${cmd} list ${ns}`.text();
117
- keyList = raw
118
- .trim()
119
- .split("\n")
120
- .filter((k) => k.length > 0);
143
+ const raw = await $ `${cmd} load --format json`.text();
144
+ const parsed = JSON.parse(raw);
145
+ keyList = Object.keys(parsed);
146
+ if (ns) {
147
+ keyList = keyList.filter((k) => k.toLowerCase().startsWith(ns.toLowerCase()));
148
+ }
121
149
  }
122
150
  catch (err) {
123
151
  throw new Error(`[varlock] Failed to list keys in namespace "${ns}": ${err.message}`);
@@ -135,9 +163,10 @@ export function createLoadSecretsTool($, varlockConfig) {
135
163
  continue;
136
164
  }
137
165
  try {
138
- const value = (await $ `${cmd} get ${ns}/${key}`.text()).trim();
166
+ const value = (await $ `${cmd} printenv ${key}`.text()).trim();
139
167
  if (value) {
140
168
  process.env[envName] = value;
169
+ registry?.register(envName, value);
141
170
  loaded.push(envName);
142
171
  }
143
172
  }
@@ -183,13 +212,17 @@ export function createSecretStatusTool($, varlockConfig) {
183
212
  },
184
213
  async execute(args) {
185
214
  const ns = args.namespace;
215
+ if (ns) {
216
+ validateInput(ns, "namespace");
217
+ }
186
218
  let available;
187
219
  try {
188
- const raw = await $ `${cmd} list ${ns}`.text();
189
- available = raw
190
- .trim()
191
- .split("\n")
192
- .filter((k) => k.length > 0);
220
+ const raw = await $ `${cmd} load --format json`.text();
221
+ const parsed = JSON.parse(raw);
222
+ available = Object.keys(parsed);
223
+ if (ns) {
224
+ available = available.filter((k) => k.toLowerCase().startsWith(ns.toLowerCase()));
225
+ }
193
226
  }
194
227
  catch (err) {
195
228
  throw new Error(`[varlock] Cannot list namespace "${ns}": ${err.message}`);
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAG9B,MAAM,UAAU,iBAAiB,CAAC,SAAoB;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;IAElD,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;YACX,uEAAuE;YACvE,kEAAkE;YAClE,oEAAoE;YACpE,wCAAwC;SACzC,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,IAAI,EAAE;YACJ,IAAI,EAAE,IAAI,CAAC,MAAM;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,4CAA4C,CAAC;YACzD,QAAQ,EAAE,IAAI,CAAC,MAAM;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,oDAAoD,CAAC;YACjE,MAAM,EAAE,IAAI,CAAC,MAAM;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;SACjE;QACD,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAElC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,IAAI,uCAAuC;oBACjE,0BAA0B,WAAW,kBAAkB,CAC1D,CAAA;YACH,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAa,EAAE,CAAA;YAE5B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;gBAE3B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAQ;gBAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAClC,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,SAAQ;gBAE1B,IAAI,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC5C,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAClC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACnC,CAAC;gBAED,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;oBAAE,SAAQ;gBAE7D,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC3C,IACE,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAC9C,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAC9C,CAAC;oBACD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAC5B,CAAC;gBAED,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACrB,SAAQ;gBACV,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;gBAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACtB,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,MAAM;gBACN,OAAO;gBACP,OAAO,EACL,UAAU,MAAM,CAAC,MAAM,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;oBACvE,CAAC,OAAO,CAAC,MAAM;wBACb,CAAC,CAAC,aAAa,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC/D,CAAC,CAAC,EAAE,CAAC;aACV,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,CAAM,EACN,aAA4B;IAE5B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAA;IACjC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAA;IAEzC,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;YACX,iEAAiE;YACjE,sFAAsF;YACtF,gEAAgE;SACjE,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,CAAC,MAAM;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,IAAI,EAAE,IAAI,CAAC,MAAM;iBACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CACP,4EAA4E,CAC7E;YACH,QAAQ,EAAE,IAAI,CAAC,MAAM;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CAAC,oDAAoD,CAAC;YACjE,SAAS,EAAE,IAAI,CAAC,MAAM;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,8EAA8E,CAC/E;SACJ;QACD,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAEzB,IAAI,OAAiB,CAAA;YACrB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,CAAC,CAAA,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;oBAC7C,OAAO,GAAG,GAAG;yBACV,IAAI,EAAE;yBACN,KAAK,CAAC,IAAI,CAAC;yBACX,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBACxC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACb,+CAA+C,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CACrE,CAAA;gBACH,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAa,EAAE,CAAA;YAE5B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS;oBAC5B,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE;oBACzC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAA;gBAErB,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACrB,SAAQ;gBACV,CAAC;gBAED,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAA,GAAG,GAAG,QAAQ,EAAE,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;oBAC9D,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,CAAA;wBAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACtB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG;gBACZ,UAAU,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;aACtE,CAAA;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,MAAM,cAAc,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACzE,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC7D,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;gBACzD,MAAM,EAAE,WAAW,EAAE,EAAE;gBACvB,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1B,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,CAAM,EACN,aAA4B;IAE5B,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAA;IACjC,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAA;IAEzC,OAAO,IAAI,CAAC;QACV,WAAW,EAAE;YACX,4DAA4D;YAC5D,8CAA8C;YAC9C,8DAA8D;SAC/D,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,CAAC,MAAM;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,SAAS,CAAC;iBAClB,QAAQ,CAAC,8BAA8B,CAAC;SAC5C;QACD,KAAK,CAAC,OAAO,CAAC,IAAI;YAChB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAA;YAEzB,IAAI,SAAmB,CAAA;YACvB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,CAAC,CAAA,GAAG,GAAG,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;gBAC7C,SAAS,GAAG,GAAG;qBACZ,IAAI,EAAE;qBACN,KAAK,CAAC,IAAI,CAAC;qBACX,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YACxC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAC1D,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;gBACjC,OAAO;oBACL,GAAG;oBACH,OAAO;oBACP,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG;iBAC/B,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;YAEzD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,SAAS,EAAE,EAAE;gBACb,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,MAAM,EAAE,WAAW;gBACnB,QAAQ,EAAE,SAAS,CAAC,MAAM,GAAG,WAAW;gBACxC,IAAI,EAAE,MAAM;aACb,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-varlock",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "type": "module",
5
5
  "description": "OpenCode plugin for secret management via Varlock with configurable env guard protection",
6
6
  "main": "./dist/index.js",
@@ -22,6 +22,10 @@
22
22
  "types": "./dist/tools.d.ts",
23
23
  "default": "./dist/tools.js"
24
24
  },
25
+ "./scrubber": {
26
+ "types": "./dist/scrubber.d.ts",
27
+ "default": "./dist/scrubber.js"
28
+ },
25
29
  "./plugin": {
26
30
  "types": "./dist/plugin.d.ts",
27
31
  "default": "./dist/plugin.js"