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

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 (338) hide show
  1. package/CHANGELOG.md +2068 -1
  2. package/ERRORS.md +142 -0
  3. package/README.md +485 -60
  4. package/dist/adapters/adapter-discovery-diagnostic.d.ts +4 -4
  5. package/dist/adapters/adapter-discovery-diagnostic.guidance.d.ts +6 -0
  6. package/dist/adapters/adapter-discovery-diagnostic.guidance.js +7 -0
  7. package/dist/adapters/adapter-field.d.ts +33 -11
  8. package/dist/adapters/adapter-identifier.d.ts +15 -6
  9. package/dist/adapters/adapter-identifier.js +6 -1
  10. package/dist/adapters/adapter-model.d.ts +18 -9
  11. package/dist/adapters/adapter-operation-executor.interface.d.ts +4 -4
  12. package/dist/adapters/adapter-operation.d.ts +21 -6
  13. package/dist/adapters/adapter-resource.d.ts +23 -9
  14. package/dist/adapters/adapter-sql-statement.d.ts +19 -0
  15. package/dist/adapters/adapter-transaction-executor.interface.d.ts +19 -0
  16. package/dist/adapters/adapter.interface.d.ts +59 -29
  17. package/dist/avz/avz-check.factory.d.ts +83 -0
  18. package/dist/avz/avz-check.factory.js +116 -0
  19. package/dist/avz/avz-check.registry.d.ts +35 -0
  20. package/dist/avz/avz-check.registry.js +9 -0
  21. package/dist/avz/avz.d.ts +203 -0
  22. package/dist/{json → avz}/avz.js +150 -8
  23. package/dist/{json → avz}/index.d.ts +2 -1
  24. package/dist/{json → avz}/json-shape.registry.d.ts +9 -8
  25. package/dist/{json → avz}/zod-issue.translator.d.ts +8 -2
  26. package/dist/{json → avz}/zod-issue.translator.js +7 -0
  27. package/dist/compiler/contract-compiler-diagnostic.d.ts +31 -5
  28. package/dist/compiler/contract-compiler-diagnostic.guidance.d.ts +6 -0
  29. package/dist/compiler/contract-compiler-diagnostic.guidance.js +97 -0
  30. package/dist/compiler/contract.compiler.d.ts +23 -17
  31. package/dist/compiler/contract.compiler.js +753 -443
  32. package/dist/compiler/create-requirements.projector.d.ts +49 -0
  33. package/dist/compiler/create-requirements.projector.js +423 -0
  34. package/dist/compiler/field-validator.compiler.d.ts +47 -0
  35. package/dist/compiler/field-validator.compiler.js +238 -0
  36. package/dist/compiler/managed-elsewhere.projector.d.ts +52 -0
  37. package/dist/compiler/managed-elsewhere.projector.js +179 -0
  38. package/dist/compiler/managed-elsewhere.validator.d.ts +9 -0
  39. package/dist/compiler/managed-elsewhere.validator.js +74 -0
  40. package/dist/config/any-framework-config.d.ts +19 -12
  41. package/dist/config/computed-fields.d.ts +62 -0
  42. package/dist/config/computed-fields.js +73 -0
  43. package/dist/config/config-diagnostic.d.ts +11 -4
  44. package/dist/config/config-diagnostic.guidance.d.ts +6 -0
  45. package/dist/config/config-diagnostic.guidance.js +32 -0
  46. package/dist/config/config-layer.d.ts +15 -6
  47. package/dist/config/config.resolver.d.ts +98 -31
  48. package/dist/config/config.resolver.js +173 -44
  49. package/dist/config/config.validator.d.ts +7 -7
  50. package/dist/config/config.validator.js +792 -69
  51. package/dist/config/define-resource.d.ts +53 -0
  52. package/dist/config/define-resource.js +14 -0
  53. package/dist/config/effective-fields.d.ts +19 -23
  54. package/dist/config/entrypoint.normalizer.d.ts +4 -3
  55. package/dist/config/exact-framework-config.d.ts +325 -0
  56. package/dist/config/field-compute.resolver.d.ts +21 -0
  57. package/dist/config/field-compute.resolver.js +123 -0
  58. package/dist/config/field-pipeline-config.d.ts +47 -0
  59. package/dist/config/forced-operation.validator.d.ts +10 -0
  60. package/dist/config/forced-operation.validator.js +66 -0
  61. package/dist/config/framework-config.d.ts +148 -39
  62. package/dist/config/framework-exemptions-config.d.ts +91 -0
  63. package/dist/config/framework-exemptions-config.js +1 -0
  64. package/dist/config/framework-field-definition.d.ts +78 -0
  65. package/dist/config/framework-field-definition.js +28 -0
  66. package/dist/config/framework-resources-config.d.ts +127 -0
  67. package/dist/config/framework-resources-config.js +1 -0
  68. package/dist/config/pipeline-config.d.ts +56 -20
  69. package/dist/config/pipeline-tree.resolver.d.ts +79 -0
  70. package/dist/config/pipeline-tree.resolver.js +220 -0
  71. package/dist/config/stage-type.eraser.d.ts +65 -0
  72. package/dist/config/stage-type.eraser.js +1 -0
  73. package/dist/contracts/access-route.rules.d.ts +10 -0
  74. package/dist/contracts/access-route.rules.js +45 -0
  75. package/dist/contracts/capability.d.ts +37 -12
  76. package/dist/contracts/capability.js +20 -0
  77. package/dist/contracts/client-contract-structure.validator.d.ts +621 -114
  78. package/dist/contracts/client-contract-structure.validator.js +189 -10
  79. package/dist/contracts/contract-access.d.ts +29 -0
  80. package/dist/contracts/contract-access.js +1 -0
  81. package/dist/contracts/contract-canonicalizer.d.ts +27 -3
  82. package/dist/contracts/contract-canonicalizer.js +168 -29
  83. package/dist/contracts/contract-hash.d.ts +11 -7
  84. package/dist/contracts/contract-hash.js +4 -3
  85. package/dist/contracts/contract-limits.d.ts +4 -1
  86. package/dist/contracts/contract-limits.js +1 -0
  87. package/dist/contracts/contract-lookup.d.ts +5 -5
  88. package/dist/contracts/contract-protocol.d.ts +4 -4
  89. package/dist/contracts/contract.d.ts +51 -17
  90. package/dist/contracts/create-requirements.d.ts +35 -0
  91. package/dist/contracts/create-requirements.js +1 -0
  92. package/dist/contracts/enum-definition.d.ts +1 -1
  93. package/dist/contracts/field-check.d.ts +101 -0
  94. package/dist/contracts/field-check.js +1 -0
  95. package/dist/contracts/field.d.ts +109 -42
  96. package/dist/contracts/identifier.d.ts +4 -4
  97. package/dist/contracts/json-schema.projector.d.ts +11 -0
  98. package/dist/contracts/json-schema.projector.js +78 -0
  99. package/dist/contracts/json-shape.d.ts +12 -1
  100. package/dist/contracts/lifecycle-trait.d.ts +2 -2
  101. package/dist/contracts/resource-operations.d.ts +28 -28
  102. package/dist/contracts/resource.d.ts +15 -9
  103. package/dist/contracts/scalar-value-type.d.ts +17 -15
  104. package/dist/contracts/scalar.d.ts +3 -3
  105. package/dist/contracts/transaction-capability.d.ts +1 -1
  106. package/dist/contracts/wire-scalar-format.d.ts +4 -4
  107. package/dist/framework/access-facade.d.ts +116 -0
  108. package/dist/framework/access-facade.js +120 -0
  109. package/dist/framework/contract-view.d.ts +315 -145
  110. package/dist/framework/framework-construction.error.d.ts +21 -11
  111. package/dist/framework/framework-construction.error.js +20 -4
  112. package/dist/framework/framework.d.ts +71 -26
  113. package/dist/framework/framework.factory.d.ts +8 -6
  114. package/dist/framework/framework.factory.js +150 -38
  115. package/dist/framework/operation-facade.d.ts +192 -54
  116. package/dist/framework/operation-facade.js +10 -1
  117. package/dist/index.d.ts +67 -50
  118. package/dist/index.js +7 -6
  119. package/dist/internal.d.ts +20 -10
  120. package/dist/internal.js +9 -1
  121. package/dist/operations/database-refusal.d.ts +51 -0
  122. package/dist/operations/database-refusal.js +45 -0
  123. package/dist/operations/operation-arguments.d.ts +381 -228
  124. package/dist/operations/operation-call.d.ts +31 -28
  125. package/dist/operations/operation-identity.d.ts +10 -10
  126. package/dist/operations/operation-result.d.ts +25 -23
  127. package/dist/operations/operation-validator-core.d.ts +6 -6
  128. package/dist/operations/operation-validator-core.js +172 -38
  129. package/dist/operations/operation-validator.d.ts +10 -10
  130. package/dist/operations/projection-scope.resolver.d.ts +6 -6
  131. package/dist/operations/structural-limits.walker.d.ts +7 -7
  132. package/dist/operations/structural-limits.walker.js +145 -0
  133. package/dist/operations/validation-code.d.ts +11 -6
  134. package/dist/operations/validation-code.guidance.d.ts +6 -0
  135. package/dist/operations/validation-code.guidance.js +90 -0
  136. package/dist/operations/validation-code.js +4 -0
  137. package/dist/operations/write-scope.resolver.d.ts +10 -6
  138. package/dist/operations/write-scope.resolver.js +2 -0
  139. package/dist/policy/access-provider.interface.d.ts +91 -0
  140. package/dist/policy/access-provider.interface.js +1 -0
  141. package/dist/policy/access-provider.registry.d.ts +17 -0
  142. package/dist/policy/access-provider.registry.js +15 -0
  143. package/dist/policy/access-question.d.ts +20 -0
  144. package/dist/policy/access-question.js +1 -0
  145. package/dist/policy/access-question.registry.d.ts +5 -0
  146. package/dist/policy/access-question.registry.js +19 -0
  147. package/dist/policy/access-question.runtime.d.ts +36 -0
  148. package/dist/policy/access-question.runtime.js +297 -0
  149. package/dist/policy/access-verb.table.d.ts +56 -0
  150. package/dist/policy/access-verb.table.js +21 -0
  151. package/dist/policy/access-verbs.d.ts +46 -0
  152. package/dist/policy/access-verbs.js +1 -0
  153. package/dist/policy/policy-admission.d.ts +20 -0
  154. package/dist/policy/policy-admission.js +409 -0
  155. package/dist/policy/policy-after-update.runtime.d.ts +79 -0
  156. package/dist/policy/policy-after-update.runtime.js +208 -0
  157. package/dist/policy/policy-condition.d.ts +15 -0
  158. package/dist/policy/policy-condition.js +36 -0
  159. package/dist/policy/policy-engine.d.ts +205 -0
  160. package/dist/policy/policy-engine.js +1 -0
  161. package/dist/policy/policy-named-rows.d.ts +18 -0
  162. package/dist/policy/policy-named-rows.js +51 -0
  163. package/dist/policy/policy-nested-write.runtime.d.ts +44 -0
  164. package/dist/policy/policy-nested-write.runtime.js +545 -0
  165. package/dist/policy/policy-read.runtime.d.ts +81 -0
  166. package/dist/policy/policy-read.runtime.js +503 -0
  167. package/dist/policy/policy-reference-write.runtime.d.ts +51 -0
  168. package/dist/policy/policy-reference-write.runtime.js +345 -0
  169. package/dist/policy/policy-request.d.ts +41 -0
  170. package/dist/policy/policy-request.js +63 -0
  171. package/dist/policy/policy-session.d.ts +106 -0
  172. package/dist/policy/policy-session.js +295 -0
  173. package/dist/policy/policy-startup.validator.d.ts +10 -0
  174. package/dist/policy/policy-startup.validator.js +112 -0
  175. package/dist/policy/policy-write.runtime.d.ts +39 -0
  176. package/dist/policy/policy-write.runtime.js +532 -0
  177. package/dist/prebuilt/core-version.generated.d.ts +2 -0
  178. package/dist/prebuilt/core-version.generated.js +1 -0
  179. package/dist/prebuilt/prebuilt-changes.d.ts +29 -0
  180. package/dist/prebuilt/prebuilt-changes.js +65 -0
  181. package/dist/prebuilt/prebuilt-contracts.d.ts +40 -0
  182. package/dist/prebuilt/prebuilt-contracts.emitter.d.ts +16 -0
  183. package/dist/prebuilt/prebuilt-contracts.emitter.js +50 -0
  184. package/dist/prebuilt/prebuilt-contracts.js +1 -0
  185. package/dist/prebuilt/prebuilt-contracts.loader.d.ts +19 -0
  186. package/dist/prebuilt/prebuilt-contracts.loader.js +77 -0
  187. package/dist/prebuilt/prebuilt-inputs.fingerprint.d.ts +16 -0
  188. package/dist/prebuilt/prebuilt-inputs.fingerprint.js +229 -0
  189. package/dist/protocol/absent-route.responder.d.ts +17 -34
  190. package/dist/protocol/absent-route.responder.js +53 -20
  191. package/dist/protocol/contract-document.responder.d.ts +5 -4
  192. package/dist/protocol/contract-document.responder.js +2 -2
  193. package/dist/protocol/http-request.decoder.d.ts +33 -13
  194. package/dist/protocol/http-request.decoder.js +34 -11
  195. package/dist/protocol/http-request.reader.d.ts +9 -6
  196. package/dist/protocol/http-request.reader.js +1 -0
  197. package/dist/protocol/http-response.encoder.d.ts +4 -4
  198. package/dist/protocol/http-response.encoder.js +94 -55
  199. package/dist/protocol/http-status.table.d.ts +2 -2
  200. package/dist/protocol/operation-response.guard.d.ts +2 -2
  201. package/dist/protocol/protocol-headers.d.ts +3 -3
  202. package/dist/protocol/protocol-surface.d.ts +10 -5
  203. package/dist/protocol/protocol-surface.js +7 -0
  204. package/dist/protocol/protocol.binder.d.ts +66 -28
  205. package/dist/protocol/protocol.binder.js +16 -10
  206. package/dist/protocol/protocol.handler.d.ts +34 -14
  207. package/dist/protocol/protocol.handler.js +122 -18
  208. package/dist/protocol/unmounted-route.error.d.ts +4 -4
  209. package/dist/protocol/unmounted-route.error.js +2 -2
  210. package/dist/runtime/caller-data.copier.d.ts +22 -7
  211. package/dist/runtime/caller-data.copier.js +30 -17
  212. package/dist/runtime/caller-data.door.d.ts +18 -11
  213. package/dist/runtime/caller-data.door.js +6 -4
  214. package/dist/runtime/computed-read-runtime.d.ts +12 -6
  215. package/dist/runtime/computed-read-runtime.js +271 -71
  216. package/dist/runtime/computed-value.error.d.ts +7 -6
  217. package/dist/runtime/computed-value.error.js +5 -4
  218. package/dist/runtime/context-executor.runtime.d.ts +60 -0
  219. package/dist/runtime/context-executor.runtime.js +277 -0
  220. package/dist/runtime/core-class.brand.d.ts +10 -0
  221. package/dist/runtime/core-class.brand.js +21 -0
  222. package/dist/runtime/create-requirement.d.ts +34 -79
  223. package/dist/runtime/create-requirement.js +205 -74
  224. package/dist/runtime/decimal.d.ts +16 -2
  225. package/dist/runtime/decimal.js +22 -1
  226. package/dist/runtime/diagnostics-reporter.d.ts +91 -30
  227. package/dist/runtime/diagnostics-reporter.js +37 -1
  228. package/dist/runtime/error-boundary.d.ts +73 -9
  229. package/dist/runtime/error-boundary.js +57 -19
  230. package/dist/runtime/error-guidance.d.ts +12 -0
  231. package/dist/runtime/error-guidance.js +1 -0
  232. package/dist/runtime/error.catalog.d.ts +49 -0
  233. package/dist/runtime/error.catalog.js +49 -0
  234. package/dist/runtime/execution-options.d.ts +18 -2
  235. package/dist/runtime/field-check.evaluator.d.ts +27 -0
  236. package/dist/runtime/field-check.evaluator.js +521 -0
  237. package/dist/runtime/field-compute.d.ts +65 -0
  238. package/dist/runtime/field-compute.js +1 -0
  239. package/dist/runtime/field-stage.plan.d.ts +15 -0
  240. package/dist/runtime/field-stage.plan.js +27 -0
  241. package/dist/runtime/field-stage.runtime.d.ts +37 -0
  242. package/dist/runtime/field-stage.runtime.js +147 -0
  243. package/dist/runtime/field-validator.runtime.d.ts +29 -0
  244. package/dist/runtime/field-validator.runtime.js +126 -0
  245. package/dist/runtime/framework-error-class.table.d.ts +33 -0
  246. package/dist/runtime/framework-error-class.table.js +25 -0
  247. package/dist/runtime/framework-error.d.ts +68 -8
  248. package/dist/runtime/framework-error.factory.d.ts +4 -0
  249. package/dist/runtime/framework-error.factory.js +15 -0
  250. package/dist/runtime/framework-error.js +32 -2
  251. package/dist/runtime/framework-warning.emitter.d.ts +6 -0
  252. package/dist/runtime/framework-warning.emitter.js +8 -0
  253. package/dist/runtime/interceptor-next.error.d.ts +5 -0
  254. package/dist/runtime/interceptor-next.error.js +6 -0
  255. package/dist/runtime/json-value.d.ts +11 -6
  256. package/dist/runtime/level-lifecycle.runtime.d.ts +26 -0
  257. package/dist/runtime/level-lifecycle.runtime.js +40 -0
  258. package/dist/runtime/misuse-reporter.d.ts +12 -12
  259. package/dist/runtime/mutation-planner.d.ts +20 -16
  260. package/dist/runtime/mutation-planner.js +48 -35
  261. package/dist/runtime/nested-write.walker.d.ts +32 -0
  262. package/dist/runtime/nested-write.walker.js +73 -0
  263. package/dist/runtime/operation-code.guidance.d.ts +6 -0
  264. package/dist/runtime/operation-code.guidance.js +167 -0
  265. package/dist/runtime/operation-request.d.ts +45 -11
  266. package/dist/runtime/operation-response.d.ts +17 -17
  267. package/dist/runtime/operation-runtime.d.ts +133 -27
  268. package/dist/runtime/operation-runtime.js +576 -84
  269. package/dist/runtime/outcome-mapper.d.ts +17 -5
  270. package/dist/runtime/outcome-mapper.js +23 -6
  271. package/dist/runtime/output-validator.d.ts +11 -11
  272. package/dist/runtime/output-validator.js +3 -3
  273. package/dist/runtime/owned-execution.registry.d.ts +16 -6
  274. package/dist/runtime/pipe-output.validator.d.ts +43 -18
  275. package/dist/runtime/pipe-output.validator.js +15 -13
  276. package/dist/runtime/pipeline.d.ts +221 -34
  277. package/dist/runtime/readonly-value.d.ts +47 -0
  278. package/dist/runtime/readonly-value.js +189 -0
  279. package/dist/runtime/referential-action.d.ts +1 -1
  280. package/dist/runtime/request-envelope.validator.d.ts +3 -3
  281. package/dist/runtime/request-envelope.validator.js +12 -7
  282. package/dist/runtime/request-id.d.ts +1 -1
  283. package/dist/runtime/request-state.d.ts +14 -0
  284. package/dist/runtime/request-state.js +1 -0
  285. package/dist/runtime/request-state.resolver.d.ts +12 -0
  286. package/dist/runtime/request-state.resolver.js +20 -0
  287. package/dist/runtime/scalar-runtime.d.ts +33 -25
  288. package/dist/runtime/scalar-runtime.js +105 -38
  289. package/dist/runtime/unsent-value.normalizer.d.ts +15 -0
  290. package/dist/runtime/unsent-value.normalizer.js +128 -0
  291. package/dist/transactions/deferred-operation.d.ts +35 -20
  292. package/dist/transactions/operation-arguments-encoder.d.ts +3 -3
  293. package/dist/transactions/operation-arguments-encoder.js +8 -3
  294. package/dist/transactions/operation-fingerprint.js +2 -2
  295. package/dist/transactions/sql-statement.d.ts +85 -0
  296. package/dist/transactions/sql-statement.js +47 -0
  297. package/dist/transactions/sql-statement.validator.d.ts +44 -0
  298. package/dist/transactions/sql-statement.validator.js +167 -0
  299. package/dist/transactions/transaction-envelope.d.ts +9 -8
  300. package/dist/transactions/transaction-integrity-error.d.ts +6 -6
  301. package/dist/transactions/transaction-integrity-error.js +7 -2
  302. package/dist/transactions/transaction-plan-assembler.d.ts +30 -13
  303. package/dist/transactions/transaction-plan-assembler.js +184 -32
  304. package/dist/transactions/transaction-plan-validator.d.ts +50 -25
  305. package/dist/transactions/transaction-plan-validator.js +96 -38
  306. package/dist/transactions/transaction-reference-collector.d.ts +5 -5
  307. package/dist/transactions/transaction-reference-resolver.d.ts +21 -3
  308. package/dist/transactions/transaction-reference-resolver.js +26 -14
  309. package/dist/transactions/transaction-reference-validator.d.ts +74 -4
  310. package/dist/transactions/transaction-reference-validator.js +129 -71
  311. package/dist/transactions/transaction-reference.d.ts +14 -14
  312. package/dist/transactions/transaction-reference.js +5 -0
  313. package/dist/transactions/transaction-request.d.ts +22 -9
  314. package/dist/transactions/transaction-response.d.ts +6 -6
  315. package/dist/transactions/transaction-runtime.d.ts +12 -8
  316. package/dist/transactions/transaction-runtime.js +218 -50
  317. package/dist/transactions/transaction-settlement.runtime.d.ts +52 -0
  318. package/dist/transactions/transaction-settlement.runtime.js +120 -0
  319. package/dist/transactions/transaction-slot-path-error.d.ts +4 -4
  320. package/dist/transactions/transaction-slot-path-error.js +4 -2
  321. package/dist/transactions/transaction-slot-writer.js +2 -2
  322. package/dist/transactions/transaction-stage.runtime.d.ts +83 -0
  323. package/dist/transactions/transaction-stage.runtime.js +126 -0
  324. package/package.json +11 -9
  325. package/src/runtime/field-check.evaluator.ts +720 -0
  326. package/dist/config/define-fields.d.ts +0 -42
  327. package/dist/config/define-fields.js +0 -3
  328. package/dist/config/framework-behaviors-config.d.ts +0 -30
  329. package/dist/config/framework-fields-config.d.ts +0 -42
  330. package/dist/config/framework-restrictions-config.d.ts +0 -142
  331. package/dist/json/avz.d.ts +0 -96
  332. package/dist/runtime/field-behavior.d.ts +0 -48
  333. /package/dist/{config/framework-behaviors-config.js → adapters/adapter-sql-statement.js} +0 -0
  334. /package/dist/{config/framework-fields-config.js → adapters/adapter-transaction-executor.interface.js} +0 -0
  335. /package/dist/{json → avz}/index.js +0 -0
  336. /package/dist/{json → avz}/json-shape.registry.js +0 -0
  337. /package/dist/config/{framework-restrictions-config.js → exact-framework-config.js} +0 -0
  338. /package/dist/{runtime/field-behavior.js → config/field-pipeline-config.js} +0 -0
@@ -1,57 +1,5 @@
1
- import type { ClientContract } from "./contract.js";
1
+ import type { AvContractClient } from "./contract.js";
2
2
  import type { JsonSchema } from "./json-shape.js";
3
- /**
4
- * Whether an untrusted value is a `ClientContract`: every member present, of its JSON
5
- * kind, inside its closed vocabulary, and nothing else. An enum's values must be
6
- * distinct. Reads every member it judges and never throws on any input; a value that
7
- * is not JSON at all is reported.
8
- */
9
- /** A literal a closed vocabulary can hold. */
10
- type Literal = string | number | boolean;
11
- /**
12
- * One node of a structure description. Passive data — no callbacks — so a schema
13
- * is introspectable and {@link Structured} can decode it into a type.
14
- */
15
- export type StructureNode = {
16
- readonly is: "string";
17
- } | {
18
- readonly is: "number";
19
- } | {
20
- readonly is: "boolean";
21
- } | {
22
- readonly is: "literal";
23
- readonly values: readonly Literal[];
24
- } | {
25
- readonly is: "prefixed";
26
- readonly prefix: string;
27
- } | {
28
- readonly is: "list";
29
- readonly item: StructureNode;
30
- readonly nonEmpty: boolean;
31
- /** No entry repeats an earlier one. Not a type fact: `Structured` ignores it. */
32
- readonly unique: boolean;
33
- } | {
34
- readonly is: "registry";
35
- readonly entry: StructureNode;
36
- } | {
37
- readonly is: "object";
38
- readonly required: Readonly<Record<string, StructureNode>>;
39
- readonly optional: Readonly<Record<string, StructureNode>>;
40
- } | {
41
- /** Alternatives told apart by one required literal member. */
42
- readonly is: "variants";
43
- readonly key: string;
44
- readonly arms: Readonly<Record<string, StructureNode>>;
45
- } | {
46
- readonly is: "union";
47
- readonly arms: readonly StructureNode[];
48
- } | {
49
- /**
50
- * A Json Shape's schema: recursive, so judged by its own reader
51
- * ({@link jsonSchemaDefect}) rather than spelled out in nodes.
52
- */
53
- readonly is: "jsonSchema";
54
- };
55
3
  /**
56
4
  * The TypeScript type a structure description admits, dispatched through a
57
5
  * table with one entry per node kind.
@@ -69,10 +17,11 @@ type StructuredBy<N> = {
69
17
  readonly prefixed: N extends {
70
18
  readonly prefix: infer P extends string;
71
19
  } ? `${P}${string}` : never;
20
+ readonly route: string;
72
21
  readonly list: N extends {
73
22
  readonly item: infer I;
74
- readonly nonEmpty: infer E;
75
- } ? E extends true ? readonly [Structured<I>, ...Structured<I>[]] : readonly Structured<I>[] : never;
23
+ readonly minimum: infer E;
24
+ } ? E extends 2 ? readonly [Structured<I>, Structured<I>, ...Structured<I>[]] : E extends 1 ? readonly [Structured<I>, ...Structured<I>[]] : readonly Structured<I>[] : never;
76
25
  readonly registry: N extends {
77
26
  readonly entry: infer E;
78
27
  } ? Readonly<Record<string, Structured<E>>> : never;
@@ -93,7 +42,7 @@ type StructuredObject<R, O> = {
93
42
  } & {
94
43
  readonly [K in keyof O]?: Structured<O[K]>;
95
44
  };
96
- /** The structure of a ClientContract. Decodes to exactly `ClientContract`. */
45
+ /** The structure of a ClientContract. Decodes to exactly `AvContractClient`. */
97
46
  export declare const CLIENT_CONTRACT_STRUCTURE: {
98
47
  readonly is: "object";
99
48
  readonly required: {
@@ -120,7 +69,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
120
69
  readonly item: {
121
70
  readonly is: "string";
122
71
  };
123
- readonly nonEmpty: false;
72
+ readonly minimum: 0;
124
73
  readonly unique: true;
125
74
  };
126
75
  };
@@ -177,7 +126,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
177
126
  readonly is: "literal";
178
127
  readonly values: readonly ["DEFAULTED", "GENERATED_ON_CREATE", "GENERATED_ON_UPDATE", "COMPUTED_ON_CREATE", "COMPUTED_ON_UPDATE", "COMPUTED_ON_READ", "VIRTUAL"];
179
128
  };
180
- readonly nonEmpty: false;
129
+ readonly minimum: 0;
181
130
  readonly unique: false;
182
131
  };
183
132
  readonly capabilities: {
@@ -193,7 +142,25 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
193
142
  readonly is: "literal";
194
143
  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
144
  };
196
- readonly nonEmpty: false;
145
+ readonly minimum: 0;
146
+ readonly unique: false;
147
+ };
148
+ readonly filterModes: {
149
+ readonly is: "list";
150
+ readonly item: {
151
+ readonly is: "literal";
152
+ readonly values: readonly ["default", "sensitive", "insensitive"];
153
+ };
154
+ readonly minimum: 0;
155
+ readonly unique: false;
156
+ };
157
+ readonly pathFilterModes: {
158
+ readonly is: "list";
159
+ readonly item: {
160
+ readonly is: "literal";
161
+ readonly values: readonly ["default", "sensitive", "insensitive"];
162
+ };
163
+ readonly minimum: 0;
197
164
  readonly unique: false;
198
165
  };
199
166
  readonly order: {
@@ -208,7 +175,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
208
175
  readonly is: "literal";
209
176
  readonly values: readonly ["$increment", "$decrement", "$multiply", "$divide", "$push", "$unset"];
210
177
  };
211
- readonly nonEmpty: false;
178
+ readonly minimum: 0;
212
179
  readonly unique: false;
213
180
  };
214
181
  readonly update: {
@@ -217,7 +184,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
217
184
  readonly is: "literal";
218
185
  readonly values: readonly ["$increment", "$decrement", "$multiply", "$divide", "$push", "$unset"];
219
186
  };
220
- readonly nonEmpty: false;
187
+ readonly minimum: 0;
221
188
  readonly unique: false;
222
189
  };
223
190
  };
@@ -230,6 +197,259 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
230
197
  readonly json: {
231
198
  readonly is: "jsonSchema";
232
199
  };
200
+ readonly validators: {
201
+ readonly is: "list";
202
+ readonly item: {
203
+ readonly is: "variants";
204
+ readonly key: "check";
205
+ readonly arms: {
206
+ readonly less_than: {
207
+ readonly is: "object";
208
+ readonly required: {
209
+ readonly check: {
210
+ readonly is: "literal";
211
+ readonly values: readonly ["less_than"];
212
+ };
213
+ readonly value: {
214
+ readonly is: "union";
215
+ readonly arms: readonly [{
216
+ readonly is: "number";
217
+ }, {
218
+ readonly is: "string";
219
+ }];
220
+ };
221
+ readonly inclusive: {
222
+ readonly is: "boolean";
223
+ };
224
+ };
225
+ readonly optional: Record<never, never>;
226
+ };
227
+ readonly greater_than: {
228
+ readonly is: "object";
229
+ readonly required: {
230
+ readonly check: {
231
+ readonly is: "literal";
232
+ readonly values: readonly ["greater_than"];
233
+ };
234
+ readonly value: {
235
+ readonly is: "union";
236
+ readonly arms: readonly [{
237
+ readonly is: "number";
238
+ }, {
239
+ readonly is: "string";
240
+ }];
241
+ };
242
+ readonly inclusive: {
243
+ readonly is: "boolean";
244
+ };
245
+ };
246
+ readonly optional: Record<never, never>;
247
+ };
248
+ readonly multiple_of: {
249
+ readonly is: "object";
250
+ readonly required: {
251
+ readonly check: {
252
+ readonly is: "literal";
253
+ readonly values: readonly ["multiple_of"];
254
+ };
255
+ readonly value: {
256
+ readonly is: "union";
257
+ readonly arms: readonly [{
258
+ readonly is: "number";
259
+ }, {
260
+ readonly is: "string";
261
+ }];
262
+ };
263
+ };
264
+ readonly optional: Record<never, never>;
265
+ };
266
+ readonly max_length: {
267
+ readonly is: "object";
268
+ readonly required: {
269
+ readonly check: {
270
+ readonly is: "literal";
271
+ readonly values: readonly ["max_length"];
272
+ };
273
+ readonly maximum: {
274
+ readonly is: "number";
275
+ };
276
+ };
277
+ readonly optional: {
278
+ readonly list: {
279
+ readonly is: "literal";
280
+ readonly values: readonly [true];
281
+ };
282
+ };
283
+ };
284
+ readonly min_length: {
285
+ readonly is: "object";
286
+ readonly required: {
287
+ readonly check: {
288
+ readonly is: "literal";
289
+ readonly values: readonly ["min_length"];
290
+ };
291
+ readonly minimum: {
292
+ readonly is: "number";
293
+ };
294
+ };
295
+ readonly optional: {
296
+ readonly list: {
297
+ readonly is: "literal";
298
+ readonly values: readonly [true];
299
+ };
300
+ };
301
+ };
302
+ readonly length_equals: {
303
+ readonly is: "object";
304
+ readonly required: {
305
+ readonly check: {
306
+ readonly is: "literal";
307
+ readonly values: readonly ["length_equals"];
308
+ };
309
+ readonly length: {
310
+ readonly is: "number";
311
+ };
312
+ };
313
+ readonly optional: Record<never, never>;
314
+ };
315
+ readonly string_format: {
316
+ readonly is: "union";
317
+ readonly arms: readonly [{
318
+ readonly is: "object";
319
+ readonly required: {
320
+ readonly check: {
321
+ readonly is: "literal";
322
+ readonly values: readonly ["string_format"];
323
+ };
324
+ readonly format: {
325
+ readonly is: "literal";
326
+ readonly values: readonly ["regex"];
327
+ };
328
+ readonly pattern: {
329
+ readonly is: "object";
330
+ readonly required: {
331
+ readonly source: {
332
+ readonly is: "string";
333
+ };
334
+ readonly flags: {
335
+ readonly is: "string";
336
+ };
337
+ };
338
+ readonly optional: Record<never, never>;
339
+ };
340
+ };
341
+ readonly optional: Record<never, never>;
342
+ }, {
343
+ readonly is: "object";
344
+ readonly required: {
345
+ readonly check: {
346
+ readonly is: "literal";
347
+ readonly values: readonly ["string_format"];
348
+ };
349
+ readonly format: {
350
+ readonly is: "literal";
351
+ readonly values: readonly ["includes"];
352
+ };
353
+ readonly includes: {
354
+ readonly is: "string";
355
+ };
356
+ };
357
+ readonly optional: Record<never, never>;
358
+ }, {
359
+ readonly is: "object";
360
+ readonly required: {
361
+ readonly check: {
362
+ readonly is: "literal";
363
+ readonly values: readonly ["string_format"];
364
+ };
365
+ readonly format: {
366
+ readonly is: "literal";
367
+ readonly values: readonly ["starts_with"];
368
+ };
369
+ readonly prefix: {
370
+ readonly is: "string";
371
+ };
372
+ };
373
+ readonly optional: Record<never, never>;
374
+ }, {
375
+ readonly is: "object";
376
+ readonly required: {
377
+ readonly check: {
378
+ readonly is: "literal";
379
+ readonly values: readonly ["string_format"];
380
+ };
381
+ readonly format: {
382
+ readonly is: "literal";
383
+ readonly values: readonly ["ends_with"];
384
+ };
385
+ readonly suffix: {
386
+ readonly is: "string";
387
+ };
388
+ };
389
+ readonly optional: Record<never, never>;
390
+ }, {
391
+ readonly is: "object";
392
+ readonly required: {
393
+ readonly check: {
394
+ readonly is: "literal";
395
+ readonly values: readonly ["string_format"];
396
+ };
397
+ readonly format: {
398
+ readonly is: "literal";
399
+ 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"];
400
+ };
401
+ };
402
+ readonly optional: Record<never, never>;
403
+ }];
404
+ };
405
+ readonly max_size: {
406
+ readonly is: "object";
407
+ readonly required: {
408
+ readonly check: {
409
+ readonly is: "literal";
410
+ readonly values: readonly ["max_size"];
411
+ };
412
+ readonly maximum: {
413
+ readonly is: "number";
414
+ };
415
+ };
416
+ readonly optional: Record<never, never>;
417
+ };
418
+ readonly min_size: {
419
+ readonly is: "object";
420
+ readonly required: {
421
+ readonly check: {
422
+ readonly is: "literal";
423
+ readonly values: readonly ["min_size"];
424
+ };
425
+ readonly minimum: {
426
+ readonly is: "number";
427
+ };
428
+ };
429
+ readonly optional: Record<never, never>;
430
+ };
431
+ readonly size_equals: {
432
+ readonly is: "object";
433
+ readonly required: {
434
+ readonly check: {
435
+ readonly is: "literal";
436
+ readonly values: readonly ["size_equals"];
437
+ };
438
+ readonly size: {
439
+ readonly is: "number";
440
+ };
441
+ };
442
+ readonly optional: Record<never, never>;
443
+ };
444
+ };
445
+ };
446
+ readonly minimum: 0;
447
+ readonly unique: false;
448
+ };
449
+ readonly governed: {
450
+ readonly is: "literal";
451
+ readonly values: readonly [true];
452
+ };
233
453
  };
