@aventara/core 1.0.0-rc.0 → 1.0.0-rc.1

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 (242) hide show
  1. package/CHANGELOG.md +1140 -0
  2. package/README.md +224 -57
  3. package/dist/adapters/adapter-discovery-diagnostic.d.ts +4 -4
  4. package/dist/adapters/adapter-field.d.ts +11 -11
  5. package/dist/adapters/adapter-identifier.d.ts +6 -6
  6. package/dist/adapters/adapter-model.d.ts +9 -9
  7. package/dist/adapters/adapter-operation-executor.interface.d.ts +4 -4
  8. package/dist/adapters/adapter-operation.d.ts +3 -3
  9. package/dist/adapters/adapter-resource.d.ts +18 -9
  10. package/dist/adapters/adapter-sql-statement.d.ts +19 -0
  11. package/dist/adapters/adapter-transaction-executor.interface.d.ts +19 -0
  12. package/dist/adapters/adapter.interface.d.ts +49 -29
  13. package/dist/avz/avz-check.factory.d.ts +83 -0
  14. package/dist/avz/avz-check.factory.js +116 -0
  15. package/dist/avz/avz-check.registry.d.ts +35 -0
  16. package/dist/avz/avz-check.registry.js +9 -0
  17. package/dist/avz/avz.d.ts +203 -0
  18. package/dist/{json → avz}/avz.js +150 -8
  19. package/dist/{json → avz}/index.d.ts +2 -1
  20. package/dist/{json → avz}/json-shape.registry.d.ts +7 -7
  21. package/dist/{json → avz}/zod-issue.translator.d.ts +8 -2
  22. package/dist/{json → avz}/zod-issue.translator.js +7 -0
  23. package/dist/compiler/contract-compiler-diagnostic.d.ts +31 -5
  24. package/dist/compiler/contract.compiler.d.ts +18 -18
  25. package/dist/compiler/contract.compiler.js +548 -441
  26. package/dist/compiler/create-requirements.projector.d.ts +49 -0
  27. package/dist/compiler/create-requirements.projector.js +423 -0
  28. package/dist/compiler/field-validator.compiler.d.ts +47 -0
  29. package/dist/compiler/field-validator.compiler.js +238 -0
  30. package/dist/config/any-framework-config.d.ts +19 -12
  31. package/dist/config/config-diagnostic.d.ts +11 -4
  32. package/dist/config/config-layer.d.ts +15 -6
  33. package/dist/config/config.resolver.d.ts +74 -31
  34. package/dist/config/config.resolver.js +108 -44
  35. package/dist/config/config.validator.d.ts +7 -7
  36. package/dist/config/config.validator.js +581 -72
  37. package/dist/config/define-resource.d.ts +57 -0
  38. package/dist/config/define-resource.js +14 -0
  39. package/dist/config/effective-fields.d.ts +19 -23
  40. package/dist/config/entrypoint.normalizer.d.ts +1 -1
  41. package/dist/config/exact-framework-config.d.ts +280 -0
  42. package/dist/config/field-compute.resolver.d.ts +19 -0
  43. package/dist/config/field-compute.resolver.js +115 -0
  44. package/dist/config/field-pipeline-config.d.ts +47 -0
  45. package/dist/config/forced-operation.validator.d.ts +10 -0
  46. package/dist/config/forced-operation.validator.js +66 -0
  47. package/dist/config/framework-config.d.ts +110 -39
  48. package/dist/config/framework-exemptions-config.d.ts +91 -0
  49. package/dist/config/framework-exemptions-config.js +1 -0
  50. package/dist/config/framework-field-definition.d.ts +78 -0
  51. package/dist/config/framework-field-definition.js +28 -0
  52. package/dist/config/framework-resources-config.d.ts +116 -0
  53. package/dist/config/framework-resources-config.js +1 -0
  54. package/dist/config/pipeline-config.d.ts +56 -20
  55. package/dist/config/pipeline-tree.resolver.d.ts +79 -0
  56. package/dist/config/pipeline-tree.resolver.js +220 -0
  57. package/dist/config/stage-type.eraser.d.ts +65 -0
  58. package/dist/config/stage-type.eraser.js +1 -0
  59. package/dist/contracts/capability.d.ts +11 -11
  60. package/dist/contracts/client-contract-structure.validator.d.ts +323 -28
  61. package/dist/contracts/client-contract-structure.validator.js +152 -8
  62. package/dist/contracts/contract-canonicalizer.d.ts +19 -3
  63. package/dist/contracts/contract-canonicalizer.js +141 -28
  64. package/dist/contracts/contract-hash.d.ts +12 -7
  65. package/dist/contracts/contract-hash.js +3 -2
  66. package/dist/contracts/contract-limits.d.ts +4 -1
  67. package/dist/contracts/contract-limits.js +1 -0
  68. package/dist/contracts/contract-lookup.d.ts +5 -5
  69. package/dist/contracts/contract-protocol.d.ts +4 -4
  70. package/dist/contracts/contract.d.ts +24 -16
  71. package/dist/contracts/create-requirements.d.ts +35 -0
  72. package/dist/contracts/create-requirements.js +1 -0
  73. package/dist/contracts/enum-definition.d.ts +1 -1
  74. package/dist/contracts/field-check.d.ts +101 -0
  75. package/dist/contracts/field-check.js +1 -0
  76. package/dist/contracts/field.d.ts +52 -42
  77. package/dist/contracts/identifier.d.ts +4 -4
  78. package/dist/contracts/json-shape.d.ts +12 -1
  79. package/dist/contracts/lifecycle-trait.d.ts +2 -2
  80. package/dist/contracts/resource-operations.d.ts +28 -28
  81. package/dist/contracts/resource.d.ts +15 -9
  82. package/dist/contracts/scalar-value-type.d.ts +15 -15
  83. package/dist/contracts/scalar.d.ts +3 -3
  84. package/dist/contracts/transaction-capability.d.ts +1 -1
  85. package/dist/contracts/wire-scalar-format.d.ts +4 -4
  86. package/dist/framework/contract-view.d.ts +213 -147
  87. package/dist/framework/framework-construction.error.d.ts +10 -10
  88. package/dist/framework/framework-construction.error.js +2 -2
  89. package/dist/framework/framework.d.ts +47 -23
  90. package/dist/framework/framework.factory.d.ts +8 -6
  91. package/dist/framework/framework.factory.js +40 -20
  92. package/dist/framework/operation-facade.d.ts +123 -52
  93. package/dist/framework/operation-facade.js +9 -1
  94. package/dist/index.d.ts +55 -50
  95. package/dist/index.js +6 -6
  96. package/dist/internal.d.ts +15 -10
  97. package/dist/internal.js +3 -1
  98. package/dist/operations/operation-arguments.d.ts +267 -202
  99. package/dist/operations/operation-call.d.ts +27 -28
  100. package/dist/operations/operation-identity.d.ts +10 -10
  101. package/dist/operations/operation-result.d.ts +21 -21
  102. package/dist/operations/operation-validator-core.d.ts +6 -6
  103. package/dist/operations/operation-validator-core.js +13 -2
  104. package/dist/operations/operation-validator.d.ts +9 -9
  105. package/dist/operations/projection-scope.resolver.d.ts +6 -6
  106. package/dist/operations/structural-limits.walker.d.ts +6 -6
  107. package/dist/operations/structural-limits.walker.js +145 -0
  108. package/dist/operations/validation-code.d.ts +11 -6
  109. package/dist/operations/validation-code.js +4 -0
  110. package/dist/operations/write-scope.resolver.d.ts +6 -6
  111. package/dist/protocol/absent-route.responder.d.ts +13 -12
  112. package/dist/protocol/absent-route.responder.js +19 -19
  113. package/dist/protocol/contract-document.responder.d.ts +3 -3
  114. package/dist/protocol/contract-document.responder.js +2 -2
  115. package/dist/protocol/http-request.decoder.d.ts +17 -13
  116. package/dist/protocol/http-request.decoder.js +10 -10
  117. package/dist/protocol/http-request.reader.d.ts +3 -3
  118. package/dist/protocol/http-response.encoder.d.ts +4 -4
  119. package/dist/protocol/http-response.encoder.js +94 -55
  120. package/dist/protocol/http-status.table.d.ts +2 -2
  121. package/dist/protocol/operation-response.guard.d.ts +2 -2
  122. package/dist/protocol/protocol-surface.d.ts +4 -4
  123. package/dist/protocol/protocol.binder.d.ts +50 -27
  124. package/dist/protocol/protocol.binder.js +12 -9
  125. package/dist/protocol/protocol.handler.d.ts +22 -13
  126. package/dist/protocol/protocol.handler.js +44 -9
  127. package/dist/protocol/unmounted-route.error.d.ts +4 -4
  128. package/dist/protocol/unmounted-route.error.js +2 -2
  129. package/dist/runtime/caller-data.copier.d.ts +5 -5
  130. package/dist/runtime/caller-data.copier.js +13 -13
  131. package/dist/runtime/caller-data.door.d.ts +6 -6
  132. package/dist/runtime/caller-data.door.js +6 -4
  133. package/dist/runtime/computed-read-runtime.d.ts +7 -6
  134. package/dist/runtime/computed-read-runtime.js +61 -48
  135. package/dist/runtime/computed-value.error.d.ts +6 -6
  136. package/dist/runtime/computed-value.error.js +3 -3
  137. package/dist/runtime/context-executor.runtime.d.ts +59 -0
  138. package/dist/runtime/context-executor.runtime.js +275 -0
  139. package/dist/runtime/create-requirement.d.ts +10 -81
  140. package/dist/runtime/create-requirement.js +80 -57
  141. package/dist/runtime/decimal.d.ts +2 -2
  142. package/dist/runtime/decimal.js +1 -1
  143. package/dist/runtime/diagnostics-reporter.d.ts +53 -27
  144. package/dist/runtime/diagnostics-reporter.js +24 -0
  145. package/dist/runtime/error-boundary.d.ts +65 -8
  146. package/dist/runtime/error-boundary.js +45 -19
  147. package/dist/runtime/execution-options.d.ts +10 -2
  148. package/dist/runtime/field-check.evaluator.d.ts +29 -0
  149. package/dist/runtime/field-check.evaluator.js +521 -0
  150. package/dist/runtime/field-compute.d.ts +64 -0
  151. package/dist/runtime/field-compute.js +1 -0
  152. package/dist/runtime/field-stage.plan.d.ts +15 -0
  153. package/dist/runtime/field-stage.plan.js +27 -0
  154. package/dist/runtime/field-stage.runtime.d.ts +35 -0
  155. package/dist/runtime/field-stage.runtime.js +143 -0
  156. package/dist/runtime/field-validator.runtime.d.ts +11 -0
  157. package/dist/runtime/field-validator.runtime.js +87 -0
  158. package/dist/runtime/framework-error-class.table.d.ts +33 -0
  159. package/dist/runtime/framework-error-class.table.js +25 -0
  160. package/dist/runtime/framework-error.d.ts +68 -8
  161. package/dist/runtime/framework-error.factory.d.ts +4 -0
  162. package/dist/runtime/framework-error.factory.js +15 -0
  163. package/dist/runtime/framework-error.js +23 -2
  164. package/dist/runtime/interceptor-next.error.d.ts +5 -0
  165. package/dist/runtime/interceptor-next.error.js +6 -0
  166. package/dist/runtime/json-value.d.ts +3 -3
  167. package/dist/runtime/level-lifecycle.runtime.d.ts +25 -0
  168. package/dist/runtime/level-lifecycle.runtime.js +42 -0
  169. package/dist/runtime/misuse-reporter.d.ts +12 -12
  170. package/dist/runtime/mutation-planner.d.ts +19 -10
  171. package/dist/runtime/mutation-planner.js +54 -30
  172. package/dist/runtime/nested-write.walker.d.ts +32 -0
  173. package/dist/runtime/nested-write.walker.js +73 -0
  174. package/dist/runtime/operation-request.d.ts +33 -6
  175. package/dist/runtime/operation-response.d.ts +17 -17
  176. package/dist/runtime/operation-runtime.d.ts +113 -25
  177. package/dist/runtime/operation-runtime.js +395 -74
  178. package/dist/runtime/outcome-mapper.d.ts +16 -5
  179. package/dist/runtime/outcome-mapper.js +23 -6
  180. package/dist/runtime/output-validator.d.ts +10 -10
  181. package/dist/runtime/output-validator.js +3 -3
  182. package/dist/runtime/owned-execution.registry.d.ts +6 -6
  183. package/dist/runtime/pipe-output.validator.d.ts +33 -18
  184. package/dist/runtime/pipe-output.validator.js +12 -12
  185. package/dist/runtime/pipeline.d.ts +196 -34
  186. package/dist/runtime/readonly-value.d.ts +32 -0
  187. package/dist/runtime/readonly-value.js +141 -0
  188. package/dist/runtime/request-envelope.validator.d.ts +3 -3
  189. package/dist/runtime/request-envelope.validator.js +12 -7
  190. package/dist/runtime/request-id.d.ts +1 -1
  191. package/dist/runtime/request-state.d.ts +14 -0
  192. package/dist/runtime/request-state.js +1 -0
  193. package/dist/runtime/request-state.resolver.d.ts +12 -0
  194. package/dist/runtime/request-state.resolver.js +20 -0
  195. package/dist/runtime/scalar-runtime.d.ts +31 -16
  196. package/dist/runtime/scalar-runtime.js +16 -18
  197. package/dist/transactions/deferred-operation.d.ts +35 -20
  198. package/dist/transactions/operation-arguments-encoder.d.ts +3 -3
  199. package/dist/transactions/operation-arguments-encoder.js +2 -2
  200. package/dist/transactions/sql-statement.d.ts +77 -0
  201. package/dist/transactions/sql-statement.js +47 -0
  202. package/dist/transactions/sql-statement.validator.d.ts +44 -0
  203. package/dist/transactions/sql-statement.validator.js +134 -0
  204. package/dist/transactions/transaction-envelope.d.ts +4 -4
  205. package/dist/transactions/transaction-integrity-error.d.ts +6 -6
  206. package/dist/transactions/transaction-integrity-error.js +5 -2
  207. package/dist/transactions/transaction-plan-assembler.d.ts +21 -11
  208. package/dist/transactions/transaction-plan-assembler.js +148 -34
  209. package/dist/transactions/transaction-plan-validator.d.ts +29 -20
  210. package/dist/transactions/transaction-plan-validator.js +70 -38
  211. package/dist/transactions/transaction-reference-collector.d.ts +5 -5
  212. package/dist/transactions/transaction-reference-resolver.d.ts +19 -2
  213. package/dist/transactions/transaction-reference-resolver.js +26 -14
  214. package/dist/transactions/transaction-reference-validator.d.ts +34 -4
  215. package/dist/transactions/transaction-reference-validator.js +58 -26
  216. package/dist/transactions/transaction-reference.d.ts +13 -13
  217. package/dist/transactions/transaction-request.d.ts +18 -5
  218. package/dist/transactions/transaction-response.d.ts +6 -6
  219. package/dist/transactions/transaction-runtime.d.ts +8 -7
  220. package/dist/transactions/transaction-runtime.js +166 -50
  221. package/dist/transactions/transaction-settlement.runtime.d.ts +51 -0
  222. package/dist/transactions/transaction-settlement.runtime.js +120 -0
  223. package/dist/transactions/transaction-slot-path-error.d.ts +4 -4
  224. package/dist/transactions/transaction-slot-path-error.js +2 -2
  225. package/dist/transactions/transaction-slot-writer.js +2 -2
  226. package/dist/transactions/transaction-stage.runtime.d.ts +81 -0
  227. package/dist/transactions/transaction-stage.runtime.js +123 -0
  228. package/package.json +6 -5
  229. package/src/runtime/field-check.evaluator.ts +720 -0
  230. package/dist/config/define-fields.d.ts +0 -42
  231. package/dist/config/define-fields.js +0 -3
  232. package/dist/config/framework-behaviors-config.d.ts +0 -30
  233. package/dist/config/framework-fields-config.d.ts +0 -42
  234. package/dist/config/framework-restrictions-config.d.ts +0 -142
  235. package/dist/json/avz.d.ts +0 -96
  236. package/dist/runtime/field-behavior.d.ts +0 -48
  237. /package/dist/{config/framework-behaviors-config.js → adapters/adapter-sql-statement.js} +0 -0
  238. /package/dist/{config/framework-fields-config.js → adapters/adapter-transaction-executor.interface.js} +0 -0
  239. /package/dist/{json → avz}/index.js +0 -0
  240. /package/dist/{json → avz}/json-shape.registry.js +0 -0
  241. /package/dist/config/{framework-restrictions-config.js → exact-framework-config.js} +0 -0
  242. /package/dist/{runtime/field-behavior.js → config/field-pipeline-config.js} +0 -0
