@astrale-os/kernel-dsl 1.0.0-beta.12 → 1.0.0-beta.14

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 (152) hide show
  1. package/dist/v1/addressing/definition-ref.js +21 -37
  2. package/dist/v1/addressing/key.js +2 -1
  3. package/dist/v1/addressing/ordering.d.ts +2 -0
  4. package/dist/v1/addressing/ordering.js +4 -0
  5. package/dist/v1/addressing/patterns.d.ts +1 -1
  6. package/dist/v1/addressing/patterns.js +2 -6
  7. package/dist/v1/builder/class/authoring.js +5 -28
  8. package/dist/v1/builder/class/property.d.ts +3 -9
  9. package/dist/v1/builder/class/property.js +1 -0
  10. package/dist/v1/builder/lowering/class.js +5 -1
  11. package/dist/v1/builder/lowering/policy.js +1 -0
  12. package/dist/v1/builder/lowering/schema/context.js +2 -4
  13. package/dist/v1/builder/lowering/value/path.js +2 -4
  14. package/dist/v1/builder/lowering/value/zod.js +1 -3
  15. package/dist/v1/builder/policy/authoring.js +3 -2
  16. package/dist/v1/builder/schema/define.d.ts +0 -1
  17. package/dist/v1/builder/schema/diagnostic.d.ts +2 -1
  18. package/dist/v1/builder/schema/diagnostic.js +5 -10
  19. package/dist/v1/builder/schema/projection.d.ts +1 -1
  20. package/dist/v1/builder/value/full-match.d.ts +0 -1
  21. package/dist/v1/builder/value/full-match.js +0 -1
  22. package/dist/v1/bundle/codec.js +4 -6
  23. package/dist/v1/bundle/diagnostic.d.ts +2 -0
  24. package/dist/v1/bundle/diagnostic.js +9 -7
  25. package/dist/v1/bundle/structure.js +4 -6
  26. package/dist/v1/compiled/admission/diagnostic.d.ts +1 -1
  27. package/dist/v1/compiled/admission/diagnostic.js +1 -3
  28. package/dist/v1/compiled/admission/revision.d.ts +9 -1
  29. package/dist/v1/compiled/admission/revision.js +6 -3
  30. package/dist/v1/compiled/admission/semantics/class.d.ts +4 -1
  31. package/dist/v1/compiled/admission/semantics/class.js +4 -8
  32. package/dist/v1/compiled/admission/semantics/core.d.ts +1 -24
  33. package/dist/v1/compiled/admission/semantics/core.js +54 -34
  34. package/dist/v1/compiled/admission/semantics/edge.d.ts +2 -4
  35. package/dist/v1/compiled/admission/semantics/edge.js +6 -65
  36. package/dist/v1/compiled/admission/semantics/policy/callable.js +0 -2
  37. package/dist/v1/compiled/admission/semantics/policy/contracts.d.ts +5 -20
  38. package/dist/v1/compiled/admission/semantics/policy/contracts.js +8 -21
  39. package/dist/v1/compiled/admission/semantics/policy/parity.js +13 -22
  40. package/dist/v1/compiled/admission/semantics/policy/pattern.d.ts +4 -1
  41. package/dist/v1/compiled/admission/semantics/policy/pattern.js +4 -16
  42. package/dist/v1/compiled/admission/semantics/policy/typing.d.ts +2 -24
  43. package/dist/v1/compiled/admission/semantics/policy/typing.js +19 -201
  44. package/dist/v1/compiled/compiler/compile.js +6 -8
  45. package/dist/v1/compiled/diagnostic.js +2 -3
  46. package/dist/v1/compiled/loader/load.d.ts +3 -2
  47. package/dist/v1/compiled/loader/load.js +10 -44
  48. package/dist/v1/domain/create.js +3 -5
  49. package/dist/v1/domain/namespace/member-collection.js +4 -6
  50. package/dist/v1/domain/validation/create.d.ts +4 -2
  51. package/dist/v1/domain/validation/create.js +21 -69
  52. package/dist/v1/language/.spec/schemas/value-schema.schema.json +22 -0
  53. package/dist/v1/language/class/inheritance.d.ts +18 -0
  54. package/dist/v1/language/class/inheritance.js +73 -0
  55. package/dist/v1/language/class/model/class.d.ts +4 -4
  56. package/dist/v1/language/class/model/edge.d.ts +2 -2
  57. package/dist/v1/language/class/model/property.d.ts +16 -7
  58. package/dist/v1/language/class/property-values.js +2 -4
  59. package/dist/v1/language/core/facts.d.ts +72 -0
  60. package/dist/v1/language/core/facts.js +95 -0
  61. package/dist/v1/language/definition/metadata.d.ts +5 -0
  62. package/dist/v1/language/definition/metadata.js +7 -0
  63. package/dist/v1/language/policy/analysis/branches.d.ts +8 -0
  64. package/dist/v1/language/policy/analysis/branches.js +2 -1
  65. package/dist/v1/language/policy/analysis/budgets.d.ts +13 -1
  66. package/dist/v1/language/policy/analysis/budgets.js +104 -0
  67. package/dist/v1/language/policy/analysis/typing.d.ts +48 -0
  68. package/dist/v1/language/policy/analysis/typing.js +338 -0
  69. package/dist/v1/language/policy/model/policy.d.ts +5 -5
  70. package/dist/v1/language/policy/normalization/normalize.js +17 -16
  71. package/dist/v1/language/validation/diagnostic.d.ts +15 -1
  72. package/dist/v1/language/validation/diagnostic.js +21 -0
  73. package/dist/v1/language/validation/rule.d.ts +26 -0
  74. package/dist/v1/language/validation/rule.js +116 -0
  75. package/dist/v1/language/value/compile/fields.js +4 -8
  76. package/dist/v1/language/value/profile/meta-schema.compiled.js +4 -1
  77. package/dist/v1/language/value/profile/rules.js +17 -43
  78. package/dist/v1/language/value/profile/validate.js +1 -10
  79. package/dist/v1/language/value/profile/vocabulary.d.ts +35 -2
  80. package/dist/v1/language/value/profile/vocabulary.js +52 -5
  81. package/dist/v1/language/value/reference/recursion.js +2 -22
  82. package/dist/v1/language/value/reference/registry.index.js +2 -1
  83. package/dist/v1/language/value/syntax/keywords.d.ts +3 -3
  84. package/dist/v1/language/value/syntax/keywords.js +4 -20
  85. package/dist/v1/language/value/syntax/node-path/validate.js +2 -3
  86. package/dist/v1/language/value/syntax/pointer.d.ts +2 -0
  87. package/dist/v1/language/value/syntax/pointer.js +5 -2
  88. package/dist/v1/language/value/syntax/walk.d.ts +2 -0
  89. package/dist/v1/language/value/syntax/walk.js +19 -20
  90. package/dist/v1/schema/.spec/schemas/domain-schema.schema.json +2336 -0
  91. package/dist/v1/schema/analysis/class.js +33 -15
  92. package/dist/v1/schema/compatibility/api.d.ts +1 -1
  93. package/dist/v1/schema/compatibility/coordinate.js +3 -3
  94. package/dist/v1/schema/compatibility/diff.js +2 -4
  95. package/dist/v1/schema/compatibility/meaning/footprint.js +16 -50
  96. package/dist/v1/schema/compatibility/model.d.ts +5 -0
  97. package/dist/v1/schema/compatibility/structure/requirements.js +26 -58
  98. package/dist/v1/schema/compatibility/walk.d.ts +17 -0
  99. package/dist/v1/schema/compatibility/walk.js +41 -0
  100. package/dist/v1/schema/diagnostic.d.ts +17 -3
  101. package/dist/v1/schema/diagnostic.js +14 -11
  102. package/dist/v1/schema/index.d.ts +3 -1
  103. package/dist/v1/schema/index.js +1 -0
  104. package/dist/v1/schema/model/schema.d.ts +19 -1
  105. package/dist/v1/schema/normalization/domain.js +1 -0
  106. package/dist/v1/schema/resolution/closure.js +2 -1
  107. package/dist/v1/schema/resolution/context.js +6 -6
  108. package/dist/v1/schema/rule.d.ts +29 -0
  109. package/dist/v1/schema/rule.js +415 -0
  110. package/dist/v1/schema/validation/callable.d.ts +4 -1
  111. package/dist/v1/schema/validation/callable.js +13 -6
  112. package/dist/v1/schema/validation/class.js +46 -96
  113. package/dist/v1/schema/validation/core.js +68 -202
  114. package/dist/v1/schema/validation/domain.js +1 -10
  115. package/dist/v1/schema/validation/domain.json-schema.d.ts +15 -0
  116. package/dist/v1/schema/validation/domain.json-schema.js +183 -0
  117. package/dist/v1/schema/validation/domain.structure.d.ts +4018 -0
  118. package/dist/v1/schema/validation/domain.structure.js +343 -155
  119. package/dist/v1/schema/validation/json.json-schema.d.ts +24 -0
  120. package/dist/v1/schema/validation/json.json-schema.js +36 -0
  121. package/dist/v1/schema/validation/policy/budgets.js +5 -112
  122. package/dist/v1/schema/validation/policy/context.d.ts +5 -3
  123. package/dist/v1/schema/validation/policy/context.js +5 -3
  124. package/dist/v1/schema/validation/policy/objects.d.ts +1 -1
  125. package/dist/v1/schema/validation/policy/objects.js +6 -14
  126. package/dist/v1/schema/validation/policy/references.js +10 -27
  127. package/dist/v1/schema/validation/policy/typing.d.ts +3 -18
  128. package/dist/v1/schema/validation/policy/typing.js +22 -356
  129. package/dist/v1/schema/validation/policy/uses.d.ts +1 -1
  130. package/dist/v1/schema/validation/policy/uses.js +9 -25
  131. package/dist/v1/schema/validation/policy/validate.js +3 -2
  132. package/dist/v1/schema/validation/value-api.d.ts +12 -1
  133. package/dist/v1/schema/validation/value-api.js +12 -3
  134. package/dist/v1/schema/validation/value.js +8 -10
  135. package/dist/v1/schema/validation/value.json-schema.d.ts +51 -0
  136. package/dist/v1/schema/validation/value.json-schema.js +126 -0
  137. package/dist/v1/schema/validation/view.js +4 -8
  138. package/package.json +3 -1
  139. package/dist/v1/compiled/admission/semantics/cardinality.d.ts +0 -5
  140. package/dist/v1/compiled/admission/semantics/cardinality.js +0 -128
  141. package/dist/v1/compiled/admission/semantics/policy/equality.d.ts +0 -8
  142. package/dist/v1/compiled/admission/semantics/policy/equality.js +0 -27
  143. package/dist/v1/compiled/admission/semantics/policy/measure.d.ts +0 -9
  144. package/dist/v1/compiled/admission/semantics/policy/measure.js +0 -81
  145. package/dist/v1/compiled/admission/semantics/policy/variants.d.ts +0 -10
  146. package/dist/v1/compiled/admission/semantics/policy/variants.js +0 -65
  147. package/dist/v1/language/class/index.d.ts +0 -8
  148. package/dist/v1/language/class/index.js +0 -1
  149. package/dist/v1/language/core/index.d.ts +0 -2
  150. package/dist/v1/language/core/index.js +0 -1
  151. package/dist/v1/language/value/index.d.ts +0 -11
  152. package/dist/v1/language/value/index.js +0 -8
@@ -1,2 +1,4020 @@
1
+ import type { Value as JsonValue } from '@astrale-os/kernel-dsl/value';
2
+ import { type ZodArray, type ZodType, type core as zodCore } from 'zod';
3
+ import type { PolicyRef } from '../../addressing/index.js';
4
+ import type { FunctionAuth } from '../../language/callable/model/callable.js';
5
+ import type { PolicyCheckExpression, PolicyPatternExpression } from '../../language/policy/model/policy.js';
1
6
  import type { DomainSchemaIR } from '../model/schema.js';
