@agentlair/audit-logger 0.2.0 → 0.4.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 +30 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/logger.d.ts +12 -7
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +139 -18
- package/dist/logger.js.map +1 -1
- package/dist/types.d.ts +21 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -168,6 +168,36 @@ const { observations } = await lair.observations.read({
|
|
|
168
168
|
|
|
169
169
|
---
|
|
170
170
|
|
|
171
|
+
## Denied call flow
|
|
172
|
+
|
|
173
|
+
When a tool call is blocked by policy before execution, record the denial using `phase: 'denied'`. The terminal receipt participates in the hash chain just like any executed receipt.
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
// beginAction records the pre-action with the policy decision
|
|
177
|
+
const preAction = await logger.beginAction({
|
|
178
|
+
toolName: 'delete_file',
|
|
179
|
+
toolCallId: 'call-004',
|
|
180
|
+
input: { path: '/important.txt' },
|
|
181
|
+
approvalDecision: 'denied',
|
|
182
|
+
decidedBy: 'policy-engine',
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
// endAction records the denial in the terminal receipt
|
|
186
|
+
const terminal = await logger.endAction({
|
|
187
|
+
preAction,
|
|
188
|
+
phase: 'denied',
|
|
189
|
+
terminalReason: 'Policy: production files protected',
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
// terminal.phase === 'denied'
|
|
193
|
+
// terminal.terminalAt === ISO timestamp
|
|
194
|
+
// No executionStartedAt, executionEndedAt, resultDigest, errorClass
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
Attempting to call `endAction` with `phase: 'executed'` on a denied pre-action will throw at sign time.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
171
201
|
## License
|
|
172
202
|
|
|
173
203
|
MIT © [AgentLair](https://agentlair.dev)
|
package/dist/index.d.ts
CHANGED
|
@@ -22,5 +22,7 @@
|
|
|
22
22
|
* @see https://agentlair.dev/docs/audit-logger
|
|
23
23
|
*/
|
|
24
24
|
export { AuditLogger, auditLog, configureLogger, verifyChain, computeDigest } from './logger.js';
|
|
25
|
-
export type { AuditLogEntry, ResolvedAuditEntry, AuditSink, AuditLoggerOptions, AARSignature, AARPreAction,
|
|
25
|
+
export type { AuditLogEntry, ResolvedAuditEntry, AuditSink, AuditLoggerOptions, AARSignature, AARPreAction, AARTerminalPhase, AARTerminalReceipt,
|
|
26
|
+
/** @deprecated Use AARTerminalReceipt */
|
|
27
|
+
AARPostAction, ChainVerificationResult, } from './types.js';
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/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,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjG,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,kBAAkB;AAClB,yCAAyC;AACzC,aAAa,EACb,uBAAuB,GACxB,MAAM,YAAY,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuditLogEntry, AuditLoggerOptions, ResolvedAuditEntry, AARPreAction, AARPostAction, ChainVerificationResult } from './types.js';
|
|
1
|
+
import type { AuditLogEntry, AuditLoggerOptions, ResolvedAuditEntry, AARPreAction, AARPostAction, AARTerminalReceipt, AARTerminalPhase, ChainVerificationResult } from './types.js';
|
|
2
2
|
export declare class AuditLogger {
|
|
3
3
|
private readonly apiKey;
|
|
4
4
|
private readonly baseUrl;
|
|
@@ -31,18 +31,22 @@ export declare class AuditLogger {
|
|
|
31
31
|
approvalDecision?: 'approved' | 'denied' | 'conditional';
|
|
32
32
|
decidedBy?: string;
|
|
33
33
|
sessionId?: string;
|
|
34
|
+
/** Authority deadline (ISO 8601 UTC string or Date). See AARPreAction.expiresAt. */
|
|
35
|
+
expiresAt?: string | Date;
|
|
34
36
|
}): Promise<AARPreAction>;
|
|
35
37
|
/**
|
|
36
|
-
* Call AFTER tool execution completes (
|
|
37
|
-
* Signs and chains the
|
|
38
|
+
* Call AFTER tool execution completes (or is denied, cancelled, expired, etc.).
|
|
39
|
+
* Signs and chains the terminal receipt.
|
|
38
40
|
*/
|
|
39
41
|
endAction(opts: {
|
|
40
42
|
preAction: AARPreAction;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
+
phase?: AARTerminalPhase;
|
|
44
|
+
startedAt?: Date;
|
|
45
|
+
endedAt?: Date;
|
|
43
46
|
output?: unknown;
|
|
44
47
|
error?: Error;
|
|
45
|
-
|
|
48
|
+
terminalReason?: string;
|
|
49
|
+
}): Promise<AARTerminalReceipt>;
|
|
46
50
|
private hmacSignPayload;
|
|
47
51
|
private shipReceiptToAgentLair;
|
|
48
52
|
private writeConsole;
|
|
@@ -52,8 +56,9 @@ export declare class AuditLogger {
|
|
|
52
56
|
* Verify the integrity of an AAR receipt chain.
|
|
53
57
|
* Each receipt's previousReceiptHash must match sha256 of the prior receipt (without signature).
|
|
54
58
|
* First receipt must have previousReceiptHash = undefined.
|
|
59
|
+
* Also checks that every AARPreAction has at least one corresponding AARTerminalReceipt.
|
|
55
60
|
*/
|
|
56
|
-
export declare function verifyChain(receipts: Array<AARPreAction | AARPostAction>): Promise<ChainVerificationResult>;
|
|
61
|
+
export declare function verifyChain(receipts: Array<AARPreAction | AARTerminalReceipt | AARPostAction>): Promise<ChainVerificationResult>;
|
|
57
62
|
/**
|
|
58
63
|
* Compute the sha256 digest of a value (canonical JSON).
|
|
59
64
|
* Useful for verifying inputDigest independently.
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAa,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAgB,uBAAuB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAa,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAgB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8B7M,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,kBAAuB;IAa5C;;;;;OAKG;IACG,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA6B5D,oDAAoD;IAC9C,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAQrE;;;;OAIG;IACG,WAAW,CAAC,IAAI,EAAE;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;QACzD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,oFAAoF;QACpF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IAuCzB;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE;QACpB,SAAS,EAAE,YAAY,CAAC;QACxB,KAAK,CAAC,EAAE,gBAAgB,CAAC;QACzB,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAkFjB,eAAe;YAiBf,sBAAsB;IAmBpC,OAAO,CAAC,YAAY;YAMN,eAAe;CAsB9B;AAID;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,kBAAkB,GAAG,aAAa,CAAC,GACjE,OAAO,CAAC,uBAAuB,CAAC,CA+HlC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnE;AAcD;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAEhF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAEjE"}
|
package/dist/logger.js
CHANGED
|
@@ -93,6 +93,9 @@ export class AuditLogger {
|
|
|
93
93
|
* Returns the pre-action record — pass it to endAction().
|
|
94
94
|
*/
|
|
95
95
|
async beginAction(opts) {
|
|
96
|
+
const expiresAtIso = opts.expiresAt === undefined
|
|
97
|
+
? undefined
|
|
98
|
+
: (opts.expiresAt instanceof Date ? opts.expiresAt.toISOString() : opts.expiresAt);
|
|
96
99
|
const preActionBase = {
|
|
97
100
|
id: generateId(),
|
|
98
101
|
version: 'aar-v1',
|
|
@@ -106,6 +109,7 @@ export class AuditLogger {
|
|
|
106
109
|
...(opts.policyRef !== undefined && { policyRef: opts.policyRef }),
|
|
107
110
|
...(opts.approvalDecision !== undefined && { approvalDecision: opts.approvalDecision }),
|
|
108
111
|
...(opts.decidedBy !== undefined && { decidedBy: opts.decidedBy }),
|
|
112
|
+
...(expiresAtIso !== undefined && { expiresAt: expiresAtIso }),
|
|
109
113
|
...(this.lastReceiptHash !== undefined && { previousReceiptHash: this.lastReceiptHash }),
|
|
110
114
|
};
|
|
111
115
|
// Update chain state BEFORE signing (signature excluded from hash)
|
|
@@ -122,44 +126,77 @@ export class AuditLogger {
|
|
|
122
126
|
return preAction;
|
|
123
127
|
}
|
|
124
128
|
/**
|
|
125
|
-
* Call AFTER tool execution completes (
|
|
126
|
-
* Signs and chains the
|
|
129
|
+
* Call AFTER tool execution completes (or is denied, cancelled, expired, etc.).
|
|
130
|
+
* Signs and chains the terminal receipt.
|
|
127
131
|
*/
|
|
128
132
|
async endAction(opts) {
|
|
129
|
-
const { preAction, startedAt, endedAt, output, error } = opts;
|
|
133
|
+
const { preAction, startedAt, endedAt, output, error, terminalReason } = opts;
|
|
134
|
+
// Phase resolution
|
|
135
|
+
let phase;
|
|
136
|
+
if (error !== undefined) {
|
|
137
|
+
phase = 'failed';
|
|
138
|
+
}
|
|
139
|
+
else if (opts.phase !== undefined) {
|
|
140
|
+
phase = opts.phase;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
phase = 'executed';
|
|
144
|
+
}
|
|
145
|
+
// Sign-time invariant: executed phase is not allowed for denied pre-actions
|
|
146
|
+
if (phase === 'executed' && preAction.approvalDecision === 'denied') {
|
|
147
|
+
throw new Error(`Cannot record 'executed' terminal for a denied pre-action (preActionId: ${preAction.id})`);
|
|
148
|
+
}
|
|
149
|
+
const now = new Date();
|
|
150
|
+
const terminalAt = endedAt?.toISOString() ?? now.toISOString();
|
|
151
|
+
// Sign-time invariant: executed phase is not allowed after the pre-action's expiresAt.
|
|
152
|
+
// executionEndedAt is the source of truth here — when endedAt is omitted, fall back to now.
|
|
153
|
+
if (phase === 'executed' && preAction.expiresAt !== undefined) {
|
|
154
|
+
const executionEndedAt = endedAt?.toISOString() ?? now.toISOString();
|
|
155
|
+
if (executionEndedAt > preAction.expiresAt) {
|
|
156
|
+
throw new Error(`Cannot record 'executed' terminal after pre-action expiresAt ` +
|
|
157
|
+
`(preActionId: ${preAction.id}, expiresAt: ${preAction.expiresAt}, executionEndedAt: ${executionEndedAt})`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
130
160
|
// Hash the preAction without signature to create the chain link
|
|
131
161
|
const { signature: _sig, ...preActionWithoutSig } = preAction;
|
|
132
162
|
const preActionHash = await hashPayload(preActionWithoutSig);
|
|
133
|
-
const
|
|
163
|
+
const receiptBase = {
|
|
134
164
|
id: generateId(),
|
|
135
165
|
version: 'aar-v1',
|
|
136
|
-
phase
|
|
166
|
+
phase,
|
|
137
167
|
preActionId: preAction.id,
|
|
138
168
|
toolCallId: preAction.toolCallId,
|
|
139
|
-
|
|
140
|
-
executionEndedAt: endedAt.toISOString(),
|
|
141
|
-
executionMs: endedAt.getTime() - startedAt.getTime(),
|
|
169
|
+
terminalAt,
|
|
142
170
|
previousReceiptHash: preActionHash,
|
|
143
|
-
...(
|
|
144
|
-
|
|
171
|
+
...(terminalReason !== undefined && { terminalReason }),
|
|
172
|
+
// Execution fields only for executed/failed phases
|
|
173
|
+
...((phase === 'executed' || phase === 'failed') && startedAt !== undefined && {
|
|
174
|
+
executionStartedAt: startedAt.toISOString(),
|
|
175
|
+
}),
|
|
176
|
+
...((phase === 'executed' || phase === 'failed') && endedAt !== undefined && {
|
|
177
|
+
executionEndedAt: endedAt.toISOString(),
|
|
145
178
|
}),
|
|
146
|
-
|
|
179
|
+
// Result digest only for executed phase
|
|
180
|
+
...(phase === 'executed' && output !== undefined && {
|
|
181
|
+
resultDigest: 'sha256:' + await sha256Hex(canonicalJson(output)),
|
|
182
|
+
}),
|
|
183
|
+
// Error class only for failed phase
|
|
184
|
+
...(phase === 'failed' && error !== undefined && {
|
|
147
185
|
errorClass: error.constructor.name,
|
|
148
|
-
errorDigest: 'sha256:' + await sha256Hex(canonicalJson(error.message)),
|
|
149
186
|
}),
|
|
150
187
|
};
|
|
151
188
|
// Update chain state
|
|
152
|
-
this.lastReceiptHash = await hashPayload(
|
|
153
|
-
const
|
|
189
|
+
this.lastReceiptHash = await hashPayload(receiptBase);
|
|
190
|
+
const receipt = { ...receiptBase };
|
|
154
191
|
if (this.hmacSecret) {
|
|
155
|
-
|
|
192
|
+
receipt.signature = await this.hmacSignPayload(receiptBase);
|
|
156
193
|
}
|
|
157
194
|
if (this.apiKey && !this.silent) {
|
|
158
|
-
this.shipReceiptToAgentLair(
|
|
195
|
+
this.shipReceiptToAgentLair(receipt).catch((err) => {
|
|
159
196
|
console.warn('[audit-logger] AgentLair receipt upload failed:', err.message);
|
|
160
197
|
});
|
|
161
198
|
}
|
|
162
|
-
return
|
|
199
|
+
return receipt;
|
|
163
200
|
}
|
|
164
201
|
async hmacSignPayload(payload) {
|
|
165
202
|
const canon = canonicalJson(payload);
|
|
@@ -220,6 +257,7 @@ export class AuditLogger {
|
|
|
220
257
|
* Verify the integrity of an AAR receipt chain.
|
|
221
258
|
* Each receipt's previousReceiptHash must match sha256 of the prior receipt (without signature).
|
|
222
259
|
* First receipt must have previousReceiptHash = undefined.
|
|
260
|
+
* Also checks that every AARPreAction has at least one corresponding AARTerminalReceipt.
|
|
223
261
|
*/
|
|
224
262
|
export async function verifyChain(receipts) {
|
|
225
263
|
if (receipts.length === 0) {
|
|
@@ -246,9 +284,92 @@ export async function verifyChain(receipts) {
|
|
|
246
284
|
breaks.push({ id: curr.id, expected: expectedHash, actual: actualHash });
|
|
247
285
|
}
|
|
248
286
|
}
|
|
287
|
+
// Check that every pre-action has at least one terminal receipt
|
|
288
|
+
const terminalPreActionIds = new Set();
|
|
289
|
+
for (const receipt of receipts) {
|
|
290
|
+
if (receipt.phase !== 'pre-action') {
|
|
291
|
+
// It's a terminal receipt (AARTerminalReceipt); grab its preActionId
|
|
292
|
+
terminalPreActionIds.add(receipt.preActionId);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
for (const receipt of receipts) {
|
|
296
|
+
if (receipt.phase === 'pre-action') {
|
|
297
|
+
const preAction = receipt;
|
|
298
|
+
if (!terminalPreActionIds.has(preAction.id)) {
|
|
299
|
+
breaks.push({ id: preAction.id, expected: 'terminal-receipt', actual: 'missing' });
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// Authority check: verify expiresAt invariants for terminals that depend on it.
|
|
304
|
+
// - phase === 'expired' MUST have a pre-action with expiresAt set, and terminalAt >= expiresAt.
|
|
305
|
+
// - phase === 'executed' with executionEndedAt > pre-action.expiresAt is a chain break
|
|
306
|
+
// (catches historical chains written pre-v0.4 that violate the sign-time invariant).
|
|
307
|
+
const preActionsById = new Map();
|
|
308
|
+
for (const receipt of receipts) {
|
|
309
|
+
if (receipt.phase === 'pre-action') {
|
|
310
|
+
preActionsById.set(receipt.id, receipt);
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
for (const receipt of receipts) {
|
|
314
|
+
if (receipt.phase === 'pre-action')
|
|
315
|
+
continue;
|
|
316
|
+
const term = receipt;
|
|
317
|
+
const pre = preActionsById.get(term.preActionId);
|
|
318
|
+
if (!pre)
|
|
319
|
+
continue; // missing pre-action is already accounted for above
|
|
320
|
+
if (term.phase === 'expired') {
|
|
321
|
+
if (pre.expiresAt === undefined) {
|
|
322
|
+
breaks.push({
|
|
323
|
+
id: term.id,
|
|
324
|
+
expected: 'pre-action.expiresAt set for expired terminal',
|
|
325
|
+
actual: 'undefined',
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
else if (term.terminalAt < pre.expiresAt) {
|
|
329
|
+
breaks.push({
|
|
330
|
+
id: term.id,
|
|
331
|
+
expected: `terminalAt >= expiresAt (${pre.expiresAt})`,
|
|
332
|
+
actual: term.terminalAt,
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else if (term.phase === 'executed' && pre.expiresAt !== undefined) {
|
|
337
|
+
// executionEndedAt is the source of truth for "did we finish in time?".
|
|
338
|
+
// Fall back to terminalAt when execution timestamps were not recorded.
|
|
339
|
+
const executionEndedAt = term.executionEndedAt ?? term.terminalAt;
|
|
340
|
+
if (executionEndedAt > pre.expiresAt) {
|
|
341
|
+
breaks.push({
|
|
342
|
+
id: term.id,
|
|
343
|
+
expected: `executionEndedAt <= expiresAt (${pre.expiresAt})`,
|
|
344
|
+
actual: executionEndedAt,
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const authorityBreakExpected = new Set([
|
|
350
|
+
'pre-action.expiresAt set for expired terminal',
|
|
351
|
+
]);
|
|
352
|
+
const hasHashBreaks = breaks.some(b => b.expected !== 'terminal-receipt' &&
|
|
353
|
+
!(typeof b.expected === 'string' && (b.expected.startsWith('terminalAt >=') ||
|
|
354
|
+
b.expected.startsWith('executionEndedAt <=') ||
|
|
355
|
+
authorityBreakExpected.has(b.expected))));
|
|
356
|
+
const hasAuthorityBreaks = breaks.some(b => typeof b.expected === 'string' && (b.expected.startsWith('terminalAt >=') ||
|
|
357
|
+
b.expected.startsWith('executionEndedAt <=') ||
|
|
358
|
+
authorityBreakExpected.has(b.expected)));
|
|
359
|
+
const hasMissingTerminals = breaks.some(b => b.expected === 'terminal-receipt');
|
|
360
|
+
let chainIntegrity;
|
|
361
|
+
if (hasHashBreaks || hasAuthorityBreaks) {
|
|
362
|
+
chainIntegrity = 'broken';
|
|
363
|
+
}
|
|
364
|
+
else if (hasMissingTerminals) {
|
|
365
|
+
chainIntegrity = 'incomplete';
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
chainIntegrity = 'complete';
|
|
369
|
+
}
|
|
249
370
|
return {
|
|
250
371
|
intact: breaks.length === 0,
|
|
251
|
-
chainIntegrity
|
|
372
|
+
chainIntegrity,
|
|
252
373
|
breaks,
|
|
253
374
|
};
|
|
254
375
|
}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -64,24 +64,38 @@ export interface AARPreAction {
|
|
|
64
64
|
approvalDecision?: 'approved' | 'denied' | 'conditional';
|
|
65
65
|
decidedBy?: string;
|
|
66
66
|
issuedAt: string;
|
|
67
|
+
/**
|
|
68
|
+
* Authority deadline (ISO 8601 UTC). When present, this pre-action's authority to
|
|
69
|
+
* execute the tool expires at this instant. Sign-time invariant: endAction() refuses
|
|
70
|
+
* to record `phase === 'executed'` if execution ended after expiresAt. Verify-time
|
|
71
|
+
* invariant: chains with `phase === 'expired'` terminals must have a corresponding
|
|
72
|
+
* pre-action whose expiresAt is set and whose terminalAt >= expiresAt.
|
|
73
|
+
*
|
|
74
|
+
* Covered automatically by previousReceiptHash because canonical JSON over the whole
|
|
75
|
+
* pre-action is hashed — tampering with expiresAt post-signing breaks the chain.
|
|
76
|
+
*/
|
|
77
|
+
expiresAt?: string;
|
|
67
78
|
previousReceiptHash?: string;
|
|
68
79
|
signature?: AARSignature;
|
|
69
80
|
}
|
|
70
|
-
export
|
|
81
|
+
export type AARTerminalPhase = 'executed' | 'failed' | 'denied' | 'expired' | 'cancelled';
|
|
82
|
+
export interface AARTerminalReceipt {
|
|
71
83
|
id: string;
|
|
72
84
|
version: 'aar-v1';
|
|
73
|
-
phase:
|
|
85
|
+
phase: AARTerminalPhase;
|
|
74
86
|
preActionId: string;
|
|
75
87
|
toolCallId: string;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
88
|
+
terminalAt: string;
|
|
89
|
+
terminalReason?: string;
|
|
90
|
+
executionStartedAt?: string;
|
|
91
|
+
executionEndedAt?: string;
|
|
92
|
+
resultDigest?: string;
|
|
80
93
|
errorClass?: string;
|
|
81
|
-
errorDigest?: string;
|
|
82
94
|
previousReceiptHash: string;
|
|
83
95
|
signature?: AARSignature;
|
|
84
96
|
}
|
|
97
|
+
/** @deprecated Use AARTerminalReceipt instead */
|
|
98
|
+
export type AARPostAction = AARTerminalReceipt;
|
|
85
99
|
export interface ChainVerificationResult {
|
|
86
100
|
intact: boolean;
|
|
87
101
|
chainIntegrity: 'complete' | 'incomplete' | 'broken';
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,mCAAmC;AACnC,MAAM,WAAW,aAAa;IAC5B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,kEAAkE;AAClE,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sCAAsC;AACtC,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACxD;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,OAAO,GAAG,aAAa,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,YAAY,CAAC;CAC1B;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED