mindoodb 0.0.45 → 0.0.46

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 (88) hide show
  1. package/README.md +9 -0
  2. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -1
  3. package/dist/appendonlystores/network/HttpTransport.js +4 -0
  4. package/dist/appendonlystores/network/HttpTransport.js.map +1 -1
  5. package/dist/browser/index.mjs +31 -0
  6. package/dist/core/BaseMindooDB.d.ts +74 -0
  7. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  8. package/dist/core/BaseMindooDB.js +160 -0
  9. package/dist/core/BaseMindooDB.js.map +1 -1
  10. package/dist/core/BaseMindooTenant.d.ts +22 -0
  11. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  12. package/dist/core/BaseMindooTenant.js +38 -0
  13. package/dist/core/BaseMindooTenant.js.map +1 -1
  14. package/dist/core/copy/attachments.d.ts +53 -0
  15. package/dist/core/copy/attachments.d.ts.map +1 -0
  16. package/dist/core/copy/attachments.js +186 -0
  17. package/dist/core/copy/attachments.js.map +1 -0
  18. package/dist/core/copy/copyDocument.d.ts +86 -0
  19. package/dist/core/copy/copyDocument.d.ts.map +1 -0
  20. package/dist/core/copy/copyDocument.js +369 -0
  21. package/dist/core/copy/copyDocument.js.map +1 -0
  22. package/dist/core/copy/copyDocuments.d.ts +57 -0
  23. package/dist/core/copy/copyDocuments.d.ts.map +1 -0
  24. package/dist/core/copy/copyDocuments.js +167 -0
  25. package/dist/core/copy/copyDocuments.js.map +1 -0
  26. package/dist/core/copy/entryRewrite.d.ts +49 -0
  27. package/dist/core/copy/entryRewrite.d.ts.map +1 -0
  28. package/dist/core/copy/entryRewrite.js +74 -0
  29. package/dist/core/copy/entryRewrite.js.map +1 -0
  30. package/dist/core/copy/feasibility.d.ts +73 -0
  31. package/dist/core/copy/feasibility.d.ts.map +1 -0
  32. package/dist/core/copy/feasibility.js +169 -0
  33. package/dist/core/copy/feasibility.js.map +1 -0
  34. package/dist/core/copy/flatten.d.ts +55 -0
  35. package/dist/core/copy/flatten.d.ts.map +1 -0
  36. package/dist/core/copy/flatten.js +155 -0
  37. package/dist/core/copy/flatten.js.map +1 -0
  38. package/dist/core/copy/host.d.ts +92 -0
  39. package/dist/core/copy/host.d.ts.map +1 -0
  40. package/dist/core/copy/host.js +16 -0
  41. package/dist/core/copy/host.js.map +1 -0
  42. package/dist/core/copy/preflight.d.ts +62 -0
  43. package/dist/core/copy/preflight.d.ts.map +1 -0
  44. package/dist/core/copy/preflight.js +98 -0
  45. package/dist/core/copy/preflight.js.map +1 -0
  46. package/dist/core/copy/provenance.d.ts +74 -0
  47. package/dist/core/copy/provenance.d.ts.map +1 -0
  48. package/dist/core/copy/provenance.js +91 -0
  49. package/dist/core/copy/provenance.js.map +1 -0
  50. package/dist/core/copy/types.d.ts +418 -0
  51. package/dist/core/copy/types.d.ts.map +1 -0
  52. package/dist/core/copy/types.js +21 -0
  53. package/dist/core/copy/types.js.map +1 -0
  54. package/dist/core/crypto/DomainStatement.d.ts +44 -0
  55. package/dist/core/crypto/DomainStatement.d.ts.map +1 -0
  56. package/dist/core/crypto/DomainStatement.js +71 -0
  57. package/dist/core/crypto/DomainStatement.js.map +1 -0
  58. package/dist/core/crypto/EntrySignature.d.ts +109 -15
  59. package/dist/core/crypto/EntrySignature.d.ts.map +1 -1
  60. package/dist/core/crypto/EntrySignature.js +83 -22
  61. package/dist/core/crypto/EntrySignature.js.map +1 -1
  62. package/dist/core/index.d.ts +21 -0
  63. package/dist/core/index.d.ts.map +1 -1
  64. package/dist/core/index.js +54 -3
  65. package/dist/core/index.js.map +1 -1
  66. package/dist/core/timestamps/timestampClient.d.ts +88 -0
  67. package/dist/core/timestamps/timestampClient.d.ts.map +1 -0
  68. package/dist/core/timestamps/timestampClient.js +157 -0
  69. package/dist/core/timestamps/timestampClient.js.map +1 -0
  70. package/dist/core/types.d.ts +90 -0
  71. package/dist/core/types.d.ts.map +1 -1
  72. package/dist/core/types.js.map +1 -1
  73. package/dist/node/server/MindooDBServer.d.ts +37 -0
  74. package/dist/node/server/MindooDBServer.d.ts.map +1 -1
  75. package/dist/node/server/MindooDBServer.js +157 -0
  76. package/dist/node/server/MindooDBServer.js.map +1 -1
  77. package/dist/node/server/config.d.ts.map +1 -1
  78. package/dist/node/server/config.js +16 -0
  79. package/dist/node/server/config.js.map +1 -1
  80. package/dist/node/server/timestampProxy.d.ts +129 -0
  81. package/dist/node/server/timestampProxy.d.ts.map +1 -0
  82. package/dist/node/server/timestampProxy.js +361 -0
  83. package/dist/node/server/timestampProxy.js.map +1 -0
  84. package/dist/node/server/types.d.ts +20 -0
  85. package/dist/node/server/types.d.ts.map +1 -1
  86. package/dist/node/server/types.js +12 -0
  87. package/dist/node/server/types.js.map +1 -1
  88. package/package.json +1 -1
