@claudexor/policy 1.0.1 → 2.1.2
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/dist/policy.d.ts.map +1 -1
- package/dist/policy.js +4 -1
- package/dist/policy.js.map +1 -1
- package/dist/risk.d.ts +15 -0
- package/dist/risk.d.ts.map +1 -1
- package/dist/risk.js +21 -16
- package/dist/risk.js.map +1 -1
- package/package.json +4 -3
package/dist/policy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAGA,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,UAOvC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAGA,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,UAOvC,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAWpF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;sEACkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EAAE,EACtB,QAAQ,GAAE,MAAM,EAAgC,GAC/C,kBAAkB,CAUpB"}
|
package/dist/policy.js
CHANGED
|
@@ -18,7 +18,10 @@ export function pathGuard(workspaceRoot, targetPath) {
|
|
|
18
18
|
const target = isAbsolute(targetPath) ? resolve(targetPath) : resolve(root, targetPath);
|
|
19
19
|
const rel = relative(root, target);
|
|
20
20
|
if (rel === "" || rel.startsWith("..") || isAbsolute(rel)) {
|
|
21
|
-
return {
|
|
21
|
+
return {
|
|
22
|
+
allowed: false,
|
|
23
|
+
reason: `write to '${targetPath}' resolves outside workspace '${workspaceRoot}'`,
|
|
24
|
+
};
|
|
22
25
|
}
|
|
23
26
|
return { allowed: true };
|
|
24
27
|
}
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,yBAAyB;CAC1B,CAAC;AAOF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,aAAqB,EAAE,UAAkB;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,+DAA+D;AAC/D,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,eAAe;IACf,yBAAyB;CAC1B,CAAC;AAOF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,aAAqB,EAAE,UAAkB;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,aAAa,UAAU,iCAAiC,aAAa,GAAG;SACjF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAUD,MAAM,UAAU,YAAY,CAC1B,YAAsB,EACtB,WAAqB,2BAA2B;IAEhD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;YACvD,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACjE,CAAC"}
|
package/dist/risk.d.ts
CHANGED
|
@@ -4,7 +4,22 @@ import type { RiskLevel } from "@claudexor/schema";
|
|
|
4
4
|
* layered on top by callers) — never from keyword regex over human text.
|
|
5
5
|
*/
|
|
6
6
|
export interface DiffMeta {
|
|
7
|
+
/**
|
|
8
|
+
* Every path the diff TOUCHES — including BOTH ends of a rename (G1 class,
|
|
9
|
+
* security commit 4e9e2270). Pattern matching runs over this set: renaming a
|
|
10
|
+
* sensitive/critical file OUT of its location is tamper exactly like editing
|
|
11
|
+
* it, and matching a narrower new-side-only projection silently drops it.
|
|
12
|
+
*/
|
|
7
13
|
changedPaths: string[];
|
|
14
|
+
/**
|
|
15
|
+
* How many FILES the diff changes (one per file; a rename is one). Optional:
|
|
16
|
+
* defaults to `changedPaths.length` for callers with no rename ambiguity.
|
|
17
|
+
* The size heuristic and its reason string are a file COUNT, so they must not
|
|
18
|
+
* consume the touched set — a rename-heavy diff would report ~2x the files it
|
|
19
|
+
* changed and escalate early. One owner per fact: the matcher gets the
|
|
20
|
+
* touched set, the counter gets the count.
|
|
21
|
+
*/
|
|
22
|
+
fileCount?: number;
|
|
8
23
|
additions?: number;
|
|
9
24
|
deletions?: number;
|
|
10
25
|
protectedPaths?: string[];
|
package/dist/risk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.d.ts","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"risk.d.ts","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAInD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;sFACkF;IAClF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAiCD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,CAiD3D;AAED,iEAAiE;AACjE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,CAWA"}
|
package/dist/risk.js
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { matchAny } from "@claudexor/context";
|
|
2
|
+
import { sensitiveResourcePolicy } from "@claudexor/util";
|
|
2
3
|
const CRITICAL_PATTERNS = [
|
|
3
|
-
"**/secrets/**",
|
|
4
|
-
"**/.env",
|
|
5
|
-
"**/.env.*",
|
|
6
|
-
"**/*.pem",
|
|
7
|
-
"**/credentials*",
|
|
8
4
|
"**/deploy/**/prod*",
|
|
9
5
|
"**/terraform/**",
|
|
10
6
|
"**/.github/workflows/release*",
|
|
@@ -36,16 +32,25 @@ const LARGE_DIFF_LINES = 500;
|
|
|
36
32
|
export function classifyRisk(meta) {
|
|
37
33
|
const reasons = [];
|
|
38
34
|
const paths = meta.changedPaths;
|
|
35
|
+
const fileCount = meta.fileCount ?? paths.length;
|
|
39
36
|
const churn = (meta.additions ?? 0) + (meta.deletions ?? 0);
|
|
40
37
|
const protectedHit = paths.filter((p) => matchAny(p, meta.protectedPaths ?? []));
|
|
41
38
|
if (protectedHit.length > 0)
|
|
42
39
|
reasons.push(`touches protected paths: ${protectedHit.slice(0, 3).join(", ")}`);
|
|
43
|
-
const
|
|
40
|
+
const sensitiveHit = paths.filter((p) => sensitiveResourcePolicy.classifyPath(p).sensitive);
|
|
41
|
+
const domainCriticalHit = paths.filter((p) => matchAny(p, CRITICAL_PATTERNS));
|
|
42
|
+
const criticalHit = [...new Set([...sensitiveHit, ...domainCriticalHit])];
|
|
44
43
|
if (criticalHit.length > 0 || protectedHit.length > 0) {
|
|
45
|
-
reasons.unshift(
|
|
46
|
-
? `
|
|
47
|
-
:
|
|
48
|
-
|
|
44
|
+
reasons.unshift(sensitiveHit.length > 0
|
|
45
|
+
? `sensitive resource paths: ${sensitiveHit.slice(0, 3).join(", ")}`
|
|
46
|
+
: criticalHit.length > 0
|
|
47
|
+
? `critical paths: ${criticalHit.slice(0, 3).join(", ")}`
|
|
48
|
+
: "protected-path change");
|
|
49
|
+
return {
|
|
50
|
+
level: "critical",
|
|
51
|
+
reasons,
|
|
52
|
+
matchedPaths: [...new Set([...criticalHit, ...protectedHit])],
|
|
53
|
+
};
|
|
49
54
|
}
|
|
50
55
|
const highHit = paths.filter((p) => matchAny(p, HIGH_PATTERNS));
|
|
51
56
|
if (highHit.length > 0) {
|
|
@@ -53,22 +58,22 @@ export function classifyRisk(meta) {
|
|
|
53
58
|
return { level: "high", reasons, matchedPaths: highHit };
|
|
54
59
|
}
|
|
55
60
|
const depHit = paths.filter((p) => matchAny(p, DEP_PATTERNS));
|
|
56
|
-
const large =
|
|
61
|
+
const large = fileCount >= LARGE_DIFF_FILES || churn >= LARGE_DIFF_LINES;
|
|
57
62
|
if (depHit.length > 0)
|
|
58
63
|
reasons.push(`dependency/manifest change: ${depHit.slice(0, 2).join(", ")}`);
|
|
59
64
|
if (large)
|
|
60
|
-
reasons.push(`large diff (${
|
|
65
|
+
reasons.push(`large diff (${fileCount} files, ${churn} lines)`);
|
|
61
66
|
if (depHit.length > 0 && large)
|
|
62
67
|
return { level: "high", reasons, matchedPaths: depHit };
|
|
63
68
|
if (depHit.length > 0 || large)
|
|
64
69
|
return { level: "medium", reasons, matchedPaths: depHit };
|
|
65
|
-
if (
|
|
70
|
+
if (fileCount === 0)
|
|
66
71
|
return { level: "low", reasons: ["no file changes"], matchedPaths: [] };
|
|
67
|
-
if (
|
|
68
|
-
reasons.push(`small change (${
|
|
72
|
+
if (fileCount <= 2 && churn <= 50) {
|
|
73
|
+
reasons.push(`small change (${fileCount} files, ${churn} lines)`);
|
|
69
74
|
return { level: "low", reasons, matchedPaths: [] };
|
|
70
75
|
}
|
|
71
|
-
reasons.push(`normal change (${
|
|
76
|
+
reasons.push(`normal change (${fileCount} files, ${churn} lines)`);
|
|
72
77
|
return { level: "medium", reasons, matchedPaths: [] };
|
|
73
78
|
}
|
|
74
79
|
/** Review depth implied by risk (callers may still override). */
|
package/dist/risk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAoC1D,MAAM,iBAAiB,GAAG;IACxB,oBAAoB;IACpB,iBAAiB;IACjB,+BAA+B;CAChC,CAAC;AACF,MAAM,aAAa,GAAG;IACpB,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,cAAc;IACd,yBAAyB;IACzB,eAAe;IACf,WAAW;IACX,cAAc;CACf,CAAC;AACF,MAAM,YAAY,GAAG;IACnB,iBAAiB;IACjB,cAAc;IACd,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,eAAe;IACf,WAAW;CACZ,CAAC;AAEF,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,MAAM,UAAU,YAAY,CAAC,IAAc;IACzC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IAE5D,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;IACjF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,4BAA4B,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5F,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,OAAO,CACb,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,6BAA6B,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACpE,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;gBACtB,CAAC,CAAC,mBAAmB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzD,CAAC,CAAC,uBAAuB,CAC9B,CAAC;QACF,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,OAAO;YACP,YAAY,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,CAAC,oBAAoB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,SAAS,IAAI,gBAAgB,IAAI,KAAK,IAAI,gBAAgB,CAAC;IACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,eAAe,SAAS,WAAW,KAAK,SAAS,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IACxF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAE1F,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC7F,IAAI,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,iBAAiB,SAAS,WAAW,KAAK,SAAS,CAAC,CAAC;QAClE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,kBAAkB,SAAS,WAAW,KAAK,SAAS,CAAC,CAAC;IACnE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;AACxD,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IAKjD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,KAAK;YACR,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACpE,KAAK,QAAQ;YACX,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACpE,KAAK,MAAM;YACT,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QACnE,KAAK,UAAU;YACb,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@claudexor/policy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Typed risk classifier + thin policy (path guard, require-human, deny lists). No keyword-regex governance.",
|
|
6
6
|
"type": "module",
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@claudexor/context": "1.
|
|
20
|
-
"@claudexor/
|
|
19
|
+
"@claudexor/context": "2.1.2",
|
|
20
|
+
"@claudexor/util": "2.1.2",
|
|
21
|
+
"@claudexor/schema": "2.1.2"
|
|
21
22
|
},
|
|
22
23
|
"repository": {
|
|
23
24
|
"type": "git",
|