@@ -1,7 +1,7 @@
1
- import type { ClientContract } from "./contract.js";
1
+ import type { AvContractClient } from "./contract.js";
2
2
  import type { JsonSchema } from "./json-shape.js";
3
3
  /**
4
- * Whether an untrusted value is a `ClientContract`: every member present, of its JSON
4
+ * Whether an untrusted value is an `AvContractClient`: every member present, of its JSON
5
5
  * kind, inside its closed vocabulary, and nothing else. An enum's values must be
6
6
  * distinct. Reads every member it judges and never throws on any input; a value that
7
7
  * is not JSON at all is reported.
@@ -27,7 +27,8 @@ export type StructureNode = {
27
27
  } | {
28
28
  readonly is: "list";
29
29
  readonly item: StructureNode;
30
- readonly nonEmpty: boolean;
30
+ /** The fewest entries it holds: 0, 1, or 2 (a pair and more). */
31
+ readonly minimum: 0 | 1 | 2;
31
32
  /** No entry repeats an earlier one. Not a type fact: `Structured` ignores it. */
32
33
  readonly unique: boolean;
33
34
  } | {
@@ -71,8 +72,8 @@ type StructuredBy<N> = {
71
72
  } ? `${P}${string}` : never;
72
73
  readonly list: N extends {
73
74
  readonly item: infer I;
74
- readonly nonEmpty: infer E;
75
- } ? E extends true ? readonly [Structured<I>, ...Structured<I>[]] : readonly Structured<I>[] : never;
75
+ readonly minimum: infer E;
76
+ } ? E extends 2 ? readonly [Structured<I>, Structured<I>, ...Structured<I>[]] : E extends 1 ? readonly [Structured<I>, ...Structured<I>[]] : readonly Structured<I>[] : never;
76
77
  readonly registry: N extends {
77
78
  readonly entry: infer E;
78
79
  } ? Readonly<Record<string, Structured<E>>> : never;