@@ -30,12 +30,19 @@ import type { StoreEntryAttachmentRef, StoreEntryMetadata } from "../types";
30
30
  * Exception — backward-compatible trailing extensions: a strictly trailing,
31
31
  * optional block whose absence produces ZERO bytes (so the layout is
32
32
  * byte-identical to the prior version for entries that do not carry the new
33
- * data) does NOT bump this value. The `attachmentRefs` block (see
34
- * {@link buildEntrySigningBytes}) is such an extension: attachment-free entries —
35
- * including every entry signed before the field existed — are unaffected and
36
- * keep verifying.
33
+ * data) does NOT bump this value. The `attachmentRefs` block and the
34
+ * `provenance` block (see {@link buildEntrySigningBytes}) are such extensions:
35
+ * entries without attachments and without provenance — including every entry
36
+ * signed before those fields existed — are unaffected and keep verifying.
37
37
  */
38
38
  export declare const ENTRY_SIGNATURE_LAYOUT_VERSION = 1;
39
+ /**
40
+ * Tag byte introducing the trailing provenance block. Two independent optional
41
+ * trailing blocks now exist, so the second one is tagged: a verifier rebuilds
42
+ * the layout rather than parsing it, but the tag makes an accidental collision
43
+ * between "an attachmentRefs count" and "a provenance block" impossible.
44
+ */
45
+ export declare const ENTRY_PROVENANCE_BLOCK_TAG = 2;
39
46
  /**
40
47
  * The exact set of metadata fields bound by an author's `metadataSignature`, in
41
48
  * the order they appear in the byte layout.
@@ -59,6 +66,64 @@ export interface EntrySignatureFields {
59
66
  * the original v1 signing input and verify unchanged. Treat empty as absent.
60
67
  */
61
68
  attachmentRefs?: StoreEntryAttachmentRef[];
69
+ /**
70
+ * Optional record of the entry this one was copied from (see
71
+ * {@link EntryProvenance}). Encoded as a tagged, backward-compatible TRAILING
72
+ * block (see {@link buildEntrySigningBytes}): when absent it contributes ZERO
73
+ * bytes, so entries that were not produced by a copy keep the original v1
74
+ * signing input and verify unchanged.
75
+ *
76
+ * Binding provenance into the signature is what makes it trustworthy: the
77
+ * copying user attests to the origin claim, so a relay cannot attach, strip or
78
+ * rewrite it after the fact.
79
+ */
80
+ provenance?: EntryProvenance;
81
+ }
82
+ /**
83
+ * A verifiable record of where a copied entry came from.
84
+ *
85
+ * Written by the `replay` copy strategy, which re-signs every entry as the
86
+ * copying user and would otherwise lose all trace of the original author. The
87
+ * record is not a bare claim: it embeds the source entry's own signed field
88
+ * projection together with the original author's signature over it, so a reader
89
+ * can rebuild those bytes and verify them against the embedded public key. A
90
+ * successful verification proves the named author really signed an entry with
91
+ * this exact `contentHash` — i.e. this exact payload.
92
+ *
93
+ * What it does NOT establish is that the key belongs to who it claims to: that
94
+ * is a directory question, answerable in-tenant and out-of-band across tenants.
95
+ *
96
+ * Note that copying a copy nests provenance (the source projection carries its
97
+ * own provenance, because the original signature only verifies over the exact
98
+ * bytes that were signed). Chains therefore grow one level per generation of
99
+ * copying.
100
+ */
101
+ export interface EntryProvenance {
102
+ /** Tenant the source entry was read from. */
103
+ sourceTenantId: string;
104
+ /** Database (store) id the source entry was read from. */
105
+ sourceDbId: string;
106
+ /**
107
+ * The source entry's signed field projection, verbatim. Rebuilding
108
+ * {@link buildEntrySigningBytes} over this reproduces exactly the bytes the
109
+ * original author signed.
110
+ */
111
+ source: EntrySignatureFields;
112
+ /**
113
+ * The original author's `metadataSignature`, base64-encoded.
114
+ *
115
+ * Base64 rather than `Uint8Array` so the whole record is plain JSON and
116
+ * survives every serializer unchanged — the on-disk store, IndexedDB and the
117
+ * network transport each hand-encode binary metadata fields one by one, and a
118
+ * dropped or mangled field here would break the enclosing
119
+ * `metadataSignature`, which binds this block.
120
+ *
121
+ * Absent when the source entry is a legacy v1 entry that predates
122
+ * `metadataSignature`. The provenance record is then still informative but
123
+ * not cryptographically verifiable; `verifyEntryProvenance` reports that
124
+ * distinction explicitly rather than failing.
125
+ */
126
+ sourceMetadataSignature?: string;
62
127
  }
63
128
  /** Options for the version-aware entry-signature verifiers. */
