@kya-os/mcp 1.10.1 → 1.12.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 (297) hide show
  1. package/AUDITABILITY.md +441 -0
  2. package/CHANGELOG.md +108 -0
  3. package/CONFORMANCE.md +600 -0
  4. package/README.md +69 -6
  5. package/SPEC.md +1820 -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 +30 -0
  43. package/dist/audit/index.d.ts.map +1 -0
  44. package/dist/audit/index.js +30 -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/read-contract.d.ts +445 -0
  95. package/dist/audit/read-contract.d.ts.map +1 -0
  96. package/dist/audit/read-contract.js +126 -0
  97. package/dist/audit/read-contract.js.map +1 -0
  98. package/dist/audit/read-service.d.ts +99 -0
  99. package/dist/audit/read-service.d.ts.map +1 -0
  100. package/dist/audit/read-service.js +124 -0
  101. package/dist/audit/read-service.js.map +1 -0
  102. package/dist/audit/recorder-service.d.ts +78 -0
  103. package/dist/audit/recorder-service.d.ts.map +1 -0
  104. package/dist/audit/recorder-service.js +331 -0
  105. package/dist/audit/recorder-service.js.map +1 -0
  106. package/dist/audit/reference-recorder.d.ts +43 -0
  107. package/dist/audit/reference-recorder.d.ts.map +1 -0
  108. package/dist/audit/reference-recorder.js +131 -0
  109. package/dist/audit/reference-recorder.js.map +1 -0
  110. package/dist/audit/replay-bundle.d.ts +52 -0
  111. package/dist/audit/replay-bundle.d.ts.map +1 -0
  112. package/dist/audit/replay-bundle.js +551 -0
  113. package/dist/audit/replay-bundle.js.map +1 -0
  114. package/dist/audit/schemas.d.ts +1145 -0
  115. package/dist/audit/schemas.d.ts.map +1 -0
  116. package/dist/audit/schemas.js +483 -0
  117. package/dist/audit/schemas.js.map +1 -0
  118. package/dist/audit/service.d.ts +91 -0
  119. package/dist/audit/service.d.ts.map +1 -0
  120. package/dist/audit/service.js +222 -0
  121. package/dist/audit/service.js.map +1 -0
  122. package/dist/audit/testing/index.d.ts +2 -0
  123. package/dist/audit/testing/index.d.ts.map +1 -0
  124. package/dist/audit/testing/index.js +2 -0
  125. package/dist/audit/testing/index.js.map +1 -0
  126. package/dist/audit/testing/provider-contracts.d.ts +51 -0
  127. package/dist/audit/testing/provider-contracts.d.ts.map +1 -0
  128. package/dist/audit/testing/provider-contracts.js +391 -0
  129. package/dist/audit/testing/provider-contracts.js.map +1 -0
  130. package/dist/audit/types.d.ts +356 -0
  131. package/dist/audit/types.d.ts.map +1 -0
  132. package/dist/audit/types.js +49 -0
  133. package/dist/audit/types.js.map +1 -0
  134. package/dist/audit/verifier.d.ts +73 -0
  135. package/dist/audit/verifier.d.ts.map +1 -0
  136. package/dist/audit/verifier.js +322 -0
  137. package/dist/audit/verifier.js.map +1 -0
  138. package/dist/card/builder.d.ts +1 -1
  139. package/dist/card/builder.js +1 -1
  140. package/dist/card/emit.d.ts +3 -3
  141. package/dist/card/emit.d.ts.map +1 -1
  142. package/dist/card/emit.js.map +1 -1
  143. package/dist/card/index.d.ts +1 -1
  144. package/dist/card/index.js +1 -1
  145. package/dist/card/middleware.d.ts +6 -4
  146. package/dist/card/middleware.d.ts.map +1 -1
  147. package/dist/card/middleware.js +11 -7
  148. package/dist/card/middleware.js.map +1 -1
  149. package/dist/card/proof/build.d.ts +3 -3
  150. package/dist/card/proof/build.js +3 -3
  151. package/dist/card/proof/canonical.d.ts.map +1 -1
  152. package/dist/card/proof/canonical.js +19 -1
  153. package/dist/card/proof/canonical.js.map +1 -1
  154. package/dist/card/proof/http-sig.d.ts +1 -1
  155. package/dist/card/proof/http-sig.js +1 -1
  156. package/dist/card/proof/index.d.ts +2 -2
  157. package/dist/card/proof/index.js +2 -2
  158. package/dist/card/proof/nonce-cache.d.ts +1 -1
  159. package/dist/card/proof/nonce-cache.js +1 -1
  160. package/dist/card/proof/types.d.ts +16 -7
  161. package/dist/card/proof/types.d.ts.map +1 -1
  162. package/dist/card/proof/types.js +16 -7
  163. package/dist/card/proof/types.js.map +1 -1
  164. package/dist/card/proof/verify.d.ts +2 -2
  165. package/dist/card/proof/verify.js +2 -2
  166. package/dist/card/schema.d.ts +14 -6
  167. package/dist/card/schema.d.ts.map +1 -1
  168. package/dist/card/schema.js +14 -3
  169. package/dist/card/schema.js.map +1 -1
  170. package/dist/card/verify.d.ts +1 -1
  171. package/dist/card/verify.d.ts.map +1 -1
  172. package/dist/delegation/delegation-graph.d.ts +4 -0
  173. package/dist/delegation/delegation-graph.d.ts.map +1 -1
  174. package/dist/delegation/delegation-graph.js +28 -2
  175. package/dist/delegation/delegation-graph.js.map +1 -1
  176. package/dist/delegation/statuslist-manager.d.ts +5 -0
  177. package/dist/delegation/statuslist-manager.d.ts.map +1 -1
  178. package/dist/delegation/statuslist-manager.js.map +1 -1
  179. package/dist/delegation/storage/memory-graph-storage.d.ts +4 -2
  180. package/dist/delegation/storage/memory-graph-storage.d.ts.map +1 -1
  181. package/dist/delegation/storage/memory-graph-storage.js +18 -0
  182. package/dist/delegation/storage/memory-graph-storage.js.map +1 -1
  183. package/dist/delegation/storage/memory-statuslist-storage.d.ts +5 -2
  184. package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +1 -1
  185. package/dist/delegation/storage/memory-statuslist-storage.js +21 -2
  186. package/dist/delegation/storage/memory-statuslist-storage.js.map +1 -1
  187. package/dist/delegation/utils.d.ts.map +1 -1
  188. package/dist/delegation/utils.js +2 -42
  189. package/dist/delegation/utils.js.map +1 -1
  190. package/dist/delegation/vc-verification-checks.d.ts.map +1 -1
  191. package/dist/delegation/vc-verification-checks.js +16 -1
  192. package/dist/delegation/vc-verification-checks.js.map +1 -1
  193. package/dist/delegation/vc-verifier.d.ts +4 -0
  194. package/dist/delegation/vc-verifier.d.ts.map +1 -1
  195. package/dist/delegation/vc-verifier.js +44 -13
  196. package/dist/delegation/vc-verifier.js.map +1 -1
  197. package/dist/errors.d.ts +1 -1
  198. package/dist/errors.js +1 -1
  199. package/dist/extension/declaration.d.ts +60 -0
  200. package/dist/extension/declaration.d.ts.map +1 -0
  201. package/dist/extension/declaration.js +75 -0
  202. package/dist/extension/declaration.js.map +1 -0
  203. package/dist/extension/gate.d.ts +110 -0
  204. package/dist/extension/gate.d.ts.map +1 -0
  205. package/dist/extension/gate.js +133 -0
  206. package/dist/extension/gate.js.map +1 -0
  207. package/dist/extension/index.d.ts +14 -0
  208. package/dist/extension/index.d.ts.map +1 -0
  209. package/dist/extension/index.js +14 -0
  210. package/dist/extension/index.js.map +1 -0
  211. package/dist/extension/settings.d.ts +70 -0
  212. package/dist/extension/settings.d.ts.map +1 -0
  213. package/dist/extension/settings.js +96 -0
  214. package/dist/extension/settings.js.map +1 -0
  215. package/dist/index.d.ts +4 -2
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +6 -2
  218. package/dist/index.js.map +1 -1
  219. package/dist/middleware/kya-os-transport.d.ts +1 -1
  220. package/dist/middleware/kya-os-transport.d.ts.map +1 -1
  221. package/dist/middleware/kya-os-transport.js +11 -4
  222. package/dist/middleware/kya-os-transport.js.map +1 -1
  223. package/dist/middleware/with-kya-os-server.d.ts +6 -0
  224. package/dist/middleware/with-kya-os-server.d.ts.map +1 -1
  225. package/dist/middleware/with-kya-os-server.js +2 -0
  226. package/dist/middleware/with-kya-os-server.js.map +1 -1
  227. package/dist/middleware/with-kya-os.config-types.d.ts +15 -0
  228. package/dist/middleware/with-kya-os.config-types.d.ts.map +1 -1
  229. package/dist/middleware/with-kya-os.config-types.js.map +1 -1
  230. package/dist/middleware/with-kya-os.d.ts.map +1 -1
  231. package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +1 -1
  232. package/dist/middleware/with-kya-os.delegation-gate.js +96 -3
  233. package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
  234. package/dist/middleware/with-kya-os.delegation-verify.d.ts.map +1 -1
  235. package/dist/middleware/with-kya-os.delegation-verify.js +2 -2
  236. package/dist/middleware/with-kya-os.delegation-verify.js.map +1 -1
  237. package/dist/middleware/with-kya-os.deps.d.ts +2 -0
  238. package/dist/middleware/with-kya-os.deps.d.ts.map +1 -1
  239. package/dist/middleware/with-kya-os.js +23 -0
  240. package/dist/middleware/with-kya-os.js.map +1 -1
  241. package/dist/middleware/with-kya-os.policy-gate.d.ts.map +1 -1
  242. package/dist/middleware/with-kya-os.policy-gate.js +29 -4
  243. package/dist/middleware/with-kya-os.policy-gate.js.map +1 -1
  244. package/dist/middleware/with-kya-os.protocol.d.ts.map +1 -1
  245. package/dist/middleware/with-kya-os.protocol.js +10 -0
  246. package/dist/middleware/with-kya-os.protocol.js.map +1 -1
  247. package/dist/middleware/with-kya-os.session.d.ts.map +1 -1
  248. package/dist/middleware/with-kya-os.session.js +208 -2
  249. package/dist/middleware/with-kya-os.session.js.map +1 -1
  250. package/dist/middleware/with-kya-os.types.d.ts +6 -0
  251. package/dist/middleware/with-kya-os.types.d.ts.map +1 -1
  252. package/dist/middleware/with-kya-os.types.js.map +1 -1
  253. package/dist/proof/generator.d.ts +14 -2
  254. package/dist/proof/generator.d.ts.map +1 -1
  255. package/dist/proof/generator.js +20 -7
  256. package/dist/proof/generator.js.map +1 -1
  257. package/dist/proof/index.d.ts +1 -1
  258. package/dist/proof/index.d.ts.map +1 -1
  259. package/dist/proof/index.js +1 -1
  260. package/dist/proof/index.js.map +1 -1
  261. package/dist/proof/verifier.d.ts +15 -2
  262. package/dist/proof/verifier.d.ts.map +1 -1
  263. package/dist/proof/verifier.js +48 -12
  264. package/dist/proof/verifier.js.map +1 -1
  265. package/dist/session/manager.js +1 -1
  266. package/dist/session/manager.js.map +1 -1
  267. package/dist/types/protocol.d.ts +22 -0
  268. package/dist/types/protocol.d.ts.map +1 -1
  269. package/dist/types/protocol.js +31 -5
  270. package/dist/types/protocol.js.map +1 -1
  271. package/dist/utils/canonical-json.d.ts +15 -0
  272. package/dist/utils/canonical-json.d.ts.map +1 -0
  273. package/dist/utils/canonical-json.js +109 -0
  274. package/dist/utils/canonical-json.js.map +1 -0
  275. package/dist/utils/crypto-service.d.ts.map +1 -1
  276. package/dist/utils/crypto-service.js +5 -0
  277. package/dist/utils/crypto-service.js.map +1 -1
  278. package/dist/utils/index.d.ts +1 -0
  279. package/dist/utils/index.d.ts.map +1 -1
  280. package/dist/utils/index.js +1 -0
  281. package/dist/utils/index.js.map +1 -1
  282. package/package.json +29 -11
  283. package/schemas/README.md +28 -1
  284. package/schemas/audit-anchor-receipt.schema.json +16 -0
  285. package/schemas/audit-bundle-manifest.schema.json +71 -0
  286. package/schemas/audit-checkpoint.schema.json +37 -0
  287. package/schemas/audit-consistency-proof.schema.json +17 -0
  288. package/schemas/audit-entry.schema.json +33 -0
  289. package/schemas/audit-event.schema.json +168 -0
  290. package/schemas/audit-inclusion-proof.schema.json +17 -0
  291. package/schemas/audit-observation.schema.json +40 -0
  292. package/schemas/audit-receipt.schema.json +32 -0
  293. package/schemas/audit-verification-policy.schema.json +71 -0
  294. package/schemas/audit-verification-report.schema.json +29 -0
  295. package/schemas/kya-os-card.schema.json +6 -6
  296. package/schemas/mcp-extension-settings.json +37 -0
  297. package/schemas/well-known-mcpi.json +17 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/audit/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,483 @@
