@kya-os/mcp 1.10.0 → 1.11.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 (224) hide show
  1. package/AUDITABILITY.md +441 -0
  2. package/CHANGELOG.md +104 -0
  3. package/CONFORMANCE.md +598 -0
  4. package/README.md +67 -4
  5. package/SPEC.md +1827 -0
  6. package/dist/audit/adapters/legacy-audit-log.d.ts +20 -0
  7. package/dist/audit/adapters/legacy-audit-log.d.ts.map +1 -0
  8. package/dist/audit/adapters/legacy-audit-log.js +56 -0
  9. package/dist/audit/adapters/legacy-audit-log.js.map +1 -0
  10. package/dist/audit/adapters/mcp.d.ts +105 -0
  11. package/dist/audit/adapters/mcp.d.ts.map +1 -0
  12. package/dist/audit/adapters/mcp.js +213 -0
  13. package/dist/audit/adapters/mcp.js.map +1 -0
  14. package/dist/audit/assurance.d.ts +22 -0
  15. package/dist/audit/assurance.d.ts.map +1 -0
  16. package/dist/audit/assurance.js +39 -0
  17. package/dist/audit/assurance.js.map +1 -0
  18. package/dist/audit/checkpoint-coordinator.d.ts +51 -0
  19. package/dist/audit/checkpoint-coordinator.d.ts.map +1 -0
  20. package/dist/audit/checkpoint-coordinator.js +112 -0
  21. package/dist/audit/checkpoint-coordinator.js.map +1 -0
  22. package/dist/audit/checkpoint.d.ts +59 -0
  23. package/dist/audit/checkpoint.d.ts.map +1 -0
  24. package/dist/audit/checkpoint.js +219 -0
  25. package/dist/audit/checkpoint.js.map +1 -0
  26. package/dist/audit/cli.d.ts +8 -0
  27. package/dist/audit/cli.d.ts.map +1 -0
  28. package/dist/audit/cli.js +85 -0
  29. package/dist/audit/cli.js.map +1 -0
  30. package/dist/audit/crypto.d.ts +37 -0
  31. package/dist/audit/crypto.d.ts.map +1 -0
  32. package/dist/audit/crypto.js +68 -0
  33. package/dist/audit/crypto.js.map +1 -0
  34. package/dist/audit/errors.d.ts +29 -0
  35. package/dist/audit/errors.d.ts.map +1 -0
  36. package/dist/audit/errors.js +33 -0
  37. package/dist/audit/errors.js.map +1 -0
  38. package/dist/audit/evidence.d.ts +45 -0
  39. package/dist/audit/evidence.d.ts.map +1 -0
  40. package/dist/audit/evidence.js +151 -0
  41. package/dist/audit/evidence.js.map +1 -0
  42. package/dist/audit/index.d.ts +27 -0
  43. package/dist/audit/index.d.ts.map +1 -0
  44. package/dist/audit/index.js +27 -0
  45. package/dist/audit/index.js.map +1 -0
  46. package/dist/audit/integrity.d.ts +19 -0
  47. package/dist/audit/integrity.d.ts.map +1 -0
  48. package/dist/audit/integrity.js +64 -0
  49. package/dist/audit/integrity.js.map +1 -0
  50. package/dist/audit/merkle.d.ts +31 -0
  51. package/dist/audit/merkle.d.ts.map +1 -0
  52. package/dist/audit/merkle.js +195 -0
  53. package/dist/audit/merkle.js.map +1 -0
  54. package/dist/audit/mirror-service.d.ts +19 -0
  55. package/dist/audit/mirror-service.d.ts.map +1 -0
  56. package/dist/audit/mirror-service.js +54 -0
  57. package/dist/audit/mirror-service.js.map +1 -0
  58. package/dist/audit/projection.d.ts +90 -0
  59. package/dist/audit/projection.d.ts.map +1 -0
  60. package/dist/audit/projection.js +142 -0
  61. package/dist/audit/projection.js.map +1 -0
  62. package/dist/audit/providers/anchor.d.ts +23 -0
  63. package/dist/audit/providers/anchor.d.ts.map +1 -0
  64. package/dist/audit/providers/anchor.js +25 -0
  65. package/dist/audit/providers/anchor.js.map +1 -0
  66. package/dist/audit/providers/evidence.d.ts +36 -0
  67. package/dist/audit/providers/evidence.d.ts.map +1 -0
  68. package/dist/audit/providers/evidence.js +2 -0
  69. package/dist/audit/providers/evidence.js.map +1 -0
  70. package/dist/audit/providers/journal.d.ts +35 -0
  71. package/dist/audit/providers/journal.d.ts.map +1 -0
  72. package/dist/audit/providers/journal.js +2 -0
  73. package/dist/audit/providers/journal.js.map +1 -0
  74. package/dist/audit/providers/memory-journal.d.ts +24 -0
  75. package/dist/audit/providers/memory-journal.d.ts.map +1 -0
  76. package/dist/audit/providers/memory-journal.js +73 -0
  77. package/dist/audit/providers/memory-journal.js.map +1 -0
  78. package/dist/audit/providers/observer.d.ts +30 -0
  79. package/dist/audit/providers/observer.d.ts.map +1 -0
  80. package/dist/audit/providers/observer.js +100 -0
  81. package/dist/audit/providers/observer.js.map +1 -0
  82. package/dist/audit/providers/outbox.d.ts +37 -0
  83. package/dist/audit/providers/outbox.d.ts.map +1 -0
  84. package/dist/audit/providers/outbox.js +52 -0
  85. package/dist/audit/providers/outbox.js.map +1 -0
  86. package/dist/audit/providers/recorder-client.d.ts +22 -0
  87. package/dist/audit/providers/recorder-client.d.ts.map +1 -0
  88. package/dist/audit/providers/recorder-client.js +17 -0
  89. package/dist/audit/providers/recorder-client.js.map +1 -0
  90. package/dist/audit/providers/source-state.d.ts +37 -0
  91. package/dist/audit/providers/source-state.d.ts.map +1 -0
  92. package/dist/audit/providers/source-state.js +94 -0
  93. package/dist/audit/providers/source-state.js.map +1 -0
  94. package/dist/audit/recorder-service.d.ts +78 -0
  95. package/dist/audit/recorder-service.d.ts.map +1 -0
  96. package/dist/audit/recorder-service.js +331 -0
  97. package/dist/audit/recorder-service.js.map +1 -0
  98. package/dist/audit/replay-bundle.d.ts +52 -0
  99. package/dist/audit/replay-bundle.d.ts.map +1 -0
  100. package/dist/audit/replay-bundle.js +551 -0
  101. package/dist/audit/replay-bundle.js.map +1 -0
  102. package/dist/audit/schemas.d.ts +1144 -0
  103. package/dist/audit/schemas.d.ts.map +1 -0
  104. package/dist/audit/schemas.js +483 -0
  105. package/dist/audit/schemas.js.map +1 -0
  106. package/dist/audit/service.d.ts +91 -0
  107. package/dist/audit/service.d.ts.map +1 -0
  108. package/dist/audit/service.js +222 -0
  109. package/dist/audit/service.js.map +1 -0
  110. package/dist/audit/testing/index.d.ts +2 -0
  111. package/dist/audit/testing/index.d.ts.map +1 -0
  112. package/dist/audit/testing/index.js +2 -0
  113. package/dist/audit/testing/index.js.map +1 -0
  114. package/dist/audit/testing/provider-contracts.d.ts +51 -0
  115. package/dist/audit/testing/provider-contracts.d.ts.map +1 -0
  116. package/dist/audit/testing/provider-contracts.js +391 -0
  117. package/dist/audit/testing/provider-contracts.js.map +1 -0
  118. package/dist/audit/types.d.ts +356 -0
  119. package/dist/audit/types.d.ts.map +1 -0
  120. package/dist/audit/types.js +49 -0
  121. package/dist/audit/types.js.map +1 -0
  122. package/dist/audit/verifier.d.ts +73 -0
  123. package/dist/audit/verifier.d.ts.map +1 -0
  124. package/dist/audit/verifier.js +322 -0
  125. package/dist/audit/verifier.js.map +1 -0
  126. package/dist/card/proof/canonical.d.ts.map +1 -1
  127. package/dist/card/proof/canonical.js +19 -1
  128. package/dist/card/proof/canonical.js.map +1 -1
  129. package/dist/delegation/delegation-graph.d.ts +4 -0
  130. package/dist/delegation/delegation-graph.d.ts.map +1 -1
  131. package/dist/delegation/delegation-graph.js +28 -2
  132. package/dist/delegation/delegation-graph.js.map +1 -1
  133. package/dist/delegation/statuslist-manager.d.ts +5 -0
  134. package/dist/delegation/statuslist-manager.d.ts.map +1 -1
  135. package/dist/delegation/statuslist-manager.js.map +1 -1
  136. package/dist/delegation/storage/memory-graph-storage.d.ts +4 -2
  137. package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -1
  138. package/dist/delegation/storage/memory-graph-storage.js +18 -0
  139. package/dist/delegation/storage/memory-graph-storage.js.map +1 -1
  140. package/dist/delegation/storage/memory-statuslist-storage.d.ts +5 -2
  141. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -1
  142. package/dist/delegation/storage/memory-statuslist-storage.js +21 -2
  143. package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -1
  144. package/dist/delegation/utils.d.ts.map +1 -1
  145. package/dist/delegation/utils.js +2 -42
  146. package/dist/delegation/utils.js.map +1 -1
  147. package/dist/delegation/vc-verifier.d.ts +4 -0
  148. package/dist/delegation/vc-verifier.d.ts.map +1 -1
  149. package/dist/delegation/vc-verifier.js +44 -13
  150. package/dist/delegation/vc-verifier.js.map +1 -1
  151. package/dist/errors.d.ts +1 -1
  152. package/dist/errors.js +1 -1
  153. package/dist/index.d.ts +2 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +3 -1
  156. package/dist/index.js.map +1 -1
  157. package/dist/middleware/kya-os-transport.d.ts.map +1 -1
  158. package/dist/middleware/kya-os-transport.js +10 -3
  159. package/dist/middleware/kya-os-transport.js.map +1 -1
  160. package/dist/middleware/with-kya-os-server.d.ts +6 -0
  161. package/dist/middleware/with-kya-os-server.d.ts.map +1 -1
  162. package/dist/middleware/with-kya-os-server.js +2 -0
  163. package/dist/middleware/with-kya-os-server.js.map +1 -1
  164. package/dist/middleware/with-kya-os.config-types.d.ts +15 -0
  165. package/dist/middleware/with-kya-os.config-types.d.ts.map +1 -1
  166. package/dist/middleware/with-kya-os.config-types.js.map +1 -1
  167. package/dist/middleware/with-kya-os.d.ts.map +1 -1
  168. package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +1 -1
  169. package/dist/middleware/with-kya-os.delegation-gate.js +96 -3
  170. package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
  171. package/dist/middleware/with-kya-os.deps.d.ts +2 -0
  172. package/dist/middleware/with-kya-os.deps.d.ts.map +1 -1
  173. package/dist/middleware/with-kya-os.js +23 -0
  174. package/dist/middleware/with-kya-os.js.map +1 -1
  175. package/dist/middleware/with-kya-os.policy-gate.d.ts.map +1 -1
  176. package/dist/middleware/with-kya-os.policy-gate.js +29 -4
  177. package/dist/middleware/with-kya-os.policy-gate.js.map +1 -1
  178. package/dist/middleware/with-kya-os.protocol.d.ts.map +1 -1
  179. package/dist/middleware/with-kya-os.protocol.js +10 -0
  180. package/dist/middleware/with-kya-os.protocol.js.map +1 -1
  181. package/dist/middleware/with-kya-os.session.d.ts.map +1 -1
  182. package/dist/middleware/with-kya-os.session.js +208 -2
  183. package/dist/middleware/with-kya-os.session.js.map +1 -1
  184. package/dist/middleware/with-kya-os.types.d.ts +6 -0
  185. package/dist/middleware/with-kya-os.types.d.ts.map +1 -1
  186. package/dist/middleware/with-kya-os.types.js.map +1 -1
  187. package/dist/proof/generator.d.ts.map +1 -1
  188. package/dist/proof/generator.js +6 -5
  189. package/dist/proof/generator.js.map +1 -1
  190. package/dist/proof/verifier.d.ts +12 -0
  191. package/dist/proof/verifier.d.ts.map +1 -1
  192. package/dist/proof/verifier.js +35 -4
  193. package/dist/proof/verifier.js.map +1 -1
  194. package/dist/session/manager.js +1 -1
  195. package/dist/session/manager.js.map +1 -1
  196. package/dist/utils/canonical-json.d.ts +15 -0
  197. package/dist/utils/canonical-json.d.ts.map +1 -0
  198. package/dist/utils/canonical-json.js +109 -0
  199. package/dist/utils/canonical-json.js.map +1 -0
  200. package/dist/utils/crypto-service.d.ts.map +1 -1
  201. package/dist/utils/crypto-service.js +5 -0
  202. package/dist/utils/crypto-service.js.map +1 -1
  203. package/dist/utils/index.d.ts +1 -0
  204. package/dist/utils/index.d.ts.map +1 -1
  205. package/dist/utils/index.js +1 -0
  206. package/dist/utils/index.js.map +1 -1
  207. package/dist/utils/safe-fetch-transports.d.ts +15 -2
  208. package/dist/utils/safe-fetch-transports.d.ts.map +1 -1
  209. package/dist/utils/safe-fetch-transports.js +66 -32
  210. package/dist/utils/safe-fetch-transports.js.map +1 -1
  211. package/package.json +29 -11
  212. package/schemas/README.md +27 -1
  213. package/schemas/audit-anchor-receipt.schema.json +16 -0
  214. package/schemas/audit-bundle-manifest.schema.json +71 -0
  215. package/schemas/audit-checkpoint.schema.json +37 -0
  216. package/schemas/audit-consistency-proof.schema.json +17 -0
  217. package/schemas/audit-entry.schema.json +33 -0
  218. package/schemas/audit-event.schema.json +168 -0
  219. package/schemas/audit-inclusion-proof.schema.json +17 -0
  220. package/schemas/audit-observation.schema.json +40 -0
  221. package/schemas/audit-receipt.schema.json +32 -0
  222. package/schemas/audit-verification-policy.schema.json +71 -0
  223. package/schemas/audit-verification-report.schema.json +29 -0
  224. package/schemas/well-known-mcpi.json +17 -0
