@coderifts/agent-guard 3.0.1 → 4.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 +46 -1
- package/dist/cjs/artifact-resolver.d.ts +8 -0
- package/dist/cjs/artifact-resolver.d.ts.map +1 -1
- package/dist/cjs/artifact-resolver.js +12 -1
- package/dist/cjs/artifact-resolver.js.map +1 -1
- package/dist/cjs/deploy-bind.d.ts +123 -0
- package/dist/cjs/deploy-bind.d.ts.map +1 -0
- package/dist/cjs/deploy-bind.js +112 -0
- package/dist/cjs/deploy-bind.js.map +1 -0
- package/dist/cjs/enforcement-gate.d.ts +13 -4
- package/dist/cjs/enforcement-gate.d.ts.map +1 -1
- package/dist/cjs/enforcement-gate.js +32 -7
- package/dist/cjs/enforcement-gate.js.map +1 -1
- package/dist/cjs/execution-proof.d.ts +132 -0
- package/dist/cjs/execution-proof.d.ts.map +1 -0
- package/dist/cjs/execution-proof.js +157 -0
- package/dist/cjs/execution-proof.js.map +1 -0
- package/dist/cjs/freshness.d.ts +244 -0
- package/dist/cjs/freshness.d.ts.map +1 -0
- package/dist/cjs/freshness.js +395 -0
- package/dist/cjs/freshness.js.map +1 -0
- package/dist/cjs/guard.d.ts +7 -1
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +114 -38
- 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 +28 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/read-decision.d.ts +47 -0
- package/dist/cjs/read-decision.d.ts.map +1 -0
- package/dist/cjs/read-decision.js +161 -0
- package/dist/cjs/read-decision.js.map +1 -0
- package/dist/cjs/tool-registry.d.ts.map +1 -1
- package/dist/cjs/tool-registry.js +12 -1
- package/dist/cjs/tool-registry.js.map +1 -1
- package/dist/cjs/types.d.ts +28 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.d.ts +70 -8
- package/dist/cjs/with-coderifts.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.js +177 -14
- package/dist/cjs/with-coderifts.js.map +1 -1
- package/dist/esm/artifact-resolver.d.ts +8 -0
- package/dist/esm/artifact-resolver.d.ts.map +1 -1
- package/dist/esm/artifact-resolver.js +11 -1
- package/dist/esm/artifact-resolver.js.map +1 -1
- package/dist/esm/deploy-bind.d.ts +123 -0
- package/dist/esm/deploy-bind.d.ts.map +1 -0
- package/dist/esm/deploy-bind.js +108 -0
- package/dist/esm/deploy-bind.js.map +1 -0
- package/dist/esm/enforcement-gate.d.ts +13 -4
- package/dist/esm/enforcement-gate.d.ts.map +1 -1
- package/dist/esm/enforcement-gate.js +32 -7
- package/dist/esm/enforcement-gate.js.map +1 -1
- package/dist/esm/execution-proof.d.ts +132 -0
- package/dist/esm/execution-proof.d.ts.map +1 -0
- package/dist/esm/execution-proof.js +151 -0
- package/dist/esm/execution-proof.js.map +1 -0
- package/dist/esm/freshness.d.ts +244 -0
- package/dist/esm/freshness.d.ts.map +1 -0
- package/dist/esm/freshness.js +384 -0
- package/dist/esm/freshness.js.map +1 -0
- package/dist/esm/guard.d.ts +7 -1
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +113 -37
- 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 +10 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/read-decision.d.ts +47 -0
- package/dist/esm/read-decision.d.ts.map +1 -0
- package/dist/esm/read-decision.js +153 -0
- package/dist/esm/read-decision.js.map +1 -0
- package/dist/esm/tool-registry.d.ts.map +1 -1
- package/dist/esm/tool-registry.js +12 -1
- package/dist/esm/tool-registry.js.map +1 -1
- package/dist/esm/types.d.ts +28 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/with-coderifts.d.ts +70 -8
- package/dist/esm/with-coderifts.d.ts.map +1 -1
- package/dist/esm/with-coderifts.js +177 -14
- package/dist/esm/with-coderifts.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/guard.js
CHANGED
|
@@ -11,10 +11,12 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.guardToolCall = guardToolCall;
|
|
13
13
|
const node_crypto_1 = require("node:crypto");
|
|
14
|
-
const
|
|
14
|
+
const read_decision_js_1 = require("./read-decision.js");
|
|
15
15
|
const detector_js_1 = require("./detector.js");
|
|
16
16
|
const receipt_binding_js_1 = require("./receipt-binding.js");
|
|
17
17
|
const enforcement_gate_js_1 = require("./enforcement-gate.js");
|
|
18
|
+
const execution_proof_js_1 = require("./execution-proof.js");
|
|
19
|
+
const freshness_js_1 = require("./freshness.js");
|
|
18
20
|
// Per-config breaker state (time-window; not consecutive).
|
|
19
21
|
const breakers = new WeakMap();
|
|
20
22
|
const nowMs = () => Date.now();
|
|
@@ -152,30 +154,57 @@ async function verifyEnvelope(config, envelope) {
|
|
|
152
154
|
}
|
|
153
155
|
}
|
|
154
156
|
// ── Outcome builders (keep the discriminated union satisfied) ────────────────────
|
|
155
|
-
|
|
157
|
+
// Every path attaches a guard-produced `proof` block and a per-call `freshness` basis.
|
|
158
|
+
// Callers cannot pass proof/freshness fields in; builders observe only.
|
|
159
|
+
async function runEnforced(config, factory, approved, redacted, freshness) {
|
|
156
160
|
emit(config, { type: 'execution_started', at: iso(), action: approved.action, decisionId: approved.envelope.decision_id });
|
|
157
161
|
try {
|
|
158
162
|
const result = await factory(approved.envelope, redacted);
|
|
159
|
-
|
|
163
|
+
const base = { executionAttempted: true, executed: true, enforced: true, result, verdict: approved, preflighted: true };
|
|
164
|
+
return { ...base, proof: (0, execution_proof_js_1.buildExecutionProof)(base), freshness };
|
|
160
165
|
}
|
|
161
166
|
catch (error) {
|
|
162
167
|
emit(config, { type: 'factory_error', at: iso(), action: approved.action });
|
|
163
|
-
|
|
168
|
+
const base = { executionAttempted: true, executed: false, enforced: true, error, verdict: approved, preflighted: true };
|
|
169
|
+
return { ...base, proof: (0, execution_proof_js_1.buildExecutionProof)(base), freshness };
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
|
-
async function runUnenforced(config, factory, envelope, verdict, preflighted, redacted) {
|
|
172
|
+
async function runUnenforced(config, factory, envelope, verdict, preflighted, redacted, freshness) {
|
|
167
173
|
emit(config, { type: 'execution_started', at: iso() });
|
|
168
174
|
try {
|
|
169
175
|
const result = await factory(envelope, redacted);
|
|
170
|
-
|
|
176
|
+
const base = { executionAttempted: true, executed: true, enforced: false, result, verdict, preflighted };
|
|
177
|
+
return { ...base, proof: (0, execution_proof_js_1.buildExecutionProof)(base), freshness };
|
|
171
178
|
}
|
|
172
179
|
catch (error) {
|
|
173
180
|
emit(config, { type: 'factory_error', at: iso() });
|
|
174
|
-
|
|
181
|
+
const base = { executionAttempted: true, executed: false, enforced: false, error, verdict, preflighted };
|
|
182
|
+
return { ...base, proof: (0, execution_proof_js_1.buildExecutionProof)(base), freshness };
|
|
175
183
|
}
|
|
176
184
|
}
|
|
177
|
-
function blocked(verdict, preflighted) {
|
|
178
|
-
|
|
185
|
+
function blocked(verdict, preflighted, freshness) {
|
|
186
|
+
const base = { executionAttempted: false, executed: false, enforced: false, verdict, preflighted };
|
|
187
|
+
return { ...base, proof: (0, execution_proof_js_1.buildExecutionProof)(base), freshness };
|
|
188
|
+
}
|
|
189
|
+
function preflightBeforeByIdFrom(arts) {
|
|
190
|
+
const out = {};
|
|
191
|
+
if (!Array.isArray(arts))
|
|
192
|
+
return out;
|
|
193
|
+
for (const a of arts) {
|
|
194
|
+
if (a && typeof a.id === 'string' && a.id && typeof a.before === 'string') {
|
|
195
|
+
out[a.id] = a.before;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return out;
|
|
199
|
+
}
|
|
200
|
+
function freshnessFor(config, redacted, ctx, preflightArts) {
|
|
201
|
+
return (0, freshness_js_1.buildFreshnessBasis)({
|
|
202
|
+
writeStyle: (0, freshness_js_1.isWriteStyleCall)(redacted),
|
|
203
|
+
requireFreshness: config.requireFreshness === true,
|
|
204
|
+
ctx,
|
|
205
|
+
preflightBeforeById: preflightBeforeByIdFrom(preflightArts ?? redacted.artifacts),
|
|
206
|
+
allowStaleContext: config.allowStaleContext,
|
|
207
|
+
});
|
|
179
208
|
}
|
|
180
209
|
/**
|
|
181
210
|
* True iff at least one supplied artifact carries analyzable before/after content. A preflight
|
|
@@ -197,8 +226,15 @@ function hasAnalyzableContent(artifacts) {
|
|
|
197
226
|
function unavailableVerdict(parts, count) {
|
|
198
227
|
return { kind: 'UNAVAILABLE', decisionMissing: true, unavailableCount: count, ...parts };
|
|
199
228
|
}
|
|
200
|
-
|
|
229
|
+
/**
|
|
230
|
+
* @param callContext Runner-collected freshness values (optional). When omitted, wiring is
|
|
231
|
+
* NOT_CONFIGURED — the pure path never invokes resolvePriorContent. The tool-registry runner
|
|
232
|
+
* calls collectFreshnessCallContext and passes the result here.
|
|
233
|
+
*/
|
|
234
|
+
async function guardToolCall(call, executeFactory, config, callContext) {
|
|
201
235
|
const failPolicy = config.failPolicy ?? 'closed';
|
|
236
|
+
// Default: no runner collection → NOT_CONFIGURED (never invent ACTIVE).
|
|
237
|
+
const fctx = callContext ?? { wiring: 'NOT_CONFIGURED' };
|
|
202
238
|
// 12. redactor runs FIRST; everything downstream uses the redacted descriptor.
|
|
203
239
|
let redacted;
|
|
204
240
|
try {
|
|
@@ -207,7 +243,7 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
207
243
|
catch {
|
|
208
244
|
// A redactor throw is a CONFIG_ERROR (integrity) => closed.
|
|
209
245
|
breakerRecord(config);
|
|
210
|
-
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy);
|
|
246
|
+
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, call);
|
|
211
247
|
}
|
|
212
248
|
const inputFp = fingerprint(redacted); // used for LKG lookup (dormant in v1)
|
|
213
249
|
// 8/9. detector is fail-safe but a THROW is a DETECTOR_ERROR (integrity) => closed.
|
|
@@ -218,7 +254,7 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
218
254
|
}
|
|
219
255
|
catch {
|
|
220
256
|
breakerRecord(config);
|
|
221
|
-
return closedIntegrity(config, 'DETECTOR_ERROR', failPolicy);
|
|
257
|
+
return closedIntegrity(config, 'DETECTOR_ERROR', failPolicy, fctx, redacted);
|
|
222
258
|
}
|
|
223
259
|
// requireExplicitArtifacts strict SKIP gate: suppress only when nonContract===true AND no signal.
|
|
224
260
|
const suppressedByStrict = config.requireExplicitArtifacts === true && redacted.nonContract === true
|
|
@@ -227,7 +263,20 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
227
263
|
if (!detection.trigger || suppressedByStrict) {
|
|
228
264
|
emit(config, { type: 'detection_skip', at: iso(), signals: detection.signals, detectorVersion: detector.version });
|
|
229
265
|
const verdict = { kind: 'SKIPPED', reason: 'NOT_A_CONTRACT_CALL', signals: detection.signals, detectorVersion: detector.version };
|
|
230
|
-
|
|
266
|
+
const { basis } = freshnessFor(config, redacted, fctx);
|
|
267
|
+
return runUnenforced(config, executeFactory, null, verdict, false, redacted, basis);
|
|
268
|
+
}
|
|
269
|
+
// Freshness permission gate for write-style under requireFreshness / DEGRADED (before preflight I/O).
|
|
270
|
+
{
|
|
271
|
+
const arts = (detection.artifacts && detection.artifacts.length > 0)
|
|
272
|
+
? detection.artifacts
|
|
273
|
+
: redacted.artifacts;
|
|
274
|
+
const { basis, blockCause } = freshnessFor(config, redacted, fctx, arts);
|
|
275
|
+
if (blockCause === 'FRESHNESS_REQUIRED' || blockCause === 'FRESHNESS_FAILED') {
|
|
276
|
+
breakerRecord(config);
|
|
277
|
+
return closedIntegrity(config, blockCause, failPolicy, fctx, redacted, arts);
|
|
278
|
+
}
|
|
279
|
+
// basis retained via freshnessFor on later paths
|
|
231
280
|
}
|
|
232
281
|
// MISSING_ARTIFACT_CONTENT — developer-adoption fail-closed (audit #1). The detector says a contract
|
|
233
282
|
// change is happening (trigger:true) but the caller supplied NO analyzable content: no artifacts, or
|
|
@@ -241,12 +290,13 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
241
290
|
emit(config, { type: 'artifact_content_missing', at: iso(), cause: 'MISSING_ARTIFACT_CONTENT', signals: detection.signals });
|
|
242
291
|
const count = (breakers.get(config)?.fails.length) ?? 0;
|
|
243
292
|
const v = unavailableVerdict({ cause: 'MISSING_ARTIFACT_CONTENT', failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
244
|
-
|
|
293
|
+
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
294
|
+
return blocked(v, false, basis);
|
|
245
295
|
}
|
|
246
296
|
// config validation: lkg policy requires an LkgStore.
|
|
247
297
|
if (failPolicy === 'lkg' && !config.lkg) {
|
|
248
298
|
breakerRecord(config);
|
|
249
|
-
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy);
|
|
299
|
+
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, redacted, detection.artifacts);
|
|
250
300
|
}
|
|
251
301
|
// build the preflight request from the detected artifacts.
|
|
252
302
|
// previous_receipt: host-supplied only (GuardConfig.previousReceipt). Never hardcoded-undefined
|
|
@@ -262,7 +312,7 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
262
312
|
const cap = config.maxPayloadBytes ?? 1_000_000;
|
|
263
313
|
if (Buffer.byteLength(JSON.stringify(request), 'utf8') > cap) {
|
|
264
314
|
breakerRecord(config);
|
|
265
|
-
return closedIntegrity(config, 'PAYLOAD_TOO_LARGE', failPolicy);
|
|
315
|
+
return closedIntegrity(config, 'PAYLOAD_TOO_LARGE', failPolicy, fctx, redacted, detection.artifacts);
|
|
266
316
|
}
|
|
267
317
|
emit(config, { type: 'preflight_start', at: iso() });
|
|
268
318
|
const pf = await preflightWithRetry(config, request);
|
|
@@ -270,40 +320,53 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
270
320
|
// UNAVAILABLE. Integrity => always closed + breaker. Availability => failPolicy.
|
|
271
321
|
breakerRecord(config);
|
|
272
322
|
const count = (breakers.get(config)?.fails.length) ?? 1;
|
|
323
|
+
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
273
324
|
if (pf.integrity) {
|
|
274
325
|
emit(config, { type: 'breaker_tripped', at: iso(), cause: pf.cause });
|
|
275
326
|
const v = unavailableVerdict({ cause: pf.cause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
276
|
-
return blocked(v, false);
|
|
327
|
+
return blocked(v, false, basis);
|
|
277
328
|
}
|
|
278
329
|
// availability
|
|
279
330
|
const availCause = pf.cause;
|
|
280
331
|
if (failPolicy === 'open' && !breakerTripped(config)) {
|
|
281
332
|
emit(config, { type: 'preflight_unavailable', at: iso(), cause: availCause, action: 'CONTINUE' });
|
|
282
333
|
const v = unavailableVerdict({ cause: availCause, failPolicy: 'open', resolution: 'OPEN_PASSTHROUGH', action: 'CONTINUE' }, count);
|
|
283
|
-
return runUnenforced(config, executeFactory, null, v, false, redacted);
|
|
334
|
+
return runUnenforced(config, executeFactory, null, v, false, redacted, basis);
|
|
284
335
|
}
|
|
285
336
|
if (failPolicy === 'lkg') {
|
|
286
337
|
const lkg = await tryLkg(config, inputFp);
|
|
287
338
|
if (lkg) {
|
|
288
339
|
emit(config, { type: 'preflight_unavailable', at: iso(), cause: availCause, action: lkg.action });
|
|
289
340
|
const v = unavailableVerdict({ cause: availCause, failPolicy: 'lkg', resolution: 'LKG_SUBSTITUTION', action: lkg.action, lkgEnvelope: lkg.envelope }, count);
|
|
290
|
-
return runUnenforced(config, executeFactory, lkg.envelope, v, false, redacted); // LKG NEVER enforces
|
|
341
|
+
return runUnenforced(config, executeFactory, lkg.envelope, v, false, redacted, basis); // LKG NEVER enforces
|
|
291
342
|
}
|
|
292
343
|
// LKG unusable (dormant in v1: binding fields absent) => closed.
|
|
293
344
|
}
|
|
294
345
|
if (breakerTripped(config))
|
|
295
346
|
emit(config, { type: 'breaker_tripped', at: iso(), cause: availCause });
|
|
296
347
|
const v = unavailableVerdict({ cause: availCause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
297
|
-
return blocked(v, false);
|
|
348
|
+
return blocked(v, false, basis);
|
|
298
349
|
}
|
|
299
350
|
// We have a response. Read the decision (envelope-first) and verify the receipt.
|
|
300
|
-
const rd = (0,
|
|
351
|
+
const rd = (0, read_decision_js_1.readDecision)(pf.response);
|
|
352
|
+
// PRESENT but unrecognised action — halt with its own code before any decision map or reconcile.
|
|
353
|
+
// (Missing action still maps from decision inside readDecision; that path never sets this reason.)
|
|
354
|
+
if (rd.reason === 'EXECUTION_ACTION_UNRECOGNISED') {
|
|
355
|
+
breakerRecord(config);
|
|
356
|
+
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, redacted, detection.artifacts);
|
|
357
|
+
}
|
|
301
358
|
if (rd.reason === 'UNREADABLE_DECISION' || !rd.envelope) {
|
|
302
359
|
// Schema-invalid / no envelope => integrity => closed.
|
|
303
360
|
breakerRecord(config);
|
|
304
|
-
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy);
|
|
361
|
+
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, redacted, detection.artifacts);
|
|
305
362
|
}
|
|
306
363
|
const envelope = rd.envelope;
|
|
364
|
+
// Past unrecognised early-return: action is a closed ExecutionAction (or we treat non-closed as integrity).
|
|
365
|
+
if (!(0, read_decision_js_1.isClosedAction)(rd.executionAction)) {
|
|
366
|
+
breakerRecord(config);
|
|
367
|
+
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, redacted, detection.artifacts);
|
|
368
|
+
}
|
|
369
|
+
const closedAction = rd.executionAction;
|
|
307
370
|
// 5. expiry check before honoring any decision.
|
|
308
371
|
const expired = isExpired(envelope);
|
|
309
372
|
const bindResult = await verifyEnvelope(config, envelope);
|
|
@@ -311,35 +374,40 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
311
374
|
const receiptVerified = !!verified;
|
|
312
375
|
if (!receiptVerified)
|
|
313
376
|
emit(config, { type: 'receipt_unverified', at: iso(), decisionId: envelope.decision_id });
|
|
314
|
-
emit(config, { type: 'preflight_result', at: iso(), action:
|
|
377
|
+
emit(config, { type: 'preflight_result', at: iso(), action: closedAction, decisionId: envelope.decision_id });
|
|
315
378
|
// A receipt that fails to verify OR fails to BIND to this envelope (P0 substitution/replay/scope) is
|
|
316
379
|
// an INTEGRITY attack signal => fail closed. RECEIPT_ENVELOPE_MISMATCH names a valid-but-unbound
|
|
317
380
|
// receipt (e.g. a real BLOCK receipt wrapped in a forged ALLOW envelope); RECEIPT_UNVERIFIED a bad
|
|
318
381
|
// signature. Both trip the breaker and STOP — the guard NEVER executes off an unbound receipt.
|
|
319
382
|
if (config.verifyReceipts !== false && !receiptVerified && envelope.receipt?.token) {
|
|
320
383
|
breakerRecord(config);
|
|
321
|
-
return closedIntegrity(config, bindResult.cause ?? 'RECEIPT_UNVERIFIED', failPolicy);
|
|
384
|
+
return closedIntegrity(config, bindResult.cause ?? 'RECEIPT_UNVERIFIED', failPolicy, fctx, redacted, detection.artifacts);
|
|
322
385
|
}
|
|
323
386
|
// ── Client-side authorization gate (P0-b/c): mirror §106/§111/§115 before honoring any action. ──
|
|
324
|
-
//
|
|
325
|
-
//
|
|
326
|
-
//
|
|
327
|
-
|
|
387
|
+
// Threat model (bounded): without a receipt, fields including execution_action are not
|
|
388
|
+
// tamper-evident — a proxy can flip them, so the gate never trusts the raw action alone and
|
|
389
|
+
// reconciles decision↔action (stricter wins). With a receipt, decision_body_hash covers the
|
|
390
|
+
// RFC 8785-canonical envelope (minus receipt and the hash) and the signature covers that hash,
|
|
391
|
+
// so a flip without the signing key fails the bind. Either way: a PRESENT-but-unrecognised
|
|
392
|
+
// action has already halted above; known actions are reconciled, safe_for_agent and degraded
|
|
393
|
+
// are fail-closed, artifacts bind locally. Only allow-class + safe + non-degraded + bound runs.
|
|
394
|
+
const gate = (0, enforcement_gate_js_1.evaluateEnvelope)(pf.response, envelope, closedAction, detection.artifacts);
|
|
328
395
|
if (gate.verdict === 'fail-closed') {
|
|
329
396
|
breakerRecord(config);
|
|
330
|
-
return closedIntegrity(config, gate.cause, failPolicy);
|
|
397
|
+
return closedIntegrity(config, gate.cause, failPolicy, fctx, redacted, detection.artifacts);
|
|
331
398
|
}
|
|
332
399
|
if (gate.verdict === 'block-strict') {
|
|
333
400
|
// A real (or stricter-reconciled) BLOCK / REQUIRE_APPROVAL — clean block; the factory never runs.
|
|
401
|
+
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
334
402
|
return gate.decision === 'BLOCK'
|
|
335
|
-
? blocked({ kind: 'BLOCK', action: 'STOP', envelope, receiptVerified }, true)
|
|
336
|
-
: blocked({ kind: 'APPROVAL', action: 'REQUEST_APPROVAL', envelope, receiptVerified }, true);
|
|
403
|
+
? blocked({ kind: 'BLOCK', action: 'STOP', envelope, receiptVerified }, true, basis)
|
|
404
|
+
: blocked({ kind: 'APPROVAL', action: 'REQUEST_APPROVAL', envelope, receiptVerified }, true, basis);
|
|
337
405
|
}
|
|
338
406
|
const kind = gate.kind; // 'ALLOW' | 'MONITOR' — allow-class, safe, non-degraded, artifact-bound.
|
|
339
407
|
// An expired decision cannot be honored fresh => closed (integrity: wrong-time state).
|
|
340
408
|
if (expired) {
|
|
341
409
|
breakerRecord(config);
|
|
342
|
-
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy);
|
|
410
|
+
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, redacted, detection.artifacts);
|
|
343
411
|
}
|
|
344
412
|
// MONITOR gate: host must ASSERT monitoring is wired (monitoringSinkWired === true) AND supply
|
|
345
413
|
// onEvent. Presence of a function alone is not enough — () => {} used to unlock this gate while
|
|
@@ -353,34 +421,42 @@ async function guardToolCall(call, executeFactory, config) {
|
|
|
353
421
|
else
|
|
354
422
|
emit(config, { type: 'monitoring_unwired', at: iso(), decisionId: envelope.decision_id });
|
|
355
423
|
}
|
|
424
|
+
// Freshness re-check immediately before any execution (ACTIVE assessment uses preflight befores).
|
|
425
|
+
const { basis: freshBasis, blockCause: freshBlock } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
426
|
+
if (freshBlock === 'FRESHNESS_REQUIRED' || freshBlock === 'FRESHNESS_FAILED') {
|
|
427
|
+
breakerRecord(config);
|
|
428
|
+
return closedIntegrity(config, freshBlock, failPolicy, fctx, redacted, detection.artifacts);
|
|
429
|
+
}
|
|
356
430
|
// observeOnly is an EXPLICIT report-only opt-in: execute but never enforce (the one sanctioned
|
|
357
431
|
// unenforced-execution mode alongside failPolicy=open; both are documented opt-ins, not the default).
|
|
358
432
|
if (config.observeOnly) {
|
|
359
|
-
emit(config, { type: 'observe_only_passthrough', at: iso(), action:
|
|
433
|
+
emit(config, { type: 'observe_only_passthrough', at: iso(), action: closedAction });
|
|
360
434
|
const verdict = kind === 'ALLOW'
|
|
361
435
|
? { kind: 'ALLOW', action: 'CONTINUE', envelope, receiptVerified }
|
|
362
436
|
: { kind: 'MONITOR', action: 'CONTINUE_WITH_MONITORING', envelope, receiptVerified };
|
|
363
|
-
return runUnenforced(config, executeFactory, envelope, verdict, true, redacted);
|
|
437
|
+
return runUnenforced(config, executeFactory, envelope, verdict, true, redacted, freshBasis);
|
|
364
438
|
}
|
|
365
439
|
// ── enforced ⟺ executed INVARIANT (contract-triggering path): execute ONLY when we can ENFORCE. ──
|
|
366
440
|
// enforceable = a bound-verified receipt AND (MONITOR) a wired sink. Anything else FAILS CLOSED —
|
|
367
441
|
// the guard NEVER runs the factory unenforced on a contract change. Closes CE-EP-06 (no receipt),
|
|
368
442
|
// CE-EP-08 (verifyReceipts:false), CE-CC-04 (MONITOR without a monitoring sink).
|
|
443
|
+
// Freshness is an additional conjunct when ACTIVE / requireFreshness — already applied above.
|
|
369
444
|
const enforceable = receiptVerified && (kind === 'ALLOW' || sinkWired);
|
|
370
445
|
if (enforceable) {
|
|
371
446
|
const approved = kind === 'ALLOW'
|
|
372
447
|
? { kind: 'ALLOW', action: 'CONTINUE', envelope, receiptVerified: true }
|
|
373
448
|
: { kind: 'MONITOR', action: 'CONTINUE_WITH_MONITORING', envelope, receiptVerified: true };
|
|
374
|
-
return runEnforced(config, executeFactory, approved, redacted);
|
|
449
|
+
return runEnforced(config, executeFactory, approved, redacted, freshBasis);
|
|
375
450
|
}
|
|
376
451
|
breakerRecord(config);
|
|
377
|
-
return closedIntegrity(config, receiptVerified ? 'MONITORING_UNWIRED' : 'RECEIPT_MISSING', failPolicy);
|
|
452
|
+
return closedIntegrity(config, receiptVerified ? 'MONITORING_UNWIRED' : 'RECEIPT_MISSING', failPolicy, fctx, redacted, detection.artifacts);
|
|
378
453
|
}
|
|
379
|
-
function closedIntegrity(config, cause, failPolicy) {
|
|
454
|
+
function closedIntegrity(config, cause, failPolicy, fctx, redacted, arts) {
|
|
380
455
|
const count = (breakers.get(config)?.fails.length) ?? 1;
|
|
381
456
|
emit(config, { type: 'breaker_tripped', at: iso(), cause });
|
|
382
457
|
const v = unavailableVerdict({ cause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
383
|
-
|
|
458
|
+
const { basis } = freshnessFor(config, redacted, fctx, arts);
|
|
459
|
+
return blocked(v, false, basis);
|
|
384
460
|
}
|
|
385
461
|
function isExpired(envelope) {
|
|
386
462
|
const exp = envelope.expires_at;
|
package/dist/cjs/guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -29,11 +29,15 @@ export { verifyReceiptChainLinkage, previousReceiptCommitment, decodeReceiptBody
|
|
|
29
29
|
export type { ReceiptChainLinkageResult, ReceiptChainLinkageReason, } from './receipt-chain.js';
|
|
30
30
|
export { evaluateEnvelope, computeArtifactDigest, computeBundleFingerprint } from './enforcement-gate.js';
|
|
31
31
|
export type { GateResult } from './enforcement-gate.js';
|
|
32
|
-
export { readDecision } from '
|
|
32
|
+
export { readDecision } from './read-decision.js';
|
|
33
|
+
export type { ReadDecisionResult, ReadDecisionReason } from './read-decision.js';
|
|
33
34
|
export { SessionTaintTracker, SESSION_TAINT_VERSION, updateSession, evaluate, computeTainted, emptySessionState, projectState, classifyCommand, pathClass, deriveKeySignal, } from './session-taint.js';
|
|
34
35
|
export type { SessionState, SessionTaintConfig, SessionTaintObservation, SessionEval, PendingRename, PathClass, CmdClass, } from './session-taint.js';
|
|
35
|
-
export type { ReceiptVerifiedEnvelope, GuardConfig, ToolCallDescriptor, ExecuteFactory, ApprovedVerdict, GuardOutcome, GuardVerdict, UnavailableVerdict, AvailabilityCause, IntegrityCause, UnavailableCause, TriggerDetector, LkgStore, GuardEvent, CodeRifts, DecisionResultEnvelope, ExecutionAction, Artifact, } from './types.js';
|
|
36
|
-
export {
|
|
36
|
+
export type { ReceiptVerifiedEnvelope, GuardConfig, ToolCallDescriptor, ExecuteFactory, ApprovedVerdict, GuardOutcome, GuardVerdict, UnavailableVerdict, AvailabilityCause, IntegrityCause, UnavailableCause, TriggerDetector, LkgStore, GuardEvent, CodeRifts, DecisionResultEnvelope, ExecutionAction, Artifact, GuardExecutionProof, ExecutionResultHash, } from './types.js';
|
|
37
|
+
export { buildExecutionProof, hashExecutionResult, assertEnforcedReceiptInvariant, EXECUTION_PROOF_SPEC, } from './execution-proof.js';
|
|
38
|
+
export { assessFreshness, assessWriteStylePrior, contentByteIdentical, computePathSetTreeHash, freshnessAllowsEnforce, isWriteStyleCall, artifactIdsForResolve, collectFreshnessCallContext, buildFreshnessBasis, } from './freshness.js';
|
|
39
|
+
export type { FreshnessOutcome, FreshnessCheckLevel, FreshnessAssessInput, FreshnessAssessResult, WriteStylePriorInput, WriteStylePriorResult, FreshnessWiringState, FreshnessBasis, FreshnessCallContext, PriorContentResolver, FreshnessDegradeReason, } from './freshness.js';
|
|
40
|
+
export { resolve as resolveArtifacts, classifyByName, blobMapKey } from './artifact-resolver.js';
|
|
37
41
|
export type { ResolveInput, ResolveConfig, ResolveResult, ResolvedArtifact, ResolveCoverage, UnresolvedEntry, UnresolvedReason, BlobValue, SsotSelection, ArtifactType as ResolverArtifactType, } from './artifact-resolver.js';
|
|
38
42
|
export { matchGlob, globToRegExp } from './resolver-glob.js';
|
|
39
43
|
export { guardToolRegistry, RegistryConstructionError } from './tool-registry.js';
|
|
@@ -42,8 +46,10 @@ export { gateDecision } from './merge-gate.js';
|
|
|
42
46
|
export type { GateDecisionInput, GateDecision, ReceiptView, RequiredContext, ProtectionState, GateReason, GateStatusState, EnforcementState, } from './merge-gate.js';
|
|
43
47
|
export { deployGate } from './deploy-gate.js';
|
|
44
48
|
export type { DeployGateInput, DeployGateDecision, DeployReceiptView, DeployRequiredContext, DeployEnforcementState, DeployTarget, DeployGateReason, } from './deploy-gate.js';
|
|
49
|
+
export { bindDeploy, DEPLOY_REPAIRABLE_REASONS } from './deploy-bind.js';
|
|
50
|
+
export type { BindDeployInput, BindDeployResult, HostAssertedEnvironment, } from './deploy-bind.js';
|
|
45
51
|
export { coverageReport } from './coverage-report.js';
|
|
46
52
|
export type { CoverageReportInput, CoverageReport, Applicability, PlacementId, PlacementStrength, OverallCoverage, HonestClaimKey, PerPlacementRow, RuntimePlacementInput, MergePlacementInput, DeployPlacementInput, ContentPlacementInput, } from './coverage-report.js';
|
|
47
53
|
export { withCodeRifts, foldTableSettledCalls, guardedFractionAmongRoutes, } from './with-coderifts.js';
|
|
48
|
-
export type { WithCodeRiftsInput, WithCodeRiftsResult, WithCodeRiftsRegistryConfig, CompositionAssurance, SettledCallObservation, CallRoute, CallTerminal, TableSettledCallRouteCounts, } from './with-coderifts.js';
|
|
54
|
+
export type { WithCodeRiftsInput, WithCodeRiftsResult, WithCodeRiftsRegistryConfig, CompositionAssurance, SettledCallObservation, CallRoute, CallTerminal, TableSettledCallRouteCounts, ReceiptThreadHandle, ReceiptCursorSkipReason, } from './with-coderifts.js';
|
|
49
55
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.withCodeRifts = exports.coverageReport = exports.DEPLOY_REPAIRABLE_REASONS = exports.bindDeploy = exports.deployGate = exports.gateDecision = exports.RegistryConstructionError = exports.guardToolRegistry = exports.globToRegExp = exports.matchGlob = exports.blobMapKey = exports.classifyByName = exports.resolveArtifacts = exports.buildFreshnessBasis = exports.collectFreshnessCallContext = exports.artifactIdsForResolve = exports.isWriteStyleCall = exports.freshnessAllowsEnforce = exports.computePathSetTreeHash = exports.contentByteIdentical = exports.assessWriteStylePrior = exports.assessFreshness = exports.EXECUTION_PROOF_SPEC = exports.assertEnforcedReceiptInvariant = exports.hashExecutionResult = exports.buildExecutionProof = 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.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
|
+
exports.guardedFractionAmongRoutes = exports.foldTableSettledCalls = void 0;
|
|
27
28
|
var guard_js_1 = require("./guard.js");
|
|
28
29
|
Object.defineProperty(exports, "guardToolCall", { enumerable: true, get: function () { return guard_js_1.guardToolCall; } });
|
|
29
30
|
var detector_js_1 = require("./detector.js");
|
|
@@ -46,8 +47,10 @@ var enforcement_gate_js_1 = require("./enforcement-gate.js");
|
|
|
46
47
|
Object.defineProperty(exports, "evaluateEnvelope", { enumerable: true, get: function () { return enforcement_gate_js_1.evaluateEnvelope; } });
|
|
47
48
|
Object.defineProperty(exports, "computeArtifactDigest", { enumerable: true, get: function () { return enforcement_gate_js_1.computeArtifactDigest; } });
|
|
48
49
|
Object.defineProperty(exports, "computeBundleFingerprint", { enumerable: true, get: function () { return enforcement_gate_js_1.computeBundleFingerprint; } });
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
// Guard-local readDecision: present-but-unrecognised execution_action does NOT fall through to
|
|
51
|
+
// the decision map (SDK ladder did — that reinvented permission). Missing action still maps.
|
|
52
|
+
var read_decision_js_1 = require("./read-decision.js");
|
|
53
|
+
Object.defineProperty(exports, "readDecision", { enumerable: true, get: function () { return read_decision_js_1.readDecision; } });
|
|
51
54
|
// Additive session-taint surface (SEPARATE from the frozen single-call detector; own version).
|
|
52
55
|
var session_taint_js_1 = require("./session-taint.js");
|
|
53
56
|
Object.defineProperty(exports, "SessionTaintTracker", { enumerable: true, get: function () { return session_taint_js_1.SessionTaintTracker; } });
|
|
@@ -60,11 +63,29 @@ Object.defineProperty(exports, "projectState", { enumerable: true, get: function
|
|
|
60
63
|
Object.defineProperty(exports, "classifyCommand", { enumerable: true, get: function () { return session_taint_js_1.classifyCommand; } });
|
|
61
64
|
Object.defineProperty(exports, "pathClass", { enumerable: true, get: function () { return session_taint_js_1.pathClass; } });
|
|
62
65
|
Object.defineProperty(exports, "deriveKeySignal", { enumerable: true, get: function () { return session_taint_js_1.deriveKeySignal; } });
|
|
66
|
+
// Guard-produced execution proof (assembled from observed state only; never caller-supplied).
|
|
67
|
+
var execution_proof_js_1 = require("./execution-proof.js");
|
|
68
|
+
Object.defineProperty(exports, "buildExecutionProof", { enumerable: true, get: function () { return execution_proof_js_1.buildExecutionProof; } });
|
|
69
|
+
Object.defineProperty(exports, "hashExecutionResult", { enumerable: true, get: function () { return execution_proof_js_1.hashExecutionResult; } });
|
|
70
|
+
Object.defineProperty(exports, "assertEnforcedReceiptInvariant", { enumerable: true, get: function () { return execution_proof_js_1.assertEnforcedReceiptInvariant; } });
|
|
71
|
+
Object.defineProperty(exports, "EXECUTION_PROOF_SPEC", { enumerable: true, get: function () { return execution_proof_js_1.EXECUTION_PROOF_SPEC; } });
|
|
72
|
+
// Freshness: pure assess + runner collect (values into guardToolCall). Opt-in resolvePriorContent.
|
|
73
|
+
var freshness_js_1 = require("./freshness.js");
|
|
74
|
+
Object.defineProperty(exports, "assessFreshness", { enumerable: true, get: function () { return freshness_js_1.assessFreshness; } });
|
|
75
|
+
Object.defineProperty(exports, "assessWriteStylePrior", { enumerable: true, get: function () { return freshness_js_1.assessWriteStylePrior; } });
|
|
76
|
+
Object.defineProperty(exports, "contentByteIdentical", { enumerable: true, get: function () { return freshness_js_1.contentByteIdentical; } });
|
|
77
|
+
Object.defineProperty(exports, "computePathSetTreeHash", { enumerable: true, get: function () { return freshness_js_1.computePathSetTreeHash; } });
|
|
78
|
+
Object.defineProperty(exports, "freshnessAllowsEnforce", { enumerable: true, get: function () { return freshness_js_1.freshnessAllowsEnforce; } });
|
|
79
|
+
Object.defineProperty(exports, "isWriteStyleCall", { enumerable: true, get: function () { return freshness_js_1.isWriteStyleCall; } });
|
|
80
|
+
Object.defineProperty(exports, "artifactIdsForResolve", { enumerable: true, get: function () { return freshness_js_1.artifactIdsForResolve; } });
|
|
81
|
+
Object.defineProperty(exports, "collectFreshnessCallContext", { enumerable: true, get: function () { return freshness_js_1.collectFreshnessCallContext; } });
|
|
82
|
+
Object.defineProperty(exports, "buildFreshnessBasis", { enumerable: true, get: function () { return freshness_js_1.buildFreshnessBasis; } });
|
|
63
83
|
// artifactResolver — automatic base/head contract artifacts from a pure git snapshot (upstream of
|
|
64
84
|
// preflight; produces artifacts, never decides). Companion to MISSING_ARTIFACT_CONTENT.
|
|
65
85
|
var artifact_resolver_js_1 = require("./artifact-resolver.js");
|
|
66
86
|
Object.defineProperty(exports, "resolveArtifacts", { enumerable: true, get: function () { return artifact_resolver_js_1.resolve; } });
|
|
67
87
|
Object.defineProperty(exports, "classifyByName", { enumerable: true, get: function () { return artifact_resolver_js_1.classifyByName; } });
|
|
88
|
+
Object.defineProperty(exports, "blobMapKey", { enumerable: true, get: function () { return artifact_resolver_js_1.blobMapKey; } });
|
|
68
89
|
var resolver_glob_js_1 = require("./resolver-glob.js");
|
|
69
90
|
Object.defineProperty(exports, "matchGlob", { enumerable: true, get: function () { return resolver_glob_js_1.matchGlob; } });
|
|
70
91
|
Object.defineProperty(exports, "globToRegExp", { enumerable: true, get: function () { return resolver_glob_js_1.globToRegExp; } });
|
|
@@ -78,6 +99,10 @@ Object.defineProperty(exports, "gateDecision", { enumerable: true, get: function
|
|
|
78
99
|
// deploy-gate (#8) — the PURE deploy authorization decision. No I/O; pipeline enforcement is input.
|
|
79
100
|
var deploy_gate_js_1 = require("./deploy-gate.js");
|
|
80
101
|
Object.defineProperty(exports, "deployGate", { enumerable: true, get: function () { return deploy_gate_js_1.deployGate; } });
|
|
102
|
+
// bindDeploy — pure deploy-TIME caller over deployGate (host asserts env; pipeline action not observed).
|
|
103
|
+
var deploy_bind_js_1 = require("./deploy-bind.js");
|
|
104
|
+
Object.defineProperty(exports, "bindDeploy", { enumerable: true, get: function () { return deploy_bind_js_1.bindDeploy; } });
|
|
105
|
+
Object.defineProperty(exports, "DEPLOY_REPAIRABLE_REASONS", { enumerable: true, get: function () { return deploy_bind_js_1.DEPLOY_REPAIRABLE_REASONS; } });
|
|
81
106
|
// enforcement-coverage report (#9) — the PURE tetrad aggregator. No I/O; reads the primitives' states.
|
|
82
107
|
var coverage_report_js_1 = require("./coverage-report.js");
|
|
83
108
|
Object.defineProperty(exports, "coverageReport", { enumerable: true, get: function () { return coverage_report_js_1.coverageReport; } });
|
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":";AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;;;;AAEH,uCAA2C;AAAlC,yGAAA,aAAa,OAAA;AACtB,6CAAkE;AAAzD,8GAAA,eAAe,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAC1C,2FAA2F;AAC3F,2DAA6F;AAApF,2HAAA,qBAAqB,OAAA;AAAE,qHAAA,eAAe,OAAA;AAAE,mHAAA,aAAa,OAAA;AAE9D,wGAAwG;AACxG,uDAK4B;AAJ1B,6HAAA,yBAAyB,OAAA;AACzB,6HAAA,yBAAyB,OAAA;AACzB,yHAAA,qBAAqB,OAAA;AACrB,qHAAA,iBAAiB,OAAA;AAMnB,sGAAsG;AACtG,+DAA+D;AAC/D,6DAA0G;AAAjG,uHAAA,gBAAgB,OAAA;AAAE,4HAAA,qBAAqB,OAAA;AAAE,+HAAA,wBAAwB,OAAA;AAE1E,+FAA+F;AAC/F,6FAA6F;AAC7F,uDAAkD;AAAzC,gHAAA,YAAY,OAAA;AAErB,+FAA+F;AAC/F,uDAG4B;AAF1B,uHAAA,mBAAmB,OAAA;AAAE,yHAAA,qBAAqB,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAE,4GAAA,QAAQ,OAAA;AAAE,kHAAA,cAAc,OAAA;AACnF,qHAAA,iBAAiB,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,mHAAA,eAAe,OAAA;AAAE,6GAAA,SAAS,OAAA;AAAE,mHAAA,eAAe,OAAA;AA6B9E,8FAA8F;AAC9F,2DAK8B;AAJ5B,yHAAA,mBAAmB,OAAA;AACnB,yHAAA,mBAAmB,OAAA;AACnB,oIAAA,8BAA8B,OAAA;AAC9B,0HAAA,oBAAoB,OAAA;AAGtB,mGAAmG;AACnG,+CAUwB;AATtB,+GAAA,eAAe,OAAA;AACf,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AACpB,sHAAA,sBAAsB,OAAA;AACtB,sHAAA,sBAAsB,OAAA;AACtB,gHAAA,gBAAgB,OAAA;AAChB,qHAAA,qBAAqB,OAAA;AACrB,2HAAA,2BAA2B,OAAA;AAC3B,mHAAA,mBAAmB,OAAA;AAgBrB,kGAAkG;AAClG,wFAAwF;AACxF,+DAAiG;AAAxF,wHAAA,OAAO,OAAoB;AAAE,sHAAA,cAAc,OAAA;AAAE,kHAAA,UAAU,OAAA;AAKhE,uDAA6D;AAApD,6GAAA,SAAS,OAAA;AAAE,gHAAA,YAAY,OAAA;AAEhC,qGAAqG;AACrG,uDAAkF;AAAzE,qHAAA,iBAAiB,OAAA;AAAE,6HAAA,yBAAyB,OAAA;AAarD,uGAAuG;AACvG,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AAMrB,oGAAoG;AACpG,mDAA8C;AAArC,4GAAA,UAAU,OAAA;AAKnB,yGAAyG;AACzG,mDAAyE;AAAhE,4GAAA,UAAU,OAAA;AAAE,2HAAA,yBAAyB,OAAA;AAK9C,uGAAuG;AACvG,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AAOvB,gGAAgG;AAChG,qGAAqG;AACrG,2GAA2G;AAC3G,yDAI6B;AAH3B,kHAAA,aAAa,OAAA;AACb,0HAAA,qBAAqB,OAAA;AACrB,+HAAA,0BAA0B,OAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Decision reading for the guard — envelope-first, fail-closed.
|
|
3
|
+
*
|
|
4
|
+
* Differs from the SDK ladder in one critical respect: a PRESENT execution_action outside the
|
|
5
|
+
* closed set is NOT treated as missing. The SDK falls through to decision→action mapping, which
|
|
6
|
+
* reinvents permission from the decision and makes reconciliation impossible (there is nothing
|
|
7
|
+
* known to reconcile against). Future restrictive actions (e.g. QUARANTINE) would be silently
|
|
8
|
+
* ignored the same way.
|
|
9
|
+
*
|
|
10
|
+
* - PRESENT + closed set → use that action
|
|
11
|
+
* - PRESENT + not closed → halt reason EXECUTION_ACTION_UNRECOGNISED (do not map from decision)
|
|
12
|
+
* - MISSING → legacy decision→action map (unchanged)
|
|
13
|
+
* - nothing readable → STOP + UNREADABLE_DECISION
|
|
14
|
+
*/
|
|
15
|
+
import type { DecisionResultEnvelope, DecisionReceipt, ExecutionAction } from '@coderifts/sdk';
|
|
16
|
+
/** Closed control set — must match well-known recommended_usage.execution_action. */
|
|
17
|
+
declare const CLOSED_ACTIONS: Set<string>;
|
|
18
|
+
/** Pure decision → execution-action map (mirrors the server's deriveExecutionAction). Missing-action only. */
|
|
19
|
+
declare const DECISION_TO_ACTION: Record<string, ExecutionAction>;
|
|
20
|
+
export type ReadDecisionReason = 'UNREADABLE_DECISION' | 'EXECUTION_ACTION_UNRECOGNISED';
|
|
21
|
+
export interface ReadDecisionResult {
|
|
22
|
+
/**
|
|
23
|
+
* Action to honour when known. On EXECUTION_ACTION_UNRECOGNISED this is the raw present string
|
|
24
|
+
* (when string-typed) so callers can distinguish it from a mapped STOP — never invent CONTINUE.
|
|
25
|
+
* On UNREADABLE_DECISION this is STOP.
|
|
26
|
+
*/
|
|
27
|
+
executionAction: ExecutionAction | string;
|
|
28
|
+
decision: string | null;
|
|
29
|
+
envelope?: DecisionResultEnvelope;
|
|
30
|
+
receipt?: DecisionReceipt;
|
|
31
|
+
reason?: ReadDecisionReason;
|
|
32
|
+
}
|
|
33
|
+
declare function isClosedAction(v: unknown): v is ExecutionAction;
|
|
34
|
+
/** Absent / empty — nothing to read (legacy map may apply). null/undefined/'' only. */
|
|
35
|
+
declare function isMissingAction(v: unknown): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Classify a field value. A non-empty value outside the closed set is PRESENT unknown —
|
|
38
|
+
* including wrong types (number/object). That is not the same fact as missing.
|
|
39
|
+
*/
|
|
40
|
+
declare function classifyAction(v: unknown): 'missing' | 'known' | 'unknown';
|
|
41
|
+
/**
|
|
42
|
+
* Read a governance decision from ANY CodeRifts response, fail-closed.
|
|
43
|
+
* Never throws.
|
|
44
|
+
*/
|
|
45
|
+
export declare function readDecision(response: unknown): ReadDecisionResult;
|
|
46
|
+
export { CLOSED_ACTIONS, DECISION_TO_ACTION, isClosedAction, isMissingAction, classifyAction };
|
|
47
|
+
//# sourceMappingURL=read-decision.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-decision.d.ts","sourceRoot":"","sources":["../../src/read-decision.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE/F,qFAAqF;AACrF,QAAA,MAAM,cAAc,aAKlB,CAAC;AAEH,8GAA8G;AAC9G,QAAA,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAKvD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,qBAAqB,GACrB,+BAA+B,CAAC;AAEpC,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,eAAe,EAAE,eAAe,GAAG,MAAM,CAAC;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED,iBAAS,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAExD;AAED,uFAAuF;AACvF,iBAAS,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAE5C;AAED;;;GAGG;AACH,iBAAS,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAInE;AAkBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,CA0FlE;AAED,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
|