1
+ import { z } from 'zod';
2
+ import { AUDIT_EVENT_TYPES } from './types.js';
3
+ import { assertCanonicalJsonValue } from '../utils/canonical-json.js';
4
+ export const AUDIT_EVENT_SCHEMA_ID = 'https://schema.kya-os.org/v1/protocol/audit/event/v1.0.0';
5
+ export const AUDIT_ENTRY_SCHEMA_ID = 'https://schema.kya-os.org/v1/protocol/audit/entry/v1.0.0';
6
+ export const AUDIT_RECEIPT_SCHEMA_ID = 'https://schema.kya-os.org/v1/protocol/audit/receipt/v1.0.0';
7
+ export const AUDIT_INTEGRITY_SUITE = 'KYA-AUDIT-JCS-SHA256-JWS-2026';
8
+ export const AUDIT_CHECKPOINT_SCHEMA_ID = 'https://schema.kya-os.org/v1/protocol/audit/checkpoint/v1.0.0';
9
+ export const AUDIT_CHECKPOINT_INTEGRITY_SUITE = 'KYA-AUDIT-RFC9162-SHA256-JWS-2026';
10
+ export const AUDIT_BUNDLE_MANIFEST_SCHEMA_ID = 'https://schema.kya-os.org/v1/protocol/audit/bundle-manifest/v1.0.0';
11
+ export const AUDIT_BUNDLE_INTEGRITY_SUITE = 'KYA-AUDIT-BUNDLE-JCS-SHA256-JWS-2026';
12
+ const MAX_DECIMAL_LENGTH = 20;
13
+ const MAX_REFERENCE_LENGTH = 256;
14
+ const MAX_DID_LENGTH = 2048;
15
+ const MAX_JWS_LENGTH = 4096;
16
+ const MAX_RECEIPT_DATA_LENGTH = 65_536;
17
+ export const decimalStringSchema = z.string().max(MAX_DECIMAL_LENGTH).regex(/^(0|[1-9][0-9]*)$/);
18
+ export const digestSchema = z.string().regex(/^sha256:[a-f0-9]{64}$/);
19
+ const didSchema = z.string()
20
+ .min(5)
21
+ .max(MAX_DID_LENGTH)
22
+ .regex(/^did:[^\r\n]+$/);
23
+ export const signerRefSchema = z.object({
24
+ did: didSchema,
25
+ kid: z.string().min(1).max(MAX_DID_LENGTH + MAX_REFERENCE_LENGTH),
26
+ alg: z.enum(['EdDSA', 'ES256']),
27
+ }).strict();
28
+ export const evidenceRefSchema = z.object({
29
+ objectId: z.string().min(1).max(MAX_REFERENCE_LENGTH),
30
+ ciphertextDigest: digestSchema,
31
+ plaintextCommitment: digestSchema.optional(),
32
+ mediaType: z.string().min(1).max(MAX_REFERENCE_LENGTH),
33
+ size: decimalStringSchema,
34
+ encryption: z.object({
35
+ suite: z.literal('A256GCM'),
36
+ keyId: z.string().min(1).max(MAX_REFERENCE_LENGTH),
37
+ nonce: z.string().min(1).max(MAX_REFERENCE_LENGTH),
38
+ aadDigest: digestSchema,
39
+ }).strict(),
40
+ }).strict();
41
+ export const partyRefSchema = z.discriminatedUnion('kind', [
42
+ z.object({ kind: z.literal('public_did'), did: didSchema }).strict(),
43
+ z.object({ kind: z.literal('pairwise_did'), did: didSchema }).strict(),
44
+ z.object({
45
+ kind: z.literal('keyed_commitment'),
46
+ value: digestSchema,
47
+ keyId: z.string().min(1).max(MAX_REFERENCE_LENGTH),
48
+ }).strict(),
49
+ z.object({ kind: z.literal('evidence_ref'), ref: evidenceRefSchema }).strict(),
50
+ ]);
51
+ const detailsSchemas = [
52
+ z.object({
53
+ family: z.literal('session'),
54
+ phase: z.enum(['established', 'rejected', 'expired', 'replay_rejected']),
55
+ reasonCode: z.string().min(1).max(128).optional(),
56
+ }).strict(),
57
+ z.object({
58
+ family: z.literal('tool'),
59
+ phase: z.enum(['started', 'completed', 'failed', 'denied', 'challenged']),
60
+ attempt: decimalStringSchema,
61
+ idempotencyRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
62
+ }).strict(),
63
+ z.object({
64
+ family: z.literal('proof'),
65
+ phase: z.enum(['generated', 'verified', 'rejected']),
66
+ proofDigest: digestSchema.optional(),
67
+ verificationCode: z.string().min(1).max(128).optional(),
68
+ }).strict(),
69
+ z.object({
70
+ family: z.literal('delegation'),
71
+ phase: z.enum(['issued', 'verified', 'rejected', 'revoked', 'cascade_revoked', 'outbound_attached']),
72
+ delegationRef: z.string().min(1).max(MAX_REFERENCE_LENGTH),
73
+ parentRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
74
+ statusEvidence: z.array(evidenceRefSchema).max(256).optional(),
75
+ }).strict(),
76
+ z.object({
77
+ family: z.literal('authorization'),
78
+ phase: z.enum(['evaluated', 'approved', 'denied', 'step_up_required', 'grant_used']),
79
+ policyDigest: digestSchema.optional(),
80
+ grantRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
81
+ }).strict(),
82
+ z.object({
83
+ family: z.literal('consent'),
84
+ phase: z.enum(['requested', 'approved', 'denied', 'credential_required', 'credential_verified', 'credential_failed']),
85
+ consentRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
86
+ }).strict(),
87
+ z.object({
88
+ family: z.literal('key'),
89
+ phase: z.enum(['rotated', 'policy_changed', 'configuration_changed', 'integrity_suite_transitioned']),
90
+ previousSigner: signerRefSchema.optional(),
91
+ nextSigner: signerRefSchema.optional(),
92
+ configurationDigest: digestSchema.optional(),
93
+ }).strict(),
94
+ z.object({
95
+ family: z.literal('ledger'),
96
+ phase: z.enum(['epoch_started', 'epoch_transitioned', 'checkpoint_created', 'checkpoint_anchored', 'checkpoint_anchor_failed', 'evidence_disposed', 'projection_reconciled']),
97
+ checkpointDigest: digestSchema.optional(),
98
+ previousEpochId: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
99
+ previousTerminalCheckpointDigest: digestSchema.optional(),
100
+ successorEpochIds: z.array(z.string().min(1).max(MAX_REFERENCE_LENGTH)).max(256).optional(),
101
+ targetEvidenceRef: evidenceRefSchema.optional(),
102
+ }).strict(),
103
+ z.object({
104
+ family: z.literal('administration'),
105
+ phase: z.enum(['source_high_water', 'accessed', 'exported', 'legal_hold_applied', 'retention_executed']),
106
+ purpose: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
107
+ sourceSequence: decimalStringSchema.optional(),
108
+ selectionDigest: digestSchema.optional(),
109
+ }).strict(),
110
+ ];
111
+ const auditEventDetailsSchema = z.discriminatedUnion('family', detailsSchemas);
112
+ const authorizationEvidenceSchema = z.object({
113
+ source: z.enum(['delegation', 'grant', 'anonymous', 'policy']),
114
+ decision: z.enum(['allowed', 'denied', 'step_up_required', 'needs_authorization']),
115
+ scopeId: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
116
+ delegationRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
117
+ delegationCredentialDigest: digestSchema.optional(),
118
+ delegationChainDigests: z.array(digestSchema).max(256).optional(),
119
+ statusEvidence: z.array(evidenceRefSchema).max(256).optional(),
120
+ grantRef: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
121
+ policyId: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
122
+ policyVersion: z.string().min(1).max(MAX_REFERENCE_LENGTH).optional(),
123
+ policyDigest: digestSchema.optional(),
124
+ verificationCode: z.string().min(1).max(128).optional(),
125
+ }).strict();
126
+ function expectedFamily(eventType) {
127
+ if (eventType.startsWith('session.'))
128
+ return 'session';
129
+ if (eventType.startsWith('tool.'))
130
+ return 'tool';
131
+ if (eventType.startsWith('proof.'))
132
+ return 'proof';
133
+ if (eventType.startsWith('delegation.'))
134
+ return 'delegation';
135
+ if (eventType.startsWith('authorization.') || eventType === 'grant.used')
136
+ return 'authorization';
137
+ if (eventType.startsWith('consent.') || eventType.startsWith('credential.'))
138
+ return 'consent';
139
+ if (eventType.startsWith('key.') ||
140
+ eventType.startsWith('policy.') ||
141
+ eventType.startsWith('configuration.') ||
142
+ eventType.startsWith('integrity_suite.'))
143
+ return 'key';
144
+ if (eventType.startsWith('ledger.') ||
145
+ eventType.startsWith('checkpoint.') ||
146
+ eventType.startsWith('evidence.') ||
147
+ eventType.startsWith('projection.'))
148
+ return 'ledger';
149
+ return 'administration';
150
+ }
151
+ export const auditProducerEventSchema = z.object({
152
+ schema: z.literal(AUDIT_EVENT_SCHEMA_ID),
153
+ eventId: z.string().min(1).max(256),
154
+ eventType: z.enum(AUDIT_EVENT_TYPES),
155
+ eventVersion: z.literal('1.0.0'),
156
+ binding: z.string().max(MAX_REFERENCE_LENGTH)
157
+ .regex(/^urn:kya-os:audit-binding:[a-z0-9][a-z0-9._:-]*$/),
158
+ occurredAt: z.number().int().nonnegative(),
159
+ tenantRef: partyRefSchema,
160
+ source: z.object({
161
+ producer: partyRefSchema,
162
+ sourceId: z.string().min(1).max(256),
163
+ sourceSequence: decimalStringSchema.optional(),
164
+ previousSourceEventDigest: digestSchema.optional(),
165
+ }).strict(),
166
+ correlationId: z.string().min(1).max(256).optional(),
167
+ causationId: z.string().min(1).max(256).optional(),
168
+ trace: z.object({
169
+ traceId: z.string().regex(/^[a-f0-9]{32}$/).optional(),
170
+ spanId: z.string().regex(/^[a-f0-9]{16}$/).optional(),
171
+ }).strict().optional(),
172
+ session: z.object({
173
+ ref: partyRefSchema,
174
+ handshakeNonceCommitment: digestSchema.optional(),
175
+ }).strict().optional(),
176
+ actor: partyRefSchema.optional(),
177
+ responsibleParty: partyRefSchema.optional(),
178
+ resource: partyRefSchema.optional(),
179
+ action: z.object({
180
+ category: z.string().min(1).max(128),
181
+ name: z.string().min(1).max(256).optional(),
182
+ detailRef: evidenceRefSchema.optional(),
183
+ }).strict(),
184
+ outcome: z.enum(['succeeded', 'failed', 'denied', 'challenged', 'unknown']),
185
+ reason: z.object({
186
+ code: z.string().min(1).max(128),
187
+ detailRef: evidenceRefSchema.optional(),
188
+ }).strict().optional(),
189
+ authorization: authorizationEvidenceSchema.optional(),
190
+ proof: evidenceRefSchema.optional(),
191
+ evidence: z.array(evidenceRefSchema).max(256),
192
+ details: auditEventDetailsSchema,
193
+ privacy: z.object({
194
+ classification: z.enum(['public', 'internal', 'confidential', 'restricted']),
195
+ retentionClass: z.string().min(1).max(128),
196
+ legalHold: z.string().min(1).max(256).optional(),
197
+ }).strict(),
198
+ }).strict().superRefine((event, context) => {
199
+ if (event.details.family !== expectedFamily(event.eventType)) {
200
+ context.addIssue({
201
+ code: 'custom',
202
+ path: ['details', 'family'],
203
+ message: `Event detail family ${event.details.family} does not match ${event.eventType}`,
204
+ });
205
+ }
206
+ });
207
+ export const auditEntryCoreSchema = z.object({
208
+ schema: z.literal(AUDIT_ENTRY_SCHEMA_ID),
209
+ ledgerId: z.string().min(1).max(256),
210
+ ledgerEpochId: z.string().min(1).max(256),
211
+ sequence: decimalStringSchema,
212
+ previousEntryDigest: digestSchema.nullable(),
213
+ recordedAt: z.number().int().nonnegative(),
214
+ recorder: signerRefSchema,
215
+ eventDigest: digestSchema,
216
+ event: auditProducerEventSchema,
217
+ evidenceManifestDigest: digestSchema,
218
+ integritySuite: z.literal(AUDIT_INTEGRITY_SUITE),
219
+ }).strict();
220
+ export const auditRecorderReceiptCoreSchema = z.object({
221
+ schema: z.literal(AUDIT_RECEIPT_SCHEMA_ID),
222
+ ledgerId: z.string().min(1).max(256),
223
+ ledgerEpochId: z.string().min(1).max(256),
224
+ sequence: decimalStringSchema,
225
+ eventId: z.string().min(1).max(256),
226
+ entryDigest: digestSchema,
227
+ previousEntryDigest: digestSchema.nullable(),
228
+ recordedAt: z.number().int().nonnegative(),
229
+ recorder: signerRefSchema,
230
+ integritySuite: z.literal(AUDIT_INTEGRITY_SUITE),
231
+ }).strict();
232
+ export const auditCheckpointCoreSchema = z.object({
233
+ schema: z.literal(AUDIT_CHECKPOINT_SCHEMA_ID),
234
+ checkpointId: z.string().min(1).max(512),
235
+ ledgerId: z.string().min(1).max(256),
236
+ ledgerEpochId: z.string().min(1).max(256),
237
+ treeSize: decimalStringSchema,
238
+ firstSequence: decimalStringSchema,
239
+ lastSequence: decimalStringSchema,
240
+ rootDigest: digestSchema,
241
+ headEntryDigest: digestSchema,
242
+ previousCheckpointDigest: digestSchema.nullable(),
243
+ createdAt: z.number().int().nonnegative(),
244
+ issuer: signerRefSchema,
245
+ integritySuite: z.literal(AUDIT_CHECKPOINT_INTEGRITY_SUITE),
246
+ }).strict().superRefine((checkpoint, context) => {
247
+ if (BigInt(checkpoint.treeSize) === 0n ||
248
+ BigInt(checkpoint.lastSequence) < BigInt(checkpoint.firstSequence)) {
249
+ context.addIssue({ code: 'custom', message: 'Checkpoint range must be non-empty and ordered' });
250
+ }
251
+ });
252
+ export const signedAuditCheckpointSchema = z.object({
253
+ core: auditCheckpointCoreSchema,
254
+ checkpointDigest: digestSchema,
255
+ jws: z.string().min(1).max(MAX_JWS_LENGTH),
256
+ }).strict();
257
+ export const signedAuditEntrySchema = z.object({
258
+ core: auditEntryCoreSchema,
259
+ eventDigest: digestSchema,
260
+ entryDigest: digestSchema,
261
+ recorderReceipt: z.object({
262
+ core: auditRecorderReceiptCoreSchema,
263
+ jws: z.string().min(1).max(MAX_JWS_LENGTH),
264
+ }).strict(),
265
+ }).strict();
266
+ export const auditObservationReceiptSchema = z.object({
267
+ core: z.object({
268
+ schema: z.literal('https://schema.kya-os.org/v1/protocol/audit/observation/v1.0.0'),
269
+ observerId: z.string().min(1).max(256),
270
+ observer: signerRefSchema,
271
+ ledgerId: z.string().min(1).max(256),
272
+ ledgerEpochId: z.string().min(1).max(256),
273
+ checkpointDigest: digestSchema,
274
+ treeSize: decimalStringSchema,
275
+ observedAt: z.number().int().nonnegative(),
276
+ previousObservationDigest: digestSchema.nullable(),
277
+ }).strict(),
278
+ observationDigest: digestSchema,
279
+ jws: z.string().min(1).max(MAX_JWS_LENGTH),
280
+ }).strict();
281
+ export const auditAnchorReceiptSchema = z.object({
282
+ schema: z.literal('https://schema.kya-os.org/v1/protocol/audit/anchor-receipt/v1.0.0'),
283
+ kind: z.enum(['worm', 'rfc3161', 'scitt']),
284
+ providerId: z.string().min(1).max(256),
285
+ checkpointDigest: digestSchema,
286
+ issuedAt: z.number().int().nonnegative(),
287
+ receiptData: z.string().min(1).max(MAX_RECEIPT_DATA_LENGTH).optional(),
288
+ }).strict();
289
+ export const auditMerkleInclusionProofSchema = z.object({
290
+ leafIndex: decimalStringSchema,
291
+ treeSize: decimalStringSchema,
292
+ auditPath: z.array(digestSchema),
293
+ }).strict();
294
+ export const auditMerkleConsistencyProofSchema = z.object({
295
+ oldTreeSize: decimalStringSchema,
296
+ newTreeSize: decimalStringSchema,
297
+ auditPath: z.array(digestSchema),
298
+ }).strict();
299
+ export const auditBundleInclusionProofSchema = z.object({
300
+ ledgerId: z.string().min(1).max(256),
301
+ ledgerEpochId: z.string().min(1).max(256),
302
+ sequence: decimalStringSchema,
303
+ entryDigest: digestSchema,
304
+ checkpointDigest: digestSchema,
305
+ proof: auditMerkleInclusionProofSchema,
306
+ }).strict();
307
+ export const auditBundleConsistencyProofSchema = z.object({
308
+ ledgerId: z.string().min(1).max(256),
309
+ ledgerEpochId: z.string().min(1).max(256),
310
+ oldCheckpointDigest: digestSchema,
311
+ newCheckpointDigest: digestSchema,
312
+ proof: auditMerkleConsistencyProofSchema,
313
+ }).strict();
314
+ const auditBundleSelectionSchema = z.object({
315
+ ledgerId: z.string().min(1).max(256),
316
+ ledgerEpochId: z.string().min(1).max(256),
317
+ firstSequence: decimalStringSchema,
318
+ lastSequence: decimalStringSchema,
319
+ expectedHeadDigest: digestSchema,
320
+ checkpointTreeSizes: z.array(decimalStringSchema).max(256),
321
+ }).strict().superRefine((selection, context) => {
322
+ if (BigInt(selection.lastSequence) < BigInt(selection.firstSequence)) {
323
+ context.addIssue({ code: 'custom', message: 'Bundle selection range is reversed' });
324
+ }
325
+ });
326
+ const auditBundleInventoryItemSchema = z.object({
327
+ path: z.string().min(1).max(1024),
328
+ mediaType: z.string().min(1).max(256),
329
+ disposition: z.enum(['included', 'redacted', 'disposed', 'unavailable', 'policy_excluded']),
330
+ digest: digestSchema.optional(),
331
+ size: decimalStringSchema.optional(),
332
+ reasonCode: z.string().min(1).max(128).optional(),
333
+ }).strict().superRefine((item, context) => {
334
+ if (item.disposition === 'included') {
335
+ if (item.digest === undefined || item.size === undefined || item.reasonCode !== undefined) {
336
+ context.addIssue({ code: 'custom', message: 'Included inventory requires digest/size only' });
337
+ }
338
+ }
339
+ else if (item.reasonCode === undefined || item.digest !== undefined || item.size !== undefined) {
340
+ context.addIssue({ code: 'custom', message: 'Excluded inventory requires only a reason code' });
341
+ }
342
+ });
343
+ export const auditBundleManifestCoreSchema = z.object({
344
+ schema: z.literal(AUDIT_BUNDLE_MANIFEST_SCHEMA_ID),
345
+ bundleId: z.string().min(1).max(256),
346
+ formatVersion: z.literal('1.0.0'),
347
+ selections: z.array(auditBundleSelectionSchema).min(1),
348
+ exporter: signerRefSchema,
349
+ purpose: z.string().min(1).max(256),
350
+ exportedAt: z.number().int().nonnegative(),
351
+ verificationPolicyDigest: digestSchema,
352
+ inventory: z.array(auditBundleInventoryItemSchema).max(10_000),
353
+ integritySuite: z.literal(AUDIT_BUNDLE_INTEGRITY_SUITE),
354
+ }).strict().superRefine((manifest, context) => {
355
+ const paths = manifest.inventory.map((item) => item.path);
356
+ if (new Set(paths).size !== paths.length) {
357
+ context.addIssue({ code: 'custom', path: ['inventory'], message: 'Inventory paths must be unique' });
358
+ }
359
+ });
360
+ const auditBundleComponentSchema = auditBundleInventoryItemSchema.extend({
361
+ content: z.unknown().optional(),
362
+ }).strict().superRefine((component, context) => {
363
+ const hasContent = Object.prototype.hasOwnProperty.call(component, 'content');
364
+ if (component.disposition === 'included' ? !hasContent : hasContent) {
365
+ context.addIssue({
366
+ code: 'custom',
367
+ path: ['content'],
368
+ message: component.disposition === 'included'
369
+ ? 'Included component content is required'
370
+ : 'Excluded component content is forbidden',
371
+ });
372
+ }
373
+ if (hasContent) {
374
+ try {
375
+ assertCanonicalJsonValue(component.content);
376
+ }
377
+ catch (error) {
378
+ context.addIssue({
379
+ code: 'custom',
380
+ path: ['content'],
381
+ message: error instanceof Error ? error.message : 'Content is not canonical JSON',
382
+ });
383
+ }
384
+ }
385
+ });
386
+ export const auditReplayBundleSchema = z.object({
387
+ manifest: z.object({
388
+ core: auditBundleManifestCoreSchema,
389
+ manifestDigest: digestSchema,
390
+ jws: z.string().min(1).max(MAX_JWS_LENGTH),
391
+ }).strict(),
392
+ components: z.array(auditBundleComponentSchema),
393
+ }).strict();
394
+ function uniqueArrayItems(values) {
395
+ return new Set(values).size === values.length;
396
+ }
397
+ const historicalAuditKeyPolicySchema = z.object({
398
+ signer: signerRefSchema,
399
+ validFrom: z.number().int().nonnegative().optional(),
400
+ validUntil: z.number().int().nonnegative().optional(),
401
+ validFromCheckpoint: digestSchema.optional(),
402
+ validUntilCheckpoint: digestSchema.optional(),
403
+ }).strict().superRefine((value, context) => {
404
+ if (value.validFrom !== undefined && value.validUntil !== undefined &&
405
+ value.validFrom > value.validUntil) {
406
+ context.addIssue({ code: 'custom', message: 'Key validity interval is reversed' });
407
+ }
408
+ });
409
+ export const auditVerificationPolicySchema = z.object({
410
+ policyId: z.string().min(1).max(256),
411
+ trustedLedgerEpochs: z.array(z.object({
412
+ ledgerId: z.string().min(1).max(256),
413
+ ledgerEpochId: z.string().min(1).max(256),
414
+ recorderKeys: z.array(historicalAuditKeyPolicySchema).min(1),
415
+ validFromCheckpoint: digestSchema.optional(),
416
+ validUntilCheckpoint: digestSchema.optional(),
417
+ }).strict()),
418
+ trustedObservers: z.array(historicalAuditKeyPolicySchema),
419
+ trustedSupportingAnchors: z.array(z.object({
420
+ kind: z.enum(['worm', 'rfc3161', 'scitt']),
421
+ providerId: z.string().min(1).max(256),
422
+ validFrom: z.number().int().nonnegative().optional(),
423
+ validUntil: z.number().int().nonnegative().optional(),
424
+ }).strict()).optional(),
425
+ authorizedExporters: z.array(z.object({
426
+ signerKeys: z.array(historicalAuditKeyPolicySchema).min(1),
427
+ allowedLedgerIds: z.array(z.string().min(1).max(256)).min(1)
428
+ .refine(uniqueArrayItems, 'Allowed ledger IDs must be unique'),
429
+ allowedPurposes: z.array(z.string().min(1).max(256)).min(1)
430
+ .refine(uniqueArrayItems, 'Allowed purposes must be unique'),
431
+ }).strict()),
432
+ acceptedIntegritySuites: z.array(z.string().min(1).max(128)).min(1)
433
+ .refine(uniqueArrayItems, 'Accepted integrity suites must be unique'),
434
+ acceptedAlgorithms: z.array(z.enum(['EdDSA', 'ES256'])).min(1)
435
+ .refine(uniqueArrayItems, 'Accepted algorithms must be unique'),
436
+ keyRevocationMode: z.enum(['as_observed', 'current', 'both']),
437
+ requiredCheckpointFreshnessMs: z.number().int().nonnegative().optional(),
438
+ requiredAuditProfile: z.enum(['AAP-0', 'AAP-1', 'AAP-2', 'AAP-3', 'AAP-4']).optional(),
439
+ }).strict();
440
+ function deepFreeze(value, seen = new WeakSet()) {
441
+ if (typeof value !== 'object' || value === null || Object.isFrozen(value))
442
+ return value;
443
+ if (seen.has(value))
444
+ return value;
445
+ seen.add(value);
446
+ for (const child of Object.values(value))
447
+ deepFreeze(child, seen);
448
+ return Object.freeze(value);
449
+ }
450
+ function cloneAndFreeze(value) {
451
+ return deepFreeze(structuredClone(value));
452
+ }
453
+ export function parseAuditProducerEvent(input) {
454
+ return cloneAndFreeze(auditProducerEventSchema.parse(input));
455
+ }
456
+ export function parseAuditEntryCore(input) {
457
+ return cloneAndFreeze(auditEntryCoreSchema.parse(input));
458
+ }
459
+ export function parseSignedAuditEntry(input) {
460
+ return cloneAndFreeze(signedAuditEntrySchema.parse(input));
461
+ }
462
+ export function parseAuditRecorderReceiptCore(input) {
463
+ return cloneAndFreeze(auditRecorderReceiptCoreSchema.parse(input));
464
+ }
465
+ export function parseAuditCheckpointCore(input) {
466
+ return cloneAndFreeze(auditCheckpointCoreSchema.parse(input));
467
+ }
468
+ export function parseSignedAuditCheckpoint(input) {
469
+ return cloneAndFreeze(signedAuditCheckpointSchema.parse(input));
470
+ }
471
+ export function parseAuditObservationReceipt(input) {
472
+ return cloneAndFreeze(auditObservationReceiptSchema.parse(input));
473
+ }
474
+ export function parseAuditBundleManifestCore(input) {
475
+ return cloneAndFreeze(auditBundleManifestCoreSchema.parse(input));
476
+ }
477
+ export function parseAuditReplayBundle(input) {
478
+ return cloneAndFreeze(auditReplayBundleSchema.parse(input));
479
+ }
480
+ export function parseAuditVerificationPolicy(input) {
481
+ return cloneAndFreeze(auditVerificationPolicySchema.parse(input));
482
+ }
483
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/audit/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import type { AuditDeliveryMode } from './assurance.js';
2
+ import { type AuditCapabilities } from './assurance.js';
3
+ import type { AuditHasher } from './crypto.js';
4
+ import type { EncryptedEvidenceInput } from './providers/evidence.js';
5
+ import type { AuditOutboxProvider } from './providers/outbox.js';
6
+ import type { AuditRecorderClient } from './providers/recorder-client.js';
7
+ import { type AuditSourceState, type AuditSourceStateProvider } from './providers/source-state.js';
8
+ import type { AuditProducerEventCoreV1, PartyRef, ProtocolBindingId, SignedAuditEntryV1 } from './types.js';
9
+ type ServiceControlledEventFields = 'schema' | 'eventId' | 'eventVersion' | 'binding' | 'occurredAt' | 'tenantRef' | 'source' | 'privacy';
10
+ export type AuditTrailEventInput = Omit<AuditProducerEventCoreV1, ServiceControlledEventFields> & {
11
+ eventId?: string;
12
+ occurredAt?: number;
13
+ privacy?: AuditProducerEventCoreV1['privacy'];
14
+ };
15
+ export interface AuditTrailConfiguration {
16
+ recorder: AuditRecorderClient;
17
+ delivery: AuditDeliveryMode;
18
+ hasher: AuditHasher;
19
+ ledgerId: string;
20
+ expectedLedgerEpochId?: string;
21
+ tenantRef: PartyRef;
22
+ producer: PartyRef;
23
+ sourceId: string;
24
+ binding: ProtocolBindingId;
25
+ privacy: AuditProducerEventCoreV1['privacy'];
26
+ clock: {
27
+ now(): number;
28
+ };
29
+ outbox?: AuditOutboxProvider;
30
+ eventIdFactory?: () => string;
31
+ onDeliveryFailure?: (error: unknown, event: AuditProducerEventCoreV1) => void;
32
+ /** Called when an event is committed but the local source watermark cannot advance. */
33
+ onSourceStateFailure?: (error: unknown, event: AuditProducerEventCoreV1) => void;
34
+ /** Optional deployment claim; validated against configured delivery at startup. */
35
+ capabilities?: AuditCapabilities;
36
+ /**
37
+ * Durable in production. It is explicit because silently resetting source
38
+ * sequence/linkage state on process restart makes high-water claims ambiguous.
39
+ */
40
+ sourceState: AuditSourceStateProvider;
41
+ }
42
+ export type AuditEmitResult = {
43
+ status: 'recorded';
44
+ event: AuditProducerEventCoreV1;
45
+ entry: SignedAuditEntryV1;
46
+ } | {
47
+ status: 'pending';
48
+ event: AuditProducerEventCoreV1;
49
+ } | {
50
+ status: 'failed';
51
+ event: AuditProducerEventCoreV1;
52
+ error: unknown;
53
+ };
54
+ export interface AuditRecordOptions {
55
+ encryptedEvidence?: readonly EncryptedEvidenceInput[];
56
+ }
57
+ /** Producer-side service: creates frozen events and applies declared delivery semantics. */
58
+ export declare class AuditTrailService {
59
+ readonly configuration: Readonly<AuditTrailConfiguration>;
60
+ private idCounter;
61
+ private readonly sourceState;
62
+ private sourceConstructionTail;
63
+ get auditProfile(): AuditCapabilities['profile'];
64
+ get capabilities(): AuditCapabilities | undefined;
65
+ constructor(configuration: AuditTrailConfiguration);
66
+ /**
67
+ * A direct-mode retry is idempotent only when it rebuilds the identical frozen
68
+ * event: callers retrying with a stable `eventId` must also pin `occurredAt`,
69
+ * otherwise the recorder correctly rejects the divergent content as an
70
+ * event-identity conflict. Buffered redelivery is always byte-stable.
71
+ */
72
+ record(input: AuditTrailEventInput, options?: AuditRecordOptions): Promise<AuditEmitResult>;
73
+ flush(limit?: number): Promise<{
74
+ delivered: number;
75
+ failed: number;
76
+ }>;
77
+ getSourceState(): Promise<AuditSourceState>;
78
+ /** Emits the producer's declared high-water mark as an ordinary chained event. */
79
+ recordSourceHighWater(input?: {
80
+ eventId?: string;
81
+ }): Promise<AuditEmitResult>;
82
+ private withSourceConstruction;
83
+ private buildAndLinkEvent;
84
+ private buildEvent;
85
+ private nextEventId;
86
+ private assertEvidenceIsReferenced;
87
+ private submitAndValidate;
88
+ }
89
+ export declare function createAuditTrail(configuration: AuditTrailConfiguration): AuditTrailService;
90
+ export {};
91
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"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"}