@@ -93,7 +94,7 @@ type StructuredObject<R, O> = {
93
94
  } & {
94
95
  readonly [K in keyof O]?: Structured<O[K]>;
95
96
  };
96
- /** The structure of a ClientContract. Decodes to exactly `ClientContract`. */
97
+ /** The structure of a ClientContract. Decodes to exactly `AvContractClient`. */
97
98
  export declare const CLIENT_CONTRACT_STRUCTURE: {
98
99
  readonly is: "object";
99
100
  readonly required: {
@@ -120,7 +121,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
120
121
  readonly item: {
121
122
  readonly is: "string";
122
123
  };
123
- readonly nonEmpty: false;
124
+ readonly minimum: 0;
124
125
  readonly unique: true;
125
126
  };
126
127
  };
@@ -177,7 +178,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
177
178
  readonly is: "literal";
178
179
  readonly values: readonly ["DEFAULTED", "GENERATED_ON_CREATE", "GENERATED_ON_UPDATE", "COMPUTED_ON_CREATE", "COMPUTED_ON_UPDATE", "COMPUTED_ON_READ", "VIRTUAL"];
179
180
  };
180
- readonly nonEmpty: false;
181
+ readonly minimum: 0;
181
182
  readonly unique: false;
182
183
  };
183
184
  readonly capabilities: {
@@ -193,7 +194,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
193
194
  readonly is: "literal";
194
195
  readonly values: readonly ["equals", "not", "in", "notIn", "lt", "lte", "gt", "gte", "contains", "startsWith", "endsWith", "mode", "has", "hasEvery", "hasSome", "isEmpty", "path", "stringContains", "stringStartsWith", "stringEndsWith", "arrayContains", "arrayStartsWith", "arrayEndsWith"];
195
196
  };
