@coderifts/agent-guard 4.1.0 → 4.2.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 +8 -0
- package/dist/cjs/coverage-report.d.ts +10 -0
- package/dist/cjs/coverage-report.d.ts.map +1 -1
- package/dist/cjs/coverage-report.js +11 -0
- package/dist/cjs/coverage-report.js.map +1 -1
- package/dist/esm/coverage-report.d.ts +10 -0
- package/dist/esm/coverage-report.d.ts.map +1 -1
- package/dist/esm/coverage-report.js +11 -0
- package/dist/esm/coverage-report.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,6 +186,8 @@ const { tools, composition_assurance } = withCodeRifts({
|
|
|
186
186
|
|
|
187
187
|
const report = coverageReport({
|
|
188
188
|
applicability: { /* host-known — see warning below */ runtime: true, merge: true, deploy: true, content: true },
|
|
189
|
+
// Required for FULLY_ENFORCED: absence is not attestation (RT-P-16).
|
|
190
|
+
applicability_attested: true,
|
|
189
191
|
runtime: composition_assurance, // complete RuntimePlacementInput — no remapping
|
|
190
192
|
// merge / deploy / content: host still supplies (see next)
|
|
191
193
|
});
|
|
@@ -214,6 +216,12 @@ claiming three enforcement boundaries are irrelevant to them; the aggregate repo
|
|
|
214
216
|
placements as `EXCLUDED` and will not residual or cap them. Do not set three falses just to typecheck.
|
|
215
217
|
That overstates coverage.
|
|
216
218
|
|
|
219
|
+
**`applicability_attested` (RT-P-16).** The map alone is not enough for a full-tetrad claim. Pass
|
|
220
|
+
`applicability_attested: true` only when the host has deliberately decided which placements apply.
|
|
221
|
+
If the field is absent or false, `coverageReport` names residual `applicability_unattested` and will
|
|
222
|
+
not return `FULLY_ENFORCED` even when every applicable placement is ENFORCING (downgrade to
|
|
223
|
+
`PARTIALLY_ENFORCED`). Absence is not attestation.
|
|
224
|
+
|
|
217
225
|
`withCodeRifts` does not call `coverageReport` itself: it can only speak for the runtime placement, and
|
|
218
226
|
a report it produced alone would either guess the other three or assert they do not apply — neither is
|
|
219
227
|
honest, so the composition hands the caller the piece it owns and stops.
|
|
@@ -49,6 +49,16 @@ export type ContentPlacementInput = {
|
|
|
49
49
|
};
|
|
50
50
|
export type CoverageReportInput = {
|
|
51
51
|
applicability: Applicability;
|
|
52
|
+
/**
|
|
53
|
+
* Host attestation that the `applicability` map is complete and intentional (RT-P-16).
|
|
54
|
+
*
|
|
55
|
+
* **Absence semantics (not_reported discipline):** missing or any value other than
|
|
56
|
+
* strictly `true` is false-equivalent for claims. Unattested applicability can never
|
|
57
|
+
* support `FULLY_ENFORCED` (downgraded to `PARTIALLY_ENFORCED` when placements would
|
|
58
|
+
* otherwise all be ENFORCING) and always names residual `applicability_unattested`
|
|
59
|
+
* when at least one placement is applicable. Absence is not attestation.
|
|
60
|
+
*/
|
|
61
|
+
applicability_attested?: boolean;
|
|
52
62
|
runtime?: RuntimePlacementInput | null;
|
|
53
63
|
merge?: MergePlacementInput | null;
|
|
54
64
|
deploy?: DeployPlacementInput | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-report.d.ts","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coverage-report.d.ts","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErE,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpG,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACnE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,iBAAiB,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAC7C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG;IACjC,iBAAiB,EAAE,gBAAgB,GAAG,MAAM,CAAC;IAC7C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9E,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAAG,oBAAoB,GAAG,eAAe,GACzD,iBAAiB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAErD,MAAM,MAAM,cAAc,GACtB,sBAAsB,GAAG,0BAA0B,GAAG,qBAAqB,GAC3E,uBAAuB,GAAG,eAAe,GAAG,sBAAsB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,WAAW,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE;QAAE,uBAAuB,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;KAAE,CAAC;IAChF,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,eAAe,CAAC;IAClC,aAAa,EAAE,eAAe,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,cAAc,CAAC;IACjC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,KAAK,EAAE;QACL,6BAA6B,EAAE,OAAO,CAAC;QACvC,2BAA2B,EAAE,OAAO,CAAC;QACrC,4BAA4B,EAAE,OAAO,CAAC;QACtC,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;CACH,CAAC;AA4FF;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,cAAc,CAuEzE"}
|
|
@@ -170,12 +170,22 @@ function coverageReport(input) {
|
|
|
170
170
|
else { // no WEAK, not all ENFORCING → some UNKNOWN
|
|
171
171
|
overall = 'UNKNOWN';
|
|
172
172
|
}
|
|
173
|
+
// RT-P-16: applicability attestation (not_reported). Only strict true is attestation.
|
|
174
|
+
// Absence / false can never support FULLY — a green tetrad with unattested scope is PARTIAL.
|
|
175
|
+
const applicabilityAttested = input.applicability_attested === true;
|
|
176
|
+
if (!applicabilityAttested && overall === 'FULLY_ENFORCED') {
|
|
177
|
+
overall = 'PARTIALLY_ENFORCED';
|
|
178
|
+
}
|
|
173
179
|
// §4.3 — residuals: union of applicable placements only, sorted unique (EXCLUDED contribute none).
|
|
174
180
|
const residualSet = new Set();
|
|
175
181
|
for (const p of order)
|
|
176
182
|
if (isApplicable(p))
|
|
177
183
|
for (const r of computed[p].residuals)
|
|
178
184
|
residualSet.add(r);
|
|
185
|
+
// RT-P-16 residual: named whenever applicability is not attested and something is in scope.
|
|
186
|
+
if (!applicabilityAttested && applicableStrengths.length > 0) {
|
|
187
|
+
residualSet.add('applicability_unattested');
|
|
188
|
+
}
|
|
179
189
|
const residuals = [...residualSet].sort();
|
|
180
190
|
// §4.4 — claim key + deterministic honest language.
|
|
181
191
|
const honest_claim_key = OVERALL_TO_KEY[overall];
|
|
@@ -183,6 +193,7 @@ function coverageReport(input) {
|
|
|
183
193
|
// §4.5 — flags (must not disagree with overall). RT-P-13: a per-placement inescapable claim tracks
|
|
184
194
|
// the COMPUTED strength (flag ∧ consistent enforcement), never the raw flag alone — so an
|
|
185
195
|
// inconsistent inescapable_* claim cannot leak into a may_claim_* true.
|
|
196
|
+
// may_claim_full_tetrad tracks overall only (which already requires attestation for FULLY).
|
|
186
197
|
const flags = {
|
|
187
198
|
may_claim_inescapable_runtime: isApplicable('runtime') && computed.runtime.strength === 'ENFORCING',
|
|
188
199
|
may_claim_inescapable_merge: isApplicable('merge') && computed.merge.strength === 'ENFORCING',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;
|
|
1
|
+
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,16 @@ export type ContentPlacementInput = {
|
|
|
49
49
|
};
|
|
50
50
|
export type CoverageReportInput = {
|
|
51
51
|
applicability: Applicability;
|
|
52
|
+
/**
|
|
53
|
+
* Host attestation that the `applicability` map is complete and intentional (RT-P-16).
|
|
54
|
+
*
|
|
55
|
+
* **Absence semantics (not_reported discipline):** missing or any value other than
|
|
56
|
+
* strictly `true` is false-equivalent for claims. Unattested applicability can never
|
|
57
|
+
* support `FULLY_ENFORCED` (downgraded to `PARTIALLY_ENFORCED` when placements would
|
|
58
|
+
* otherwise all be ENFORCING) and always names residual `applicability_unattested`
|
|
59
|
+
* when at least one placement is applicable. Absence is not attestation.
|
|
60
|
+
*/
|
|
61
|
+
applicability_attested?: boolean;
|
|
52
62
|
runtime?: RuntimePlacementInput | null;
|
|
53
63
|
merge?: MergePlacementInput | null;
|
|
54
64
|
deploy?: DeployPlacementInput | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-report.d.ts","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coverage-report.d.ts","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -167,12 +167,22 @@ export function coverageReport(input) {
|
|
|
167
167
|
else { // no WEAK, not all ENFORCING → some UNKNOWN
|
|
168
168
|
overall = 'UNKNOWN';
|
|
169
169
|
}
|
|
170
|
+
// RT-P-16: applicability attestation (not_reported). Only strict true is attestation.
|
|
171
|
+
// Absence / false can never support FULLY — a green tetrad with unattested scope is PARTIAL.
|
|
172
|
+
const applicabilityAttested = input.applicability_attested === true;
|
|
173
|
+
if (!applicabilityAttested && overall === 'FULLY_ENFORCED') {
|
|
174
|
+
overall = 'PARTIALLY_ENFORCED';
|
|
175
|
+
}
|
|
170
176
|
// §4.3 — residuals: union of applicable placements only, sorted unique (EXCLUDED contribute none).
|
|
171
177
|
const residualSet = new Set();
|
|
172
178
|
for (const p of order)
|
|
173
179
|
if (isApplicable(p))
|
|
174
180
|
for (const r of computed[p].residuals)
|
|
175
181
|
residualSet.add(r);
|
|
182
|
+
// RT-P-16 residual: named whenever applicability is not attested and something is in scope.
|
|
183
|
+
if (!applicabilityAttested && applicableStrengths.length > 0) {
|
|
184
|
+
residualSet.add('applicability_unattested');
|
|
185
|
+
}
|
|
176
186
|
const residuals = [...residualSet].sort();
|
|
177
187
|
// §4.4 — claim key + deterministic honest language.
|
|
178
188
|
const honest_claim_key = OVERALL_TO_KEY[overall];
|
|
@@ -180,6 +190,7 @@ export function coverageReport(input) {
|
|
|
180
190
|
// §4.5 — flags (must not disagree with overall). RT-P-13: a per-placement inescapable claim tracks
|
|
181
191
|
// the COMPUTED strength (flag ∧ consistent enforcement), never the raw flag alone — so an
|
|
182
192
|
// inconsistent inescapable_* claim cannot leak into a may_claim_* true.
|
|
193
|
+
// may_claim_full_tetrad tracks overall only (which already requires attestation for FULLY).
|
|
183
194
|
const flags = {
|
|
184
195
|
may_claim_inescapable_runtime: isApplicable('runtime') && computed.runtime.strength === 'ENFORCING',
|
|
185
196
|
may_claim_inescapable_merge: isApplicable('merge') && computed.merge.strength === 'ENFORCING',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"coverage-report.js","sourceRoot":"","sources":["../../src/coverage-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA+EH,yGAAyG;AACzG,MAAM,SAAS,GAAmC;IAChD,oBAAoB,EAClB,wFAAwF;UACtF,oEAAoE;IACxE,wBAAwB,EACtB,kFAAkF;IACpF,mBAAmB,EACjB,yFAAyF;IAC3F,qBAAqB,EACnB,qHAAqH;IACvH,aAAa,EACX,0GAA0G;IAC5G,oBAAoB,EAClB,uDAAuD;CAC1D,CAAC;AAEF,MAAM,cAAc,GAA4C;IAC9D,cAAc,EAAE,sBAAsB;IACtC,kBAAkB,EAAE,0BAA0B;IAC9C,aAAa,EAAE,qBAAqB;IACpC,eAAe,EAAE,uBAAuB;IACxC,OAAO,EAAE,eAAe;IACxB,cAAc,EAAE,sBAAsB;CACvC,CAAC;AAIF,SAAS,cAAc,CAAC,UAAmB,EAAE,KAA+C;IAC1F,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,IAAI,IAAI,EAAE,EAAE,CAAC;IACtL,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC;IACjK,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,QAA2B,CAAC;IAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,mBAAmB,KAAK,IAAI;QAAE,QAAQ,GAAG,WAAW,CAAC;SAC3F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,QAAQ,GAAG,SAAS,CAAC;;QACvD,QAAQ,GAAG,MAAM,CAAC;IACvB,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU;QAAE,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC;AACpI,CAAC;AAED,SAAS,YAAY,CAAC,UAAmB,EAAE,KAA6C;IACtF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,IAAI,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,CAAC;IAC7L,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC;IAC/J,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,QAA2B,CAAC;IAChC,iGAAiG;IACjG,iGAAiG;IACjG,8FAA8F;IAC9F,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAK,WAAW;QAAE,QAAQ,GAAG,WAAW,CAAC;SACnG,IAAI,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAAC,QAAQ,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAAC,CAAC;SAC7G,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,QAAQ,GAAG,SAAS,CAAC;;QAChE,QAAQ,GAAG,MAAM,CAAC;IACvB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,iBAAiB,KAAK,WAAW,IAAI,KAAK,CAAC,iBAAiB,KAAK,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACjH,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aACtF,IAAI,KAAK,CAAC,iBAAiB,KAAK,UAAU;YAAE,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACzF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC;AAC3I,CAAC;AAED,SAAS,aAAa,CAAC,UAAmB,EAAE,KAA8C;IACxF,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,IAAI,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,kBAAkB,IAAI,IAAI,EAAE,EAAE,CAAC;IAC9L,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC;IAChK,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,QAA2B,CAAC;IAChC,2FAA2F;IAC3F,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,IAAI,KAAK,CAAC,iBAAiB,KAAK,WAAW;QAAE,QAAQ,GAAG,WAAW,CAAC;SACpG,IAAI,KAAK,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;QAAC,QAAQ,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAAC,CAAC;SAC9G,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,QAAQ,GAAG,SAAS,CAAC;;QAChE,QAAQ,GAAG,MAAM,CAAC;IACvB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,iBAAiB,KAAK,WAAW,IAAI,KAAK,CAAC,kBAAkB,KAAK,KAAK;YAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAC5G,IAAI,KAAK,CAAC,iBAAiB,KAAK,QAAQ;YAAE,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;aAChF,IAAI,KAAK,CAAC,iBAAiB,KAAK,UAAU;YAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC;AAC5I,CAAC;AAED,SAAS,cAAc,CAAC,UAAmB,EAAE,KAA+C;IAC1F,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,IAAI,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,IAAI,IAAI,EAAE,EAAE,CAAC;IAClL,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,CAAC;IACjK,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,QAA2B,CAAC;IAChC,IAAI,KAAK,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO;QAAE,QAAQ,GAAG,WAAW,CAAC,CAAG,sCAAsC;SAC5H,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAAC,QAAQ,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAAC,CAAC;SACjG,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAAC,QAAQ,GAAG,MAAM,CAAC;QAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAAC,CAAC;;QAC3F,QAAQ,GAAG,SAAS,CAAC,CAAC,6DAA6D;IACxF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,uBAAuB,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,eAAe,IAAI,IAAI,EAAE,EAAE,CAAC;AACxI,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,aAAa,GAAkB,KAAK,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAE5H,MAAM,QAAQ,GAAkC;QAC9C,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;QACtE,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAC9D,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QAClE,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;KACvE,CAAC;IACF,MAAM,KAAK,GAAkB,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACxF,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,iBAAiB,GAAG,iBAAiB,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,KAAK,YAAY,CAAC;IAChH,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;IAE/F,gFAAgF;IAChF,IAAI,OAAwB,CAAC;IAC7B,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,GAAG,gBAAgB,CAAC;IAC7B,CAAC;SAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,gBAAgB,CAAC;IAC7B,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;QAC/G,OAAO,GAAG,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC;IACzE,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,eAAe;QACzE,OAAO,GAAG,CAAC,iBAAiB,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC;IACtH,CAAC;SAAM,CAAC,CAAC,4CAA4C;QACnD,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,sFAAsF;IACtF,6FAA6F;IAC7F,MAAM,qBAAqB,GAAG,KAAK,CAAC,sBAAsB,KAAK,IAAI,CAAC;IACpE,IAAI,CAAC,qBAAqB,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QAC3D,OAAO,GAAG,oBAAoB,CAAC;IACjC,CAAC;IAED,mGAAmG;IACnG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,IAAI,YAAY,CAAC,CAAC,CAAC;YAAE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;gBAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtG,4FAA4F;IAC5F,IAAI,CAAC,qBAAqB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IAE1C,oDAAoD;IACpD,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,qBAAqB,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEnI,mGAAmG;IACnG,0FAA0F;IAC1F,wEAAwE;IACxE,4FAA4F;IAC5F,MAAM,KAAK,GAAG;QACZ,6BAA6B,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW;QACnG,2BAA2B,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW;QAC7F,4BAA4B,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,KAAK,WAAW;QAChG,qBAAqB,EAAE,OAAO,KAAK,gBAAgB;KACpD,CAAC;IAEF,MAAM,aAAa,GAAsB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;QAC9B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO;QAC5B,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC7E,CAAC,CAAC,CAAC;IAEJ,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC;AACjH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coderifts/agent-guard",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "Fail-closed guard for AI agent tool calls — preflight contract changes before they execute. Security core frozen (agent-guard-api v1.0); v1.1 adds client-side enforcement: receipt→envelope binding, decision↔action reconciliation, safe_for_agent + degraded fail-closed, and enforced⟺executed (P0 client-enforcement pack).",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|