@attested-intelligence/aga-mcp-server 2.2.2 → 3.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.
Files changed (104) hide show
  1. package/DEPLOYMENT.md +111 -0
  2. package/LICENSE +21 -21
  3. package/README.md +59 -47
  4. package/SECURITY.md +59 -0
  5. package/THREAT_BOUNDARY.md +77 -0
  6. package/dist/core/behavioral.d.ts.map +1 -1
  7. package/dist/core/behavioral.js +11 -3
  8. package/dist/core/behavioral.js.map +1 -1
  9. package/dist/core/index.d.ts +0 -2
  10. package/dist/core/index.d.ts.map +1 -1
  11. package/dist/core/index.js +2 -2
  12. package/dist/core/index.js.map +1 -1
  13. package/dist/core/types.d.ts +1 -22
  14. package/dist/core/types.d.ts.map +1 -1
  15. package/dist/crypto/index.d.ts +0 -1
  16. package/dist/crypto/index.d.ts.map +1 -1
  17. package/dist/crypto/index.js +1 -1
  18. package/dist/crypto/index.js.map +1 -1
  19. package/dist/crypto/sign.d.ts.map +1 -1
  20. package/dist/crypto/sign.js +24 -23
  21. package/dist/crypto/sign.js.map +1 -1
  22. package/dist/middleware/governance.d.ts +22 -3
  23. package/dist/middleware/governance.d.ts.map +1 -1
  24. package/dist/middleware/governance.js +36 -28
  25. package/dist/middleware/governance.js.map +1 -1
  26. package/dist/proxy/index.d.ts.map +1 -1
  27. package/dist/proxy/index.js +26 -15
  28. package/dist/proxy/index.js.map +1 -1
  29. package/dist/proxy/server.d.ts +18 -45
  30. package/dist/proxy/server.d.ts.map +1 -1
  31. package/dist/proxy/server.js +77 -131
  32. package/dist/proxy/server.js.map +1 -1
  33. package/dist/sep/bundle.d.ts +60 -0
  34. package/dist/sep/bundle.d.ts.map +1 -0
  35. package/dist/sep/bundle.js +74 -0
  36. package/dist/sep/bundle.js.map +1 -0
  37. package/dist/sep/canonical.d.ts +28 -0
  38. package/dist/sep/canonical.d.ts.map +1 -0
  39. package/dist/sep/canonical.js +62 -0
  40. package/dist/sep/canonical.js.map +1 -0
  41. package/dist/sep/checkpoint.d.ts +15 -0
  42. package/dist/sep/checkpoint.d.ts.map +1 -0
  43. package/dist/sep/checkpoint.js +28 -0
  44. package/dist/sep/checkpoint.js.map +1 -0
  45. package/dist/sep/crypto.d.ts +20 -0
  46. package/dist/sep/crypto.d.ts.map +1 -0
  47. package/dist/sep/crypto.js +104 -0
  48. package/dist/sep/crypto.js.map +1 -0
  49. package/dist/sep/index.d.ts +14 -0
  50. package/dist/sep/index.d.ts.map +1 -0
  51. package/dist/sep/index.js +14 -0
  52. package/dist/sep/index.js.map +1 -0
  53. package/dist/sep/merkle.d.ts +11 -0
  54. package/dist/sep/merkle.d.ts.map +1 -0
  55. package/dist/sep/merkle.js +51 -0
  56. package/dist/sep/merkle.js.map +1 -0
  57. package/dist/sep/receipt.d.ts +64 -0
  58. package/dist/sep/receipt.d.ts.map +1 -0
  59. package/dist/sep/receipt.js +0 -0
  60. package/dist/sep/receipt.js.map +1 -0
  61. package/dist/sep/verify.d.ts +14 -0
  62. package/dist/sep/verify.d.ts.map +1 -0
  63. package/dist/sep/verify.js +158 -0
  64. package/dist/sep/verify.js.map +1 -0
  65. package/dist/server.d.ts.map +1 -1
  66. package/dist/server.js +83 -39
  67. package/dist/server.js.map +1 -1
  68. package/dist/storage/interface.d.ts +1 -4
  69. package/dist/storage/interface.d.ts.map +1 -1
  70. package/dist/storage/memory.d.ts +1 -5
  71. package/dist/storage/memory.d.ts.map +1 -1
  72. package/dist/storage/memory.js +0 -4
  73. package/dist/storage/memory.js.map +1 -1
  74. package/dist/storage/sqlite.d.ts +1 -4
  75. package/dist/storage/sqlite.d.ts.map +1 -1
  76. package/dist/storage/sqlite.js +0 -4
  77. package/dist/storage/sqlite.js.map +1 -1
  78. package/dist/utils/canonical.d.ts.map +1 -1
  79. package/dist/utils/canonical.js +11 -1
  80. package/dist/utils/canonical.js.map +1 -1
  81. package/dist/utils/timestamp.d.ts.map +1 -1
  82. package/dist/utils/timestamp.js +4 -1
  83. package/dist/utils/timestamp.js.map +1 -1
  84. package/dist/utils/uuid.d.ts +1 -0
  85. package/dist/utils/uuid.d.ts.map +1 -1
  86. package/dist/utils/uuid.js +3 -2
  87. package/dist/utils/uuid.js.map +1 -1
  88. package/package.json +87 -93
  89. package/dist/core/bundle.d.ts +0 -20
  90. package/dist/core/bundle.d.ts.map +0 -1
  91. package/dist/core/bundle.js +0 -45
  92. package/dist/core/bundle.js.map +0 -1
  93. package/dist/core/checkpoint.d.ts +0 -8
  94. package/dist/core/checkpoint.d.ts.map +0 -1
  95. package/dist/core/checkpoint.js +0 -21
  96. package/dist/core/checkpoint.js.map +0 -1
  97. package/dist/crypto/merkle.d.ts +0 -8
  98. package/dist/crypto/merkle.d.ts.map +0 -1
  99. package/dist/crypto/merkle.js +0 -42
  100. package/dist/crypto/merkle.js.map +0 -1
  101. package/dist/proxy/verify.d.ts +0 -28
  102. package/dist/proxy/verify.d.ts.map +0 -1
  103. package/dist/proxy/verify.js +0 -182
  104. package/dist/proxy/verify.js.map +0 -1