196
- readonly nonEmpty: false;
197
+ readonly minimum: 0;
197
198
  readonly unique: false;
198
199
  };
199
200
  readonly order: {
@@ -208,7 +209,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
208
209
  readonly is: "literal";
209
210
  readonly values: readonly ["$increment", "$decrement", "$multiply", "$divide", "$push", "$unset"];
210
211
  };
211
- readonly nonEmpty: false;
212
+ readonly minimum: 0;
212
213
  readonly unique: false;
213
214
  };
214
215
  readonly update: {
@@ -217,7 +218,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
217
218
  readonly is: "literal";
218
219
  readonly values: readonly ["$increment", "$decrement", "$multiply", "$divide", "$push", "$unset"];
219
220
  };
220
- readonly nonEmpty: false;
221
+ readonly minimum: 0;
221
222
  readonly unique: false;
222
223
  };
223
224
  };
@@ -230,6 +231,255 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
230
231
  readonly json: {
231
232
  readonly is: "jsonSchema";
232
233
  };
234
+ readonly validators: {
235
+ readonly is: "list";
236
+ readonly item: {
237
+ readonly is: "variants";
238
+ readonly key: "check";
239
+ readonly arms: {
240
+ readonly less_than: {
241
+ readonly is: "object";
242
+ readonly required: {
243
+ readonly check: {
244
+ readonly is: "literal";
245
+ readonly values: readonly ["less_than"];
246
+ };
247
+ readonly value: {
248
+ readonly is: "union";
249
+ readonly arms: readonly [{
250
+ readonly is: "number";
251
+ }, {
252
+ readonly is: "string";
253
+ }];
254
+ };
255
+ readonly inclusive: {
256
+ readonly is: "boolean";
257
+ };
258
+ };
259
+ readonly optional: Record<never, never>;
260
+ };
261
+ readonly greater_than: {
262
+ readonly is: "object";
263
+ readonly required: {
264
+ readonly check: {
265
+ readonly is: "literal";
266
+ readonly values: readonly ["greater_than"];
267
+ };
268
+ readonly value: {
269
+ readonly is: "union";
270
+ readonly arms: readonly [{
271
+ readonly is: "number";
272
+ }, {
273
+ readonly is: "string";
274
+ }];
275
+ };
276
+ readonly inclusive: {
277
+ readonly is: "boolean";
278
+ };
279
+ };
280
+ readonly optional: Record<never, never>;
281
+ };
282
+ readonly multiple_of: {
283
+ readonly is: "object";
284
+ readonly required: {
285
+ readonly check: {
286
+ readonly is: "literal";
287
+ readonly values: readonly ["multiple_of"];
288
+ };
289
+ readonly value: {
290
+ readonly is: "union";
291
+ readonly arms: readonly [{
292
+ readonly is: "number";
293
+ }, {
294
+ readonly is: "string";
295
+ }];
296
+ };
297
+ };
298
+ readonly optional: Record<never, never>;
299
+ };
300
+ readonly max_length: {
301
+ readonly is: "object";
302
+ readonly required: {
303
+ readonly check: {
304
+ readonly is: "literal";
305
+ readonly values: readonly ["max_length"];
306
+ };
307
+ readonly maximum: {
308
+ readonly is: "number";
309
+ };
310
+ };
311
+ readonly optional: {
312
+ readonly list: {
313
+ readonly is: "literal";
314
+ readonly values: readonly [true];
315
+ };
316
+ };
317
+ };
318
+ readonly min_length: {
319
+ readonly is: "object";
320
+ readonly required: {
321
+ readonly check: {
322
+ readonly is: "literal";
323
+ readonly values: readonly ["min_length"];
324
+ };
325
+ readonly minimum: {
326
+ readonly is: "number";
327
+ };
328
+ };
329
+ readonly optional: {
330
+ readonly list: {
331
+ readonly is: "literal";
332
+ readonly values: readonly [true];
333
+ };
334
+ };
335
+ };
336
+ readonly length_equals: {
337
+ readonly is: "object";
338
+ readonly required: {
339
+ readonly check: {
340
+ readonly is: "literal";
341
+ readonly values: readonly ["length_equals"];
342
+ };
343
+ readonly length: {
344
+ readonly is: "number";
345
+ };
346
+ };
347
+ readonly optional: Record<never, never>;
348
+ };
349
+ readonly string_format: {
350
+ readonly is: "union";
351
+ readonly arms: readonly [{
352
+ readonly is: "object";
353
+ readonly required: {
354
+ readonly check: {
355
+ readonly is: "literal";
356
+ readonly values: readonly ["string_format"];
357
+ };
358
+ readonly format: {
359
+ readonly is: "literal";
360
+ readonly values: readonly ["regex"];
361
+ };
362
+ readonly pattern: {
363
+ readonly is: "object";
364
+ readonly required: {
365
+ readonly source: {
366
+ readonly is: "string";
367
+ };
368
+ readonly flags: {
369
+ readonly is: "string";
370
+ };
371
+ };
372
+ readonly optional: Record<never, never>;
373
+ };
374
+ };
375
+ readonly optional: Record<never, never>;
376
+ }, {
377
+ readonly is: "object";
378
+ readonly required: {
379
+ readonly check: {
380
+ readonly is: "literal";
381
+ readonly values: readonly ["string_format"];
382
+ };
383
+ readonly format: {
384
+ readonly is: "literal";
385
+ readonly values: readonly ["includes"];
386
+ };
387
+ readonly includes: {
388
+ readonly is: "string";
389
+ };
390
+ };
391
+ readonly optional: Record<never, never>;
392
+ }, {
393
+ readonly is: "object";
394
+ readonly required: {
395
+ readonly check: {
396
+ readonly is: "literal";
397
+ readonly values: readonly ["string_format"];
398
+ };
399
+ readonly format: {
400
+ readonly is: "literal";
401
+ readonly values: readonly ["starts_with"];
402
+ };
403
+ readonly prefix: {
404
+ readonly is: "string";
405
+ };
406
+ };
407
+ readonly optional: Record<never, never>;
408
+ }, {
409
+ readonly is: "object";
410
+ readonly required: {
411
+ readonly check: {
412
+ readonly is: "literal";
413
+ readonly values: readonly ["string_format"];
414
+ };
415
+ readonly format: {
416
+ readonly is: "literal";
417
+ readonly values: readonly ["ends_with"];
418
+ };
419
+ readonly suffix: {
420
+ readonly is: "string";
421
+ };
422
+ };
423
+ readonly optional: Record<never, never>;
424
+ }, {
425
+ readonly is: "object";
426
+ readonly required: {
427
+ readonly check: {
428
+ readonly is: "literal";
429
+ readonly values: readonly ["string_format"];
430
+ };
431
+ readonly format: {
432
+ readonly is: "literal";
433
+ readonly values: readonly ["lowercase", "uppercase", "email", "url", "emoji", "uuid", "guid", "nanoid", "cuid", "cuid2", "ulid", "xid", "ksuid", "datetime", "date", "time", "duration", "ipv4", "ipv6", "cidrv4", "cidrv6", "base64", "base64url", "json_string", "e164", "credit_card", "iban", "jwt"];
434
+ };
435
+ };
436
+ readonly optional: Record<never, never>;
437
+ }];
438
+ };
439
+ readonly max_size: {
440
+ readonly is: "object";
441
+ readonly required: {
442
+ readonly check: {
443
+ readonly is: "literal";
444
+ readonly values: readonly ["max_size"];
445
+ };
446
+ readonly maximum: {
447
+ readonly is: "number";
448
+ };
449
+ };
450
+ readonly optional: Record<never, never>;
451
+ };
452
+ readonly min_size: {
453
+ readonly is: "object";
454
+ readonly required: {
455
+ readonly check: {
456
+ readonly is: "literal";
457
+ readonly values: readonly ["min_size"];
458
+ };
459
+ readonly minimum: {
460
+ readonly is: "number";
461
+ };
462
+ };
463
+ readonly optional: Record<never, never>;
464
+ };
465
+ readonly size_equals: {
466
+ readonly is: "object";
467
+ readonly required: {
468
+ readonly check: {
469
+ readonly is: "literal";
470
+ readonly values: readonly ["size_equals"];
471
+ };
472
+ readonly size: {
473
+ readonly is: "number";
474
+ };
475
+ };
476
+ readonly optional: Record<never, never>;
477
+ };
478
+ };
479
+ };
480
+ readonly minimum: 0;
481
+ readonly unique: false;
482
+ };
233
483
  };
