@coderifts/agent-guard 4.0.0 → 4.2.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 +8 -0
- package/dist/cjs/conditional-write.d.ts +92 -0
- package/dist/cjs/conditional-write.d.ts.map +1 -0
- package/dist/cjs/conditional-write.js +96 -0
- package/dist/cjs/conditional-write.js.map +1 -0
- package/dist/cjs/coverage-report.d.ts +10 -0
- package/dist/cjs/coverage-report.d.ts.map +1 -1
- package/dist/cjs/coverage-report.js +11 -0
- package/dist/cjs/coverage-report.js.map +1 -1
- package/dist/cjs/execution-proof.d.ts +13 -0
- package/dist/cjs/execution-proof.d.ts.map +1 -1
- package/dist/cjs/execution-proof.js +11 -0
- package/dist/cjs/execution-proof.js.map +1 -1
- package/dist/cjs/guard.d.ts +5 -4
- package/dist/cjs/guard.d.ts.map +1 -1
- package/dist/cjs/guard.js +110 -43
- package/dist/cjs/guard.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types.d.ts +21 -2
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.d.ts +6 -0
- package/dist/cjs/with-coderifts.d.ts.map +1 -1
- package/dist/cjs/with-coderifts.js +8 -0
- package/dist/cjs/with-coderifts.js.map +1 -1
- package/dist/esm/conditional-write.d.ts +92 -0
- package/dist/esm/conditional-write.d.ts.map +1 -0
- package/dist/esm/conditional-write.js +91 -0
- package/dist/esm/conditional-write.js.map +1 -0
- package/dist/esm/coverage-report.d.ts +10 -0
- package/dist/esm/coverage-report.d.ts.map +1 -1
- package/dist/esm/coverage-report.js +11 -0
- package/dist/esm/coverage-report.js.map +1 -1
- package/dist/esm/execution-proof.d.ts +13 -0
- package/dist/esm/execution-proof.d.ts.map +1 -1
- package/dist/esm/execution-proof.js +11 -0
- package/dist/esm/execution-proof.js.map +1 -1
- package/dist/esm/guard.d.ts +5 -4
- package/dist/esm/guard.d.ts.map +1 -1
- package/dist/esm/guard.js +110 -43
- package/dist/esm/guard.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types.d.ts +21 -2
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/with-coderifts.d.ts +6 -0
- package/dist/esm/with-coderifts.d.ts.map +1 -1
- package/dist/esm/with-coderifts.js +8 -0
- package/dist/esm/with-coderifts.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/guard.js
CHANGED
|
@@ -14,6 +14,7 @@ import { bindReceiptToEnvelope } from './receipt-binding.js';
|
|
|
14
14
|
import { evaluateEnvelope } from './enforcement-gate.js';
|
|
15
15
|
import { buildExecutionProof } from './execution-proof.js';
|
|
16
16
|
import { buildFreshnessBasis, isWriteStyleCall, } from './freshness.js';
|
|
17
|
+
import { buildConditionalWriteBasis, } from './conditional-write.js';
|
|
17
18
|
// Per-config breaker state (time-window; not consecutive).
|
|
18
19
|
const breakers = new WeakMap();
|
|
19
20
|
const nowMs = () => Date.now();
|
|
@@ -151,37 +152,61 @@ async function verifyEnvelope(config, envelope) {
|
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
154
|
// ── Outcome builders (keep the discriminated union satisfied) ────────────────────
|
|
154
|
-
// Every path attaches
|
|
155
|
-
|
|
156
|
-
async function runEnforced(config, factory, approved, redacted, freshness) {
|
|
155
|
+
// Every path attaches proof + freshness + conditional_write bases (guard-produced only).
|
|
156
|
+
async function runEnforced(config, factory, approved, redacted, freshness, conditional_write) {
|
|
157
157
|
emit(config, { type: 'execution_started', at: iso(), action: approved.action, decisionId: approved.envelope.decision_id });
|
|
158
158
|
try {
|
|
159
159
|
const result = await factory(approved.envelope, redacted);
|
|
160
160
|
const base = { executionAttempted: true, executed: true, enforced: true, result, verdict: approved, preflighted: true };
|
|
161
|
-
return {
|
|
161
|
+
return {
|
|
162
|
+
...base,
|
|
163
|
+
proof: buildExecutionProof({ ...base, conditionalWriteBasis: conditional_write }),
|
|
164
|
+
freshness,
|
|
165
|
+
conditional_write,
|
|
166
|
+
};
|
|
162
167
|
}
|
|
163
168
|
catch (error) {
|
|
164
169
|
emit(config, { type: 'factory_error', at: iso(), action: approved.action });
|
|
165
170
|
const base = { executionAttempted: true, executed: false, enforced: true, error, verdict: approved, preflighted: true };
|
|
166
|
-
return {
|
|
171
|
+
return {
|
|
172
|
+
...base,
|
|
173
|
+
proof: buildExecutionProof({ ...base, conditionalWriteBasis: conditional_write }),
|
|
174
|
+
freshness,
|
|
175
|
+
conditional_write,
|
|
176
|
+
};
|
|
167
177
|
}
|
|
168
178
|
}
|
|
169
|
-
async function runUnenforced(config, factory, envelope, verdict, preflighted, redacted, freshness) {
|
|
179
|
+
async function runUnenforced(config, factory, envelope, verdict, preflighted, redacted, freshness, conditional_write) {
|
|
170
180
|
emit(config, { type: 'execution_started', at: iso() });
|
|
171
181
|
try {
|
|
172
182
|
const result = await factory(envelope, redacted);
|
|
173
183
|
const base = { executionAttempted: true, executed: true, enforced: false, result, verdict, preflighted };
|
|
174
|
-
return {
|
|
184
|
+
return {
|
|
185
|
+
...base,
|
|
186
|
+
proof: buildExecutionProof({ ...base, conditionalWriteBasis: conditional_write }),
|
|
187
|
+
freshness,
|
|
188
|
+
conditional_write,
|
|
189
|
+
};
|
|
175
190
|
}
|
|
176
191
|
catch (error) {
|
|
177
192
|
emit(config, { type: 'factory_error', at: iso() });
|
|
178
193
|
const base = { executionAttempted: true, executed: false, enforced: false, error, verdict, preflighted };
|
|
179
|
-
return {
|
|
194
|
+
return {
|
|
195
|
+
...base,
|
|
196
|
+
proof: buildExecutionProof({ ...base, conditionalWriteBasis: conditional_write }),
|
|
197
|
+
freshness,
|
|
198
|
+
conditional_write,
|
|
199
|
+
};
|
|
180
200
|
}
|
|
181
201
|
}
|
|
182
|
-
function blocked(verdict, preflighted, freshness) {
|
|
202
|
+
function blocked(verdict, preflighted, freshness, conditional_write) {
|
|
183
203
|
const base = { executionAttempted: false, executed: false, enforced: false, verdict, preflighted };
|
|
184
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
...base,
|
|
206
|
+
proof: buildExecutionProof({ ...base, conditionalWriteBasis: conditional_write }),
|
|
207
|
+
freshness,
|
|
208
|
+
conditional_write,
|
|
209
|
+
};
|
|
185
210
|
}
|
|
186
211
|
function preflightBeforeByIdFrom(arts) {
|
|
187
212
|
const out = {};
|
|
@@ -203,6 +228,31 @@ function freshnessFor(config, redacted, ctx, preflightArts) {
|
|
|
203
228
|
allowStaleContext: config.allowStaleContext,
|
|
204
229
|
});
|
|
205
230
|
}
|
|
231
|
+
function conditionalWriteFor(config, redacted, ctx) {
|
|
232
|
+
return buildConditionalWriteBasis({
|
|
233
|
+
writeStyle: isWriteStyleCall(redacted),
|
|
234
|
+
requireConditionalWrite: config.requireConditionalWrite === true,
|
|
235
|
+
ctx,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/** Split legacy FreshnessCallContext 4th arg from optional conditional-write host report fields. */
|
|
239
|
+
function splitCallContext(callContext) {
|
|
240
|
+
if (!callContext || typeof callContext !== 'object') {
|
|
241
|
+
return { fctx: { wiring: 'NOT_CONFIGURED' }, cwctx: {} };
|
|
242
|
+
}
|
|
243
|
+
const { conditional_write, conditioned_on_token, versioned_content, wiring, priorResolved, degrade, } = callContext;
|
|
244
|
+
const fctx = {
|
|
245
|
+
wiring: wiring ?? 'NOT_CONFIGURED',
|
|
246
|
+
...(priorResolved !== undefined ? { priorResolved } : {}),
|
|
247
|
+
...(degrade !== undefined ? { degrade } : {}),
|
|
248
|
+
};
|
|
249
|
+
const cwctx = {
|
|
250
|
+
...(conditional_write !== undefined ? { conditional_write } : {}),
|
|
251
|
+
...(conditioned_on_token !== undefined ? { conditioned_on_token } : {}),
|
|
252
|
+
...(versioned_content !== undefined ? { versioned_content } : {}),
|
|
253
|
+
};
|
|
254
|
+
return { fctx, cwctx };
|
|
255
|
+
}
|
|
206
256
|
/**
|
|
207
257
|
* True iff at least one supplied artifact carries analyzable before/after content. A preflight
|
|
208
258
|
* trigger with no such content cannot be analyzed by the server (an empty list comes back as an
|
|
@@ -224,14 +274,13 @@ function unavailableVerdict(parts, count) {
|
|
|
224
274
|
return { kind: 'UNAVAILABLE', decisionMissing: true, unavailableCount: count, ...parts };
|
|
225
275
|
}
|
|
226
276
|
/**
|
|
227
|
-
* @param callContext Runner-collected freshness values (optional)
|
|
228
|
-
*
|
|
229
|
-
* calls collectFreshnessCallContext and passes the result
|
|
277
|
+
* @param callContext Runner-collected freshness values (optional) plus optional conditional-write
|
|
278
|
+
* host report fields. When omitted, freshness wiring is NOT_CONFIGURED and conditional_write is
|
|
279
|
+
* not_reported. The tool-registry runner calls collectFreshnessCallContext and passes the result.
|
|
230
280
|
*/
|
|
231
281
|
export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
232
282
|
const failPolicy = config.failPolicy ?? 'closed';
|
|
233
|
-
|
|
234
|
-
const fctx = callContext ?? { wiring: 'NOT_CONFIGURED' };
|
|
283
|
+
const { fctx, cwctx } = splitCallContext(callContext);
|
|
235
284
|
// 12. redactor runs FIRST; everything downstream uses the redacted descriptor.
|
|
236
285
|
let redacted;
|
|
237
286
|
try {
|
|
@@ -240,7 +289,7 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
240
289
|
catch {
|
|
241
290
|
// A redactor throw is a CONFIG_ERROR (integrity) => closed.
|
|
242
291
|
breakerRecord(config);
|
|
243
|
-
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, call);
|
|
292
|
+
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, cwctx, call);
|
|
244
293
|
}
|
|
245
294
|
const inputFp = fingerprint(redacted); // used for LKG lookup (dormant in v1)
|
|
246
295
|
// 8/9. detector is fail-safe but a THROW is a DETECTOR_ERROR (integrity) => closed.
|
|
@@ -251,7 +300,7 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
251
300
|
}
|
|
252
301
|
catch {
|
|
253
302
|
breakerRecord(config);
|
|
254
|
-
return closedIntegrity(config, 'DETECTOR_ERROR', failPolicy, fctx, redacted);
|
|
303
|
+
return closedIntegrity(config, 'DETECTOR_ERROR', failPolicy, fctx, cwctx, redacted);
|
|
255
304
|
}
|
|
256
305
|
// requireExplicitArtifacts strict SKIP gate: suppress only when nonContract===true AND no signal.
|
|
257
306
|
const suppressedByStrict = config.requireExplicitArtifacts === true && redacted.nonContract === true
|
|
@@ -261,19 +310,27 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
261
310
|
emit(config, { type: 'detection_skip', at: iso(), signals: detection.signals, detectorVersion: detector.version });
|
|
262
311
|
const verdict = { kind: 'SKIPPED', reason: 'NOT_A_CONTRACT_CALL', signals: detection.signals, detectorVersion: detector.version };
|
|
263
312
|
const { basis } = freshnessFor(config, redacted, fctx);
|
|
264
|
-
|
|
313
|
+
const { basis: cwBasis } = conditionalWriteFor(config, redacted, cwctx);
|
|
314
|
+
return runUnenforced(config, executeFactory, null, verdict, false, redacted, basis, cwBasis);
|
|
265
315
|
}
|
|
266
316
|
// Freshness permission gate for write-style under requireFreshness / DEGRADED (before preflight I/O).
|
|
267
317
|
{
|
|
268
318
|
const arts = (detection.artifacts && detection.artifacts.length > 0)
|
|
269
319
|
? detection.artifacts
|
|
270
320
|
: redacted.artifacts;
|
|
271
|
-
const {
|
|
321
|
+
const { blockCause } = freshnessFor(config, redacted, fctx, arts);
|
|
272
322
|
if (blockCause === 'FRESHNESS_REQUIRED' || blockCause === 'FRESHNESS_FAILED') {
|
|
273
323
|
breakerRecord(config);
|
|
274
|
-
return closedIntegrity(config, blockCause, failPolicy, fctx, redacted, arts);
|
|
324
|
+
return closedIntegrity(config, blockCause, failPolicy, fctx, cwctx, redacted, arts);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
// Conditional-write policy (requireConditionalWrite): write without host report true → refuse.
|
|
328
|
+
{
|
|
329
|
+
const { blockCause } = conditionalWriteFor(config, redacted, cwctx);
|
|
330
|
+
if (blockCause === 'CONDITIONAL_WRITE_REQUIRED') {
|
|
331
|
+
breakerRecord(config);
|
|
332
|
+
return closedIntegrity(config, blockCause, failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
275
333
|
}
|
|
276
|
-
// basis retained via freshnessFor on later paths
|
|
277
334
|
}
|
|
278
335
|
// MISSING_ARTIFACT_CONTENT — developer-adoption fail-closed (audit #1). The detector says a contract
|
|
279
336
|
// change is happening (trigger:true) but the caller supplied NO analyzable content: no artifacts, or
|
|
@@ -288,12 +345,13 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
288
345
|
const count = (breakers.get(config)?.fails.length) ?? 0;
|
|
289
346
|
const v = unavailableVerdict({ cause: 'MISSING_ARTIFACT_CONTENT', failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
290
347
|
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
291
|
-
|
|
348
|
+
const { basis: cw } = conditionalWriteFor(config, redacted, cwctx);
|
|
349
|
+
return blocked(v, false, basis, cw);
|
|
292
350
|
}
|
|
293
351
|
// config validation: lkg policy requires an LkgStore.
|
|
294
352
|
if (failPolicy === 'lkg' && !config.lkg) {
|
|
295
353
|
breakerRecord(config);
|
|
296
|
-
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, redacted, detection.artifacts);
|
|
354
|
+
return closedIntegrity(config, 'CONFIG_ERROR', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
297
355
|
}
|
|
298
356
|
// build the preflight request from the detected artifacts.
|
|
299
357
|
// previous_receipt: host-supplied only (GuardConfig.previousReceipt). Never hardcoded-undefined
|
|
@@ -309,7 +367,7 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
309
367
|
const cap = config.maxPayloadBytes ?? 1_000_000;
|
|
310
368
|
if (Buffer.byteLength(JSON.stringify(request), 'utf8') > cap) {
|
|
311
369
|
breakerRecord(config);
|
|
312
|
-
return closedIntegrity(config, 'PAYLOAD_TOO_LARGE', failPolicy, fctx, redacted, detection.artifacts);
|
|
370
|
+
return closedIntegrity(config, 'PAYLOAD_TOO_LARGE', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
313
371
|
}
|
|
314
372
|
emit(config, { type: 'preflight_start', at: iso() });
|
|
315
373
|
const pf = await preflightWithRetry(config, request);
|
|
@@ -318,31 +376,32 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
318
376
|
breakerRecord(config);
|
|
319
377
|
const count = (breakers.get(config)?.fails.length) ?? 1;
|
|
320
378
|
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
379
|
+
const { basis: cw } = conditionalWriteFor(config, redacted, cwctx);
|
|
321
380
|
if (pf.integrity) {
|
|
322
381
|
emit(config, { type: 'breaker_tripped', at: iso(), cause: pf.cause });
|
|
323
382
|
const v = unavailableVerdict({ cause: pf.cause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
324
|
-
return blocked(v, false, basis);
|
|
383
|
+
return blocked(v, false, basis, cw);
|
|
325
384
|
}
|
|
326
385
|
// availability
|
|
327
386
|
const availCause = pf.cause;
|
|
328
387
|
if (failPolicy === 'open' && !breakerTripped(config)) {
|
|
329
388
|
emit(config, { type: 'preflight_unavailable', at: iso(), cause: availCause, action: 'CONTINUE' });
|
|
330
389
|
const v = unavailableVerdict({ cause: availCause, failPolicy: 'open', resolution: 'OPEN_PASSTHROUGH', action: 'CONTINUE' }, count);
|
|
331
|
-
return runUnenforced(config, executeFactory, null, v, false, redacted, basis);
|
|
390
|
+
return runUnenforced(config, executeFactory, null, v, false, redacted, basis, cw);
|
|
332
391
|
}
|
|
333
392
|
if (failPolicy === 'lkg') {
|
|
334
393
|
const lkg = await tryLkg(config, inputFp);
|
|
335
394
|
if (lkg) {
|
|
336
395
|
emit(config, { type: 'preflight_unavailable', at: iso(), cause: availCause, action: lkg.action });
|
|
337
396
|
const v = unavailableVerdict({ cause: availCause, failPolicy: 'lkg', resolution: 'LKG_SUBSTITUTION', action: lkg.action, lkgEnvelope: lkg.envelope }, count);
|
|
338
|
-
return runUnenforced(config, executeFactory, lkg.envelope, v, false, redacted, basis); // LKG NEVER enforces
|
|
397
|
+
return runUnenforced(config, executeFactory, lkg.envelope, v, false, redacted, basis, cw); // LKG NEVER enforces
|
|
339
398
|
}
|
|
340
399
|
// LKG unusable (dormant in v1: binding fields absent) => closed.
|
|
341
400
|
}
|
|
342
401
|
if (breakerTripped(config))
|
|
343
402
|
emit(config, { type: 'breaker_tripped', at: iso(), cause: availCause });
|
|
344
403
|
const v = unavailableVerdict({ cause: availCause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
345
|
-
return blocked(v, false, basis);
|
|
404
|
+
return blocked(v, false, basis, cw);
|
|
346
405
|
}
|
|
347
406
|
// We have a response. Read the decision (envelope-first) and verify the receipt.
|
|
348
407
|
const rd = readDecision(pf.response);
|
|
@@ -350,18 +409,18 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
350
409
|
// (Missing action still maps from decision inside readDecision; that path never sets this reason.)
|
|
351
410
|
if (rd.reason === 'EXECUTION_ACTION_UNRECOGNISED') {
|
|
352
411
|
breakerRecord(config);
|
|
353
|
-
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, redacted, detection.artifacts);
|
|
412
|
+
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
354
413
|
}
|
|
355
414
|
if (rd.reason === 'UNREADABLE_DECISION' || !rd.envelope) {
|
|
356
415
|
// Schema-invalid / no envelope => integrity => closed.
|
|
357
416
|
breakerRecord(config);
|
|
358
|
-
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, redacted, detection.artifacts);
|
|
417
|
+
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
359
418
|
}
|
|
360
419
|
const envelope = rd.envelope;
|
|
361
420
|
// Past unrecognised early-return: action is a closed ExecutionAction (or we treat non-closed as integrity).
|
|
362
421
|
if (!isClosedAction(rd.executionAction)) {
|
|
363
422
|
breakerRecord(config);
|
|
364
|
-
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, redacted, detection.artifacts);
|
|
423
|
+
return closedIntegrity(config, 'EXECUTION_ACTION_UNRECOGNISED', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
365
424
|
}
|
|
366
425
|
const closedAction = rd.executionAction;
|
|
367
426
|
// 5. expiry check before honoring any decision.
|
|
@@ -378,7 +437,7 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
378
437
|
// signature. Both trip the breaker and STOP — the guard NEVER executes off an unbound receipt.
|
|
379
438
|
if (config.verifyReceipts !== false && !receiptVerified && envelope.receipt?.token) {
|
|
380
439
|
breakerRecord(config);
|
|
381
|
-
return closedIntegrity(config, bindResult.cause ?? 'RECEIPT_UNVERIFIED', failPolicy, fctx, redacted, detection.artifacts);
|
|
440
|
+
return closedIntegrity(config, bindResult.cause ?? 'RECEIPT_UNVERIFIED', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
382
441
|
}
|
|
383
442
|
// ── Client-side authorization gate (P0-b/c): mirror §106/§111/§115 before honoring any action. ──
|
|
384
443
|
// Threat model (bounded): without a receipt, fields including execution_action are not
|
|
@@ -391,20 +450,21 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
391
450
|
const gate = evaluateEnvelope(pf.response, envelope, closedAction, detection.artifacts);
|
|
392
451
|
if (gate.verdict === 'fail-closed') {
|
|
393
452
|
breakerRecord(config);
|
|
394
|
-
return closedIntegrity(config, gate.cause, failPolicy, fctx, redacted, detection.artifacts);
|
|
453
|
+
return closedIntegrity(config, gate.cause, failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
395
454
|
}
|
|
396
455
|
if (gate.verdict === 'block-strict') {
|
|
397
456
|
// A real (or stricter-reconciled) BLOCK / REQUIRE_APPROVAL — clean block; the factory never runs.
|
|
398
457
|
const { basis } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
458
|
+
const { basis: cw } = conditionalWriteFor(config, redacted, cwctx);
|
|
399
459
|
return gate.decision === 'BLOCK'
|
|
400
|
-
? blocked({ kind: 'BLOCK', action: 'STOP', envelope, receiptVerified }, true, basis)
|
|
401
|
-
: blocked({ kind: 'APPROVAL', action: 'REQUEST_APPROVAL', envelope, receiptVerified }, true, basis);
|
|
460
|
+
? blocked({ kind: 'BLOCK', action: 'STOP', envelope, receiptVerified }, true, basis, cw)
|
|
461
|
+
: blocked({ kind: 'APPROVAL', action: 'REQUEST_APPROVAL', envelope, receiptVerified }, true, basis, cw);
|
|
402
462
|
}
|
|
403
463
|
const kind = gate.kind; // 'ALLOW' | 'MONITOR' — allow-class, safe, non-degraded, artifact-bound.
|
|
404
464
|
// An expired decision cannot be honored fresh => closed (integrity: wrong-time state).
|
|
405
465
|
if (expired) {
|
|
406
466
|
breakerRecord(config);
|
|
407
|
-
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, redacted, detection.artifacts);
|
|
467
|
+
return closedIntegrity(config, 'SCHEMA_INVALID', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
408
468
|
}
|
|
409
469
|
// MONITOR gate: host must ASSERT monitoring is wired (monitoringSinkWired === true) AND supply
|
|
410
470
|
// onEvent. Presence of a function alone is not enough — () => {} used to unlock this gate while
|
|
@@ -422,7 +482,13 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
422
482
|
const { basis: freshBasis, blockCause: freshBlock } = freshnessFor(config, redacted, fctx, detection.artifacts);
|
|
423
483
|
if (freshBlock === 'FRESHNESS_REQUIRED' || freshBlock === 'FRESHNESS_FAILED') {
|
|
424
484
|
breakerRecord(config);
|
|
425
|
-
return closedIntegrity(config, freshBlock, failPolicy, fctx, redacted, detection.artifacts);
|
|
485
|
+
return closedIntegrity(config, freshBlock, failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
486
|
+
}
|
|
487
|
+
// Conditional-write re-check immediately before enforced execution (same conjunct class as freshness).
|
|
488
|
+
const { basis: cwBasis, blockCause: cwBlock } = conditionalWriteFor(config, redacted, cwctx);
|
|
489
|
+
if (cwBlock === 'CONDITIONAL_WRITE_REQUIRED') {
|
|
490
|
+
breakerRecord(config);
|
|
491
|
+
return closedIntegrity(config, cwBlock, failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
426
492
|
}
|
|
427
493
|
// observeOnly is an EXPLICIT report-only opt-in: execute but never enforce (the one sanctioned
|
|
428
494
|
// unenforced-execution mode alongside failPolicy=open; both are documented opt-ins, not the default).
|
|
@@ -431,29 +497,30 @@ export async function guardToolCall(call, executeFactory, config, callContext) {
|
|
|
431
497
|
const verdict = kind === 'ALLOW'
|
|
432
498
|
? { kind: 'ALLOW', action: 'CONTINUE', envelope, receiptVerified }
|
|
433
499
|
: { kind: 'MONITOR', action: 'CONTINUE_WITH_MONITORING', envelope, receiptVerified };
|
|
434
|
-
return runUnenforced(config, executeFactory, envelope, verdict, true, redacted, freshBasis);
|
|
500
|
+
return runUnenforced(config, executeFactory, envelope, verdict, true, redacted, freshBasis, cwBasis);
|
|
435
501
|
}
|
|
436
502
|
// ── enforced ⟺ executed INVARIANT (contract-triggering path): execute ONLY when we can ENFORCE. ──
|
|
437
503
|
// enforceable = a bound-verified receipt AND (MONITOR) a wired sink. Anything else FAILS CLOSED —
|
|
438
504
|
// the guard NEVER runs the factory unenforced on a contract change. Closes CE-EP-06 (no receipt),
|
|
439
505
|
// CE-EP-08 (verifyReceipts:false), CE-CC-04 (MONITOR without a monitoring sink).
|
|
440
|
-
// Freshness
|
|
506
|
+
// Freshness + conditional-write are additional conjuncts — already applied above.
|
|
441
507
|
const enforceable = receiptVerified && (kind === 'ALLOW' || sinkWired);
|
|
442
508
|
if (enforceable) {
|
|
443
509
|
const approved = kind === 'ALLOW'
|
|
444
510
|
? { kind: 'ALLOW', action: 'CONTINUE', envelope, receiptVerified: true }
|
|
445
511
|
: { kind: 'MONITOR', action: 'CONTINUE_WITH_MONITORING', envelope, receiptVerified: true };
|
|
446
|
-
return runEnforced(config, executeFactory, approved, redacted, freshBasis);
|
|
512
|
+
return runEnforced(config, executeFactory, approved, redacted, freshBasis, cwBasis);
|
|
447
513
|
}
|
|
448
514
|
breakerRecord(config);
|
|
449
|
-
return closedIntegrity(config, receiptVerified ? 'MONITORING_UNWIRED' : 'RECEIPT_MISSING', failPolicy, fctx, redacted, detection.artifacts);
|
|
515
|
+
return closedIntegrity(config, receiptVerified ? 'MONITORING_UNWIRED' : 'RECEIPT_MISSING', failPolicy, fctx, cwctx, redacted, detection.artifacts);
|
|
450
516
|
}
|
|
451
|
-
function closedIntegrity(config, cause, failPolicy, fctx, redacted, arts) {
|
|
517
|
+
function closedIntegrity(config, cause, failPolicy, fctx, cwctx, redacted, arts) {
|
|
452
518
|
const count = (breakers.get(config)?.fails.length) ?? 1;
|
|
453
519
|
emit(config, { type: 'breaker_tripped', at: iso(), cause });
|
|
454
520
|
const v = unavailableVerdict({ cause, failPolicy, resolution: 'CLOSED', action: 'STOP' }, count);
|
|
455
521
|
const { basis } = freshnessFor(config, redacted, fctx, arts);
|
|
456
|
-
|
|
522
|
+
const { basis: cw } = conditionalWriteFor(config, redacted, cwctx);
|
|
523
|
+
return blocked(v, false, basis, cw);
|
|
457
524
|
}
|
|
458
525
|
function isExpired(envelope) {
|
|
459
526
|
const exp = envelope.expires_at;
|
package/dist/esm/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/esm/index.d.ts
CHANGED
|
@@ -33,10 +33,12 @@ export { readDecision } from './read-decision.js';
|
|
|
33
33
|
export type { ReadDecisionResult, ReadDecisionReason } from './read-decision.js';
|
|
34
34
|
export { SessionTaintTracker, SESSION_TAINT_VERSION, updateSession, evaluate, computeTainted, emptySessionState, projectState, classifyCommand, pathClass, deriveKeySignal, } from './session-taint.js';
|
|
35
35
|
export type { SessionState, SessionTaintConfig, SessionTaintObservation, SessionEval, PendingRename, PathClass, CmdClass, } from './session-taint.js';
|
|
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';
|
|
36
|
+
export type { ReceiptVerifiedEnvelope, GuardConfig, ToolCallDescriptor, ExecuteFactory, ApprovedVerdict, GuardOutcome, GuardVerdict, UnavailableVerdict, AvailabilityCause, IntegrityCause, UnavailableCause, TriggerDetector, LkgStore, GuardEvent, CodeRifts, DecisionResultEnvelope, ExecutionAction, Artifact, GuardExecutionProof, ExecutionResultHash, GuardToolCallContext, } from './types.js';
|
|
37
37
|
export { buildExecutionProof, hashExecutionResult, assertEnforcedReceiptInvariant, EXECUTION_PROOF_SPEC, } from './execution-proof.js';
|
|
38
38
|
export { assessFreshness, assessWriteStylePrior, contentByteIdentical, computePathSetTreeHash, freshnessAllowsEnforce, isWriteStyleCall, artifactIdsForResolve, collectFreshnessCallContext, buildFreshnessBasis, } from './freshness.js';
|
|
39
39
|
export type { FreshnessOutcome, FreshnessCheckLevel, FreshnessAssessInput, FreshnessAssessResult, WriteStylePriorInput, WriteStylePriorResult, FreshnessWiringState, FreshnessBasis, FreshnessCallContext, PriorContentResolver, FreshnessDegradeReason, } from './freshness.js';
|
|
40
|
+
export { buildConditionalWriteBasis, tokensEqual, conditionalWriteResidual, RESIDUAL_UNCONDITIONAL_WRITE, } from './conditional-write.js';
|
|
41
|
+
export type { VersionToken, VersionedContent, ConditionalWriteReport, ConditionalWriteBasis, ConditionalWriteCallContext, } from './conditional-write.js';
|
|
40
42
|
export { resolve as resolveArtifacts, classifyByName, blobMapKey } from './artifact-resolver.js';
|
|
41
43
|
export type { ResolveInput, ResolveConfig, ResolveResult, ResolvedArtifact, ResolveCoverage, UnresolvedEntry, UnresolvedReason, BlobValue, SsotSelection, ArtifactType as ResolverArtifactType, } from './artifact-resolver.js';
|
|
42
44
|
export { matchGlob, globToRegExp } from './resolver-glob.js';
|
package/dist/esm/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;AAGxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,GAC3G,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EACV,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -39,6 +39,8 @@ export { SessionTaintTracker, SESSION_TAINT_VERSION, updateSession, evaluate, co
|
|
|
39
39
|
export { buildExecutionProof, hashExecutionResult, assertEnforcedReceiptInvariant, EXECUTION_PROOF_SPEC, } from './execution-proof.js';
|
|
40
40
|
// Freshness: pure assess + runner collect (values into guardToolCall). Opt-in resolvePriorContent.
|
|
41
41
|
export { assessFreshness, assessWriteStylePrior, contentByteIdentical, computePathSetTreeHash, freshnessAllowsEnforce, isWriteStyleCall, artifactIdsForResolve, collectFreshnessCallContext, buildFreshnessBasis, } from './freshness.js';
|
|
42
|
+
// Conditional-write surface (reporting only — package never writes). Opt-in requireConditionalWrite.
|
|
43
|
+
export { buildConditionalWriteBasis, tokensEqual, conditionalWriteResidual, RESIDUAL_UNCONDITIONAL_WRITE, } from './conditional-write.js';
|
|
42
44
|
// artifactResolver — automatic base/head contract artifacts from a pure git snapshot (upstream of
|
|
43
45
|
// preflight; produces artifacts, never decides). Companion to MISSING_ARTIFACT_CONTENT.
|
|
44
46
|
export { resolve as resolveArtifacts, classifyByName, blobMapKey } from './artifact-resolver.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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;AAClE,2FAA2F;AAC3F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE7F,wGAAwG;AACxG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B,sGAAsG;AACtG,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE1G,+FAA+F;AAC/F,6FAA6F;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+FAA+F;AAC/F,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","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;AAClE,2FAA2F;AAC3F,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE7F,wGAAwG;AACxG,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAK5B,sGAAsG;AACtG,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAE1G,+FAA+F;AAC/F,6FAA6F;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,+FAA+F;AAC/F,OAAO,EACL,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EACnF,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAC7E,MAAM,oBAAoB,CAAC;AA6B5B,8FAA8F;AAC9F,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,mGAAmG;AACnG,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAexB,qGAAqG;AACrG,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAC;AAShC,kGAAkG;AAClG,wFAAwF;AACxF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAKjG,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7D,qGAAqG;AACrG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAalF,uGAAuG;AACvG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C,oGAAoG;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK9C,yGAAyG;AACzG,OAAO,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAKzE,uGAAuG;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOtD,gGAAgG;AAChG,qGAAqG;AACrG,2GAA2G;AAC3G,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -64,6 +64,12 @@ export interface GuardConfig {
|
|
|
64
64
|
requireFreshness?: boolean;
|
|
65
65
|
/** Forwarded into assessFreshness when tree/contract STALE_CONTEXT is evaluated. */
|
|
66
66
|
allowStaleContext?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Policy: when true, a write-style call must report conditional_write:true (host conditioned
|
|
69
|
+
* the mutation on a version token). false / not_reported → no enforced:true.
|
|
70
|
+
* Default false — API remains opt-in. This package never writes; it only reports and refuses.
|
|
71
|
+
*/
|
|
72
|
+
requireConditionalWrite?: boolean;
|
|
67
73
|
}
|
|
68
74
|
export interface ToolCallDescriptor {
|
|
69
75
|
toolName: string;
|
|
@@ -88,8 +94,16 @@ export type ApprovedVerdict = ({
|
|
|
88
94
|
};
|
|
89
95
|
import type { GuardExecutionProof } from './execution-proof.js';
|
|
90
96
|
export type { GuardExecutionProof, ExecutionResultHash } from './execution-proof.js';
|
|
91
|
-
import type { FreshnessBasis } from './freshness.js';
|
|
97
|
+
import type { FreshnessBasis, FreshnessCallContext } from './freshness.js';
|
|
92
98
|
export type { FreshnessBasis, FreshnessWiringState, FreshnessCallContext, PriorContentResolver } from './freshness.js';
|
|
99
|
+
import type { ConditionalWriteBasis, ConditionalWriteCallContext } from './conditional-write.js';
|
|
100
|
+
export type { ConditionalWriteBasis, ConditionalWriteCallContext, ConditionalWriteReport, VersionedContent, VersionToken, } from './conditional-write.js';
|
|
101
|
+
/**
|
|
102
|
+
* Runner-collected context for guardToolCall (4th arg).
|
|
103
|
+
* FreshnessCallContext shape (wiring required) remains valid — conditional-write fields are optional.
|
|
104
|
+
* Default conditional_write when omitted: 'not_reported'.
|
|
105
|
+
*/
|
|
106
|
+
export type GuardToolCallContext = FreshnessCallContext & ConditionalWriteCallContext;
|
|
93
107
|
export type GuardOutcome<T> = {
|
|
94
108
|
executionAttempted: true;
|
|
95
109
|
executed: true;
|
|
@@ -99,6 +113,7 @@ export type GuardOutcome<T> = {
|
|
|
99
113
|
preflighted: true;
|
|
100
114
|
proof: GuardExecutionProof;
|
|
101
115
|
freshness: FreshnessBasis;
|
|
116
|
+
conditional_write: ConditionalWriteBasis;
|
|
102
117
|
} | {
|
|
103
118
|
executionAttempted: true;
|
|
104
119
|
executed: true;
|
|
@@ -108,6 +123,7 @@ export type GuardOutcome<T> = {
|
|
|
108
123
|
preflighted: boolean;
|
|
109
124
|
proof: GuardExecutionProof;
|
|
110
125
|
freshness: FreshnessBasis;
|
|
126
|
+
conditional_write: ConditionalWriteBasis;
|
|
111
127
|
} | {
|
|
112
128
|
executionAttempted: false;
|
|
113
129
|
executed: false;
|
|
@@ -116,6 +132,7 @@ export type GuardOutcome<T> = {
|
|
|
116
132
|
preflighted: boolean;
|
|
117
133
|
proof: GuardExecutionProof;
|
|
118
134
|
freshness: FreshnessBasis;
|
|
135
|
+
conditional_write: ConditionalWriteBasis;
|
|
119
136
|
} | {
|
|
120
137
|
executionAttempted: true;
|
|
121
138
|
executed: false;
|
|
@@ -125,6 +142,7 @@ export type GuardOutcome<T> = {
|
|
|
125
142
|
preflighted: true;
|
|
126
143
|
proof: GuardExecutionProof;
|
|
127
144
|
freshness: FreshnessBasis;
|
|
145
|
+
conditional_write: ConditionalWriteBasis;
|
|
128
146
|
} | {
|
|
129
147
|
executionAttempted: true;
|
|
130
148
|
executed: false;
|
|
@@ -134,6 +152,7 @@ export type GuardOutcome<T> = {
|
|
|
134
152
|
preflighted: boolean;
|
|
135
153
|
proof: GuardExecutionProof;
|
|
136
154
|
freshness: FreshnessBasis;
|
|
155
|
+
conditional_write: ConditionalWriteBasis;
|
|
137
156
|
};
|
|
138
157
|
export type GuardVerdict = {
|
|
139
158
|
kind: 'ALLOW';
|
|
@@ -188,7 +207,7 @@ export type UnavailableVerdict = {
|
|
|
188
207
|
lkgEnvelope: ReceiptVerifiedEnvelope;
|
|
189
208
|
});
|
|
190
209
|
export type AvailabilityCause = 'TIMEOUT' | 'NETWORK' | 'SERVER_ERROR' | 'RATE_LIMITED';
|
|
191
|
-
export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED';
|
|
210
|
+
export type IntegrityCause = 'INVALID_RESPONSE' | 'UNSUPPORTED_VERSION' | 'SCHEMA_INVALID' | 'RECEIPT_UNVERIFIED' | 'DETECTOR_ERROR' | 'CONFIG_ERROR' | 'PAYLOAD_TOO_LARGE' | 'REQUEST_REJECTED' | 'RECEIPT_ENVELOPE_MISMATCH' | 'DECISION_INCONSISTENT' | 'EXECUTION_ACTION_UNRECOGNISED' | 'ANALYSIS_DEGRADED' | 'ARTIFACT_MISMATCH' | 'RECEIPT_MISSING' | 'MONITORING_UNWIRED' | 'MISSING_ARTIFACT_CONTENT' | 'FRESHNESS_REQUIRED' | 'FRESHNESS_FAILED' | 'CONDITIONAL_WRITE_REQUIRED';
|
|
192
211
|
export type UnavailableCause = AvailabilityCause | IntegrityCause;
|
|
193
212
|
export interface TriggerDetector {
|
|
194
213
|
version: string;
|