schemair 0.1.0 → 0.2.0

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 (69) hide show
  1. package/README.md +420 -11
  2. package/dist/authoring/index.cjs +13 -350
  3. package/dist/authoring/index.d.cts +2 -90
  4. package/dist/authoring/index.d.ts +2 -90
  5. package/dist/authoring/index.js +2 -304
  6. package/dist/authoring-D3V0iyTe.js +362 -0
  7. package/dist/authoring-Dnrg5TXm.cjs +389 -0
  8. package/dist/chunk-BgLxgFZR.js +18 -0
  9. package/dist/definition/index.cjs +10 -2
  10. package/dist/definition/index.d.cts +3 -21
  11. package/dist/definition/index.d.ts +3 -21
  12. package/dist/definition/index.js +2 -2
  13. package/dist/definition-BLLBpLKv.cjs +1187 -0
  14. package/dist/definition-DmYnDmQO.js +1115 -0
  15. package/dist/index-4aMF0cTE.d.ts +368 -0
  16. package/dist/index-BqfGAU1K.d.ts +56 -0
  17. package/dist/{index-eK2Xgrwp.d.ts → index-CBbd4hXJ.d.ts} +13 -2
  18. package/dist/index-CIim1dG7.d.cts +92 -0
  19. package/dist/{index-TACcK_mi.d.cts → index-CNjYUKvu.d.cts} +13 -2
  20. package/dist/index-CQynt7ft.d.cts +420 -0
  21. package/dist/index-D3mfwaSO.d.cts +56 -0
  22. package/dist/index-DDMwVy2I.d.cts +368 -0
  23. package/dist/index-DM5DSLLL.d.ts +99 -0
  24. package/dist/index-DXWoNYFB.d.ts +92 -0
  25. package/dist/index-DhmHCGpT.d.cts +99 -0
  26. package/dist/index-bQy-C-1l.d.ts +418 -0
  27. package/dist/index.cjs +64 -52
  28. package/dist/index.d.cts +7 -7
  29. package/dist/index.d.ts +7 -7
  30. package/dist/index.js +7 -5
  31. package/dist/integrations/json-schema/index.cjs +328 -0
  32. package/dist/integrations/json-schema/index.d.cts +53 -0
  33. package/dist/integrations/json-schema/index.d.ts +53 -0
  34. package/dist/integrations/json-schema/index.js +324 -0
  35. package/dist/integrations/standard-schema/index.cjs +32 -0
  36. package/dist/integrations/standard-schema/index.d.cts +22 -0
  37. package/dist/integrations/standard-schema/index.d.ts +22 -0
  38. package/dist/integrations/standard-schema/index.js +32 -0
  39. package/dist/payload/index.cjs +1 -1
  40. package/dist/payload/index.d.cts +1 -55
  41. package/dist/payload/index.d.ts +1 -55
  42. package/dist/payload/index.js +1 -1
  43. package/dist/relations/index.cjs +3 -1
  44. package/dist/relations/index.d.cts +2 -2
  45. package/dist/relations/index.d.ts +2 -2
  46. package/dist/relations/index.js +2 -2
  47. package/dist/{relations-CMz_0nf4.cjs → relations-Cymx4iTc.cjs} +158 -5
  48. package/dist/{relations-By0bK3UK.js → relations-ysXDmi-Z.js} +147 -6
  49. package/dist/spec/index.cjs +9 -0
  50. package/dist/spec/index.d.cts +2 -2
  51. package/dist/spec/index.d.ts +2 -2
  52. package/dist/spec/index.js +3 -1
  53. package/dist/standard/index.cjs +810 -0
  54. package/dist/standard/index.d.cts +3 -0
  55. package/dist/standard/index.d.ts +3 -0
  56. package/dist/standard/index.js +777 -0
  57. package/dist/standard-DhKsxu9U.js +471 -0
  58. package/dist/standard-etPFZDJI.cjs +513 -0
  59. package/dist/type-interpreter/index.cjs +3 -3
  60. package/dist/type-interpreter/index.d.cts +2 -99
  61. package/dist/type-interpreter/index.d.ts +2 -99
  62. package/dist/type-interpreter/index.js +2 -2
  63. package/dist/{type-interpreter-Ck0VDhzn.js → type-interpreter-DnrId8aM.js} +5 -284
  64. package/dist/{type-interpreter-DAIBUqKf.cjs → type-interpreter-OLt2W2yd.cjs} +15 -294
  65. package/package.json +38 -3
  66. package/dist/definition-BXj3T94L.js +0 -467
  67. package/dist/definition-DSZZTz4e.cjs +0 -473
  68. package/dist/index-CEzHfht2.d.ts +0 -269
  69. package/dist/index-rzkFjgrt.d.cts +0 -269