234
484
  };
235
485
  readonly relation: {
@@ -263,7 +513,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
263
513
  readonly is: "literal";
264
514
  readonly values: readonly ["record", "bulkWrite"];
265
515
  };
266
- readonly nonEmpty: true;
516
+ readonly minimum: 1;
267
517
  readonly unique: false;
268
518
  }];
269
519
  };
@@ -277,7 +527,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
277
527
  readonly is: "literal";
278
528
  readonly values: readonly ["record", "bulkWrite"];
279
529
  };
280
- readonly nonEmpty: true;
530
+ readonly minimum: 1;
281
531
  readonly unique: false;
282
532
  }];
283
533
  };
@@ -287,7 +537,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
287
537
  readonly is: "literal";
288
538
  readonly values: readonly ["nested", "match", "null", "some", "every", "none"];
289
539
  };
290
- readonly nonEmpty: false;
540
+ readonly minimum: 0;
291
541
  readonly unique: false;
292
542
  };
293
543
  readonly order: {
@@ -299,7 +549,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
299
549
  readonly is: "literal";
300
550
  readonly values: readonly ["limit", "offset", "cursor"];
301
551
  };
302
- readonly nonEmpty: false;
552
+ readonly minimum: 0;
303
553
  readonly unique: false;
304
554
  };