234
454
  };
235
455
  readonly relation: {
@@ -263,7 +483,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
263
483
  readonly is: "literal";
264
484
  readonly values: readonly ["record", "bulkWrite"];
265
485
  };
266
- readonly nonEmpty: true;
486
+ readonly minimum: 1;
267
487
  readonly unique: false;
268
488
  }];
269
489
  };
@@ -277,7 +497,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
277
497
  readonly is: "literal";
278
498
  readonly values: readonly ["record", "bulkWrite"];
279
499
  };
280
- readonly nonEmpty: true;
500
+ readonly minimum: 1;
281
501
  readonly unique: false;
282
502
  }];
283
503
  };
@@ -287,7 +507,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
287
507
  readonly is: "literal";
288
508
  readonly values: readonly ["nested", "match", "null", "some", "every", "none"];
289
509
  };
290
- readonly nonEmpty: false;
510
+ readonly minimum: 0;
291
511
  readonly unique: false;
292
512
  };
293
513
  readonly order: {
@@ -299,7 +519,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
299
519
  readonly is: "literal";
300
520
  readonly values: readonly ["limit", "offset", "cursor"];
301
521
  };
302
- readonly nonEmpty: false;
522
+ readonly minimum: 0;
303
523
  readonly unique: false;
304
524
  };
