@coderifts/agent-guard 8.4.0 → 9.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 +35 -22
- package/dist/cjs/auto-derive.d.ts +74 -0
- package/dist/cjs/auto-derive.d.ts.map +1 -0
- package/dist/cjs/auto-derive.js +272 -0
- package/dist/cjs/auto-derive.js.map +1 -0
- package/dist/cjs/auto-recheck.d.ts +76 -0
- package/dist/cjs/auto-recheck.d.ts.map +1 -0
- package/dist/cjs/auto-recheck.js +240 -0
- package/dist/cjs/auto-recheck.js.map +1 -0
- package/dist/cjs/cas-attestation.d.ts +35 -2
- package/dist/cjs/cas-attestation.d.ts.map +1 -1
- package/dist/cjs/cas-attestation.js +105 -2
- package/dist/cjs/cas-attestation.js.map +1 -1
- package/dist/cjs/deploy-bind.d.ts +9 -7
- package/dist/cjs/deploy-bind.d.ts.map +1 -1
- package/dist/cjs/deploy-bind.js +9 -3
- package/dist/cjs/deploy-bind.js.map +1 -1
- package/dist/cjs/deploy-gate.d.ts +54 -6
- package/dist/cjs/deploy-gate.d.ts.map +1 -1
- package/dist/cjs/deploy-gate.js +73 -12
- package/dist/cjs/deploy-gate.js.map +1 -1
- package/dist/cjs/deploy-receipt-token.d.ts +59 -0
- package/dist/cjs/deploy-receipt-token.d.ts.map +1 -0
- package/dist/cjs/deploy-receipt-token.js +245 -0
- package/dist/cjs/deploy-receipt-token.js.map +1 -0
- package/dist/cjs/execution-proof.d.ts +25 -0
- package/dist/cjs/execution-proof.d.ts.map +1 -1
- package/dist/cjs/execution-proof.js +6 -0
- package/dist/cjs/execution-proof.js.map +1 -1
- package/dist/cjs/final-answer-proof.d.ts.map +1 -1
- package/dist/cjs/final-answer-proof.js +20 -1
- package/dist/cjs/final-answer-proof.js.map +1 -1
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +10 -1
- 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 +23 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/tool-registry.d.ts.map +1 -1
- package/dist/cjs/tool-registry.js +36 -6
- package/dist/cjs/tool-registry.js.map +1 -1
- package/dist/cjs/types.d.ts +45 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.d.ts +16 -0
- package/dist/cjs/with-coderifts.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.js +9 -0
- package/dist/cjs/with-coderifts.js.map +1 -1
- package/dist/esm/auto-derive.d.ts +74 -0
- package/dist/esm/auto-derive.d.ts.map +1 -0
- package/dist/esm/auto-derive.js +265 -0
- package/dist/esm/auto-derive.js.map +1 -0
- package/dist/esm/auto-recheck.d.ts +76 -0
- package/dist/esm/auto-recheck.d.ts.map +1 -0
- package/dist/esm/auto-recheck.js +234 -0
- package/dist/esm/auto-recheck.js.map +1 -0
- package/dist/esm/cas-attestation.d.ts +35 -2
- package/dist/esm/cas-attestation.d.ts.map +1 -1
- package/dist/esm/cas-attestation.js +103 -2
- package/dist/esm/cas-attestation.js.map +1 -1
- package/dist/esm/deploy-bind.d.ts +9 -7
- package/dist/esm/deploy-bind.d.ts.map +1 -1
- package/dist/esm/deploy-bind.js +9 -3
- package/dist/esm/deploy-bind.js.map +1 -1
- package/dist/esm/deploy-gate.d.ts +54 -6
- package/dist/esm/deploy-gate.d.ts.map +1 -1
- package/dist/esm/deploy-gate.js +70 -12
- package/dist/esm/deploy-gate.js.map +1 -1
- package/dist/esm/deploy-receipt-token.d.ts +59 -0
- package/dist/esm/deploy-receipt-token.d.ts.map +1 -0
- package/dist/esm/deploy-receipt-token.js +241 -0
- package/dist/esm/deploy-receipt-token.js.map +1 -0
- package/dist/esm/execution-proof.d.ts +25 -0
- package/dist/esm/execution-proof.d.ts.map +1 -1
- package/dist/esm/execution-proof.js +6 -0
- package/dist/esm/execution-proof.js.map +1 -1
- package/dist/esm/final-answer-proof.d.ts.map +1 -1
- package/dist/esm/final-answer-proof.js +20 -1
- package/dist/esm/final-answer-proof.js.map +1 -1
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +11 -2
- 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 +7 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tool-registry.d.ts.map +1 -1
- package/dist/esm/tool-registry.js +36 -6
- package/dist/esm/tool-registry.js.map +1 -1
- package/dist/esm/types.d.ts +45 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/with-coderifts.d.ts +16 -0
- package/dist/esm/with-coderifts.d.ts.map +1 -1
- package/dist/esm/with-coderifts.js +9 -0
- package/dist/esm/with-coderifts.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TOKEN-mode chain-receipt verification for deployGate.
|
|
3
|
+
*
|
|
4
|
+
* SDK 3.4.0 `CodeRifts.verifyReceipt` is HTTP POST /api/v1/verify-receipt (async, I/O) —
|
|
5
|
+
* unusable inside the pure deployGate. Local public-material verify of crchain.v1 is
|
|
6
|
+
* NOT exported by that SDK. This module:
|
|
7
|
+
* - uses node:crypto Ed25519 the same way `@coderifts/sdk` `verifyExecutionAttestation` does
|
|
8
|
+
* (`createPublicKey` + `verify`) — no new algorithm
|
|
9
|
+
* - reuses SDK `ExecutorKeyRegistry` shape and `isReceiptExpired` (ID104 leeway)
|
|
10
|
+
* - reuses this package's `computeBodyHash` for envelope bind
|
|
11
|
+
* - reconstructs the published crchain.v1 signing input (RECEIPT_FORMAT / app kernel)
|
|
12
|
+
*
|
|
13
|
+
* No fetch. Same inputs → same output.
|
|
14
|
+
*/
|
|
15
|
+
import type { ExecutorKeyRegistry } from '@coderifts/sdk';
|
|
16
|
+
/** Structural receipt view produced after TOKEN verify (assignable to DeployReceiptView). */
|
|
17
|
+
export type TokenDerivedReceiptView = {
|
|
18
|
+
currently_authorized: boolean;
|
|
19
|
+
decision: string;
|
|
20
|
+
execution_action?: string;
|
|
21
|
+
operation?: string;
|
|
22
|
+
bound_environment?: string | null;
|
|
23
|
+
bound_artifact_id?: string | null;
|
|
24
|
+
verdict_fingerprint?: string;
|
|
25
|
+
body_hash?: string;
|
|
26
|
+
target_id?: string;
|
|
27
|
+
};
|
|
28
|
+
export declare const CHAIN_SIGNING_PREFIX = "crchain.v1";
|
|
29
|
+
export type DeployTokenReceipt = {
|
|
30
|
+
/** Signed chain_receipt token (`base64url(body).base64url(sig)`). */
|
|
31
|
+
token: string;
|
|
32
|
+
/** Body-hash-bound decision envelope (verifier family). Required for currently_authorized. */
|
|
33
|
+
decision_result?: Record<string, unknown>;
|
|
34
|
+
/** Well-known-shaped registry `{ keys: [{ kid, public_key_pem, status, valid_from, retired_at }] }`. */
|
|
35
|
+
registry?: ExecutorKeyRegistry;
|
|
36
|
+
/** Air-gap single PEM (kid-agnostic). */
|
|
37
|
+
pinnedKeyPem?: string;
|
|
38
|
+
};
|
|
39
|
+
export type DeployTokenVerifyStatus = 'VERIFIED_CURRENT' | 'VERIFIED_EXPIRED' | 'RETIRED_KEY_VALID_AT_ISSUE' | 'INVALID_SIGNATURE' | 'MALFORMED' | 'UNKNOWN_KEY' | 'UNSUPPORTED_VERSION';
|
|
40
|
+
export type DeployTokenVerifyResult = {
|
|
41
|
+
valid: boolean;
|
|
42
|
+
status: DeployTokenVerifyStatus;
|
|
43
|
+
currently_authorized: boolean;
|
|
44
|
+
authz_reason: string | null;
|
|
45
|
+
/** When set, deployGate denies with this reason before bind checks. */
|
|
46
|
+
denyReason: string | null;
|
|
47
|
+
payload?: Record<string, unknown>;
|
|
48
|
+
view: TokenDerivedReceiptView | null;
|
|
49
|
+
key_status: 'active' | 'retired' | null;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Verify a chain-receipt token against a registry or pinned PEM. Pure (no I/O).
|
|
53
|
+
*/
|
|
54
|
+
export declare function verifyDeployReceiptToken(input: DeployTokenReceipt, _intended?: {
|
|
55
|
+
operation?: string;
|
|
56
|
+
environment?: string;
|
|
57
|
+
artifact_id?: string;
|
|
58
|
+
}, nowMs?: number): DeployTokenVerifyResult;
|
|
59
|
+
//# sourceMappingURL=deploy-receipt-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-receipt-token.d.ts","sourceRoot":"","sources":["../../src/deploy-receipt-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,6FAA6F;AAC7F,MAAM,MAAM,uBAAuB,GAAG;IACpC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,wGAAwG;IACxG,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,kBAAkB,GAClB,4BAA4B,GAC5B,mBAAmB,GACnB,WAAW,GACX,aAAa,GACb,qBAAqB,CAAC;AAE1B,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,uBAAuB,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uEAAuE;IACvE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;CACzC,CAAC;AA+GF;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,EACzB,SAAS,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,EAClF,KAAK,CAAC,EAAE,MAAM,GACb,uBAAuB,CA2HzB"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TOKEN-mode chain-receipt verification for deployGate.
|
|
3
|
+
*
|
|
4
|
+
* SDK 3.4.0 `CodeRifts.verifyReceipt` is HTTP POST /api/v1/verify-receipt (async, I/O) —
|
|
5
|
+
* unusable inside the pure deployGate. Local public-material verify of crchain.v1 is
|
|
6
|
+
* NOT exported by that SDK. This module:
|
|
7
|
+
* - uses node:crypto Ed25519 the same way `@coderifts/sdk` `verifyExecutionAttestation` does
|
|
8
|
+
* (`createPublicKey` + `verify`) — no new algorithm
|
|
9
|
+
* - reuses SDK `ExecutorKeyRegistry` shape and `isReceiptExpired` (ID104 leeway)
|
|
10
|
+
* - reuses this package's `computeBodyHash` for envelope bind
|
|
11
|
+
* - reconstructs the published crchain.v1 signing input (RECEIPT_FORMAT / app kernel)
|
|
12
|
+
*
|
|
13
|
+
* No fetch. Same inputs → same output.
|
|
14
|
+
*/
|
|
15
|
+
import { createPublicKey, verify as cryptoVerify } from 'node:crypto';
|
|
16
|
+
import { isReceiptExpired } from '@coderifts/sdk';
|
|
17
|
+
import { computeBodyHash } from './receipt-binding.js';
|
|
18
|
+
export const CHAIN_SIGNING_PREFIX = 'crchain.v1';
|
|
19
|
+
function scalar(v) {
|
|
20
|
+
return v == null ? '' : String(v);
|
|
21
|
+
}
|
|
22
|
+
function reconstructInput(payload) {
|
|
23
|
+
const v1 = `${CHAIN_SIGNING_PREFIX}|${scalar(payload.kid)}|${scalar(payload.fp)}|${scalar(payload.prev)}|${scalar(payload.caller)}|${scalar(payload.ts)}`;
|
|
24
|
+
if (payload.v === 4) {
|
|
25
|
+
return `${v1}|${scalar(payload.reg)}|${scalar(payload.ir)}|${scalar(payload.expires_at)}|${scalar(payload.bh)}`;
|
|
26
|
+
}
|
|
27
|
+
if (payload.v === 3) {
|
|
28
|
+
return `${v1}|${scalar(payload.reg)}|${scalar(payload.ir)}`;
|
|
29
|
+
}
|
|
30
|
+
if (payload.v === 2) {
|
|
31
|
+
return `${v1}|${scalar(payload.reg)}`;
|
|
32
|
+
}
|
|
33
|
+
return v1;
|
|
34
|
+
}
|
|
35
|
+
function isIssueTimeWithinKeyWindow(ts, keyMeta) {
|
|
36
|
+
if (!keyMeta || keyMeta.status === 'active')
|
|
37
|
+
return true;
|
|
38
|
+
if (keyMeta.status !== 'retired')
|
|
39
|
+
return false;
|
|
40
|
+
if (typeof keyMeta.retired_at !== 'string' || keyMeta.retired_at.length === 0)
|
|
41
|
+
return false;
|
|
42
|
+
if (typeof ts !== 'string' || ts.length === 0)
|
|
43
|
+
return false;
|
|
44
|
+
const issueMs = Date.parse(ts);
|
|
45
|
+
if (!Number.isFinite(issueMs))
|
|
46
|
+
return false;
|
|
47
|
+
if (keyMeta.valid_from) {
|
|
48
|
+
const fromMs = Date.parse(keyMeta.valid_from);
|
|
49
|
+
if (Number.isFinite(fromMs) && issueMs < fromMs)
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
const retiredMs = Date.parse(keyMeta.retired_at);
|
|
53
|
+
if (!Number.isFinite(retiredMs))
|
|
54
|
+
return false;
|
|
55
|
+
if (issueMs >= retiredMs)
|
|
56
|
+
return false;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
function resolveKey(kid, registry, pinnedKeyPem) {
|
|
60
|
+
if (typeof pinnedKeyPem === 'string' && pinnedKeyPem.trim().length > 0) {
|
|
61
|
+
try {
|
|
62
|
+
return {
|
|
63
|
+
publicKey: createPublicKey(pinnedKeyPem),
|
|
64
|
+
status: 'active',
|
|
65
|
+
valid_from: null,
|
|
66
|
+
retired_at: null,
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (!registry || !Array.isArray(registry.keys) || !kid)
|
|
74
|
+
return null;
|
|
75
|
+
const matches = registry.keys.filter((k) => k && k.kid === kid && typeof k.public_key_pem === 'string');
|
|
76
|
+
if (matches.length === 0)
|
|
77
|
+
return null;
|
|
78
|
+
const entry = matches.find((k) => k.status === 'active') || matches[0];
|
|
79
|
+
try {
|
|
80
|
+
return {
|
|
81
|
+
publicKey: createPublicKey(entry.public_key_pem),
|
|
82
|
+
status: entry.status === 'retired' ? 'retired' : 'active',
|
|
83
|
+
valid_from: entry.valid_from || null,
|
|
84
|
+
retired_at: entry.retired_at || null,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
function fail(status, denyReason, extra = {}) {
|
|
92
|
+
return {
|
|
93
|
+
valid: false,
|
|
94
|
+
status,
|
|
95
|
+
currently_authorized: false,
|
|
96
|
+
authz_reason: extra.authz_reason ?? denyReason,
|
|
97
|
+
denyReason,
|
|
98
|
+
view: null,
|
|
99
|
+
key_status: extra.key_status ?? null,
|
|
100
|
+
payload: extra.payload,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
function viewFromEnvelope(envelope, payload, currently_authorized) {
|
|
104
|
+
const artifact = envelope.target_id ?? envelope.artifact_digest ?? envelope.bound_artifact_id;
|
|
105
|
+
return {
|
|
106
|
+
currently_authorized,
|
|
107
|
+
decision: typeof envelope.decision === 'string' ? envelope.decision : '',
|
|
108
|
+
execution_action: typeof envelope.execution_action === 'string' ? envelope.execution_action : undefined,
|
|
109
|
+
operation: typeof envelope.operation === 'string' ? envelope.operation : undefined,
|
|
110
|
+
bound_environment: typeof envelope.environment === 'string' ? envelope.environment : null,
|
|
111
|
+
bound_artifact_id: artifact == null ? null : String(artifact),
|
|
112
|
+
verdict_fingerprint: typeof envelope.fingerprint === 'string'
|
|
113
|
+
? envelope.fingerprint
|
|
114
|
+
: (typeof payload.fp === 'string' ? payload.fp : undefined),
|
|
115
|
+
body_hash: typeof payload.bh === 'string' ? payload.bh : undefined,
|
|
116
|
+
target_id: envelope.target_id == null ? undefined : String(envelope.target_id),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Verify a chain-receipt token against a registry or pinned PEM. Pure (no I/O).
|
|
121
|
+
*/
|
|
122
|
+
export function verifyDeployReceiptToken(input, _intended = {}, nowMs) {
|
|
123
|
+
const token = input && input.token;
|
|
124
|
+
if (typeof token !== 'string' || token.length === 0) {
|
|
125
|
+
return fail('MALFORMED', 'unverified_receipt_view');
|
|
126
|
+
}
|
|
127
|
+
const hasKeys = (input.pinnedKeyPem && String(input.pinnedKeyPem).trim().length > 0)
|
|
128
|
+
|| (input.registry && Array.isArray(input.registry.keys) && input.registry.keys.length > 0);
|
|
129
|
+
if (!hasKeys) {
|
|
130
|
+
return fail('MALFORMED', 'inputs_incomplete', { authz_reason: 'keys_missing' });
|
|
131
|
+
}
|
|
132
|
+
const segments = token.split('.');
|
|
133
|
+
if (segments.length !== 2 || segments.some((s) => !s)) {
|
|
134
|
+
return fail('MALFORMED', 'unverified_receipt_view');
|
|
135
|
+
}
|
|
136
|
+
let payload;
|
|
137
|
+
try {
|
|
138
|
+
payload = JSON.parse(Buffer.from(segments[0], 'base64url').toString('utf8'));
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
return fail('MALFORMED', 'unverified_receipt_view');
|
|
142
|
+
}
|
|
143
|
+
if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
|
|
144
|
+
return fail('MALFORMED', 'unverified_receipt_view');
|
|
145
|
+
}
|
|
146
|
+
if (typeof payload.v === 'number' && payload.v > 4) {
|
|
147
|
+
return fail('UNSUPPORTED_VERSION', 'unverified_receipt_view', { payload });
|
|
148
|
+
}
|
|
149
|
+
const kid = typeof payload.kid === 'string' ? payload.kid : '';
|
|
150
|
+
const resolved = resolveKey(kid, input.registry, input.pinnedKeyPem);
|
|
151
|
+
if (!resolved)
|
|
152
|
+
return fail('UNKNOWN_KEY', 'unknown_key', { payload });
|
|
153
|
+
let sigOk = false;
|
|
154
|
+
try {
|
|
155
|
+
sigOk = cryptoVerify(null, Buffer.from(reconstructInput(payload), 'utf8'), resolved.publicKey, Buffer.from(segments[1], 'base64url'));
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
return fail('INVALID_SIGNATURE', 'invalid_signature', { payload });
|
|
159
|
+
}
|
|
160
|
+
if (!sigOk)
|
|
161
|
+
return fail('INVALID_SIGNATURE', 'invalid_signature', { payload });
|
|
162
|
+
for (const k of ['kid', 'fp', 'prev', 'caller', 'ts', 'reg', 'ir', 'expires_at', 'bh']) {
|
|
163
|
+
if (typeof payload[k] === 'string' && payload[k].includes('|')) {
|
|
164
|
+
return fail('INVALID_SIGNATURE', 'invalid_signature', { payload, authz_reason: 'delimiter_in_field' });
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (resolved.status === 'retired') {
|
|
168
|
+
if (!isIssueTimeWithinKeyWindow(typeof payload.ts === 'string' ? payload.ts : undefined, resolved)) {
|
|
169
|
+
return fail('INVALID_SIGNATURE', 'invalid_signature', { payload, authz_reason: 'retired_key_outside_window' });
|
|
170
|
+
}
|
|
171
|
+
const envelope = input.decision_result && typeof input.decision_result === 'object'
|
|
172
|
+
? input.decision_result
|
|
173
|
+
: undefined;
|
|
174
|
+
const view = envelope ? viewFromEnvelope(envelope, payload, false) : null;
|
|
175
|
+
return {
|
|
176
|
+
valid: true,
|
|
177
|
+
status: 'RETIRED_KEY_VALID_AT_ISSUE',
|
|
178
|
+
currently_authorized: false,
|
|
179
|
+
authz_reason: 'retired_key',
|
|
180
|
+
denyReason: 'retired_key',
|
|
181
|
+
payload,
|
|
182
|
+
view,
|
|
183
|
+
key_status: 'retired',
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
if (payload.v === 4 && typeof payload.expires_at === 'string') {
|
|
187
|
+
const exp = Date.parse(payload.expires_at);
|
|
188
|
+
const now = Number.isFinite(nowMs) ? nowMs : Date.now();
|
|
189
|
+
if (isReceiptExpired(exp, now, { environment: _intended.environment, operation: _intended.operation })) {
|
|
190
|
+
const envelope = input.decision_result && typeof input.decision_result === 'object'
|
|
191
|
+
? input.decision_result
|
|
192
|
+
: undefined;
|
|
193
|
+
return {
|
|
194
|
+
valid: true,
|
|
195
|
+
status: 'VERIFIED_EXPIRED',
|
|
196
|
+
currently_authorized: false,
|
|
197
|
+
authz_reason: 'expired',
|
|
198
|
+
denyReason: 'expired',
|
|
199
|
+
payload,
|
|
200
|
+
view: envelope ? viewFromEnvelope(envelope, payload, false) : null,
|
|
201
|
+
key_status: 'active',
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
const envelope = input.decision_result && typeof input.decision_result === 'object'
|
|
206
|
+
? input.decision_result
|
|
207
|
+
: undefined;
|
|
208
|
+
if (!envelope) {
|
|
209
|
+
return {
|
|
210
|
+
valid: true,
|
|
211
|
+
status: 'VERIFIED_CURRENT',
|
|
212
|
+
currently_authorized: false,
|
|
213
|
+
authz_reason: 'receipt_context_required',
|
|
214
|
+
denyReason: 'receipt_not_authorized',
|
|
215
|
+
payload,
|
|
216
|
+
view: null,
|
|
217
|
+
key_status: 'active',
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
let localBh = null;
|
|
221
|
+
try {
|
|
222
|
+
localBh = computeBodyHash(envelope);
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
localBh = null;
|
|
226
|
+
}
|
|
227
|
+
if (typeof payload.bh !== 'string' || payload.bh !== localBh) {
|
|
228
|
+
return fail('INVALID_SIGNATURE', 'body_hash_mismatch', { payload, authz_reason: 'body_hash_mismatch' });
|
|
229
|
+
}
|
|
230
|
+
return {
|
|
231
|
+
valid: true,
|
|
232
|
+
status: 'VERIFIED_CURRENT',
|
|
233
|
+
currently_authorized: true,
|
|
234
|
+
authz_reason: 'ok',
|
|
235
|
+
denyReason: null,
|
|
236
|
+
payload,
|
|
237
|
+
view: viewFromEnvelope(envelope, payload, true),
|
|
238
|
+
key_status: 'active',
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=deploy-receipt-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-receipt-token.js","sourceRoot":"","sources":["../../src/deploy-receipt-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
import type { GuardVerdict } from './types.js';
|
|
21
21
|
import type { CommitObservation } from './commit-observation.js';
|
|
22
22
|
import type { MonitoringDelivery } from './monitoring-delivery.js';
|
|
23
|
+
import type { CasEvidence } from './cas-attestation.js';
|
|
23
24
|
/** Machine-readable schema id for this block. */
|
|
24
25
|
export declare const EXECUTION_PROOF_SPEC: "guard-execution-proof.v1";
|
|
25
26
|
/**
|
|
@@ -119,6 +120,21 @@ export type GuardExecutionProof = {
|
|
|
119
120
|
* Observation-side — never a verdict/preimage field. delivered_acked ≠ human attention.
|
|
120
121
|
*/
|
|
121
122
|
monitoring_delivery?: MonitoringDelivery;
|
|
123
|
+
/**
|
|
124
|
+
* S2-F2a R3 CAS evidence class (observation). Present when a CAS outcome was
|
|
125
|
+
* observed. Not a preimage field. executor_attested only after registry verify.
|
|
126
|
+
*/
|
|
127
|
+
cas_evidence?: CasEvidence;
|
|
128
|
+
/**
|
|
129
|
+
* S6 auto-recheck trail (observation). Present when the wrap-layer loop ran.
|
|
130
|
+
* Additive; not a preimage field. Final outcome is the last decision.
|
|
131
|
+
*/
|
|
132
|
+
recheck_trail?: ReadonlyArray<{
|
|
133
|
+
attempt: number;
|
|
134
|
+
decision_id: string | null;
|
|
135
|
+
fingerprint: string | null;
|
|
136
|
+
execution_action: string | null;
|
|
137
|
+
}>;
|
|
122
138
|
};
|
|
123
139
|
export type ProofBuildInput = {
|
|
124
140
|
preflighted: boolean;
|
|
@@ -140,6 +156,15 @@ export type ProofBuildInput = {
|
|
|
140
156
|
commitObservation?: CommitObservation;
|
|
141
157
|
/** CWM delivery evidence; omit on non-MONITOR arms. */
|
|
142
158
|
monitoringDelivery?: MonitoringDelivery;
|
|
159
|
+
/** S2-F2a R3 CAS evidence (observation). */
|
|
160
|
+
casEvidence?: CasEvidence;
|
|
161
|
+
/** S6 trail passthrough (observation). */
|
|
162
|
+
recheckTrail?: ReadonlyArray<{
|
|
163
|
+
attempt: number;
|
|
164
|
+
decision_id: string | null;
|
|
165
|
+
fingerprint: string | null;
|
|
166
|
+
execution_action: string | null;
|
|
167
|
+
}>;
|
|
143
168
|
};
|
|
144
169
|
/**
|
|
145
170
|
* Runtime twin of the type-level enforced⟺receiptVerified invariant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-proof.d.ts","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-proof.d.ts","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,6 +160,12 @@ export function buildExecutionProof(input) {
|
|
|
160
160
|
if (input.monitoringDelivery && typeof input.monitoringDelivery === 'object') {
|
|
161
161
|
proof.monitoring_delivery = freezeMonitoringDelivery(input.monitoringDelivery);
|
|
162
162
|
}
|
|
163
|
+
if (input.casEvidence && typeof input.casEvidence === 'object') {
|
|
164
|
+
proof.cas_evidence = Object.freeze({ ...input.casEvidence });
|
|
165
|
+
}
|
|
166
|
+
if (Array.isArray(input.recheckTrail) && input.recheckTrail.length > 0) {
|
|
167
|
+
proof.recheck_trail = Object.freeze(input.recheckTrail.map((e) => Object.freeze({ ...e })));
|
|
168
|
+
}
|
|
163
169
|
return freezeProof(proof);
|
|
164
170
|
}
|
|
165
171
|
function freezeMonitoringDelivery(d) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-proof.js","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-proof.js","sourceRoot":"","sources":["../../src/execution-proof.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-answer-proof.d.ts","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAIrF,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,GAAG;IAC9E;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,4BAA4B,GAC5B,cAAc,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAYpF;AA2DD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,6BAAkC,GACvC,MAAM,
|
|
1
|
+
{"version":3,"file":"final-answer-proof.d.ts","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAuB,MAAM,sBAAsB,CAAC;AAIrF,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1D,MAAM,MAAM,6BAA6B,GAAG;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG,6BAA6B,GAAG;IAC9E;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,4BAA4B,GAC5B,cAAc,CAAC;AAEnB;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,sBAAsB,CAYpF;AA2DD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,6BAAkC,GACvC,MAAM,CAgJR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,GAAG,OAAO,EACpD,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,mBAAmB,EAC1B,IAAI,GAAE,iCAAsC,GAC3C,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,kBAAkB,EAAE,mBAAmB,CAAC;IAAC,uBAAuB,EAAE,MAAM,CAAA;CAAE,CAAC,CA0C9G"}
|
|
@@ -127,6 +127,12 @@ export function renderFinalAnswerProof(proof, opts = {}) {
|
|
|
127
127
|
lines.push(bullet(`receipt.verified: ${yn(proof.receipt.verified === true)}`));
|
|
128
128
|
lines.push(bullet(`receipt.status: ${proof.receipt.status != null ? proof.receipt.status : 'null (not verified / no receipt path)'}`));
|
|
129
129
|
lines.push(bullet(`receipt.expires_at: ${proof.receipt.expires_at != null ? proof.receipt.expires_at : '(none)'}`));
|
|
130
|
+
const trail = proof.recheck_trail;
|
|
131
|
+
if (Array.isArray(trail) && trail.length > 1) {
|
|
132
|
+
const n = trail.length - 1;
|
|
133
|
+
const id = proof.decision_id != null ? proof.decision_id : '(none)';
|
|
134
|
+
lines.push(bullet(`re-preflighted ${n}× after remediation; final decision ${id}`));
|
|
135
|
+
}
|
|
130
136
|
lines.push('');
|
|
131
137
|
lines.push(h2('Authorization'));
|
|
132
138
|
lines.push(bullet(`currently_authorized: ${formatAuthz(proof.currently_authorized)}`));
|
|
@@ -170,7 +176,20 @@ export function renderFinalAnswerProof(proof, opts = {}) {
|
|
|
170
176
|
lines.push(bullet(`expected_fp: ${co.expected_fp}`));
|
|
171
177
|
if (co.token)
|
|
172
178
|
lines.push(bullet(`token: ${co.token}`));
|
|
173
|
-
|
|
179
|
+
const ce = proof.cas_evidence;
|
|
180
|
+
if (ce && ce.class === 'executor_attested') {
|
|
181
|
+
const kid = ce.executor_kid != null ? ce.executor_kid : '…';
|
|
182
|
+
const st = ce.attest_status != null ? ce.attest_status : 'ATTEST_VALID';
|
|
183
|
+
lines.push(bullet(`committed — executor-attested (${st}, kid ${kid})`));
|
|
184
|
+
lines.push(bullet('Observed at T3, not atomic: another writer may act between write and observation; token-only adapters compare version token not content.'));
|
|
185
|
+
}
|
|
186
|
+
else if (ce && ce.class === 'host_claimed' && ce.attest_status) {
|
|
187
|
+
lines.push(bullet(`committed — host-claimed (attest_status ${ce.attest_status})`));
|
|
188
|
+
lines.push(bullet('Observed at T3, not atomic: another writer may act between write and observation; token-only adapters compare version token not content; host attestation is a host claim layered on the measurement.'));
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
lines.push(bullet('Observed at T3, not atomic: another writer may act between write and observation; token-only adapters compare version token not content; host attestation is a host claim layered on the measurement.'));
|
|
192
|
+
}
|
|
174
193
|
lines.push('');
|
|
175
194
|
}
|
|
176
195
|
const mdv = proof.monitoring_delivery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"final-answer-proof.js","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"final-answer-proof.js","sourceRoot":"","sources":["../../src/final-answer-proof.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EAAE,YAAY,EACT,kBAAkB,EAAE,cAAc,EAEnD,MAAM,YAAY,CAAC;AAWpB,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,WAAW,EAAE,YAAY,EACT,kBAAkB,EAAE,cAAc,EAEnD,MAAM,YAAY,CAAC;AAWpB,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,wBAAwB,CAAC;AA0WhC;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,kBAAkB,EACxB,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,EACjC,MAAM,EAAE,WAAW,EACnB,WAAW,CAAC,EAAE,oBAAoB,GAAG,2BAA2B,GAC/D,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAuY1B"}
|
package/dist/esm/guard.js
CHANGED
|
@@ -17,7 +17,7 @@ import { buildExecutionProof } from './execution-proof.js';
|
|
|
17
17
|
import { buildFreshnessBasis, isWriteStyleCall, } from './freshness.js';
|
|
18
18
|
import { buildConditionalWriteBasis, } from './conditional-write.js';
|
|
19
19
|
import { observeCommit } from './commit-observation.js';
|
|
20
|
-
import { buildCasAttestation, isExecuteIfUnchangedOutcome } from './cas-attestation.js';
|
|
20
|
+
import { buildCasAttestation, evaluateCasEvidence, isExecuteIfUnchangedOutcome } from './cas-attestation.js';
|
|
21
21
|
import { deliverMonitoring, monitoringDeliveryFailClosed, } from './monitoring-delivery.js';
|
|
22
22
|
// Per-config breaker state (time-window; not consecutive).
|
|
23
23
|
const breakers = new WeakMap();
|
|
@@ -235,15 +235,23 @@ async function finishExecuted(config, base, freshness, conditional_write, redact
|
|
|
235
235
|
token: commit_observation.token,
|
|
236
236
|
});
|
|
237
237
|
}
|
|
238
|
+
const cas_evidence = result !== undefined
|
|
239
|
+
? evaluateCasEvidence(result, {
|
|
240
|
+
registry: config.executorAttestation && config.executorAttestation.registry,
|
|
241
|
+
})
|
|
242
|
+
: undefined;
|
|
238
243
|
const proof = buildExecutionProof({
|
|
239
244
|
...base,
|
|
240
245
|
conditionalWriteBasis: conditional_write,
|
|
241
246
|
commitObservation: commit_observation,
|
|
242
247
|
monitoringDelivery: monitoring_delivery,
|
|
248
|
+
...(cas_evidence ? { casEvidence: cas_evidence } : {}),
|
|
243
249
|
});
|
|
244
250
|
if (result !== undefined && isExecuteIfUnchangedOutcome(result)) {
|
|
245
251
|
try {
|
|
246
|
-
buildCasAttestation(proof, result
|
|
252
|
+
buildCasAttestation(proof, result, {
|
|
253
|
+
registry: config.executorAttestation && config.executorAttestation.registry,
|
|
254
|
+
});
|
|
247
255
|
}
|
|
248
256
|
catch { /* label already set; never throw */ }
|
|
249
257
|
}
|
|
@@ -254,6 +262,7 @@ async function finishExecuted(config, base, freshness, conditional_write, redact
|
|
|
254
262
|
conditional_write,
|
|
255
263
|
commit_observation,
|
|
256
264
|
...(monitoring_delivery ? { monitoring_delivery } : {}),
|
|
265
|
+
...(cas_evidence ? { cas_evidence } : {}),
|
|
257
266
|
};
|
|
258
267
|
}
|
|
259
268
|
function preflightBeforeByIdFrom(arts) {
|