305
555
  readonly reducers: {
@@ -310,7 +560,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
310
560
  readonly is: "literal";
311
561
  readonly values: readonly ["$count"];
312
562
  };
313
- readonly nonEmpty: false;
563
+ readonly minimum: 0;
314
564
  readonly unique: false;
315
565
  }, {
316
566
  readonly is: "object";
@@ -321,7 +571,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
321
571
  readonly is: "literal";
322
572
  readonly values: readonly ["$count"];
323
573
  };
324
- readonly nonEmpty: false;
574
+ readonly minimum: 0;
325
575
  readonly unique: false;
326
576
  };
327
577
  readonly scopes: {
@@ -330,7 +580,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
330
580
  readonly is: "literal";
331
581
  readonly values: readonly ["record", "bulkWrite"];
332
582
  };
333
- readonly nonEmpty: true;
583
+ readonly minimum: 1;
334
584
  readonly unique: false;
335
585
  };
336
586
  };
@@ -345,7 +595,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
345
595
  readonly is: "literal";
346
596
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
347
597
  };
348
- readonly nonEmpty: false;
598
+ readonly minimum: 0;
349
599
  readonly unique: false;
350
600
  }, {
351
601
  readonly is: "object";
@@ -356,7 +606,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
356
606
  readonly is: "literal";
357
607
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
358
608
  };
