@coderifts/agent-guard 8.5.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.
@@ -0,0 +1,245 @@
1
+ "use strict";
2
+ /**
3
+ * TOKEN-mode chain-receipt verification for deployGate.
4
+ *
5
+ * SDK 3.4.0 `CodeRifts.verifyReceipt` is HTTP POST /api/v1/verify-receipt (async, I/O) —
6
+ * unusable inside the pure deployGate. Local public-material verify of crchain.v1 is
7
+ * NOT exported by that SDK. This module:
8
+ * - uses node:crypto Ed25519 the same way `@coderifts/sdk` `verifyExecutionAttestation` does
9
+ * (`createPublicKey` + `verify`) — no new algorithm
10
+ * - reuses SDK `ExecutorKeyRegistry` shape and `isReceiptExpired` (ID104 leeway)
11
+ * - reuses this package's `computeBodyHash` for envelope bind
12
+ * - reconstructs the published crchain.v1 signing input (RECEIPT_FORMAT / app kernel)
13
+ *
14
+ * No fetch. Same inputs → same output.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.CHAIN_SIGNING_PREFIX = void 0;
18
+ exports.verifyDeployReceiptToken = verifyDeployReceiptToken;
19
+ const node_crypto_1 = require("node:crypto");
20
+ const sdk_1 = require("@coderifts/sdk");
21
+ const receipt_binding_js_1 = require("./receipt-binding.js");
22
+ exports.CHAIN_SIGNING_PREFIX = 'crchain.v1';
23
+ function scalar(v) {
24
+ return v == null ? '' : String(v);
25
+ }
26
+ function reconstructInput(payload) {
27
+ const v1 = `${exports.CHAIN_SIGNING_PREFIX}|${scalar(payload.kid)}|${scalar(payload.fp)}|${scalar(payload.prev)}|${scalar(payload.caller)}|${scalar(payload.ts)}`;
28
+ if (payload.v === 4) {
29
+ return `${v1}|${scalar(payload.reg)}|${scalar(payload.ir)}|${scalar(payload.expires_at)}|${scalar(payload.bh)}`;
30
+ }
31
+ if (payload.v === 3) {
32
+ return `${v1}|${scalar(payload.reg)}|${scalar(payload.ir)}`;
33
+ }
34
+ if (payload.v === 2) {
35
+ return `${v1}|${scalar(payload.reg)}`;
36
+ }
37
+ return v1;
38
+ }
39
+ function isIssueTimeWithinKeyWindow(ts, keyMeta) {
40
+ if (!keyMeta || keyMeta.status === 'active')
41
+ return true;
42
+ if (keyMeta.status !== 'retired')
43
+ return false;
44
+ if (typeof keyMeta.retired_at !== 'string' || keyMeta.retired_at.length === 0)
45
+ return false;
46
+ if (typeof ts !== 'string' || ts.length === 0)
47
+ return false;
48
+ const issueMs = Date.parse(ts);
49
+ if (!Number.isFinite(issueMs))
50
+ return false;
51
+ if (keyMeta.valid_from) {
52
+ const fromMs = Date.parse(keyMeta.valid_from);
53
+ if (Number.isFinite(fromMs) && issueMs < fromMs)
54
+ return false;
55
+ }
56
+ const retiredMs = Date.parse(keyMeta.retired_at);
57
+ if (!Number.isFinite(retiredMs))
58
+ return false;
59
+ if (issueMs >= retiredMs)
60
+ return false;
61
+ return true;
62
+ }
63
+ function resolveKey(kid, registry, pinnedKeyPem) {
64
+ if (typeof pinnedKeyPem === 'string' && pinnedKeyPem.trim().length > 0) {
65
+ try {
66
+ return {
67
+ publicKey: (0, node_crypto_1.createPublicKey)(pinnedKeyPem),
68
+ status: 'active',
69
+ valid_from: null,
70
+ retired_at: null,
71
+ };
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ }
77
+ if (!registry || !Array.isArray(registry.keys) || !kid)
78
+ return null;
79
+ const matches = registry.keys.filter((k) => k && k.kid === kid && typeof k.public_key_pem === 'string');
80
+ if (matches.length === 0)
81
+ return null;
82
+ const entry = matches.find((k) => k.status === 'active') || matches[0];
83
+ try {
84
+ return {
85
+ publicKey: (0, node_crypto_1.createPublicKey)(entry.public_key_pem),
86
+ status: entry.status === 'retired' ? 'retired' : 'active',
87
+ valid_from: entry.valid_from || null,
88
+ retired_at: entry.retired_at || null,
89
+ };
90
+ }
91
+ catch {
92
+ return null;
93
+ }
94
+ }
95
+ function fail(status, denyReason, extra = {}) {
96
+ return {
97
+ valid: false,
98
+ status,
99
+ currently_authorized: false,
100
+ authz_reason: extra.authz_reason ?? denyReason,
101
+ denyReason,
102
+ view: null,
103
+ key_status: extra.key_status ?? null,
104
+ payload: extra.payload,
105
+ };
106
+ }
107
+ function viewFromEnvelope(envelope, payload, currently_authorized) {
108
+ const artifact = envelope.target_id ?? envelope.artifact_digest ?? envelope.bound_artifact_id;
109
+ return {
110
+ currently_authorized,
111
+ decision: typeof envelope.decision === 'string' ? envelope.decision : '',
112
+ execution_action: typeof envelope.execution_action === 'string' ? envelope.execution_action : undefined,
113
+ operation: typeof envelope.operation === 'string' ? envelope.operation : undefined,
114
+ bound_environment: typeof envelope.environment === 'string' ? envelope.environment : null,
115
+ bound_artifact_id: artifact == null ? null : String(artifact),
116
+ verdict_fingerprint: typeof envelope.fingerprint === 'string'
117
+ ? envelope.fingerprint
118
+ : (typeof payload.fp === 'string' ? payload.fp : undefined),
119
+ body_hash: typeof payload.bh === 'string' ? payload.bh : undefined,
120
+ target_id: envelope.target_id == null ? undefined : String(envelope.target_id),
121
+ };
122
+ }
123
+ /**
124
+ * Verify a chain-receipt token against a registry or pinned PEM. Pure (no I/O).
125
+ */
126
+ function verifyDeployReceiptToken(input, _intended = {}, nowMs) {
127
+ const token = input && input.token;
128
+ if (typeof token !== 'string' || token.length === 0) {
129
+ return fail('MALFORMED', 'unverified_receipt_view');
130
+ }
131
+ const hasKeys = (input.pinnedKeyPem && String(input.pinnedKeyPem).trim().length > 0)
132
+ || (input.registry && Array.isArray(input.registry.keys) && input.registry.keys.length > 0);
133
+ if (!hasKeys) {
134
+ return fail('MALFORMED', 'inputs_incomplete', { authz_reason: 'keys_missing' });
135
+ }
136
+ const segments = token.split('.');
137
+ if (segments.length !== 2 || segments.some((s) => !s)) {
138
+ return fail('MALFORMED', 'unverified_receipt_view');
139
+ }
140
+ let payload;
141
+ try {
142
+ payload = JSON.parse(Buffer.from(segments[0], 'base64url').toString('utf8'));
143
+ }
144
+ catch {
145
+ return fail('MALFORMED', 'unverified_receipt_view');
146
+ }
147
+ if (!payload || typeof payload !== 'object' || Array.isArray(payload)) {
148
+ return fail('MALFORMED', 'unverified_receipt_view');
149
+ }
150
+ if (typeof payload.v === 'number' && payload.v > 4) {
151
+ return fail('UNSUPPORTED_VERSION', 'unverified_receipt_view', { payload });
152
+ }
153
+ const kid = typeof payload.kid === 'string' ? payload.kid : '';
154
+ const resolved = resolveKey(kid, input.registry, input.pinnedKeyPem);
155
+ if (!resolved)
156
+ return fail('UNKNOWN_KEY', 'unknown_key', { payload });
157
+ let sigOk = false;
158
+ try {
159
+ sigOk = (0, node_crypto_1.verify)(null, Buffer.from(reconstructInput(payload), 'utf8'), resolved.publicKey, Buffer.from(segments[1], 'base64url'));
160
+ }
161
+ catch {
162
+ return fail('INVALID_SIGNATURE', 'invalid_signature', { payload });
163
+ }
164
+ if (!sigOk)
165
+ return fail('INVALID_SIGNATURE', 'invalid_signature', { payload });
166
+ for (const k of ['kid', 'fp', 'prev', 'caller', 'ts', 'reg', 'ir', 'expires_at', 'bh']) {
167
+ if (typeof payload[k] === 'string' && payload[k].includes('|')) {
168
+ return fail('INVALID_SIGNATURE', 'invalid_signature', { payload, authz_reason: 'delimiter_in_field' });
169
+ }
170
+ }
171
+ if (resolved.status === 'retired') {
172
+ if (!isIssueTimeWithinKeyWindow(typeof payload.ts === 'string' ? payload.ts : undefined, resolved)) {
173
+ return fail('INVALID_SIGNATURE', 'invalid_signature', { payload, authz_reason: 'retired_key_outside_window' });
174
+ }
175
+ const envelope = input.decision_result && typeof input.decision_result === 'object'
176
+ ? input.decision_result
177
+ : undefined;
178
+ const view = envelope ? viewFromEnvelope(envelope, payload, false) : null;
179
+ return {
180
+ valid: true,
181
+ status: 'RETIRED_KEY_VALID_AT_ISSUE',
182
+ currently_authorized: false,
183
+ authz_reason: 'retired_key',
184
+ denyReason: 'retired_key',
185
+ payload,
186
+ view,
187
+ key_status: 'retired',
188
+ };
189
+ }
190
+ if (payload.v === 4 && typeof payload.expires_at === 'string') {
191
+ const exp = Date.parse(payload.expires_at);
192
+ const now = Number.isFinite(nowMs) ? nowMs : Date.now();
193
+ if ((0, sdk_1.isReceiptExpired)(exp, now, { environment: _intended.environment, operation: _intended.operation })) {
194
+ const envelope = input.decision_result && typeof input.decision_result === 'object'
195
+ ? input.decision_result
196
+ : undefined;
197
+ return {
198
+ valid: true,
199
+ status: 'VERIFIED_EXPIRED',
200
+ currently_authorized: false,
201
+ authz_reason: 'expired',
202
+ denyReason: 'expired',
203
+ payload,
204
+ view: envelope ? viewFromEnvelope(envelope, payload, false) : null,
205
+ key_status: 'active',
206
+ };
207
+ }
208
+ }
209
+ const envelope = input.decision_result && typeof input.decision_result === 'object'
210
+ ? input.decision_result
211
+ : undefined;
212
+ if (!envelope) {
213
+ return {
214
+ valid: true,
215
+ status: 'VERIFIED_CURRENT',
216
+ currently_authorized: false,
217
+ authz_reason: 'receipt_context_required',
218
+ denyReason: 'receipt_not_authorized',
219
+ payload,
220
+ view: null,
221
+ key_status: 'active',
222
+ };
223
+ }
224
+ let localBh = null;
225
+ try {
226
+ localBh = (0, receipt_binding_js_1.computeBodyHash)(envelope);
227
+ }
228
+ catch {
229
+ localBh = null;
230
+ }
231
+ if (typeof payload.bh !== 'string' || payload.bh !== localBh) {
232
+ return fail('INVALID_SIGNATURE', 'body_hash_mismatch', { payload, authz_reason: 'body_hash_mismatch' });
233
+ }
234
+ return {
235
+ valid: true,
236
+ status: 'VERIFIED_CURRENT',
237
+ currently_authorized: true,
238
+ authz_reason: 'ok',
239
+ denyReason: null,
240
+ payload,
241
+ view: viewFromEnvelope(envelope, payload, true),
242
+ key_status: 'active',
243
+ };
244
+ }
245
+ //# 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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"}
@@ -64,8 +64,10 @@ export { guardToolRegistry, RegistryConstructionError } from './tool-registry.js
64
64
  export type { RawTool, ProtectedTool, ToolMutationClass, EnforcementCoverage, RegistryCoverageReport, GuardToolRegistryConfig, RegistryResult, ToolBinder, RegistryConstructionErrorCode, } from './tool-registry.js';