7
+ /**
8
+ * What the JSON Schema of the document says of one part of the structure that zod cannot derive:
9
+ * its name among the definitions (`id`), the keywords stating a refinement, or the named rule of a
10
+ * check JSON Schema cannot state. `domain.json-schema.ts` renders the structure with it.
11
+ */
12
+ export type JsonSchemaAnnotation = zodCore.JSONSchema.JSONSchema & {
13
+ readonly id?: string;
14
+ readonly 'x-astrale-rule'?: StructureRule;
15
+ };
16
+ export declare const documentJsonSchema: zodCore.$ZodRegistry<JsonSchemaAnnotation, zodCore.$ZodType<unknown, unknown, zodCore.$ZodTypeInternals<unknown, unknown>>>;
17
+ /**
18
+ * The checks of the structure JSON Schema cannot state. The published document names each with the
19
+ * positions it constrains, so that a validator of the document knows what it leaves to the Kernel.
20
+ */
21
+ export declare const structureRules: {
22
+ readonly 'unique-tuple-set': {
23
+ readonly code: 'STRUCTURE_DUPLICATE_ITEM';
24
+ readonly statement: 'A unique tuple is a set of fields: two tuples naming the same fields in another order are one tuple, repeated.';
25
+ };
26
+ readonly 'length-in-utf16-code-units': {
27
+ readonly code: 'STRUCTURE_MAXIMUM';
28
+ readonly statement: 'A maxLength counts UTF-16 code units, where JSON Schema counts code points: a string within the bound in code points and beyond it in code units is refused.';
29
+ };
30
+ };
31
+ export type StructureRule = keyof typeof structureRules;
32
+ /** Only an authorized callable declares a policy: an anonymous or authenticated one has none. */
33
+ type AuthorizedPolicy = {
34
+ readonly auth: Exclude<FunctionAuth, 'authorized'>;
35
+ readonly policy?: never;
36
+ } | {
37
+ readonly auth: 'authorized';
38
+ };
39
+ /** `Value` with `Fields` in place of its own, member by member of a union. */
40
+ type With<Value, Fields> = Value extends unknown ? Omit<Value, keyof Fields> & Fields : never;
41
+ /** A directed Edge has a source and a target endpoint; an undirected one, a pair of endpoints. */
42
+ type OrientedEndpoints<Edge extends {
43
+ readonly endpoints: unknown;
44
+ }> = With<Edge, {
45
+ readonly orientation: 'directed';
46
+ readonly endpoints: Exclude<Edge['endpoints'], readonly unknown[]>;
47
+ }> | With<Edge, {
48
+ readonly orientation: 'undirected';
49
+ readonly endpoints: Extract<Edge['endpoints'], readonly unknown[]>;
50
+ }>;
51
+ /** Only a directed Edge declares unique tuples. */
52
+ type DirectedUnique<Edge> = Extract<Edge, {
53
+ readonly orientation: 'directed';
54
+ }> | With<Extract<Edge, {
55
+ readonly orientation: 'undirected';
56
+ }>, {
57
+ readonly unique?: never;
58
+ }>;
59
+ /** Only a directed Edge is acyclic. */
60
+ type DirectedAcyclic<Edge> = Extract<Edge, {
61
+ readonly orientation: 'directed';
62
+ }> | With<Extract<Edge, {
63
+ readonly orientation: 'undirected';
64
+ }>, {
65
+ readonly constraints: {
66
+ readonly noSelf?: true;
67
+ readonly acyclic?: never;
68
+ };
69
+ }>;
70
+ /** The structure of an authored Domain schema document, the single source of its JSON Schema. */
71
+ export declare const domainSchemaStructure: import("zod").ZodObject<{
72
+ format: import("zod").ZodLiteral<"astrale.dsl">;
73
+ version: import("zod").ZodLiteral<"v1">;
74
+ origin: import("zod").ZodString;
75
+ name: import("zod").ZodString;
76
+ entrypoint: import("zod").ZodOptional<import("zod").ZodObject<{
77
+ origin: import("zod").ZodString;
78
+ kind: import("zod").ZodLiteral<"view">;
79
+ name: import("zod").ZodString;
80
+ }, zodCore.$strict>>;
81
+ dependencies: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
82
+ origin: import("zod").ZodString;
83
+ revision: import("zod").ZodString;
84
+ }, zodCore.$strict>>;
85
+ classes: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
86
+ ref: import("zod").ZodObject<{
87
+ origin: import("zod").ZodString;
88
+ kind: import("zod").ZodLiteral<"class">;
89
+ name: import("zod").ZodString;
90
+ }, zodCore.$strict>;
91
+ kind: import("zod").ZodLiteral<"node">;
92
+ abstract: import("zod").ZodBoolean;
93
+ inheritance: import("zod").ZodOptional<import("zod").ZodEnum<{
94
+ final: "final";
95
+ open: "open";
96
+ }>>;
97
+ description: import("zod").ZodOptional<import("zod").ZodString>;
98
+ extends: ZodArray<import("zod").ZodObject<{
99
+ origin: import("zod").ZodString;
100
+ kind: import("zod").ZodLiteral<"class">;
101
+ name: import("zod").ZodString;
102
+ }, zodCore.$strict>>;
103
+ properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
104
+ schema: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
105
+ required: import("zod").ZodBoolean;
106
+ auto: import("zod").ZodOptional<import("zod").ZodObject<{
107
+ on: ZodType<["create" | "update", ...("create" | "update")[]], ["create" | "update", ...("create" | "update")[]], zodCore.$ZodTypeInternals<["create" | "update", ...("create" | "update")[]], ["create" | "update", ...("create" | "update")[]]>>;
108
+ set: import("zod").ZodLiteral<"instant">;
109
+ }, zodCore.$strict>>;
110
+ immutable: import("zod").ZodOptional<import("zod").ZodEnum<{
111
+ create: "create";
112
+ once: "once";
113
+ }>>;
114
+ description: import("zod").ZodOptional<import("zod").ZodString>;
115
+ state: import("zod").ZodOptional<import("zod").ZodObject<{
116
+ initial: import("zod").ZodString;
117
+ transitions: import("zod").ZodCustom<Readonly<Record<string, Readonly<Record<string, string>>>>, Readonly<Record<string, Readonly<Record<string, string>>>>>;
118
+ }, zodCore.$strict>>;
119
+ }, zodCore.$strict>>;
120
+ methods: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
121
+ description: import("zod").ZodOptional<import("zod").ZodString>;
122
+ input: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
123
+ output: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
124
+ mode: import("zod").ZodLiteral<"value">;
125
+ schema: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
126
+ }, zodCore.$strict>, import("zod").ZodObject<{
127
+ mode: import("zod").ZodLiteral<"stream">;
128
+ item: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
129
+ }, zodCore.$strict>, import("zod").ZodObject<{
130
+ mode: import("zod").ZodLiteral<"binary">;
131
+ }, zodCore.$strict>], "mode">;
132
+ execution: import("zod").ZodOptional<import("zod").ZodObject<{
133
+ durable: import("zod").ZodBoolean;
134
+ }, zodCore.$strict>>;
135
+ admission: import("zod").ZodOptional<import("zod").ZodObject<{
136
+ maxAge: import("zod").ZodNumber;
137
+ }, zodCore.$strict>>;
138
+ auth: import("zod").ZodEnum<{
139
+ anonymous: "anonymous";
140
+ authenticated: "authenticated";
141
+ authorized: "authorized";
142
+ }>;
143
+ policy: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<true>, ZodType<PolicyCheckExpression<PolicyRef, {
144
+ kind: "self";
145
+ } | {
146
+ kind: "input";
147
+ field: string;
148
+ } | {
149
+ kind: "ref";
150
+ ref: {
151
+ origin: string;
152
+ kind: "core";
153
+ name: string;
154
+ } | {
155
+ kind: "method";
156
+ owner: {
157
+ origin: string;
158
+ kind: "class";
159
+ name: string;
160
+ };
161
+ name: string;
162
+ } | {
163
+ origin: string;
164
+ kind: "class";
165
+ name: string;
166
+ } | {
167
+ origin: string;
168
+ kind: "function";
169
+ name: string;
170
+ } | {
171
+ origin: string;
172
+ kind: "policy";
173
+ name: string;
174
+ } | {
175
+ origin: string;
176
+ kind: "view";
177
+ name: string;
178
+ };
179
+ }>, unknown, zodCore.$ZodTypeInternals<PolicyCheckExpression<PolicyRef, {
180
+ kind: "self";
181
+ } | {
182
+ kind: "input";
183
+ field: string;
184
+ } | {
185
+ kind: "ref";
186
+ ref: {
187
+ origin: string;
188
+ kind: "core";
189
+ name: string;
190
+ } | {
191
+ kind: "method";
192
+ owner: {
193
+ origin: string;
194
+ kind: "class";
195
+ name: string;
196
+ };
197
+ name: string;
198
+ } | {
199
+ origin: string;
200
+ kind: "class";
201
+ name: string;
202
+ } | {
203
+ origin: string;
204
+ kind: "function";
205
+ name: string;
206
+ } | {
207
+ origin: string;
208
+ kind: "policy";
209
+ name: string;
210
+ } | {
211
+ origin: string;
212
+ kind: "view";
213
+ name: string;
214
+ };
215
+ }>, unknown>>]>>;
216
+ static: import("zod").ZodBoolean;
217
+ abstract: import("zod").ZodBoolean;
218
+ }, zodCore.$strict> & ZodType<{
219
+ description?: string | undefined;
220
+ input: boolean | Record<string, JsonValue>;
221
+ output: {
222
+ mode: "value";
223
+ schema: boolean | Record<string, JsonValue>;
224
+ } | {
225
+ mode: "stream";
226
+ item: boolean | Record<string, JsonValue>;
227
+ } | {
228
+ mode: "binary";
229
+ };
230
+ execution?: {
231
+ durable: boolean;
232
+ } | undefined;
233
+ admission?: {
234
+ maxAge: number;
235
+ } | undefined;
236
+ auth: "anonymous" | "authenticated" | "authorized";
237
+ policy?: true | PolicyCheckExpression<PolicyRef, {
238
+ kind: "self";
239
+ } | {
240
+ kind: "input";
241
+ field: string;
242
+ } | {
243
+ kind: "ref";
244
+ ref: {
245
+ origin: string;
246
+ kind: "core";
247
+ name: string;
248
+ } | {
249
+ kind: "method";
250
+ owner: {
251
+ origin: string;
252
+ kind: "class";
253
+ name: string;
254
+ };
255
+ name: string;
256
+ } | {
257
+ origin: string;
258
+ kind: "class";
259
+ name: string;
260
+ } | {
261
+ origin: string;
262
+ kind: "function";
263
+ name: string;
264
+ } | {
265
+ origin: string;
266
+ kind: "policy";
267
+ name: string;
268
+ } | {
269
+ origin: string;
270
+ kind: "view";
271
+ name: string;
272
+ };
273
+ }> | undefined;
274
+ static: boolean;
275
+ abstract: boolean;
276
+ } & AuthorizedPolicy, {
277
+ description?: string | undefined;
278
+ input: boolean | Record<string, unknown>;
279
+ output: {
280
+ mode: "value";
281
+ schema: boolean | Record<string, unknown>;
282
+ } | {
283
+ mode: "stream";
284
+ item: boolean | Record<string, unknown>;
285
+ } | {
286
+ mode: "binary";
287
+ };
288
+ execution?: {
289
+ durable: boolean;
290
+ } | undefined;
291
+ admission?: {
292
+ maxAge: number;
293
+ } | undefined;
294
+ auth: "anonymous" | "authenticated" | "authorized";
295
+ policy?: unknown;
296
+ static: boolean;
297
+ abstract: boolean;
298
+ }, zodCore.$ZodTypeInternals<{
299
+ description?: string | undefined;
300
+ input: boolean | Record<string, JsonValue>;
301
+ output: {
302
+ mode: "value";
303
+ schema: boolean | Record<string, JsonValue>;
304
+ } | {
305
+ mode: "stream";
306
+ item: boolean | Record<string, JsonValue>;
307
+ } | {
308
+ mode: "binary";
309
+ };
310
+ execution?: {
311
+ durable: boolean;
312
+ } | undefined;
313
+ admission?: {
314
+ maxAge: number;
315
+ } | undefined;
316
+ auth: "anonymous" | "authenticated" | "authorized";
317
+ policy?: true | PolicyCheckExpression<PolicyRef, {
318
+ kind: "self";
319
+ } | {
320
+ kind: "input";
321
+ field: string;
322
+ } | {
323
+ kind: "ref";
324
+ ref: {
325
+ origin: string;
326
+ kind: "core";
327
+ name: string;
328
+ } | {
329
+ kind: "method";
330
+ owner: {
331
+ origin: string;
332
+ kind: "class";
333
+ name: string;
334
+ };
335
+ name: string;
336
+ } | {
337
+ origin: string;
338
+ kind: "class";
339
+ name: string;
340
+ } | {
341
+ origin: string;
342
+ kind: "function";
343
+ name: string;
344
+ } | {
345
+ origin: string;
346
+ kind: "policy";
347
+ name: string;
348
+ } | {
349
+ origin: string;
350
+ kind: "view";
351
+ name: string;
352
+ };
353
+ }> | undefined;
354
+ static: boolean;
355
+ abstract: boolean;
356
+ } & AuthorizedPolicy, {
357
+ description?: string | undefined;
358
+ input: boolean | Record<string, unknown>;
359
+ output: {
360
+ mode: "value";
361
+ schema: boolean | Record<string, unknown>;
362
+ } | {
363
+ mode: "stream";
364
+ item: boolean | Record<string, unknown>;
365
+ } | {
366
+ mode: "binary";
367
+ };
368
+ execution?: {
369
+ durable: boolean;
370
+ } | undefined;
371
+ admission?: {
372
+ maxAge: number;
373
+ } | undefined;
374
+ auth: "anonymous" | "authenticated" | "authorized";
375
+ policy?: unknown;
376
+ static: boolean;
377
+ abstract: boolean;
378
+ }>>>;
379
+ data: import("zod").ZodOptional<import("zod").ZodObject<{
380
+ mediaType: import("zod").ZodString;
381
+ }, zodCore.$strict>>;
382
+ icon: import("zod").ZodOptional<import("zod").ZodString>;
383
+ policies: import("zod").ZodObject<{
384
+ read: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
385
+ origin: import("zod").ZodString;
386
+ kind: import("zod").ZodLiteral<"policy">;
387
+ name: import("zod").ZodString;
388
+ }, zodCore.$strict>]>, ZodType<PolicyCheckExpression<PolicyRef, {
389
+ kind: "self";
390
+ } | {
391
+ kind: "ref";
392
+ ref: {
393
+ origin: string;
394
+ kind: "core";
395
+ name: string;
396
+ } | {
397
+ kind: "method";
398
+ owner: {
399
+ origin: string;
400
+ kind: "class";
401
+ name: string;
402
+ };
403
+ name: string;
404
+ } | {
405
+ origin: string;
406
+ kind: "class";
407
+ name: string;
408
+ } | {
409
+ origin: string;
410
+ kind: "function";
411
+ name: string;
412
+ } | {
413
+ origin: string;
414
+ kind: "policy";
415
+ name: string;
416
+ } | {
417
+ origin: string;
418
+ kind: "view";
419
+ name: string;
420
+ };
421
+ }>, unknown, zodCore.$ZodTypeInternals<PolicyCheckExpression<PolicyRef, {
422
+ kind: "self";
423
+ } | {
424
+ kind: "ref";
425
+ ref: {
426
+ origin: string;
427
+ kind: "core";
428
+ name: string;
429
+ } | {
430
+ kind: "method";
431
+ owner: {
432
+ origin: string;
433
+ kind: "class";
434
+ name: string;
435
+ };
436
+ name: string;
437
+ } | {
438
+ origin: string;
439
+ kind: "class";
440
+ name: string;
441
+ } | {
442
+ origin: string;
443
+ kind: "function";
444
+ name: string;
445
+ } | {
446
+ origin: string;
447
+ kind: "policy";
448
+ name: string;
449
+ } | {
450
+ origin: string;
451
+ kind: "view";
452
+ name: string;
453
+ };
454
+ }>, unknown>>]>>;
455
+ traverse: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
456
+ origin: import("zod").ZodString;
457
+ kind: import("zod").ZodLiteral<"policy">;
458
+ name: import("zod").ZodString;
459
+ }, zodCore.$strict>]>, ZodType<PolicyCheckExpression<PolicyRef, {
460
+ kind: "self";
461
+ } | {
462
+ kind: "ref";
463
+ ref: {
464
+ origin: string;
465
+ kind: "core";
466
+ name: string;
467
+ } | {
468
+ kind: "method";
469
+ owner: {
470
+ origin: string;
471
+ kind: "class";
472
+ name: string;
473
+ };
474
+ name: string;
475
+ } | {
476
+ origin: string;
477
+ kind: "class";
478
+ name: string;
479
+ } | {
480
+ origin: string;
481
+ kind: "function";
482
+ name: string;
483
+ } | {
484
+ origin: string;
485
+ kind: "policy";
486
+ name: string;
487
+ } | {
488
+ origin: string;
489
+ kind: "view";
490
+ name: string;
491
+ };
492
+ }>, unknown, zodCore.$ZodTypeInternals<PolicyCheckExpression<PolicyRef, {
493
+ kind: "self";
494
+ } | {
495
+ kind: "ref";
496
+ ref: {
497
+ origin: string;
498
+ kind: "core";
499
+ name: string;
500
+ } | {
501
+ kind: "method";
502
+ owner: {
503
+ origin: string;
504
+ kind: "class";
505
+ name: string;
506
+ };
507
+ name: string;
508
+ } | {
509
+ origin: string;
510
+ kind: "class";
511
+ name: string;
512
+ } | {
513
+ origin: string;
514
+ kind: "function";
515
+ name: string;
516
+ } | {
517
+ origin: string;
518
+ kind: "policy";
519
+ name: string;
520
+ } | {
521
+ origin: string;
522
+ kind: "view";
523
+ name: string;
524
+ };
525
+ }>, unknown>>]>>;
526
+ }, zodCore.$strict>;
527
+ unique: import("zod").ZodOptional<ZodType<[[`${string}:class.${string}.property.${string}`, ...`${string}:class.${string}.property.${string}`[]], ...[`${string}:class.${string}.property.${string}`, ...`${string}:class.${string}.property.${string}`[]][]], [[string, ...string[]], ...[string, ...string[]][]], zodCore.$ZodTypeInternals<[[`${string}:class.${string}.property.${string}`, ...`${string}:class.${string}.property.${string}`[]], ...[`${string}:class.${string}.property.${string}`, ...`${string}:class.${string}.property.${string}`[]][]], [[string, ...string[]], ...[string, ...string[]][]]>>>;
528
+ }, zodCore.$strict>, import("zod").ZodObject<{
529
+ ref: import("zod").ZodObject<{
530
+ origin: import("zod").ZodString;
531
+ kind: import("zod").ZodLiteral<"class">;
532
+ name: import("zod").ZodString;
533
+ }, zodCore.$strict>;
534
+ kind: import("zod").ZodLiteral<"edge">;
535
+ abstract: import("zod").ZodBoolean;
536
+ inheritance: import("zod").ZodOptional<import("zod").ZodEnum<{
537
+ final: "final";
538
+ open: "open";
539
+ }>>;
540
+ description: import("zod").ZodOptional<import("zod").ZodString>;
541
+ extends: ZodArray<import("zod").ZodObject<{
542
+ origin: import("zod").ZodString;
543
+ kind: import("zod").ZodLiteral<"class">;
544
+ name: import("zod").ZodString;
545
+ }, zodCore.$strict>>;
546
+ properties: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
547
+ required: import("zod").ZodBoolean;
548
+ auto: import("zod").ZodOptional<import("zod").ZodObject<{
549
+ on: ZodType<["create" | "update", ...("create" | "update")[]], ["create" | "update", ...("create" | "update")[]], zodCore.$ZodTypeInternals<["create" | "update", ...("create" | "update")[]], ["create" | "update", ...("create" | "update")[]]>>;
550
+ set: import("zod").ZodLiteral<"instant">;
551
+ }, zodCore.$strict>>;
552
+ immutable: import("zod").ZodOptional<import("zod").ZodEnum<{
553
+ create: "create";
554
+ once: "once";
555
+ }>>;
556
+ description: import("zod").ZodOptional<import("zod").ZodString>;
557
+ schema: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
558
+ }, zodCore.$strict>>;
559
+ constraints: import("zod").ZodObject<{
560
+ noSelf: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
561
+ acyclic: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
562
+ }, zodCore.$strict>;
563
+ unique: import("zod").ZodOptional<ZodType<[["slug" | "source" | "target" | {
564
+ property: `${string}:class.${string}.property.${string}`;
565
+ }, ...("slug" | "source" | "target" | {
566
+ property: `${string}:class.${string}.property.${string}`;
567
+ })[]], ...["slug" | "source" | "target" | {
568
+ property: `${string}:class.${string}.property.${string}`;
569
+ }, ...("slug" | "source" | "target" | {
570
+ property: `${string}:class.${string}.property.${string}`;
571
+ })[]][]], [["slug" | "source" | "target" | {
572
+ property: string;
573
+ }, ...("slug" | "source" | "target" | {
574
+ property: string;
575
+ })[]], ...["slug" | "source" | "target" | {
576
+ property: string;
577
+ }, ...("slug" | "source" | "target" | {
578
+ property: string;
579
+ })[]][]], zodCore.$ZodTypeInternals<[["slug" | "source" | "target" | {
580
+ property: `${string}:class.${string}.property.${string}`;
581
+ }, ...("slug" | "source" | "target" | {
582
+ property: `${string}:class.${string}.property.${string}`;
583
+ })[]], ...["slug" | "source" | "target" | {
584
+ property: `${string}:class.${string}.property.${string}`;
585
+ }, ...("slug" | "source" | "target" | {
586
+ property: `${string}:class.${string}.property.${string}`;
587
+ })[]][]], [["slug" | "source" | "target" | {
588
+ property: string;
589
+ }, ...("slug" | "source" | "target" | {
590
+ property: string;
591
+ })[]], ...["slug" | "source" | "target" | {
592
+ property: string;
593
+ }, ...("slug" | "source" | "target" | {
594
+ property: string;
595
+ })[]][]]>>>;
596
+ orientation: import("zod").ZodEnum<{
597
+ directed: "directed";
598
+ undirected: "undirected";
599
+ }>;
600
+ endpoints: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
601
+ source: import("zod").ZodObject<{
602
+ role: import("zod").ZodString;
603
+ accepts: ZodType<[{
604
+ origin: string;
605
+ kind: "class";
606
+ name: string;
607
+ }, ...{
608
+ origin: string;
609
+ kind: "class";
610
+ name: string;
611
+ }[]], [{
612
+ origin: string;
613
+ kind: "class";
614
+ name: string;
615
+ }, ...{
616
+ origin: string;
617
+ kind: "class";
618
+ name: string;
619
+ }[]], zodCore.$ZodTypeInternals<[{
620
+ origin: string;
621
+ kind: "class";
622
+ name: string;
623
+ }, ...{
624
+ origin: string;
625
+ kind: "class";
626
+ name: string;
627
+ }[]], [{
628
+ origin: string;
629
+ kind: "class";
630
+ name: string;
631
+ }, ...{
632
+ origin: string;
633
+ kind: "class";
634
+ name: string;
635
+ }[]]>>;
636
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
637
+ detach: "detach";
638
+ restrict: "restrict";
639
+ }>>;
640
+ outgoing: import("zod").ZodEnum<{
641
+ "0..*": "0..*";
642
+ "0..1": "0..1";
643
+ 1: "1";
644
+ "1..*": "1..*";
645
+ }>;
646
+ }, zodCore.$strict>;
647
+ target: import("zod").ZodObject<{
648
+ role: import("zod").ZodString;
649
+ accepts: ZodType<[{
650
+ origin: string;
651
+ kind: "class";
652
+ name: string;
653
+ }, ...{
654
+ origin: string;
655
+ kind: "class";
656
+ name: string;
657
+ }[]], [{
658
+ origin: string;
659
+ kind: "class";
660
+ name: string;
661
+ }, ...{
662
+ origin: string;
663
+ kind: "class";
664
+ name: string;
665
+ }[]], zodCore.$ZodTypeInternals<[{
666
+ origin: string;
667
+ kind: "class";
668
+ name: string;
669
+ }, ...{
670
+ origin: string;
671
+ kind: "class";
672
+ name: string;
673
+ }[]], [{
674
+ origin: string;
675
+ kind: "class";
676
+ name: string;
677
+ }, ...{
678
+ origin: string;
679
+ kind: "class";
680
+ name: string;
681
+ }[]]>>;
682
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
683
+ detach: "detach";
684
+ restrict: "restrict";
685
+ }>>;
686
+ incoming: import("zod").ZodEnum<{
687
+ "0..*": "0..*";
688
+ "0..1": "0..1";
689
+ 1: "1";
690
+ "1..*": "1..*";
691
+ }>;
692
+ }, zodCore.$strict>;
693
+ }, zodCore.$strict>, import("zod").ZodTuple<[import("zod").ZodObject<{
694
+ role: import("zod").ZodString;
695
+ accepts: ZodType<[{
696
+ origin: string;
697
+ kind: "class";
698
+ name: string;
699
+ }, ...{
700
+ origin: string;
701
+ kind: "class";
702
+ name: string;
703
+ }[]], [{
704
+ origin: string;
705
+ kind: "class";
706
+ name: string;
707
+ }, ...{
708
+ origin: string;
709
+ kind: "class";
710
+ name: string;
711
+ }[]], zodCore.$ZodTypeInternals<[{
712
+ origin: string;
713
+ kind: "class";
714
+ name: string;
715
+ }, ...{
716
+ origin: string;
717
+ kind: "class";
718
+ name: string;
719
+ }[]], [{
720
+ origin: string;
721
+ kind: "class";
722
+ name: string;
723
+ }, ...{
724
+ origin: string;
725
+ kind: "class";
726
+ name: string;
727
+ }[]]>>;
728
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
729
+ detach: "detach";
730
+ restrict: "restrict";
731
+ }>>;
732
+ incident: import("zod").ZodEnum<{
733
+ "0..*": "0..*";
734
+ "0..1": "0..1";
735
+ 1: "1";
736
+ "1..*": "1..*";
737
+ }>;
738
+ }, zodCore.$strict>, import("zod").ZodObject<{
739
+ role: import("zod").ZodString;
740
+ accepts: ZodType<[{
741
+ origin: string;
742
+ kind: "class";
743
+ name: string;
744
+ }, ...{
745
+ origin: string;
746
+ kind: "class";
747
+ name: string;
748
+ }[]], [{
749
+ origin: string;
750
+ kind: "class";
751
+ name: string;
752
+ }, ...{
753
+ origin: string;
754
+ kind: "class";
755
+ name: string;
756
+ }[]], zodCore.$ZodTypeInternals<[{
757
+ origin: string;
758
+ kind: "class";
759
+ name: string;
760
+ }, ...{
761
+ origin: string;
762
+ kind: "class";
763
+ name: string;
764
+ }[]], [{
765
+ origin: string;
766
+ kind: "class";
767
+ name: string;
768
+ }, ...{
769
+ origin: string;
770
+ kind: "class";
771
+ name: string;
772
+ }[]]>>;
773
+ onDelete: import("zod").ZodOptional<import("zod").ZodEnum<{
774
+ detach: "detach";
775
+ restrict: "restrict";
776
+ }>>;
777
+ incident: import("zod").ZodEnum<{
778
+ "0..*": "0..*";
779
+ "0..1": "0..1";
780
+ 1: "1";
781
+ "1..*": "1..*";
782
+ }>;
783
+ }, zodCore.$strict>], null>]>;
784
+ policies: import("zod").ZodObject<{
785
+ read: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
786
+ origin: import("zod").ZodString;
787
+ kind: import("zod").ZodLiteral<"policy">;
788
+ name: import("zod").ZodString;
789
+ }, zodCore.$strict>]>>;
790
+ traverse: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<false>, import("zod").ZodObject<{
791
+ origin: import("zod").ZodString;
792
+ kind: import("zod").ZodLiteral<"policy">;
793
+ name: import("zod").ZodString;
794
+ }, zodCore.$strict>]>>;
795
+ }, zodCore.$strict>;
796
+ }, zodCore.$strict> & ZodType<OrientedEndpoints<{
797
+ ref: {
798
+ origin: string;
799
+ kind: "class";
800
+ name: string;
801
+ };
802
+ kind: "edge";
803
+ abstract: boolean;
804
+ inheritance?: "final" | "open" | undefined;
805
+ description?: string | undefined;
806
+ extends: {
807
+ origin: string;
808
+ kind: "class";
809
+ name: string;
810
+ }[];
811
+ properties: Record<string, {
812
+ required: boolean;
813
+ auto?: {
814
+ on: ["create" | "update", ...("create" | "update")[]];
815
+ set: "instant";
816
+ } | undefined;
817
+ immutable?: "create" | "once" | undefined;
818
+ description?: string | undefined;
819
+ schema: boolean | Record<string, JsonValue>;
820
+ }>;
821
+ constraints: {
822
+ noSelf?: true | undefined;
823
+ acyclic?: true | undefined;
824
+ };
825
+ unique?: [["slug" | "source" | "target" | {
826
+ property: `${string}:class.${string}.property.${string}`;
827
+ }, ...("slug" | "source" | "target" | {
828
+ property: `${string}:class.${string}.property.${string}`;
829
+ })[]], ...["slug" | "source" | "target" | {
830
+ property: `${string}:class.${string}.property.${string}`;
831
+ }, ...("slug" | "source" | "target" | {
832
+ property: `${string}:class.${string}.property.${string}`;
833
+ })[]][]] | undefined;
834
+ orientation: "directed" | "undirected";
835
+ endpoints: {
836
+ source: {
837
+ role: string;
838
+ accepts: [{
839
+ origin: string;
840
+ kind: "class";
841
+ name: string;
842
+ }, ...{
843
+ origin: string;
844
+ kind: "class";
845
+ name: string;
846
+ }[]];
847
+ onDelete?: "detach" | "restrict" | undefined;
848
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
849
+ };
850
+ target: {
851
+ role: string;
852
+ accepts: [{
853
+ origin: string;
854
+ kind: "class";
855
+ name: string;
856
+ }, ...{
857
+ origin: string;
858
+ kind: "class";
859
+ name: string;
860
+ }[]];
861
+ onDelete?: "detach" | "restrict" | undefined;
862
+ incoming: "0..*" | "0..1" | "1" | "1..*";
863
+ };
864
+ } | [{
865
+ role: string;
866
+ accepts: [{
867
+ origin: string;
868
+ kind: "class";
869
+ name: string;
870
+ }, ...{
871
+ origin: string;
872
+ kind: "class";
873
+ name: string;
874
+ }[]];
875
+ onDelete?: "detach" | "restrict" | undefined;
876
+ incident: "0..*" | "0..1" | "1" | "1..*";
877
+ }, {
878
+ role: string;
879
+ accepts: [{
880
+ origin: string;
881
+ kind: "class";
882
+ name: string;
883
+ }, ...{
884
+ origin: string;
885
+ kind: "class";
886
+ name: string;
887
+ }[]];
888
+ onDelete?: "detach" | "restrict" | undefined;
889
+ incident: "0..*" | "0..1" | "1" | "1..*";
890
+ }];
891
+ policies: {
892
+ read?: false | {
893
+ origin: string;
894
+ kind: "policy";
895
+ name: string;
896
+ } | undefined;
897
+ traverse?: false | {
898
+ origin: string;
899
+ kind: "policy";
900
+ name: string;
901
+ } | undefined;
902
+ };
903
+ }>, {
904
+ ref: {
905
+ origin: string;
906
+ kind: "class";
907
+ name: string;
908
+ };
909
+ kind: "edge";
910
+ abstract: boolean;
911
+ inheritance?: "final" | "open" | undefined;
912
+ description?: string | undefined;
913
+ extends: {
914
+ origin: string;
915
+ kind: "class";
916
+ name: string;
917
+ }[];
918
+ properties: Record<string, {
919
+ required: boolean;
920
+ auto?: {
921
+ on: ["create" | "update", ...("create" | "update")[]];
922
+ set: "instant";
923
+ } | undefined;
924
+ immutable?: "create" | "once" | undefined;
925
+ description?: string | undefined;
926
+ schema: boolean | Record<string, unknown>;
927
+ }>;
928
+ constraints: {
929
+ noSelf?: true | undefined;
930
+ acyclic?: true | undefined;
931
+ };
932
+ unique?: [["slug" | "source" | "target" | {
933
+ property: string;
934
+ }, ...("slug" | "source" | "target" | {
935
+ property: string;
936
+ })[]], ...["slug" | "source" | "target" | {
937
+ property: string;
938
+ }, ...("slug" | "source" | "target" | {
939
+ property: string;
940
+ })[]][]] | undefined;
941
+ orientation: "directed" | "undirected";
942
+ endpoints: {
943
+ source: {
944
+ role: string;
945
+ accepts: [{
946
+ origin: string;
947
+ kind: "class";
948
+ name: string;
949
+ }, ...{
950
+ origin: string;
951
+ kind: "class";
952
+ name: string;
953
+ }[]];
954
+ onDelete?: "detach" | "restrict" | undefined;
955
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
956
+ };
957
+ target: {
958
+ role: string;
959
+ accepts: [{
960
+ origin: string;
961
+ kind: "class";
962
+ name: string;
963
+ }, ...{
964
+ origin: string;
965
+ kind: "class";
966
+ name: string;
967
+ }[]];
968
+ onDelete?: "detach" | "restrict" | undefined;
969
+ incoming: "0..*" | "0..1" | "1" | "1..*";
970
+ };
971
+ } | [{
972
+ role: string;
973
+ accepts: [{
974
+ origin: string;
975
+ kind: "class";
976
+ name: string;
977
+ }, ...{
978
+ origin: string;
979
+ kind: "class";
980
+ name: string;
981
+ }[]];
982
+ onDelete?: "detach" | "restrict" | undefined;
983
+ incident: "0..*" | "0..1" | "1" | "1..*";
984
+ }, {
985
+ role: string;
986
+ accepts: [{
987
+ origin: string;
988
+ kind: "class";
989
+ name: string;
990
+ }, ...{
991
+ origin: string;
992
+ kind: "class";
993
+ name: string;
994
+ }[]];
995
+ onDelete?: "detach" | "restrict" | undefined;
996
+ incident: "0..*" | "0..1" | "1" | "1..*";
997
+ }];
998
+ policies: {
999
+ read?: false | {
1000
+ origin: string;
1001
+ kind: "policy";
1002
+ name: string;
1003
+ } | undefined;
1004
+ traverse?: false | {
1005
+ origin: string;
1006
+ kind: "policy";
1007
+ name: string;
1008
+ } | undefined;
1009
+ };
1010
+ }, zodCore.$ZodTypeInternals<OrientedEndpoints<{
1011
+ ref: {
1012
+ origin: string;
1013
+ kind: "class";
1014
+ name: string;
1015
+ };
1016
+ kind: "edge";
1017
+ abstract: boolean;
1018
+ inheritance?: "final" | "open" | undefined;
1019
+ description?: string | undefined;
1020
+ extends: {
1021
+ origin: string;
1022
+ kind: "class";
1023
+ name: string;
1024
+ }[];
1025
+ properties: Record<string, {
1026
+ required: boolean;
1027
+ auto?: {
1028
+ on: ["create" | "update", ...("create" | "update")[]];
1029
+ set: "instant";
1030
+ } | undefined;
1031
+ immutable?: "create" | "once" | undefined;
1032
+ description?: string | undefined;
1033
+ schema: boolean | Record<string, JsonValue>;
1034
+ }>;
1035
+ constraints: {
1036
+ noSelf?: true | undefined;
1037
+ acyclic?: true | undefined;
1038
+ };
1039
+ unique?: [["slug" | "source" | "target" | {
1040
+ property: `${string}:class.${string}.property.${string}`;
1041
+ }, ...("slug" | "source" | "target" | {
1042
+ property: `${string}:class.${string}.property.${string}`;
1043
+ })[]], ...["slug" | "source" | "target" | {
1044
+ property: `${string}:class.${string}.property.${string}`;
1045
+ }, ...("slug" | "source" | "target" | {
1046
+ property: `${string}:class.${string}.property.${string}`;
1047
+ })[]][]] | undefined;
1048
+ orientation: "directed" | "undirected";
1049
+ endpoints: {
1050
+ source: {
1051
+ role: string;
1052
+ accepts: [{
1053
+ origin: string;
1054
+ kind: "class";
1055
+ name: string;
1056
+ }, ...{
1057
+ origin: string;
1058
+ kind: "class";
1059
+ name: string;
1060
+ }[]];
1061
+ onDelete?: "detach" | "restrict" | undefined;
1062
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1063
+ };
1064
+ target: {
1065
+ role: string;
1066
+ accepts: [{
1067
+ origin: string;
1068
+ kind: "class";
1069
+ name: string;
1070
+ }, ...{
1071
+ origin: string;
1072
+ kind: "class";
1073
+ name: string;
1074
+ }[]];
1075
+ onDelete?: "detach" | "restrict" | undefined;
1076
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1077
+ };
1078
+ } | [{
1079
+ role: string;
1080
+ accepts: [{
1081
+ origin: string;
1082
+ kind: "class";
1083
+ name: string;
1084
+ }, ...{
1085
+ origin: string;
1086
+ kind: "class";
1087
+ name: string;
1088
+ }[]];
1089
+ onDelete?: "detach" | "restrict" | undefined;
1090
+ incident: "0..*" | "0..1" | "1" | "1..*";
1091
+ }, {
1092
+ role: string;
1093
+ accepts: [{
1094
+ origin: string;
1095
+ kind: "class";
1096
+ name: string;
1097
+ }, ...{
1098
+ origin: string;
1099
+ kind: "class";
1100
+ name: string;
1101
+ }[]];
1102
+ onDelete?: "detach" | "restrict" | undefined;
1103
+ incident: "0..*" | "0..1" | "1" | "1..*";
1104
+ }];
1105
+ policies: {
1106
+ read?: false | {
1107
+ origin: string;
1108
+ kind: "policy";
1109
+ name: string;
1110
+ } | undefined;
1111
+ traverse?: false | {
1112
+ origin: string;
1113
+ kind: "policy";
1114
+ name: string;
1115
+ } | undefined;
1116
+ };
1117
+ }>, {
1118
+ ref: {
1119
+ origin: string;
1120
+ kind: "class";
1121
+ name: string;
1122
+ };
1123
+ kind: "edge";
1124
+ abstract: boolean;
1125
+ inheritance?: "final" | "open" | undefined;
1126
+ description?: string | undefined;
1127
+ extends: {
1128
+ origin: string;
1129
+ kind: "class";
1130
+ name: string;
1131
+ }[];
1132
+ properties: Record<string, {
1133
+ required: boolean;
1134
+ auto?: {
1135
+ on: ["create" | "update", ...("create" | "update")[]];
1136
+ set: "instant";
1137
+ } | undefined;
1138
+ immutable?: "create" | "once" | undefined;
1139
+ description?: string | undefined;
1140
+ schema: boolean | Record<string, unknown>;
1141
+ }>;
1142
+ constraints: {
1143
+ noSelf?: true | undefined;
1144
+ acyclic?: true | undefined;
1145
+ };
1146
+ unique?: [["slug" | "source" | "target" | {
1147
+ property: string;
1148
+ }, ...("slug" | "source" | "target" | {
1149
+ property: string;
1150
+ })[]], ...["slug" | "source" | "target" | {
1151
+ property: string;
1152
+ }, ...("slug" | "source" | "target" | {
1153
+ property: string;
1154
+ })[]][]] | undefined;
1155
+ orientation: "directed" | "undirected";
1156
+ endpoints: {
1157
+ source: {
1158
+ role: string;
1159
+ accepts: [{
1160
+ origin: string;
1161
+ kind: "class";
1162
+ name: string;
1163
+ }, ...{
1164
+ origin: string;
1165
+ kind: "class";
1166
+ name: string;
1167
+ }[]];
1168
+ onDelete?: "detach" | "restrict" | undefined;
1169
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1170
+ };
1171
+ target: {
1172
+ role: string;
1173
+ accepts: [{
1174
+ origin: string;
1175
+ kind: "class";
1176
+ name: string;
1177
+ }, ...{
1178
+ origin: string;
1179
+ kind: "class";
1180
+ name: string;
1181
+ }[]];
1182
+ onDelete?: "detach" | "restrict" | undefined;
1183
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1184
+ };
1185
+ } | [{
1186
+ role: string;
1187
+ accepts: [{
1188
+ origin: string;
1189
+ kind: "class";
1190
+ name: string;
1191
+ }, ...{
1192
+ origin: string;
1193
+ kind: "class";
1194
+ name: string;
1195
+ }[]];
1196
+ onDelete?: "detach" | "restrict" | undefined;
1197
+ incident: "0..*" | "0..1" | "1" | "1..*";
1198
+ }, {
1199
+ role: string;
1200
+ accepts: [{
1201
+ origin: string;
1202
+ kind: "class";
1203
+ name: string;
1204
+ }, ...{
1205
+ origin: string;
1206
+ kind: "class";
1207
+ name: string;
1208
+ }[]];
1209
+ onDelete?: "detach" | "restrict" | undefined;
1210
+ incident: "0..*" | "0..1" | "1" | "1..*";
1211
+ }];
1212
+ policies: {
1213
+ read?: false | {
1214
+ origin: string;
1215
+ kind: "policy";
1216
+ name: string;
1217
+ } | undefined;
1218
+ traverse?: false | {
1219
+ origin: string;
1220
+ kind: "policy";
1221
+ name: string;
1222
+ } | undefined;
1223
+ };
1224
+ }>> & ZodType<DirectedUnique<{
1225
+ ref: {
1226
+ origin: string;
1227
+ kind: "class";
1228
+ name: string;
1229
+ };
1230
+ kind: "edge";
1231
+ abstract: boolean;
1232
+ inheritance?: "final" | "open" | undefined;
1233
+ description?: string | undefined;
1234
+ extends: {
1235
+ origin: string;
1236
+ kind: "class";
1237
+ name: string;
1238
+ }[];
1239
+ properties: Record<string, {
1240
+ required: boolean;
1241
+ auto?: {
1242
+ on: ["create" | "update", ...("create" | "update")[]];
1243
+ set: "instant";
1244
+ } | undefined;
1245
+ immutable?: "create" | "once" | undefined;
1246
+ description?: string | undefined;
1247
+ schema: boolean | Record<string, JsonValue>;
1248
+ }>;
1249
+ constraints: {
1250
+ noSelf?: true | undefined;
1251
+ acyclic?: true | undefined;
1252
+ };
1253
+ unique?: [["slug" | "source" | "target" | {
1254
+ property: `${string}:class.${string}.property.${string}`;
1255
+ }, ...("slug" | "source" | "target" | {
1256
+ property: `${string}:class.${string}.property.${string}`;
1257
+ })[]], ...["slug" | "source" | "target" | {
1258
+ property: `${string}:class.${string}.property.${string}`;
1259
+ }, ...("slug" | "source" | "target" | {
1260
+ property: `${string}:class.${string}.property.${string}`;
1261
+ })[]][]] | undefined;
1262
+ orientation: "directed" | "undirected";
1263
+ endpoints: {
1264
+ source: {
1265
+ role: string;
1266
+ accepts: [{
1267
+ origin: string;
1268
+ kind: "class";
1269
+ name: string;
1270
+ }, ...{
1271
+ origin: string;
1272
+ kind: "class";
1273
+ name: string;
1274
+ }[]];
1275
+ onDelete?: "detach" | "restrict" | undefined;
1276
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1277
+ };
1278
+ target: {
1279
+ role: string;
1280
+ accepts: [{
1281
+ origin: string;
1282
+ kind: "class";
1283
+ name: string;
1284
+ }, ...{
1285
+ origin: string;
1286
+ kind: "class";
1287
+ name: string;
1288
+ }[]];
1289
+ onDelete?: "detach" | "restrict" | undefined;
1290
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1291
+ };
1292
+ } | [{
1293
+ role: string;
1294
+ accepts: [{
1295
+ origin: string;
1296
+ kind: "class";
1297
+ name: string;
1298
+ }, ...{
1299
+ origin: string;
1300
+ kind: "class";
1301
+ name: string;
1302
+ }[]];
1303
+ onDelete?: "detach" | "restrict" | undefined;
1304
+ incident: "0..*" | "0..1" | "1" | "1..*";
1305
+ }, {
1306
+ role: string;
1307
+ accepts: [{
1308
+ origin: string;
1309
+ kind: "class";
1310
+ name: string;
1311
+ }, ...{
1312
+ origin: string;
1313
+ kind: "class";
1314
+ name: string;
1315
+ }[]];
1316
+ onDelete?: "detach" | "restrict" | undefined;
1317
+ incident: "0..*" | "0..1" | "1" | "1..*";
1318
+ }];
1319
+ policies: {
1320
+ read?: false | {
1321
+ origin: string;
1322
+ kind: "policy";
1323
+ name: string;
1324
+ } | undefined;
1325
+ traverse?: false | {
1326
+ origin: string;
1327
+ kind: "policy";
1328
+ name: string;
1329
+ } | undefined;
1330
+ };
1331
+ } & OrientedEndpoints<{
1332
+ ref: {
1333
+ origin: string;
1334
+ kind: "class";
1335
+ name: string;
1336
+ };
1337
+ kind: "edge";
1338
+ abstract: boolean;
1339
+ inheritance?: "final" | "open" | undefined;
1340
+ description?: string | undefined;
1341
+ extends: {
1342
+ origin: string;
1343
+ kind: "class";
1344
+ name: string;
1345
+ }[];
1346
+ properties: Record<string, {
1347
+ required: boolean;
1348
+ auto?: {
1349
+ on: ["create" | "update", ...("create" | "update")[]];
1350
+ set: "instant";
1351
+ } | undefined;
1352
+ immutable?: "create" | "once" | undefined;
1353
+ description?: string | undefined;
1354
+ schema: boolean | Record<string, JsonValue>;
1355
+ }>;
1356
+ constraints: {
1357
+ noSelf?: true | undefined;
1358
+ acyclic?: true | undefined;
1359
+ };
1360
+ unique?: [["slug" | "source" | "target" | {
1361
+ property: `${string}:class.${string}.property.${string}`;
1362
+ }, ...("slug" | "source" | "target" | {
1363
+ property: `${string}:class.${string}.property.${string}`;
1364
+ })[]], ...["slug" | "source" | "target" | {
1365
+ property: `${string}:class.${string}.property.${string}`;
1366
+ }, ...("slug" | "source" | "target" | {
1367
+ property: `${string}:class.${string}.property.${string}`;
1368
+ })[]][]] | undefined;
1369
+ orientation: "directed" | "undirected";
1370
+ endpoints: {
1371
+ source: {
1372
+ role: string;
1373
+ accepts: [{
1374
+ origin: string;
1375
+ kind: "class";
1376
+ name: string;
1377
+ }, ...{
1378
+ origin: string;
1379
+ kind: "class";
1380
+ name: string;
1381
+ }[]];
1382
+ onDelete?: "detach" | "restrict" | undefined;
1383
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1384
+ };
1385
+ target: {
1386
+ role: string;
1387
+ accepts: [{
1388
+ origin: string;
1389
+ kind: "class";
1390
+ name: string;
1391
+ }, ...{
1392
+ origin: string;
1393
+ kind: "class";
1394
+ name: string;
1395
+ }[]];
1396
+ onDelete?: "detach" | "restrict" | undefined;
1397
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1398
+ };
1399
+ } | [{
1400
+ role: string;
1401
+ accepts: [{
1402
+ origin: string;
1403
+ kind: "class";
1404
+ name: string;
1405
+ }, ...{
1406
+ origin: string;
1407
+ kind: "class";
1408
+ name: string;
1409
+ }[]];
1410
+ onDelete?: "detach" | "restrict" | undefined;
1411
+ incident: "0..*" | "0..1" | "1" | "1..*";
1412
+ }, {
1413
+ role: string;
1414
+ accepts: [{
1415
+ origin: string;
1416
+ kind: "class";
1417
+ name: string;
1418
+ }, ...{
1419
+ origin: string;
1420
+ kind: "class";
1421
+ name: string;
1422
+ }[]];
1423
+ onDelete?: "detach" | "restrict" | undefined;
1424
+ incident: "0..*" | "0..1" | "1" | "1..*";
1425
+ }];
1426
+ policies: {
1427
+ read?: false | {
1428
+ origin: string;
1429
+ kind: "policy";
1430
+ name: string;
1431
+ } | undefined;
1432
+ traverse?: false | {
1433
+ origin: string;
1434
+ kind: "policy";
1435
+ name: string;
1436
+ } | undefined;
1437
+ };
1438
+ }>>, {
1439
+ ref: {
1440
+ origin: string;
1441
+ kind: "class";
1442
+ name: string;
1443
+ };
1444
+ kind: "edge";
1445
+ abstract: boolean;
1446
+ inheritance?: "final" | "open" | undefined;
1447
+ description?: string | undefined;
1448
+ extends: {
1449
+ origin: string;
1450
+ kind: "class";
1451
+ name: string;
1452
+ }[];
1453
+ properties: Record<string, {
1454
+ required: boolean;
1455
+ auto?: {
1456
+ on: ["create" | "update", ...("create" | "update")[]];
1457
+ set: "instant";
1458
+ } | undefined;
1459
+ immutable?: "create" | "once" | undefined;
1460
+ description?: string | undefined;
1461
+ schema: boolean | Record<string, unknown>;
1462
+ }>;
1463
+ constraints: {
1464
+ noSelf?: true | undefined;
1465
+ acyclic?: true | undefined;
1466
+ };
1467
+ unique?: [["slug" | "source" | "target" | {
1468
+ property: string;
1469
+ }, ...("slug" | "source" | "target" | {
1470
+ property: string;
1471
+ })[]], ...["slug" | "source" | "target" | {
1472
+ property: string;
1473
+ }, ...("slug" | "source" | "target" | {
1474
+ property: string;
1475
+ })[]][]] | undefined;
1476
+ orientation: "directed" | "undirected";
1477
+ endpoints: {
1478
+ source: {
1479
+ role: string;
1480
+ accepts: [{
1481
+ origin: string;
1482
+ kind: "class";
1483
+ name: string;
1484
+ }, ...{
1485
+ origin: string;
1486
+ kind: "class";
1487
+ name: string;
1488
+ }[]];
1489
+ onDelete?: "detach" | "restrict" | undefined;
1490
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1491
+ };
1492
+ target: {
1493
+ role: string;
1494
+ accepts: [{
1495
+ origin: string;
1496
+ kind: "class";
1497
+ name: string;
1498
+ }, ...{
1499
+ origin: string;
1500
+ kind: "class";
1501
+ name: string;
1502
+ }[]];
1503
+ onDelete?: "detach" | "restrict" | undefined;
1504
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1505
+ };
1506
+ } | [{
1507
+ role: string;
1508
+ accepts: [{
1509
+ origin: string;
1510
+ kind: "class";
1511
+ name: string;
1512
+ }, ...{
1513
+ origin: string;
1514
+ kind: "class";
1515
+ name: string;
1516
+ }[]];
1517
+ onDelete?: "detach" | "restrict" | undefined;
1518
+ incident: "0..*" | "0..1" | "1" | "1..*";
1519
+ }, {
1520
+ role: string;
1521
+ accepts: [{
1522
+ origin: string;
1523
+ kind: "class";
1524
+ name: string;
1525
+ }, ...{
1526
+ origin: string;
1527
+ kind: "class";
1528
+ name: string;
1529
+ }[]];
1530
+ onDelete?: "detach" | "restrict" | undefined;
1531
+ incident: "0..*" | "0..1" | "1" | "1..*";
1532
+ }];
1533
+ policies: {
1534
+ read?: false | {
1535
+ origin: string;
1536
+ kind: "policy";
1537
+ name: string;
1538
+ } | undefined;
1539
+ traverse?: false | {
1540
+ origin: string;
1541
+ kind: "policy";
1542
+ name: string;
1543
+ } | undefined;
1544
+ };
1545
+ }, zodCore.$ZodTypeInternals<DirectedUnique<{
1546
+ ref: {
1547
+ origin: string;
1548
+ kind: "class";
1549
+ name: string;
1550
+ };
1551
+ kind: "edge";
1552
+ abstract: boolean;
1553
+ inheritance?: "final" | "open" | undefined;
1554
+ description?: string | undefined;
1555
+ extends: {
1556
+ origin: string;
1557
+ kind: "class";
1558
+ name: string;
1559
+ }[];
1560
+ properties: Record<string, {
1561
+ required: boolean;
1562
+ auto?: {
1563
+ on: ["create" | "update", ...("create" | "update")[]];
1564
+ set: "instant";
1565
+ } | undefined;
1566
+ immutable?: "create" | "once" | undefined;
1567
+ description?: string | undefined;
1568
+ schema: boolean | Record<string, JsonValue>;
1569
+ }>;
1570
+ constraints: {
1571
+ noSelf?: true | undefined;
1572
+ acyclic?: true | undefined;
1573
+ };
1574
+ unique?: [["slug" | "source" | "target" | {
1575
+ property: `${string}:class.${string}.property.${string}`;
1576
+ }, ...("slug" | "source" | "target" | {
1577
+ property: `${string}:class.${string}.property.${string}`;
1578
+ })[]], ...["slug" | "source" | "target" | {
1579
+ property: `${string}:class.${string}.property.${string}`;
1580
+ }, ...("slug" | "source" | "target" | {
1581
+ property: `${string}:class.${string}.property.${string}`;
1582
+ })[]][]] | undefined;
1583
+ orientation: "directed" | "undirected";
1584
+ endpoints: {
1585
+ source: {
1586
+ role: string;
1587
+ accepts: [{
1588
+ origin: string;
1589
+ kind: "class";
1590
+ name: string;
1591
+ }, ...{
1592
+ origin: string;
1593
+ kind: "class";
1594
+ name: string;
1595
+ }[]];
1596
+ onDelete?: "detach" | "restrict" | undefined;
1597
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1598
+ };
1599
+ target: {
1600
+ role: string;
1601
+ accepts: [{
1602
+ origin: string;
1603
+ kind: "class";
1604
+ name: string;
1605
+ }, ...{
1606
+ origin: string;
1607
+ kind: "class";
1608
+ name: string;
1609
+ }[]];
1610
+ onDelete?: "detach" | "restrict" | undefined;
1611
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1612
+ };
1613
+ } | [{
1614
+ role: string;
1615
+ accepts: [{
1616
+ origin: string;
1617
+ kind: "class";
1618
+ name: string;
1619
+ }, ...{
1620
+ origin: string;
1621
+ kind: "class";
1622
+ name: string;
1623
+ }[]];
1624
+ onDelete?: "detach" | "restrict" | undefined;
1625
+ incident: "0..*" | "0..1" | "1" | "1..*";
1626
+ }, {
1627
+ role: string;
1628
+ accepts: [{
1629
+ origin: string;
1630
+ kind: "class";
1631
+ name: string;
1632
+ }, ...{
1633
+ origin: string;
1634
+ kind: "class";
1635
+ name: string;
1636
+ }[]];
1637
+ onDelete?: "detach" | "restrict" | undefined;
1638
+ incident: "0..*" | "0..1" | "1" | "1..*";
1639
+ }];
1640
+ policies: {
1641
+ read?: false | {
1642
+ origin: string;
1643
+ kind: "policy";
1644
+ name: string;
1645
+ } | undefined;
1646
+ traverse?: false | {
1647
+ origin: string;
1648
+ kind: "policy";
1649
+ name: string;
1650
+ } | undefined;
1651
+ };
1652
+ } & OrientedEndpoints<{
1653
+ ref: {
1654
+ origin: string;
1655
+ kind: "class";
1656
+ name: string;
1657
+ };
1658
+ kind: "edge";
1659
+ abstract: boolean;
1660
+ inheritance?: "final" | "open" | undefined;
1661
+ description?: string | undefined;
1662
+ extends: {
1663
+ origin: string;
1664
+ kind: "class";
1665
+ name: string;
1666
+ }[];
1667
+ properties: Record<string, {
1668
+ required: boolean;
1669
+ auto?: {
1670
+ on: ["create" | "update", ...("create" | "update")[]];
1671
+ set: "instant";
1672
+ } | undefined;
1673
+ immutable?: "create" | "once" | undefined;
1674
+ description?: string | undefined;
1675
+ schema: boolean | Record<string, JsonValue>;
1676
+ }>;
1677
+ constraints: {
1678
+ noSelf?: true | undefined;
1679
+ acyclic?: true | undefined;
1680
+ };
1681
+ unique?: [["slug" | "source" | "target" | {
1682
+ property: `${string}:class.${string}.property.${string}`;
1683
+ }, ...("slug" | "source" | "target" | {
1684
+ property: `${string}:class.${string}.property.${string}`;
1685
+ })[]], ...["slug" | "source" | "target" | {
1686
+ property: `${string}:class.${string}.property.${string}`;
1687
+ }, ...("slug" | "source" | "target" | {
1688
+ property: `${string}:class.${string}.property.${string}`;
1689
+ })[]][]] | undefined;
1690
+ orientation: "directed" | "undirected";
1691
+ endpoints: {
1692
+ source: {
1693
+ role: string;
1694
+ accepts: [{
1695
+ origin: string;
1696
+ kind: "class";
1697
+ name: string;
1698
+ }, ...{
1699
+ origin: string;
1700
+ kind: "class";
1701
+ name: string;
1702
+ }[]];
1703
+ onDelete?: "detach" | "restrict" | undefined;
1704
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1705
+ };
1706
+ target: {
1707
+ role: string;
1708
+ accepts: [{
1709
+ origin: string;
1710
+ kind: "class";
1711
+ name: string;
1712
+ }, ...{
1713
+ origin: string;
1714
+ kind: "class";
1715
+ name: string;
1716
+ }[]];
1717
+ onDelete?: "detach" | "restrict" | undefined;
1718
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1719
+ };
1720
+ } | [{
1721
+ role: string;
1722
+ accepts: [{
1723
+ origin: string;
1724
+ kind: "class";
1725
+ name: string;
1726
+ }, ...{
1727
+ origin: string;
1728
+ kind: "class";
1729
+ name: string;
1730
+ }[]];
1731
+ onDelete?: "detach" | "restrict" | undefined;
1732
+ incident: "0..*" | "0..1" | "1" | "1..*";
1733
+ }, {
1734
+ role: string;
1735
+ accepts: [{
1736
+ origin: string;
1737
+ kind: "class";
1738
+ name: string;
1739
+ }, ...{
1740
+ origin: string;
1741
+ kind: "class";
1742
+ name: string;
1743
+ }[]];
1744
+ onDelete?: "detach" | "restrict" | undefined;
1745
+ incident: "0..*" | "0..1" | "1" | "1..*";
1746
+ }];
1747
+ policies: {
1748
+ read?: false | {
1749
+ origin: string;
1750
+ kind: "policy";
1751
+ name: string;
1752
+ } | undefined;
1753
+ traverse?: false | {
1754
+ origin: string;
1755
+ kind: "policy";
1756
+ name: string;
1757
+ } | undefined;
1758
+ };
1759
+ }>>, {
1760
+ ref: {
1761
+ origin: string;
1762
+ kind: "class";
1763
+ name: string;
1764
+ };
1765
+ kind: "edge";
1766
+ abstract: boolean;
1767
+ inheritance?: "final" | "open" | undefined;
1768
+ description?: string | undefined;
1769
+ extends: {
1770
+ origin: string;
1771
+ kind: "class";
1772
+ name: string;
1773
+ }[];
1774
+ properties: Record<string, {
1775
+ required: boolean;
1776
+ auto?: {
1777
+ on: ["create" | "update", ...("create" | "update")[]];
1778
+ set: "instant";
1779
+ } | undefined;
1780
+ immutable?: "create" | "once" | undefined;
1781
+ description?: string | undefined;
1782
+ schema: boolean | Record<string, unknown>;
1783
+ }>;
1784
+ constraints: {
1785
+ noSelf?: true | undefined;
1786
+ acyclic?: true | undefined;
1787
+ };
1788
+ unique?: [["slug" | "source" | "target" | {
1789
+ property: string;
1790
+ }, ...("slug" | "source" | "target" | {
1791
+ property: string;
1792
+ })[]], ...["slug" | "source" | "target" | {
1793
+ property: string;
1794
+ }, ...("slug" | "source" | "target" | {
1795
+ property: string;
1796
+ })[]][]] | undefined;
1797
+ orientation: "directed" | "undirected";
1798
+ endpoints: {
1799
+ source: {
1800
+ role: string;
1801
+ accepts: [{
1802
+ origin: string;
1803
+ kind: "class";
1804
+ name: string;
1805
+ }, ...{
1806
+ origin: string;
1807
+ kind: "class";
1808
+ name: string;
1809
+ }[]];
1810
+ onDelete?: "detach" | "restrict" | undefined;
1811
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1812
+ };
1813
+ target: {
1814
+ role: string;
1815
+ accepts: [{
1816
+ origin: string;
1817
+ kind: "class";
1818
+ name: string;
1819
+ }, ...{
1820
+ origin: string;
1821
+ kind: "class";
1822
+ name: string;
1823
+ }[]];
1824
+ onDelete?: "detach" | "restrict" | undefined;
1825
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1826
+ };
1827
+ } | [{
1828
+ role: string;
1829
+ accepts: [{
1830
+ origin: string;
1831
+ kind: "class";
1832
+ name: string;
1833
+ }, ...{
1834
+ origin: string;
1835
+ kind: "class";
1836
+ name: string;
1837
+ }[]];
1838
+ onDelete?: "detach" | "restrict" | undefined;
1839
+ incident: "0..*" | "0..1" | "1" | "1..*";
1840
+ }, {
1841
+ role: string;
1842
+ accepts: [{
1843
+ origin: string;
1844
+ kind: "class";
1845
+ name: string;
1846
+ }, ...{
1847
+ origin: string;
1848
+ kind: "class";
1849
+ name: string;
1850
+ }[]];
1851
+ onDelete?: "detach" | "restrict" | undefined;
1852
+ incident: "0..*" | "0..1" | "1" | "1..*";
1853
+ }];
1854
+ policies: {
1855
+ read?: false | {
1856
+ origin: string;
1857
+ kind: "policy";
1858
+ name: string;
1859
+ } | undefined;
1860
+ traverse?: false | {
1861
+ origin: string;
1862
+ kind: "policy";
1863
+ name: string;
1864
+ } | undefined;
1865
+ };
1866
+ }>> & ZodType<DirectedAcyclic<({
1867
+ ref: {
1868
+ origin: string;
1869
+ kind: "class";
1870
+ name: string;
1871
+ };
1872
+ kind: "edge";
1873
+ abstract: boolean;
1874
+ inheritance?: "final" | "open" | undefined;
1875
+ description?: string | undefined;
1876
+ extends: {
1877
+ origin: string;
1878
+ kind: "class";
1879
+ name: string;
1880
+ }[];
1881
+ properties: Record<string, {
1882
+ required: boolean;
1883
+ auto?: {
1884
+ on: ["create" | "update", ...("create" | "update")[]];
1885
+ set: "instant";
1886
+ } | undefined;
1887
+ immutable?: "create" | "once" | undefined;
1888
+ description?: string | undefined;
1889
+ schema: boolean | Record<string, JsonValue>;
1890
+ }>;
1891
+ constraints: {
1892
+ noSelf?: true | undefined;
1893
+ acyclic?: true | undefined;
1894
+ };
1895
+ unique?: [["slug" | "source" | "target" | {
1896
+ property: `${string}:class.${string}.property.${string}`;
1897
+ }, ...("slug" | "source" | "target" | {
1898
+ property: `${string}:class.${string}.property.${string}`;
1899
+ })[]], ...["slug" | "source" | "target" | {
1900
+ property: `${string}:class.${string}.property.${string}`;
1901
+ }, ...("slug" | "source" | "target" | {
1902
+ property: `${string}:class.${string}.property.${string}`;
1903
+ })[]][]] | undefined;
1904
+ orientation: "directed" | "undirected";
1905
+ endpoints: {
1906
+ source: {
1907
+ role: string;
1908
+ accepts: [{
1909
+ origin: string;
1910
+ kind: "class";
1911
+ name: string;
1912
+ }, ...{
1913
+ origin: string;
1914
+ kind: "class";
1915
+ name: string;
1916
+ }[]];
1917
+ onDelete?: "detach" | "restrict" | undefined;
1918
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
1919
+ };
1920
+ target: {
1921
+ role: string;
1922
+ accepts: [{
1923
+ origin: string;
1924
+ kind: "class";
1925
+ name: string;
1926
+ }, ...{
1927
+ origin: string;
1928
+ kind: "class";
1929
+ name: string;
1930
+ }[]];
1931
+ onDelete?: "detach" | "restrict" | undefined;
1932
+ incoming: "0..*" | "0..1" | "1" | "1..*";
1933
+ };
1934
+ } | [{
1935
+ role: string;
1936
+ accepts: [{
1937
+ origin: string;
1938
+ kind: "class";
1939
+ name: string;
1940
+ }, ...{
1941
+ origin: string;
1942
+ kind: "class";
1943
+ name: string;
1944
+ }[]];
1945
+ onDelete?: "detach" | "restrict" | undefined;
1946
+ incident: "0..*" | "0..1" | "1" | "1..*";
1947
+ }, {
1948
+ role: string;
1949
+ accepts: [{
1950
+ origin: string;
1951
+ kind: "class";
1952
+ name: string;
1953
+ }, ...{
1954
+ origin: string;
1955
+ kind: "class";
1956
+ name: string;
1957
+ }[]];
1958
+ onDelete?: "detach" | "restrict" | undefined;
1959
+ incident: "0..*" | "0..1" | "1" | "1..*";
1960
+ }];
1961
+ policies: {
1962
+ read?: false | {
1963
+ origin: string;
1964
+ kind: "policy";
1965
+ name: string;
1966
+ } | undefined;
1967
+ traverse?: false | {
1968
+ origin: string;
1969
+ kind: "policy";
1970
+ name: string;
1971
+ } | undefined;
1972
+ };
1973
+ } & Omit<{
1974
+ ref: {
1975
+ origin: string;
1976
+ kind: "class";
1977
+ name: string;
1978
+ };
1979
+ kind: "edge";
1980
+ abstract: boolean;
1981
+ inheritance?: "final" | "open" | undefined;
1982
+ description?: string | undefined;
1983
+ extends: {
1984
+ origin: string;
1985
+ kind: "class";
1986
+ name: string;
1987
+ }[];
1988
+ properties: Record<string, {
1989
+ required: boolean;
1990
+ auto?: {
1991
+ on: ["create" | "update", ...("create" | "update")[]];
1992
+ set: "instant";
1993
+ } | undefined;
1994
+ immutable?: "create" | "once" | undefined;
1995
+ description?: string | undefined;
1996
+ schema: boolean | Record<string, JsonValue>;
1997
+ }>;
1998
+ constraints: {
1999
+ noSelf?: true | undefined;
2000
+ acyclic?: true | undefined;
2001
+ };
2002
+ unique?: [["slug" | "source" | "target" | {
2003
+ property: `${string}:class.${string}.property.${string}`;
2004
+ }, ...("slug" | "source" | "target" | {
2005
+ property: `${string}:class.${string}.property.${string}`;
2006
+ })[]], ...["slug" | "source" | "target" | {
2007
+ property: `${string}:class.${string}.property.${string}`;
2008
+ }, ...("slug" | "source" | "target" | {
2009
+ property: `${string}:class.${string}.property.${string}`;
2010
+ })[]][]] | undefined;
2011
+ orientation: "directed" | "undirected";
2012
+ endpoints: {
2013
+ source: {
2014
+ role: string;
2015
+ accepts: [{
2016
+ origin: string;
2017
+ kind: "class";
2018
+ name: string;
2019
+ }, ...{
2020
+ origin: string;
2021
+ kind: "class";
2022
+ name: string;
2023
+ }[]];
2024
+ onDelete?: "detach" | "restrict" | undefined;
2025
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2026
+ };
2027
+ target: {
2028
+ role: string;
2029
+ accepts: [{
2030
+ origin: string;
2031
+ kind: "class";
2032
+ name: string;
2033
+ }, ...{
2034
+ origin: string;
2035
+ kind: "class";
2036
+ name: string;
2037
+ }[]];
2038
+ onDelete?: "detach" | "restrict" | undefined;
2039
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2040
+ };
2041
+ } | [{
2042
+ role: string;
2043
+ accepts: [{
2044
+ origin: string;
2045
+ kind: "class";
2046
+ name: string;
2047
+ }, ...{
2048
+ origin: string;
2049
+ kind: "class";
2050
+ name: string;
2051
+ }[]];
2052
+ onDelete?: "detach" | "restrict" | undefined;
2053
+ incident: "0..*" | "0..1" | "1" | "1..*";
2054
+ }, {
2055
+ role: string;
2056
+ accepts: [{
2057
+ origin: string;
2058
+ kind: "class";
2059
+ name: string;
2060
+ }, ...{
2061
+ origin: string;
2062
+ kind: "class";
2063
+ name: string;
2064
+ }[]];
2065
+ onDelete?: "detach" | "restrict" | undefined;
2066
+ incident: "0..*" | "0..1" | "1" | "1..*";
2067
+ }];
2068
+ policies: {
2069
+ read?: false | {
2070
+ origin: string;
2071
+ kind: "policy";
2072
+ name: string;
2073
+ } | undefined;
2074
+ traverse?: false | {
2075
+ origin: string;
2076
+ kind: "policy";
2077
+ name: string;
2078
+ } | undefined;
2079
+ };
2080
+ }, "endpoints" | "orientation"> & {
2081
+ readonly orientation: 'directed';
2082
+ readonly endpoints: {
2083
+ source: {
2084
+ role: string;
2085
+ accepts: [{
2086
+ origin: string;
2087
+ kind: "class";
2088
+ name: string;
2089
+ }, ...{
2090
+ origin: string;
2091
+ kind: "class";
2092
+ name: string;
2093
+ }[]];
2094
+ onDelete?: "detach" | "restrict" | undefined;
2095
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2096
+ };
2097
+ target: {
2098
+ role: string;
2099
+ accepts: [{
2100
+ origin: string;
2101
+ kind: "class";
2102
+ name: string;
2103
+ }, ...{
2104
+ origin: string;
2105
+ kind: "class";
2106
+ name: string;
2107
+ }[]];
2108
+ onDelete?: "detach" | "restrict" | undefined;
2109
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2110
+ };
2111
+ };
2112
+ }) | ({
2113
+ ref: {
2114
+ origin: string;
2115
+ kind: "class";
2116
+ name: string;
2117
+ };
2118
+ kind: "edge";
2119
+ abstract: boolean;
2120
+ inheritance?: "final" | "open" | undefined;
2121
+ description?: string | undefined;
2122
+ extends: {
2123
+ origin: string;
2124
+ kind: "class";
2125
+ name: string;
2126
+ }[];
2127
+ properties: Record<string, {
2128
+ required: boolean;
2129
+ auto?: {
2130
+ on: ["create" | "update", ...("create" | "update")[]];
2131
+ set: "instant";
2132
+ } | undefined;
2133
+ immutable?: "create" | "once" | undefined;
2134
+ description?: string | undefined;
2135
+ schema: boolean | Record<string, JsonValue>;
2136
+ }>;
2137
+ constraints: {
2138
+ noSelf?: true | undefined;
2139
+ acyclic?: true | undefined;
2140
+ };
2141
+ unique?: [["slug" | "source" | "target" | {
2142
+ property: `${string}:class.${string}.property.${string}`;
2143
+ }, ...("slug" | "source" | "target" | {
2144
+ property: `${string}:class.${string}.property.${string}`;
2145
+ })[]], ...["slug" | "source" | "target" | {
2146
+ property: `${string}:class.${string}.property.${string}`;
2147
+ }, ...("slug" | "source" | "target" | {
2148
+ property: `${string}:class.${string}.property.${string}`;
2149
+ })[]][]] | undefined;
2150
+ orientation: "directed" | "undirected";
2151
+ endpoints: {
2152
+ source: {
2153
+ role: string;
2154
+ accepts: [{
2155
+ origin: string;
2156
+ kind: "class";
2157
+ name: string;
2158
+ }, ...{
2159
+ origin: string;
2160
+ kind: "class";
2161
+ name: string;
2162
+ }[]];
2163
+ onDelete?: "detach" | "restrict" | undefined;
2164
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2165
+ };
2166
+ target: {
2167
+ role: string;
2168
+ accepts: [{
2169
+ origin: string;
2170
+ kind: "class";
2171
+ name: string;
2172
+ }, ...{
2173
+ origin: string;
2174
+ kind: "class";
2175
+ name: string;
2176
+ }[]];
2177
+ onDelete?: "detach" | "restrict" | undefined;
2178
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2179
+ };
2180
+ } | [{
2181
+ role: string;
2182
+ accepts: [{
2183
+ origin: string;
2184
+ kind: "class";
2185
+ name: string;
2186
+ }, ...{
2187
+ origin: string;
2188
+ kind: "class";
2189
+ name: string;
2190
+ }[]];
2191
+ onDelete?: "detach" | "restrict" | undefined;
2192
+ incident: "0..*" | "0..1" | "1" | "1..*";
2193
+ }, {
2194
+ role: string;
2195
+ accepts: [{
2196
+ origin: string;
2197
+ kind: "class";
2198
+ name: string;
2199
+ }, ...{
2200
+ origin: string;
2201
+ kind: "class";
2202
+ name: string;
2203
+ }[]];
2204
+ onDelete?: "detach" | "restrict" | undefined;
2205
+ incident: "0..*" | "0..1" | "1" | "1..*";
2206
+ }];
2207
+ policies: {
2208
+ read?: false | {
2209
+ origin: string;
2210
+ kind: "policy";
2211
+ name: string;
2212
+ } | undefined;
2213
+ traverse?: false | {
2214
+ origin: string;
2215
+ kind: "policy";
2216
+ name: string;
2217
+ } | undefined;
2218
+ };
2219
+ } & Omit<{
2220
+ ref: {
2221
+ origin: string;
2222
+ kind: "class";
2223
+ name: string;
2224
+ };
2225
+ kind: "edge";
2226
+ abstract: boolean;
2227
+ inheritance?: "final" | "open" | undefined;
2228
+ description?: string | undefined;
2229
+ extends: {
2230
+ origin: string;
2231
+ kind: "class";
2232
+ name: string;
2233
+ }[];
2234
+ properties: Record<string, {
2235
+ required: boolean;
2236
+ auto?: {
2237
+ on: ["create" | "update", ...("create" | "update")[]];
2238
+ set: "instant";
2239
+ } | undefined;
2240
+ immutable?: "create" | "once" | undefined;
2241
+ description?: string | undefined;
2242
+ schema: boolean | Record<string, JsonValue>;
2243
+ }>;
2244
+ constraints: {
2245
+ noSelf?: true | undefined;
2246
+ acyclic?: true | undefined;
2247
+ };
2248
+ unique?: [["slug" | "source" | "target" | {
2249
+ property: `${string}:class.${string}.property.${string}`;
2250
+ }, ...("slug" | "source" | "target" | {
2251
+ property: `${string}:class.${string}.property.${string}`;
2252
+ })[]], ...["slug" | "source" | "target" | {
2253
+ property: `${string}:class.${string}.property.${string}`;
2254
+ }, ...("slug" | "source" | "target" | {
2255
+ property: `${string}:class.${string}.property.${string}`;
2256
+ })[]][]] | undefined;
2257
+ orientation: "directed" | "undirected";
2258
+ endpoints: {
2259
+ source: {
2260
+ role: string;
2261
+ accepts: [{
2262
+ origin: string;
2263
+ kind: "class";
2264
+ name: string;
2265
+ }, ...{
2266
+ origin: string;
2267
+ kind: "class";
2268
+ name: string;
2269
+ }[]];
2270
+ onDelete?: "detach" | "restrict" | undefined;
2271
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2272
+ };
2273
+ target: {
2274
+ role: string;
2275
+ accepts: [{
2276
+ origin: string;
2277
+ kind: "class";
2278
+ name: string;
2279
+ }, ...{
2280
+ origin: string;
2281
+ kind: "class";
2282
+ name: string;
2283
+ }[]];
2284
+ onDelete?: "detach" | "restrict" | undefined;
2285
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2286
+ };
2287
+ } | [{
2288
+ role: string;
2289
+ accepts: [{
2290
+ origin: string;
2291
+ kind: "class";
2292
+ name: string;
2293
+ }, ...{
2294
+ origin: string;
2295
+ kind: "class";
2296
+ name: string;
2297
+ }[]];
2298
+ onDelete?: "detach" | "restrict" | undefined;
2299
+ incident: "0..*" | "0..1" | "1" | "1..*";
2300
+ }, {
2301
+ role: string;
2302
+ accepts: [{
2303
+ origin: string;
2304
+ kind: "class";
2305
+ name: string;
2306
+ }, ...{
2307
+ origin: string;
2308
+ kind: "class";
2309
+ name: string;
2310
+ }[]];
2311
+ onDelete?: "detach" | "restrict" | undefined;
2312
+ incident: "0..*" | "0..1" | "1" | "1..*";
2313
+ }];
2314
+ policies: {
2315
+ read?: false | {
2316
+ origin: string;
2317
+ kind: "policy";
2318
+ name: string;
2319
+ } | undefined;
2320
+ traverse?: false | {
2321
+ origin: string;
2322
+ kind: "policy";
2323
+ name: string;
2324
+ } | undefined;
2325
+ };
2326
+ }, "endpoints" | "orientation"> & {
2327
+ readonly orientation: 'undirected';
2328
+ readonly endpoints: [{
2329
+ role: string;
2330
+ accepts: [{
2331
+ origin: string;
2332
+ kind: "class";
2333
+ name: string;
2334
+ }, ...{
2335
+ origin: string;
2336
+ kind: "class";
2337
+ name: string;
2338
+ }[]];
2339
+ onDelete?: "detach" | "restrict" | undefined;
2340
+ incident: "0..*" | "0..1" | "1" | "1..*";
2341
+ }, {
2342
+ role: string;
2343
+ accepts: [{
2344
+ origin: string;
2345
+ kind: "class";
2346
+ name: string;
2347
+ }, ...{
2348
+ origin: string;
2349
+ kind: "class";
2350
+ name: string;
2351
+ }[]];
2352
+ onDelete?: "detach" | "restrict" | undefined;
2353
+ incident: "0..*" | "0..1" | "1" | "1..*";
2354
+ }];
2355
+ } & Omit<{
2356
+ ref: {
2357
+ origin: string;
2358
+ kind: "class";
2359
+ name: string;
2360
+ };
2361
+ kind: "edge";
2362
+ abstract: boolean;
2363
+ inheritance?: "final" | "open" | undefined;
2364
+ description?: string | undefined;
2365
+ extends: {
2366
+ origin: string;
2367
+ kind: "class";
2368
+ name: string;
2369
+ }[];
2370
+ properties: Record<string, {
2371
+ required: boolean;
2372
+ auto?: {
2373
+ on: ["create" | "update", ...("create" | "update")[]];
2374
+ set: "instant";
2375
+ } | undefined;
2376
+ immutable?: "create" | "once" | undefined;
2377
+ description?: string | undefined;
2378
+ schema: boolean | Record<string, JsonValue>;
2379
+ }>;
2380
+ constraints: {
2381
+ noSelf?: true | undefined;
2382
+ acyclic?: true | undefined;
2383
+ };
2384
+ unique?: [["slug" | "source" | "target" | {
2385
+ property: `${string}:class.${string}.property.${string}`;
2386
+ }, ...("slug" | "source" | "target" | {
2387
+ property: `${string}:class.${string}.property.${string}`;
2388
+ })[]], ...["slug" | "source" | "target" | {
2389
+ property: `${string}:class.${string}.property.${string}`;
2390
+ }, ...("slug" | "source" | "target" | {
2391
+ property: `${string}:class.${string}.property.${string}`;
2392
+ })[]][]] | undefined;
2393
+ orientation: "directed" | "undirected";
2394
+ endpoints: {
2395
+ source: {
2396
+ role: string;
2397
+ accepts: [{
2398
+ origin: string;
2399
+ kind: "class";
2400
+ name: string;
2401
+ }, ...{
2402
+ origin: string;
2403
+ kind: "class";
2404
+ name: string;
2405
+ }[]];
2406
+ onDelete?: "detach" | "restrict" | undefined;
2407
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2408
+ };
2409
+ target: {
2410
+ role: string;
2411
+ accepts: [{
2412
+ origin: string;
2413
+ kind: "class";
2414
+ name: string;
2415
+ }, ...{
2416
+ origin: string;
2417
+ kind: "class";
2418
+ name: string;
2419
+ }[]];
2420
+ onDelete?: "detach" | "restrict" | undefined;
2421
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2422
+ };
2423
+ } | [{
2424
+ role: string;
2425
+ accepts: [{
2426
+ origin: string;
2427
+ kind: "class";
2428
+ name: string;
2429
+ }, ...{
2430
+ origin: string;
2431
+ kind: "class";
2432
+ name: string;
2433
+ }[]];
2434
+ onDelete?: "detach" | "restrict" | undefined;
2435
+ incident: "0..*" | "0..1" | "1" | "1..*";
2436
+ }, {
2437
+ role: string;
2438
+ accepts: [{
2439
+ origin: string;
2440
+ kind: "class";
2441
+ name: string;
2442
+ }, ...{
2443
+ origin: string;
2444
+ kind: "class";
2445
+ name: string;
2446
+ }[]];
2447
+ onDelete?: "detach" | "restrict" | undefined;
2448
+ incident: "0..*" | "0..1" | "1" | "1..*";
2449
+ }];
2450
+ policies: {
2451
+ read?: false | {
2452
+ origin: string;
2453
+ kind: "policy";
2454
+ name: string;
2455
+ } | undefined;
2456
+ traverse?: false | {
2457
+ origin: string;
2458
+ kind: "policy";
2459
+ name: string;
2460
+ } | undefined;
2461
+ };
2462
+ } & Omit<{
2463
+ ref: {
2464
+ origin: string;
2465
+ kind: "class";
2466
+ name: string;
2467
+ };
2468
+ kind: "edge";
2469
+ abstract: boolean;
2470
+ inheritance?: "final" | "open" | undefined;
2471
+ description?: string | undefined;
2472
+ extends: {
2473
+ origin: string;
2474
+ kind: "class";
2475
+ name: string;
2476
+ }[];
2477
+ properties: Record<string, {
2478
+ required: boolean;
2479
+ auto?: {
2480
+ on: ["create" | "update", ...("create" | "update")[]];
2481
+ set: "instant";
2482
+ } | undefined;
2483
+ immutable?: "create" | "once" | undefined;
2484
+ description?: string | undefined;
2485
+ schema: boolean | Record<string, JsonValue>;
2486
+ }>;
2487
+ constraints: {
2488
+ noSelf?: true | undefined;
2489
+ acyclic?: true | undefined;
2490
+ };
2491
+ unique?: [["slug" | "source" | "target" | {
2492
+ property: `${string}:class.${string}.property.${string}`;
2493
+ }, ...("slug" | "source" | "target" | {
2494
+ property: `${string}:class.${string}.property.${string}`;
2495
+ })[]], ...["slug" | "source" | "target" | {
2496
+ property: `${string}:class.${string}.property.${string}`;
2497
+ }, ...("slug" | "source" | "target" | {
2498
+ property: `${string}:class.${string}.property.${string}`;
2499
+ })[]][]] | undefined;
2500
+ orientation: "directed" | "undirected";
2501
+ endpoints: {
2502
+ source: {
2503
+ role: string;
2504
+ accepts: [{
2505
+ origin: string;
2506
+ kind: "class";
2507
+ name: string;
2508
+ }, ...{
2509
+ origin: string;
2510
+ kind: "class";
2511
+ name: string;
2512
+ }[]];
2513
+ onDelete?: "detach" | "restrict" | undefined;
2514
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2515
+ };
2516
+ target: {
2517
+ role: string;
2518
+ accepts: [{
2519
+ origin: string;
2520
+ kind: "class";
2521
+ name: string;
2522
+ }, ...{
2523
+ origin: string;
2524
+ kind: "class";
2525
+ name: string;
2526
+ }[]];
2527
+ onDelete?: "detach" | "restrict" | undefined;
2528
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2529
+ };
2530
+ } | [{
2531
+ role: string;
2532
+ accepts: [{
2533
+ origin: string;
2534
+ kind: "class";
2535
+ name: string;
2536
+ }, ...{
2537
+ origin: string;
2538
+ kind: "class";
2539
+ name: string;
2540
+ }[]];
2541
+ onDelete?: "detach" | "restrict" | undefined;
2542
+ incident: "0..*" | "0..1" | "1" | "1..*";
2543
+ }, {
2544
+ role: string;
2545
+ accepts: [{
2546
+ origin: string;
2547
+ kind: "class";
2548
+ name: string;
2549
+ }, ...{
2550
+ origin: string;
2551
+ kind: "class";
2552
+ name: string;
2553
+ }[]];
2554
+ onDelete?: "detach" | "restrict" | undefined;
2555
+ incident: "0..*" | "0..1" | "1" | "1..*";
2556
+ }];
2557
+ policies: {
2558
+ read?: false | {
2559
+ origin: string;
2560
+ kind: "policy";
2561
+ name: string;
2562
+ } | undefined;
2563
+ traverse?: false | {
2564
+ origin: string;
2565
+ kind: "policy";
2566
+ name: string;
2567
+ } | undefined;
2568
+ };
2569
+ }, "endpoints" | "orientation"> & {
2570
+ readonly orientation: 'undirected';
2571
+ readonly endpoints: [{
2572
+ role: string;
2573
+ accepts: [{
2574
+ origin: string;
2575
+ kind: "class";
2576
+ name: string;
2577
+ }, ...{
2578
+ origin: string;
2579
+ kind: "class";
2580
+ name: string;
2581
+ }[]];
2582
+ onDelete?: "detach" | "restrict" | undefined;
2583
+ incident: "0..*" | "0..1" | "1" | "1..*";
2584
+ }, {
2585
+ role: string;
2586
+ accepts: [{
2587
+ origin: string;
2588
+ kind: "class";
2589
+ name: string;
2590
+ }, ...{
2591
+ origin: string;
2592
+ kind: "class";
2593
+ name: string;
2594
+ }[]];
2595
+ onDelete?: "detach" | "restrict" | undefined;
2596
+ incident: "0..*" | "0..1" | "1" | "1..*";
2597
+ }];
2598
+ }, "unique"> & {
2599
+ readonly unique?: never;
2600
+ })>, {
2601
+ ref: {
2602
+ origin: string;
2603
+ kind: "class";
2604
+ name: string;
2605
+ };
2606
+ kind: "edge";
2607
+ abstract: boolean;
2608
+ inheritance?: "final" | "open" | undefined;
2609
+ description?: string | undefined;
2610
+ extends: {
2611
+ origin: string;
2612
+ kind: "class";
2613
+ name: string;
2614
+ }[];
2615
+ properties: Record<string, {
2616
+ required: boolean;
2617
+ auto?: {
2618
+ on: ["create" | "update", ...("create" | "update")[]];
2619
+ set: "instant";
2620
+ } | undefined;
2621
+ immutable?: "create" | "once" | undefined;
2622
+ description?: string | undefined;
2623
+ schema: boolean | Record<string, unknown>;
2624
+ }>;
2625
+ constraints: {
2626
+ noSelf?: true | undefined;
2627
+ acyclic?: true | undefined;
2628
+ };
2629
+ unique?: [["slug" | "source" | "target" | {
2630
+ property: string;
2631
+ }, ...("slug" | "source" | "target" | {
2632
+ property: string;
2633
+ })[]], ...["slug" | "source" | "target" | {
2634
+ property: string;
2635
+ }, ...("slug" | "source" | "target" | {
2636
+ property: string;
2637
+ })[]][]] | undefined;
2638
+ orientation: "directed" | "undirected";
2639
+ endpoints: {
2640
+ source: {
2641
+ role: string;
2642
+ accepts: [{
2643
+ origin: string;
2644
+ kind: "class";
2645
+ name: string;
2646
+ }, ...{
2647
+ origin: string;
2648
+ kind: "class";
2649
+ name: string;
2650
+ }[]];
2651
+ onDelete?: "detach" | "restrict" | undefined;
2652
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2653
+ };
2654
+ target: {
2655
+ role: string;
2656
+ accepts: [{
2657
+ origin: string;
2658
+ kind: "class";
2659
+ name: string;
2660
+ }, ...{
2661
+ origin: string;
2662
+ kind: "class";
2663
+ name: string;
2664
+ }[]];
2665
+ onDelete?: "detach" | "restrict" | undefined;
2666
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2667
+ };
2668
+ } | [{
2669
+ role: string;
2670
+ accepts: [{
2671
+ origin: string;
2672
+ kind: "class";
2673
+ name: string;
2674
+ }, ...{
2675
+ origin: string;
2676
+ kind: "class";
2677
+ name: string;
2678
+ }[]];
2679
+ onDelete?: "detach" | "restrict" | undefined;
2680
+ incident: "0..*" | "0..1" | "1" | "1..*";
2681
+ }, {
2682
+ role: string;
2683
+ accepts: [{
2684
+ origin: string;
2685
+ kind: "class";
2686
+ name: string;
2687
+ }, ...{
2688
+ origin: string;
2689
+ kind: "class";
2690
+ name: string;
2691
+ }[]];
2692
+ onDelete?: "detach" | "restrict" | undefined;
2693
+ incident: "0..*" | "0..1" | "1" | "1..*";
2694
+ }];
2695
+ policies: {
2696
+ read?: false | {
2697
+ origin: string;
2698
+ kind: "policy";
2699
+ name: string;
2700
+ } | undefined;
2701
+ traverse?: false | {
2702
+ origin: string;
2703
+ kind: "policy";
2704
+ name: string;
2705
+ } | undefined;
2706
+ };
2707
+ }, zodCore.$ZodTypeInternals<DirectedAcyclic<({
2708
+ ref: {
2709
+ origin: string;
2710
+ kind: "class";
2711
+ name: string;
2712
+ };
2713
+ kind: "edge";
2714
+ abstract: boolean;
2715
+ inheritance?: "final" | "open" | undefined;
2716
+ description?: string | undefined;
2717
+ extends: {
2718
+ origin: string;
2719
+ kind: "class";
2720
+ name: string;
2721
+ }[];
2722
+ properties: Record<string, {
2723
+ required: boolean;
2724
+ auto?: {
2725
+ on: ["create" | "update", ...("create" | "update")[]];
2726
+ set: "instant";
2727
+ } | undefined;
2728
+ immutable?: "create" | "once" | undefined;
2729
+ description?: string | undefined;
2730
+ schema: boolean | Record<string, JsonValue>;
2731
+ }>;
2732
+ constraints: {
2733
+ noSelf?: true | undefined;
2734
+ acyclic?: true | undefined;
2735
+ };
2736
+ unique?: [["slug" | "source" | "target" | {
2737
+ property: `${string}:class.${string}.property.${string}`;
2738
+ }, ...("slug" | "source" | "target" | {
2739
+ property: `${string}:class.${string}.property.${string}`;
2740
+ })[]], ...["slug" | "source" | "target" | {
2741
+ property: `${string}:class.${string}.property.${string}`;
2742
+ }, ...("slug" | "source" | "target" | {
2743
+ property: `${string}:class.${string}.property.${string}`;
2744
+ })[]][]] | undefined;
2745
+ orientation: "directed" | "undirected";
2746
+ endpoints: {
2747
+ source: {
2748
+ role: string;
2749
+ accepts: [{
2750
+ origin: string;
2751
+ kind: "class";
2752
+ name: string;
2753
+ }, ...{
2754
+ origin: string;
2755
+ kind: "class";
2756
+ name: string;
2757
+ }[]];
2758
+ onDelete?: "detach" | "restrict" | undefined;
2759
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2760
+ };
2761
+ target: {
2762
+ role: string;
2763
+ accepts: [{
2764
+ origin: string;
2765
+ kind: "class";
2766
+ name: string;
2767
+ }, ...{
2768
+ origin: string;
2769
+ kind: "class";
2770
+ name: string;
2771
+ }[]];
2772
+ onDelete?: "detach" | "restrict" | undefined;
2773
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2774
+ };
2775
+ } | [{
2776
+ role: string;
2777
+ accepts: [{
2778
+ origin: string;
2779
+ kind: "class";
2780
+ name: string;
2781
+ }, ...{
2782
+ origin: string;
2783
+ kind: "class";
2784
+ name: string;
2785
+ }[]];
2786
+ onDelete?: "detach" | "restrict" | undefined;
2787
+ incident: "0..*" | "0..1" | "1" | "1..*";
2788
+ }, {
2789
+ role: string;
2790
+ accepts: [{
2791
+ origin: string;
2792
+ kind: "class";
2793
+ name: string;
2794
+ }, ...{
2795
+ origin: string;
2796
+ kind: "class";
2797
+ name: string;
2798
+ }[]];
2799
+ onDelete?: "detach" | "restrict" | undefined;
2800
+ incident: "0..*" | "0..1" | "1" | "1..*";
2801
+ }];
2802
+ policies: {
2803
+ read?: false | {
2804
+ origin: string;
2805
+ kind: "policy";
2806
+ name: string;
2807
+ } | undefined;
2808
+ traverse?: false | {
2809
+ origin: string;
2810
+ kind: "policy";
2811
+ name: string;
2812
+ } | undefined;
2813
+ };
2814
+ } & Omit<{
2815
+ ref: {
2816
+ origin: string;
2817
+ kind: "class";
2818
+ name: string;
2819
+ };
2820
+ kind: "edge";
2821
+ abstract: boolean;
2822
+ inheritance?: "final" | "open" | undefined;
2823
+ description?: string | undefined;
2824
+ extends: {
2825
+ origin: string;
2826
+ kind: "class";
2827
+ name: string;
2828
+ }[];
2829
+ properties: Record<string, {
2830
+ required: boolean;
2831
+ auto?: {
2832
+ on: ["create" | "update", ...("create" | "update")[]];
2833
+ set: "instant";
2834
+ } | undefined;
2835
+ immutable?: "create" | "once" | undefined;
2836
+ description?: string | undefined;
2837
+ schema: boolean | Record<string, JsonValue>;
2838
+ }>;
2839
+ constraints: {
2840
+ noSelf?: true | undefined;
2841
+ acyclic?: true | undefined;
2842
+ };
2843
+ unique?: [["slug" | "source" | "target" | {
2844
+ property: `${string}:class.${string}.property.${string}`;
2845
+ }, ...("slug" | "source" | "target" | {
2846
+ property: `${string}:class.${string}.property.${string}`;
2847
+ })[]], ...["slug" | "source" | "target" | {
2848
+ property: `${string}:class.${string}.property.${string}`;
2849
+ }, ...("slug" | "source" | "target" | {
2850
+ property: `${string}:class.${string}.property.${string}`;
2851
+ })[]][]] | undefined;
2852
+ orientation: "directed" | "undirected";
2853
+ endpoints: {
2854
+ source: {
2855
+ role: string;
2856
+ accepts: [{
2857
+ origin: string;
2858
+ kind: "class";
2859
+ name: string;
2860
+ }, ...{
2861
+ origin: string;
2862
+ kind: "class";
2863
+ name: string;
2864
+ }[]];
2865
+ onDelete?: "detach" | "restrict" | undefined;
2866
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2867
+ };
2868
+ target: {
2869
+ role: string;
2870
+ accepts: [{
2871
+ origin: string;
2872
+ kind: "class";
2873
+ name: string;
2874
+ }, ...{
2875
+ origin: string;
2876
+ kind: "class";
2877
+ name: string;
2878
+ }[]];
2879
+ onDelete?: "detach" | "restrict" | undefined;
2880
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2881
+ };
2882
+ } | [{
2883
+ role: string;
2884
+ accepts: [{
2885
+ origin: string;
2886
+ kind: "class";
2887
+ name: string;
2888
+ }, ...{
2889
+ origin: string;
2890
+ kind: "class";
2891
+ name: string;
2892
+ }[]];
2893
+ onDelete?: "detach" | "restrict" | undefined;
2894
+ incident: "0..*" | "0..1" | "1" | "1..*";
2895
+ }, {
2896
+ role: string;
2897
+ accepts: [{
2898
+ origin: string;
2899
+ kind: "class";
2900
+ name: string;
2901
+ }, ...{
2902
+ origin: string;
2903
+ kind: "class";
2904
+ name: string;
2905
+ }[]];
2906
+ onDelete?: "detach" | "restrict" | undefined;
2907
+ incident: "0..*" | "0..1" | "1" | "1..*";
2908
+ }];
2909
+ policies: {
2910
+ read?: false | {
2911
+ origin: string;
2912
+ kind: "policy";
2913
+ name: string;
2914
+ } | undefined;
2915
+ traverse?: false | {
2916
+ origin: string;
2917
+ kind: "policy";
2918
+ name: string;
2919
+ } | undefined;
2920
+ };
2921
+ }, "endpoints" | "orientation"> & {
2922
+ readonly orientation: 'directed';
2923
+ readonly endpoints: {
2924
+ source: {
2925
+ role: string;
2926
+ accepts: [{
2927
+ origin: string;
2928
+ kind: "class";
2929
+ name: string;
2930
+ }, ...{
2931
+ origin: string;
2932
+ kind: "class";
2933
+ name: string;
2934
+ }[]];
2935
+ onDelete?: "detach" | "restrict" | undefined;
2936
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
2937
+ };
2938
+ target: {
2939
+ role: string;
2940
+ accepts: [{
2941
+ origin: string;
2942
+ kind: "class";
2943
+ name: string;
2944
+ }, ...{
2945
+ origin: string;
2946
+ kind: "class";
2947
+ name: string;
2948
+ }[]];
2949
+ onDelete?: "detach" | "restrict" | undefined;
2950
+ incoming: "0..*" | "0..1" | "1" | "1..*";
2951
+ };
2952
+ };
2953
+ }) | ({
2954
+ ref: {
2955
+ origin: string;
2956
+ kind: "class";
2957
+ name: string;
2958
+ };
2959
+ kind: "edge";
2960
+ abstract: boolean;
2961
+ inheritance?: "final" | "open" | undefined;
2962
+ description?: string | undefined;
2963
+ extends: {
2964
+ origin: string;
2965
+ kind: "class";
2966
+ name: string;
2967
+ }[];
2968
+ properties: Record<string, {
2969
+ required: boolean;
2970
+ auto?: {
2971
+ on: ["create" | "update", ...("create" | "update")[]];
2972
+ set: "instant";
2973
+ } | undefined;
2974
+ immutable?: "create" | "once" | undefined;
2975
+ description?: string | undefined;
2976
+ schema: boolean | Record<string, JsonValue>;
2977
+ }>;
2978
+ constraints: {
2979
+ noSelf?: true | undefined;
2980
+ acyclic?: true | undefined;
2981
+ };
2982
+ unique?: [["slug" | "source" | "target" | {
2983
+ property: `${string}:class.${string}.property.${string}`;
2984
+ }, ...("slug" | "source" | "target" | {
2985
+ property: `${string}:class.${string}.property.${string}`;
2986
+ })[]], ...["slug" | "source" | "target" | {
2987
+ property: `${string}:class.${string}.property.${string}`;
2988
+ }, ...("slug" | "source" | "target" | {
2989
+ property: `${string}:class.${string}.property.${string}`;
2990
+ })[]][]] | undefined;
2991
+ orientation: "directed" | "undirected";
2992
+ endpoints: {
2993
+ source: {
2994
+ role: string;
2995
+ accepts: [{
2996
+ origin: string;
2997
+ kind: "class";
2998
+ name: string;
2999
+ }, ...{
3000
+ origin: string;
3001
+ kind: "class";
3002
+ name: string;
3003
+ }[]];
3004
+ onDelete?: "detach" | "restrict" | undefined;
3005
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
3006
+ };
3007
+ target: {
3008
+ role: string;
3009
+ accepts: [{
3010
+ origin: string;
3011
+ kind: "class";
3012
+ name: string;
3013
+ }, ...{
3014
+ origin: string;
3015
+ kind: "class";
3016
+ name: string;
3017
+ }[]];
3018
+ onDelete?: "detach" | "restrict" | undefined;
3019
+ incoming: "0..*" | "0..1" | "1" | "1..*";
3020
+ };
3021
+ } | [{
3022
+ role: string;
3023
+ accepts: [{
3024
+ origin: string;
3025
+ kind: "class";
3026
+ name: string;
3027
+ }, ...{
3028
+ origin: string;
3029
+ kind: "class";
3030
+ name: string;
3031
+ }[]];
3032
+ onDelete?: "detach" | "restrict" | undefined;
3033
+ incident: "0..*" | "0..1" | "1" | "1..*";
3034
+ }, {
3035
+ role: string;
3036
+ accepts: [{
3037
+ origin: string;
3038
+ kind: "class";
3039
+ name: string;
3040
+ }, ...{
3041
+ origin: string;
3042
+ kind: "class";
3043
+ name: string;
3044
+ }[]];
3045
+ onDelete?: "detach" | "restrict" | undefined;
3046
+ incident: "0..*" | "0..1" | "1" | "1..*";
3047
+ }];
3048
+ policies: {
3049
+ read?: false | {
3050
+ origin: string;
3051
+ kind: "policy";
3052
+ name: string;
3053
+ } | undefined;
3054
+ traverse?: false | {
3055
+ origin: string;
3056
+ kind: "policy";
3057
+ name: string;
3058
+ } | undefined;
3059
+ };
3060
+ } & Omit<{
3061
+ ref: {
3062
+ origin: string;
3063
+ kind: "class";
3064
+ name: string;
3065
+ };
3066
+ kind: "edge";
3067
+ abstract: boolean;
3068
+ inheritance?: "final" | "open" | undefined;
3069
+ description?: string | undefined;
3070
+ extends: {
3071
+ origin: string;
3072
+ kind: "class";
3073
+ name: string;
3074
+ }[];
3075
+ properties: Record<string, {
3076
+ required: boolean;
3077
+ auto?: {
3078
+ on: ["create" | "update", ...("create" | "update")[]];
3079
+ set: "instant";
3080
+ } | undefined;
3081
+ immutable?: "create" | "once" | undefined;
3082
+ description?: string | undefined;
3083
+ schema: boolean | Record<string, JsonValue>;
3084
+ }>;
3085
+ constraints: {
3086
+ noSelf?: true | undefined;
3087
+ acyclic?: true | undefined;
3088
+ };
3089
+ unique?: [["slug" | "source" | "target" | {
3090
+ property: `${string}:class.${string}.property.${string}`;
3091
+ }, ...("slug" | "source" | "target" | {
3092
+ property: `${string}:class.${string}.property.${string}`;
3093
+ })[]], ...["slug" | "source" | "target" | {
3094
+ property: `${string}:class.${string}.property.${string}`;
3095
+ }, ...("slug" | "source" | "target" | {
3096
+ property: `${string}:class.${string}.property.${string}`;
3097
+ })[]][]] | undefined;
3098
+ orientation: "directed" | "undirected";
3099
+ endpoints: {
3100
+ source: {
3101
+ role: string;
3102
+ accepts: [{
3103
+ origin: string;
3104
+ kind: "class";
3105
+ name: string;
3106
+ }, ...{
3107
+ origin: string;
3108
+ kind: "class";
3109
+ name: string;
3110
+ }[]];
3111
+ onDelete?: "detach" | "restrict" | undefined;
3112
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
3113
+ };
3114
+ target: {
3115
+ role: string;
3116
+ accepts: [{
3117
+ origin: string;
3118
+ kind: "class";
3119
+ name: string;
3120
+ }, ...{
3121
+ origin: string;
3122
+ kind: "class";
3123
+ name: string;
3124
+ }[]];
3125
+ onDelete?: "detach" | "restrict" | undefined;
3126
+ incoming: "0..*" | "0..1" | "1" | "1..*";
3127
+ };
3128
+ } | [{
3129
+ role: string;
3130
+ accepts: [{
3131
+ origin: string;
3132
+ kind: "class";
3133
+ name: string;
3134
+ }, ...{
3135
+ origin: string;
3136
+ kind: "class";
3137
+ name: string;
3138
+ }[]];
3139
+ onDelete?: "detach" | "restrict" | undefined;
3140
+ incident: "0..*" | "0..1" | "1" | "1..*";
3141
+ }, {
3142
+ role: string;
3143
+ accepts: [{
3144
+ origin: string;
3145
+ kind: "class";
3146
+ name: string;
3147
+ }, ...{
3148
+ origin: string;
3149
+ kind: "class";
3150
+ name: string;
3151
+ }[]];
3152
+ onDelete?: "detach" | "restrict" | undefined;
3153
+ incident: "0..*" | "0..1" | "1" | "1..*";
3154
+ }];
3155
+ policies: {
3156
+ read?: false | {
3157
+ origin: string;
3158
+ kind: "policy";
3159
+ name: string;
3160
+ } | undefined;
3161
+ traverse?: false | {
3162
+ origin: string;
3163
+ kind: "policy";
3164
+ name: string;
3165
+ } | undefined;
3166
+ };
3167
+ }, "endpoints" | "orientation"> & {
3168
+ readonly orientation: 'undirected';
3169
+ readonly endpoints: [{
3170
+ role: string;
3171
+ accepts: [{
3172
+ origin: string;
3173
+ kind: "class";
3174
+ name: string;
3175
+ }, ...{
3176
+ origin: string;
3177
+ kind: "class";
3178
+ name: string;
3179
+ }[]];
3180
+ onDelete?: "detach" | "restrict" | undefined;
3181
+ incident: "0..*" | "0..1" | "1" | "1..*";
3182
+ }, {
3183
+ role: string;
3184
+ accepts: [{
3185
+ origin: string;
3186
+ kind: "class";
3187
+ name: string;
3188
+ }, ...{
3189
+ origin: string;
3190
+ kind: "class";
3191
+ name: string;
3192
+ }[]];
3193
+ onDelete?: "detach" | "restrict" | undefined;
3194
+ incident: "0..*" | "0..1" | "1" | "1..*";
3195
+ }];
3196
+ } & Omit<{
3197
+ ref: {
3198
+ origin: string;
3199
+ kind: "class";
3200
+ name: string;
3201
+ };
3202
+ kind: "edge";
3203
+ abstract: boolean;
3204
+ inheritance?: "final" | "open" | undefined;
3205
+ description?: string | undefined;
3206
+ extends: {
3207
+ origin: string;
3208
+ kind: "class";
3209
+ name: string;
3210
+ }[];
3211
+ properties: Record<string, {
3212
+ required: boolean;
3213
+ auto?: {
3214
+ on: ["create" | "update", ...("create" | "update")[]];
3215
+ set: "instant";
3216
+ } | undefined;
3217
+ immutable?: "create" | "once" | undefined;
3218
+ description?: string | undefined;
3219
+ schema: boolean | Record<string, JsonValue>;
3220
+ }>;
3221
+ constraints: {
3222
+ noSelf?: true | undefined;
3223
+ acyclic?: true | undefined;
3224
+ };
3225
+ unique?: [["slug" | "source" | "target" | {
3226
+ property: `${string}:class.${string}.property.${string}`;
3227
+ }, ...("slug" | "source" | "target" | {
3228
+ property: `${string}:class.${string}.property.${string}`;
3229
+ })[]], ...["slug" | "source" | "target" | {
3230
+ property: `${string}:class.${string}.property.${string}`;
3231
+ }, ...("slug" | "source" | "target" | {
3232
+ property: `${string}:class.${string}.property.${string}`;
3233
+ })[]][]] | undefined;
3234
+ orientation: "directed" | "undirected";
3235
+ endpoints: {
3236
+ source: {
3237
+ role: string;
3238
+ accepts: [{
3239
+ origin: string;
3240
+ kind: "class";
3241
+ name: string;
3242
+ }, ...{
3243
+ origin: string;
3244
+ kind: "class";
3245
+ name: string;
3246
+ }[]];
3247
+ onDelete?: "detach" | "restrict" | undefined;
3248
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
3249
+ };
3250
+ target: {
3251
+ role: string;
3252
+ accepts: [{
3253
+ origin: string;
3254
+ kind: "class";
3255
+ name: string;
3256
+ }, ...{
3257
+ origin: string;
3258
+ kind: "class";
3259
+ name: string;
3260
+ }[]];
3261
+ onDelete?: "detach" | "restrict" | undefined;
3262
+ incoming: "0..*" | "0..1" | "1" | "1..*";
3263
+ };
3264
+ } | [{
3265
+ role: string;
3266
+ accepts: [{
3267
+ origin: string;
3268
+ kind: "class";
3269
+ name: string;
3270
+ }, ...{
3271
+ origin: string;
3272
+ kind: "class";
3273
+ name: string;
3274
+ }[]];
3275
+ onDelete?: "detach" | "restrict" | undefined;
3276
+ incident: "0..*" | "0..1" | "1" | "1..*";
3277
+ }, {
3278
+ role: string;
3279
+ accepts: [{
3280
+ origin: string;
3281
+ kind: "class";
3282
+ name: string;
3283
+ }, ...{
3284
+ origin: string;
3285
+ kind: "class";
3286
+ name: string;
3287
+ }[]];
3288
+ onDelete?: "detach" | "restrict" | undefined;
3289
+ incident: "0..*" | "0..1" | "1" | "1..*";
3290
+ }];
3291
+ policies: {
3292
+ read?: false | {
3293
+ origin: string;
3294
+ kind: "policy";
3295
+ name: string;
3296
+ } | undefined;
3297
+ traverse?: false | {
3298
+ origin: string;
3299
+ kind: "policy";
3300
+ name: string;
3301
+ } | undefined;
3302
+ };
3303
+ } & Omit<{
3304
+ ref: {
3305
+ origin: string;
3306
+ kind: "class";
3307
+ name: string;
3308
+ };
3309
+ kind: "edge";
3310
+ abstract: boolean;
3311
+ inheritance?: "final" | "open" | undefined;
3312
+ description?: string | undefined;
3313
+ extends: {
3314
+ origin: string;
3315
+ kind: "class";
3316
+ name: string;
3317
+ }[];
3318
+ properties: Record<string, {
3319
+ required: boolean;
3320
+ auto?: {
3321
+ on: ["create" | "update", ...("create" | "update")[]];
3322
+ set: "instant";
3323
+ } | undefined;
3324
+ immutable?: "create" | "once" | undefined;
3325
+ description?: string | undefined;
3326
+ schema: boolean | Record<string, JsonValue>;
3327
+ }>;
3328
+ constraints: {
3329
+ noSelf?: true | undefined;
3330
+ acyclic?: true | undefined;
3331
+ };
3332
+ unique?: [["slug" | "source" | "target" | {
3333
+ property: `${string}:class.${string}.property.${string}`;
3334
+ }, ...("slug" | "source" | "target" | {
3335
+ property: `${string}:class.${string}.property.${string}`;
3336
+ })[]], ...["slug" | "source" | "target" | {
3337
+ property: `${string}:class.${string}.property.${string}`;
3338
+ }, ...("slug" | "source" | "target" | {
3339
+ property: `${string}:class.${string}.property.${string}`;
3340
+ })[]][]] | undefined;
3341
+ orientation: "directed" | "undirected";
3342
+ endpoints: {
3343
+ source: {
3344
+ role: string;
3345
+ accepts: [{
3346
+ origin: string;
3347
+ kind: "class";
3348
+ name: string;
3349
+ }, ...{
3350
+ origin: string;
3351
+ kind: "class";
3352
+ name: string;
3353
+ }[]];
3354
+ onDelete?: "detach" | "restrict" | undefined;
3355
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
3356
+ };
3357
+ target: {
3358
+ role: string;
3359
+ accepts: [{
3360
+ origin: string;
3361
+ kind: "class";
3362
+ name: string;
3363
+ }, ...{
3364
+ origin: string;
3365
+ kind: "class";
3366
+ name: string;
3367
+ }[]];
3368
+ onDelete?: "detach" | "restrict" | undefined;
3369
+ incoming: "0..*" | "0..1" | "1" | "1..*";
3370
+ };
3371
+ } | [{
3372
+ role: string;
3373
+ accepts: [{
3374
+ origin: string;
3375
+ kind: "class";
3376
+ name: string;
3377
+ }, ...{
3378
+ origin: string;
3379
+ kind: "class";
3380
+ name: string;
3381
+ }[]];
3382
+ onDelete?: "detach" | "restrict" | undefined;
3383
+ incident: "0..*" | "0..1" | "1" | "1..*";
3384
+ }, {
3385
+ role: string;
3386
+ accepts: [{
3387
+ origin: string;
3388
+ kind: "class";
3389
+ name: string;
3390
+ }, ...{
3391
+ origin: string;
3392
+ kind: "class";
3393
+ name: string;
3394
+ }[]];
3395
+ onDelete?: "detach" | "restrict" | undefined;
3396
+ incident: "0..*" | "0..1" | "1" | "1..*";
3397
+ }];
3398
+ policies: {
3399
+ read?: false | {
3400
+ origin: string;
3401
+ kind: "policy";
3402
+ name: string;
3403
+ } | undefined;
3404
+ traverse?: false | {
3405
+ origin: string;
3406
+ kind: "policy";
3407
+ name: string;
3408
+ } | undefined;
3409
+ };
3410
+ }, "endpoints" | "orientation"> & {
3411
+ readonly orientation: 'undirected';
3412
+ readonly endpoints: [{
3413
+ role: string;
3414
+ accepts: [{
3415
+ origin: string;
3416
+ kind: "class";
3417
+ name: string;
3418
+ }, ...{
3419
+ origin: string;
3420
+ kind: "class";
3421
+ name: string;
3422
+ }[]];
3423
+ onDelete?: "detach" | "restrict" | undefined;
3424
+ incident: "0..*" | "0..1" | "1" | "1..*";
3425
+ }, {
3426
+ role: string;
3427
+ accepts: [{
3428
+ origin: string;
3429
+ kind: "class";
3430
+ name: string;
3431
+ }, ...{
3432
+ origin: string;
3433
+ kind: "class";
3434
+ name: string;
3435
+ }[]];
3436
+ onDelete?: "detach" | "restrict" | undefined;
3437
+ incident: "0..*" | "0..1" | "1" | "1..*";
3438
+ }];
3439
+ }, "unique"> & {
3440
+ readonly unique?: never;
3441
+ })>, {
3442
+ ref: {
3443
+ origin: string;
3444
+ kind: "class";
3445
+ name: string;
3446
+ };
3447
+ kind: "edge";
3448
+ abstract: boolean;
3449
+ inheritance?: "final" | "open" | undefined;
3450
+ description?: string | undefined;
3451
+ extends: {
3452
+ origin: string;
3453
+ kind: "class";
3454
+ name: string;
3455
+ }[];
3456
+ properties: Record<string, {
3457
+ required: boolean;
3458
+ auto?: {
3459
+ on: ["create" | "update", ...("create" | "update")[]];
3460
+ set: "instant";
3461
+ } | undefined;
3462
+ immutable?: "create" | "once" | undefined;
3463
+ description?: string | undefined;
3464
+ schema: boolean | Record<string, unknown>;
3465
+ }>;
3466
+ constraints: {
3467
+ noSelf?: true | undefined;
3468
+ acyclic?: true | undefined;
3469
+ };
3470
+ unique?: [["slug" | "source" | "target" | {
3471
+ property: string;
3472
+ }, ...("slug" | "source" | "target" | {
3473
+ property: string;
3474
+ })[]], ...["slug" | "source" | "target" | {
3475
+ property: string;
3476
+ }, ...("slug" | "source" | "target" | {
3477
+ property: string;
3478
+ })[]][]] | undefined;
3479
+ orientation: "directed" | "undirected";
3480
+ endpoints: {
3481
+ source: {
3482
+ role: string;
3483
+ accepts: [{
3484
+ origin: string;
3485
+ kind: "class";
3486
+ name: string;
3487
+ }, ...{
3488
+ origin: string;
3489
+ kind: "class";
3490
+ name: string;
3491
+ }[]];
3492
+ onDelete?: "detach" | "restrict" | undefined;
3493
+ outgoing: "0..*" | "0..1" | "1" | "1..*";
3494
+ };
3495
+ target: {
3496
+ role: string;
3497
+ accepts: [{
3498
+ origin: string;
3499
+ kind: "class";
3500
+ name: string;
3501
+ }, ...{
3502
+ origin: string;
3503
+ kind: "class";
3504
+ name: string;
3505
+ }[]];
3506
+ onDelete?: "detach" | "restrict" | undefined;
3507
+ incoming: "0..*" | "0..1" | "1" | "1..*";
3508
+ };
3509
+ } | [{
3510
+ role: string;
3511
+ accepts: [{
3512
+ origin: string;
3513
+ kind: "class";
3514
+ name: string;
3515
+ }, ...{
3516
+ origin: string;
3517
+ kind: "class";
3518
+ name: string;
3519
+ }[]];
3520
+ onDelete?: "detach" | "restrict" | undefined;
3521
+ incident: "0..*" | "0..1" | "1" | "1..*";
3522
+ }, {
3523
+ role: string;
3524
+ accepts: [{
3525
+ origin: string;
3526
+ kind: "class";
3527
+ name: string;
3528
+ }, ...{
3529
+ origin: string;
3530
+ kind: "class";
3531
+ name: string;
3532
+ }[]];
3533
+ onDelete?: "detach" | "restrict" | undefined;
3534
+ incident: "0..*" | "0..1" | "1" | "1..*";
3535
+ }];
3536
+ policies: {
3537
+ read?: false | {
3538
+ origin: string;
3539
+ kind: "policy";
3540
+ name: string;
3541
+ } | undefined;
3542
+ traverse?: false | {
3543
+ origin: string;
3544
+ kind: "policy";
3545
+ name: string;
3546
+ } | undefined;
3547
+ };
3548
+ }>>], "kind">>;
3549
+ functions: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
3550
+ description: import("zod").ZodOptional<import("zod").ZodString>;
3551
+ output: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3552
+ mode: import("zod").ZodLiteral<"value">;
3553
+ schema: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
3554
+ }, zodCore.$strict>, import("zod").ZodObject<{
3555
+ mode: import("zod").ZodLiteral<"stream">;
3556
+ item: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
3557
+ }, zodCore.$strict>, import("zod").ZodObject<{
3558
+ mode: import("zod").ZodLiteral<"binary">;
3559
+ }, zodCore.$strict>], "mode">;
3560
+ execution: import("zod").ZodOptional<import("zod").ZodObject<{
3561
+ durable: import("zod").ZodBoolean;
3562
+ }, zodCore.$strict>>;
3563
+ admission: import("zod").ZodOptional<import("zod").ZodObject<{
3564
+ maxAge: import("zod").ZodNumber;
3565
+ }, zodCore.$strict>>;
3566
+ auth: import("zod").ZodEnum<{
3567
+ anonymous: "anonymous";
3568
+ authenticated: "authenticated";
3569
+ authorized: "authorized";
3570
+ }>;
3571
+ policy: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<true>, ZodType<PolicyCheckExpression<PolicyRef, {
3572
+ kind: "self";
3573
+ } | {
3574
+ kind: "input";
3575
+ field: string;
3576
+ } | {
3577
+ kind: "ref";
3578
+ ref: {
3579
+ origin: string;
3580
+ kind: "core";
3581
+ name: string;
3582
+ } | {
3583
+ kind: "method";
3584
+ owner: {
3585
+ origin: string;
3586
+ kind: "class";
3587
+ name: string;
3588
+ };
3589
+ name: string;
3590
+ } | {
3591
+ origin: string;
3592
+ kind: "class";
3593
+ name: string;
3594
+ } | {
3595
+ origin: string;
3596
+ kind: "function";
3597
+ name: string;
3598
+ } | {
3599
+ origin: string;
3600
+ kind: "policy";
3601
+ name: string;
3602
+ } | {
3603
+ origin: string;
3604
+ kind: "view";
3605
+ name: string;
3606
+ };
3607
+ }>, unknown, zodCore.$ZodTypeInternals<PolicyCheckExpression<PolicyRef, {
3608
+ kind: "self";
3609
+ } | {
3610
+ kind: "input";
3611
+ field: string;
3612
+ } | {
3613
+ kind: "ref";
3614
+ ref: {
3615
+ origin: string;
3616
+ kind: "core";
3617
+ name: string;
3618
+ } | {
3619
+ kind: "method";
3620
+ owner: {
3621
+ origin: string;
3622
+ kind: "class";
3623
+ name: string;
3624
+ };
3625
+ name: string;
3626
+ } | {
3627
+ origin: string;
3628
+ kind: "class";
3629
+ name: string;
3630
+ } | {
3631
+ origin: string;
3632
+ kind: "function";
3633
+ name: string;
3634
+ } | {
3635
+ origin: string;
3636
+ kind: "policy";
3637
+ name: string;
3638
+ } | {
3639
+ origin: string;
3640
+ kind: "view";
3641
+ name: string;
3642
+ };
3643
+ }>, unknown>>]>>;
3644
+ ref: import("zod").ZodObject<{
3645
+ origin: import("zod").ZodString;
3646
+ kind: import("zod").ZodLiteral<"function">;
3647
+ name: import("zod").ZodString;
3648
+ }, zodCore.$strict>;
3649
+ input: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3650
+ mode: import("zod").ZodLiteral<"binary">;
3651
+ metadata: import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>;
3652
+ maximumBytes: import("zod").ZodNumber;
3653
+ }, zodCore.$strict>, import("zod").ZodUnion<readonly [import("zod").ZodBoolean, import("zod").ZodRecord<import("zod").ZodString, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>]>]>;
3654
+ }, zodCore.$strict> & ZodType<{
3655
+ description?: string | undefined;
3656
+ output: {
3657
+ mode: "value";
3658
+ schema: boolean | Record<string, JsonValue>;
3659
+ } | {
3660
+ mode: "stream";
3661
+ item: boolean | Record<string, JsonValue>;
3662
+ } | {
3663
+ mode: "binary";
3664
+ };
3665
+ execution?: {
3666
+ durable: boolean;
3667
+ } | undefined;
3668
+ admission?: {
3669
+ maxAge: number;
3670
+ } | undefined;
3671
+ auth: "anonymous" | "authenticated" | "authorized";
3672
+ policy?: true | PolicyCheckExpression<PolicyRef, {
3673
+ kind: "self";
3674
+ } | {
3675
+ kind: "input";
3676
+ field: string;
3677
+ } | {
3678
+ kind: "ref";
3679
+ ref: {
3680
+ origin: string;
3681
+ kind: "core";
3682
+ name: string;
3683
+ } | {
3684
+ kind: "method";
3685
+ owner: {
3686
+ origin: string;
3687
+ kind: "class";
3688
+ name: string;
3689
+ };
3690
+ name: string;
3691
+ } | {
3692
+ origin: string;
3693
+ kind: "class";
3694
+ name: string;
3695
+ } | {
3696
+ origin: string;
3697
+ kind: "function";
3698
+ name: string;
3699
+ } | {
3700
+ origin: string;
3701
+ kind: "policy";
3702
+ name: string;
3703
+ } | {
3704
+ origin: string;
3705
+ kind: "view";
3706
+ name: string;
3707
+ };
3708
+ }> | undefined;
3709
+ ref: {
3710
+ origin: string;
3711
+ kind: "function";
3712
+ name: string;
3713
+ };
3714
+ input: boolean | Record<string, JsonValue> | {
3715
+ mode: "binary";
3716
+ metadata: boolean | Record<string, JsonValue>;
3717
+ maximumBytes: number;
3718
+ };
3719
+ } & AuthorizedPolicy, {
3720
+ description?: string | undefined;
3721
+ output: {
3722
+ mode: "value";
3723
+ schema: boolean | Record<string, unknown>;
3724
+ } | {
3725
+ mode: "stream";
3726
+ item: boolean | Record<string, unknown>;
3727
+ } | {
3728
+ mode: "binary";
3729
+ };
3730
+ execution?: {
3731
+ durable: boolean;
3732
+ } | undefined;
3733
+ admission?: {
3734
+ maxAge: number;
3735
+ } | undefined;
3736
+ auth: "anonymous" | "authenticated" | "authorized";
3737
+ policy?: unknown;
3738
+ ref: {
3739
+ origin: string;
3740
+ kind: "function";
3741
+ name: string;
3742
+ };
3743
+ input: boolean | Record<string, unknown> | {
3744
+ mode: "binary";
3745
+ metadata: boolean | Record<string, unknown>;
3746
+ maximumBytes: number;
3747
+ };
3748
+ }, zodCore.$ZodTypeInternals<{
3749
+ description?: string | undefined;
3750
+ output: {
3751
+ mode: "value";
3752
+ schema: boolean | Record<string, JsonValue>;
3753
+ } | {
3754
+ mode: "stream";
3755
+ item: boolean | Record<string, JsonValue>;
3756
+ } | {
3757
+ mode: "binary";
3758
+ };
3759
+ execution?: {
3760
+ durable: boolean;
3761
+ } | undefined;
3762
+ admission?: {
3763
+ maxAge: number;
3764
+ } | undefined;
3765
+ auth: "anonymous" | "authenticated" | "authorized";
3766
+ policy?: true | PolicyCheckExpression<PolicyRef, {
3767
+ kind: "self";
3768
+ } | {
3769
+ kind: "input";
3770
+ field: string;
3771
+ } | {
3772
+ kind: "ref";
3773
+ ref: {
3774
+ origin: string;
3775
+ kind: "core";
3776
+ name: string;
3777
+ } | {
3778
+ kind: "method";
3779
+ owner: {
3780
+ origin: string;
3781
+ kind: "class";
3782
+ name: string;
3783
+ };
3784
+ name: string;
3785
+ } | {
3786
+ origin: string;
3787
+ kind: "class";
3788
+ name: string;
3789
+ } | {
3790
+ origin: string;
3791
+ kind: "function";
3792
+ name: string;
3793
+ } | {
3794
+ origin: string;
3795
+ kind: "policy";
3796
+ name: string;
3797
+ } | {
3798
+ origin: string;
3799
+ kind: "view";
3800
+ name: string;
3801
+ };
3802
+ }> | undefined;
3803
+ ref: {
3804
+ origin: string;
3805
+ kind: "function";
3806
+ name: string;
3807
+ };
3808
+ input: boolean | Record<string, JsonValue> | {
3809
+ mode: "binary";
3810
+ metadata: boolean | Record<string, JsonValue>;
3811
+ maximumBytes: number;
3812
+ };
3813
+ } & AuthorizedPolicy, {
3814
+ description?: string | undefined;
3815
+ output: {
3816
+ mode: "value";
3817
+ schema: boolean | Record<string, unknown>;
3818
+ } | {
3819
+ mode: "stream";
3820
+ item: boolean | Record<string, unknown>;
3821
+ } | {
3822
+ mode: "binary";
3823
+ };
3824
+ execution?: {
3825
+ durable: boolean;
3826
+ } | undefined;
3827
+ admission?: {
3828
+ maxAge: number;
3829
+ } | undefined;
3830
+ auth: "anonymous" | "authenticated" | "authorized";
3831
+ policy?: unknown;
3832
+ ref: {
3833
+ origin: string;
3834
+ kind: "function";
3835
+ name: string;
3836
+ };
3837
+ input: boolean | Record<string, unknown> | {
3838
+ mode: "binary";
3839
+ metadata: boolean | Record<string, unknown>;
3840
+ maximumBytes: number;
3841
+ };
3842
+ }>>>;
3843
+ policies: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
3844
+ ref: import("zod").ZodObject<{
3845
+ origin: import("zod").ZodString;
3846
+ kind: import("zod").ZodLiteral<"policy">;
3847
+ name: import("zod").ZodString;
3848
+ }, zodCore.$strict>;
3849
+ expression: import("zod").ZodUnion<readonly [import("zod").ZodObject<{
3850
+ match: ZodType<PolicyPatternExpression, unknown, zodCore.$ZodTypeInternals<PolicyPatternExpression, unknown>>;
3851
+ }, zodCore.$strict>, import("zod").ZodObject<{
3852
+ allOf: ZodType<[{
3853
+ origin: string;
3854
+ kind: "policy";
3855
+ name: string;
3856
+ }, ...{
3857
+ origin: string;
3858
+ kind: "policy";
3859
+ name: string;
3860
+ }[]], [{
3861
+ origin: string;
3862
+ kind: "policy";
3863
+ name: string;
3864
+ }, ...{
3865
+ origin: string;
3866
+ kind: "policy";
3867
+ name: string;
3868
+ }[]], zodCore.$ZodTypeInternals<[{
3869
+ origin: string;
3870
+ kind: "policy";
3871
+ name: string;
3872
+ }, ...{
3873
+ origin: string;
3874
+ kind: "policy";
3875
+ name: string;
3876
+ }[]], [{
3877
+ origin: string;
3878
+ kind: "policy";
3879
+ name: string;
3880
+ }, ...{
3881
+ origin: string;
3882
+ kind: "policy";
3883
+ name: string;
3884
+ }[]]>>;
3885
+ }, zodCore.$strict>, import("zod").ZodObject<{
3886
+ anyOf: ZodType<[{
3887
+ origin: string;
3888
+ kind: "policy";
3889
+ name: string;
3890
+ }, ...{
3891
+ origin: string;
3892
+ kind: "policy";
3893
+ name: string;
3894
+ }[]], [{
3895
+ origin: string;
3896
+ kind: "policy";
3897
+ name: string;
3898
+ }, ...{
3899
+ origin: string;
3900
+ kind: "policy";
3901
+ name: string;
3902
+ }[]], zodCore.$ZodTypeInternals<[{
3903
+ origin: string;
3904
+ kind: "policy";
3905
+ name: string;
3906
+ }, ...{
3907
+ origin: string;
3908
+ kind: "policy";
3909
+ name: string;
3910
+ }[]], [{
3911
+ origin: string;
3912
+ kind: "policy";
3913
+ name: string;
3914
+ }, ...{
3915
+ origin: string;
3916
+ kind: "policy";
3917
+ name: string;
3918
+ }[]]>>;
3919
+ }, zodCore.$strict>]>;
3920
+ description: import("zod").ZodOptional<import("zod").ZodString>;
3921
+ }, zodCore.$strict>>;
3922
+ views: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
3923
+ ref: import("zod").ZodObject<{
3924
+ origin: import("zod").ZodString;
3925
+ kind: import("zod").ZodLiteral<"view">;
3926
+ name: import("zod").ZodString;
3927
+ }, zodCore.$strict>;
3928
+ description: import("zod").ZodOptional<import("zod").ZodString>;
3929
+ target: import("zod").ZodObject<{
3930
+ kind: import("zod").ZodLiteral<"domain">;
3931
+ }, zodCore.$strict>;
3932
+ }, zodCore.$strict>>;
3933
+ core: import("zod").ZodObject<{
3934
+ nodes: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
3935
+ ref: import("zod").ZodObject<{
3936
+ origin: import("zod").ZodString;
3937
+ kind: import("zod").ZodLiteral<"core">;
3938
+ name: import("zod").ZodString;
3939
+ }, zodCore.$strict>;
3940
+ class: import("zod").ZodObject<{
3941
+ origin: import("zod").ZodString;
3942
+ kind: import("zod").ZodLiteral<"class">;
3943
+ name: import("zod").ZodString;
3944
+ }, zodCore.$strict>;
3945
+ properties: import("zod").ZodRecord<import("zod").ZodString & ZodType<`${string}:class.${string}.property.${string}`, string, zodCore.$ZodTypeInternals<`${string}:class.${string}.property.${string}`, string>>, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>;
3946
+ }, zodCore.$strict>>;
3947
+ edges: ZodArray<import("zod").ZodObject<{
3948
+ class: import("zod").ZodObject<{
3949
+ origin: import("zod").ZodString;
3950
+ kind: import("zod").ZodLiteral<"class">;
3951
+ name: import("zod").ZodString;
3952
+ }, zodCore.$strict>;
3953
+ source: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3954
+ kind: import("zod").ZodLiteral<"method">;
3955
+ owner: import("zod").ZodObject<{
3956
+ origin: import("zod").ZodString;
3957
+ kind: import("zod").ZodLiteral<"class">;
3958
+ name: import("zod").ZodString;
3959
+ }, zodCore.$strict>;
3960
+ name: import("zod").ZodString;
3961
+ }, zodCore.$strict>, import("zod").ZodObject<{
3962
+ origin: import("zod").ZodString;
3963
+ kind: import("zod").ZodLiteral<"class">;
3964
+ name: import("zod").ZodString;
3965
+ }, zodCore.$strict>, import("zod").ZodObject<{
3966
+ origin: import("zod").ZodString;
3967
+ kind: import("zod").ZodLiteral<"function">;
3968
+ name: import("zod").ZodString;
3969
+ }, zodCore.$strict>, import("zod").ZodObject<{
3970
+ origin: import("zod").ZodString;
3971
+ kind: import("zod").ZodLiteral<"policy">;
3972
+ name: import("zod").ZodString;
3973
+ }, zodCore.$strict>, import("zod").ZodObject<{
3974
+ origin: import("zod").ZodString;
3975
+ kind: import("zod").ZodLiteral<"view">;
3976
+ name: import("zod").ZodString;
3977
+ }, zodCore.$strict>, import("zod").ZodObject<{
3978
+ origin: import("zod").ZodString;
3979
+ kind: import("zod").ZodLiteral<"core">;
3980
+ name: import("zod").ZodString;
3981
+ }, zodCore.$strict>, import("zod").ZodObject<{
3982
+ kind: import("zod").ZodLiteral<"domain">;
3983
+ }, zodCore.$strict>], "kind">;
3984
+ target: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3985
+ kind: import("zod").ZodLiteral<"method">;
3986
+ owner: import("zod").ZodObject<{
3987
+ origin: import("zod").ZodString;
3988
+ kind: import("zod").ZodLiteral<"class">;
3989
+ name: import("zod").ZodString;
3990
+ }, zodCore.$strict>;
3991
+ name: import("zod").ZodString;
3992
+ }, zodCore.$strict>, import("zod").ZodObject<{
3993
+ origin: import("zod").ZodString;
3994
+ kind: import("zod").ZodLiteral<"class">;
3995
+ name: import("zod").ZodString;
3996
+ }, zodCore.$strict>, import("zod").ZodObject<{
3997
+ origin: import("zod").ZodString;
3998
+ kind: import("zod").ZodLiteral<"function">;
3999
+ name: import("zod").ZodString;
4000
+ }, zodCore.$strict>, import("zod").ZodObject<{
4001
+ origin: import("zod").ZodString;
4002
+ kind: import("zod").ZodLiteral<"policy">;
4003
+ name: import("zod").ZodString;
4004
+ }, zodCore.$strict>, import("zod").ZodObject<{
4005
+ origin: import("zod").ZodString;
4006
+ kind: import("zod").ZodLiteral<"view">;
4007
+ name: import("zod").ZodString;
4008
+ }, zodCore.$strict>, import("zod").ZodObject<{
4009
+ origin: import("zod").ZodString;
4010
+ kind: import("zod").ZodLiteral<"core">;
4011
+ name: import("zod").ZodString;
4012
+ }, zodCore.$strict>, import("zod").ZodObject<{
4013
+ kind: import("zod").ZodLiteral<"domain">;
4014
+ }, zodCore.$strict>], "kind">;
4015
+ properties: import("zod").ZodRecord<import("zod").ZodString & ZodType<`${string}:class.${string}.property.${string}`, string, zodCore.$ZodTypeInternals<`${string}:class.${string}.property.${string}`, string>>, ZodType<JsonValue, unknown, zodCore.$ZodTypeInternals<JsonValue, unknown>>>;
4016
+ }, zodCore.$strict>>;
4017
+ }, zodCore.$strict>;
4018
+ }, zodCore.$strict>;
2
4019
  export declare function parseDomainSchemaStructure(input: unknown): DomainSchemaIR;
4020
+ export {};