@orygn/opa-mcp 0.4.0 → 0.5.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/CHANGELOG.md +339 -3
- package/README.md +71 -72
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +8 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +57 -15
- package/dist/config.js.map +1 -1
- package/dist/lib/bundle-signatures.d.ts +23 -0
- package/dist/lib/bundle-signatures.d.ts.map +1 -0
- package/dist/lib/bundle-signatures.js +152 -0
- package/dist/lib/bundle-signatures.js.map +1 -0
- package/dist/lib/child-env.d.ts +9 -2
- package/dist/lib/child-env.d.ts.map +1 -1
- package/dist/lib/child-env.js +38 -6
- package/dist/lib/child-env.js.map +1 -1
- package/dist/lib/conftest-cli.d.ts +25 -10
- package/dist/lib/conftest-cli.d.ts.map +1 -1
- package/dist/lib/conftest-cli.js +152 -33
- package/dist/lib/conftest-cli.js.map +1 -1
- package/dist/lib/install-id.d.ts.map +1 -1
- package/dist/lib/install-id.js +18 -3
- package/dist/lib/install-id.js.map +1 -1
- package/dist/lib/json-stream.d.ts +26 -0
- package/dist/lib/json-stream.d.ts.map +1 -0
- package/dist/lib/json-stream.js +69 -0
- package/dist/lib/json-stream.js.map +1 -0
- package/dist/lib/opa-cli.d.ts +64 -16
- package/dist/lib/opa-cli.d.ts.map +1 -1
- package/dist/lib/opa-cli.js +98 -28
- package/dist/lib/opa-cli.js.map +1 -1
- package/dist/lib/opa-paths.d.ts +24 -0
- package/dist/lib/opa-paths.d.ts.map +1 -0
- package/dist/lib/opa-paths.js +97 -0
- package/dist/lib/opa-paths.js.map +1 -0
- package/dist/lib/regal-cli.d.ts +16 -1
- package/dist/lib/regal-cli.d.ts.map +1 -1
- package/dist/lib/regal-cli.js +40 -6
- package/dist/lib/regal-cli.js.map +1 -1
- package/dist/lib/rego-ast-walker.d.ts.map +1 -1
- package/dist/lib/rego-ast-walker.js +141 -17
- package/dist/lib/rego-ast-walker.js.map +1 -1
- package/dist/lib/rego-counterexample.d.ts +1 -1
- package/dist/lib/rego-counterexample.d.ts.map +1 -1
- package/dist/lib/rego-counterexample.js +23 -5
- package/dist/lib/rego-counterexample.js.map +1 -1
- package/dist/lib/rego-ir.d.ts +32 -2
- package/dist/lib/rego-ir.d.ts.map +1 -1
- package/dist/lib/rego-smt-encoder.d.ts +53 -5
- package/dist/lib/rego-smt-encoder.d.ts.map +1 -1
- package/dist/lib/rego-smt-encoder.js +192 -26
- package/dist/lib/rego-smt-encoder.js.map +1 -1
- package/dist/lib/rego-type-inferencer.d.ts +1 -1
- package/dist/lib/rego-type-inferencer.d.ts.map +1 -1
- package/dist/lib/rego-type-inferencer.js +3 -3
- package/dist/lib/rego-type-inferencer.js.map +1 -1
- package/dist/lib/rego-verify-engine.d.ts.map +1 -1
- package/dist/lib/rego-verify-engine.js +109 -77
- package/dist/lib/rego-verify-engine.js.map +1 -1
- package/dist/lib/rego-z3.d.ts +10 -0
- package/dist/lib/rego-z3.d.ts.map +1 -1
- package/dist/lib/rego-z3.js +38 -0
- package/dist/lib/rego-z3.js.map +1 -1
- package/dist/lib/security.d.ts +8 -0
- package/dist/lib/security.d.ts.map +1 -1
- package/dist/lib/security.js +130 -54
- package/dist/lib/security.js.map +1 -1
- package/dist/resources/patterns.d.ts +1 -1
- package/dist/resources/patterns.d.ts.map +1 -1
- package/dist/resources/patterns.js +40 -12
- package/dist/resources/patterns.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/bundles/build.d.ts.map +1 -1
- package/dist/tools/bundles/build.js +12 -4
- package/dist/tools/bundles/build.js.map +1 -1
- package/dist/tools/bundles/sign.d.ts +9 -2
- package/dist/tools/bundles/sign.d.ts.map +1 -1
- package/dist/tools/bundles/sign.js +145 -19
- package/dist/tools/bundles/sign.js.map +1 -1
- package/dist/tools/bundles/verify.d.ts +1 -1
- package/dist/tools/bundles/verify.d.ts.map +1 -1
- package/dist/tools/bundles/verify.js +58 -19
- package/dist/tools/bundles/verify.js.map +1 -1
- package/dist/tools/conftest/pull.d.ts.map +1 -1
- package/dist/tools/conftest/pull.js +24 -10
- package/dist/tools/conftest/pull.js.map +1 -1
- package/dist/tools/conftest/push.d.ts.map +1 -1
- package/dist/tools/conftest/push.js +17 -7
- package/dist/tools/conftest/push.js.map +1 -1
- package/dist/tools/conftest/test.d.ts +10 -6
- package/dist/tools/conftest/test.d.ts.map +1 -1
- package/dist/tools/conftest/test.js +47 -24
- package/dist/tools/conftest/test.js.map +1 -1
- package/dist/tools/conftest/verify.d.ts +10 -6
- package/dist/tools/conftest/verify.d.ts.map +1 -1
- package/dist/tools/conftest/verify.js +30 -18
- package/dist/tools/conftest/verify.js.map +1 -1
- package/dist/tools/evaluation/bench.d.ts +16 -0
- package/dist/tools/evaluation/bench.d.ts.map +1 -1
- package/dist/tools/evaluation/bench.js +30 -5
- package/dist/tools/evaluation/bench.js.map +1 -1
- package/dist/tools/evaluation/exec.d.ts +16 -0
- package/dist/tools/evaluation/exec.d.ts.map +1 -1
- package/dist/tools/evaluation/exec.js +35 -2
- package/dist/tools/evaluation/exec.js.map +1 -1
- package/dist/tools/evaluation/test-multiroot.d.ts +4 -0
- package/dist/tools/evaluation/test-multiroot.d.ts.map +1 -1
- package/dist/tools/evaluation/test-multiroot.js +12 -2
- package/dist/tools/evaluation/test-multiroot.js.map +1 -1
- package/dist/tools/evaluation/test.d.ts +45 -0
- package/dist/tools/evaluation/test.d.ts.map +1 -1
- package/dist/tools/evaluation/test.js +146 -27
- package/dist/tools/evaluation/test.js.map +1 -1
- package/dist/tools/helpers/coverage-gaps.d.ts +11 -3
- package/dist/tools/helpers/coverage-gaps.d.ts.map +1 -1
- package/dist/tools/helpers/coverage-gaps.js +4 -3
- package/dist/tools/helpers/coverage-gaps.js.map +1 -1
- package/dist/tools/helpers/explain-undefined.d.ts +9 -3
- package/dist/tools/helpers/explain-undefined.d.ts.map +1 -1
- package/dist/tools/helpers/explain-undefined.js +83 -51
- package/dist/tools/helpers/explain-undefined.js.map +1 -1
- package/dist/tools/helpers/verify.d.ts.map +1 -1
- package/dist/tools/helpers/verify.js +5 -1
- package/dist/tools/helpers/verify.js.map +1 -1
- package/dist/tools/server-management/_shared.d.ts +15 -4
- package/dist/tools/server-management/_shared.d.ts.map +1 -1
- package/dist/tools/server-management/_shared.js +73 -12
- package/dist/tools/server-management/_shared.js.map +1 -1
- package/dist/tools/server-management/data.d.ts.map +1 -1
- package/dist/tools/server-management/data.js +88 -23
- package/dist/tools/server-management/data.js.map +1 -1
- package/dist/tools/server-management/decisions.d.ts.map +1 -1
- package/dist/tools/server-management/decisions.js +16 -3
- package/dist/tools/server-management/decisions.js.map +1 -1
- package/dist/tools/server-management/policies.d.ts.map +1 -1
- package/dist/tools/server-management/policies.js +44 -7
- package/dist/tools/server-management/policies.js.map +1 -1
- package/dist/tools/server-management/status.d.ts.map +1 -1
- package/dist/tools/server-management/status.js +80 -13
- package/dist/tools/server-management/status.js.map +1 -1
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rego-ast-walker.js","sourceRoot":"","sources":["../../src/lib/rego-ast-walker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rego-ast-walker.js","sourceRoot":"","sources":["../../src/lib/rego-ast-walker.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export type CounterexampleInput = Record<string, unknown>;
|
|
|
23
23
|
* @param sorts - inferred sort for each path
|
|
24
24
|
* @returns nested JSON for the "input" field (leading "input." stripped)
|
|
25
25
|
*/
|
|
26
|
-
export declare function extractCounterexample(model: Z3Model, inputVars: Map<string, Z3AnyExpr>, sorts: Map<string, Z3Sort>): CounterexampleInput;
|
|
26
|
+
export declare function extractCounterexample(model: Z3Model, inputVars: Map<string, Z3AnyExpr>, sorts: Map<string, Z3Sort>, presenceVars?: Map<string, Z3AnyExpr>): CounterexampleInput;
|
|
27
27
|
/**
|
|
28
28
|
* Format a counterexample as a human-readable string for the MCP response.
|
|
29
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rego-counterexample.d.ts","sourceRoot":"","sources":["../../src/lib/rego-counterexample.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3E,KAAK,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,KAAK,SAAS,GACV,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GACtC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GACrC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"rego-counterexample.d.ts","sourceRoot":"","sources":["../../src/lib/rego-counterexample.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3E,KAAK,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACtE,KAAK,SAAS,GACV,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,GACtC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GACrC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,mBAAmB,CAyDrB;AA6BD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,mBAAmB,GAAG,MAAM,CAEpE"}
|
|
@@ -6,9 +6,21 @@
|
|
|
6
6
|
* @param sorts - inferred sort for each path
|
|
7
7
|
* @returns nested JSON for the "input" field (leading "input." stripped)
|
|
8
8
|
*/
|
|
9
|
-
export function extractCounterexample(model, inputVars, sorts) {
|
|
9
|
+
export function extractCounterexample(model, inputVars, sorts, presenceVars) {
|
|
10
10
|
const flat = {};
|
|
11
11
|
for (const [path, varExpr] of inputVars) {
|
|
12
|
+
// A field the model chose to leave ABSENT must be omitted, not given a
|
|
13
|
+
// value. Emitting one produced witnesses that did not reproduce: the tool
|
|
14
|
+
// said "here is an input where the rule is false" while handing back an
|
|
15
|
+
// input on which the rule was true, because the real reason it was false
|
|
16
|
+
// was that the field was missing.
|
|
17
|
+
const presence = presenceVars?.get(path);
|
|
18
|
+
if (presence !== undefined) {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
20
|
+
const isPresent = model.eval(presence, true).toString() === 'true';
|
|
21
|
+
if (!isPresent)
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
12
24
|
const sort = sorts.get(path) ?? 'string';
|
|
13
25
|
const evaluated = model.eval(varExpr, true); // true = model completion
|
|
14
26
|
let value;
|
|
@@ -22,11 +34,17 @@ export function extractCounterexample(model, inputVars, sorts) {
|
|
|
22
34
|
value = evaluated.toString().replace(/^"|"$/g, '');
|
|
23
35
|
}
|
|
24
36
|
break;
|
|
25
|
-
case '
|
|
26
|
-
// Z3
|
|
37
|
+
case 'real': {
|
|
38
|
+
// Z3 prints negatives as "(- N)" and non-integers as "(/ p q)".
|
|
27
39
|
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
28
|
-
const
|
|
29
|
-
|
|
40
|
+
const raw = evaluated.toString();
|
|
41
|
+
const frac = /^\(\/\s+(-?\d+(?:\.\d+)?)\s+(-?\d+(?:\.\d+)?)\)$/.exec(raw);
|
|
42
|
+
if (frac) {
|
|
43
|
+
value = Number(frac[1]) / Number(frac[2]);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
value = Number(raw.replace(/\(-\s+([\d.]+)\)/, '-$1'));
|
|
47
|
+
}
|
|
30
48
|
break;
|
|
31
49
|
}
|
|
32
50
|
case 'bool':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rego-counterexample.js","sourceRoot":"","sources":["../../src/lib/rego-counterexample.ts"],"names":[],"mappings":"AAuBA;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAc,EACd,SAAiC,EACjC,KAA0B;
|
|
1
|
+
{"version":3,"file":"rego-counterexample.js","sourceRoot":"","sources":["../../src/lib/rego-counterexample.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/rego-ir.d.ts
CHANGED
|
@@ -36,6 +36,11 @@ export type VerifyValue = {
|
|
|
36
36
|
* All supported operator semantics map cleanly to Z3. The 'unsupported'
|
|
37
37
|
* variant is included so the walker can pass through the reason; the
|
|
38
38
|
* engine treats any clause containing it as inconclusive.
|
|
39
|
+
*
|
|
40
|
+
* 'contradiction' is the encodable counterpart: a body term that makes the
|
|
41
|
+
* clause unsatisfiable no matter the input, such as a literal `false`. It is
|
|
42
|
+
* distinct from 'unsupported' because the engine CAN reason about it, and
|
|
43
|
+
* dropping it instead would make the clause look satisfiable when it is not.
|
|
39
44
|
*/
|
|
40
45
|
export type VerifyExpr = {
|
|
41
46
|
kind: 'eq';
|
|
@@ -84,15 +89,38 @@ export type VerifyExpr = {
|
|
|
84
89
|
kind: 'assign';
|
|
85
90
|
local: string;
|
|
86
91
|
value: VerifyValue;
|
|
92
|
+
} | {
|
|
93
|
+
kind: 'contradiction';
|
|
94
|
+
reason: string;
|
|
95
|
+
} | {
|
|
96
|
+
kind: 'negation';
|
|
97
|
+
inner: VerifyExpr[];
|
|
87
98
|
} | {
|
|
88
99
|
kind: 'unsupported';
|
|
89
100
|
constructType: string;
|
|
90
101
|
reason: string;
|
|
91
102
|
};
|
|
103
|
+
/**
|
|
104
|
+
* The shape of a rule head, which decides whether "is this rule true" is even
|
|
105
|
+
* a meaningful question.
|
|
106
|
+
*
|
|
107
|
+
* complete - `allow if { ... }` or `allow := <value> if { ... }`. Its
|
|
108
|
+
* value is a single term, so it can be compared to `true`.
|
|
109
|
+
* partial_set - `deny contains msg if { ... }`. Its value is a SET, so it
|
|
110
|
+
* is never equal to `true` and asking always_true/never_true
|
|
111
|
+
* about it answers a question the caller did not intend.
|
|
112
|
+
* partial_object - `perms[k] := v if { ... }`. Value is an object, same problem.
|
|
113
|
+
* function - `f(x) if { ... }`. Needs arguments the caller never supplies.
|
|
114
|
+
* else_chain - `... else := ...`. Ordered fallthrough the encoder does not model.
|
|
115
|
+
*/
|
|
116
|
+
export type RuleShape = 'complete' | 'partial_set' | 'partial_object' | 'function' | 'else_chain';
|
|
92
117
|
/**
|
|
93
118
|
* One clause of a rule -- corresponds to one `rule { body... }` block.
|
|
94
|
-
*
|
|
95
|
-
*
|
|
119
|
+
*
|
|
120
|
+
* A clause contributes to "the rule is true" only when its head value is
|
|
121
|
+
* literally `true`. It contributes to "the rule is defined" whenever its body
|
|
122
|
+
* is satisfied, whatever the head value is. Keeping those separate is what
|
|
123
|
+
* makes `default` and non-boolean heads encodable rather than silently wrong.
|
|
96
124
|
*/
|
|
97
125
|
export interface VerifyRuleClause {
|
|
98
126
|
clauseIndex: number;
|
|
@@ -111,6 +139,8 @@ export interface UnsupportedConstruct {
|
|
|
111
139
|
export interface VerifyWalkResult {
|
|
112
140
|
rules: Map<string, VerifyRuleClause[]>;
|
|
113
141
|
defaults: Map<string, boolean | number | string | null>;
|
|
142
|
+
/** Head shape per rule name. Absent means no clause was ever walked for it. */
|
|
143
|
+
shapes: Map<string, RuleShape>;
|
|
114
144
|
inputPaths: Map<string, string[]>;
|
|
115
145
|
unsupported: UnsupportedConstruct[];
|
|
116
146
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rego-ir.d.ts","sourceRoot":"","sources":["../../src/lib/rego-ir.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAE7B
|
|
1
|
+
{"version":3,"file":"rego-ir.d.ts","sourceRoot":"","sources":["../../src/lib/rego-ir.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,13 @@
|
|
|
7
7
|
* Design:
|
|
8
8
|
* - One Z3 constant per input path, typed by the type inferencer.
|
|
9
9
|
* - One Z3 constant per local variable, scoped per clause.
|
|
10
|
-
* - Each clause body becomes an AND of its expression formulas
|
|
11
|
-
*
|
|
10
|
+
* - Each clause body becomes an AND of its expression formulas, plus a
|
|
11
|
+
* presence guard for every input path the clause reads.
|
|
12
|
+
* - "the rule is TRUE" is the OR of the bodies of clauses whose head value is
|
|
13
|
+
* literally true, OR'd with the default when no clause body holds. Encoding
|
|
14
|
+
* the OR of all clause bodies instead conflated "the rule is defined" with
|
|
15
|
+
* "the rule is true", which made `default allow := true` and non-boolean
|
|
16
|
+
* heads silently wrong.
|
|
12
17
|
* - Uninterpreted sorts get a dedicated Z3 uninterpreted sort and
|
|
13
18
|
* can only participate in equality/inequality constraints.
|
|
14
19
|
*/
|
|
@@ -21,6 +26,16 @@ type Z3AnyExpr = Z3Bool | ReturnType<Z3Context['Int']['const']> | ReturnType<Z3C
|
|
|
21
26
|
export interface EncoderContext {
|
|
22
27
|
Z3: Z3Context;
|
|
23
28
|
inputVars: Map<string, Z3AnyExpr>;
|
|
29
|
+
/**
|
|
30
|
+
* One Bool per input path, true when that field is present in the input.
|
|
31
|
+
*
|
|
32
|
+
* Rego evaluates a body to undefined when it reads a missing field, and an
|
|
33
|
+
* undefined body does not make the rule true. Modelling every path as a
|
|
34
|
+
* total, always-present constant made vacuous predicates look like
|
|
35
|
+
* tautologies, so always_true could be PROVEN for a rule that is merely
|
|
36
|
+
* undefined when a field is absent.
|
|
37
|
+
*/
|
|
38
|
+
presenceVars: Map<string, Z3Bool>;
|
|
24
39
|
sorts: Map<string, Z3Sort>;
|
|
25
40
|
/** Per-call unique prefix for all Z3 constant names. Prevents sort conflicts
|
|
26
41
|
* when the same input path is inferred as different sorts across calls in the
|
|
@@ -31,19 +46,52 @@ export interface EncoderContext {
|
|
|
31
46
|
export interface EncodedRule {
|
|
32
47
|
formula: Z3Bool;
|
|
33
48
|
warnings: string[];
|
|
49
|
+
/**
|
|
50
|
+
* True when at least one clause could not be encoded.
|
|
51
|
+
*
|
|
52
|
+
* The caller MUST treat the formula as meaningless in that case. Skipping the
|
|
53
|
+
* clause and solving the rest is what turned an unencodable operand into a
|
|
54
|
+
* confident PROVEN: dropping a clause makes the rule strictly easier to
|
|
55
|
+
* satisfy in one direction and strictly harder in the other, and both
|
|
56
|
+
* directions produce a wrong verdict.
|
|
57
|
+
*/
|
|
58
|
+
unencodable: boolean;
|
|
34
59
|
}
|
|
35
60
|
/**
|
|
36
61
|
* Create Z3 constants for all input paths based on inferred sorts.
|
|
37
62
|
* Each constant name is prefixed with callId to ensure uniqueness across
|
|
38
63
|
* verification calls in the same Z3 singleton context.
|
|
39
64
|
*/
|
|
40
|
-
export declare function createInputVars(Z3: Z3Context, inputPaths: Map<string, string[]>, sorts: Map<string, Z3Sort>, callId: string):
|
|
65
|
+
export declare function createInputVars(Z3: Z3Context, inputPaths: Map<string, string[]>, sorts: Map<string, Z3Sort>, callId: string): {
|
|
66
|
+
vars: Map<string, Z3AnyExpr>;
|
|
67
|
+
presence: Map<string, Z3Bool>;
|
|
68
|
+
};
|
|
41
69
|
/**
|
|
42
70
|
* Encode a complete rule as a Z3 Bool formula.
|
|
43
71
|
* rule_formula = clause_0 OR clause_1 OR ... OR clause_n
|
|
44
72
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Encode "the rule evaluates to true".
|
|
75
|
+
*
|
|
76
|
+
* Rego semantics, and why the previous OR-of-all-clauses was wrong:
|
|
77
|
+
* - a clause whose body holds gives the rule that clause's HEAD value
|
|
78
|
+
* - the rule is DEFINED when any clause body holds
|
|
79
|
+
* - when no body holds the rule takes its `default`, or stays undefined
|
|
80
|
+
*
|
|
81
|
+
* So `rule == true` is the OR of the bodies of clauses whose head is literally
|
|
82
|
+
* true, plus the default case when nothing else fired. Treating every satisfied
|
|
83
|
+
* body as "true" made `allow := false if {...}` prove always-true, and ignoring
|
|
84
|
+
* the default made `default allow := true` prove never-true.
|
|
85
|
+
*/
|
|
86
|
+
export declare function encodeRule(clauses: VerifyRuleClause[], ctx: EncoderContext, defaultValue?: boolean | number | string | null): EncodedRule;
|
|
87
|
+
/**
|
|
88
|
+
* Convert an input path like "input.user.role" to a valid Z3 constant name.
|
|
89
|
+
*
|
|
90
|
+
* Must be INJECTIVE. Replacing "." with "__" was not: a quoted key holding a
|
|
91
|
+
* dot or an underscore pair, ordinary in Kubernetes and cloud policies such as
|
|
92
|
+
* `input.labels["app.kubernetes.io/name"]`, collided with a different path and
|
|
93
|
+
* two distinct fields became a single SMT variable.
|
|
94
|
+
*/
|
|
47
95
|
export declare function pathToVarName(path: string): string;
|
|
48
96
|
/** Reconstruct a nested JSON object from flat Z3 var name → value pairs. */
|
|
49
97
|
export declare function varNameToPath(varName: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rego-smt-encoder.d.ts","sourceRoot":"","sources":["../../src/lib/rego-smt-encoder.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rego-smt-encoder.d.ts","sourceRoot":"","sources":["../../src/lib/rego-smt-encoder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAc,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAE9E,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3E,KAAK,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,KAAK,SAAS,GACZ,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5F,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,SAAS,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClC;;;;;;;;OAQG;IACH,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B;;;6EAGyE;IACzE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;OAQG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb;IAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAgCjE;AAgDD;;;GAGG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,GAAG,EAAE,cAAc,EACnB,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAC9C,WAAW,CAyCb;AAsTD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQlD;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIrD;AAcD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAgB7D"}
|