65
65
  export { gateDecision } from './merge-gate.js';
66
66
  export type { GateDecisionInput, GateDecision, ReceiptView, RequiredContext, ProtectionState, GateReason, GateStatusState, EnforcementState, } from './merge-gate.js';
67
- export { deployGate } from './deploy-gate.js';
68
- export type { DeployGateInput, DeployGateDecision, DeployReceiptView, DeployRequiredContext, DeployEnforcementState, DeployTarget, DeployGateReason, } from './deploy-gate.js';
67
+ export { deployGate, asVerifiedDeployReceiptView, isVerifiedDeployReceiptView, DEPLOY_RECEIPT_VIEW_SPEC, } from './deploy-gate.js';
68
+ export type { DeployGateInput, DeployGateDecision, DeployReceiptView, VerifiedDeployReceiptView, DeployRequiredContext, DeployEnforcementState, DeployTarget, DeployGateReason, DeployTokenReceipt, DeployVerificationObservation, DeployVerificationMode, } from './deploy-gate.js';
69
+ export { verifyDeployReceiptToken } from './deploy-receipt-token.js';
70
+ export type { DeployTokenVerifyResult, DeployTokenVerifyStatus } from './deploy-receipt-token.js';
69
71
  export { bindDeploy, DEPLOY_REPAIRABLE_REASONS } from './deploy-bind.js';