package/dist/server.js CHANGED
@@ -18,8 +18,8 @@ import { generateArtifact, hashArtifact } from './core/artifact.js';
18
18
  import { Portal } from './core/portal.js';
19
19
  import { generateReceipt } from './core/receipt.js';
20
20
  import { createGenesisEvent, appendEvent, verifyChainIntegrity } from './core/chain.js';
21
- import { createCheckpoint, eventInclusionProof } from './core/checkpoint.js';
22
- import { generateBundle, verifyBundleOffline } from './core/bundle.js';
21
+ // NOTE: the legacy continuity EVIDENCE path (src/core/bundle.ts, src/core/checkpoint.ts,
22
+ // src/crypto/merkle.ts) has been physically removed (P4). The canonical evidence path is src/sep.
23
23
  import { processDisclosure } from './core/disclosure.js';
24
24
  import { initQuarantine } from './core/quarantine.js';
25
25
  import { MemoryStorage } from './storage/index.js';
@@ -27,6 +27,35 @@ import { utcNow } from './utils/timestamp.js';
27
27
  import { deriveArtifact } from './core/delegation.js';
28
28
  import { createGovernanceWrapper } from './middleware/governance.js';
29
29
  import { BehavioralMonitor } from './core/behavioral.js';
30
+ import { readFileSync } from 'node:fs';
31
+ import { SepGateway, signerFromSeed, seedFromHex, verifySepBundle } from './sep/index.js';
32
+ // Single-source the reported version from package.json — no more hardcoded version drift.
33
+ // Resolves to the package root from both src/ (tsx dev) and dist/ (published bin).
34
+ const PKG = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
35
+ const SERVER_VERSION = PKG.version;
36
+ /**
37
+ * Resolve the gateway signing seed (the key that signs evidence bundles).
38
+ * Optional persistence so provenance survives restarts and a verifier can PIN the key:
39
+ * - AGA_GATEWAY_KEY — a 64-hex (32-byte) Ed25519 seed, OR
40
+ * - AGA_GATEWAY_KEY_FILE — path to a file containing that hex seed.
41
+ * If neither is set (or the value is invalid), fall back to an EPHEMERAL key and warn on stderr.
42
+ * See DEPLOYMENT.md. stderr only — never stdout (would corrupt the JSON-RPC stream).
43
+ */
44
+ function resolveGatewaySeed(fallback) {
45
+ const envKey = process.env.AGA_GATEWAY_KEY;
46
+ const keyFile = process.env.AGA_GATEWAY_KEY_FILE;
47
+ try {
48
+ if (envKey)
49
+ return seedFromHex(envKey);
50
+ if (keyFile)
51
+ return seedFromHex(readFileSync(keyFile, 'utf8'));
52
+ }
53
+ catch (e) {
54
+ console.error(`[aga] gateway key from ${envKey ? 'AGA_GATEWAY_KEY' : 'AGA_GATEWAY_KEY_FILE'} is invalid (${String(e)}); falling back to an ephemeral key.`);
55
+ }
56
+ console.error('[aga] Using an EPHEMERAL gateway signing key — it rotates on restart, so evidence-bundle provenance cannot be pinned across restarts. Set AGA_GATEWAY_KEY (64-hex 32-byte seed) or AGA_GATEWAY_KEY_FILE to persist it. See DEPLOYMENT.md.');
57
+ return fallback;
58
+ }
30
59
  // ── Default Policies ────────────────────────────────────────────