@@ -1,269 +0,0 @@
1
- //#region src/spec/schema.d.ts
2
- /** JSON values allowed in opaque constraint arguments. */
3
- type JsonValue = null | boolean | number | string | JsonValue[] | {
4
- [key: string]: JsonValue;
5
- };
6
- type PrimitiveName = 'string' | 'number' | 'boolean' | 'null';
7
- type LiteralValue = string | number | boolean;
8
- interface SchemaConstraint {
9
- constraintPath: string[];
10
- args?: JsonValue;
11
- }
12
- interface SchemaStringNode {
13
- kind: 'primitive';
14
- name: 'string';
15
- semanticPath?: string[];
16
- constraints?: SchemaConstraint[];
17
- }
18
- interface SchemaNumberNode {
19
- kind: 'primitive';
20
- name: 'number';
21
- semanticPath?: string[];
22
- constraints?: SchemaConstraint[];
23
- }
24
- interface SchemaBooleanNode {
25
- kind: 'primitive';
26
- name: 'boolean';
27
- }
28
- interface SchemaNullNode {
29
- kind: 'primitive';
30
- name: 'null';
31
- }
32
- type SchemaPrimitiveNode = SchemaStringNode | SchemaNumberNode | SchemaBooleanNode | SchemaNullNode;
33
- interface SchemaLiteralNode {
34
- kind: 'literal';
35
- literal: LiteralValue;
36
- }
37
- interface SchemaRecordField {
38
- key: string;
39
- schema: SchemaNode;
40
- required?: boolean;
41
- description?: string;
42
- }
43
- interface SchemaRecordNode {
44
- kind: 'record';
45
- fields: SchemaRecordField[];
46
- additionalFields?: true | SchemaNode;
47
- constraints?: SchemaConstraint[];
48
- }
49
- interface SchemaArrayNode {
50
- kind: 'array';
51
- elementSchema: SchemaNode;
52
- constraints?: SchemaConstraint[];
53
- }
54
- interface SchemaTupleNode {
55
- kind: 'tuple';
56
- elementSchemas: SchemaNode[];
57
- }
58
- interface SchemaLiteralUnionNode {
59
- kind: 'literalUnion';
60
- values: [LiteralValue, LiteralValue, ...LiteralValue[]];
61
- }
62
- interface SchemaNullableNode {
63
- kind: 'nullable';
64
- value: SchemaNode;
65
- }
66
- interface SchemaTaggedUnionVariant {
67
- key: string;
68
- schema: SchemaRecordNode;
69
- description?: string;
70
- }
71
- interface SchemaTaggedUnionNode {
72
- kind: 'taggedUnion';
73
- discriminator: string;
74
- variants: SchemaTaggedUnionVariant[];
75
- }
76
- interface SchemaRefNode {
77
- kind: 'ref';
78
- refPath: string[];
79
- }
80
- interface SchemaSelfRefNode {
81
- kind: 'selfRef';
82
- }
83
- /** Closed serializable SchemaIR contract model. */
84
- type SchemaNode = SchemaPrimitiveNode | SchemaLiteralNode | SchemaRecordNode | SchemaArrayNode | SchemaTupleNode | SchemaLiteralUnionNode | SchemaNullableNode | SchemaTaggedUnionNode | SchemaRefNode | SchemaSelfRefNode;
85
- //#endregion
86
- //#region src/spec/operation.d.ts
87
- type OperationBinaryMetadata = {
88
- kind: 'mime';
89
- value: string;
90
- };
91
- type OperationPayloadDefinition = {
92
- kind: 'structured';
93
- schema: SchemaNode;
94
- } | {
95
- kind: 'binary';
96
- meta?: OperationBinaryMetadata;
97
- };
98
- interface OperationErrorDefinition {
99
- description?: string;
100
- data?: SchemaNode;
101
- }
102
- interface OperationChannelDefinition {
103
- description?: string;
104
- data?: OperationPayloadDefinition;
105
- errors?: Record<string, OperationErrorDefinition>;
106
- }
107
- interface OperationDefinition {
108
- description?: string;
109
- input?: OperationPayloadDefinition;
110
- output?: OperationPayloadDefinition;
111
- errors?: Record<string, OperationErrorDefinition>;
112
- emits?: Record<string, OperationChannelDefinition>;
113
- }
114
- /** Short model name used by migration-facing APIs. */
115
- type Operation = OperationDefinition;
116
- interface OperationContainerDefinition {
117
- description?: string;
118
- operations?: Record<string, OperationDefinition>;
119
- containers?: Record<string, OperationContainerDefinition>;
120
- }
121
- //#endregion
122
- //#region src/spec/expression.d.ts
123
- interface SchemaTypeVariableExpr {
124
- kind: 'typeVar';
125
- name: string;
126
- extends?: SchemaValueTypeTerm;
127
- }
128
- interface OpaqueHostTypeExpr {
129
- kind: 'opaqueHostType';
130
- hostPath: string[];
131
- }
132
- interface SchemaValueAbsentExpr {
133
- kind: 'absent';
134
- }
135
- interface SchemaValueNeverExpr {
136
- kind: 'never';
137
- }
138
- interface SchemaValueUnknownExpr {
139
- kind: 'unknown';
140
- }
141
- interface SchemaValueMaybeAbsentExpr {
142
- kind: 'maybeAbsent';
143
- value: SchemaValueTypeTerm;
144
- }
145
- interface SchemaValueArrayExpr {
146
- kind: 'arrayOf';
147
- element: SchemaValueTypeTerm;
148
- constraints?: SchemaConstraint[];
149
- }
150
- interface SchemaValueTupleExpr {
151
- kind: 'tupleOf';
152
- elements: SchemaValueTypeTerm[];
153
- }
154
- interface SchemaValueRecordExpr {
155
- kind: 'recordOf';
156
- fields: {
157
- key: string;
158
- value: SchemaValueTypeTerm;
159
- required?: boolean;
160
- description?: string;
161
- }[];
162
- additionalFields?: true | SchemaValueTypeTerm;
163
- constraints?: SchemaConstraint[];
164
- }
165
- type SchemaFieldSelector = {
166
- kind: 'all';
167
- } | {
168
- kind: 'keys';
169
- keys: string[];
170
- onMissing: 'error' | 'ignore';
171
- };
172
- type SchemaVariantSelector = SchemaFieldSelector;
173
- interface SchemaTypeElementOfExpr {
174
- kind: 'elementOf';
175
- source: SchemaValueTypeTerm;
176
- }
177
- interface SchemaTypeValueOfExpr {
178
- kind: 'valueOf';
179
- source: SchemaValueTypeTerm;
180
- }
181
- interface SchemaTypeElementAtExpr {
182
- kind: 'elementAt';
183
- source: SchemaValueTypeTerm;
184
- index: number;
185
- }
186
- interface SchemaTypeFieldOfExpr {
187
- kind: 'fieldOf';
188
- source: SchemaValueTypeTerm;
189
- key: string;
190
- }
191
- interface SchemaTypeKeyOfExpr {
192
- kind: 'keyOf';
193
- source: SchemaValueTypeTerm;
194
- }
195
- interface SchemaTypeFieldsOfExpr {
196
- kind: 'fieldsOf';
197
- source: SchemaValueTypeTerm;
198
- fields: SchemaFieldSelector;
199
- }
200
- interface SchemaTypePickFieldsExpr {
201
- kind: 'pickFields';
202
- source: SchemaValueTypeTerm;
203
- fields: SchemaFieldSelector;
204
- }
205
- interface SchemaTypeOmitFieldsExpr {
206
- kind: 'omitFields';
207
- source: SchemaValueTypeTerm;
208
- fields: SchemaFieldSelector;
209
- }
210
- interface SchemaTypePartialFieldsExpr {
211
- kind: 'partialFields';
212
- source: SchemaValueTypeTerm;
213
- fields: SchemaFieldSelector;
214
- }
215
- interface SchemaTypeRequiredFieldsExpr {
216
- kind: 'requiredFields';
217
- source: SchemaValueTypeTerm;
218
- fields: SchemaFieldSelector;
219
- }
220
- interface SchemaTypeMergeRecordsExpr {
221
- kind: 'mergeRecords';
222
- sources: SchemaValueTypeTerm[];
223
- conflict: 'leftWins' | 'rightWins' | 'error';
224
- }
225
- interface SchemaValueNullableExpr {
226
- kind: 'nullableOf';
227
- value: SchemaValueTypeTerm;
228
- }
229
- interface SchemaValueTaggedUnionExpr {
230
- kind: 'taggedUnionOf';
231
- discriminator: string;
232
- variants: {
233
- key: string;
234
- value: SchemaValueTypeTerm;
235
- description?: string;
236
- }[];
237
- }
238
- interface SchemaTypeIntersectExpr {
239
- kind: 'intersect';
240
- sources: SchemaValueTypeTerm[];
241
- }
242
- interface SchemaTypeRefineExpr {
243
- kind: 'refine';
244
- source: SchemaValueTypeTerm;
245
- fields: {
246
- key: string;
247
- require?: true;
248
- intersectWith?: SchemaValueTypeTerm;
249
- addConstraints?: SchemaConstraint[];
250
- }[];
251
- }
252
- interface SchemaTypeExcludeVariantsExpr {
253
- kind: 'excludeVariants';
254
- source: SchemaValueTypeTerm;
255
- variants: SchemaVariantSelector;
256
- }
257
- interface SchemaTypeExtractVariantsExpr {
258
- kind: 'extractVariants';
259
- source: SchemaValueTypeTerm;
260
- variants: SchemaVariantSelector;
261
- }
262
- type SchemaValueTypeExpr = SchemaTypeVariableExpr | OpaqueHostTypeExpr | SchemaValueAbsentExpr | SchemaValueNeverExpr | SchemaValueUnknownExpr | SchemaValueMaybeAbsentExpr | SchemaValueArrayExpr | SchemaValueTupleExpr | SchemaValueRecordExpr | SchemaTypeElementOfExpr | SchemaTypeValueOfExpr | SchemaTypeElementAtExpr | SchemaTypeFieldOfExpr | SchemaTypeKeyOfExpr | SchemaTypeFieldsOfExpr | SchemaTypePickFieldsExpr | SchemaTypeOmitFieldsExpr | SchemaTypePartialFieldsExpr | SchemaTypeRequiredFieldsExpr | SchemaTypeMergeRecordsExpr | SchemaValueNullableExpr | SchemaValueTaggedUnionExpr | SchemaTypeIntersectExpr | SchemaTypeRefineExpr | SchemaTypeExcludeVariantsExpr | SchemaTypeExtractVariantsExpr;
263
- type SchemaValueTypeTerm = SchemaNode | SchemaValueTypeExpr;
264
- /** Short model name used by migration-facing APIs. */
265
- type Expression = SchemaValueTypeExpr;
266
- /** Kept here so consumers can share the JSON-compatible expression boundary. */
267
- type ExpressionArgument = JsonValue;
268
- //#endregion
269
- export { SchemaRecordField as $, SchemaValueTypeTerm as A, JsonValue as B, SchemaValueMaybeAbsentExpr as C, SchemaValueTaggedUnionExpr as D, SchemaValueRecordExpr as E, OperationChannelDefinition as F, SchemaConstraint as G, PrimitiveName as H, OperationContainerDefinition as I, SchemaNode as J, SchemaLiteralNode as K, OperationDefinition as L, SchemaVariantSelector as M, Operation as N, SchemaValueTupleExpr as O, OperationBinaryMetadata as P, SchemaPrimitiveNode as Q, OperationErrorDefinition as R, SchemaValueArrayExpr as S, SchemaValueNullableExpr as T, SchemaArrayNode as U, LiteralValue as V, SchemaBooleanNode as W, SchemaNullableNode as X, SchemaNullNode as Y, SchemaNumberNode as Z, SchemaTypeRefineExpr as _, SchemaTypeElementAtExpr as a, SchemaTaggedUnionVariant as at, SchemaTypeVariableExpr as b, SchemaTypeExtractVariantsExpr as c, SchemaTypeIntersectExpr as d, SchemaRecordNode as et, SchemaTypeKeyOfExpr as f, SchemaTypePickFieldsExpr as g, SchemaTypePartialFieldsExpr as h, SchemaFieldSelector as i, SchemaTaggedUnionNode as it, SchemaValueUnknownExpr as j, SchemaValueTypeExpr as k, SchemaTypeFieldOfExpr as l, SchemaTypeOmitFieldsExpr as m, ExpressionArgument as n, SchemaSelfRefNode as nt, SchemaTypeElementOfExpr as o, SchemaTupleNode as ot, SchemaTypeMergeRecordsExpr as p, SchemaLiteralUnionNode as q, OpaqueHostTypeExpr as r, SchemaStringNode as rt, SchemaTypeExcludeVariantsExpr as s, Expression as t, SchemaRefNode as tt, SchemaTypeFieldsOfExpr as u, SchemaTypeRequiredFieldsExpr as v, SchemaValueNeverExpr as w, SchemaValueAbsentExpr as x, SchemaTypeValueOfExpr as y, OperationPayloadDefinition as z };
@@ -1,269 +0,0 @@
1
- //#region src/spec/schema.d.ts
2
- /** JSON values allowed in opaque constraint arguments. */
3
- type JsonValue = null | boolean | number | string | JsonValue[] | {
4
- [key: string]: JsonValue;
5
- };
6
- type PrimitiveName = 'string' | 'number' | 'boolean' | 'null';
7
- type LiteralValue = string | number | boolean;
8
- interface SchemaConstraint {
9
- constraintPath: string[];
10
- args?: JsonValue;
11
- }
12
- interface SchemaStringNode {
13
- kind: 'primitive';
14
- name: 'string';
15
- semanticPath?: string[];
16
- constraints?: SchemaConstraint[];
17
- }
18
- interface SchemaNumberNode {
19
- kind: 'primitive';
20
- name: 'number';
21
- semanticPath?: string[];
22
- constraints?: SchemaConstraint[];
23
- }
24
- interface SchemaBooleanNode {
25
- kind: 'primitive';
26
- name: 'boolean';
27
- }
28
- interface SchemaNullNode {
29
- kind: 'primitive';
30
- name: 'null';
31
- }
32
- type SchemaPrimitiveNode = SchemaStringNode | SchemaNumberNode | SchemaBooleanNode | SchemaNullNode;
33
- interface SchemaLiteralNode {
34
- kind: 'literal';
35
- literal: LiteralValue;
36
- }
37
- interface SchemaRecordField {
38
- key: string;
39
- schema: SchemaNode;
40
- required?: boolean;
41
- description?: string;
42
- }
43
- interface SchemaRecordNode {
44
- kind: 'record';
45
- fields: SchemaRecordField[];
46
- additionalFields?: true | SchemaNode;
47
- constraints?: SchemaConstraint[];
48
- }
49
- interface SchemaArrayNode {
50
- kind: 'array';
51
- elementSchema: SchemaNode;
52
- constraints?: SchemaConstraint[];
53
- }
54
- interface SchemaTupleNode {
55
- kind: 'tuple';
56
- elementSchemas: SchemaNode[];
57
- }
58
- interface SchemaLiteralUnionNode {
59
- kind: 'literalUnion';
60
- values: [LiteralValue, LiteralValue, ...LiteralValue[]];
61
- }
62
- interface SchemaNullableNode {
63
- kind: 'nullable';
64
- value: SchemaNode;
65
- }
66
- interface SchemaTaggedUnionVariant {
67
- key: string;
68
- schema: SchemaRecordNode;
69
- description?: string;
70
- }
71
- interface SchemaTaggedUnionNode {
72
- kind: 'taggedUnion';
73
- discriminator: string;
74
- variants: SchemaTaggedUnionVariant[];
75
- }
76
- interface SchemaRefNode {
77
- kind: 'ref';
78
- refPath: string[];
79
- }
80
- interface SchemaSelfRefNode {
81
- kind: 'selfRef';
82
- }
83
- /** Closed serializable SchemaIR contract model. */
84
- type SchemaNode = SchemaPrimitiveNode | SchemaLiteralNode | SchemaRecordNode | SchemaArrayNode | SchemaTupleNode | SchemaLiteralUnionNode | SchemaNullableNode | SchemaTaggedUnionNode | SchemaRefNode | SchemaSelfRefNode;
85
- //#endregion
86
- //#region src/spec/operation.d.ts
87
- type OperationBinaryMetadata = {
88
- kind: 'mime';
89
- value: string;
90
- };
91
- type OperationPayloadDefinition = {
92
- kind: 'structured';
93
- schema: SchemaNode;
94
- } | {
95
- kind: 'binary';
96
- meta?: OperationBinaryMetadata;
97
- };
98
- interface OperationErrorDefinition {
99
- description?: string;
100
- data?: SchemaNode;
101
- }
102
- interface OperationChannelDefinition {
103
- description?: string;
104
- data?: OperationPayloadDefinition;
105
- errors?: Record<string, OperationErrorDefinition>;
106
- }
107
- interface OperationDefinition {
108
- description?: string;
109
- input?: OperationPayloadDefinition;
110
- output?: OperationPayloadDefinition;
111
- errors?: Record<string, OperationErrorDefinition>;
112
- emits?: Record<string, OperationChannelDefinition>;
113
- }
114
- /** Short model name used by migration-facing APIs. */
115
- type Operation = OperationDefinition;
116
- interface OperationContainerDefinition {
117
- description?: string;
118
- operations?: Record<string, OperationDefinition>;
119
- containers?: Record<string, OperationContainerDefinition>;
120
- }
121
- //#endregion
122
- //#region src/spec/expression.d.ts
123
- interface SchemaTypeVariableExpr {
124
- kind: 'typeVar';
125
- name: string;
126
- extends?: SchemaValueTypeTerm;
127
- }
128
- interface OpaqueHostTypeExpr {
129
- kind: 'opaqueHostType';
130
- hostPath: string[];
131
- }
132
- interface SchemaValueAbsentExpr {
133
- kind: 'absent';
134
- }
135
- interface SchemaValueNeverExpr {
136
- kind: 'never';
137
- }
138
- interface SchemaValueUnknownExpr {
139
- kind: 'unknown';
140
- }
141
- interface SchemaValueMaybeAbsentExpr {
142
- kind: 'maybeAbsent';
143
- value: SchemaValueTypeTerm;
144
- }
145
- interface SchemaValueArrayExpr {
146
- kind: 'arrayOf';
147
- element: SchemaValueTypeTerm;
148
- constraints?: SchemaConstraint[];
149
- }
150
- interface SchemaValueTupleExpr {
151
- kind: 'tupleOf';
152
- elements: SchemaValueTypeTerm[];
153
- }
154
- interface SchemaValueRecordExpr {
155
- kind: 'recordOf';
156
- fields: {
157
- key: string;
158
- value: SchemaValueTypeTerm;
159
- required?: boolean;
160
- description?: string;
161
- }[];
162
- additionalFields?: true | SchemaValueTypeTerm;
163
- constraints?: SchemaConstraint[];
164
- }
165
- type SchemaFieldSelector = {
166
- kind: 'all';
167
- } | {
168
- kind: 'keys';
169
- keys: string[];
170
- onMissing: 'error' | 'ignore';
171
- };
172
- type SchemaVariantSelector = SchemaFieldSelector;
173
- interface SchemaTypeElementOfExpr {
174
- kind: 'elementOf';
175
- source: SchemaValueTypeTerm;
176
- }
177
- interface SchemaTypeValueOfExpr {
178
- kind: 'valueOf';
179
- source: SchemaValueTypeTerm;
180
- }
181
- interface SchemaTypeElementAtExpr {
182
- kind: 'elementAt';
183
- source: SchemaValueTypeTerm;
184
- index: number;
185
- }
186
- interface SchemaTypeFieldOfExpr {
187
- kind: 'fieldOf';
188
- source: SchemaValueTypeTerm;
189
- key: string;
190
- }
191
- interface SchemaTypeKeyOfExpr {
192
- kind: 'keyOf';
193
- source: SchemaValueTypeTerm;
194
- }
195
- interface SchemaTypeFieldsOfExpr {
196
- kind: 'fieldsOf';
197
- source: SchemaValueTypeTerm;
198
- fields: SchemaFieldSelector;
199
- }
200
- interface SchemaTypePickFieldsExpr {
201
- kind: 'pickFields';
202
- source: SchemaValueTypeTerm;
203
- fields: SchemaFieldSelector;
204
- }
205
- interface SchemaTypeOmitFieldsExpr {
206
- kind: 'omitFields';
207
- source: SchemaValueTypeTerm;
208
- fields: SchemaFieldSelector;
209
- }
210
- interface SchemaTypePartialFieldsExpr {
211
- kind: 'partialFields';
212
- source: SchemaValueTypeTerm;
213
- fields: SchemaFieldSelector;
214
- }
215
- interface SchemaTypeRequiredFieldsExpr {
216
- kind: 'requiredFields';
217
- source: SchemaValueTypeTerm;
218
- fields: SchemaFieldSelector;
219
- }
220
- interface SchemaTypeMergeRecordsExpr {
221
- kind: 'mergeRecords';
222
- sources: SchemaValueTypeTerm[];
223
- conflict: 'leftWins' | 'rightWins' | 'error';
224
- }
225
- interface SchemaValueNullableExpr {
226
- kind: 'nullableOf';
227
- value: SchemaValueTypeTerm;
228
- }
229
- interface SchemaValueTaggedUnionExpr {
230
- kind: 'taggedUnionOf';
231
- discriminator: string;
232
- variants: {
233
- key: string;
234
- value: SchemaValueTypeTerm;
235
- description?: string;
236
- }[];
237
- }
238
- interface SchemaTypeIntersectExpr {
239
- kind: 'intersect';
240
- sources: SchemaValueTypeTerm[];
241
- }
242
- interface SchemaTypeRefineExpr {
243
- kind: 'refine';
244
- source: SchemaValueTypeTerm;
245
- fields: {
246
- key: string;
247
- require?: true;
248
- intersectWith?: SchemaValueTypeTerm;
249
- addConstraints?: SchemaConstraint[];
250
- }[];
251
- }
252
- interface SchemaTypeExcludeVariantsExpr {
253
- kind: 'excludeVariants';
254
- source: SchemaValueTypeTerm;
255
- variants: SchemaVariantSelector;
256
- }
257
- interface SchemaTypeExtractVariantsExpr {
258
- kind: 'extractVariants';
259
- source: SchemaValueTypeTerm;
260
- variants: SchemaVariantSelector;
261
- }
262
- type SchemaValueTypeExpr = SchemaTypeVariableExpr | OpaqueHostTypeExpr | SchemaValueAbsentExpr | SchemaValueNeverExpr | SchemaValueUnknownExpr | SchemaValueMaybeAbsentExpr | SchemaValueArrayExpr | SchemaValueTupleExpr | SchemaValueRecordExpr | SchemaTypeElementOfExpr | SchemaTypeValueOfExpr | SchemaTypeElementAtExpr | SchemaTypeFieldOfExpr | SchemaTypeKeyOfExpr | SchemaTypeFieldsOfExpr | SchemaTypePickFieldsExpr | SchemaTypeOmitFieldsExpr | SchemaTypePartialFieldsExpr | SchemaTypeRequiredFieldsExpr | SchemaTypeMergeRecordsExpr | SchemaValueNullableExpr | SchemaValueTaggedUnionExpr | SchemaTypeIntersectExpr | SchemaTypeRefineExpr | SchemaTypeExcludeVariantsExpr | SchemaTypeExtractVariantsExpr;
263
- type SchemaValueTypeTerm = SchemaNode | SchemaValueTypeExpr;
264
- /** Short model name used by migration-facing APIs. */
265
- type Expression = SchemaValueTypeExpr;
266
- /** Kept here so consumers can share the JSON-compatible expression boundary. */
267
- type ExpressionArgument = JsonValue;
268
- //#endregion
269
- export { SchemaRecordField as $, SchemaValueTypeTerm as A, JsonValue as B, SchemaValueMaybeAbsentExpr as C, SchemaValueTaggedUnionExpr as D, SchemaValueRecordExpr as E, OperationChannelDefinition as F, SchemaConstraint as G, PrimitiveName as H, OperationContainerDefinition as I, SchemaNode as J, SchemaLiteralNode as K, OperationDefinition as L, SchemaVariantSelector as M, Operation as N, SchemaValueTupleExpr as O, OperationBinaryMetadata as P, SchemaPrimitiveNode as Q, OperationErrorDefinition as R, SchemaValueArrayExpr as S, SchemaValueNullableExpr as T, SchemaArrayNode as U, LiteralValue as V, SchemaBooleanNode as W, SchemaNullableNode as X, SchemaNullNode as Y, SchemaNumberNode as Z, SchemaTypeRefineExpr as _, SchemaTypeElementAtExpr as a, SchemaTaggedUnionVariant as at, SchemaTypeVariableExpr as b, SchemaTypeExtractVariantsExpr as c, SchemaTypeIntersectExpr as d, SchemaRecordNode as et, SchemaTypeKeyOfExpr as f, SchemaTypePickFieldsExpr as g, SchemaTypePartialFieldsExpr as h, SchemaFieldSelector as i, SchemaTaggedUnionNode as it, SchemaValueUnknownExpr as j, SchemaValueTypeExpr as k, SchemaTypeFieldOfExpr as l, SchemaTypeOmitFieldsExpr as m, ExpressionArgument as n, SchemaSelfRefNode as nt, SchemaTypeElementOfExpr as o, SchemaTupleNode as ot, SchemaTypeMergeRecordsExpr as p, SchemaLiteralUnionNode as q, OpaqueHostTypeExpr as r, SchemaStringNode as rt, SchemaTypeExcludeVariantsExpr as s, Expression as t, SchemaRefNode as tt, SchemaTypeFieldsOfExpr as u, SchemaTypeRequiredFieldsExpr as v, SchemaValueNeverExpr as w, SchemaValueAbsentExpr as x, SchemaTypeValueOfExpr as y, OperationPayloadDefinition as z };