70
72
  export type { BindDeployInput, BindDeployResult, HostAssertedEnvironment, } from './deploy-bind.js';
71
73
  export { coverageReport } from './coverage-report.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -25,7 +25,8 @@
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.freshnessAllowsEnforce = exports.computePathSetTreeHash = exports.contentByteIdentical = exports.assessWriteStylePrior = exports.assessFreshness = exports.deriveProofBanner = exports.attachProofToAgentResponse = exports.renderFinalAnswerProof = exports.EXECUTION_PROOF_SPEC = exports.assertEnforcedReceiptInvariant = exports.hashExecutionResult = exports.buildExecutionProof = exports.DEFAULT_MONITORING_SINK_TIMEOUT_MS = exports.ackBytes = exports.verifyAckHmac = exports.monitoringDeliveryFailClosed = exports.formatMonitoringDeliveryLine = exports.deliverMonitoring = exports.hashObservedContent = exports.observeCommit = exports.deriveKeySignal = exports.pathClass = exports.classifyCommand = exports.projectState = exports.emptySessionState = exports.computeTainted = exports.evaluate = exports.updateSession = exports.SESSION_TAINT_VERSION = exports.SessionTaintTracker = exports.readDecision = exports.EXECUTION_TIME_FP_REASONS = exports.EXECUTION_STATE_UNMEASURABLE_NOTE = exports.isUnmeasurableExecutionStateReason = exports.computeCanonicalBundleFingerprint = exports.authorizedFingerprintFromEnvelope = exports.checkExecutionTimeFingerprint = exports.computeBundleFingerprint = exports.computeArtifactDigest = exports.evaluateEnvelope = exports.RECEIPT_PREV_NULL = exports.decodeReceiptBodyPrev = exports.previousReceiptCommitment = exports.verifyReceiptChainLinkage = exports.canonicalJson = exports.computeBodyHash = exports.bindReceiptToEnvelope = exports.DETECTOR_VERSION = exports.builtinDetector = exports.guardToolCall = void 0;
27
27
  exports.RegistryConstructionError = exports.guardToolRegistry = exports.globToRegExp = exports.matchGlob = exports.blobMapKey = exports.classifyByName = exports.resolveArtifacts = exports.REMEDIATION_LOOP_ATTESTATION_SPEC = exports.isCasAttestation = exports.readPriorBlockRemediation = exports.readRemediationTransaction = exports.buildRemediationLoopAttestation = exports.CAS_ATTESTATION_SPEC = exports.extractExecutorAttestationToken = exports.evaluateCasEvidence = exports.isExecuteIfUnchangedOutcome = exports.isGuardExecutionProof = exports.buildCasAttestation = exports.REGISTRY_ABSENT_TOKEN = exports.REGISTRY_VERSION_TOKEN_PREFIX = exports.registryTokenRaw = exports.writeRegistryIfUnchanged = exports.createRegistryVersionToken = exports.DB_ABSENT_TOKEN = exports.DB_VERSION_TOKEN_PREFIX = exports.dbTokenRaw = exports.writeDbIfUnchanged = exports.createDbVersionToken = exports.API_ABSENT_TOKEN = exports.API_VERSION_TOKEN_PREFIX = exports.apiTokenRaw = exports.writeApiIfUnchanged = exports.createApiVersionToken = exports.FS_ABSENT_TOKEN = exports.FS_VERSION_TOKEN_PREFIX = exports.fsTokenContentHash = exports.createFsPriorContentResolver = exports.writeFileIfUnchanged = exports.readVersionedFile = exports.createFsVersionToken = exports.StaleVersionTokenAbort = exports.executeIfUnchanged = exports.RESIDUAL_UNCONDITIONAL_WRITE = exports.conditionalWriteResidual = exports.tokensEqual = exports.buildConditionalWriteBasis = exports.buildFreshnessBasis = exports.collectFreshnessCallContext = exports.artifactIdsForResolve = exports.isWriteStyleCall = void 0;
