@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.
- package/README.md +33 -22
- 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/index.d.ts +4 -2
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +7 -1
- package/dist/cjs/index.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/index.d.ts +4 -2
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -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.
|
|
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; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
-
*
|
|
49
|
-
*
|
|
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
|
|
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,
|
|
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"}
|
package/dist/esm/deploy-bind.js
CHANGED
|
@@ -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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,UAAU,
|
|
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).
|
|
8
|
-
*
|
|
9
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"deploy-gate.d.ts","sourceRoot":"","sources":["../../src/deploy-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAG,wBAAiC,CAAC;AAE1E;;sFAEsF;AACtF,MAAM,MAAM,gBAAgB,GACxB,sBAAsB,GACtB,YAAY,GACZ,wBAAwB,GACxB,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,mBAAmB,GACnB,4BAA4B,GAC5B,aAAa;AACf;;;;;GAKG;GACD,wBAAwB;AAC1B;;;;GAIG;GACD,yBAAyB,GACzB,mBAAmB,GACnB,SAAS,GACT,aAAa,GACb,aAAa,CAAC;AAElB,gGAAgG;AAChG,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,6GAA6G;AAC7G,MAAM,MAAM,iBAAiB,GAAG;IAC9B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,kBAAkB,GAAG,OAAO,GAAG,MAAM,CAAC;IACnE,gBAAgB,CAAC,EAAE,UAAU,GAAG,0BAA0B,GAAG,kBAAkB,GAAG,MAAM,GAAG,MAAM,CAAC;IAClG,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,yFAAyF;IACzF,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;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAC1D,SAAS,EAAE,OAAO,wBAAwB,CAAC;IAC3C,QAAQ,EAAE,IAAI,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,eAAe,GAAG,YAAY,GAAG,MAAM,CAAC;AAEvF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,sBAAsB,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,iBAAiB,EACvB,aAAa,SAAqB,GACjC,yBAAyB,CAO3B;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,IAAI,yBAAyB,CAInH;AAED,qGAAqG;AACrG,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,sBAAsB,CAAC;IACpC,+EAA+E;IAC/E,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kEAAkE;IAClE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,OAAO,CAAC,EAAE,iBAAiB,GAAG,yBAAyB,GAAG,IAAI,CAAC;IAC/D,0FAA0F;IAC1F,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,eAAe,EAAE,qBAAqB,CAAC;IACvC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B;;;OAGG;IACH,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,YAAY,EAAE,6BAA6B,CAAC;CAC7C,CAAC;AAkCF;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAqJrE"}
|