@oxdeai/conformance 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,417 @@
1
+ /**
2
+ * @oxdeai/conformance — Vector Extraction Script
3
+ *
4
+ * Generates frozen conformance vectors against @oxdeai/core@1.0.0.
5
+ */
6
+ import * as fs from "node:fs";
7
+ import * as path from "node:path";
8
+ import { createHash } from "node:crypto";
9
+ import { sha256HexFromJson, encodeCanonicalState, decodeCanonicalState, verifySnapshot, verifyEnvelope, encodeEnvelope, PolicyEngine } from "@oxdeai/core";
10
+ const BINDING_FIELDS = [
11
+ "intent_id",
12
+ "agent_id",
13
+ "action_type",
14
+ "depth",
15
+ "amount",
16
+ "asset",
17
+ "target",
18
+ "timestamp",
19
+ "metadata_hash",
20
+ "nonce",
21
+ "type",
22
+ "authorization_id",
23
+ "tool",
24
+ "tool_call"
25
+ ];
26
+ function canonicalize(value) {
27
+ if (value === undefined)
28
+ return null;
29
+ if (typeof value === "bigint")
30
+ return value.toString();
31
+ if (Array.isArray(value))
32
+ return value.map(canonicalize);
33
+ if (typeof value === "object" && value !== null) {
34
+ const out = {};
35
+ for (const k of Object.keys(value).sort()) {
36
+ out[k] = canonicalize(value[k]);
37
+ }
38
+ return out;
39
+ }
40
+ return value;
41
+ }
42
+ function canonicalJson(value) {
43
+ return JSON.stringify(canonicalize(value));
44
+ }
45
+ function sha256hexUtf8(input) {
46
+ return createHash("sha256").update(input, "utf8").digest("hex");
47
+ }
48
+ function writeVector(filename, data) {
49
+ const dir = path.resolve(process.cwd(), "vectors");
50
+ fs.mkdirSync(dir, { recursive: true });
51
+ fs.writeFileSync(path.join(dir, filename), JSON.stringify(data, (_k, v) => (typeof v === "bigint" ? v.toString() : v), 2), "utf8");
52
+ console.log(`wrote ${filename}`);
53
+ }
54
+ const ENGINE_SECRET = "test-secret";
55
+ function makeEngine() {
56
+ return new PolicyEngine({
57
+ policy_version: "v1.0.0",
58
+ engine_secret: ENGINE_SECRET,
59
+ authorization_ttl_seconds: 60,
60
+ policyId: "a".repeat(64)
61
+ });
62
+ }
63
+ function makeState() {
64
+ return {
65
+ policy_version: "v1.0.0",
66
+ period_id: "period-1",
67
+ kill_switch: { global: false, agents: {} },
68
+ allowlists: {},
69
+ budget: {
70
+ budget_limit: { "agent-1": 5000000n },
71
+ spent_in_period: { "agent-1": 0n }
72
+ },
73
+ max_amount_per_action: { "agent-1": 2000000n },
74
+ velocity: {
75
+ config: { window_seconds: 60, max_actions: 10 },
76
+ counters: {}
77
+ },
78
+ replay: {
79
+ window_seconds: 300,
80
+ max_nonces_per_agent: 256,
81
+ nonces: {}
82
+ },
83
+ concurrency: {
84
+ max_concurrent: { "agent-1": 3 },
85
+ active: {},
86
+ active_auths: {}
87
+ },
88
+ recursion: {
89
+ max_depth: { "agent-1": 5 }
90
+ },
91
+ tool_limits: {
92
+ window_seconds: 60,
93
+ max_calls: { "agent-1": 50 },
94
+ calls: {}
95
+ }
96
+ };
97
+ }
98
+ function makeIntent(nonce, timestamp, extra) {
99
+ return {
100
+ intent_id: `intent-${nonce.toString()}`,
101
+ agent_id: "agent-1",
102
+ action_type: "PAYMENT",
103
+ amount: 1000000n,
104
+ target: "merchant-1",
105
+ timestamp,
106
+ metadata_hash: "0".repeat(64),
107
+ nonce,
108
+ signature: "sig-placeholder",
109
+ depth: 0,
110
+ tool: "openai.responses",
111
+ tool_call: true,
112
+ type: "EXECUTE",
113
+ ...extra
114
+ };
115
+ }
116
+ function authSigningPayload(auth, policyId) {
117
+ return {
118
+ expires_at: auth.expires_at,
119
+ intent_hash: auth.intent_hash,
120
+ policy_id: policyId,
121
+ state_hash: auth.state_snapshot_hash
122
+ };
123
+ }
124
+ function bindingIntentProjection(intent) {
125
+ const out = {};
126
+ for (const key of BINDING_FIELDS) {
127
+ if (intent[key] !== undefined)
128
+ out[key] = intent[key];
129
+ }
130
+ return out;
131
+ }
132
+ function b64(bytes) {
133
+ return Buffer.from(bytes).toString("base64");
134
+ }
135
+ async function extractIntentHash() {
136
+ const base = makeIntent(42n, 1730000000);
137
+ const reordered = {
138
+ tool_call: base.tool_call,
139
+ tool: base.tool,
140
+ depth: base.depth,
141
+ nonce: base.nonce,
142
+ timestamp: base.timestamp,
143
+ target: base.target,
144
+ amount: base.amount,
145
+ action_type: base.action_type,
146
+ agent_id: base.agent_id,
147
+ metadata_hash: base.metadata_hash,
148
+ intent_id: base.intent_id,
149
+ type: base.type,
150
+ signature: base.signature
151
+ };
152
+ const withExtra = { ...base, _internal_trace_id: "ignored" };
153
+ const h1 = sha256HexFromJson(bindingIntentProjection(base));
154
+ const h2 = sha256HexFromJson(bindingIntentProjection(reordered));
155
+ const h3 = sha256HexFromJson(bindingIntentProjection(withExtra));
156
+ writeVector("intent-hash.json", {
157
+ version: "1.0.0",
158
+ vectors: [
159
+ { id: "intent-hash-001", input: base, expected: { hash: h1 } },
160
+ { id: "intent-hash-002", input: reordered, expected: { hash: h2 }, invariant: "equals intent-hash-001" },
161
+ {
162
+ id: "intent-hash-003",
163
+ input: withExtra,
164
+ binding_fields: [...BINDING_FIELDS],
165
+ expected: { hash: h3 },
166
+ invariant: "equals intent-hash-001"
167
+ }
168
+ ]
169
+ });
170
+ }
171
+ async function extractAuthorizationPayload() {
172
+ const engine = makeEngine();
173
+ const state = makeState();
174
+ const policyId = engine.computePolicyId();
175
+ const r1 = engine.evaluatePure(makeIntent(100n, 1730000000), state);
176
+ if (r1.decision !== "ALLOW")
177
+ throw new Error("expected ALLOW for auth vector 1");
178
+ const r2 = engine.evaluatePure(makeIntent(101n, 0), makeState());
179
+ if (r2.decision !== "ALLOW")
180
+ throw new Error("expected ALLOW for auth vector 2");
181
+ writeVector("authorization-payload.json", {
182
+ version: "1.0.0",
183
+ ttl_seconds: 60,
184
+ signing_algorithm: "HMAC-SHA256",
185
+ vectors: [
186
+ {
187
+ id: "auth-payload-001",
188
+ input: makeIntent(100n, 1730000000),
189
+ expected: {
190
+ intent_hash: r1.authorization.intent_hash,
191
+ policy_id: policyId,
192
+ state_hash: r1.authorization.state_snapshot_hash,
193
+ expires_at: r1.authorization.expires_at,
194
+ canonical_signing_payload: canonicalJson(authSigningPayload(r1.authorization, policyId)),
195
+ signature: r1.authorization.engine_signature
196
+ }
197
+ },
198
+ {
199
+ id: "auth-payload-002",
200
+ input: makeIntent(101n, 0),
201
+ expected: {
202
+ intent_hash: r2.authorization.intent_hash,
203
+ expires_at: r2.authorization.expires_at,
204
+ expires_at_derivation: "intent.timestamp(0) + ttl_seconds(60) = 60",
205
+ canonical_signing_payload: canonicalJson(authSigningPayload(r2.authorization, policyId)),
206
+ signature: r2.authorization.engine_signature
207
+ }
208
+ }
209
+ ]
210
+ });
211
+ }
212
+ async function extractSnapshotHash() {
213
+ const engine = makeEngine();
214
+ const state1 = makeState();
215
+ const snap1 = engine.exportState(state1);
216
+ const bytes1 = encodeCanonicalState(snap1);
217
+ const decoded1 = decodeCanonicalState(bytes1);
218
+ const verify1 = verifySnapshot(bytes1, { expectedPolicyId: engine.computePolicyId() });
219
+ if (verify1.status !== "ok" || !verify1.stateHash)
220
+ throw new Error("verifySnapshot failed for vector 1");
221
+ const state2 = makeState();
222
+ state2.budget.budget_limit["agent-1"] = 999999999999999999n;
223
+ const snap2 = engine.exportState(state2);
224
+ const bytes2 = encodeCanonicalState(snap2);
225
+ const verify2 = verifySnapshot(bytes2, { expectedPolicyId: engine.computePolicyId() });
226
+ if (verify2.status !== "ok" || !verify2.stateHash)
227
+ throw new Error("verifySnapshot failed for vector 2");
228
+ const reEncoded = encodeCanonicalState(decoded1);
229
+ const verify3 = verifySnapshot(reEncoded, { expectedPolicyId: engine.computePolicyId() });
230
+ if (verify3.status !== "ok" || !verify3.stateHash)
231
+ throw new Error("verifySnapshot failed for vector 3");
232
+ writeVector("snapshot-hash.json", {
233
+ version: "1.0.0",
234
+ vectors: [
235
+ {
236
+ id: "snapshot-hash-001",
237
+ input_state: state1,
238
+ expected: {
239
+ snapshot_base64: b64(bytes1),
240
+ state_hash: verify1.stateHash
241
+ }
242
+ },
243
+ {
244
+ id: "snapshot-hash-002",
245
+ input_state: state2,
246
+ expected: {
247
+ snapshot_base64: b64(bytes2),
248
+ state_hash: verify2.stateHash,
249
+ normalized_budget_limit: "999999999999999999"
250
+ }
251
+ },
252
+ {
253
+ id: "snapshot-hash-003",
254
+ input_snapshot_base64: b64(bytes1),
255
+ expected: { state_hash: verify3.stateHash },
256
+ invariant: "equals snapshot-hash-001"
257
+ }
258
+ ]
259
+ });
260
+ }
261
+ async function extractAuditChain() {
262
+ const engine = makeEngine();
263
+ const state = makeState();
264
+ const out = engine.evaluatePure(makeIntent(200n, 1730000000), state);
265
+ if (out.decision !== "ALLOW")
266
+ throw new Error("expected ALLOW for audit-chain vectors");
267
+ const events = engine.audit.snapshot();
268
+ if (events.length < 3)
269
+ throw new Error(`expected >=3 events, got ${events.length}`);
270
+ const e0 = events[0];
271
+ const e1 = events[1];
272
+ const e2 = events[2];
273
+ const genesis = sha256hexUtf8("OxDeAI::GENESIS::v1");
274
+ const head1 = sha256hexUtf8(`${genesis}\n${canonicalJson(e0)}`);
275
+ const head2 = sha256hexUtf8(`${head1}\n${canonicalJson(e1)}`);
276
+ const head3 = sha256hexUtf8(`${head2}\n${canonicalJson(e2)}`);
277
+ const tampered0 = { ...e0, type: "TAMPERED" };
278
+ const tamperedHead1 = sha256hexUtf8(`${genesis}\n${canonicalJson(tampered0)}`);
279
+ writeVector("audit-chain.json", {
280
+ version: "1.0.0",
281
+ hash_algorithm: "SHA256",
282
+ separator: "0x0A",
283
+ chain_rule: "head_(k+1) = SHA256(head_k || 0x0A || canonical(event_k))",
284
+ vectors: [
285
+ {
286
+ id: "audit-chain-001",
287
+ input: "OxDeAI::GENESIS::v1",
288
+ expected: { genesis_hex: genesis }
289
+ },
290
+ {
291
+ id: "audit-chain-002",
292
+ input: { head_0: genesis, event_0: e0, canonical_event_0: canonicalJson(e0) },
293
+ expected: { head_1: head1 }
294
+ },
295
+ {
296
+ id: "audit-chain-003",
297
+ input: { genesis, events: [e0, e1, e2] },
298
+ expected: { head_1: head1, head_2: head2, head_3: head3 }
299
+ },
300
+ {
301
+ id: "audit-chain-004",
302
+ input: { original_event_0: e0, mutated_event_0: tampered0, head_0: genesis },
303
+ expected: {
304
+ original_head_1: head1,
305
+ mutated_head_1: tamperedHead1,
306
+ must_not_equal_original_head_1: true
307
+ }
308
+ }
309
+ ]
310
+ });
311
+ }
312
+ async function extractEnvelopeVerification() {
313
+ const engine = makeEngine();
314
+ const state = makeState();
315
+ const out = engine.evaluatePure(makeIntent(300n, 1730000000), state);
316
+ if (out.decision !== "ALLOW")
317
+ throw new Error("expected ALLOW for envelope vectors");
318
+ const events = engine.audit.snapshot();
319
+ const snapshotBytes = encodeCanonicalState(engine.exportState(state));
320
+ const snapCheck = verifySnapshot(snapshotBytes, { expectedPolicyId: engine.computePolicyId() });
321
+ if (snapCheck.status !== "ok" || !snapCheck.stateHash)
322
+ throw new Error("snapshot verification failed");
323
+ const validEnvelopeBytes = encodeEnvelope({
324
+ formatVersion: 1,
325
+ snapshot: snapshotBytes,
326
+ events
327
+ });
328
+ const withCheckpointBytes = encodeEnvelope({
329
+ formatVersion: 1,
330
+ snapshot: snapshotBytes,
331
+ events: [
332
+ ...events,
333
+ {
334
+ type: "STATE_CHECKPOINT",
335
+ stateHash: snapCheck.stateHash,
336
+ timestamp: makeIntent(300n, 1730000000).timestamp,
337
+ policyId: engine.computePolicyId()
338
+ }
339
+ ]
340
+ });
341
+ const mismatchedPolicyBytes = encodeEnvelope({
342
+ formatVersion: 1,
343
+ snapshot: snapshotBytes,
344
+ events: events.map((e) => ({ ...e, policyId: "c".repeat(64) }))
345
+ });
346
+ const corruptBytes = new Uint8Array([1, 2, 3, 4, 5]);
347
+ const r1 = verifyEnvelope(withCheckpointBytes, {
348
+ expectedPolicyId: engine.computePolicyId(),
349
+ mode: "strict"
350
+ });
351
+ const r2 = verifyEnvelope(validEnvelopeBytes, {
352
+ expectedPolicyId: engine.computePolicyId(),
353
+ mode: "best-effort"
354
+ });
355
+ const r3 = verifyEnvelope(mismatchedPolicyBytes, {
356
+ expectedPolicyId: engine.computePolicyId(),
357
+ mode: "best-effort"
358
+ });
359
+ const r4 = verifyEnvelope(corruptBytes, {
360
+ expectedPolicyId: engine.computePolicyId(),
361
+ mode: "best-effort"
362
+ });
363
+ const r5 = verifyEnvelope(validEnvelopeBytes, {
364
+ expectedPolicyId: engine.computePolicyId(),
365
+ mode: "strict"
366
+ });
367
+ writeVector("envelope-verification.json", {
368
+ version: "1.0.0",
369
+ vectors: [
370
+ {
371
+ id: "envelope-001",
372
+ description: "ok — strict mode with STATE_CHECKPOINT",
373
+ expected: {
374
+ status: r1.status,
375
+ policyId: r1.policyId,
376
+ stateHash: r1.stateHash,
377
+ auditHeadHash: r1.auditHeadHash,
378
+ violations: r1.violations
379
+ }
380
+ },
381
+ {
382
+ id: "envelope-002",
383
+ description: "ok — best-effort mode without checkpoint",
384
+ expected: { status: r2.status, violations: r2.violations }
385
+ },
386
+ {
387
+ id: "envelope-003",
388
+ description: "invalid — policyId mismatch",
389
+ expected: { status: r3.status, violations: r3.violations }
390
+ },
391
+ {
392
+ id: "envelope-004",
393
+ description: "invalid — corrupt envelope bytes",
394
+ expected: { status: r4.status, violations: r4.violations }
395
+ },
396
+ {
397
+ id: "envelope-005",
398
+ description: "inconclusive — strict mode without checkpoint",
399
+ expected: { status: r5.status, violations: r5.violations }
400
+ }
401
+ ]
402
+ });
403
+ }
404
+ async function main() {
405
+ console.log("Extracting conformance vectors against @oxdeai/core@1.0.0");
406
+ await extractIntentHash();
407
+ await extractAuthorizationPayload();
408
+ await extractSnapshotHash();
409
+ await extractAuditChain();
410
+ await extractEnvelopeVerification();
411
+ console.log("done");
412
+ }
413
+ main().catch((err) => {
414
+ console.error(err);
415
+ process.exit(1);
416
+ });
417
+ //# sourceMappingURL=extract-vectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-vectors.js","sourceRoot":"","sources":["../../scripts/extract-vectors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};