@coderifts/agent-guard 13.0.0 → 14.1.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 +29 -3
- package/dist/cjs/adapters/vercel.d.ts +153 -0
- package/dist/cjs/adapters/vercel.d.ts.map +1 -0
- package/dist/cjs/adapters/vercel.js +255 -0
- package/dist/cjs/adapters/vercel.js.map +1 -0
- package/dist/cjs/atomic-profile.d.ts +112 -0
- package/dist/cjs/atomic-profile.d.ts.map +1 -0
- package/dist/cjs/atomic-profile.js +228 -0
- package/dist/cjs/atomic-profile.js.map +1 -0
- package/dist/cjs/cas-attestation.d.ts +7 -2
- package/dist/cjs/cas-attestation.d.ts.map +1 -1
- package/dist/cjs/cas-attestation.js +10 -0
- package/dist/cjs/cas-attestation.js.map +1 -1
- package/dist/cjs/deploy-gate.d.ts +15 -3
- package/dist/cjs/deploy-gate.d.ts.map +1 -1
- package/dist/cjs/deploy-gate.js +15 -3
- package/dist/cjs/deploy-gate.js.map +1 -1
- package/dist/cjs/execute-tool-call.d.ts +16 -1
- package/dist/cjs/execute-tool-call.d.ts.map +1 -1
- package/dist/cjs/execute-tool-call.js +26 -0
- package/dist/cjs/execute-tool-call.js.map +1 -1
- package/dist/cjs/execution-grant.d.ts +2 -0
- package/dist/cjs/execution-grant.d.ts.map +1 -1
- package/dist/cjs/execution-grant.js.map +1 -1
- package/dist/cjs/execution-proof.d.ts.map +1 -1
- package/dist/cjs/execution-proof.js +3 -1
- package/dist/cjs/execution-proof.js.map +1 -1
- package/dist/cjs/gate-refusal.js +1 -1
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +35 -7
- package/dist/cjs/guard.js.map +1 -1
- package/dist/cjs/index.d.ts +10 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +30 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/monitoring-delivery.d.ts +1 -1
- package/dist/cjs/monitoring-delivery.d.ts.map +1 -1
- package/dist/cjs/posture-receipt.d.ts +79 -0
- package/dist/cjs/posture-receipt.d.ts.map +1 -0
- package/dist/cjs/posture-receipt.js +181 -0
- package/dist/cjs/posture-receipt.js.map +1 -0
- package/dist/cjs/types.d.ts +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.d.ts +50 -5
- package/dist/cjs/with-coderifts.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.js +51 -6
- package/dist/cjs/with-coderifts.js.map +1 -1
- package/dist/esm/adapters/vercel.d.ts +153 -0
- package/dist/esm/adapters/vercel.d.ts.map +1 -0
- package/dist/esm/adapters/vercel.js +247 -0
- package/dist/esm/adapters/vercel.js.map +1 -0
- package/dist/esm/atomic-profile.d.ts +112 -0
- package/dist/esm/atomic-profile.d.ts.map +1 -0
- package/dist/esm/atomic-profile.js +219 -0
- package/dist/esm/atomic-profile.js.map +1 -0
- package/dist/esm/cas-attestation.d.ts +7 -2
- package/dist/esm/cas-attestation.d.ts.map +1 -1
- package/dist/esm/cas-attestation.js +10 -0
- package/dist/esm/cas-attestation.js.map +1 -1
- package/dist/esm/deploy-gate.d.ts +15 -3
- package/dist/esm/deploy-gate.d.ts.map +1 -1
- package/dist/esm/deploy-gate.js +15 -3
- package/dist/esm/deploy-gate.js.map +1 -1
- package/dist/esm/execute-tool-call.d.ts +16 -1
- package/dist/esm/execute-tool-call.d.ts.map +1 -1
- package/dist/esm/execute-tool-call.js +25 -0
- package/dist/esm/execute-tool-call.js.map +1 -1
- package/dist/esm/execution-grant.d.ts +2 -0
- package/dist/esm/execution-grant.d.ts.map +1 -1
- package/dist/esm/execution-grant.js.map +1 -1
- package/dist/esm/execution-proof.d.ts.map +1 -1
- package/dist/esm/execution-proof.js +3 -1
- package/dist/esm/execution-proof.js.map +1 -1
- package/dist/esm/gate-refusal.js +1 -1
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +36 -8
- package/dist/esm/guard.js.map +1 -1
- package/dist/esm/index.d.ts +10 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +9 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/monitoring-delivery.d.ts +1 -1
- package/dist/esm/monitoring-delivery.d.ts.map +1 -1
- package/dist/esm/posture-receipt.d.ts +79 -0
- package/dist/esm/posture-receipt.d.ts.map +1 -0
- package/dist/esm/posture-receipt.js +177 -0
- package/dist/esm/posture-receipt.js.map +1 -0
- package/dist/esm/types.d.ts +1 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/with-coderifts.d.ts +50 -5
- package/dist/esm/with-coderifts.d.ts.map +1 -1
- package/dist/esm/with-coderifts.js +48 -6
- package/dist/esm/with-coderifts.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* cr.posture.receipt.v1 verifier (roadmap 1167).
|
|
3
|
+
*
|
|
4
|
+
* Verifies the signed posture receipt produced by the data plane
|
|
5
|
+
* (capability-demo demo/src/posture.js): a catalog read-back asserting the
|
|
6
|
+
* credential boundary is still wired, signed out-of-DB by the executor key.
|
|
7
|
+
*
|
|
8
|
+
* WHY THIS EXISTS. ENFORCING_ATOMIC_V1's credential_boundary invariant accepts
|
|
9
|
+
* `credentialBoundary: true` — a bare assertion, verified by nothing
|
|
10
|
+
* (atomic-profile.ts:108-109). An external audit called that a P0, correctly.
|
|
11
|
+
* _V2 replaces the assertion with this verification. _V1 is frozen and still
|
|
12
|
+
* accepts the bare form; the break is opt-in.
|
|
13
|
+
*
|
|
14
|
+
* No new crypto: `createPublicKey` + `verify` from node:crypto, the same two
|
|
15
|
+
* primitives deploy-receipt-token.ts uses, and the same registry/pinned-PEM
|
|
16
|
+
* key resolution shape.
|
|
17
|
+
*
|
|
18
|
+
* VERIFY OVER RAW BYTES, PARSE ONLY TO READ. The producer signs
|
|
19
|
+
* `canonicalJson(body)` (posture.js:436-437), and that canonicalJson is a local
|
|
20
|
+
* implementation (posture.js:179-183), NOT RFC 8785 JCS. Re-serialising the
|
|
21
|
+
* parsed object to re-derive the signed bytes would be a bit-exactness trap
|
|
22
|
+
* that fails on the first key-order or escaping difference. So: the signature is
|
|
23
|
+
* checked against the DECODED PREIMAGE BYTES exactly as they arrived, and
|
|
24
|
+
* JSON.parse is used only to read fields out of an already-verified message.
|
|
25
|
+
*
|
|
26
|
+
* FRESHNESS, NOT EXPIRY — and the distinction is load-bearing. The receipt
|
|
27
|
+
* carries `measured_at` (posture.js:431) and NO `expires_at`; measured against
|
|
28
|
+
* the producer, the field simply does not exist. So this verifier cannot check
|
|
29
|
+
* an expiry the receipt never made. It checks AGE against a caller-supplied
|
|
30
|
+
* `maxAgeMs`, and it deliberately has NO default: a default here would present
|
|
31
|
+
* the guard's policy as though the receipt had stated it.
|
|
32
|
+
*
|
|
33
|
+
* No fetch. Same inputs → same output.
|
|
34
|
+
*/
|
|
35
|
+
import type { ExecutorKeyRegistry } from '@coderifts/sdk';
|
|
36
|
+
export declare const POSTURE_RECEIPT_V: "cr.posture.receipt.v1";
|
|
37
|
+
export type PostureVerifyStatus = 'POSTURE_PASS' | 'POSTURE_FAIL' | 'POSTURE_MALFORMED' | 'POSTURE_UNKNOWN_KEY' | 'POSTURE_REVOKED_KEY' | 'POSTURE_INVALID_SIGNATURE' | 'POSTURE_UNBOUND' | 'POSTURE_STALE';
|
|
38
|
+
/**
|
|
39
|
+
* Allowed future skew on measured_at, in ms. A receipt dated further in the
|
|
40
|
+
* future than this is not fresh — it is clock-skewed / malformed.
|
|
41
|
+
*/
|
|
42
|
+
export declare const POSTURE_CLOCK_SKEW_TOLERANCE_MS = 5000;
|
|
43
|
+
export type PostureReceiptPayload = {
|
|
44
|
+
v?: string;
|
|
45
|
+
executor_kid?: string;
|
|
46
|
+
deployment_id?: string;
|
|
47
|
+
measured_at?: string;
|
|
48
|
+
verdict?: string;
|
|
49
|
+
facts?: unknown;
|
|
50
|
+
drift?: unknown;
|
|
51
|
+
};
|
|
52
|
+
export type PostureVerifyInput = {
|
|
53
|
+
/** Well-known-shaped registry `{ keys: [{ kid, public_key_pem, status, … }] }`. */
|
|
54
|
+
registry?: ExecutorKeyRegistry;
|
|
55
|
+
/** Air-gap single PEM (kid-agnostic). */
|
|
56
|
+
pinnedKeyPem?: string;
|
|
57
|
+
/** The receipt must be bound to THIS deployment. */
|
|
58
|
+
expectedDeploymentId?: string;
|
|
59
|
+
/** Caller-supplied freshness window in ms. NO DEFAULT — see the header. */
|
|
60
|
+
maxAgeMs?: number;
|
|
61
|
+
/** Injectable clock for tests. Defaults to Date.now. */
|
|
62
|
+
now?: () => number;
|
|
63
|
+
};
|
|
64
|
+
export type PostureVerifyResult = {
|
|
65
|
+
valid: boolean;
|
|
66
|
+
status: PostureVerifyStatus;
|
|
67
|
+
reason: string | null;
|
|
68
|
+
payload?: PostureReceiptPayload;
|
|
69
|
+
/** Age in ms at verification time, when it could be computed. */
|
|
70
|
+
age_ms?: number;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Verify a posture receipt token.
|
|
74
|
+
*
|
|
75
|
+
* @param token `cr.posture.receipt.v1|<executor_kid>|<b64url(preimage)>|<signature>`
|
|
76
|
+
* (envelope shape measured at posture.js:370-377)
|
|
77
|
+
*/
|
|
78
|
+
export declare function verifyPostureReceipt(token: unknown, input?: PostureVerifyInput): PostureVerifyResult;
|
|
79
|
+
//# sourceMappingURL=posture-receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-receipt.d.ts","sourceRoot":"","sources":["../../src/posture-receipt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,eAAO,MAAM,iBAAiB,EAAG,uBAAgC,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,2BAA2B,GAC3B,iBAAiB,GACjB,eAAe,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,+BAA+B,OAAQ,CAAC;AAErD,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AA6CF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,KAAK,GAAE,kBAAuB,GAC7B,mBAAmB,CAyGrB"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* cr.posture.receipt.v1 verifier (roadmap 1167).
|
|
4
|
+
*
|
|
5
|
+
* Verifies the signed posture receipt produced by the data plane
|
|
6
|
+
* (capability-demo demo/src/posture.js): a catalog read-back asserting the
|
|
7
|
+
* credential boundary is still wired, signed out-of-DB by the executor key.
|
|
8
|
+
*
|
|
9
|
+
* WHY THIS EXISTS. ENFORCING_ATOMIC_V1's credential_boundary invariant accepts
|
|
10
|
+
* `credentialBoundary: true` — a bare assertion, verified by nothing
|
|
11
|
+
* (atomic-profile.ts:108-109). An external audit called that a P0, correctly.
|
|
12
|
+
* _V2 replaces the assertion with this verification. _V1 is frozen and still
|
|
13
|
+
* accepts the bare form; the break is opt-in.
|
|
14
|
+
*
|
|
15
|
+
* No new crypto: `createPublicKey` + `verify` from node:crypto, the same two
|
|
16
|
+
* primitives deploy-receipt-token.ts uses, and the same registry/pinned-PEM
|
|
17
|
+
* key resolution shape.
|
|
18
|
+
*
|
|
19
|
+
* VERIFY OVER RAW BYTES, PARSE ONLY TO READ. The producer signs
|
|
20
|
+
* `canonicalJson(body)` (posture.js:436-437), and that canonicalJson is a local
|
|
21
|
+
* implementation (posture.js:179-183), NOT RFC 8785 JCS. Re-serialising the
|
|
22
|
+
* parsed object to re-derive the signed bytes would be a bit-exactness trap
|
|
23
|
+
* that fails on the first key-order or escaping difference. So: the signature is
|
|
24
|
+
* checked against the DECODED PREIMAGE BYTES exactly as they arrived, and
|
|
25
|
+
* JSON.parse is used only to read fields out of an already-verified message.
|
|
26
|
+
*
|
|
27
|
+
* FRESHNESS, NOT EXPIRY — and the distinction is load-bearing. The receipt
|
|
28
|
+
* carries `measured_at` (posture.js:431) and NO `expires_at`; measured against
|
|
29
|
+
* the producer, the field simply does not exist. So this verifier cannot check
|
|
30
|
+
* an expiry the receipt never made. It checks AGE against a caller-supplied
|
|
31
|
+
* `maxAgeMs`, and it deliberately has NO default: a default here would present
|
|
32
|
+
* the guard's policy as though the receipt had stated it.
|
|
33
|
+
*
|
|
34
|
+
* No fetch. Same inputs → same output.
|
|
35
|
+
*/
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.POSTURE_CLOCK_SKEW_TOLERANCE_MS = exports.POSTURE_RECEIPT_V = void 0;
|
|
38
|
+
exports.verifyPostureReceipt = verifyPostureReceipt;
|
|
39
|
+
const node_crypto_1 = require("node:crypto");
|
|
40
|
+
exports.POSTURE_RECEIPT_V = 'cr.posture.receipt.v1';
|
|
41
|
+
/**
|
|
42
|
+
* Allowed future skew on measured_at, in ms. A receipt dated further in the
|
|
43
|
+
* future than this is not fresh — it is clock-skewed / malformed.
|
|
44
|
+
*/
|
|
45
|
+
exports.POSTURE_CLOCK_SKEW_TOLERANCE_MS = 5_000;
|
|
46
|
+
/**
|
|
47
|
+
* Same shape and precedence as deploy-receipt-token.ts:106-134 — pinned PEM wins
|
|
48
|
+
* (air-gap), then the registry entry for this kid. Active-only: a revoked (or
|
|
49
|
+
* otherwise non-active) match is NOT a fallback.
|
|
50
|
+
*/
|
|
51
|
+
function resolvePostureKey(kid, registry, pinnedKeyPem) {
|
|
52
|
+
if (typeof pinnedKeyPem === 'string' && pinnedKeyPem.trim().length > 0) {
|
|
53
|
+
try {
|
|
54
|
+
return { ok: true, key: (0, node_crypto_1.createPublicKey)(pinnedKeyPem) };
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return { ok: false, status: 'POSTURE_UNKNOWN_KEY' };
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!registry || !Array.isArray(registry.keys) || !kid) {
|
|
61
|
+
return { ok: false, status: 'POSTURE_UNKNOWN_KEY' };
|
|
62
|
+
}
|
|
63
|
+
const matches = registry.keys.filter((k) => k && k.kid === kid && typeof k.public_key_pem === 'string');
|
|
64
|
+
if (matches.length === 0)
|
|
65
|
+
return { ok: false, status: 'POSTURE_UNKNOWN_KEY' };
|
|
66
|
+
const entry = matches.find((k) => k.status === 'active');
|
|
67
|
+
if (!entry)
|
|
68
|
+
return { ok: false, status: 'POSTURE_REVOKED_KEY' };
|
|
69
|
+
try {
|
|
70
|
+
return { ok: true, key: (0, node_crypto_1.createPublicKey)(entry.public_key_pem) };
|
|
71
|
+
}
|
|
72
|
+
catch {
|
|
73
|
+
return { ok: false, status: 'POSTURE_UNKNOWN_KEY' };
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const fail = (status, reason, extra = {}) => ({ valid: false, status, reason, ...extra });
|
|
77
|
+
/**
|
|
78
|
+
* Verify a posture receipt token.
|
|
79
|
+
*
|
|
80
|
+
* @param token `cr.posture.receipt.v1|<executor_kid>|<b64url(preimage)>|<signature>`
|
|
81
|
+
* (envelope shape measured at posture.js:370-377)
|
|
82
|
+
*/
|
|
83
|
+
function verifyPostureReceipt(token, input = {}) {
|
|
84
|
+
if (typeof token !== 'string' || token.length === 0) {
|
|
85
|
+
return fail('POSTURE_MALFORMED', 'malformed_structure');
|
|
86
|
+
}
|
|
87
|
+
const seg = token.split('|');
|
|
88
|
+
if (seg.length !== 4 || seg[0] !== exports.POSTURE_RECEIPT_V || seg.some((x) => !x)) {
|
|
89
|
+
return fail('POSTURE_MALFORMED', 'malformed_structure');
|
|
90
|
+
}
|
|
91
|
+
// The bytes the producer signed, exactly as they arrived. Never re-derived.
|
|
92
|
+
let preimageBytes;
|
|
93
|
+
try {
|
|
94
|
+
preimageBytes = Buffer.from(seg[2], 'base64url');
|
|
95
|
+
if (preimageBytes.length === 0)
|
|
96
|
+
throw new Error('empty');
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return fail('POSTURE_MALFORMED', 'bad_preimage');
|
|
100
|
+
}
|
|
101
|
+
const resolved = resolvePostureKey(seg[1], input.registry, input.pinnedKeyPem);
|
|
102
|
+
if (!resolved.ok) {
|
|
103
|
+
return fail(resolved.status, resolved.status === 'POSTURE_REVOKED_KEY' ? 'kid_revoked' : 'unknown_kid');
|
|
104
|
+
}
|
|
105
|
+
const key = resolved.key;
|
|
106
|
+
let sigOk = false;
|
|
107
|
+
try {
|
|
108
|
+
sigOk = (0, node_crypto_1.verify)(null, preimageBytes, key, Buffer.from(seg[3], 'base64url'));
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return fail('POSTURE_INVALID_SIGNATURE', 'signature_error');
|
|
112
|
+
}
|
|
113
|
+
if (!sigOk)
|
|
114
|
+
return fail('POSTURE_INVALID_SIGNATURE', 'signature_mismatch');
|
|
115
|
+
// Parsed AFTER the signature holds: reading fields out of a verified message.
|
|
116
|
+
let payload;
|
|
117
|
+
try {
|
|
118
|
+
payload = JSON.parse(preimageBytes.toString('utf8'));
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return fail('POSTURE_MALFORMED', 'bad_json');
|
|
122
|
+
}
|
|
123
|
+
if (!payload || typeof payload !== 'object') {
|
|
124
|
+
return fail('POSTURE_MALFORMED', 'bad_json');
|
|
125
|
+
}
|
|
126
|
+
// A validly signed FAIL is a signed drift artifact, not a broken receipt. The
|
|
127
|
+
// signature held; the posture did not. Reporting this as INVALID_SIGNATURE
|
|
128
|
+
// would hide a real boundary regression behind a crypto-shaped error.
|
|
129
|
+
if (payload.verdict !== 'PASS') {
|
|
130
|
+
return fail('POSTURE_FAIL', 'posture_verdict_not_pass', { payload });
|
|
131
|
+
}
|
|
132
|
+
// Envelope kid is seg[1]. Body executor_kid is optional; when present it must match.
|
|
133
|
+
if (typeof payload.executor_kid === 'string' && payload.executor_kid.length > 0
|
|
134
|
+
&& payload.executor_kid !== seg[1]) {
|
|
135
|
+
return fail('POSTURE_UNBOUND', 'kid_mismatch', { payload });
|
|
136
|
+
}
|
|
137
|
+
// Body `v` is optional (PostureReceiptPayload.v). When present it must match the envelope magic.
|
|
138
|
+
if (Object.prototype.hasOwnProperty.call(payload, 'v') && payload.v != null
|
|
139
|
+
&& payload.v !== exports.POSTURE_RECEIPT_V) {
|
|
140
|
+
return fail('POSTURE_MALFORMED', 'body_version_mismatch', { payload });
|
|
141
|
+
}
|
|
142
|
+
if (typeof input.expectedDeploymentId === 'string' && input.expectedDeploymentId.length > 0) {
|
|
143
|
+
if (payload.deployment_id !== input.expectedDeploymentId) {
|
|
144
|
+
return fail('POSTURE_UNBOUND', 'deployment_id_mismatch', { payload });
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// FRESHNESS. maxAgeMs is the CALLER's window; there is no receipt-carried
|
|
148
|
+
// expiry to fall back on, so an absent maxAgeMs means the caller did not ask
|
|
149
|
+
// for an age check — not that the receipt is timeless.
|
|
150
|
+
let ageMs;
|
|
151
|
+
if (typeof input.maxAgeMs === 'number' && Number.isFinite(input.maxAgeMs)) {
|
|
152
|
+
const measured = Date.parse(String(payload.measured_at));
|
|
153
|
+
if (Number.isNaN(measured)) {
|
|
154
|
+
return fail('POSTURE_STALE', 'measured_at_unparseable', { payload });
|
|
155
|
+
}
|
|
156
|
+
const now = (input.now || (() => Date.now()))();
|
|
157
|
+
// NaN < -tolerance and NaN > maxAgeMs are both false — a non-finite clock
|
|
158
|
+
// must not skip the freshness predicates into POSTURE_PASS.
|
|
159
|
+
if (!Number.isFinite(now)) {
|
|
160
|
+
return fail('POSTURE_STALE', 'now_unparseable', { payload });
|
|
161
|
+
}
|
|
162
|
+
ageMs = now - measured;
|
|
163
|
+
if (!Number.isFinite(ageMs)) {
|
|
164
|
+
return fail('POSTURE_STALE', 'measured_at_unparseable', { payload });
|
|
165
|
+
}
|
|
166
|
+
if (ageMs < -exports.POSTURE_CLOCK_SKEW_TOLERANCE_MS) {
|
|
167
|
+
return fail('POSTURE_STALE', 'measured_at_in_future', { payload, age_ms: ageMs });
|
|
168
|
+
}
|
|
169
|
+
if (ageMs > input.maxAgeMs) {
|
|
170
|
+
return fail('POSTURE_STALE', 'outside_freshness_window', { payload, age_ms: ageMs });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
valid: true,
|
|
175
|
+
status: 'POSTURE_PASS',
|
|
176
|
+
reason: null,
|
|
177
|
+
payload,
|
|
178
|
+
...(ageMs === undefined ? {} : { age_ms: ageMs }),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=posture-receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"posture-receipt.js","sourceRoot":"","sources":["../../src/posture-receipt.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ export interface GuardConfig {
|
|
|
61
61
|
*/
|
|
62
62
|
ackHmacKey?: string | Buffer;
|
|
63
63
|
/** Forwarded from withCodeRifts. Used with failPolicy/observeOnly for delivery fail-closed teeth. */
|
|
64
|
-
profile?: 'ENFORCING_STRICT';
|
|
64
|
+
profile?: 'ENFORCING_STRICT' | 'ENFORCING_ATOMIC';
|
|
65
65
|
/**
|
|
66
66
|
* Optional prior chain-receipt token for the preflight `previous_receipt` field (server hashes it
|
|
67
67
|
* into the signed `prev` slot). Host-owned only: a string the host updates between calls, or a
|
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;;;;;;;;;;GAUG;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;IAClC;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC;IACnE,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,qGAAqG;IACrG,OAAO,CAAC,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@
|
|
|
70
70
|
*/
|
|
71
71
|
import type { RawTool, ProtectedTool, EnforcementCoverage, RegistryCoverageReport, ToolBinder, ToolMutationClass } from './tool-registry.js';
|
|
72
72
|
import type { GuardConfig, GuardEvent, GuardOutcome } from './types.js';
|
|
73
|
+
import type { MutatorRegister } from './atomic-profile.js';
|
|
73
74
|
/** Registry config fields callers may forward untouched (S1/S2 do not re-declare them). */
|
|
74
75
|
export type WithCodeRiftsRegistryConfig = {
|
|
75
76
|
unknownToolPolicy?: 'mutating' | 'readonly' | 'reject';
|
|
@@ -160,8 +161,41 @@ export declare function guardedFractionAmongRoutes(counts: TableSettledCallRoute
|
|
|
160
161
|
kind: 'present';
|
|
161
162
|
fraction: number;
|
|
162
163
|
};
|
|
163
|
-
/**
|
|
164
|
-
|
|
164
|
+
/**
|
|
165
|
+
* THE PROFILE IS A VERSIONED CONTRACT, not a bag of flags (roadmap 1100, invariant #4).
|
|
166
|
+
*
|
|
167
|
+
* WHAT `_V1` MEANS. It names the NINE conditions this package checks at construction today, frozen
|
|
168
|
+
* under that name forever: requireCoverage COMPLETE · requireFreshness · requireExecutionStateMatch
|
|
169
|
+
* · requireConditionalWrite · requireCommitObservation · registry.failOnUnguardedMutator ·
|
|
170
|
+
* registry.unknownToolPolicy not 'readonly' · a resolvePriorContent resolver · executionGrant.enabled.
|
|
171
|
+
*
|
|
172
|
+
* WHY THE SUFFIX, and the argument is this week's own release history. 10.0.0 and 12.0.0 were MAJOR
|
|
173
|
+
* releases for one reason: the meaning of `ENFORCING_STRICT` changed under its own name — first to
|
|
174
|
+
* require the execution chain, then the conditional-write gate. A caller who wrote
|
|
175
|
+
* `profile: 'ENFORCING_STRICT'` in 9.x got a different contract in 12.x without touching a line.
|
|
176
|
+
* With a version in the name, each of those is a NEW name (`_V2`), every adopter on `_V1` keeps
|
|
177
|
+
* exactly what they asked for, and the cost of a stricter rule drops to zero for everyone who did
|
|
178
|
+
* not ask for it. The next tightening MUST be `_V2`; adding a condition to `_V1` reintroduces the
|
|
179
|
+
* defect this type exists to remove.
|
|
180
|
+
*
|
|
181
|
+
* `'ENFORCING_STRICT'` (unsuffixed) is a DEPRECATED ALIAS that resolves to `_V1` and must resolve
|
|
182
|
+
* to `_V1` forever. Re-pointing it at a future `_V2` would silently move every existing caller,
|
|
183
|
+
* which is precisely the migration this design refuses.
|
|
184
|
+
*
|
|
185
|
+
* THE HONEST LIMIT, and it belongs on the type rather than in a changelog because this is what a
|
|
186
|
+
* reader of the type is entitled to know:
|
|
187
|
+
*
|
|
188
|
+
* A profile can require CONFIGURATION at construction time. It can NEVER require EXECUTOR
|
|
189
|
+
* BEHAVIOUR. Nine checked conditions have verified nine conditions — they have not verified that
|
|
190
|
+
* any write was atomic, that a nonce was consumed exactly once, or that a commit happened. Those
|
|
191
|
+
* are facts about an executor this package does not run and does not observe. A profile that
|
|
192
|
+
* implied otherwise would be the overstatement class we spend most of our time removing.
|
|
193
|
+
*/
|
|
194
|
+
export type WithCodeRiftsProfile = 'ENFORCING_STRICT' | 'ENFORCING_STRICT_V1';
|
|
195
|
+
export type WithCodeRiftsAtomicProfile = 'ENFORCING_ATOMIC' | 'ENFORCING_ATOMIC_V1' | 'ENFORCING_ATOMIC_V2';
|
|
196
|
+
/** The canonical contract name. The unsuffixed alias resolves here and always will. */
|
|
197
|
+
export declare const PROFILE_ENFORCING_STRICT_V1: "ENFORCING_STRICT_V1";
|
|
198
|
+
export { PROFILE_ENFORCING_ATOMIC_V1, PROFILE_ENFORCING_ATOMIC_V2 } from './atomic-profile.js';
|
|
165
199
|
export type WithCodeRiftsInput = {
|
|
166
200
|
/** Raw tool list handed to the frozen guardToolRegistry (required). */
|
|
167
201
|
tools: RawTool[];
|
|
@@ -174,12 +208,15 @@ export type WithCodeRiftsInput = {
|
|
|
174
208
|
*/
|
|
175
209
|
operation: string;
|
|
176
210
|
/**
|
|
177
|
-
* Opt-in profile. `
|
|
211
|
+
* Opt-in profile. `ENFORCING_STRICT_V1` locks the fail-closed conjunction (requireCoverage COMPLETE,
|
|
178
212
|
* requireFreshness, requireExecutionStateMatch true, requireConditionalWrite, requireCommitObservation,
|
|
179
|
-
* failOnUnguardedMutator, unknownToolPolicy mutating)
|
|
213
|
+
* failOnUnguardedMutator, unknownToolPolicy mutating) plus a resolvePriorContent resolver and an
|
|
214
|
+
* enabled execution grant, and ABORTS construction on any conflicting opt-down.
|
|
215
|
+
* `ENFORCING_STRICT` is a deprecated alias for `_V1` and behaves identically.
|
|
180
216
|
* Absent: today's defaults (freshness/conditional-write remain opt-in). Not weakenable when set.
|
|
217
|
+
* See WithCodeRiftsProfile for what a profile can and cannot require.
|
|
181
218
|
*/
|
|
182
|
-
profile?: WithCodeRiftsProfile;
|
|
219
|
+
profile?: WithCodeRiftsProfile | WithCodeRiftsAtomicProfile;
|
|
183
220
|
/** Optional; carried through untouched. Artifact resolution is a later slice — S1 invents no use for it. */
|
|
184
221
|
repository?: string;
|
|
185
222
|
/**
|
|
@@ -280,6 +317,14 @@ export type WithCodeRiftsInput = {
|
|
|
280
317
|
* Default absent — no verification attempted, CAS evidence stays host_claimed (no penalty).
|
|
281
318
|
*/
|
|
282
319
|
executorAttestation?: GuardConfig['executorAttestation'];
|
|
320
|
+
/** ATOMIC: explicit mutator register (replaces isWriteStyleCall for this profile only). */
|
|
321
|
+
mutatorRegister?: MutatorRegister;
|
|
322
|
+
executorId?: string;
|
|
323
|
+
adapterId?: string;
|
|
324
|
+
targetUri?: string;
|
|
325
|
+
casAdapter?: unknown;
|
|
326
|
+
readBack?: (ctx: unknown) => unknown;
|
|
327
|
+
credentialBoundary?: true | Record<string, unknown>;
|
|
283
328
|
/**
|
|
284
329
|
* Opt-in CWM monitoring attestation. Forwarded onto GuardConfig.
|
|
285
330
|
* `{ kid, signer }` — host sign(bytes), never a raw key. Absent = today's CWM (no token).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-coderifts.d.ts","sourceRoot":"","sources":["../../src/with-coderifts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AAGH,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,mBAAmB,EACnB,sBAAsB,EAEtB,UAAU,EACV,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"with-coderifts.d.ts","sourceRoot":"","sources":["../../src/with-coderifts.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,11 +70,13 @@
|
|
|
70
70
|
* - `composition_assurance` is the narrower PRODUCT-level statement, computed SEPARATELY.
|
|
71
71
|
*/
|
|
72
72
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
73
|
+
exports.PROFILE_ENFORCING_ATOMIC_V2 = exports.PROFILE_ENFORCING_ATOMIC_V1 = exports.PROFILE_ENFORCING_STRICT_V1 = void 0;
|
|
73
74
|
exports.foldTableSettledCalls = foldTableSettledCalls;
|
|
74
75
|
exports.guardedFractionAmongRoutes = guardedFractionAmongRoutes;
|
|
75
76
|
exports.withCodeRifts = withCodeRifts;
|
|
76
77
|
const tool_registry_js_1 = require("./tool-registry.js");
|
|
77
78
|
const coverage_observed_js_1 = require("./coverage-observed.js");
|
|
79
|
+
const atomic_profile_js_1 = require("./atomic-profile.js");
|
|
78
80
|
/**
|
|
79
81
|
* Pure fold: count routes in a host-owned list of settled-call observations.
|
|
80
82
|
* The package never accumulates these at runtime.
|
|
@@ -110,6 +112,26 @@ function guardedFractionAmongRoutes(counts) {
|
|
|
110
112
|
const sum = counts.GUARDED + counts.PASSTHROUGH + counts.BYPASSED;
|
|
111
113
|
return { kind: 'present', fraction: counts.GUARDED / sum };
|
|
112
114
|
}
|
|
115
|
+
/** The canonical contract name. The unsuffixed alias resolves here and always will. */
|
|
116
|
+
exports.PROFILE_ENFORCING_STRICT_V1 = 'ENFORCING_STRICT_V1';
|
|
117
|
+
var atomic_profile_js_2 = require("./atomic-profile.js");
|
|
118
|
+
Object.defineProperty(exports, "PROFILE_ENFORCING_ATOMIC_V1", { enumerable: true, get: function () { return atomic_profile_js_2.PROFILE_ENFORCING_ATOMIC_V1; } });
|
|
119
|
+
Object.defineProperty(exports, "PROFILE_ENFORCING_ATOMIC_V2", { enumerable: true, get: function () { return atomic_profile_js_2.PROFILE_ENFORCING_ATOMIC_V2; } });
|
|
120
|
+
/** Every accepted spelling. Order is documentation: canonical first, deprecated alias second. */
|
|
121
|
+
const ACCEPTED_PROFILES = Object.freeze([
|
|
122
|
+
'ENFORCING_STRICT_V1', 'ENFORCING_STRICT',
|
|
123
|
+
'ENFORCING_ATOMIC_V2', 'ENFORCING_ATOMIC_V1', 'ENFORCING_ATOMIC',
|
|
124
|
+
]);
|
|
125
|
+
/**
|
|
126
|
+
* The value carried onto GuardConfig, and it is DELIBERATELY the unsuffixed string.
|
|
127
|
+
*
|
|
128
|
+
* Downstream consumers compare `opts.profile === 'ENFORCING_STRICT'` — cas-attestation's strict
|
|
129
|
+
* commit label, guard.ts, monitoring-delivery, execution-proof. Emitting `_V1` on the wire would
|
|
130
|
+
* change behaviour in four modules for a rename, which is exactly the "nothing moves" promise this
|
|
131
|
+
* ships under. The version lives on the INPUT type, where callers read it; the wire value is
|
|
132
|
+
* unchanged, and byte-identity is asserted in test/profile-v1.test.js.
|
|
133
|
+
*/
|
|
134
|
+
const GUARD_PROFILE_WIRE_VALUE = 'ENFORCING_STRICT';
|
|
113
135
|
/**
|
|
114
136
|
* Whether the composition's call-time / content policy is complete enough to claim product-level
|
|
115
137
|
* runtime inescapability. Stays FALSE until EVERY condition below is delivered — later slices ADD
|
|
@@ -162,8 +184,9 @@ function coverageRank(coverage) {
|
|
|
162
184
|
? COVERAGE_STRENGTH[coverage]
|
|
163
185
|
: undefined;
|
|
164
186
|
}
|
|
187
|
+
/** Both spellings select the same contract — the alias is a spelling, never a second profile. */
|
|
165
188
|
function isEnforcingStrict(input) {
|
|
166
|
-
return input.profile === 'ENFORCING_STRICT';
|
|
189
|
+
return input.profile === 'ENFORCING_STRICT' || input.profile === exports.PROFILE_ENFORCING_STRICT_V1;
|
|
167
190
|
}
|
|
168
191
|
/**
|
|
169
192
|
* Explicit opt-downs that contradict ENFORCING_STRICT. Empty = no conflict.
|
|
@@ -496,10 +519,12 @@ function withCodeRifts(input) {
|
|
|
496
519
|
if (input.requireCoverage !== undefined && coverageRank(input.requireCoverage) === undefined) {
|
|
497
520
|
problems.push(`\`requireCoverage\` must be one of COMPLETE | PARTIAL | BYPASSED | UNKNOWN (got ${JSON.stringify(input.requireCoverage)})`);
|
|
498
521
|
}
|
|
499
|
-
if (input.profile !== undefined && input.profile
|
|
500
|
-
problems.push(`\`profile\` must be
|
|
522
|
+
if (input.profile !== undefined && !ACCEPTED_PROFILES.includes(input.profile)) {
|
|
523
|
+
problems.push(`\`profile\` must be one of ${ACCEPTED_PROFILES.map((p) => `'${p}'`).join(' | ')} when set `
|
|
524
|
+
+ `(got ${JSON.stringify(input.profile)}). 'ENFORCING_STRICT' is a deprecated alias for `
|
|
525
|
+
+ `'${exports.PROFILE_ENFORCING_STRICT_V1}'.`);
|
|
501
526
|
}
|
|
502
|
-
if (isEnforcingStrict(input)) {
|
|
527
|
+
if (isEnforcingStrict(input) || (0, atomic_profile_js_1.isEnforcingAtomic)(input.profile)) {
|
|
503
528
|
const weaken = enforcingStrictWeakenFlags(input);
|
|
504
529
|
if (weaken.length > 0) {
|
|
505
530
|
problems.push(`ENFORCING_STRICT cannot be weakened: ${weaken.join(', ')} conflicts`);
|
|
@@ -511,6 +536,22 @@ function withCodeRifts(input) {
|
|
|
511
536
|
// The execution chain — strict must mean the chain, not just the guard lock.
|
|
512
537
|
problems.push(...enforcingStrictExecutionChainProblems(input));
|
|
513
538
|
}
|
|
539
|
+
if ((0, atomic_profile_js_1.isEnforcingAtomic)(input.profile)) {
|
|
540
|
+
const atomicProblems = (0, atomic_profile_js_1.atomicConstructionProblems)({
|
|
541
|
+
executionGrant: input.executionGrant,
|
|
542
|
+
executorId: input.executorId,
|
|
543
|
+
adapterId: input.adapterId,
|
|
544
|
+
targetUri: input.targetUri,
|
|
545
|
+
executorAttestation: input.executorAttestation,
|
|
546
|
+
mutatorRegister: input.mutatorRegister,
|
|
547
|
+
casAdapter: input.casAdapter,
|
|
548
|
+
readBack: input.readBack,
|
|
549
|
+
credentialBoundary: input.credentialBoundary,
|
|
550
|
+
profile: input.profile,
|
|
551
|
+
});
|
|
552
|
+
if (atomicProblems.length > 0)
|
|
553
|
+
(0, atomic_profile_js_1.throwAtomicUnsatisfied)(atomicProblems);
|
|
554
|
+
}
|
|
514
555
|
if (problems.length > 0) {
|
|
515
556
|
throw new Error(`withCodeRifts: construction aborted — ${problems.length} condition(s):\n`
|
|
516
557
|
+ problems.map((p) => ` - ${p}`).join('\n'));
|
|
@@ -547,8 +588,12 @@ function withCodeRifts(input) {
|
|
|
547
588
|
if (input.ackHmacKey !== undefined) {
|
|
548
589
|
guard.ackHmacKey = input.ackHmacKey;
|
|
549
590
|
}
|
|
550
|
-
if (input
|
|
551
|
-
|
|
591
|
+
if (isEnforcingStrict(input)) {
|
|
592
|
+
// The WIRE value, not the input spelling — see GUARD_PROFILE_WIRE_VALUE.
|
|
593
|
+
guard.profile = GUARD_PROFILE_WIRE_VALUE;
|
|
594
|
+
}
|
|
595
|
+
if ((0, atomic_profile_js_1.isEnforcingAtomic)(input.profile)) {
|
|
596
|
+
guard.profile = atomic_profile_js_1.GUARD_ATOMIC_WIRE_VALUE;
|
|
552
597
|
}
|
|
553
598
|
// previousReceipt getter: host override > composition cursor > undefined.
|
|
554
599
|
// Always install a getter when threading is on OR the host supplied an override, so the frozen
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-coderifts.js","sourceRoot":"","sources":["../../src/with-coderifts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"with-coderifts.js","sourceRoot":"","sources":["../../src/with-coderifts.ts"],"names":[],"mappings":"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"}
|