64
129
  export interface VerifyEntrySignatureOptions {
@@ -70,6 +135,13 @@ export interface VerifyEntrySignatureOptions {
70
135
  */
71
136
  requireMetadataSignature?: boolean;
72
137
  }
138
+ /**
139
+ * Decode a standard-base64 string to raw bytes. Kept local so this module stays
140
+ * free of platform dependencies and usable on both client and server.
141
+ */
142
+ export declare function base64ToBytes(base64: string): Uint8Array;
143
+ /** Encode raw bytes as a standard-base64 string. Inverse of {@link base64ToBytes}. */
144
+ export declare function bytesToBase64(bytes: Uint8Array): string;
73
145
  /**
74
146
  * Build the canonical, versioned, length-prefixed byte layout the author signs
75
147
  * over.
@@ -91,22 +163,42 @@ export interface VerifyEntrySignatureOptions {
91
163
  * || ( len(attachmentId) || attachmentId
92
164
  * || len(lastChunkId) || lastChunkId
93
165
  * || int64BE(size) ) * (one triple per ref, in array order)
166
+ * -- trailing provenance block, PRESENT ONLY IF provenance is set --
167
+ * || 0x02 (ENTRY_PROVENANCE_BLOCK_TAG)
168
+ * || len(sourceTenantId) || sourceTenantId
169
+ * || len(sourceDbId) || sourceDbId
170
+ * || len(sourceSigningBytes) || sourceSigningBytes (recursive layout)
171
+ * || len(sourceMetadataSignature) || sourceMetadataSignature (raw bytes,
172
+ * zero-length when absent)
94
173
  * ```
95
174
  *
96
- * The attachmentRefs block is a deliberately backward-compatible TRAILING
97
- * extension: it is appended ONLY when there is at least one ref, so an
98
- * attachment-free entry (every entry written before this field existed, and
99
- * every future text-only revision) produces byte-for-byte the same input as the
100
- * original layout and its existing signature still verifies. This is why the
101
- * version byte intentionally stays `0x01` and is NOT bumped despite the new
102
- * field: absence is byte-identical to the prior layout. Callers MUST treat an
103
- * empty array as absent (the canonicalization in {@link entrySignatureFieldsFromEntry}
104
- * guarantees this) and emit refs in a stable order (the writer sorts by
105
- * `attachmentId`) so signing and verification produce identical bytes.
175
+ * Both trailing blocks are deliberately backward-compatible extensions: each is
176
+ * appended ONLY when it carries data, so an attachment-free entry that is not a
177
+ * copy (every entry written before these fields existed, and every ordinary
178
+ * revision) produces byte-for-byte the same input as the original layout and
179
+ * its existing signature still verifies. This is why the version byte
180
+ * intentionally stays `0x01` and is NOT bumped despite the new fields: absence
181
+ * is byte-identical to the prior layout. Callers MUST treat an empty
182
+ * `attachmentRefs` array as absent (the canonicalization in
183
+ * {@link entrySignatureFieldsFromEntry} guarantees this) and emit refs in a
184
+ * stable order (the writer sorts by `attachmentId`) so signing and verification
185
+ * produce identical bytes.
186
+ *
187
+ * The provenance block embeds the source entry's signing bytes by recursing
188
+ * into this same function, which is what lets a verifier re-derive the exact
189
+ * bytes the original author signed.
106
190
  */
107
191
  export declare function buildEntrySigningBytes(fields: EntrySignatureFields, version?: number): Uint8Array;
108
192
  /** Project the signed fields out of an entry's metadata. */
109
- export declare function entrySignatureFieldsFromEntry(entry: Pick<StoreEntryMetadata, "entryType" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "dependencyIds" | "contentHash" | "createdByPublicKey" | "attachmentRefs">): EntrySignatureFields;
193
+ export declare function entrySignatureFieldsFromEntry(entry: Pick<StoreEntryMetadata, "entryType" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "dependencyIds" | "contentHash" | "createdByPublicKey" | "attachmentRefs"> & {
194
+ provenance?: EntryProvenance;
195
+ }): EntrySignatureFields;
196
+ /**
197
+ * Import a PEM-encoded Ed25519 public key for verification. Exported so
198
+ * provenance verification can check an embedded author key without duplicating
199
+ * the PEM handling.
200
+ */
201
+ export declare function importEd25519PublicKeyFromPem(publicKeyPem: string, subtle: SubtleCrypto): Promise<CryptoKey>;
110
202
  /**
111
203
  * Sign the canonical entry layout with an already-imported Ed25519 private key.
112
204
  * Returns the raw signature bytes to store as `metadataSignature`.
@@ -125,6 +217,7 @@ export declare function signEntryMetadata(fields: EntrySignatureFields, signingP
125
217
  */
126
218
  export declare function verifyEntrySignatureWithImportedKey(entry: Pick<StoreEntryMetadata, "entryType" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "dependencyIds" | "contentHash" | "createdByPublicKey" | "attachmentRefs" | "signature"> & {
127
219
  metadataSignature?: Uint8Array;
220
+ provenance?: EntryProvenance;
128
221
  }, encryptedData: Uint8Array, cryptoKey: CryptoKey, subtle: SubtleCrypto, opts?: VerifyEntrySignatureOptions): Promise<boolean>;
129
222
  /**
130
223
  * Same as {@link verifyEntrySignatureWithImportedKey} but imports the author's
@@ -133,5 +226,6 @@ export declare function verifyEntrySignatureWithImportedKey(entry: Pick<StoreEnt
133
226
  */
134
227
  export declare function verifyEntrySignatureCrypto(entry: Pick<StoreEntryMetadata, "entryType" | "id" | "docId" | "decryptionKeyId" | "createdAt" | "dependencyIds" | "contentHash" | "createdByPublicKey" | "attachmentRefs" | "signature"> & {
135
228
  metadataSignature?: Uint8Array;
229
+ provenance?: EntryProvenance;
136
230
  }, encryptedData: Uint8Array, authorPublicKeyPem: string, subtle: SubtleCrypto, opts?: VerifyEntrySignatureOptions): Promise<boolean>;
137
231
  //# sourceMappingURL=EntrySignature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntrySignature.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,8BAA8B,IAAO,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC5C;AAED,+DAA+D;AAC/D,MAAM,WAAW,2BAA2B;IAC1C;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,GAAE,MAAuC,GAC/C,UAAU,CAmCZ;AAED,4DAA4D;AAC5D,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,IAAI,CACT,kBAAkB,EAChB,WAAW,GACX,IAAI,GACJ,OAAO,GACP,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,gBAAgB,CACnB,GACA,oBAAoB,CAiBtB;AAgBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,oBAAoB,EAC5B,iBAAiB,EAAE,SAAS,EAC5B,MAAM,EAAE,YAAY,EACpB,OAAO,GAAE,MAAuC,GAC/C,OAAO,CAAC,UAAU,CAAC,CAIrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,IAAI,CACT,kBAAkB,EAChB,WAAW,GACX,IAAI,GACJ,OAAO,GACP,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,WAAW,CACd,GAAG;IAAE,iBAAiB,CAAC,EAAE,UAAU,CAAA;CAAE,EACtC,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,IAAI,CACT,kBAAkB,EAChB,WAAW,GACX,IAAI,GACJ,OAAO,GACP,iBAAiB,GACjB,WAAW,GACX,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,gBAAgB,GAChB,WAAW,CACd,GAAG;IAAE,iBAAiB,CAAC,EAAE,UAAU,CAAA;CAAE,EACtC,aAAa,EAAE,UAAU,EACzB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,OAAO,CAAC,CASlB"}
1
+ {"version":3,"file":"EntrySignature.d.ts","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENTRY_SIGNATURE_LAYOUT_VERSION = void 0;
3
+ exports.ENTRY_PROVENANCE_BLOCK_TAG = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = void 0;
4
+ exports.base64ToBytes = base64ToBytes;
5
+ exports.bytesToBase64 = bytesToBase64;
4
6
  exports.buildEntrySigningBytes = buildEntrySigningBytes;
5
7
  exports.entrySignatureFieldsFromEntry = entrySignatureFieldsFromEntry;
8
+ exports.importEd25519PublicKeyFromPem = importEd25519PublicKeyFromPem;
6
9
  exports.signEntryMetadata = signEntryMetadata;
7
10
  exports.verifyEntrySignatureWithImportedKey = verifyEntrySignatureWithImportedKey;
8
11
  exports.verifyEntrySignatureCrypto = verifyEntrySignatureCrypto;
@@ -37,13 +40,42 @@ exports.verifyEntrySignatureCrypto = verifyEntrySignatureCrypto;
37
40
  * Exception — backward-compatible trailing extensions: a strictly trailing,
38
41
  * optional block whose absence produces ZERO bytes (so the layout is
39
42
  * byte-identical to the prior version for entries that do not carry the new
40
- * data) does NOT bump this value. The `attachmentRefs` block (see
41
- * {@link buildEntrySigningBytes}) is such an extension: attachment-free entries —
42
- * including every entry signed before the field existed — are unaffected and
43
- * keep verifying.
43
+ * data) does NOT bump this value. The `attachmentRefs` block and the
44
+ * `provenance` block (see {@link buildEntrySigningBytes}) are such extensions:
45
+ * entries without attachments and without provenance — including every entry
46
+ * signed before those fields existed — are unaffected and keep verifying.
44
47
  */
45
48
  exports.ENTRY_SIGNATURE_LAYOUT_VERSION = 0x01;
49
+ /**
50
+ * Tag byte introducing the trailing provenance block. Two independent optional
51
+ * trailing blocks now exist, so the second one is tagged: a verifier rebuilds
52
+ * the layout rather than parsing it, but the tag makes an accidental collision
53
+ * between "an attachmentRefs count" and "a provenance block" impossible.
54
+ */
55
+ exports.ENTRY_PROVENANCE_BLOCK_TAG = 0x02;
46
56
  const textEncoder = new TextEncoder();
57
+ /**
58
+ * Decode a standard-base64 string to raw bytes. Kept local so this module stays
59
+ * free of platform dependencies and usable on both client and server.
60
+ */
61
+ function base64ToBytes(base64) {
62
+ const binary = atob(base64);
63
+ const bytes = new Uint8Array(binary.length);
64
+ for (let i = 0; i < binary.length; i++) {
65
+ bytes[i] = binary.charCodeAt(i);
66
+ }
67
+ return bytes;
68
+ }
69
+ /** Encode raw bytes as a standard-base64 string. Inverse of {@link base64ToBytes}. */
70
+ function bytesToBase64(bytes) {
71
+ let binary = "";
72
+ // Chunked to stay clear of the argument-count limit on large inputs.
73
+ const chunkSize = 0x8000;
74
+ for (let i = 0; i < bytes.length; i += chunkSize) {
75
+ binary += String.fromCharCode(...bytes.subarray(i, i + chunkSize));
76
+ }
77
+ return btoa(binary);
78
+ }
47
79
  function pushLengthPrefixed(parts, bytes) {
48
80
  const lengthPrefix = new Uint8Array(4);
49
81
  new DataView(lengthPrefix.buffer).setUint32(0, bytes.length, false /* big-endian */);
@@ -86,18 +118,30 @@ function pushInt64BE(parts, value) {
86
118
  * || ( len(attachmentId) || attachmentId
87
119
  * || len(lastChunkId) || lastChunkId
88
120
  * || int64BE(size) ) * (one triple per ref, in array order)
121
+ * -- trailing provenance block, PRESENT ONLY IF provenance is set --
122
+ * || 0x02 (ENTRY_PROVENANCE_BLOCK_TAG)
123
+ * || len(sourceTenantId) || sourceTenantId
124
+ * || len(sourceDbId) || sourceDbId
125
+ * || len(sourceSigningBytes) || sourceSigningBytes (recursive layout)
126
+ * || len(sourceMetadataSignature) || sourceMetadataSignature (raw bytes,
127
+ * zero-length when absent)
89
128
  * ```
90
129
  *
91
- * The attachmentRefs block is a deliberately backward-compatible TRAILING
92
- * extension: it is appended ONLY when there is at least one ref, so an
93
- * attachment-free entry (every entry written before this field existed, and
94
- * every future text-only revision) produces byte-for-byte the same input as the
95
- * original layout and its existing signature still verifies. This is why the
96
- * version byte intentionally stays `0x01` and is NOT bumped despite the new
97
- * field: absence is byte-identical to the prior layout. Callers MUST treat an
98
- * empty array as absent (the canonicalization in {@link entrySignatureFieldsFromEntry}
99
- * guarantees this) and emit refs in a stable order (the writer sorts by
100
- * `attachmentId`) so signing and verification produce identical bytes.
130
+ * Both trailing blocks are deliberately backward-compatible extensions: each is
131
+ * appended ONLY when it carries data, so an attachment-free entry that is not a
132
+ * copy (every entry written before these fields existed, and every ordinary
133
+ * revision) produces byte-for-byte the same input as the original layout and
134
+ * its existing signature still verifies. This is why the version byte
135
+ * intentionally stays `0x01` and is NOT bumped despite the new fields: absence
136
+ * is byte-identical to the prior layout. Callers MUST treat an empty
137
+ * `attachmentRefs` array as absent (the canonicalization in
138
+ * {@link entrySignatureFieldsFromEntry} guarantees this) and emit refs in a
139
+ * stable order (the writer sorts by `attachmentId`) so signing and verification
140
+ * produce identical bytes.
141
+ *
142
+ * The provenance block embeds the source entry's signing bytes by recursing
143
+ * into this same function, which is what lets a verifier re-derive the exact
144
+ * bytes the original author signed.
101
145
  */
102
146
  function buildEntrySigningBytes(fields, version = exports.ENTRY_SIGNATURE_LAYOUT_VERSION) {
103
147
  const parts = [];
@@ -124,6 +168,19 @@ function buildEntrySigningBytes(fields, version = exports.ENTRY_SIGNATURE_LAYOUT
124
168
  pushInt64BE(parts, ref.size);
125
169
  }
126
170
  }
171
+ // Second trailing block, tagged so it can never be confused with the
172
+ // attachmentRefs count above. Recurses to embed the source entry's own
173
+ // signing bytes verbatim.
174
+ const provenance = fields.provenance;
175
+ if (provenance) {
176
+ parts.push(new Uint8Array([exports.ENTRY_PROVENANCE_BLOCK_TAG]));
177
+ pushString(parts, provenance.sourceTenantId);
178
+ pushString(parts, provenance.sourceDbId);
179
+ pushLengthPrefixed(parts, buildEntrySigningBytes(provenance.source, version));
180
+ pushLengthPrefixed(parts, provenance.sourceMetadataSignature
181
+ ? base64ToBytes(provenance.sourceMetadataSignature)
182
+ : new Uint8Array(0));
183
+ }
127
184
  const total = parts.reduce((sum, p) => sum + p.length, 0);
128
185
  const out = new Uint8Array(total);
129
186
  let offset = 0;
@@ -149,6 +206,7 @@ function entrySignatureFieldsFromEntry(entry) {
149
206
  attachmentRefs: entry.attachmentRefs && entry.attachmentRefs.length > 0
150
207
  ? entry.attachmentRefs
151
208
  : undefined,
209
+ provenance: entry.provenance,
152
210
  };
153
211
  }
154
212
  /** Convert a PEM-encoded SPKI public key to an ArrayBuffer (dependency-free). */
@@ -157,12 +215,15 @@ function pemToArrayBuffer(pem) {
157
215
  .replace("-----BEGIN PUBLIC KEY-----", "")
158
216
  .replace("-----END PUBLIC KEY-----", "")
159
217
  .replace(/\s/g, "");
160
- const binary = atob(base64);
161
- const bytes = new Uint8Array(binary.length);
162
- for (let i = 0; i < binary.length; i++) {
163
- bytes[i] = binary.charCodeAt(i);
164
- }
165
- return bytes.buffer;
218
+ return base64ToBytes(base64).buffer;
219
+ }
220
+ /**
221
+ * Import a PEM-encoded Ed25519 public key for verification. Exported so
222
+ * provenance verification can check an embedded author key without duplicating
223
+ * the PEM handling.
224
+ */
225
+ function importEd25519PublicKeyFromPem(publicKeyPem, subtle) {
226
+ return subtle.importKey("spki", pemToArrayBuffer(publicKeyPem), { name: "Ed25519" }, false, ["verify"]);
166
227
  }
167
228
  /**
168
229
  * Sign the canonical entry layout with an already-imported Ed25519 private key.
@@ -204,7 +265,7 @@ async function verifyEntrySignatureWithImportedKey(entry, encryptedData, cryptoK
204
265
  * the server's push path) where no key cache is available.
205
266
  */
206
267
  async function verifyEntrySignatureCrypto(entry, encryptedData, authorPublicKeyPem, subtle, opts) {
207
- const cryptoKey = await subtle.importKey("spki", pemToArrayBuffer(authorPublicKeyPem), { name: "Ed25519" }, false, ["verify"]);
268
+ const cryptoKey = await importEd25519PublicKeyFromPem(authorPublicKeyPem, subtle);
208
269
  return verifyEntrySignatureWithImportedKey(entry, encryptedData, cryptoKey, subtle, opts);
209
270
  }
210
271
  //# sourceMappingURL=EntrySignature.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntrySignature.js","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntrySignature.js","sourceRoot":"","sources":["../../../src/core/crypto/EntrySignature.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,27 @@ export type { CryptoAdapter } from "./crypto/CryptoAdapter";
13
13
  export { RSAEncryption } from "./crypto/RSAEncryption";
14
14
  export { MindooDocSigner } from "./crypto/MindooDocSigner";
15
15
  export { decryptEncryptedField, getEncryptedFieldKeyId, type EncryptedFieldDecryptor, } from "./crypto/encryptedFields";
16
+ export type { EntryProvenance, EntrySignatureFields, } from "./crypto/EntrySignature";
17
+ /**
18
+ * Signature-verification primitives.
19
+ *
20
+ * Exported so an *outside* party — an evidence-bundle verifier, an auditor's
21
+ * own tooling — can check MindooDB's claims with the same code that made them,
22
+ * without a tenant, a server or a key. `verifyEntrySignatureCrypto` needs the
23
+ * ciphertext only on the legacy path; given a `metadataSignature` it rebuilds
24
+ * the signed bytes from metadata alone, so an entry chain is verifiable while
25
+ * disclosing nothing about what any change contained.
26
+ */
27
+ export { buildEntrySigningBytes, entrySignatureFieldsFromEntry, importEd25519PublicKeyFromPem, verifyEntrySignatureCrypto, verifyEntrySignatureWithImportedKey, base64ToBytes, bytesToBase64, ENTRY_SIGNATURE_LAYOUT_VERSION, } from "./crypto/EntrySignature";
28
+ export { buildWitnessSigningBytes, verifyWitnessReceipt, witnessFieldsFromEntry, WITNESS_RECEIPT_LAYOUT_VERSION, type StampedWitnessFields, type WitnessReceiptFields, } from "./crypto/WitnessReceipt";
29
+ export { entryTrustedTime, isProvisional } from "./storeEntryTime";
30
+ export { assertAllowedSigningDomain, buildDomainStatementBytes, isAllowedSigningDomain, InvalidSigningDomainError, MAX_DOMAIN_STATEMENT_BYTES, SIGNING_DOMAINS, type SigningDomain, } from "./crypto/DomainStatement";
31
+ export { BROWSER_REACHABLE_TSA, DEFAULT_TIMESTAMP_TIMEOUT_MS, MAX_TIMESTAMP_RESPONSE_BYTES, TIMESTAMP_QUERY_CONTENT_TYPE, TIMESTAMP_REPLY_CONTENT_TYPE, TimestampRequestError, requestTimestampDirect, requestTimestampViaProxy, requestTimestampWithFallback, type ProxyTimestampOptions, type TimestampSource, type TimestampTokenResult, type TimestampWithFallbackOptions, } from "./timestamps/timestampClient";
32
+ export type { CopyDocumentAuthorship, CopyDocumentFailure, CopyDocumentMode, CopyDocumentOptions, CopyDocumentResult, CopyDocumentSelector, CopyDocumentsOptions, CopyDocumentsResult, CopyFeasibility, CopyFeasibilityReason, CopyFeasibilityReasonCode, CopyProgress, CopyProgressPhase, CopyStrategy, } from "./copy/types";
33
+ export { verifyEntryProvenance, type ProvenanceVerification, type ProvenanceVerificationStatus, } from "./copy/provenance";
34
+ export { buildDocHistoryPurgeRequest } from "./copy/copyDocuments";
35
+ export type { FlattenedDocumentProvenance } from "./copy/flatten";
36
+ export type { CopyAdmissionCheck, CopyAdmissionPreflight, } from "./copy/preflight";
16
37
  export { KeyBag, type KeyDetail } from "./keys/KeyBag";
17
38
  export { encodeMindooURI, decodeMindooURI, isMindooURI, encodeKeyDistributionRequest, decodeKeyDistributionRequest, encodeAppDistributionRequest, decodeAppDistributionRequest, encodeSyncSetupPolicyRequest, decodeSyncSetupPolicyRequest, encodeDocHistoryPurgeRequest, decodeDocHistoryPurgeRequest, type MindooURIType, type DecodedMindooURI, } from "./uri/MindooURI";
18
39
  export { SymmetricKeyNotFoundError, DocumentNotFoundError, DocumentDeletedError, isDocumentMissingError, } from "./errors";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.AccessDeniedError = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = void 0;
19
- exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.createQuantizedTimeSource = exports.setSemanticTimeSourceForTesting = exports.semanticNow = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = exports.generateUniqueAttachmentChunkId = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.matchesDocIdPrefix = exports.generateDocId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = void 0;
20
- exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = void 0;
18
+ exports.base64ToBytes = exports.verifyEntrySignatureWithImportedKey = exports.verifyEntrySignatureCrypto = exports.importEd25519PublicKeyFromPem = exports.entrySignatureFieldsFromEntry = exports.buildEntrySigningBytes = exports.getEncryptedFieldKeyId = exports.decryptEncryptedField = exports.MindooDocSigner = exports.RSAEncryption = exports.MindooDBServerAdmin = exports.BaseMindooTenantFactory = exports.BaseMindooTenant = exports.BaseMindooDB = exports.AccessDeniedError = exports.nodeCovering = exports.createGenesisNode = exports.ACL_DOC_HISTORY_PURGE_PREFIX = exports.DOC_HISTORY_PURGE_TYPE = exports.validateDocHistoryPurge = exports.isDocHistoryPurgeDocId = exports.aclDocHistoryPurgeDocId = exports.ACL_SYNC_SETUP_POLICY_PREFIX = exports.SYNC_SETUP_POLICY_MODES = exports.SYNC_SETUP_POLICY_TYPE = exports.validateSyncSetupPolicy = exports.isSyncSetupPolicyDocId = exports.aclSyncSetupPolicyDocId = exports.ACL_APP_DISTRIBUTION_PREFIX = exports.APP_DISTRIBUTION_TYPE = exports.validateAppDistribution = exports.isAppDistributionDocId = exports.aclAppDistributionDocId = exports.PROTECTED_DISTRIBUTION_KEY_IDS = exports.ACL_KEY_DISTRIBUTION_PREFIX = exports.KEY_DISTRIBUTION_TYPE = exports.validateKeyDistribution = exports.isKeyDistributionDocId = exports.aclKeyDistributionDocId = exports.decodeAclIdComponent = exports.encodeAclIdComponent = exports.aclTrustedWitnessDocId = exports.aclRuleDocId = exports.aclDbPolicyDocId = exports.effectivePolicy = exports.RULE_TYPE_TO_DENY_FIELD = exports.RULE_TYPES = exports.DEFAULT_POLICY_DEFAULTS = exports.ACL_DEFAULT_POLICY_DOC_ID = exports.ACCESS_CONTROL_FORM = void 0;
19
+ exports.generateUniqueAttachmentChunkId = exports.generateAttachmentChunkId = exports.generateDepsFingerprint = exports.generateDocEntryId = exports.matchesDocIdPrefix = exports.generateDocId = exports.CacheManager = exports.EncryptedLocalCacheStore = exports.InMemoryLocalCacheStore = exports.isDocumentMissingError = exports.DocumentDeletedError = exports.DocumentNotFoundError = exports.SymmetricKeyNotFoundError = exports.decodeDocHistoryPurgeRequest = exports.encodeDocHistoryPurgeRequest = exports.decodeSyncSetupPolicyRequest = exports.encodeSyncSetupPolicyRequest = exports.decodeAppDistributionRequest = exports.encodeAppDistributionRequest = exports.decodeKeyDistributionRequest = exports.encodeKeyDistributionRequest = exports.isMindooURI = exports.decodeMindooURI = exports.encodeMindooURI = exports.KeyBag = exports.buildDocHistoryPurgeRequest = exports.verifyEntryProvenance = exports.requestTimestampWithFallback = exports.requestTimestampViaProxy = exports.requestTimestampDirect = exports.TimestampRequestError = exports.TIMESTAMP_REPLY_CONTENT_TYPE = exports.TIMESTAMP_QUERY_CONTENT_TYPE = exports.MAX_TIMESTAMP_RESPONSE_BYTES = exports.DEFAULT_TIMESTAMP_TIMEOUT_MS = exports.BROWSER_REACHABLE_TSA = exports.SIGNING_DOMAINS = exports.MAX_DOMAIN_STATEMENT_BYTES = exports.InvalidSigningDomainError = exports.isAllowedSigningDomain = exports.buildDomainStatementBytes = exports.assertAllowedSigningDomain = exports.isProvisional = exports.entryTrustedTime = exports.WITNESS_RECEIPT_LAYOUT_VERSION = exports.witnessFieldsFromEntry = exports.verifyWitnessReceipt = exports.buildWitnessSigningBytes = exports.ENTRY_SIGNATURE_LAYOUT_VERSION = exports.bytesToBase64 = void 0;
20
+ exports.isFieldPathCovered = exports.getSummaryFieldValue = exports.extractSummaryFields = exports.sanitizeSummaryConfig = exports.computeSummaryConfigFingerprint = exports.resolveSummaryConfig = exports.SummaryVirtualViewDataProvider = exports.DocumentSummaryStore = exports.queryViewAcross = exports.createEphemeralSummaryView = exports.EphemeralSummaryView = exports.MindooQueryError = exports.executeQueryLive = exports.executeQuery = exports.filterExpressionToDocumentFilter = exports.collectSummaryFallbackReasons = exports.createViewDataProvider = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewNavigator = exports.VirtualViewColumn = exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.VirtualView = exports.HttpTransport = exports.ClientNetworkContentAddressedStore = exports.NetworkError = exports.NetworkErrorType = exports.AuthenticationService = exports.InMemoryContentAddressedStoreFactory = exports.InMemoryContentAddressedStore = exports.createQuantizedTimeSource = exports.setSemanticTimeSourceForTesting = exports.semanticNow = exports.computeContentHash = exports.extractDocIdFromEntryId = exports.isAttachmentChunkId = exports.isDocEntryId = exports.parseAttachmentChunkId = exports.parseDocEntryId = exports.generateChunkUuid7 = exports.generateFileUuid7 = void 0;
21
+ exports.sanitizeExtractionConfig = exports.EXTRACTION_SETUP_FIELD = exports.DEFAULT_FULLTEXT_MAX_FIELD_BYTES = exports.FULLTEXT_INDEX_FORMAT_VERSION = exports.FULLTEXT_ATTACHMENT_FIELD = exports.FULLTEXT_SETUP_FIELD = exports.extractFulltextFields = exports.collectPlainText = exports.computeFulltextConfigFingerprint = exports.sanitizeFulltextConfig = exports.resolveFulltextConfig = exports.createTokenizer = exports.MiniSearchAdapter = exports.DocumentFullTextIndex = exports.ATTACHMENTS_FIELD = exports.SUMMARY_SETUP_FIELD = exports.DB_SETUP_DOC_ID = exports.DEFAULT_SUMMARY_MAX_VALUE_BYTES = void 0;
21
22
  // Types
22
23
  __exportStar(require("./types"), exports);
23
24
  __exportStar(require("./databaseIdValidation"), exports);
@@ -81,6 +82,56 @@ Object.defineProperty(exports, "MindooDocSigner", { enumerable: true, get: funct
81
82
  var encryptedFields_1 = require("./crypto/encryptedFields");
82
83
  Object.defineProperty(exports, "decryptEncryptedField", { enumerable: true, get: function () { return encryptedFields_1.decryptEncryptedField; } });
83
84
  Object.defineProperty(exports, "getEncryptedFieldKeyId", { enumerable: true, get: function () { return encryptedFields_1.getEncryptedFieldKeyId; } });
85
+ /**
86
+ * Signature-verification primitives.
87
+ *
88
+ * Exported so an *outside* party — an evidence-bundle verifier, an auditor's
89
+ * own tooling — can check MindooDB's claims with the same code that made them,
90
+ * without a tenant, a server or a key. `verifyEntrySignatureCrypto` needs the
91
+ * ciphertext only on the legacy path; given a `metadataSignature` it rebuilds
92
+ * the signed bytes from metadata alone, so an entry chain is verifiable while
93
+ * disclosing nothing about what any change contained.
94
+ */
95
+ var EntrySignature_1 = require("./crypto/EntrySignature");
96
+ Object.defineProperty(exports, "buildEntrySigningBytes", { enumerable: true, get: function () { return EntrySignature_1.buildEntrySigningBytes; } });
97
+ Object.defineProperty(exports, "entrySignatureFieldsFromEntry", { enumerable: true, get: function () { return EntrySignature_1.entrySignatureFieldsFromEntry; } });
98
+ Object.defineProperty(exports, "importEd25519PublicKeyFromPem", { enumerable: true, get: function () { return EntrySignature_1.importEd25519PublicKeyFromPem; } });
99
+ Object.defineProperty(exports, "verifyEntrySignatureCrypto", { enumerable: true, get: function () { return EntrySignature_1.verifyEntrySignatureCrypto; } });
100
+ Object.defineProperty(exports, "verifyEntrySignatureWithImportedKey", { enumerable: true, get: function () { return EntrySignature_1.verifyEntrySignatureWithImportedKey; } });
101
+ Object.defineProperty(exports, "base64ToBytes", { enumerable: true, get: function () { return EntrySignature_1.base64ToBytes; } });
102
+ Object.defineProperty(exports, "bytesToBase64", { enumerable: true, get: function () { return EntrySignature_1.bytesToBase64; } });
103
+ Object.defineProperty(exports, "ENTRY_SIGNATURE_LAYOUT_VERSION", { enumerable: true, get: function () { return EntrySignature_1.ENTRY_SIGNATURE_LAYOUT_VERSION; } });
104
+ var WitnessReceipt_1 = require("./crypto/WitnessReceipt");
105
+ Object.defineProperty(exports, "buildWitnessSigningBytes", { enumerable: true, get: function () { return WitnessReceipt_1.buildWitnessSigningBytes; } });
106
+ Object.defineProperty(exports, "verifyWitnessReceipt", { enumerable: true, get: function () { return WitnessReceipt_1.verifyWitnessReceipt; } });
107
+ Object.defineProperty(exports, "witnessFieldsFromEntry", { enumerable: true, get: function () { return WitnessReceipt_1.witnessFieldsFromEntry; } });
108
+ Object.defineProperty(exports, "WITNESS_RECEIPT_LAYOUT_VERSION", { enumerable: true, get: function () { return WitnessReceipt_1.WITNESS_RECEIPT_LAYOUT_VERSION; } });
109
+ var storeEntryTime_1 = require("./storeEntryTime");
110
+ Object.defineProperty(exports, "entryTrustedTime", { enumerable: true, get: function () { return storeEntryTime_1.entryTrustedTime; } });
111
+ Object.defineProperty(exports, "isProvisional", { enumerable: true, get: function () { return storeEntryTime_1.isProvisional; } });
112
+ // Domain-separated statement signing (approval / counter-signature seals).
113
+ var DomainStatement_1 = require("./crypto/DomainStatement");
114
+ Object.defineProperty(exports, "assertAllowedSigningDomain", { enumerable: true, get: function () { return DomainStatement_1.assertAllowedSigningDomain; } });
115
+ Object.defineProperty(exports, "buildDomainStatementBytes", { enumerable: true, get: function () { return DomainStatement_1.buildDomainStatementBytes; } });
116
+ Object.defineProperty(exports, "isAllowedSigningDomain", { enumerable: true, get: function () { return DomainStatement_1.isAllowedSigningDomain; } });
117
+ Object.defineProperty(exports, "InvalidSigningDomainError", { enumerable: true, get: function () { return DomainStatement_1.InvalidSigningDomainError; } });
118
+ Object.defineProperty(exports, "MAX_DOMAIN_STATEMENT_BYTES", { enumerable: true, get: function () { return DomainStatement_1.MAX_DOMAIN_STATEMENT_BYTES; } });
119
+ Object.defineProperty(exports, "SIGNING_DOMAINS", { enumerable: true, get: function () { return DomainStatement_1.SIGNING_DOMAINS; } });
120
+ // RFC 3161 timestamp transport (direct browser call + server proxy fallback).
121
+ var timestampClient_1 = require("./timestamps/timestampClient");
122
+ Object.defineProperty(exports, "BROWSER_REACHABLE_TSA", { enumerable: true, get: function () { return timestampClient_1.BROWSER_REACHABLE_TSA; } });
123
+ Object.defineProperty(exports, "DEFAULT_TIMESTAMP_TIMEOUT_MS", { enumerable: true, get: function () { return timestampClient_1.DEFAULT_TIMESTAMP_TIMEOUT_MS; } });
124
+ Object.defineProperty(exports, "MAX_TIMESTAMP_RESPONSE_BYTES", { enumerable: true, get: function () { return timestampClient_1.MAX_TIMESTAMP_RESPONSE_BYTES; } });
125
+ Object.defineProperty(exports, "TIMESTAMP_QUERY_CONTENT_TYPE", { enumerable: true, get: function () { return timestampClient_1.TIMESTAMP_QUERY_CONTENT_TYPE; } });
126
+ Object.defineProperty(exports, "TIMESTAMP_REPLY_CONTENT_TYPE", { enumerable: true, get: function () { return timestampClient_1.TIMESTAMP_REPLY_CONTENT_TYPE; } });
127
+ Object.defineProperty(exports, "TimestampRequestError", { enumerable: true, get: function () { return timestampClient_1.TimestampRequestError; } });
128
+ Object.defineProperty(exports, "requestTimestampDirect", { enumerable: true, get: function () { return timestampClient_1.requestTimestampDirect; } });
129
+ Object.defineProperty(exports, "requestTimestampViaProxy", { enumerable: true, get: function () { return timestampClient_1.requestTimestampViaProxy; } });
130
+ Object.defineProperty(exports, "requestTimestampWithFallback", { enumerable: true, get: function () { return timestampClient_1.requestTimestampWithFallback; } });
131
+ var provenance_1 = require("./copy/provenance");
132
+ Object.defineProperty(exports, "verifyEntryProvenance", { enumerable: true, get: function () { return provenance_1.verifyEntryProvenance; } });
133
+ var copyDocuments_1 = require("./copy/copyDocuments");
134
+ Object.defineProperty(exports, "buildDocHistoryPurgeRequest", { enumerable: true, get: function () { return copyDocuments_1.buildDocHistoryPurgeRequest; } });
84
135
  // Keys
85
136
  var KeyBag_1 = require("./keys/KeyBag");
86
137
  Object.defineProperty(exports, "KeyBag", { enumerable: true, get: function () { return KeyBag_1.KeyBag; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"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"}