@vorionsys/contracts 0.1.0 → 0.1.2

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 (219) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/LICENSE +190 -0
  3. package/README.md +435 -0
  4. package/dist/aci/index.d.ts +6 -62
  5. package/dist/aci/index.d.ts.map +1 -1
  6. package/dist/aci/index.js +22 -152
  7. package/dist/aci/index.js.map +1 -1
  8. package/dist/canonical/agent.d.ts +2 -2
  9. package/dist/canonical/agent.d.ts.map +1 -1
  10. package/dist/canonical/agent.js +146 -130
  11. package/dist/canonical/agent.js.map +1 -1
  12. package/dist/canonical/governance.d.ts +1 -1
  13. package/dist/canonical/governance.js +134 -120
  14. package/dist/canonical/governance.js.map +1 -1
  15. package/dist/canonical/index.d.ts +1 -0
  16. package/dist/canonical/index.d.ts.map +1 -1
  17. package/dist/canonical/index.js +26 -8
  18. package/dist/canonical/index.js.map +1 -1
  19. package/dist/canonical/intent.d.ts +8 -15
  20. package/dist/canonical/intent.d.ts.map +1 -1
  21. package/dist/canonical/intent.js +91 -82
  22. package/dist/canonical/intent.js.map +1 -1
  23. package/dist/canonical/middleware.d.ts +513 -0
  24. package/dist/canonical/middleware.d.ts.map +1 -0
  25. package/dist/canonical/middleware.js +218 -0
  26. package/dist/canonical/middleware.js.map +1 -0
  27. package/dist/canonical/risk-level.d.ts +1 -1
  28. package/dist/canonical/risk-level.js +66 -46
  29. package/dist/canonical/risk-level.js.map +1 -1
  30. package/dist/canonical/trust-band.d.ts +1 -1
  31. package/dist/canonical/trust-band.js +39 -28
  32. package/dist/canonical/trust-band.js.map +1 -1
  33. package/dist/canonical/trust-score.d.ts +1 -1
  34. package/dist/canonical/trust-score.js +46 -29
  35. package/dist/canonical/trust-score.js.map +1 -1
  36. package/dist/canonical/trust-signal.d.ts +13 -13
  37. package/dist/canonical/trust-signal.js +91 -78
  38. package/dist/canonical/trust-signal.js.map +1 -1
  39. package/dist/canonical/validation.js +148 -102
  40. package/dist/canonical/validation.js.map +1 -1
  41. package/dist/{aci → car}/attestation.d.ts +73 -73
  42. package/dist/{aci → car}/attestation.d.ts.map +1 -1
  43. package/dist/{aci → car}/attestation.js +69 -59
  44. package/dist/car/attestation.js.map +1 -0
  45. package/dist/car/car-string.d.ts +846 -0
  46. package/dist/car/car-string.d.ts.map +1 -0
  47. package/dist/car/car-string.js +734 -0
  48. package/dist/car/car-string.js.map +1 -0
  49. package/dist/{aci → car}/domains.d.ts +3 -3
  50. package/dist/{aci → car}/domains.d.ts.map +1 -1
  51. package/dist/{aci → car}/domains.js +57 -39
  52. package/dist/car/domains.js.map +1 -0
  53. package/dist/{aci → car}/effective-permission.d.ts +8 -8
  54. package/dist/{aci → car}/effective-permission.d.ts.map +1 -1
  55. package/dist/{aci → car}/effective-permission.js +59 -46
  56. package/dist/car/effective-permission.js.map +1 -0
  57. package/dist/{aci → car}/identity.d.ts +235 -129
  58. package/dist/car/identity.d.ts.map +1 -0
  59. package/dist/{aci → car}/identity.js +125 -105
  60. package/dist/car/identity.js.map +1 -0
  61. package/dist/car/index.d.ts +104 -0
  62. package/dist/car/index.d.ts.map +1 -0
  63. package/dist/car/index.js +401 -0
  64. package/dist/car/index.js.map +1 -0
  65. package/dist/car/jwt-claims.d.ts +1364 -0
  66. package/dist/car/jwt-claims.d.ts.map +1 -0
  67. package/dist/car/jwt-claims.js +388 -0
  68. package/dist/car/jwt-claims.js.map +1 -0
  69. package/dist/{aci → car}/levels.d.ts +5 -5
  70. package/dist/{aci → car}/levels.d.ts.map +1 -1
  71. package/dist/{aci → car}/levels.js +81 -62
  72. package/dist/car/levels.js.map +1 -0
  73. package/dist/{aci → car}/mapping.d.ts +5 -5
  74. package/dist/{aci → car}/mapping.d.ts.map +1 -1
  75. package/dist/{aci → car}/mapping.js +96 -76
  76. package/dist/car/mapping.js.map +1 -0
  77. package/dist/{aci → car}/skills.d.ts +4 -4
  78. package/dist/{aci → car}/skills.d.ts.map +1 -1
  79. package/dist/{aci → car}/skills.js +72 -50
  80. package/dist/car/skills.js.map +1 -0
  81. package/dist/{aci → car}/tiers.d.ts +3 -3
  82. package/dist/{aci → car}/tiers.d.ts.map +1 -1
  83. package/dist/{aci → car}/tiers.js +140 -113
  84. package/dist/car/tiers.js.map +1 -0
  85. package/dist/common/index.d.ts +1 -0
  86. package/dist/common/index.d.ts.map +1 -1
  87. package/dist/common/index.js +18 -1
  88. package/dist/common/index.js.map +1 -1
  89. package/dist/common/primitives.d.ts +9 -7
  90. package/dist/common/primitives.d.ts.map +1 -1
  91. package/dist/common/primitives.js +30 -25
  92. package/dist/common/primitives.js.map +1 -1
  93. package/dist/common/types.d.ts +328 -0
  94. package/dist/common/types.d.ts.map +1 -0
  95. package/dist/common/types.js +61 -0
  96. package/dist/common/types.js.map +1 -0
  97. package/dist/db/agents.d.ts +1914 -0
  98. package/dist/db/agents.d.ts.map +1 -0
  99. package/dist/db/agents.js +283 -0
  100. package/dist/db/agents.js.map +1 -0
  101. package/dist/db/api-keys.d.ts +506 -0
  102. package/dist/db/api-keys.d.ts.map +1 -0
  103. package/dist/db/api-keys.js +101 -0
  104. package/dist/db/api-keys.js.map +1 -0
  105. package/dist/db/escalations.d.ts +554 -0
  106. package/dist/db/escalations.d.ts.map +1 -0
  107. package/dist/db/escalations.js +100 -0
  108. package/dist/db/escalations.js.map +1 -0
  109. package/dist/db/index.d.ts +20 -0
  110. package/dist/db/index.d.ts.map +1 -0
  111. package/dist/db/index.js +47 -0
  112. package/dist/db/index.js.map +1 -0
  113. package/dist/db/intents.d.ts +535 -0
  114. package/dist/db/intents.d.ts.map +1 -0
  115. package/dist/db/intents.js +93 -0
  116. package/dist/db/intents.js.map +1 -0
  117. package/dist/db/merkle.d.ts +475 -0
  118. package/dist/db/merkle.d.ts.map +1 -0
  119. package/dist/db/merkle.js +103 -0
  120. package/dist/db/merkle.js.map +1 -0
  121. package/dist/db/operations.d.ts +256 -0
  122. package/dist/db/operations.d.ts.map +1 -0
  123. package/dist/db/operations.js +68 -0
  124. package/dist/db/operations.js.map +1 -0
  125. package/dist/db/policy-versions.d.ts +149 -0
  126. package/dist/db/policy-versions.d.ts.map +1 -0
  127. package/dist/db/policy-versions.js +44 -0
  128. package/dist/db/policy-versions.js.map +1 -0
  129. package/dist/db/proofs.d.ts +412 -0
  130. package/dist/db/proofs.d.ts.map +1 -0
  131. package/dist/db/proofs.js +66 -0
  132. package/dist/db/proofs.js.map +1 -0
  133. package/dist/db/rbac.d.ts +882 -0
  134. package/dist/db/rbac.d.ts.map +1 -0
  135. package/dist/db/rbac.js +189 -0
  136. package/dist/db/rbac.js.map +1 -0
  137. package/dist/db/service-accounts.d.ts +783 -0
  138. package/dist/db/service-accounts.d.ts.map +1 -0
  139. package/dist/db/service-accounts.js +179 -0
  140. package/dist/db/service-accounts.js.map +1 -0
  141. package/dist/db/trust.d.ts +603 -0
  142. package/dist/db/trust.d.ts.map +1 -0
  143. package/dist/db/trust.js +111 -0
  144. package/dist/db/trust.js.map +1 -0
  145. package/dist/db/webhooks.d.ts +382 -0
  146. package/dist/db/webhooks.d.ts.map +1 -0
  147. package/dist/db/webhooks.js +94 -0
  148. package/dist/db/webhooks.js.map +1 -0
  149. package/dist/flags.d.ts +214 -0
  150. package/dist/flags.d.ts.map +1 -0
  151. package/dist/flags.js +443 -0
  152. package/dist/flags.js.map +1 -0
  153. package/dist/index.d.ts +3 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +47 -4
  156. package/dist/index.js.map +1 -1
  157. package/dist/v2/canary-probe.js +10 -7
  158. package/dist/v2/canary-probe.js.map +1 -1
  159. package/dist/v2/component.js +2 -1
  160. package/dist/v2/component.js.map +1 -1
  161. package/dist/v2/decision.js +5 -2
  162. package/dist/v2/decision.js.map +1 -1
  163. package/dist/v2/enums.js +28 -25
  164. package/dist/v2/enums.js.map +1 -1
  165. package/dist/v2/evidence.js +75 -72
  166. package/dist/v2/evidence.js.map +1 -1
  167. package/dist/v2/execution.js +2 -1
  168. package/dist/v2/execution.js.map +1 -1
  169. package/dist/v2/index.js +29 -13
  170. package/dist/v2/index.js.map +1 -1
  171. package/dist/v2/intent.js +2 -1
  172. package/dist/v2/intent.js.map +1 -1
  173. package/dist/v2/policy-bundle.js +5 -2
  174. package/dist/v2/policy-bundle.js.map +1 -1
  175. package/dist/v2/pre-action-gate.js +10 -7
  176. package/dist/v2/pre-action-gate.js.map +1 -1
  177. package/dist/v2/proof-event.d.ts +3 -1
  178. package/dist/v2/proof-event.d.ts.map +1 -1
  179. package/dist/v2/proof-event.js +2 -1
  180. package/dist/v2/proof-event.js.map +1 -1
  181. package/dist/v2/retention.js +104 -101
  182. package/dist/v2/retention.js.map +1 -1
  183. package/dist/v2/trust-delta.js +5 -2
  184. package/dist/v2/trust-delta.js.map +1 -1
  185. package/dist/v2/trust-profile.js +12 -9
  186. package/dist/v2/trust-profile.js.map +1 -1
  187. package/dist/validators/decision.d.ts +2 -2
  188. package/dist/validators/decision.js +49 -46
  189. package/dist/validators/decision.js.map +1 -1
  190. package/dist/validators/enums.js +14 -11
  191. package/dist/validators/enums.js.map +1 -1
  192. package/dist/validators/index.js +30 -9
  193. package/dist/validators/index.js.map +1 -1
  194. package/dist/validators/intent.js +40 -37
  195. package/dist/validators/intent.js.map +1 -1
  196. package/dist/validators/proof-event.d.ts +3 -0
  197. package/dist/validators/proof-event.d.ts.map +1 -1
  198. package/dist/validators/proof-event.js +103 -99
  199. package/dist/validators/proof-event.js.map +1 -1
  200. package/dist/validators/trust-profile.js +40 -37
  201. package/dist/validators/trust-profile.js.map +1 -1
  202. package/package.json +81 -15
  203. package/dist/aci/aci-string.d.ts +0 -539
  204. package/dist/aci/aci-string.d.ts.map +0 -1
  205. package/dist/aci/aci-string.js +0 -563
  206. package/dist/aci/aci-string.js.map +0 -1
  207. package/dist/aci/attestation.js.map +0 -1
  208. package/dist/aci/domains.js.map +0 -1
  209. package/dist/aci/effective-permission.js.map +0 -1
  210. package/dist/aci/identity.d.ts.map +0 -1
  211. package/dist/aci/identity.js.map +0 -1
  212. package/dist/aci/jwt-claims.d.ts +0 -756
  213. package/dist/aci/jwt-claims.d.ts.map +0 -1
  214. package/dist/aci/jwt-claims.js +0 -335
  215. package/dist/aci/jwt-claims.js.map +0 -1
  216. package/dist/aci/levels.js.map +0 -1
  217. package/dist/aci/mapping.js.map +0 -1
  218. package/dist/aci/skills.js.map +0 -1
  219. package/dist/aci/tiers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intents.js","sourceRoot":"","sources":["../../src/db/intents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,475 @@