359
- readonly nonEmpty: false;
609
+ readonly minimum: 0;
360
610
  readonly unique: false;
361
611
  };
362
612
  readonly scopes: {
@@ -365,7 +615,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
365
615
  readonly is: "literal";
366
616
  readonly values: readonly ["nested", "bulkWrite"];
367
617
  };
368
- readonly nonEmpty: true;
618
+ readonly minimum: 1;
369
619
  readonly unique: false;
370
620
  };
371
621
  };
@@ -380,7 +630,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
380
630
  readonly is: "literal";
381
631
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
382
632
  };
383
- readonly nonEmpty: false;
633
+ readonly minimum: 0;
384
634
  readonly unique: false;
385
635
  }, {
386
636
  readonly is: "object";
@@ -391,7 +641,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
391
641
  readonly is: "literal";
392
642
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
393
643
  };
394
- readonly nonEmpty: false;
644
+ readonly minimum: 0;
395
645
  readonly unique: false;
396
646
  };
397
647
  readonly scopes: {
@@ -400,7 +650,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
400
650
  readonly is: "literal";
401
651
  readonly values: readonly ["nested", "bulkWrite"];
402
652
  };
403
- readonly nonEmpty: true;
653
+ readonly minimum: 1;
404
654
  readonly unique: false;