31
60
  const DEFAULT_ENFORCEMENT = {
32
61
  measurement_cadence_ms: 1000, ttl_seconds: 3600,
@@ -51,7 +80,7 @@ const CLAIM_VALUES = {
51
80
  };
52
81
  // ── Server Factory ──────────────────────────────────────────────
53
82
  export async function createAGAServer() {
54
- const server = new McpServer({ name: 'aga-mcp-server', version: '0.1.0' });
83
+ const server = new McpServer({ name: 'aga-mcp-server', version: SERVER_VERSION });
55
84
  const storage = new MemoryStorage();
56
85
  await storage.initialize();
57
86
  const issuerKP = generateKeyPair();
@@ -82,20 +111,31 @@ export async function createAGAServer() {
82
111
  // ── Governance middleware (NCCoE Section 4: Portal as PEP) ────
83
112
  const quarantineRef = { get current() { return quarantine; } };
84
113
  const behavioralMonitor = new BehavioralMonitor();
114
+ // Canonical SEP evidence ledger — single source of truth for the public bundle.
115
+ // Gateway signing key: persisted (AGA_GATEWAY_KEY / _FILE) so provenance is pinnable across
116
+ // restarts, else an ephemeral key (warned on stderr). This key signs every receipt + checkpoint.
117
+ const sep = new SepGateway({ gatewayId: 'aga-mcp-server', signer: signerFromSeed(resolveGatewaySeed(portalKP.secretKey)) });
118
+ // Registration convention (single partition, enforced by tests/core/governance-partition.test.ts):
119
+ // governedTool(...) → side-effecting agent action → emits a signed PERMITTED/DENIED SEP receipt.
120
+ // server.tool(...) → read / bootstrap / evidence / detective-monitor → ungoverned (in UNGOVERNED_TOOLS).
121
+ // createGovernanceWrapper double-checks UNGOVERNED_TOOLS, so a tool can never be both.
85
122
  function governedTool(name, description, schema, handler) {
86
- const wrap = createGovernanceWrapper(portal, quarantineRef, name, behavioralMonitor);
123
+ const wrap = createGovernanceWrapper(portal, quarantineRef, name, behavioralMonitor, (d) => { sep.record({ tool_name: d.tool, decision: d.decision, reason: d.reason, argumentsHash: d.argsHash }); });
87
124
  server.tool(name, description, schema, wrap(handler));
88
125
  }
89
126
  // ══════════════════════════════════════════════════════════════
90
127
  // TOOL: get_server_info
91
128
  // ══════════════════════════════════════════════════════════════
92
129
  server.tool('get_server_info', 'Get AGA server info, public keys, and portal state.', {}, async () => j({
93
- server: 'AGA MCP Server', version: '0.1.0',
94
- protocol: 'Attested Governance Artifacts v1.0.0',
130
+ server: 'AGA MCP Server', version: SERVER_VERSION,
131
+ protocol: 'Attested Governance Artifacts',
132
+ bundle_format: 'Ed25519-SHA256-JCS (canonical SEP evidence bundle)',
95
133
  nist_references: ['NIST-2025-0035', 'NCCoE AI Agent Identity'],
96
134
  issuer_public_key: pkToHex(issuerKP.publicKey),
97
135
  portal_public_key: pkToHex(portalKP.publicKey),
98
136
  chain_public_key: pkToHex(chainKP.publicKey),
137
+ gateway_public_key: sep.publicKeyHex, // pin THIS to prove provenance of evidence bundles
138
+ sep_receipt_count: sep.count,
99
139
  chain_initialized: chainInitialized,
100
140
  portal_state: portal.state,
101
141
  }));
@@ -155,6 +195,9 @@ export async function createAGAServer() {
155
195
  portal.loadArtifact(artifact, pkToHex(issuerKP.publicKey));
156
196
  quarantine = null;
157
197
  behavioralMonitor.reset();
198
+ // NOTE: the SEP ledger (`sep`) is intentionally NOT reset on re-attestation. The
199
+ // tamper-evident record of prior decisions (including DENIED) MUST survive, so an agent
200
+ // cannot "cover up" a denied permissions-workaround by re-attesting (Claude Mythos §4.5.4.1).
158
201
  if (behavioral_baseline)
159
202
  behavioralMonitor.setBaseline(behavioral_baseline);
160
203
  await autoChain('POLICY_ISSUANCE', { artifact_hash: hashArtifact(artifact), sealed_hash: artifact.sealed_hash });
@@ -241,45 +284,28 @@ export async function createAGAServer() {
241
284
  const result = verifyChainIntegrity(events);
242
285
  return j({ success: true, chain_valid: result.valid, events_verified: events.length, broken_at: result.brokenAt, error: result.error });
243
286
  });
244
- // ══════════════════════════════════════════════════════════════
245
- // TOOL: create_checkpoint
246
- // ══════════════════════════════════════════════════════════════
247
- governedTool('create_checkpoint', 'Batch events into Merkle tree, anchor.', { anchor_network: z.string().default('local') }, async ({ anchor_network }) => {
248
- const lastCP = await storage.getLatestCheckpoint();
249
- const startSeq = lastCP ? lastCP.batch_end_sequence + 1 : 0;
250
- const latest = await storage.getLatestEvent();
251
- if (!latest)
252
- return j({ success: false, error: 'No events' });
253
- const events = await storage.getEvents(startSeq, latest.sequence_number);
254
- if (!events.length)
255
- return j({ success: false, error: 'No new events since last checkpoint' });
256
- const { checkpoint, payload } = createCheckpoint(events, anchor_network);
257
- await storage.storeCheckpoint(checkpoint);
258
- await autoChain('ANCHOR_BATCH', payload);
259
- return j({ success: true, merkle_root: checkpoint.merkle_root, events_checkpointed: events.length, transaction_id: checkpoint.transaction_id });
260
- });
287
+ // (create_checkpoint REMOVED in P4 — it was the legacy continuity-chain checkpoint over the
288
+ // non-conformant Merkle. The canonical signed checkpoint is emitted automatically inside the
289
+ // SEP bundle by generate_evidence_bundle.)
261
290
  // ══════════════════════════════════════════════════════════════
262
291
  // TOOL: generate_evidence_bundle
263
292
  // ══════════════════════════════════════════════════════════════
264
- governedTool('generate_evidence_bundle', 'Package artifact + receipts + Merkle proofs for offline verification.', {}, async () => {
265
- const artifact = await storage.getLatestArtifact();
266
- if (!artifact)
267
- return j({ success: false, error: 'No artifact' });
268
- const cp = await storage.getLatestCheckpoint();
269
- if (!cp)
270
- return j({ success: false, error: 'No checkpoint. Call create_checkpoint first.' });
271
- const receipts = await storage.getReceiptsByArtifact(hashArtifact(artifact));
272
- const batchEvents = await storage.getEvents(cp.batch_start_sequence, cp.batch_end_sequence);
273
- const proofs = receipts
274
- .filter(r => r.sequence_number >= cp.batch_start_sequence && r.sequence_number <= cp.batch_end_sequence)
275
- .map(r => eventInclusionProof(batchEvents, r.sequence_number));
276
- const bundle = generateBundle(artifact, receipts, proofs, cp, portalKP);
277
- return j({ success: true, bundle, offline_verifiable: true, receipt_count: receipts.length, proof_count: proofs.length });
293
+ server.tool('generate_evidence_bundle', 'Export the canonical SEP evidence bundle: signed PERMITTED/DENIED tool-call receipts + Merkle proofs + a mandatory signed checkpoint, for offline third-party verification (verify_bundle_offline, aga-verify, or aga-receipt-spec/verify/verify-sep.mjs). Pin gateway_public_key to prove provenance.', {}, async () => {
294
+ if (sep.count === 0)
295
+ return j({ success: false, error: 'No governed tool-call receipts yet. Exercise a governed tool (e.g. measure_integrity) first.' });
296
+ return j(sep.exportBundle());
278
297
  });
279
298
  // ══════════════════════════════════════════════════════════════
280
299
  // TOOL: verify_bundle_offline (Section J)
281
300
  // ══════════════════════════════════════════════════════════════
282
- governedTool('verify_bundle_offline', 'Verify evidence bundle offline. (Section J)', { bundle: z.any(), pinned_public_key: z.string() }, async ({ bundle, pinned_public_key }) => j({ success: true, verification: verifyBundleOffline(bundle, pinned_public_key) }));
301
+ server.tool('verify_bundle_offline', 'Verify a canonical SEP evidence bundle offline (full §6 algorithm: structural floor, receipt signatures, chain+ordering, leaf-recompute + Merkle bijection, signed checkpoint). Pass pinned_public_key to also prove provenance.', { bundle: z.any(), pinned_public_key: z.string().optional() }, async ({ bundle, pinned_public_key }) => {
302
+ try {
303
+ return j(verifySepBundle(bundle, pinned_public_key));
304
+ }
305
+ catch (e) {
306
+ return j({ verdict: 'FAILED', summary: 'FAILED — could not parse or verify the bundle', error: String(e) });
307
+ }
308
+ });
283
309
  // ══════════════════════════════════════════════════════════════
284
310
  // TOOL: request_claim
285
311
  // ══════════════════════════════════════════════════════════════
@@ -330,17 +356,35 @@ export async function createAGAServer() {
330
356
  // ══════════════════════════════════════════════════════════════
331
357
  // TOOL: measure_behavior (NIST-2025-0035)
332
358
  // ══════════════════════════════════════════════════════════════
333
- server.tool('measure_behavior', 'Measure behavioral patterns of agent tool usage. Detects unauthorized tools, rate violations, and forbidden sequences. (NIST-2025-0035)', {}, async () => {
359
+ server.tool('measure_behavior', 'Measure behavioral patterns (unauthorized tools, rate violations, forbidden sequences). DETECTIVE-ONLY by default: it records and PROVES drift but does not block. Pass enforce=true to also trip the portal into phantom quarantine on drift (opt-in; off by default). (NIST-2025-0035)', { enforce: z.boolean().default(false) }, async ({ enforce }) => {
334
360
  const measurement = behavioralMonitor.measure();
361
+ let enforced = false;
335
362
  if (measurement.drift_detected) {
363
+ const summary = measurement.violations.map(v => v.type).join(',');
364
+ // Opt-in enforcement (off by default): trip phantom quarantine so subsequent governed calls are denied.
365
+ if (enforce && portal.state !== 'TERMINATED') {
366
+ portal.state = 'PHANTOM_QUARANTINE';
367
+ quarantine = initQuarantine();
368
+ enforced = true;
369
+ }
370
+ // Provable detection: a signed SEP receipt records the drift finding and whether it was enforced.
371
+ sep.record({
372
+ tool_name: 'measure_behavior',
373
+ decision: enforced ? 'DENIED' : 'PERMITTED',
374
+ reason: `BEHAVIORAL_DRIFT_DETECTED [${enforced ? 'ENFORCED->QUARANTINE' : 'detective-only, not enforced'}]: ${summary}`,
375
+ arguments: { violations: measurement.violations, behavioral_hash: measurement.behavioral_hash },
376
+ });
336
377
  await autoChain('INTERACTION_RECEIPT', {
337
378
  type: 'BEHAVIORAL_DRIFT',
338
379
  violations: measurement.violations,
339
380
  behavioral_hash: measurement.behavioral_hash,
381
+ enforced,
340
382
  });
341
383
  }
342
384
  return j({
343
385
  success: true,
386
+ mode: enforce ? 'enforcement' : 'detective-only',
387
+ enforced,
344
388
  ...measurement,
345
389
  violation_count: measurement.violations.length,
346
390
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PolicyArtifact, ContinuityEvent, SignedReceipt, CheckpointReference } from '../core/types.js';
1
+ import type { PolicyArtifact, ContinuityEvent, SignedReceipt } from '../core/types.js';
2
2
  export interface AGAStorage {
3
3
  initialize(): Promise<void>;
4
4
  close(): Promise<void>;
@@ -14,8 +14,5 @@ export interface AGAStorage {
14
14
  getReceipt(id: string): Promise<SignedReceipt | null>;
15
15
  getReceiptsByArtifact(ref: string): Promise<SignedReceipt[]>;
16
16
  getAllReceipts(): Promise<SignedReceipt[]>;
17
- storeCheckpoint(c: CheckpointReference): Promise<void>;
18
- getLatestCheckpoint(): Promise<CheckpointReference | null>;
19
- getCheckpoints(): Promise<CheckpointReference[]>;
20
17
  }
21
18
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/storage/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5G,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChE,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAClD,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3C,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACtD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7D,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3C,eAAe,CAAC,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC3D,cAAc,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;CAClD"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/storage/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvF,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,aAAa,CAAC,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAChE,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACxE,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAClD,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3C,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACtD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC7D,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CAC5C"}
@@ -1,10 +1,9 @@
1
1
  import type { AGAStorage } from './interface.js';
2
- import type { PolicyArtifact, ContinuityEvent, SignedReceipt, CheckpointReference } from '../core/types.js';
2
+ import type { PolicyArtifact, ContinuityEvent, SignedReceipt } from '../core/types.js';
3
3
  export declare class MemoryStorage implements AGAStorage {
4
4
  private artifacts;
5
5
  private events;
6
6
  private receipts;
7
- private checkpoints;
8
7
  initialize(): Promise<void>;
9
8
  close(): Promise<void>;
10
9
  storeArtifact(a: PolicyArtifact): Promise<void>;
@@ -19,8 +18,5 @@ export declare class MemoryStorage implements AGAStorage {
19
18
  getReceipt(id: string): Promise<SignedReceipt | null>;
20
19
  getReceiptsByArtifact(ref: string): Promise<SignedReceipt[]>;
21
20
  getAllReceipts(): Promise<SignedReceipt[]>;
22
- storeCheckpoint(c: CheckpointReference): Promise<void>;
23
- getLatestCheckpoint(): Promise<CheckpointReference | null>;
24
- getCheckpoints(): Promise<CheckpointReference[]>;
25
21
  }
26
22
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5G,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,WAAW,CAA6B;IAE1C,UAAU;IACV,KAAK;IACL,aAAa,CAAC,CAAC,EAAE,cAAc;IAC/B,WAAW,CAAC,CAAC,EAAE,MAAM;IACrB,iBAAiB;IACjB,UAAU,CAAC,CAAC,EAAE,eAAe;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAC9B,cAAc;IACd,YAAY;IACZ,YAAY,CAAC,CAAC,EAAE,aAAa;IAC7B,UAAU,CAAC,EAAE,EAAE,MAAM;IACrB,qBAAqB,CAAC,GAAG,EAAE,MAAM;IACjC,cAAc;IACd,eAAe,CAAC,CAAC,EAAE,mBAAmB;IACtC,mBAAmB;IACnB,cAAc;CACrB"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvF,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAoC;IAE9C,UAAU;IACV,KAAK;IACL,aAAa,CAAC,CAAC,EAAE,cAAc;IAC/B,WAAW,CAAC,CAAC,EAAE,MAAM;IACrB,iBAAiB;IACjB,UAAU,CAAC,CAAC,EAAE,eAAe;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAC9B,cAAc;IACd,YAAY;IACZ,YAAY,CAAC,CAAC,EAAE,aAAa;IAC7B,UAAU,CAAC,EAAE,EAAE,MAAM;IACrB,qBAAqB,CAAC,GAAG,EAAE,MAAM;IACjC,cAAc;CACrB"}
@@ -2,7 +2,6 @@ export class MemoryStorage {
2
2
  artifacts = new Map();
3
3
  events = [];
4
4
  receipts = new Map();
5
- checkpoints = [];
6
5
  async initialize() { }
7
6
  async close() { }
8
7
  async storeArtifact(a) { this.artifacts.set(a.sealed_hash, a); }
@@ -17,8 +16,5 @@ export class MemoryStorage {
17
16
  async getReceipt(id) { return this.receipts.get(id) ?? null; }
18
17
  async getReceiptsByArtifact(ref) { return [...this.receipts.values()].filter(r => r.artifact_reference === ref); }
19
18
  async getAllReceipts() { return [...this.receipts.values()]; }
20
- async storeCheckpoint(c) { this.checkpoints.push(c); }
21
- async getLatestCheckpoint() { return this.checkpoints.length ? this.checkpoints[this.checkpoints.length - 1] : null; }
22
- async getCheckpoints() { return [...this.checkpoints]; }
23
19
  }
24
20
  //# sourceMappingURL=memory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,aAAa;IAChB,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,MAAM,GAAsB,EAAE,CAAC;IAC/B,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,KAAK,CAAC,UAAU,KAAI,CAAC;IACrB,KAAK,CAAC,KAAK,KAAI,CAAC;IAChB,KAAK,CAAC,aAAa,CAAC,CAAiB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,KAAK,CAAC,WAAW,CAAC,CAAS,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,iBAAiB,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/G,KAAK,CAAC,UAAU,CAAC,CAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,QAAQ,CAAC,GAAW,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAChG,KAAK,CAAC,SAAS,CAAC,CAAS,EAAE,CAAS,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9H,KAAK,CAAC,cAAc,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClG,KAAK,CAAC,YAAY,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACjD,KAAK,CAAC,YAAY,CAAC,CAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,KAAK,CAAC,UAAU,CAAC,EAAU,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACtE,KAAK,CAAC,qBAAqB,CAAC,GAAW,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1H,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;CAC/D"}
@@ -1,5 +1,5 @@
1
1
  import type { AGAStorage } from './interface.js';
2
- import type { PolicyArtifact, ContinuityEvent, SignedReceipt, CheckpointReference } from '../core/types.js';
2
+ import type { PolicyArtifact, ContinuityEvent, SignedReceipt } from '../core/types.js';
3
3
  export declare class SQLiteStorage implements AGAStorage {
4
4
  private db;
5
5
  constructor(path?: string);
@@ -18,8 +18,5 @@ export declare class SQLiteStorage implements AGAStorage {
18
18
  getReceipt(id: string): Promise<SignedReceipt | null>;
19
19
  getReceiptsByArtifact(ref: string): Promise<any[]>;
20
20
  getAllReceipts(): Promise<any[]>;
21
- storeCheckpoint(c: CheckpointReference): Promise<void>;
22
- getLatestCheckpoint(): Promise<CheckpointReference | null>;
23
- getCheckpoints(): Promise<any[]>;
24
21
  }
25
22
  //# sourceMappingURL=sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAU5G,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,EAAE,CAAM;gBACJ,IAAI,SAAe;IAKzB,UAAU;IASV,KAAK;IACX,OAAO,CAAC,CAAC;IACH,aAAa,CAAC,CAAC,EAAE,cAAc;IAC/B,WAAW,CAAC,CAAC,EAAE,MAAM;IACrB,iBAAiB;IACjB,UAAU,CAAC,CAAC,EAAE,eAAe;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAC9B,cAAc;IACd,YAAY;IACZ,YAAY,CAAC,CAAC,EAAE,aAAa;IAC7B,UAAU,CAAC,EAAE,EAAE,MAAM;IACrB,qBAAqB,CAAC,GAAG,EAAE,MAAM;IACjC,cAAc;IACd,eAAe,CAAC,CAAC,EAAE,mBAAmB;IACtC,mBAAmB;IACnB,cAAc;CACrB"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUvF,qBAAa,aAAc,YAAW,UAAU;IAC9C,OAAO,CAAC,EAAE,CAAM;gBACJ,IAAI,SAAe;IAKzB,UAAU;IAQV,KAAK;IACX,OAAO,CAAC,CAAC;IACH,aAAa,CAAC,CAAC,EAAE,cAAc;IAC/B,WAAW,CAAC,CAAC,EAAE,MAAM;IACrB,iBAAiB;IACjB,UAAU,CAAC,CAAC,EAAE,eAAe;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAC9B,cAAc;IACd,YAAY;IACZ,YAAY,CAAC,CAAC,EAAE,aAAa;IAC7B,UAAU,CAAC,EAAE,EAAE,MAAM;IACrB,qBAAqB,CAAC,GAAG,EAAE,MAAM;IACjC,cAAc;CACrB"}
@@ -19,7 +19,6 @@ export class SQLiteStorage {
19
19
  CREATE TABLE IF NOT EXISTS artifacts (sealed_hash TEXT PRIMARY KEY, data TEXT NOT NULL, created_at TEXT DEFAULT (datetime('now')));
20
20
  CREATE TABLE IF NOT EXISTS chain_events (sequence_number INTEGER PRIMARY KEY, event_id TEXT UNIQUE, event_type TEXT, leaf_hash TEXT, data TEXT NOT NULL);
21
21
  CREATE TABLE IF NOT EXISTS receipts (receipt_id TEXT PRIMARY KEY, artifact_reference TEXT, sequence_number INTEGER, data TEXT NOT NULL);
22
- CREATE TABLE IF NOT EXISTS checkpoints (id INTEGER PRIMARY KEY AUTOINCREMENT, merkle_root TEXT, batch_start INTEGER, batch_end INTEGER, data TEXT NOT NULL);
23
22
  CREATE INDEX IF NOT EXISTS idx_receipts_artifact ON receipts(artifact_reference);
24
23
  `);
25
24
  }
@@ -37,8 +36,5 @@ export class SQLiteStorage {
37
36
  async getReceipt(id) { return this.p(this.db.prepare('SELECT data FROM receipts WHERE receipt_id=?').get(id)); }
38
37
  async getReceiptsByArtifact(ref) { return this.db.prepare('SELECT data FROM receipts WHERE artifact_reference=? ORDER BY sequence_number').all(ref).map((r) => JSON.parse(r.data)); }
39
38
  async getAllReceipts() { return this.db.prepare('SELECT data FROM receipts ORDER BY sequence_number').all().map((r) => JSON.parse(r.data)); }
40
- async storeCheckpoint(c) { this.db.prepare('INSERT INTO checkpoints (merkle_root,batch_start,batch_end,data) VALUES (?,?,?,?)').run(c.merkle_root, c.batch_start_sequence, c.batch_end_sequence, JSON.stringify(c)); }
41
- async getLatestCheckpoint() { return this.p(this.db.prepare('SELECT data FROM checkpoints ORDER BY id DESC LIMIT 1').get()); }
42
- async getCheckpoints() { return this.db.prepare('SELECT data FROM checkpoints ORDER BY id').all().map((r) => JSON.parse(r.data)); }
43
39
  }
44
40
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/utils/canonical.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CASlD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD"}
1
+ {"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../src/utils/canonical.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAmBlD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD"}
@@ -5,7 +5,17 @@ export function deepSortKeys(obj) {
5
5
  return obj.map(deepSortKeys);
6
6
  if (obj instanceof Uint8Array)
7
7
  return obj;
8
- const sorted = {};
8
+ // Null-prototype accumulator: injective + pollution-proof (a plain {} would let a
9
+ // "__proto__" key invoke the prototype setter and be silently dropped).
10
+ //
11
+ // NOTE: this is the INTERNAL continuity-format canonicalizer (used by core/* artifact, chain,
12
+ // portal, disclosure, receipt, subject) — it is internally consistent (sign and verify use it
13
+ // identically) but it is NOT the cross-stack SEP canonicalizer. Because canonicalize() below
14
+ // re-stringifies this rebuilt object, V8 reorders integer-like keys numerically, so for integer
15
+ // keys it does NOT match src/sep/canonical.ts (which concatenates lexicographically). The
16
+ // continuity chain is not a cross-stack-verified format, so this is safe; the canonical,
17
+ // cross-stack-authoritative serializer is src/sep/canonical.ts. Do not use this for SEP.
18
+ const sorted = Object.create(null);
9
19
  for (const key of Object.keys(obj).sort()) {
10
20
  sorted[key] = deepSortKeys(obj[key]);
11
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/utils/canonical.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,GAAG,CAAC;IAC1C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../src/utils/canonical.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC7E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACrD,IAAI,GAAG,YAAY,UAAU;QAAE,OAAO,GAAG,CAAC;IAC1C,kFAAkF;IAClF,wEAAwE;IACxE,EAAE;IACF,8FAA8F;IAC9F,8FAA8F;IAC9F,6FAA6F;IAC7F,gGAAgG;IAChG,0FAA0F;IAC1F,yFAAyF;IACzF,yFAAyF;IACzF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAC;IAC9D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAA8B,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrE,MAAM,CAAC,GAAG,CAAC,GAAG,YAAY,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,IAAI,MAAM,CAAqC;AAErE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAKlG;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvE"}
1
+ {"version":3,"file":"timestamp.d.ts","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,IAAI,MAAM,CAAqC;AAErE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAKlG;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAKvE"}
@@ -8,6 +8,9 @@ export function isWithinPeriod(now, effective, expiration) {
8
8
  return true;
9
9
  }
10
10
  export function isExpired(issuedAt, ttlSeconds) {
11
- return Date.now() > Date.parse(issuedAt) + ttlSeconds * 1000;
11
+ // Half-open validity window [issued, issued + ttl): the artifact is expired the instant the TTL
12
+ // elapses, so a zero-TTL artifact is born expired. ">=" (not ">") makes this deterministic at the
13
+ // boundary — otherwise a zero-TTL check landing in the same millisecond as issuance reads as live.
14
+ return Date.now() >= Date.parse(issuedAt) + ttlSeconds * 1000;
12
15
  }
13
16
  //# sourceMappingURL=timestamp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,KAAa,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAErE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB,EAAE,UAA0B;IACvF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAkB;IAC5D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../src/utils/timestamp.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,KAAa,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAErE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,SAAiB,EAAE,UAA0B;IACvF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,UAAU,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,UAAkB;IAC5D,gGAAgG;IAChG,kGAAkG;IAClG,mGAAmG;IACnG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,IAAI,CAAC;AAChE,CAAC"}
@@ -1,2 +1,3 @@
1
+ /** RFC 4122 v4 UUID via node:crypto (CSPRNG-backed; no external dependency). */
1
2
  export declare function uuid(): string;
2
3
  //# sourceMappingURL=uuid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AACA,wBAAgB,IAAI,IAAI,MAAM,CAAiB"}
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,wBAAgB,IAAI,IAAI,MAAM,CAAyB"}
@@ -1,3 +1,4 @@
1
- import { v4 } from 'uuid';
2
- export function uuid() { return v4(); }
1
+ import { randomUUID } from 'node:crypto';
2
+ /** RFC 4122 v4 UUID via node:crypto (CSPRNG-backed; no external dependency). */
3
+ export function uuid() { return randomUUID(); }
3
4
  //# sourceMappingURL=uuid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,MAAM,UAAU,IAAI,KAAa,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,gFAAgF;AAChF,MAAM,UAAU,IAAI,KAAa,OAAO,UAAU,EAAE,CAAC,CAAC,CAAC"}