1
+ /**
2
+ * Merkle Tree Schema
3
+ *
4
+ * Database schema for Merkle tree aggregation of proofs.
5
+ *
6
+ * @packageDocumentation
7
+ */
8
+ /**
9
+ * Merkle roots table - stores aggregated proof tree roots
10
+ */
11
+ export declare const merkleRoots: import("drizzle-orm/pg-core").PgTableWithColumns<{
12
+ name: "merkle_roots";
13
+ schema: undefined;
14
+ columns: {
15
+ id: import("drizzle-orm/pg-core").PgColumn<{
16
+ name: "id";
17
+ tableName: "merkle_roots";
18
+ dataType: "string";
19
+ columnType: "PgUUID";
20
+ data: string;
21
+ driverParam: string;
22
+ notNull: true;
23
+ hasDefault: true;
24
+ isPrimaryKey: true;
25
+ isAutoincrement: false;
26
+ hasRuntimeDefault: false;
27
+ enumValues: undefined;
28
+ baseColumn: never;
29
+ identity: undefined;
30
+ generated: undefined;
31
+ }, {}, {}>;
32
+ rootHash: import("drizzle-orm/pg-core").PgColumn<{
33
+ name: "root_hash";
34
+ tableName: "merkle_roots";
35
+ dataType: "string";
36
+ columnType: "PgText";
37
+ data: string;
38
+ driverParam: string;
39
+ notNull: true;
40
+ hasDefault: false;
41
+ isPrimaryKey: false;
42
+ isAutoincrement: false;
43
+ hasRuntimeDefault: false;
44
+ enumValues: [string, ...string[]];
45
+ baseColumn: never;
46
+ identity: undefined;
47
+ generated: undefined;
48
+ }, {}, {}>;
49
+ leafCount: import("drizzle-orm/pg-core").PgColumn<{
50
+ name: "leaf_count";
51
+ tableName: "merkle_roots";
52
+ dataType: "number";
53
+ columnType: "PgInteger";
54
+ data: number;
55
+ driverParam: string | number;
56
+ notNull: true;
57
+ hasDefault: false;
58
+ isPrimaryKey: false;
59
+ isAutoincrement: false;
60
+ hasRuntimeDefault: false;
61
+ enumValues: undefined;
62
+ baseColumn: never;
63
+ identity: undefined;
64
+ generated: undefined;
65
+ }, {}, {}>;
66
+ windowStart: import("drizzle-orm/pg-core").PgColumn<{
67
+ name: "window_start";
68
+ tableName: "merkle_roots";
69
+ dataType: "date";
70
+ columnType: "PgTimestamp";
71
+ data: Date;
72
+ driverParam: string;
73
+ notNull: true;
74
+ hasDefault: false;
75
+ isPrimaryKey: false;
76
+ isAutoincrement: false;
77
+ hasRuntimeDefault: false;
78
+ enumValues: undefined;
79
+ baseColumn: never;
80
+ identity: undefined;
81
+ generated: undefined;
82
+ }, {}, {}>;
83
+ windowEnd: import("drizzle-orm/pg-core").PgColumn<{
84
+ name: "window_end";
85
+ tableName: "merkle_roots";
86
+ dataType: "date";
87
+ columnType: "PgTimestamp";
88
+ data: Date;
89
+ driverParam: string;
90
+ notNull: true;
91
+ hasDefault: false;
92
+ isPrimaryKey: false;
93
+ isAutoincrement: false;
94
+ hasRuntimeDefault: false;
95
+ enumValues: undefined;
96
+ baseColumn: never;
97
+ identity: undefined;
98
+ generated: undefined;
99
+ }, {}, {}>;
100
+ anchorTx: import("drizzle-orm/pg-core").PgColumn<{
101
+ name: "anchor_tx";
102
+ tableName: "merkle_roots";
103
+ dataType: "string";
104
+ columnType: "PgText";
105
+ data: string;
106
+ driverParam: string;
107
+ notNull: false;
108
+ hasDefault: false;
109
+ isPrimaryKey: false;
110
+ isAutoincrement: false;
111
+ hasRuntimeDefault: false;
112
+ enumValues: [string, ...string[]];
113
+ baseColumn: never;
114
+ identity: undefined;
115
+ generated: undefined;
116
+ }, {}, {}>;
117
+ anchorChain: import("drizzle-orm/pg-core").PgColumn<{
118
+ name: "anchor_chain";
119
+ tableName: "merkle_roots";
120
+ dataType: "string";
121
+ columnType: "PgText";
122
+ data: string;
123
+ driverParam: string;
124
+ notNull: false;
125
+ hasDefault: false;
126
+ isPrimaryKey: false;
127
+ isAutoincrement: false;
128
+ hasRuntimeDefault: false;
129
+ enumValues: [string, ...string[]];
130
+ baseColumn: never;
131
+ identity: undefined;
132
+ generated: undefined;
133
+ }, {}, {}>;
134
+ anchoredAt: import("drizzle-orm/pg-core").PgColumn<{
135
+ name: "anchored_at";
136
+ tableName: "merkle_roots";
137
+ dataType: "date";
138
+ columnType: "PgTimestamp";
139
+ data: Date;
140
+ driverParam: string;
141
+ notNull: false;
142
+ hasDefault: false;
143
+ isPrimaryKey: false;
144
+ isAutoincrement: false;
145
+ hasRuntimeDefault: false;
146
+ enumValues: undefined;
147
+ baseColumn: never;
148
+ identity: undefined;
149
+ generated: undefined;
150
+ }, {}, {}>;
151
+ treeLevels: import("drizzle-orm/pg-core").PgColumn<{
152
+ name: "tree_levels";
153
+ tableName: "merkle_roots";
154
+ dataType: "json";
155
+ columnType: "PgJsonb";
156
+ data: string[][];
157
+ driverParam: unknown;
158
+ notNull: false;
159
+ hasDefault: false;
160
+ isPrimaryKey: false;
161
+ isAutoincrement: false;
162
+ hasRuntimeDefault: false;
163
+ enumValues: undefined;
164
+ baseColumn: never;
165
+ identity: undefined;
166
+ generated: undefined;
167
+ }, {}, {
168
+ $type: string[][];
169
+ }>;
170
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
171
+ name: "created_at";
172
+ tableName: "merkle_roots";
173
+ dataType: "date";
174
+ columnType: "PgTimestamp";
175
+ data: Date;
176
+ driverParam: string;
177
+ notNull: true;
178
+ hasDefault: true;
179
+ isPrimaryKey: false;
180
+ isAutoincrement: false;
181
+ hasRuntimeDefault: false;
182
+ enumValues: undefined;
183
+ baseColumn: never;
184
+ identity: undefined;
185
+ generated: undefined;
186
+ }, {}, {}>;
187
+ };
188
+ dialect: "pg";
189
+ }>;
190
+ /**
191
+ * Merkle leaves table - maps individual proofs to their Merkle tree position
192
+ */
193
+ export declare const merkleLeaves: import("drizzle-orm/pg-core").PgTableWithColumns<{
194
+ name: "merkle_leaves";
195
+ schema: undefined;
196
+ columns: {
197
+ id: import("drizzle-orm/pg-core").PgColumn<{
198
+ name: "id";
199
+ tableName: "merkle_leaves";
200
+ dataType: "string";
201
+ columnType: "PgUUID";
202
+ data: string;
203
+ driverParam: string;
204
+ notNull: true;
205
+ hasDefault: true;
206
+ isPrimaryKey: true;
207
+ isAutoincrement: false;
208
+ hasRuntimeDefault: false;
209
+ enumValues: undefined;
210
+ baseColumn: never;
211
+ identity: undefined;
212
+ generated: undefined;
213
+ }, {}, {}>;
214
+ proofId: import("drizzle-orm/pg-core").PgColumn<{
215
+ name: "proof_id";
216
+ tableName: "merkle_leaves";
217
+ dataType: "string";
218
+ columnType: "PgUUID";
219
+ data: string;
220
+ driverParam: string;
221
+ notNull: true;
222
+ hasDefault: false;
223
+ isPrimaryKey: false;
224
+ isAutoincrement: false;
225
+ hasRuntimeDefault: false;
226
+ enumValues: undefined;
227
+ baseColumn: never;
228
+ identity: undefined;
229
+ generated: undefined;
230
+ }, {}, {}>;
231
+ rootId: import("drizzle-orm/pg-core").PgColumn<{
232
+ name: "root_id";
233
+ tableName: "merkle_leaves";
234
+ dataType: "string";
235
+ columnType: "PgUUID";
236
+ data: string;
237
+ driverParam: string;
238
+ notNull: true;
239
+ hasDefault: false;
240
+ isPrimaryKey: false;
241
+ isAutoincrement: false;
242
+ hasRuntimeDefault: false;
243
+ enumValues: undefined;
244
+ baseColumn: never;
245
+ identity: undefined;
246
+ generated: undefined;
247
+ }, {}, {}>;
248
+ leafIndex: import("drizzle-orm/pg-core").PgColumn<{
249
+ name: "leaf_index";
250
+ tableName: "merkle_leaves";
251
+ dataType: "number";
252
+ columnType: "PgInteger";
253
+ data: number;
254
+ driverParam: string | number;
255
+ notNull: true;
256
+ hasDefault: false;
257
+ isPrimaryKey: false;
258
+ isAutoincrement: false;
259
+ hasRuntimeDefault: false;
260
+ enumValues: undefined;
261
+ baseColumn: never;
262
+ identity: undefined;
263
+ generated: undefined;
264
+ }, {}, {}>;
265
+ leafHash: import("drizzle-orm/pg-core").PgColumn<{
266
+ name: "leaf_hash";
267
+ tableName: "merkle_leaves";
268
+ dataType: "string";
269
+ columnType: "PgText";
270
+ data: string;
271
+ driverParam: string;
272
+ notNull: true;
273
+ hasDefault: false;
274
+ isPrimaryKey: false;
275
+ isAutoincrement: false;
276
+ hasRuntimeDefault: false;
277
+ enumValues: [string, ...string[]];
278
+ baseColumn: never;
279
+ identity: undefined;
280
+ generated: undefined;
281
+ }, {}, {}>;
282
+ siblingHashes: import("drizzle-orm/pg-core").PgColumn<{
283
+ name: "sibling_hashes";
284
+ tableName: "merkle_leaves";
285
+ dataType: "json";
286
+ columnType: "PgJsonb";
287
+ data: string[];
288
+ driverParam: unknown;
289
+ notNull: true;
290
+ hasDefault: false;
291
+ isPrimaryKey: false;
292
+ isAutoincrement: false;
293
+ hasRuntimeDefault: false;
294
+ enumValues: undefined;
295
+ baseColumn: never;
296
+ identity: undefined;
297
+ generated: undefined;
298
+ }, {}, {
299
+ $type: string[];
300
+ }>;
301
+ siblingDirections: import("drizzle-orm/pg-core").PgColumn<{
302
+ name: "sibling_directions";
303
+ tableName: "merkle_leaves";
304
+ dataType: "json";
305
+ columnType: "PgJsonb";
306
+ data: boolean[];
307
+ driverParam: unknown;
308
+ notNull: true;
309
+ hasDefault: false;
310
+ isPrimaryKey: false;
311
+ isAutoincrement: false;
312
+ hasRuntimeDefault: false;
313
+ enumValues: undefined;
314
+ baseColumn: never;
315
+ identity: undefined;
316
+ generated: undefined;
317
+ }, {}, {
318
+ $type: boolean[];
319
+ }>;
320
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
321
+ name: "created_at";
322
+ tableName: "merkle_leaves";
323
+ dataType: "date";
324
+ columnType: "PgTimestamp";
325
+ data: Date;
326
+ driverParam: string;
327
+ notNull: true;
328
+ hasDefault: true;
329
+ isPrimaryKey: false;
330
+ isAutoincrement: false;
331
+ hasRuntimeDefault: false;
332
+ enumValues: undefined;
333
+ baseColumn: never;
334
+ identity: undefined;
335
+ generated: undefined;
336
+ }, {}, {}>;
337
+ };
338
+ dialect: "pg";
339
+ }>;
340
+ /**
341
+ * Pending proofs queue - proofs waiting to be aggregated into a Merkle tree
342
+ */
343
+ export declare const merkleQueue: import("drizzle-orm/pg-core").PgTableWithColumns<{
344
+ name: "merkle_queue";
345
+ schema: undefined;
346
+ columns: {
347
+ id: import("drizzle-orm/pg-core").PgColumn<{
348
+ name: "id";
349
+ tableName: "merkle_queue";
350
+ dataType: "string";
351
+ columnType: "PgUUID";
352
+ data: string;
353
+ driverParam: string;
354
+ notNull: true;
355
+ hasDefault: true;
356
+ isPrimaryKey: true;
357
+ isAutoincrement: false;
358
+ hasRuntimeDefault: false;
359
+ enumValues: undefined;
360
+ baseColumn: never;
361
+ identity: undefined;
362
+ generated: undefined;
363
+ }, {}, {}>;
364
+ proofId: import("drizzle-orm/pg-core").PgColumn<{
365
+ name: "proof_id";
366
+ tableName: "merkle_queue";
367
+ dataType: "string";
368
+ columnType: "PgUUID";
369
+ data: string;
370
+ driverParam: string;
371
+ notNull: true;
372
+ hasDefault: false;
373
+ isPrimaryKey: false;
374
+ isAutoincrement: false;
375
+ hasRuntimeDefault: false;
376
+ enumValues: undefined;
377
+ baseColumn: never;
378
+ identity: undefined;
379
+ generated: undefined;
380
+ }, {}, {}>;
381
+ proofHash: import("drizzle-orm/pg-core").PgColumn<{
382
+ name: "proof_hash";
383
+ tableName: "merkle_queue";
384
+ dataType: "string";
385
+ columnType: "PgText";
386
+ data: string;
387
+ driverParam: string;
388
+ notNull: true;
389
+ hasDefault: false;
390
+ isPrimaryKey: false;
391
+ isAutoincrement: false;
392
+ hasRuntimeDefault: false;
393
+ enumValues: [string, ...string[]];
394
+ baseColumn: never;
395
+ identity: undefined;
396
+ generated: undefined;
397
+ }, {}, {}>;
398
+ aggregated: import("drizzle-orm/pg-core").PgColumn<{
399
+ name: "aggregated";
400
+ tableName: "merkle_queue";
401
+ dataType: "boolean";
402
+ columnType: "PgBoolean";
403
+ data: boolean;
404
+ driverParam: boolean;
405
+ notNull: true;
406
+ hasDefault: true;
407
+ isPrimaryKey: false;
408
+ isAutoincrement: false;
409
+ hasRuntimeDefault: false;
410
+ enumValues: undefined;
411
+ baseColumn: never;
412
+ identity: undefined;
413
+ generated: undefined;
414
+ }, {}, {}>;
415
+ rootId: import("drizzle-orm/pg-core").PgColumn<{
416
+ name: "root_id";
417
+ tableName: "merkle_queue";
418
+ dataType: "string";
419
+ columnType: "PgUUID";
420
+ data: string;
421
+ driverParam: string;
422
+ notNull: false;
423
+ hasDefault: false;
424
+ isPrimaryKey: false;
425
+ isAutoincrement: false;
426
+ hasRuntimeDefault: false;
427
+ enumValues: undefined;
428
+ baseColumn: never;
429
+ identity: undefined;
430
+ generated: undefined;
431
+ }, {}, {}>;
432
+ queuedAt: import("drizzle-orm/pg-core").PgColumn<{
433
+ name: "queued_at";
434
+ tableName: "merkle_queue";
435
+ dataType: "date";
436
+ columnType: "PgTimestamp";
437
+ data: Date;
438
+ driverParam: string;
439
+ notNull: true;
440
+ hasDefault: true;
441
+ isPrimaryKey: false;
442
+ isAutoincrement: false;
443
+ hasRuntimeDefault: false;
444
+ enumValues: undefined;
445
+ baseColumn: never;
446
+ identity: undefined;
447
+ generated: undefined;
448
+ }, {}, {}>;
449
+ aggregatedAt: import("drizzle-orm/pg-core").PgColumn<{
450
+ name: "aggregated_at";
451
+ tableName: "merkle_queue";
452
+ dataType: "date";
453
+ columnType: "PgTimestamp";
454
+ data: Date;
455
+ driverParam: string;
456
+ notNull: false;
457
+ hasDefault: false;
458
+ isPrimaryKey: false;
459
+ isAutoincrement: false;
460
+ hasRuntimeDefault: false;
461
+ enumValues: undefined;
462
+ baseColumn: never;
463
+ identity: undefined;
464
+ generated: undefined;
465
+ }, {}, {}>;
466
+ };
467
+ dialect: "pg";
468
+ }>;
469
+ export type MerkleRoot = typeof merkleRoots.$inferSelect;
470
+ export type NewMerkleRoot = typeof merkleRoots.$inferInsert;
471
+ export type MerkleLeaf = typeof merkleLeaves.$inferSelect;
472
+ export type NewMerkleLeaf = typeof merkleLeaves.$inferInsert;
473
+ export type MerkleQueueItem = typeof merkleQueue.$inferSelect;
474
+ export type NewMerkleQueueItem = typeof merkleQueue.$inferInsert;
475
+ //# sourceMappingURL=merkle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/db/merkle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAcH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoCxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCvB,CAAC;AAGF,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,eAAe,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC"}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ /**
3
+ * Merkle Tree Schema
4
+ *
5
+ * Database schema for Merkle tree aggregation of proofs.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.merkleQueue = exports.merkleLeaves = exports.merkleRoots = void 0;
11
+ const pg_core_1 = require("drizzle-orm/pg-core");
12
+ /**
13
+ * Merkle roots table - stores aggregated proof tree roots
14
+ */
15
+ exports.merkleRoots = (0, pg_core_1.pgTable)('merkle_roots', {
16
+ id: (0, pg_core_1.uuid)('id').primaryKey().defaultRandom(),
17
+ /** The Merkle root hash (SHA-256 hex string) */
18
+ rootHash: (0, pg_core_1.text)('root_hash').notNull(),
19
+ /** Number of proof leaves in this tree */
20
+ leafCount: (0, pg_core_1.integer)('leaf_count').notNull(),
21
+ /** Time window start for proofs included in this tree */
22
+ windowStart: (0, pg_core_1.timestamp)('window_start', { withTimezone: true }).notNull(),
23
+ /** Time window end for proofs included in this tree */
24
+ windowEnd: (0, pg_core_1.timestamp)('window_end', { withTimezone: true }).notNull(),
25
+ /** Optional anchor transaction (for blockchain anchoring) */
26
+ anchorTx: (0, pg_core_1.text)('anchor_tx'),
27
+ /** Anchor chain (e.g., 'ethereum', 'bitcoin') */
28
+ anchorChain: (0, pg_core_1.text)('anchor_chain'),
29
+ /** Anchor timestamp (when anchored to blockchain) */
30
+ anchoredAt: (0, pg_core_1.timestamp)('anchored_at', { withTimezone: true }),
31
+ /** Full tree structure for reconstruction (optional, for debugging) */
32
+ treeLevels: (0, pg_core_1.jsonb)('tree_levels').$type(),
33
+ /** Creation timestamp */
34
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true })
35
+ .notNull()
36
+ .defaultNow(),
37
+ }, (table) => ({
38
+ // Fast lookup by root hash
39
+ rootHashIdx: (0, pg_core_1.uniqueIndex)('merkle_roots_root_hash_idx').on(table.rootHash),
40
+ // Query by time window
41
+ windowStartIdx: (0, pg_core_1.index)('merkle_roots_window_start_idx').on(table.windowStart),
42
+ // Query by creation time
43
+ createdAtIdx: (0, pg_core_1.index)('merkle_roots_created_at_idx').on(table.createdAt),
44
+ // Query for unanchored roots
45
+ anchorTxIdx: (0, pg_core_1.index)('merkle_roots_anchor_tx_idx').on(table.anchorTx),
46
+ }));
47
+ /**
48
+ * Merkle leaves table - maps individual proofs to their Merkle tree position
49
+ */
50
+ exports.merkleLeaves = (0, pg_core_1.pgTable)('merkle_leaves', {
51
+ id: (0, pg_core_1.uuid)('id').primaryKey().defaultRandom(),
52
+ /** Reference to the proof */
53
+ proofId: (0, pg_core_1.uuid)('proof_id').notNull(),
54
+ /** Reference to the Merkle root this leaf belongs to */
55
+ rootId: (0, pg_core_1.uuid)('root_id').notNull(),
56
+ /** Leaf index in the tree (0-based) */
57
+ leafIndex: (0, pg_core_1.integer)('leaf_index').notNull(),
58
+ /** The leaf hash (SHA-256 of proof_id:proof_hash) */
59
+ leafHash: (0, pg_core_1.text)('leaf_hash').notNull(),
60
+ /** Sibling hashes for proof reconstruction (JSON array) */
61
+ siblingHashes: (0, pg_core_1.jsonb)('sibling_hashes').notNull().$type(),
62
+ /** Sibling directions (true = right, false = left) */
63
+ siblingDirections: (0, pg_core_1.jsonb)('sibling_directions').notNull().$type(),
64
+ /** Creation timestamp */
65
+ createdAt: (0, pg_core_1.timestamp)('created_at', { withTimezone: true })
66
+ .notNull()
67
+ .defaultNow(),
68
+ }, (table) => ({
69
+ // Fast lookup by proof ID
70
+ proofIdIdx: (0, pg_core_1.uniqueIndex)('merkle_leaves_proof_id_idx').on(table.proofId),
71
+ // Fast lookup by root ID
72
+ rootIdIdx: (0, pg_core_1.index)('merkle_leaves_root_id_idx').on(table.rootId),
73
+ // Leaf hash lookup
74
+ leafHashIdx: (0, pg_core_1.index)('merkle_leaves_leaf_hash_idx').on(table.leafHash),
75
+ }));
76
+ /**
77
+ * Pending proofs queue - proofs waiting to be aggregated into a Merkle tree
78
+ */
79
+ exports.merkleQueue = (0, pg_core_1.pgTable)('merkle_queue', {
80
+ id: (0, pg_core_1.uuid)('id').primaryKey().defaultRandom(),
81
+ /** Reference to the proof */
82
+ proofId: (0, pg_core_1.uuid)('proof_id').notNull(),
83
+ /** The proof's hash for leaf computation */
84
+ proofHash: (0, pg_core_1.text)('proof_hash').notNull(),
85
+ /** Whether this proof has been aggregated */
86
+ aggregated: (0, pg_core_1.boolean)('aggregated').notNull().default(false),
87
+ /** Reference to the Merkle root (set after aggregation) */
88
+ rootId: (0, pg_core_1.uuid)('root_id'),
89
+ /** Queue timestamp */
90
+ queuedAt: (0, pg_core_1.timestamp)('queued_at', { withTimezone: true })
91
+ .notNull()
92
+ .defaultNow(),
93
+ /** Aggregation timestamp */
94
+ aggregatedAt: (0, pg_core_1.timestamp)('aggregated_at', { withTimezone: true }),
95
+ }, (table) => ({
96
+ // Fast lookup by proof ID
97
+ proofIdIdx: (0, pg_core_1.uniqueIndex)('merkle_queue_proof_id_idx').on(table.proofId),
98
+ // Find pending proofs efficiently
99
+ aggregatedIdx: (0, pg_core_1.index)('merkle_queue_aggregated_idx').on(table.aggregated),
100
+ // Order by queue time
101
+ queuedAtIdx: (0, pg_core_1.index)('merkle_queue_queued_at_idx').on(table.queuedAt),
102
+ }));
103
+ //# sourceMappingURL=merkle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../src/db/merkle.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAEH,iDAU6B;AAE7B;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,iBAAO,EAChC,cAAc,EACd;IACE,EAAE,EAAE,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAE3C,gDAAgD;IAChD,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IAErC,0CAA0C;IAC1C,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAE1C,yDAAyD;IACzD,WAAW,EAAE,IAAA,mBAAS,EAAC,cAAc,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IAExE,uDAAuD;IACvD,SAAS,EAAE,IAAA,mBAAS,EAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;IAEpE,6DAA6D;IAC7D,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC;IAE3B,iDAAiD;IACjD,WAAW,EAAE,IAAA,cAAI,EAAC,cAAc,CAAC;IAEjC,qDAAqD;IACrD,UAAU,EAAE,IAAA,mBAAS,EAAC,aAAa,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAE5D,uEAAuE;IACvE,UAAU,EAAE,IAAA,eAAK,EAAC,aAAa,CAAC,CAAC,KAAK,EAAc;IAEpD,yBAAyB;IACzB,SAAS,EAAE,IAAA,mBAAS,EAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACvD,OAAO,EAAE;SACT,UAAU,EAAE;CAChB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,2BAA2B;IAC3B,WAAW,EAAE,IAAA,qBAAW,EAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;IACzE,uBAAuB;IACvB,cAAc,EAAE,IAAA,eAAK,EAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5E,yBAAyB;IACzB,YAAY,EAAE,IAAA,eAAK,EAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;IACtE,6BAA6B;IAC7B,WAAW,EAAE,IAAA,eAAK,EAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;CACpE,CAAC,CACH,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAG,IAAA,iBAAO,EACjC,eAAe,EACf;IACE,EAAE,EAAE,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAE3C,6BAA6B;IAC7B,OAAO,EAAE,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAEnC,wDAAwD;IACxD,MAAM,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC,CAAC,OAAO,EAAE;IAEjC,uCAAuC;IACvC,SAAS,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAE1C,qDAAqD;IACrD,QAAQ,EAAE,IAAA,cAAI,EAAC,WAAW,CAAC,CAAC,OAAO,EAAE;IAErC,2DAA2D;IAC3D,aAAa,EAAE,IAAA,eAAK,EAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,EAAY;IAElE,sDAAsD;IACtD,iBAAiB,EAAE,IAAA,eAAK,EAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,EAAa;IAE3E,yBAAyB;IACzB,SAAS,EAAE,IAAA,mBAAS,EAAC,YAAY,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACvD,OAAO,EAAE;SACT,UAAU,EAAE;CAChB,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,0BAA0B;IAC1B,UAAU,EAAE,IAAA,qBAAW,EAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACvE,yBAAyB;IACzB,SAAS,EAAE,IAAA,eAAK,EAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;IAC9D,mBAAmB;IACnB,WAAW,EAAE,IAAA,eAAK,EAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;CACrE,CAAC,CACH,CAAC;AAEF;;GAEG;AACU,QAAA,WAAW,GAAG,IAAA,iBAAO,EAChC,cAAc,EACd;IACE,EAAE,EAAE,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IAE3C,6BAA6B;IAC7B,OAAO,EAAE,IAAA,cAAI,EAAC,UAAU,CAAC,CAAC,OAAO,EAAE;IAEnC,4CAA4C;IAC5C,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE;IAEvC,6CAA6C;IAC7C,UAAU,EAAE,IAAA,iBAAO,EAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAE1D,2DAA2D;IAC3D,MAAM,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC;IAEvB,sBAAsB;IACtB,QAAQ,EAAE,IAAA,mBAAS,EAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;SACrD,OAAO,EAAE;SACT,UAAU,EAAE;IAEf,4BAA4B;IAC5B,YAAY,EAAE,IAAA,mBAAS,EAAC,eAAe,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;CACjE,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACV,0BAA0B;IAC1B,UAAU,EAAE,IAAA,qBAAW,EAAC,2BAA2B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;IACtE,kCAAkC;IAClC,aAAa,EAAE,IAAA,eAAK,EAAC,6BAA6B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;IACxE,sBAAsB;IACtB,WAAW,EAAE,IAAA,eAAK,EAAC,4BAA4B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC;CACpE,CAAC,CACH,CAAC"}