28
- exports.surfaceEnvelopeFields = exports.isGuardOutcome = exports.executeLangGraphToolCall = exports.executeGeminiToolCall = exports.executeAnthropicToolCall = exports.executeOpenAIToolCall = exports.executeProtectedTool = exports.defaultSerializeGeminiToolResult = exports.bindGeminiGuardOutcome = exports.protectedToolToFunctionDeclaration = exports.toGeminiTools = exports.geminiToolAdapter = exports.withCodeRiftsGemini = exports.defaultSerializeLangGraphToolResult = exports.bindLangGraphGuardOutcome = exports.protectedToolToLangGraph = exports.toLangGraphTools = exports.langGraphToolAdapter = exports.withCodeRiftsLangGraph = exports.defaultSerializeAnthropicToolResult = exports.bindAnthropicGuardOutcome = exports.protectedToolToAnthropic = exports.toAnthropicTools = exports.anthropicToolAdapter = exports.withCodeRiftsAnthropic = exports.defaultSerializeOpenAIToolResult = exports.bindOpenAIGuardOutcome = exports.protectedToolToOpenAI = exports.toOpenAITools = exports.openAIToolAdapter = exports.withCodeRiftsOpenAI = exports.guardedFractionAmongRoutes = exports.foldTableSettledCalls = exports.withCodeRifts = exports.AUTO_DERIVE_READ_TIMEOUT_MS = exports.AUTO_DERIVE_SOURCE = exports.defaultFsReader = exports.normalizeAutoDerive = exports.runAutoDerive = exports.AUTO_RECHECK_MAX_CAP = exports.clampMaxAttempts = exports.normalizeAutoRecheck = exports.runAutoRecheckLoop = exports.coverageReport = exports.DEPLOY_REPAIRABLE_REASONS = exports.bindDeploy = exports.deployGate = exports.gateDecision = void 0;
28
+ exports.executeLangGraphToolCall = exports.executeGeminiToolCall = exports.executeAnthropicToolCall = exports.executeOpenAIToolCall = exports.executeProtectedTool = exports.defaultSerializeGeminiToolResult = exports.bindGeminiGuardOutcome = exports.protectedToolToFunctionDeclaration = exports.toGeminiTools = exports.geminiToolAdapter = exports.withCodeRiftsGemini = exports.defaultSerializeLangGraphToolResult = exports.bindLangGraphGuardOutcome = exports.protectedToolToLangGraph = exports.toLangGraphTools = exports.langGraphToolAdapter = exports.withCodeRiftsLangGraph = exports.defaultSerializeAnthropicToolResult = exports.bindAnthropicGuardOutcome = exports.protectedToolToAnthropic = exports.toAnthropicTools = exports.anthropicToolAdapter = exports.withCodeRiftsAnthropic = exports.defaultSerializeOpenAIToolResult = exports.bindOpenAIGuardOutcome = exports.protectedToolToOpenAI = exports.toOpenAITools = exports.openAIToolAdapter = exports.withCodeRiftsOpenAI = exports.guardedFractionAmongRoutes = exports.foldTableSettledCalls = exports.withCodeRifts = exports.AUTO_DERIVE_READ_TIMEOUT_MS = exports.AUTO_DERIVE_SOURCE = exports.defaultFsReader = exports.normalizeAutoDerive = exports.runAutoDerive = exports.AUTO_RECHECK_MAX_CAP = exports.clampMaxAttempts = exports.normalizeAutoRecheck = exports.runAutoRecheckLoop = exports.coverageReport = exports.DEPLOY_REPAIRABLE_REASONS = exports.bindDeploy = exports.verifyDeployReceiptToken = exports.DEPLOY_RECEIPT_VIEW_SPEC = exports.isVerifiedDeployReceiptView = exports.asVerifiedDeployReceiptView = exports.deployGate = exports.gateDecision = void 0;
29
+ exports.surfaceEnvelopeFields = exports.isGuardOutcome = void 0;
29
30
  var guard_js_1 = require("./guard.js");