305
525
  readonly reducers: {
@@ -310,7 +530,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
310
530
  readonly is: "literal";
311
531
  readonly values: readonly ["$count"];
312
532
  };
313
- readonly nonEmpty: false;
533
+ readonly minimum: 0;
314
534
  readonly unique: false;
315
535
  }, {
316
536
  readonly is: "object";
@@ -321,7 +541,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
321
541
  readonly is: "literal";
322
542
  readonly values: readonly ["$count"];
323
543
  };
324
- readonly nonEmpty: false;
544
+ readonly minimum: 0;
325
545
  readonly unique: false;
326
546
  };
327
547
  readonly scopes: {
@@ -330,7 +550,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
330
550
  readonly is: "literal";
331
551
  readonly values: readonly ["record", "bulkWrite"];
332
552
  };
333
- readonly nonEmpty: true;
553
+ readonly minimum: 1;
334
554
  readonly unique: false;
335
555
  };
336
556
  };
@@ -345,7 +565,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
345
565
  readonly is: "literal";
346
566
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
347
567
  };
348
- readonly nonEmpty: false;
568
+ readonly minimum: 0;
349
569
  readonly unique: false;
350
570
  }, {
351
571
  readonly is: "object";
@@ -356,16 +576,16 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
356
576
  readonly is: "literal";
357
577
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
358
578
  };
359
- readonly nonEmpty: false;
579
+ readonly minimum: 0;
360
580
  readonly unique: false;
361
581
  };
362
582
  readonly scopes: {
363
583
  readonly is: "list";
364
584
  readonly item: {
365
585
  readonly is: "literal";
366
- readonly values: readonly ["nested", "bulkWrite"];
586
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
367
587
  };
368
- readonly nonEmpty: true;
588
+ readonly minimum: 1;
369
589
  readonly unique: false;
370
590
  };
371
591
  };
@@ -380,7 +600,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
380
600
  readonly is: "literal";
381
601
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
382
602
  };
383
- readonly nonEmpty: false;
603
+ readonly minimum: 0;
384
604
  readonly unique: false;
385
605
  }, {
386
606
  readonly is: "object";
@@ -391,16 +611,16 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
391
611
  readonly is: "literal";
392
612
  readonly values: readonly ["$create", "$connect", "$connectOrCreate", "$disconnect", "$set", "$update", "$delete", "$upsert"];
393
613
  };
394
- readonly nonEmpty: false;
614
+ readonly minimum: 0;
395
615
  readonly unique: false;
396
616
  };
397
617
  readonly scopes: {
398
618
  readonly is: "list";
399
619
  readonly item: {
400
620
  readonly is: "literal";
401
- readonly values: readonly ["nested", "bulkWrite"];
621
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
402
622
  };
403
- readonly nonEmpty: true;
623
+ readonly minimum: 1;
404
624
  readonly unique: false;
405
625
  };
406
626
  };
@@ -414,7 +634,23 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
414
634
  };
415
635
  };
416
636
  };
417
- readonly optional: Record<never, never>;
637
+ readonly optional: {
638
+ readonly inverse: {
639
+ readonly is: "string";
640
+ };
641
+ readonly referenceFields: {
642
+ readonly is: "list";
643
+ readonly item: {
644
+ readonly is: "string";
645
+ };
646
+ readonly minimum: 1;
647
+ readonly unique: false;
648
+ };
649
+ readonly governed: {
650
+ readonly is: "literal";
651
+ readonly values: readonly [true];
652
+ };
653
+ };
418
654
  };
419
655
  };
420
656
  };
@@ -426,10 +662,10 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
426
662
  readonly item: {
427
663
  readonly is: "string";
428
664
  };
429
- readonly nonEmpty: true;
665
+ readonly minimum: 1;
430
666
  readonly unique: false;
431
667
  };
432
- readonly nonEmpty: false;
668
+ readonly minimum: 0;
433
669
  readonly unique: false;
434
670
  };
