@coderifts/agent-guard 1.7.1 → 2.0.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 +181 -17
- package/dist/cjs/deploy-gate.d.ts +10 -3
- package/dist/cjs/deploy-gate.d.ts.map +1 -1
- package/dist/cjs/deploy-gate.js +7 -0
- package/dist/cjs/deploy-gate.js.map +1 -1
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +29 -1
- package/dist/cjs/guard.js.map +1 -1
- package/dist/cjs/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +10 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/merge-gate.d.ts +27 -4
- package/dist/cjs/merge-gate.d.ts.map +1 -1
- package/dist/cjs/merge-gate.js +22 -0
- package/dist/cjs/merge-gate.js.map +1 -1
- package/dist/cjs/receipt-chain.d.ts +52 -0
- package/dist/cjs/receipt-chain.d.ts.map +1 -0
- package/dist/cjs/receipt-chain.js +104 -0
- package/dist/cjs/receipt-chain.js.map +1 -0
- package/dist/cjs/tool-registry.d.ts.map +1 -1
- package/dist/cjs/tool-registry.js +7 -0
- package/dist/cjs/tool-registry.js.map +1 -1
- package/dist/cjs/types.d.ts +7 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.d.ts +114 -86
- package/dist/cjs/with-coderifts.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.js +133 -113
- package/dist/cjs/with-coderifts.js.map +1 -1
- package/dist/esm/deploy-gate.d.ts +10 -3
- package/dist/esm/deploy-gate.d.ts.map +1 -1
- package/dist/esm/deploy-gate.js +7 -0
- package/dist/esm/deploy-gate.js.map +1 -1
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +29 -1
- package/dist/esm/guard.js.map +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/merge-gate.d.ts +27 -4
- package/dist/esm/merge-gate.d.ts.map +1 -1
- package/dist/esm/merge-gate.js +22 -0
- package/dist/esm/merge-gate.js.map +1 -1
- package/dist/esm/receipt-chain.d.ts +52 -0
- package/dist/esm/receipt-chain.d.ts.map +1 -0
- package/dist/esm/receipt-chain.js +98 -0
- package/dist/esm/receipt-chain.js.map +1 -0
- package/dist/esm/tool-registry.d.ts.map +1 -1
- package/dist/esm/tool-registry.js +7 -0
- package/dist/esm/tool-registry.js.map +1 -1
- package/dist/esm/types.d.ts +7 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/with-coderifts.d.ts +114 -86
- package/dist/esm/with-coderifts.d.ts.map +1 -1
- package/dist/esm/with-coderifts.js +130 -112
- package/dist/esm/with-coderifts.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-gate.d.ts","sourceRoot":"","sources":["../../src/merge-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE;
|
|
1
|
+
{"version":3,"file":"merge-gate.d.ts","sourceRoot":"","sources":["../../src/merge-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/merge-gate.js
CHANGED
|
@@ -117,6 +117,9 @@ function gateDecision(input) {
|
|
|
117
117
|
// 9) success for the CHECK — green for visibility regardless of protection strength.
|
|
118
118
|
// 10) inescapable_merge claim (STRICT, §1.4 step 10 / M6): only when the platform actually enforces
|
|
119
119
|
// the required check AND no admin can bypass it. Never true otherwise.
|
|
120
|
+
// App binding is NOT a third conjunct here: flipping the claim when the optional field is
|
|
121
|
+
// absent would break every published caller who cannot yet supply it. Honesty for that
|
|
122
|
+
// axis is residual-only (below).
|
|
120
123
|
const inescapable_merge = enforcement_state === 'ENFORCING' && protection.admin_bypass_possible === false;
|
|
121
124
|
let residual;
|
|
122
125
|
if (!inescapable_merge) {
|
|
@@ -127,6 +130,25 @@ function gateDecision(input) {
|
|
|
127
130
|
else
|
|
128
131
|
residual = 'protection_not_configured'; // ABSENT or UNKNOWN — cannot attest
|
|
129
132
|
}
|
|
133
|
+
else {
|
|
134
|
+
// Claim is still true (existing contract). Residual names app-binding honesty only when
|
|
135
|
+
// the host has not confirmed a non-spoofable required check.
|
|
136
|
+
if (protection.required_check_app_bound === true) {
|
|
137
|
+
// confirmed app-bound — no residual
|
|
138
|
+
}
|
|
139
|
+
else if (protection.required_check_app_bound === false) {
|
|
140
|
+
residual = 'required_check_app_not_bound';
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
residual = 'required_check_app_binding_unknown'; // field absent: unknown ≠ not bound
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// Optional change-set re-bind skipped: record the gap, do not flip the claim (same residual-only
|
|
147
|
+
// shape as required_check_app_*). Only fills when no residual is already named. Distinct from
|
|
148
|
+
// fingerprint_mismatch (hard fail when a re-bind was requested and disagreed).
|
|
149
|
+
if (rc.expected_fingerprint == null && residual === undefined) {
|
|
150
|
+
residual = 'change_set_not_rebound';
|
|
151
|
+
}
|
|
130
152
|
return {
|
|
131
153
|
merge_allowed: true,
|
|
132
154
|
state: 'success',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-gate.js","sourceRoot":"","sources":["../../src/merge-gate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;
|
|
1
|
+
{"version":3,"file":"merge-gate.js","sourceRoot":"","sources":["../../src/merge-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure receipt-chain LINKAGE verifier.
|
|
3
|
+
*
|
|
4
|
+
* Checks only that each token's signed body `prev` field matches the predecessor commitment
|
|
5
|
+
* (literal 'null' for a root, or 'sha256:'+hex(sha256(previous_token)) for a link). Does NOT
|
|
6
|
+
* verify Ed25519 signatures, expiry, keys, or authorization — those live on the verify-receipt
|
|
7
|
+
* path. Linkage ≠ authenticity.
|
|
8
|
+
*
|
|
9
|
+
* The composition / guard MUST NOT call this over a package-held chain and report the result as
|
|
10
|
+
* product truth; a consumer re-runs this (and signature verify) on an export they hold.
|
|
11
|
+
*/
|
|
12
|
+
/** Literal stored in the receipt body when the issuer was given no previous receipt. */
|
|
13
|
+
export declare const RECEIPT_PREV_NULL = "null";
|
|
14
|
+
export type ReceiptChainLinkageReason = 'malformed_token' | 'broken_link' | 'unexpected_predecessor';
|
|
15
|
+
export type ReceiptChainLinkageResult = {
|
|
16
|
+
ok: true;
|
|
17
|
+
/** Number of tokens examined (0 for an empty list — vacuously linked). */
|
|
18
|
+
length: number;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
length: number;
|
|
22
|
+
/** 0-based index of the token that failed the check. */
|
|
23
|
+
failedAt: number;
|
|
24
|
+
reason: ReceiptChainLinkageReason;
|
|
25
|
+
/** What the verifier expected in body.prev (when known). */
|
|
26
|
+
expected?: string;
|
|
27
|
+
/** What body.prev actually contained (when parsed). */
|
|
28
|
+
actual?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* sha256 hex digest of a prior receipt token, in the issuer's prev-slot form:
|
|
32
|
+
* `sha256:` + hex (matches server chain-attestation issueReceipt).
|
|
33
|
+
*/
|
|
34
|
+
export declare function previousReceiptCommitment(previousToken: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Decode the JSON body of a chain receipt token (`base64url(body).base64url(sig)`).
|
|
37
|
+
* Returns null if the token is not two segments or the body is not JSON with a string `prev`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function decodeReceiptBodyPrev(token: string): {
|
|
40
|
+
prev: string;
|
|
41
|
+
} | null;
|
|
42
|
+
/**
|
|
43
|
+
* Verify predecessor-hash LINKAGE over an ordered list of receipt tokens.
|
|
44
|
+
*
|
|
45
|
+
* - Empty list → ok (vacuous).
|
|
46
|
+
* - tokens[0] must have prev === 'null' (root of this presented sequence).
|
|
47
|
+
* - tokens[i] must have prev === previousReceiptCommitment(tokens[i-1]).
|
|
48
|
+
*
|
|
49
|
+
* Does not contact the network or consult a clock.
|
|
50
|
+
*/
|
|
51
|
+
export declare function verifyReceiptChainLinkage(tokens: readonly string[]): ReceiptChainLinkageResult;
|
|
52
|
+
//# sourceMappingURL=receipt-chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-chain.d.ts","sourceRoot":"","sources":["../../src/receipt-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,wFAAwF;AACxF,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,MAAM,MAAM,yBAAyB,GACjC,iBAAiB,GACjB,aAAa,GACb,wBAAwB,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GACjC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,yBAAyB,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAa5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,yBAAyB,CA8C3B"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Pure receipt-chain LINKAGE verifier.
|
|
4
|
+
*
|
|
5
|
+
* Checks only that each token's signed body `prev` field matches the predecessor commitment
|
|
6
|
+
* (literal 'null' for a root, or 'sha256:'+hex(sha256(previous_token)) for a link). Does NOT
|
|
7
|
+
* verify Ed25519 signatures, expiry, keys, or authorization — those live on the verify-receipt
|
|
8
|
+
* path. Linkage ≠ authenticity.
|
|
9
|
+
*
|
|
10
|
+
* The composition / guard MUST NOT call this over a package-held chain and report the result as
|
|
11
|
+
* product truth; a consumer re-runs this (and signature verify) on an export they hold.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.RECEIPT_PREV_NULL = void 0;
|
|
15
|
+
exports.previousReceiptCommitment = previousReceiptCommitment;
|
|
16
|
+
exports.decodeReceiptBodyPrev = decodeReceiptBodyPrev;
|
|
17
|
+
exports.verifyReceiptChainLinkage = verifyReceiptChainLinkage;
|
|
18
|
+
const node_crypto_1 = require("node:crypto");
|
|
19
|
+
/** Literal stored in the receipt body when the issuer was given no previous receipt. */
|
|
20
|
+
exports.RECEIPT_PREV_NULL = 'null';
|
|
21
|
+
/**
|
|
22
|
+
* sha256 hex digest of a prior receipt token, in the issuer's prev-slot form:
|
|
23
|
+
* `sha256:` + hex (matches server chain-attestation issueReceipt).
|
|
24
|
+
*/
|
|
25
|
+
function previousReceiptCommitment(previousToken) {
|
|
26
|
+
return 'sha256:' + (0, node_crypto_1.createHash)('sha256').update(previousToken, 'utf8').digest('hex');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Decode the JSON body of a chain receipt token (`base64url(body).base64url(sig)`).
|
|
30
|
+
* Returns null if the token is not two segments or the body is not JSON with a string `prev`.
|
|
31
|
+
*/
|
|
32
|
+
function decodeReceiptBodyPrev(token) {
|
|
33
|
+
if (typeof token !== 'string' || token.length === 0)
|
|
34
|
+
return null;
|
|
35
|
+
// Chain receipt layout: base64url(body).base64url(sig) — exactly two segments.
|
|
36
|
+
const parts = token.split('.');
|
|
37
|
+
if (parts.length !== 2 || !parts[0] || !parts[1])
|
|
38
|
+
return null;
|
|
39
|
+
try {
|
|
40
|
+
const json = Buffer.from(parts[0], 'base64url').toString('utf8');
|
|
41
|
+
const body = JSON.parse(json);
|
|
42
|
+
if (typeof body.prev !== 'string')
|
|
43
|
+
return null;
|
|
44
|
+
return { prev: body.prev };
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Verify predecessor-hash LINKAGE over an ordered list of receipt tokens.
|
|
52
|
+
*
|
|
53
|
+
* - Empty list → ok (vacuous).
|
|
54
|
+
* - tokens[0] must have prev === 'null' (root of this presented sequence).
|
|
55
|
+
* - tokens[i] must have prev === previousReceiptCommitment(tokens[i-1]).
|
|
56
|
+
*
|
|
57
|
+
* Does not contact the network or consult a clock.
|
|
58
|
+
*/
|
|
59
|
+
function verifyReceiptChainLinkage(tokens) {
|
|
60
|
+
const length = tokens.length;
|
|
61
|
+
if (length === 0) {
|
|
62
|
+
return { ok: true, length: 0 };
|
|
63
|
+
}
|
|
64
|
+
for (let i = 0; i < length; i++) {
|
|
65
|
+
const decoded = decodeReceiptBodyPrev(tokens[i]);
|
|
66
|
+
if (!decoded) {
|
|
67
|
+
return {
|
|
68
|
+
ok: false,
|
|
69
|
+
length,
|
|
70
|
+
failedAt: i,
|
|
71
|
+
reason: 'malformed_token',
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
if (i === 0) {
|
|
75
|
+
// First token of the presented list must be a root of that list (prev = 'null').
|
|
76
|
+
// A non-null prev means the list claims a predecessor that was not included —
|
|
77
|
+
// distinct from a broken link between two included tokens.
|
|
78
|
+
if (decoded.prev !== exports.RECEIPT_PREV_NULL) {
|
|
79
|
+
return {
|
|
80
|
+
ok: false,
|
|
81
|
+
length,
|
|
82
|
+
failedAt: 0,
|
|
83
|
+
reason: 'unexpected_predecessor',
|
|
84
|
+
expected: exports.RECEIPT_PREV_NULL,
|
|
85
|
+
actual: decoded.prev,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const expected = previousReceiptCommitment(tokens[i - 1]);
|
|
91
|
+
if (decoded.prev !== expected) {
|
|
92
|
+
return {
|
|
93
|
+
ok: false,
|
|
94
|
+
length,
|
|
95
|
+
failedAt: i,
|
|
96
|
+
reason: 'broken_link',
|
|
97
|
+
expected,
|
|
98
|
+
actual: decoded.prev,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { ok: true, length };
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=receipt-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"receipt-chain.js","sourceRoot":"","sources":["../../src/receipt-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAoC,MAAM,YAAY,CAAC;AAKpG,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IACvD,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;QAC1C,uEAAuE;QACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,gCAAgC,CAAC;IAC1C,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvD,KAAK,EAAE;QACL,mBAAmB,EAAE,OAAO,CAAC;QAC7B,iBAAiB,EAAE,KAAK,CAAC;QACzB,kBAAkB,EAAE,KAAK,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE;QACR,UAAU,EAAE,sBAAsB,CAAC;QACnC,iBAAiB,EAAE,YAAY,CAAC;KACjC,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,KAAK,kBAAkB,CAAC;AAEtG,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC7C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,6BAA6B,GACrC,sBAAsB,GACtB,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,wBAAwB,CAAC;AAE7B,+FAA+F;AAC/F,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,6BAA6B,CAAC;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAMpF;AAiMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,MAAM,GAAE,uBAA4B,GAAG,cAAc,CA6I3G"}
|
|
@@ -256,6 +256,13 @@ function guardToolRegistry(rawTools, config = {}) {
|
|
|
256
256
|
anyForced = true;
|
|
257
257
|
warnings.push(`force_readonly_on_mutator_heuristic:${tool.name}`);
|
|
258
258
|
}
|
|
259
|
+
// forceReadonly listed this tool but resolution took explicit mutationClass first — break-glass
|
|
260
|
+
// request was silently a no-op. Emit a warning so callers are not given false safety.
|
|
261
|
+
if (Array.isArray(config.forceReadonly)
|
|
262
|
+
&& config.forceReadonly.includes(tool.name)
|
|
263
|
+
&& source === 'mutationClass') {
|
|
264
|
+
warnings.push(`force_readonly_ignored_explicit_mutation_class:${tool.name}`);
|
|
265
|
+
}
|
|
259
266
|
if (source === 'unknown' && cls === 'readonly')
|
|
260
267
|
anyUnknownReadonly = true;
|
|
261
268
|
staged.push({ tool, cls, forced });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/tool-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -32,6 +32,13 @@ export interface GuardConfig {
|
|
|
32
32
|
redactor?: (d: ToolCallDescriptor) => ToolCallDescriptor;
|
|
33
33
|
verifyReceipts?: boolean;
|
|
34
34
|
onEvent?: (e: GuardEvent) => void;
|
|
35
|
+
/**
|
|
36
|
+
* Optional prior chain-receipt token for the preflight `previous_receipt` field (server hashes it
|
|
37
|
+
* into the signed `prev` slot). Host-owned only: a string the host updates between calls, or a
|
|
38
|
+
* zero-arg getter the host supplies. The guard reads it once per preflight and does NOT store,
|
|
39
|
+
* advance, or remember it — the package remains stateless across calls.
|
|
40
|
+
*/
|
|
41
|
+
previousReceipt?: string | (() => string | undefined | null);
|
|
35
42
|
}
|
|
36
43
|
export interface ToolCallDescriptor {
|
|
37
44
|
toolName: string;
|
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEnG,YAAY,EAAE,SAAS,EAAE,sBAAsB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAInG,MAAM,MAAM,uBAAuB,GACjC,sBAAsB,GAAG;IAAE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,kBAAkB,CAAC;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,102 +15,51 @@
|
|
|
15
15
|
* `composition_assurance` so the trace survives into any later coverageReport consumer. S2 adds NO
|
|
16
16
|
* enforcement at call time.
|
|
17
17
|
*
|
|
18
|
-
* COMPOSITION OBSERVATION
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* coverage, residuals, or whether any tool runs.
|
|
18
|
+
* COMPOSITION OBSERVATION: optional `onEvent` is forwarded UNCHANGED onto the guard config.
|
|
19
|
+
* Optional `onSettledCall` is a composition-level hook: it fires EXACTLY ONCE for every SETTLED
|
|
20
|
+
* call through the RETURNED tool table (GUARDED | PASSTHROUGH | BYPASSED × RETURNED | THREW).
|
|
21
|
+
* Discriminant is an EXPLICIT TAG (`kind: 'settled_call'` plus route/terminal), never the absence of
|
|
22
|
+
* a field. On the GUARDED+RETURNED arm, `outcome` is non-optional. Observation is NOT enforcement —
|
|
23
|
+
* it does not change COMPOSITION_CALL_POLICY_COMPLETE, coverage, residuals, or whether any tool runs.
|
|
24
|
+
* The package holds NO counters and computes NO ratios at runtime; pure fold helpers are optional
|
|
25
|
+
* host-side tools (see foldTableSettledCalls / guardedFractionAmongRoutes).
|
|
24
26
|
*
|
|
25
27
|
* TELEMETRY GAPS (honest boundaries — read before claiming "every mutation was checked"):
|
|
26
28
|
* - onEvent does NOT emit a dedicated event for BLOCK or REQUIRE_APPROVAL; after preflight_result
|
|
27
|
-
* those paths return blocked with no further emit. Those outcomes ARE visible via
|
|
28
|
-
* (outcome.executed === false, outcome.verdict.kind === 'BLOCK' | 'APPROVAL')
|
|
29
|
+
* those paths return blocked with no further emit. Those outcomes ARE visible via onSettledCall
|
|
30
|
+
* on the GUARDED arm (outcome.executed === false, outcome.verdict.kind === 'BLOCK' | 'APPROVAL').
|
|
29
31
|
* - The GuardEvent payload carries no envelope, receipt, or fingerprint — only optional decisionId
|
|
30
|
-
* (and action/cause/signals/…).
|
|
31
|
-
* outcome.verdict.envelope where the frozen path attached one
|
|
32
|
-
* -
|
|
33
|
-
*
|
|
34
|
-
*
|
|
32
|
+
* (and action/cause/signals/…). GUARDED+RETURNED onSettledCall carries the full GuardOutcome,
|
|
33
|
+
* including outcome.verdict.envelope where the frozen path attached one.
|
|
34
|
+
* - onSettledCall sees ONLY calls through the table withCodeRifts returned. Host-invoked raw tools
|
|
35
|
+
* outside that table are invisible. Never treat observation as "total operations" or "100%
|
|
36
|
+
* enforcement coverage".
|
|
35
37
|
* - onEvent is partial even for other branches (e.g. closed-availability stops may emit only
|
|
36
38
|
* preflight_start; the declared type 'execution_skipped' is never emitted by the frozen core).
|
|
37
39
|
* - Neither hook alone is a complete substrate for receipt carry-forward: onEvent lacks the
|
|
38
|
-
* envelope/receipt;
|
|
39
|
-
* across calls (that is a later slice).
|
|
40
|
+
* envelope/receipt; onSettledCall exposes them when present on the GUARDED+RETURNED arm but does
|
|
41
|
+
* not retain or re-inject them across calls (that is a later slice).
|
|
40
42
|
*
|
|
41
43
|
* S2 does NOT re-guard what the registry already fails closed on. A `forceReadonly`/`classify`
|
|
42
44
|
* downgrade of a heuristic mutator is, under the registry's default `failOnUnguardedMutator:true`,
|
|
43
45
|
* already a thrown `FORCE_READONLY_MUTATOR` (no report exists); when the caller passes
|
|
44
46
|
* `failOnUnguardedMutator:false` it is already registry coverage 'BYPASSED', which fails any
|
|
45
|
-
* `requireCoverage` above BYPASSED by the ordering alone.
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
* composition_unknown_treated_as_readonly) so the reason the composition is narrower than it looks is
|
|
49
|
-
* preserved on the assurance object. Registry-thrown errors propagate UNCHANGED (never wrapped or
|
|
50
|
-
* swallowed).
|
|
51
|
-
*
|
|
52
|
-
* How the weakening residuals are derived, and their KNOWN LIMITATION (a frozen-registry property, not
|
|
53
|
-
* a composition property): both residuals are read SOLELY from `registry_report.warnings` — the
|
|
54
|
-
* composition never recomputes classification. The registry emits `force_readonly_on_mutator_heuristic`
|
|
55
|
-
* ONLY for the downgrade of a HEURISTIC-classified mutator (a tool with no `classify` entry and no
|
|
56
|
-
* `mutationClass`, whose NAME heuristic is mutating), reached via `forceReadonly` OR a `classify`
|
|
57
|
-
* entry. Crucially, `forceReadonly` has NO effect on a tool the caller declared with an explicit
|
|
58
|
-
* `mutationClass`: `resolveClass` (tool-registry.ts:154-165) returns on `tool.mutationClass` at :157,
|
|
59
|
-
* BEFORE `forceReadonly` is consulted at :158 — so such a tool resolves `mutating`, stays guarded,
|
|
60
|
-
* yields coverage 'COMPLETE', and emits NO warning. The composition therefore produces NO residual in
|
|
61
|
-
* that case and CANNOT detect it: the caller's `forceReadonly` was silently ignored by the frozen
|
|
62
|
-
* registry. This is a limitation of the frozen registry surface, recorded (not worked around) here and
|
|
63
|
-
* pinned by a "documented limitation" test. The residual is named
|
|
64
|
-
* `composition_forced_readonly_on_heuristic_mutator` so it does not promise coverage of the case it
|
|
65
|
-
* cannot see.
|
|
47
|
+
* `requireCoverage` above BYPASSED by the ordering alone. The composition RECORDS residuals from
|
|
48
|
+
* registry warnings. When forceReadonly lists a tool that declared explicit mutationClass, the
|
|
49
|
+
* registry emits `force_readonly_ignored_explicit_mutation_class:<name>` (break-glass ignored).
|
|
66
50
|
*
|
|
67
51
|
* COMPOSITION_CALL_POLICY_COMPLETE (when the composition may claim product-level runtime
|
|
68
52
|
* inescapability) requires ALL of the following — do not flip the constant when only a subset lands:
|
|
69
53
|
* (1) Automatic binders for call shapes that ALREADY carry both sides of the change (old_string/
|
|
70
|
-
* new_string, edits[]) — DONE
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* (3) A freshness-safe source of prior content for write-style calls (path + new content only)
|
|
74
|
-
*
|
|
75
|
-
* was not given cannot be obtained; inventing one (including empty-string before) would send a
|
|
76
|
-
* fabricated artifact to the oracle. That needs a host/guard freshness protocol, not another
|
|
77
|
-
* binder rename. Flipping this constant on (1)+(2) alone is incorrect.
|
|
78
|
-
*
|
|
79
|
-
* STILL DELIBERATELY OUT OF SCOPE (later slices; not stubbed, not implied here): receipt carry-forward;
|
|
80
|
-
* freshness-safe prior content for write-style calls; call-time STOP re-implementation (already
|
|
81
|
-
* complete in the frozen guardToolCall path); WARN monitoring policy beyond the frozen sink gate;
|
|
82
|
-
* framework adapters. (Both-sides edit-side lifting in defaultBinder is landed — see (1) above.)
|
|
54
|
+
* new_string, edits[]) — DONE. Not the same as covering every real agent edit shape.
|
|
55
|
+
* (2) Receipt carry-forward (S5) — host-threaded chaining is POSSIBLE (optional previousReceipt +
|
|
56
|
+
* verifyReceiptChainLinkage). NOT met for this constant: the composition holds no cursor.
|
|
57
|
+
* (3) A freshness-safe source of prior content for write-style calls (path + new content only) —
|
|
58
|
+
* NOT done.
|
|
83
59
|
*
|
|
84
60
|
* THE TWO-SCOPE RULE (never merged):
|
|
85
|
-
* - `registry_report` is EXACTLY what `guardToolRegistry` returned, passed through untouched.
|
|
86
|
-
*
|
|
87
|
-
* tool-boundary's own honest truth (Placement A).
|
|
88
|
-
* - `composition_assurance` is the narrower PRODUCT-level statement — what withCodeRifts as a whole
|
|
89
|
-
* is willing to claim today. It is computed SEPARATELY and never rewrites the registry's verdict.
|
|
90
|
-
* Its S1 semantics are UNCHANGED in S2 and under observation: coverage stays 'PARTIAL',
|
|
91
|
-
* inescapable_runtime stays false via the same COMPOSITION_CALL_POLICY_COMPLETE conjunction.
|
|
92
|
-
* The two truths coexist; neither is derived by mutating the other.
|
|
93
|
-
*
|
|
94
|
-
* `requireCoverage` scope (read this before trusting a green construction): it constrains the
|
|
95
|
-
* REGISTRY-level coverage ONLY. It CANNOT be used to demand composition-level runtime inescapability —
|
|
96
|
-
* that remains unreachable while COMPOSITION_CALL_POLICY_COMPLETE is false (see the three conditions
|
|
97
|
-
* above, not merely "binders + receipts"). A caller passing `requireCoverage:'COMPLETE'` is asserting
|
|
98
|
-
* an expectation about the registry tool-boundary surface — NOT a product-level guarantee. The abort
|
|
99
|
-
* text and this doc say so explicitly so nobody reads a green construction as product-level
|
|
100
|
-
* enforcement.
|
|
101
|
-
*
|
|
102
|
-
* Operation semantics (accurate scope): `operationForClass` (tool-registry.ts) already derives a
|
|
103
|
-
* per-tool operation from the tool's mutation class, OVERRIDING the guard config for specialised
|
|
104
|
-
* classes (deploy→'deploy', publish→'publish', vcs-merge→'merge', …). The mandatory `operation` here
|
|
105
|
-
* therefore governs generic mutating tools and acts as the session-level default; it does NOT override
|
|
106
|
-
* a deploy-class tool's 'deploy'. It is mandatory because receipts bind to an operation and
|
|
107
|
-
* merge != deploy: a silent default would risk evaluating a deploy under merge semantics.
|
|
108
|
-
*
|
|
109
|
-
* Abort discipline: pre-registry input problems (missing/empty operation, missing client, an invalid
|
|
110
|
-
* requireCoverage value) are collected and thrown as ONE error listing ALL of them. The
|
|
111
|
-
* requireCoverage-vs-actual check is necessarily sequenced AFTER the registry call (it needs the
|
|
112
|
-
* registry's coverage), so it is its own abort; it cannot be batched with the pre-registry problems
|
|
113
|
-
* because a valid operation+client are required even to reach the registry.
|
|
61
|
+
* - `registry_report` is EXACTLY what `guardToolRegistry` returned, passed through untouched.
|
|
62
|
+
* - `composition_assurance` is the narrower PRODUCT-level statement, computed SEPARATELY.
|
|
114
63
|
*/
|
|
115
64
|
import type { RawTool, ProtectedTool, EnforcementCoverage, RegistryCoverageReport, ToolBinder, ToolMutationClass } from './tool-registry.js';
|
|
116
65
|
import type { GuardConfig, GuardEvent, GuardOutcome } from './types.js';
|
|
@@ -122,14 +71,87 @@ export type WithCodeRiftsRegistryConfig = {
|
|
|
122
71
|
forceReadonly?: string[];
|
|
123
72
|
failOnUnguardedMutator?: boolean;
|
|
124
73
|
};
|
|
74
|
+
/** Route of a settled call through the returned table. Explicit tag values — never inferred by field absence. */
|
|
75
|
+
export type CallRoute = 'GUARDED' | 'PASSTHROUGH' | 'BYPASSED';
|
|
76
|
+
/** How a settled call finished. Explicit tag values. */
|
|
77
|
+
export type CallTerminal = 'RETURNED' | 'THREW';
|
|
125
78
|
/**
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
79
|
+
* One settled call through the tool table withCodeRifts returned.
|
|
80
|
+
*
|
|
81
|
+
* Discriminant is the EXPLICIT `kind: 'settled_call'` plus `route` and `terminal` tags — never
|
|
82
|
+
* "outcome present vs missing". On GUARDED+RETURNED, `outcome` is required (non-optional).
|
|
83
|
+
*
|
|
84
|
+
* Replaces the former `ObservedOutcome` (`{ toolName, outcome }` only for guarded returns). The old
|
|
85
|
+
* name implied every observation carried a GuardOutcome and that only guarded tools were visible;
|
|
86
|
+
* both were false once passthrough/threw routes ship, so the name is retired rather than overloaded.
|
|
129
87
|
*/
|
|
130
|
-
export type
|
|
88
|
+
export type SettledCallObservation = {
|
|
89
|
+
kind: 'settled_call';
|
|
90
|
+
route: 'GUARDED';
|
|
91
|
+
terminal: 'RETURNED';
|
|
131
92
|
toolName: string;
|
|
132
93
|
outcome: GuardOutcome<unknown>;
|
|
94
|
+
} | {
|
|
95
|
+
kind: 'settled_call';
|
|
96
|
+
route: 'GUARDED';
|
|
97
|
+
terminal: 'THREW';
|
|
98
|
+
toolName: string;
|
|
99
|
+
error: unknown;
|
|
100
|
+
} | {
|
|
101
|
+
kind: 'settled_call';
|
|
102
|
+
route: 'PASSTHROUGH';
|
|
103
|
+
terminal: 'RETURNED';
|
|
104
|
+
toolName: string;
|
|
105
|
+
result: unknown;
|
|
106
|
+
} | {
|
|
107
|
+
kind: 'settled_call';
|
|
108
|
+
route: 'PASSTHROUGH';
|
|
109
|
+
terminal: 'THREW';
|
|
110
|
+
toolName: string;
|
|
111
|
+
error: unknown;
|
|
112
|
+
} | {
|
|
113
|
+
kind: 'settled_call';
|
|
114
|
+
route: 'BYPASSED';
|
|
115
|
+
terminal: 'RETURNED';
|
|
116
|
+
toolName: string;
|
|
117
|
+
result: unknown;
|
|
118
|
+
} | {
|
|
119
|
+
kind: 'settled_call';
|
|
120
|
+
route: 'BYPASSED';
|
|
121
|
+
terminal: 'THREW';
|
|
122
|
+
toolName: string;
|
|
123
|
+
error: unknown;
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* Counts of settled-call routes from a host-collected event list.
|
|
127
|
+
* Names are route tags only — not "total operations" or "enforcement coverage".
|
|
128
|
+
*/
|
|
129
|
+
export type TableSettledCallRouteCounts = {
|
|
130
|
+
GUARDED: number;
|
|
131
|
+
PASSTHROUGH: number;
|
|
132
|
+
BYPASSED: number;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Pure fold: count routes in a host-owned list of settled-call observations.
|
|
136
|
+
* The package never accumulates these at runtime.
|
|
137
|
+
*/
|
|
138
|
+
export declare function foldTableSettledCalls(events: readonly SettledCallObservation[]): TableSettledCallRouteCounts;
|
|
139
|
+
/**
|
|
140
|
+
* Fraction of GUARDED among observed routes, or ABSENT when a ratio would be misleading.
|
|
141
|
+
*
|
|
142
|
+
* Returns `kind: 'absent'` (not zero) when:
|
|
143
|
+
* - no settled calls were observed, or
|
|
144
|
+
* - only a single route tag has a non-zero count (one-sided observation).
|
|
145
|
+
*
|
|
146
|
+
* Never returns a number that could be read as "0% enforcement" or "100% coverage" from partial data.
|
|
147
|
+
* The package does not call this automatically.
|
|
148
|
+
*/
|
|
149
|
+
export declare function guardedFractionAmongRoutes(counts: TableSettledCallRouteCounts): {
|
|
150
|
+
kind: 'absent';
|
|
151
|
+
why: 'no_settled_calls' | 'one_route_only';
|
|
152
|
+
} | {
|
|
153
|
+
kind: 'present';
|
|
154
|
+
fraction: number;
|
|
133
155
|
};
|
|
134
156
|
export type WithCodeRiftsInput = {
|
|
135
157
|
/** Raw tool list handed to the frozen guardToolRegistry (required). */
|
|
@@ -161,11 +183,17 @@ export type WithCodeRiftsInput = {
|
|
|
161
183
|
*/
|
|
162
184
|
onEvent?: (e: GuardEvent) => void;
|
|
163
185
|
/**
|
|
164
|
-
* Optional. Invoked
|
|
165
|
-
*
|
|
166
|
-
* swallowed so observation never changes host-visible execution.
|
|
186
|
+
* Optional. Invoked once per SETTLED call through the returned tool table (every route and both
|
|
187
|
+
* terminals). Discriminated union — see SettledCallObservation. Throws and rejected promises are
|
|
188
|
+
* swallowed so observation never changes host-visible execution. Replaces the former `onOutcome`
|
|
189
|
+
* (guarded-only) hook.
|
|
190
|
+
*/
|
|
191
|
+
onSettledCall?: (o: SettledCallObservation) => void | PromiseLike<void>;
|
|
192
|
+
/**
|
|
193
|
+
* Optional prior chain-receipt token (or getter) forwarded onto GuardConfig.previousReceipt.
|
|
194
|
+
* Host-owned; the composition does not retain or advance it between calls.
|
|
167
195
|
*/
|
|
168
|
-
|
|
196
|
+
previousReceipt?: string | (() => string | undefined | null);
|
|
169
197
|
};
|
|
170
198
|
/** The narrower product-level statement, computed separately from the registry's own report. */
|
|
171
199
|
export type CompositionAssurance = {
|