30
31
  Object.defineProperty(exports, "guardToolCall", { enumerable: true, get: function () { return guard_js_1.guardToolCall; } });
31
32
  var detector_js_1 = require("./detector.js");
@@ -181,6 +182,11 @@ Object.defineProperty(exports, "gateDecision", { enumerable: true, get: function
181
182
  // deploy-gate (#8) — the PURE deploy authorization decision. No I/O; pipeline enforcement is input.
182
183
  var deploy_gate_js_1 = require("./deploy-gate.js");
183
184
  Object.defineProperty(exports, "deployGate", { enumerable: true, get: function () { return deploy_gate_js_1.deployGate; } });
185
+ Object.defineProperty(exports, "asVerifiedDeployReceiptView", { enumerable: true, get: function () { return deploy_gate_js_1.asVerifiedDeployReceiptView; } });
186
+ Object.defineProperty(exports, "isVerifiedDeployReceiptView", { enumerable: true, get: function () { return deploy_gate_js_1.isVerifiedDeployReceiptView; } });
187
+ Object.defineProperty(exports, "DEPLOY_RECEIPT_VIEW_SPEC", { enumerable: true, get: function () { return deploy_gate_js_1.DEPLOY_RECEIPT_VIEW_SPEC; } });
188
+ var deploy_receipt_token_js_1 = require("./deploy-receipt-token.js");
189
+ Object.defineProperty(exports, "verifyDeployReceiptToken", { enumerable: true, get: function () { return deploy_receipt_token_js_1.verifyDeployReceiptToken; } });
184
190
  // bindDeploy — pure deploy-TIME caller over deployGate (host asserts env; pipeline action not observed).
185
191
  var deploy_bind_js_1 = require("./deploy-bind.js");
186
192
  Object.defineProperty(exports, "bindDeploy", { enumerable: true, get: function () { return deploy_bind_js_1.bindDeploy; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,15 +11,15 @@
11
11
  * signed evidence; the deploy target's environment string is not verified by us.
12
12
  * A host can claim "staging" while deploying to production. The output says so.
13
13
  *
14
- * This module performs NO I/O, does NOT re-verify receipts, and does NOT act on a
15
- * pipeline. pipeline_action is always 'not_observed'. inescapable_deploy still comes
16
- * only from deployGate (ENFORCING ¬bypass) never flipped here.
14
+ * TOKEN mode: bindDeploy forwards `token` to deployGate, which verifies locally
15
+ * (no HTTP). VERIFIED-VIEW must carry the guard-defined view_spec. pipeline_action
16
+ * is always 'not_observed'. inescapable_deploy still comes only from deployGate.
17
17
  *
18
18
  * External note: coderifts-app CLI `deploy-gate` historically inlined a similar bind
19
19
  * (deployBind). That is a consumer; this is the package-local pure entry hosts should
20
20
  * call so the decision logic has a first-class caller in-repo.
21
21
  */
22
- import { type DeployEnforcementState, type DeployGateDecision, type DeployGateReason, type DeployReceiptView, type GateStatusState } from './deploy-gate.js';
22
+ import { type DeployEnforcementState, type DeployGateDecision, type DeployGateReason, type DeployReceiptView, type GateStatusState, type DeployTokenReceipt } from './deploy-gate.js';
23
23
  /** Reasons a fresh re-preflight for this { env, artifact } can repair. */
24
24
  declare const REPAIRABLE: ReadonlySet<DeployGateReason>;
25
25
  /**
@@ -45,10 +45,12 @@ export type BindDeployInput = {
45
45
  service?: string;
46
46
  pipeline_run_id?: string;
47
47
  /**
48
- * Finished receipt VIEW (fields already produced + lifecycle-evaluated elsewhere).
49
- * This function does not verify signatures or re-issue receipts. null → no_receipt.
48
+ * VERIFIED-VIEW (must carry view_spec) or null. TOKEN mode: pass `token` instead.
49
+ * A bare currently_authorized boolean is denied as unverified_receipt_view.
50
50
  */
51
- receipt: DeployReceiptView | null;
51
+ receipt?: DeployReceiptView | null;
52
+ /** TOKEN mode: signed chain_receipt + registry | pinnedKeyPem. Guard verifies. */
53
+ token?: DeployTokenReceipt;
52
54
  /**
53
55
  * Host-observed pipeline enforcement (CD config / step policy). Same role as
54
56
  * ProtectionState for merge — an input, not a package discovery.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-bind.d.ts","sourceRoot":"","sources":["../../src/deploy-bind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B,0EAA0E;AAC1E,QAAA,MAAM,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAS5C,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAC9C,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+EAA+E;IAC/E,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;OAGG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC,4DAA4D;IAC5D,mBAAmB,EAAE,eAAe,CAAC;IACrC,8DAA8D;IAC9D,MAAM,EAAE,gBAAgB,CAAC;IACzB,6DAA6D;IAC7D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAWF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAmDnE;AAED,OAAO,EAAE,UAAU,IAAI,yBAAyB,EAAE,CAAC"}
1
+ {"version":3,"file":"deploy-bind.d.ts","sourceRoot":"","sources":["../../src/deploy-bind.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,0EAA0E;AAC1E,QAAA,MAAM,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAc5C,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,UAAU,EAAE,eAAe,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAC9C,iFAAiF;IACjF,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnC,kFAAkF;IAClF,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B;;;OAGG;IACH,oBAAoB,EAAE,sBAAsB,CAAC;IAC7C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,+EAA+E;IAC/E,IAAI,EAAE,kBAAkB,CAAC;IACzB;;;OAGG;IACH,sBAAsB,EAAE,OAAO,CAAC;IAChC,4DAA4D;IAC5D,mBAAmB,EAAE,eAAe,CAAC;IACrC,8DAA8D;IAC9D,MAAM,EAAE,gBAAgB,CAAC;IACzB,6DAA6D;IAC7D,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,WAAW,EAAE,uBAAuB,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAWF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,gBAAgB,CAoDnE;AAED,OAAO,EAAE,UAAU,IAAI,yBAAyB,EAAE,CAAC"}
@@ -11,9 +11,9 @@
11
11
  * signed evidence; the deploy target's environment string is not verified by us.
12
12
  * A host can claim "staging" while deploying to production. The output says so.
13
13
  *
14
- * This module performs NO I/O, does NOT re-verify receipts, and does NOT act on a
15
- * pipeline. pipeline_action is always 'not_observed'. inescapable_deploy still comes
16
- * only from deployGate (ENFORCING ¬bypass) never flipped here.
14
+ * TOKEN mode: bindDeploy forwards `token` to deployGate, which verifies locally
15
+ * (no HTTP). VERIFIED-VIEW must carry the guard-defined view_spec. pipeline_action
16
+ * is always 'not_observed'. inescapable_deploy still comes only from deployGate.
17
17
  *
18
18
  * External note: coderifts-app CLI `deploy-gate` historically inlined a similar bind
19
19
  * (deployBind). That is a consumer; this is the package-local pure entry hosts should
@@ -30,6 +30,11 @@ const REPAIRABLE = new Set([
30
30
  'body_hash_mismatch',
31
31
  'no_receipt',
32
32
  'inputs_incomplete',
33
+ 'unverified_receipt_view',
34
+ 'invalid_signature',
35
+ 'expired',
36
+ 'unknown_key',
37
+ 'retired_key',
33
38
  ]);
34
39
  function asHostAssertedEnvironment(env) {
35
40
  if (typeof env === 'string') {
@@ -85,6 +90,7 @@ export function bindDeploy(input) {
85
90
  const gate = deployGate({
86
91
  deployTarget,
87
92
  receipt: input.receipt,
93
+ token: input.token,
88
94
  requiredContext,
89
95
  ...(input.allowPending != null ? { allowPending: input.allowPending } : {}),
90
96
  ...(input.allowWarnDeploy != null ? { allowWarnDeploy: input.allowWarnDeploy } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-bind.js","sourceRoot":"","sources":["../../src/deploy-bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-bind.js","sourceRoot":"","sources":["../../src/deploy-bind.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,12 @@
4
4
  * receipt and the observed pipeline-enforcement state?"
5
5
  *
6
6
  * Same shape as the merge gate, different operation. It is a PURE function — NO I/O, NO CD-API call
7
- * (pipeline enforcement is an INPUT, observed by the host and passed in). It does NOT re-decide: it
8
- * reads only the finished receipt fields the deterministic verdict stays the server's (D7). Same
9
- * inputs same output (D9).
7
+ * (pipeline enforcement is an INPUT, observed by the host and passed in). TOKEN mode verifies a
8
+ * chain-receipt locally (Ed25519 + registry/pinned PEM; no HTTP). VERIFIED-VIEW mode accepts a
9
+ * host-attributed view ONLY with the guard-defined provenance marker. A bare
10
+ * `currently_authorized: true` is not proof (P0 / external audit 2026-08-24). Same
11
+ * inputs → same output (D9). Observation `verification.{mode,verify_status}` is recorded on the
12
+ * outcome; it does not enter any fingerprint preimage.
10
13
  *
11
14
  * The three deploy-specific binds are the whole point: T7 (a MERGE — or operation-less — receipt can
12
15
  * never deploy), environment binding (a staging ALLOW never authorizes production), and artifact
@@ -19,8 +22,16 @@
19
22
  * secrets.
20
23
  */
21
24
  import type { GateStatusState, EnforcementState } from './merge-gate.js';
25
+ import { type DeployTokenReceipt } from './deploy-receipt-token.js';
22
26
  export type { GateStatusState, EnforcementState } from './merge-gate.js';
23
- /** The 14 deploy-gate reason codes (§1.1 + change-set residual). Success uses allow_current_deploy;
27
+ export type { DeployTokenReceipt } from './deploy-receipt-token.js';
28
+ /**
29
+ * Guard-defined VERIFIED-VIEW provenance marker (same idiom as `proof_spec` /
30
+ * `attestation_spec`). A host that already verified (CLI, etc.) MUST set this —
31
+ * `currently_authorized: true` alone is untrusted input.
32
+ */
33
+ export declare const DEPLOY_RECEIPT_VIEW_SPEC: "deploy-receipt-view.v1";
34
+ /** Deploy-gate reason codes (§1.1 + change-set residual + 9.0.0 verification). Success uses allow_current_deploy;
24
35
  * enforcement_not_configured / bypass_open / change_set_not_rebound name honesty residuals on an
25
36
  * otherwise-green check; fingerprint_mismatch is a hard failure (not a residual). */
26
37
  export type DeployGateReason = 'allow_current_deploy' | 'no_receipt' | 'receipt_not_authorized' | 'operation_mismatch' | 'env_mismatch' | 'stale_artifact' | 'fingerprint_mismatch' | 'body_hash_mismatch' | 'target_mismatch' | 'decision_not_allow' | 'inputs_incomplete' | 'enforcement_not_configured' | 'bypass_open'
@@ -30,7 +41,13 @@ export type DeployGateReason = 'allow_current_deploy' | 'no_receipt' | 'receipt_
30
41
  * fingerprint_mismatch (hard failure when a re-bind WAS requested and disagreed).
31
42
  * deploy_allowed may stay true.
32
43
  */
33
- | 'change_set_not_rebound';
44
+ | 'change_set_not_rebound'
45
+ /**
46
+ * Caller handed a receipt view with currently_authorized (or bounds) but no TOKEN and no
47
+ * guard-defined view_spec provenance. Distinct from receipt_not_authorized: "you didn't prove
48
+ * it" ≠ "verification says no".
49
+ */
50
+ | 'unverified_receipt_view' | 'invalid_signature' | 'expired' | 'unknown_key' | 'retired_key';
34
51
  /** What is being deployed — all fields are INPUTS (the pure function performs no discovery). */
35
52
  export type DeployTarget = {
36
53
  environment: string;
@@ -55,7 +72,28 @@ export type DeployReceiptView = {
55
72
  body_hash?: string;
56
73
  target_id?: string;
57
74
  signature_valid?: boolean;
75
+ /**
76
+ * VERIFIED-VIEW provenance. Must equal DEPLOY_RECEIPT_VIEW_SPEC together with
77
+ * `verified: true` or the gate denies unverified_receipt_view.
78
+ */
79
+ view_spec?: string;
80
+ verified?: boolean;
81
+ verify_status?: string;
58
82
  };
83
+ /** VERIFIED-VIEW: host-attributed, guard-defined marker required. */
84
+ export type VerifiedDeployReceiptView = DeployReceiptView & {
85
+ view_spec: typeof DEPLOY_RECEIPT_VIEW_SPEC;
86
+ verified: true;
87
+ verify_status: string;
88
+ };
89
+ export type DeployVerificationMode = 'token' | 'verified_view' | 'unverified' | 'none';
90
+ export type DeployVerificationObservation = {
91
+ mode: DeployVerificationMode;
92
+ verify_status: string | null;
93
+ };
94
+ /** Stamp a computed view so deployGate will accept it as VERIFIED-VIEW (not TOKEN). */
95
+ export declare function asVerifiedDeployReceiptView(view: DeployReceiptView, verify_status?: string): VerifiedDeployReceiptView;
96
+ export declare function isVerifiedDeployReceiptView(r: DeployReceiptView | null | undefined): r is VerifiedDeployReceiptView;
59
97
  /** Pipeline-enforcement observation (from the host's CD-config read — the pure gate consumes it). */
60
98
  export type DeployEnforcementState = {
61
99
  enforcement: EnforcementState;
@@ -79,7 +117,13 @@ export type DeployRequiredContext = {
79
117
  };
80
118
  export type DeployGateInput = {
81
119
  deployTarget: DeployTarget;
82
- receipt: DeployReceiptView | null;
120
+ /**
121
+ * VERIFIED-VIEW (or null). A bare currently_authorized boolean is untrusted.
122
+ * TOKEN mode uses `token` instead (recommended).
123
+ */
124
+ receipt?: DeployReceiptView | VerifiedDeployReceiptView | null;
125
+ /** TOKEN mode: signed chain_receipt + registry | pinnedKeyPem. Guard verifies locally. */
126
+ token?: DeployTokenReceipt;
83
127
  requiredContext: DeployRequiredContext;
84
128
  /** Incomplete/no-receipt → pending when true, else failure (default false). */
85
129
  allowPending?: boolean;
@@ -112,6 +156,10 @@ export type DeployGateDecision = {
112
156
  bound_artifact_id: string | null;
113
157
  operation: string | null;
114
158
  };
159
+ /**
160
+ * Observation: which input mode ran and the verify_status. Not a preimage field.
161
+ */
162
+ verification: DeployVerificationObservation;
115
163
  };
116
164
  /**
117
165
  * §1.4 — the normative, first-match-wins deploy decision. Pure; no I/O; deterministic.
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-gate.d.ts","sourceRoot":"","sources":["../../src/deploy-gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-gate.d.ts","sourceRoot":"","sources":["../../src/deploy-gate.ts"],"names":[],"mappings":"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"}