435
671
  readonly operations: {
@@ -456,7 +692,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
456
692
  readonly optional: {
457
693
  readonly write: {
458
694
  readonly is: "literal";
459
- readonly values: readonly ["nested", "bulkWrite"];
695
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
460
696
  };
461
697
  };
462
698
  }, {
@@ -464,7 +700,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
464
700
  readonly required: {
465
701
  readonly write: {
466
702
  readonly is: "literal";
467
- readonly values: readonly ["nested", "bulkWrite"];
703
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
468
704
  };
469
705
  };
470
706
  readonly optional: {
@@ -491,7 +727,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
491
727
  readonly optional: {
492
728
  readonly write: {
493
729
  readonly is: "literal";
494
- readonly values: readonly ["nested", "bulkWrite"];
730
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
495
731
  };
496
732
  };
497
733
  }, {
@@ -499,7 +735,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
499
735
  readonly required: {
500
736
  readonly write: {
501
737
  readonly is: "literal";
502
- readonly values: readonly ["nested", "bulkWrite"];
738
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
503
739
  };
504
740
  };
505
741
  readonly optional: {
@@ -526,7 +762,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
526
762
  readonly optional: {
527
763
  readonly write: {
528
764
  readonly is: "literal";
529
- readonly values: readonly ["nested", "bulkWrite"];
765
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
530
766
  };
531
767
  };
532
768
  }, {
@@ -534,7 +770,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
534
770
  readonly required: {
535
771
  readonly write: {
536
772
  readonly is: "literal";
537
- readonly values: readonly ["nested", "bulkWrite"];
773
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
538
774
  };
539
775
  };
540
776
  readonly optional: {
@@ -561,7 +797,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
561
797
  readonly optional: {
562
798
  readonly write: {
563
799
  readonly is: "literal";
564
- readonly values: readonly ["nested", "bulkWrite"];
800
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
565
801
  };
566
802
  };
567
803
  }, {
@@ -569,7 +805,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
569
805
  readonly required: {
570
806
  readonly write: {
571
807
  readonly is: "literal";
572
- readonly values: readonly ["nested", "bulkWrite"];
808
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
573
809
  };
574
810
  };
575
811
  readonly optional: {
@@ -602,7 +838,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
602
838
  readonly optional: {
603
839
  readonly write: {
604
840
  readonly is: "literal";
605
- readonly values: readonly ["nested", "bulkWrite"];
841
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
606
842
  };
607
843
  };
608
844
  }, {
@@ -610,7 +846,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
610
846
  readonly required: {
611
847
  readonly write: {
612
848
  readonly is: "literal";
613
- readonly values: readonly ["nested", "bulkWrite"];
849
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
614
850
  };
615
851
  };
616
852
  readonly optional: {
@@ -637,7 +873,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
637
873
  readonly optional: {
638
874
  readonly write: {
639
875
  readonly is: "literal";
640
- readonly values: readonly ["nested", "bulkWrite"];
876
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
641
877
  };
642
878
  };
643
879
  }, {
@@ -645,7 +881,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
645
881
  readonly required: {
646
882
  readonly write: {
647
883
  readonly is: "literal";
648
- readonly values: readonly ["nested", "bulkWrite"];
884
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
649
885
  };
650
886
  };
651
887
  readonly optional: {
@@ -672,7 +908,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
672
908
  readonly optional: {
673
909
  readonly write: {
674
910
  readonly is: "literal";
675
- readonly values: readonly ["nested", "bulkWrite"];
911
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
676
912
  };
677
913
  };
678
914
  }, {
@@ -680,7 +916,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
680
916
  readonly required: {
681
917
  readonly write: {
682
918
  readonly is: "literal";
683
- readonly values: readonly ["nested", "bulkWrite"];
919
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
684
920
  };
685
921
  };
686
922
  readonly optional: {
@@ -713,7 +949,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
713
949
  readonly optional: {
714
950
  readonly write: {
715
951
  readonly is: "literal";
716
- readonly values: readonly ["nested", "bulkWrite"];
952
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
717
953
  };
718
954
  };
719
955
  }, {
@@ -721,7 +957,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
721
957
  readonly required: {
722
958
  readonly write: {
723
959
  readonly is: "literal";
724
- readonly values: readonly ["nested", "bulkWrite"];
960
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
725
961
  };
726
962
  };
727
963
  readonly optional: {
@@ -748,7 +984,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
748
984
  readonly optional: {
749
985
  readonly write: {
750
986
  readonly is: "literal";
751
- readonly values: readonly ["nested", "bulkWrite"];
987
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
752
988
  };
753
989
  };
754
990
  }, {
@@ -756,7 +992,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
756
992
  readonly required: {
757
993
  readonly write: {
758
994
  readonly is: "literal";
759
- readonly values: readonly ["nested", "bulkWrite"];
995
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
760
996
  };
761
997
  };
762
998
  readonly optional: {
@@ -783,7 +1019,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
783
1019
  readonly optional: {
784
1020
  readonly write: {
785
1021
  readonly is: "literal";
786
- readonly values: readonly ["nested", "bulkWrite"];
1022
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
787
1023
  };
788
1024
  };
789
1025
  }, {
@@ -791,7 +1027,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
791
1027
  readonly required: {
792
1028
  readonly write: {
793
1029
  readonly is: "literal";
794
- readonly values: readonly ["nested", "bulkWrite"];
1030
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
795
1031
  };
796
1032
  };
797
1033
  readonly optional: {
@@ -818,7 +1054,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
818
1054
  readonly optional: {
819
1055
  readonly write: {
820
1056
  readonly is: "literal";
821
- readonly values: readonly ["nested", "bulkWrite"];
1057
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
822
1058
  };
823
1059
  };
824
1060
  }, {
@@ -826,7 +1062,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
826
1062
  readonly required: {
827
1063
  readonly write: {
828
1064
  readonly is: "literal";
829
- readonly values: readonly ["nested", "bulkWrite"];
1065
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
830
1066
  };
831
1067
  };
832
1068
  readonly optional: {
@@ -859,7 +1095,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
859
1095
  readonly optional: {
860
1096
  readonly write: {
861
1097
  readonly is: "literal";
862
- readonly values: readonly ["nested", "bulkWrite"];
1098
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
863
1099
  };
864
1100
  };
865
1101
  }, {
@@ -867,7 +1103,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
867
1103
  readonly required: {
868
1104
  readonly write: {
869
1105
  readonly is: "literal";
870
- readonly values: readonly ["nested", "bulkWrite"];
1106
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
871
1107
  };
872
1108
  };
873
1109
  readonly optional: {
@@ -894,7 +1130,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
894
1130
  readonly optional: {
895
1131
  readonly write: {
896
1132
  readonly is: "literal";
897
- readonly values: readonly ["nested", "bulkWrite"];
1133
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
898
1134
  };
899
1135
  };
900
1136
  }, {
@@ -902,7 +1138,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
902
1138
  readonly required: {
903
1139
  readonly write: {
904
1140
  readonly is: "literal";
905
- readonly values: readonly ["nested", "bulkWrite"];
1141
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
906
1142
  };
907
1143
  };
908
1144
  readonly optional: {
@@ -929,7 +1165,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
929
1165
  readonly optional: {
930
1166
  readonly write: {
931
1167
  readonly is: "literal";
932
- readonly values: readonly ["nested", "bulkWrite"];
1168
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
933
1169
  };
934
1170
  };
935
1171
  }, {
@@ -937,7 +1173,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
937
1173
  readonly required: {
938
1174
  readonly write: {
939
1175
  readonly is: "literal";
940
- readonly values: readonly ["nested", "bulkWrite"];
1176
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
941
1177
  };
942
1178
  };
943
1179
  readonly optional: {
@@ -964,7 +1200,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
964
1200
  readonly optional: {
965
1201
  readonly write: {
966
1202
  readonly is: "literal";
967
- readonly values: readonly ["nested", "bulkWrite"];
1203
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
968
1204
  };
969
1205
  };
970
1206
  }, {
@@ -972,7 +1208,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
972
1208
  readonly required: {
973
1209
  readonly write: {
974
1210
  readonly is: "literal";
975
- readonly values: readonly ["nested", "bulkWrite"];
1211
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
976
1212
  };
977
1213
  };
978
1214
  readonly optional: {
@@ -1005,7 +1241,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1005
1241
  readonly optional: {
1006
1242
  readonly write: {
1007
1243
  readonly is: "literal";
1008
- readonly values: readonly ["nested", "bulkWrite"];
1244
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
1009
1245
  };
1010
1246
  };
1011
1247
  }, {
@@ -1013,7 +1249,7 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1013
1249
  readonly required: {
1014
1250
  readonly write: {
1015
1251
  readonly is: "literal";
1016
- readonly values: readonly ["nested", "bulkWrite"];
1252
+ readonly values: readonly ["nested", "bulkWrite", "loopback"];
1017
1253
  };
1018
1254
  };
1019
1255
  readonly optional: {
@@ -1029,7 +1265,49 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1029
1265
  };
1030
1266
  };
1031
1267
  };
1032
- readonly optional: Record<never, never>;
1268
+ readonly optional: {
1269
+ readonly createRequirements: {
1270
+ readonly is: "object";
1271
+ readonly required: {};
1272
+ readonly optional: {
1273
+ readonly required: {
1274
+ readonly is: "list";
1275
+ readonly item: {
1276
+ readonly is: "string";
1277
+ };
1278
+ readonly minimum: 1;
1279
+ readonly unique: false;
1280
+ };
1281
+ readonly oneOf: {
1282
+ readonly is: "list";
1283
+ readonly item: {
1284
+ readonly is: "list";
1285
+ readonly item: {
1286
+ readonly is: "string";
1287
+ };
1288
+ readonly minimum: 2;
1289
+ readonly unique: false;
1290
+ };
1291
+ readonly minimum: 1;
1292
+ readonly unique: false;
1293
+ };
1294
+ readonly parentSupplies: {
1295
+ readonly is: "registry";
1296
+ readonly entry: {
1297
+ readonly is: "registry";
1298
+ readonly entry: {
1299
+ readonly is: "list";
1300
+ readonly item: {
1301
+ readonly is: "string";
1302
+ };
1303
+ readonly minimum: 1;
1304
+ readonly unique: false;
1305
+ };
1306
+ };
1307
+ };
1308
+ };
1309
+ };
1310
+ };
1033
1311
  };
1034
1312
  };
1035
1313
  readonly limits: {
@@ -1050,6 +1328,9 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1050
1328
  readonly maxBooleanNodes: {
1051
1329
  readonly is: "number";
1052
1330
  };
1331
+ readonly maxJsonDepth: {
1332
+ readonly is: "number";
1333
+ };
1053
1334
  };
1054
1335
  readonly optional: Record<never, never>;
1055
1336
  };
@@ -1077,6 +1358,232 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1077
1358
  readonly is: "literal";
1078
1359
  readonly values: readonly ["uniform"];
1079
1360
  };
1361
+ readonly access: {
1362
+ readonly is: "object";
1363
+ readonly required: {};
1364
+ readonly optional: {
1365
+ readonly url: {
1366
+ readonly is: "route";
1367
+ readonly form: "url";
1368
+ };
1369
+ readonly verbs: {
1370
+ readonly is: "object";
1371
+ readonly required: {};
1372
+ readonly optional: {
1373
+ readonly signIn: {
1374
+ readonly is: "object";
1375
+ readonly required: {
1376
+ readonly method: {
1377
+ readonly is: "literal";
1378
+ readonly values: readonly ["GET", "POST"];
1379
+ };
1380
+ readonly path: {
1381
+ readonly is: "route";
1382
+ readonly form: "path";
1383
+ };
1384
+ readonly result: {
1385
+ readonly is: "jsonSchema";
1386
+ };
1387
+ };
1388
+ readonly optional: {
1389
+ readonly args: {
1390
+ readonly is: "jsonSchema";
1391
+ };
1392
+ };
1393
+ };
1394
+ readonly signUp: {
1395
+ readonly is: "object";
1396
+ readonly required: {
1397
+ readonly method: {
1398
+ readonly is: "literal";
1399
+ readonly values: readonly ["GET", "POST"];
1400
+ };
1401
+ readonly path: {
1402
+ readonly is: "route";
1403
+ readonly form: "path";
1404
+ };
1405
+ readonly result: {
1406
+ readonly is: "jsonSchema";
1407
+ };
1408
+ };
1409
+ readonly optional: {
1410
+ readonly args: {
1411
+ readonly is: "jsonSchema";
1412
+ };
1413
+ };
1414
+ };
1415
+ readonly signOut: {
1416
+ readonly is: "object";
1417
+ readonly required: {
1418
+ readonly method: {
1419
+ readonly is: "literal";
1420
+ readonly values: readonly ["GET", "POST"];
1421
+ };
1422
+ readonly path: {
1423
+ readonly is: "route";
1424
+ readonly form: "path";
1425
+ };
1426
+ readonly result: {
1427
+ readonly is: "jsonSchema";
1428
+ };
1429
+ };
1430
+ readonly optional: {
1431
+ readonly args: {
1432
+ readonly is: "jsonSchema";
1433
+ };
1434
+ };
1435
+ };
1436
+ readonly resetPassword: {
1437
+ readonly is: "object";
1438
+ readonly required: {
1439
+ readonly method: {
1440
+ readonly is: "literal";
1441
+ readonly values: readonly ["GET", "POST"];
1442
+ };
1443
+ readonly path: {
1444
+ readonly is: "route";
1445
+ readonly form: "path";
1446
+ };
1447
+ readonly result: {
1448
+ readonly is: "jsonSchema";
1449
+ };
1450
+ };
1451
+ readonly optional: {
1452
+ readonly args: {
1453
+ readonly is: "jsonSchema";
1454
+ };
1455
+ };
1456
+ };
1457
+ readonly me: {
1458
+ readonly is: "object";
1459
+ readonly required: {
1460
+ readonly method: {
1461
+ readonly is: "literal";
1462
+ readonly values: readonly ["GET", "POST"];
1463
+ };
1464
+ readonly path: {
1465
+ readonly is: "route";
1466
+ readonly form: "path";
1467
+ };
1468
+ readonly result: {
1469
+ readonly is: "jsonSchema";
1470
+ };
1471
+ };
1472
+ readonly optional: {
1473
+ readonly args: {
1474
+ readonly is: "jsonSchema";
1475
+ };
1476
+ };
1477
+ };
1478
+ readonly switchUser: {
1479
+ readonly is: "object";
1480
+ readonly required: {
1481
+ readonly method: {
1482
+ readonly is: "literal";
1483
+ readonly values: readonly ["GET", "POST"];
1484
+ };
1485
+ readonly path: {
1486
+ readonly is: "route";
1487
+ readonly form: "path";
1488
+ };
1489
+ readonly result: {
1490
+ readonly is: "jsonSchema";
1491
+ };
1492
+ };
1493
+ readonly optional: {
1494
+ readonly args: {
1495
+ readonly is: "jsonSchema";
1496
+ };
1497
+ };
1498
+ };
1499
+ readonly lock: {
1500
+ readonly is: "object";
1501
+ readonly required: {
1502
+ readonly method: {
1503
+ readonly is: "literal";
1504
+ readonly values: readonly ["GET", "POST"];
1505
+ };
1506
+ readonly path: {
1507
+ readonly is: "route";
1508
+ readonly form: "path";
1509
+ };
1510
+ readonly result: {
1511
+ readonly is: "jsonSchema";
1512
+ };
1513
+ };
1514
+ readonly optional: {
1515
+ readonly args: {
1516
+ readonly is: "jsonSchema";
1517
+ };
1518
+ };
1519
+ };
1520
+ readonly setPin: {
1521
+ readonly is: "object";
1522
+ readonly required: {
1523
+ readonly method: {
1524
+ readonly is: "literal";
1525
+ readonly values: readonly ["GET", "POST"];
1526
+ };
1527
+ readonly path: {
1528
+ readonly is: "route";
1529
+ readonly form: "path";
1530
+ };
1531
+ readonly result: {
1532
+ readonly is: "jsonSchema";
1533
+ };
1534
+ };
1535
+ readonly optional: {
1536
+ readonly args: {
1537
+ readonly is: "jsonSchema";
1538
+ };
1539
+ };
1540
+ };
1541
+ readonly enrollDevice: {
1542
+ readonly is: "object";
1543
+ readonly required: {
1544
+ readonly method: {
1545
+ readonly is: "literal";
1546
+ readonly values: readonly ["GET", "POST"];
1547
+ };
1548
+ readonly path: {
1549
+ readonly is: "route";
1550
+ readonly form: "path";
1551
+ };
1552
+ readonly result: {
1553
+ readonly is: "jsonSchema";
1554
+ };
1555
+ };
1556
+ readonly optional: {
1557
+ readonly args: {
1558
+ readonly is: "jsonSchema";
1559
+ };
1560
+ };
1561
+ };
1562
+ readonly revokeDevice: {
1563
+ readonly is: "object";
1564
+ readonly required: {
1565
+ readonly method: {
1566
+ readonly is: "literal";
1567
+ readonly values: readonly ["GET", "POST"];
1568
+ };
1569
+ readonly path: {
1570
+ readonly is: "route";
1571
+ readonly form: "path";
1572
+ };
1573
+ readonly result: {
1574
+ readonly is: "jsonSchema";
1575
+ };
1576
+ };
1577
+ readonly optional: {
1578
+ readonly args: {
1579
+ readonly is: "jsonSchema";
1580
+ };
1581
+ };
1582
+ };
1583
+ };
1584
+ };
1585
+ };
1586
+ };
1080
1587
  };
1081
1588
  };
1082
1589
  /**
@@ -1084,9 +1591,9 @@ export declare const CLIENT_CONTRACT_STRUCTURE: {
1084
1591
  * first defect found, as a `path` in JSONPath form (`$.resources.Spell`) and
1085
1592
  * a `message` that begins with that path in quotes.
1086
1593
  */
1087
- export type ClientContractStructureVerdict = {
1594
+ type ClientContractStructureVerdict = {
1088
1595
  readonly valid: true;
1089
- readonly contract: ClientContract;
1596
+ readonly contract: AvContractClient;
1090
1597
  } | {
1091
1598
  readonly valid: false;
1092
1599
  readonly path: string;