@@ -0,0 +1,222 @@
1
+ import { canonicalizeJson } from '../utils/canonical-json.js';
2
+ import { assertAuditCapabilities } from './assurance.js';
3
+ import { AuditProtocolError, AUDIT_ERROR_CODES } from './errors.js';
4
+ import { collectAuditEvidenceRefs, digestAuditEvent } from './integrity.js';
5
+ import { parseAuditProducerEvent } from './schemas.js';
6
+ /** Producer-side service: creates frozen events and applies declared delivery semantics. */
7
+ export class AuditTrailService {
8
+ configuration;
9
+ idCounter = 0n;
10
+ sourceState;
11
+ sourceConstructionTail = Promise.resolve();
12
+ get auditProfile() {
13
+ return this.configuration.capabilities?.profile ?? 'AAP-0';
14
+ }
15
+ get capabilities() {
16
+ return this.configuration.capabilities;
17
+ }
18
+ constructor(configuration) {
19
+ if (configuration.delivery === 'buffered' &&
20
+ configuration.outbox?.capabilities.durability !== 'durable') {
21
+ throw new AuditProtocolError(AUDIT_ERROR_CODES.INVALID_CONFIGURATION, 'Buffered audit delivery requires a durable outbox provider');
22
+ }
23
+ if (configuration.capabilities !== undefined) {
24
+ if (configuration.capabilities.delivery !== configuration.delivery) {
25
+ throw new AuditProtocolError(AUDIT_ERROR_CODES.INVALID_CONFIGURATION, 'Advertised audit delivery does not match the trail delivery mode');
26
+ }
27
+ assertAuditCapabilities(configuration.capabilities);
28
+ if (configuration.capabilities.sourceHighWater &&
29
+ configuration.sourceState.capabilities.durability !== 'durable') {
30
+ throw new AuditProtocolError(AUDIT_ERROR_CODES.INVALID_CONFIGURATION, 'Advertised source high-water support requires durable source state');
31
+ }
32
+ }
33
+ this.configuration = Object.freeze({ ...configuration });
34
+ this.sourceState = configuration.sourceState;
35
+ }
36
+ /**
37
+ * A direct-mode retry is idempotent only when it rebuilds the identical frozen
38
+ * event: callers retrying with a stable `eventId` must also pin `occurredAt`,
39
+ * otherwise the recorder correctly rejects the divergent content as an
40
+ * event-identity conflict. Buffered redelivery is always byte-stable.
41
+ */
42
+ async record(input, options = {}) {
43
+ const eventId = input.eventId ?? this.nextEventId();
44
+ const encryptedEvidence = options.encryptedEvidence ?? [];
45
+ const buffered = this.configuration.delivery === 'buffered';
46
+ const { event, submission } = await this.withSourceConstruction(async () => {
47
+ const builtEvent = await this.buildAndLinkEvent(input, eventId);
48
+ this.assertEvidenceIsReferenced(builtEvent, encryptedEvidence);
49
+ const frozenSubmission = Object.freeze({
50
+ ledgerId: this.configuration.ledgerId,
51
+ // Buffered submissions are never epoch-pinned: a durable outbox item may
52
+ // be redelivered after an epoch rollover, where logical-ledger
53
+ // idempotency (not epoch pinning) carries the retry guarantee.
54
+ ...(buffered || this.configuration.expectedLedgerEpochId === undefined
55
+ ? {}
56
+ : { expectedLedgerEpochId: this.configuration.expectedLedgerEpochId }),
57
+ producerEvent: builtEvent,
58
+ encryptedEvidence: Object.freeze([...encryptedEvidence]),
59
+ });
60
+ if (buffered) {
61
+ // Enqueued inside the source-construction lock so items commit to the
62
+ // outbox in claimed source-sequence order for FIFO providers.
63
+ await this.configuration.outbox.enqueue(Object.freeze({
64
+ eventId: builtEvent.eventId,
65
+ submission: frozenSubmission,
66
+ enqueuedAt: this.configuration.clock.now(),
67
+ attempts: 0,
68
+ }));
69
+ }
70
+ return { event: builtEvent, submission: frozenSubmission };
71
+ });
72
+ if (buffered)
73
+ return { status: 'pending', event };
74
+ let entry;
75
+ try {
76
+ entry = await this.submitAndValidate(submission);
77
+ }
78
+ catch (error) {
79
+ this.configuration.onDeliveryFailure?.(error, event);
80
+ if (this.configuration.delivery === 'required')
81
+ throw error;
82
+ return { status: 'failed', event, error };
83
+ }
84
+ try {
85
+ await this.sourceState.markReceipted(this.configuration.sourceId, event.source.sourceSequence, entry.entryDigest);
86
+ }
87
+ catch (error) {
88
+ // The recorder commit is authoritative and must not be reported as
89
+ // failed: doing so encourages a caller to emit a new event identity.
90
+ this.configuration.onSourceStateFailure?.(error, event);
91
+ }
92
+ return { status: 'recorded', event, entry };
93
+ }
94
+ async flush(limit) {
95
+ if (this.configuration.delivery !== 'buffered')
96
+ return { delivered: 0, failed: 0 };
97
+ let delivered = 0;
98
+ let failed = 0;
99
+ const blockedSources = new Set();
100
+ for await (const item of this.configuration.outbox.pending(limit)) {
101
+ const sourceId = item.submission.producerEvent.source.sourceId;
102
+ if (blockedSources.has(sourceId))
103
+ continue;
104
+ try {
105
+ const entry = await this.submitAndValidate(item.submission);
106
+ try {
107
+ await this.sourceState.markReceipted(sourceId, item.submission.producerEvent.source.sourceSequence, entry.entryDigest);
108
+ }
109
+ catch (error) {
110
+ this.configuration.onSourceStateFailure?.(error, item.submission.producerEvent);
111
+ }
112
+ await this.configuration.outbox.markDelivered(item.eventId);
113
+ delivered += 1;
114
+ }
115
+ catch (error) {
116
+ await this.configuration.outbox.markFailed(item.eventId, error);
117
+ this.configuration.onDeliveryFailure?.(error, item.submission.producerEvent);
118
+ blockedSources.add(sourceId);
119
+ failed += 1;
120
+ }
121
+ }
122
+ return { delivered, failed };
123
+ }
124
+ async getSourceState() {
125
+ return this.sourceState.getState(this.configuration.sourceId);
126
+ }
127
+ /** Emits the producer's declared high-water mark as an ordinary chained event. */
128
+ async recordSourceHighWater(input = {}) {
129
+ const state = await this.getSourceState();
130
+ return this.record({
131
+ ...(input.eventId === undefined ? {} : { eventId: input.eventId }),
132
+ eventType: 'audit.source_high_water',
133
+ action: { category: 'audit.source_high_water' },
134
+ outcome: 'succeeded',
135
+ evidence: [],
136
+ details: {
137
+ family: 'administration',
138
+ phase: 'source_high_water',
139
+ sourceSequence: state.highestEmitted,
140
+ },
141
+ });
142
+ }
143
+ async withSourceConstruction(operation) {
144
+ const previous = this.sourceConstructionTail;
145
+ let release;
146
+ this.sourceConstructionTail = new Promise((resolve) => {
147
+ release = resolve;
148
+ });
149
+ await previous;
150
+ try {
151
+ return await operation();
152
+ }
153
+ finally {
154
+ release();
155
+ }
156
+ }
157
+ async buildAndLinkEvent(input, eventId) {
158
+ const claim = await this.sourceState.claimEvent(this.configuration.sourceId, eventId);
159
+ const event = this.buildEvent(input, eventId, claim);
160
+ const eventDigest = await digestAuditEvent(this.configuration.hasher, event);
161
+ await this.sourceState.markEmitted(this.configuration.sourceId, eventId, claim.sequence, eventDigest);
162
+ return event;
163
+ }
164
+ buildEvent(input, eventId, sourceClaim) {
165
+ return parseAuditProducerEvent({
166
+ ...input,
167
+ schema: 'https://schema.kya-os.org/v1/protocol/audit/event/v1.0.0',
168
+ eventId,
169
+ eventVersion: '1.0.0',
170
+ binding: this.configuration.binding,
171
+ occurredAt: input.occurredAt ?? this.configuration.clock.now(),
172
+ tenantRef: this.configuration.tenantRef,
173
+ source: {
174
+ producer: this.configuration.producer,
175
+ sourceId: this.configuration.sourceId,
176
+ sourceSequence: sourceClaim.sequence,
177
+ ...(sourceClaim.previousSourceEventDigest === undefined
178
+ ? {}
179
+ : { previousSourceEventDigest: sourceClaim.previousSourceEventDigest }),
180
+ },
181
+ privacy: input.privacy ?? this.configuration.privacy,
182
+ });
183
+ }
184
+ nextEventId() {
185
+ if (this.configuration.eventIdFactory !== undefined) {
186
+ return this.configuration.eventIdFactory();
187
+ }
188
+ this.idCounter += 1n;
189
+ return `audit_${this.configuration.clock.now()}_${this.idCounter}`;
190
+ }
191
+ assertEvidenceIsReferenced(event, encryptedEvidence) {
192
+ const refs = new Map(collectAuditEvidenceRefs(event).map((ref) => [ref.objectId, ref]));
193
+ const submittedIds = new Set();
194
+ for (const item of encryptedEvidence) {
195
+ const referenced = refs.get(item.ref.objectId);
196
+ if (submittedIds.has(item.ref.objectId) || referenced === undefined ||
197
+ canonicalizeJson(referenced) !== canonicalizeJson(item.ref)) {
198
+ throw new AuditProtocolError(AUDIT_ERROR_CODES.EVIDENCE_FAILURE, 'Encrypted evidence must exactly match one unique reference in the frozen event', { objectId: item.ref.objectId });
199
+ }
200
+ submittedIds.add(item.ref.objectId);
201
+ }
202
+ }
203
+ async submitAndValidate(submission) {
204
+ const entry = await this.configuration.recorder.submit(submission);
205
+ const eventDigest = await digestAuditEvent(this.configuration.hasher, submission.producerEvent);
206
+ // The binding is content-scoped: an entry from an earlier retained epoch is a
207
+ // legitimate logical-ledger duplicate. Epoch placement of new appends is the
208
+ // recorder's envelope guarantee, and epoch claims are recorder-signed and
209
+ // independently verifiable against checkpoints and mirrors.
210
+ if (entry.core.ledgerId !== submission.ledgerId ||
211
+ entry.eventDigest !== eventDigest ||
212
+ entry.core.eventDigest !== eventDigest ||
213
+ canonicalizeJson(entry.core.event) !== canonicalizeJson(submission.producerEvent)) {
214
+ throw new AuditProtocolError(AUDIT_ERROR_CODES.JOURNAL_FAILURE, 'Recorder response does not bind the submitted frozen producer event');
215
+ }
216
+ return entry;
217
+ }
218
+ }
219
+ export function createAuditTrail(configuration) {
220
+ return new AuditTrailService(configuration);
221
+ }
222
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './provider-contracts.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/audit/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './provider-contracts.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/audit/testing/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { AuditHasher } from '../crypto.js';
2
+ import type { AuditAnchorProvider } from '../providers/anchor.js';
3
+ import type { AuditEvidenceProvider } from '../providers/evidence.js';
4
+ import type { AuditJournalProvider } from '../providers/journal.js';
5
+ import type { AuditCheckpointObserverProvider } from '../providers/observer.js';
6
+ import type { AuditOutboxProvider } from '../providers/outbox.js';
7
+ import type { SignedAuditCheckpointV1 } from '../types.js';
8
+ export interface AuditProviderContractCheck {
9
+ name: string;
10
+ passed: boolean;
11
+ error?: unknown;
12
+ }
13
+ export interface AuditProviderContractReport {
14
+ providerKind: 'journal' | 'evidence' | 'observer' | 'anchor' | 'outbox';
15
+ passed: boolean;
16
+ checks: AuditProviderContractCheck[];
17
+ }
18
+ export declare function assertAuditProviderContract(value: AuditProviderContractReport): void;
19
+ /** Framework-neutral executable contract for authoritative journal adapters. */
20
+ export declare function evaluateAuditJournalProviderContract(createProvider: () => AuditJournalProvider | Promise<AuditJournalProvider>): Promise<AuditProviderContractReport>;
21
+ /** Executable contract for encrypted evidence/retention adapters. */
22
+ export declare function evaluateAuditEvidenceProviderContract(input: {
23
+ createProvider(): AuditEvidenceProvider | Promise<AuditEvidenceProvider>;
24
+ hasher: AuditHasher;
25
+ }): Promise<AuditProviderContractReport>;
26
+ export interface AuditCheckpointProviderContractFixtures {
27
+ first: SignedAuditCheckpointV1;
28
+ next: SignedAuditCheckpointV1;
29
+ conflict: SignedAuditCheckpointV1;
30
+ rollback: SignedAuditCheckpointV1;
31
+ /**
32
+ * A larger checkpoint that does NOT directly link `first` but consistently
33
+ * extends its tree; when provided, the observer must accept it as catch-up
34
+ * after a missed publication.
35
+ */
36
+ gapped?: SignedAuditCheckpointV1;
37
+ }
38
+ /** Executable monotonicity/split-view contract for independent observers. */
39
+ export declare function evaluateAuditObserverProviderContract(input: {
40
+ createProvider(): AuditCheckpointObserverProvider | Promise<AuditCheckpointObserverProvider>;
41
+ fixtures: AuditCheckpointProviderContractFixtures;
42
+ }): Promise<AuditProviderContractReport>;
43
+ /** Executable role-separation and binding contract for supporting anchors. */
44
+ export declare function evaluateAuditAnchorProviderContract(input: {
45
+ createProvider(): AuditAnchorProvider | Promise<AuditAnchorProvider>;
46
+ checkpoint: SignedAuditCheckpointV1;
47
+ otherCheckpoint: SignedAuditCheckpointV1;
48
+ }): Promise<AuditProviderContractReport>;
49
+ /** Executable FIFO, retry-accounting, and acknowledgement contract for outboxes. */
50
+ export declare function evaluateAuditOutboxProviderContract(createProvider: () => AuditOutboxProvider | Promise<AuditOutboxProvider>): Promise<AuditProviderContractReport>;
51
+ //# sourceMappingURL=provider-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-contracts.d.ts","sourceRoot":"","sources":["../../../src/audit/testing/provider-contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,KAAK,EAAmB,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAIV,uBAAuB,EAExB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxE,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAkCD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI,CAQpF;AAsED,gFAAgF;AAChF,wBAAsB,oCAAoC,CACxD,cAAc,EAAE,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,GACzE,OAAO,CAAC,2BAA2B,CAAC,CA6HtC;AAmBD,qEAAqE;AACrE,wBAAsB,qCAAqC,CAAC,KAAK,EAAE;IACjE,cAAc,IAAI,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACzE,MAAM,EAAE,WAAW,CAAC;CACrB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAmEvC;AAED,MAAM,WAAW,uCAAuC;IACtD,KAAK,EAAE,uBAAuB,CAAC;IAC/B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,EAAE,uBAAuB,CAAC;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC;AAED,6EAA6E;AAC7E,wBAAsB,qCAAqC,CAAC,KAAK,EAAE;IACjE,cAAc,IAAI,+BAA+B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7F,QAAQ,EAAE,uCAAuC,CAAC;CACnD,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAkDvC;AAED,8EAA8E;AAC9E,wBAAsB,mCAAmC,CAAC,KAAK,EAAE;IAC/D,cAAc,IAAI,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrE,UAAU,EAAE,uBAAuB,CAAC;IACpC,eAAe,EAAE,uBAAuB,CAAC;CAC1C,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAevC;AAED,oFAAoF;AACpF,wBAAsB,mCAAmC,CACvD,cAAc,EAAE,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GACvE,OAAO,CAAC,2BAA2B,CAAC,CA0EtC"}