405
655
  };
406
656
  };
@@ -426,10 +676,10 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
426
676
  readonly item: {
427
677
  readonly is: "string";
428
678
  };
429
- readonly nonEmpty: true;
679
+ readonly minimum: 1;
430
680
  readonly unique: false;
431
681
  };
432
- readonly nonEmpty: false;
682
+ readonly minimum: 0;
433
683
  readonly unique: false;
434
684
  };
435
685
  readonly operations: {
@@ -1029,7 +1279,49 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1029
1279
  };
1030
1280
  };
1031
1281
  };
1032
- readonly optional: Record<never, never>;
1282
+ readonly optional: {
1283
+ readonly createRequirements: {
1284
+ readonly is: "object";
1285
+ readonly required: {};
1286
+ readonly optional: {
1287
+ readonly required: {
1288
+ readonly is: "list";
1289
+ readonly item: {
1290
+ readonly is: "string";
1291
+ };
1292
+ readonly minimum: 1;
1293
+ readonly unique: false;
1294
+ };
1295
+ readonly oneOf: {
1296
+ readonly is: "list";
1297
+ readonly item: {
1298
+ readonly is: "list";
1299
+ readonly item: {
1300
+ readonly is: "string";
1301
+ };
1302
+ readonly minimum: 2;
1303
+ readonly unique: false;
1304
+ };
1305
+ readonly minimum: 1;
1306
+ readonly unique: false;
1307
+ };
1308
+ readonly parentSupplies: {
1309
+ readonly is: "registry";
1310
+ readonly entry: {
1311
+ readonly is: "registry";
1312
+ readonly entry: {
1313
+ readonly is: "list";
1314
+ readonly item: {
1315
+ readonly is: "string";
1316
+ };
1317
+ readonly minimum: 1;
1318
+ readonly unique: false;
1319
+ };
1320
+ };
1321
+ };
1322
+ };
1323
+ };
1324
+ };
1033
1325
  };
1034
1326
  };
1035
1327
  readonly limits: {
@@ -1050,6 +1342,9 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1050
1342
  readonly maxBooleanNodes: {
1051
1343
  readonly is: "number";
1052
1344
  };
1345
+ readonly maxJsonDepth: {
1346
+ readonly is: "number";
1347
+ };
1053
1348
  };
1054
1349
  readonly optional: Record<never, never>;
1055
1350
  };
@@ -1086,7 +1381,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1086
1381
  */
1087
1382
  export type ClientContractStructureVerdict = {
1088
1383
  readonly valid: true;
1089
- readonly contract: ClientContract;
1384
+ readonly contract: AvContractClient;
1090
1385
  } | {
1091
1386
  readonly valid: false;
1092
1387
  readonly path: string;