@supatype/cli 0.1.12 → 0.1.13

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 (62) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +138 -132
  3. package/.turbo/turbo-typecheck.log +1 -1
  4. package/dist/cli-version-embedded.js +1 -1
  5. package/dist/commands/db.d.ts.map +1 -1
  6. package/dist/commands/db.js +23 -1
  7. package/dist/commands/db.js.map +1 -1
  8. package/dist/commands/doctor.d.ts +0 -7
  9. package/dist/commands/doctor.d.ts.map +1 -1
  10. package/dist/commands/doctor.js +26 -0
  11. package/dist/commands/doctor.js.map +1 -1
  12. package/dist/commands/push.d.ts.map +1 -1
  13. package/dist/commands/push.js +15 -7
  14. package/dist/commands/push.js.map +1 -1
  15. package/dist/compose-local-server-image.d.ts +11 -0
  16. package/dist/compose-local-server-image.d.ts.map +1 -1
  17. package/dist/compose-local-server-image.js +18 -0
  18. package/dist/compose-local-server-image.js.map +1 -1
  19. package/dist/dev-compose.d.ts +1 -0
  20. package/dist/dev-compose.d.ts.map +1 -1
  21. package/dist/dev-compose.js +79 -10
  22. package/dist/dev-compose.js.map +1 -1
  23. package/dist/field-bounds.d.ts +68 -0
  24. package/dist/field-bounds.d.ts.map +1 -0
  25. package/dist/field-bounds.js +277 -0
  26. package/dist/field-bounds.js.map +1 -0
  27. package/dist/hooks-generator.d.ts +1 -1
  28. package/dist/hooks-generator.d.ts.map +1 -1
  29. package/dist/hooks-generator.js +78 -4
  30. package/dist/hooks-generator.js.map +1 -1
  31. package/dist/model-hooks.d.ts +44 -2
  32. package/dist/model-hooks.d.ts.map +1 -1
  33. package/dist/model-hooks.js +116 -12
  34. package/dist/model-hooks.js.map +1 -1
  35. package/dist/schema-ast-v2.d.ts +38 -4
  36. package/dist/schema-ast-v2.d.ts.map +1 -1
  37. package/dist/schema-ast-v2.js +87 -4
  38. package/dist/schema-ast-v2.js.map +1 -1
  39. package/dist/type-extractor.d.ts.map +1 -1
  40. package/dist/type-extractor.js +309 -27
  41. package/dist/type-extractor.js.map +1 -1
  42. package/package.json +4 -3
  43. package/src/cli-version-embedded.ts +1 -1
  44. package/src/commands/db.ts +27 -1
  45. package/src/commands/doctor.ts +30 -0
  46. package/src/commands/push.ts +26 -6
  47. package/src/compose-local-server-image.ts +17 -0
  48. package/src/dev-compose.ts +96 -9
  49. package/src/field-bounds.ts +359 -0
  50. package/src/hooks-generator.ts +81 -4
  51. package/src/model-hooks.ts +158 -12
  52. package/src/schema-ast-v2.ts +114 -10
  53. package/src/type-extractor.ts +374 -39
  54. package/tests/field-bounds-matrix.test.ts +163 -0
  55. package/tests/field-bounds.test.ts +139 -0
  56. package/tests/field-validators.test.ts +139 -0
  57. package/tests/hooks-generator.test.ts +86 -0
  58. package/tests/local-server-image-env.test.ts +93 -0
  59. package/tests/model-constraints.test.ts +293 -0
  60. package/tests/model-hooks.test.ts +56 -0
  61. package/tests/type-extractor.test.ts +49 -0
  62. package/tsconfig.tsbuildinfo +1 -1
@@ -131,15 +131,101 @@ export function manifestHooks(ast) {
131
131
  }
132
132
  return out;
133
133
  }
134
+ /** Every per-field validator declared across the schema, in a stable order for reporting. */
135
+ export function declaredValidators(ast) {
136
+ const models = ast?.models;
137
+ if (!Array.isArray(models))
138
+ return [];
139
+ const out = [];
140
+ for (const model of models) {
141
+ const shaped = model;
142
+ const validators = shaped.annotations?.platform?.validate;
143
+ if (typeof validators !== "object" || validators === null)
144
+ continue;
145
+ for (const [field, value] of Object.entries(validators)) {
146
+ const fn = value?.function;
147
+ if (typeof fn === "string" && fn.length > 0) {
148
+ out.push({ model: shaped.name ?? "?", field, function: fn });
149
+ }
150
+ }
151
+ }
152
+ return out.sort((a, b) => `${a.model}.${a.field}`.localeCompare(`${b.model}.${b.field}`));
153
+ }
154
+ /**
155
+ * The validator map for `.supatype/manifest.json`, keyed by **table** then **column**.
156
+ *
157
+ * `onUnavailable` is written explicitly as `reject` rather than left to the server's default. The
158
+ * server does default that way, but its policy matches exact event names, and a validator that
159
+ * silently accepted a value because a new event name was missing from a switch is precisely the
160
+ * failure found when that path was built. Saying it here means neither side has to be right alone.
161
+ */
162
+ export function manifestValidators(ast) {
163
+ const models = ast?.models;
164
+ if (!Array.isArray(models))
165
+ return {};
166
+ const out = {};
167
+ for (const model of models) {
168
+ const shaped = model;
169
+ const table = shaped.annotations?.db?.tableName;
170
+ const validators = shaped.annotations?.platform?.validate;
171
+ if (typeof table !== "string" || table.length === 0)
172
+ continue;
173
+ if (typeof validators !== "object" || validators === null)
174
+ continue;
175
+ const entries = {};
176
+ for (const [field, value] of Object.entries(validators)) {
177
+ const fn = value?.function;
178
+ if (typeof fn !== "string" || fn.length === 0)
179
+ continue;
180
+ entries[field] = {
181
+ function: fn,
182
+ timeout: typeof value.timeout === "number" ? value.timeout : DEFAULT_HOOK_TIMEOUT_MS,
183
+ onUnavailable: "reject",
184
+ };
185
+ }
186
+ if (Object.keys(entries).length > 0)
187
+ out[table] = entries;
188
+ }
189
+ return out;
190
+ }
191
+ /**
192
+ * Validators naming a function that does not exist, as lines for a push failure.
193
+ *
194
+ * Shares `availableFunctions` with the hook check, so "what counts as a function" cannot come to
195
+ * mean two things.
196
+ */
197
+ export function validateModelValidators(ast, functionsDir, cwd) {
198
+ const validators = declaredValidators(ast);
199
+ if (validators.length === 0)
200
+ return [];
201
+ const available = availableFunctions(functionsDir);
202
+ const known = new Set(available);
203
+ const missing = validators.filter((entry) => !known.has(entry.function));
204
+ if (missing.length === 0)
205
+ return [];
206
+ const where = relative(cwd, functionsDir) || functionsDir;
207
+ const lines = missing.map((entry) => ` ${entry.model}.${entry.field} → "${entry.function}" (no ${where}/${entry.function}/index.ts)`);
208
+ lines.push("");
209
+ lines.push(available.length > 0
210
+ ? `Functions found in ${where}: ${available.join(", ")}`
211
+ : `No functions found in ${where}. Create one with: supatype hooks new <name>`);
212
+ return lines;
213
+ }
134
214
  /** Well below the 10s edge-function ceiling, so a hung hook fails fast instead of holding a slot. */
135
215
  export const DEFAULT_HOOK_TIMEOUT_MS = 2000;
136
216
  /**
137
- * Merge the hook map into an existing `.supatype/manifest.json`.
217
+ * Merge the hook and validator maps into an existing `.supatype/manifest.json`.
218
+ *
219
+ * Both keys are written here rather than in two functions, because they fail together and for the
220
+ * same reason: each is a map the server reads to decide what to call around a write, and a manifest
221
+ * carrying a stale one calls the wrong thing or nothing at all. A validator that is never called is
222
+ * the worse half of that: the schema says the field is checked, and no error appears anywhere,
223
+ * because the write simply succeeds.
138
224
  *
139
225
  * **Only updates a manifest that is already there.** Creating one from scratch here would be a
140
226
  * hazard: `functions_enabled` is a plain bool on the server's side, so a manifest carrying only
141
227
  * hooks would read as functions *disabled*, the exact defect this repo fixed a commit ago, arriving
142
- * by a different door. The compose path owns creation; this owns one key.
228
+ * by a different door. The compose path owns creation; this owns two keys.
143
229
  *
144
230
  * Returns true when the file was rewritten.
145
231
  */
@@ -156,18 +242,30 @@ export function syncManifestHooks(cwd, ast) {
156
242
  }
157
243
  if (typeof parsed !== "object" || parsed === null)
158
244
  return false;
159
- const hooks = manifestHooks(ast);
160
- const next = JSON.stringify(hooks);
161
- const current = JSON.stringify(parsed["hooks"] ?? {});
162
- if (next === current)
245
+ const changedHooks = applyManifestMap(parsed, "hooks", manifestHooks(ast));
246
+ const changedValidators = applyManifestMap(parsed, "validators", manifestValidators(ast));
247
+ if (!changedHooks && !changedValidators)
163
248
  return false;
164
- if (Object.keys(hooks).length === 0) {
165
- delete parsed["hooks"];
249
+ writeFileSync(manifestPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
250
+ return true;
251
+ }
252
+ /**
253
+ * Set one manifest key to `map`, or remove it when the schema declares none.
254
+ *
255
+ * Removing rather than writing `{}` matters: the server distinguishes "no map" from "an empty map"
256
+ * when it decides whether the manifest predates the feature, and an empty object left behind by a
257
+ * schema that no longer declares any is not the same statement.
258
+ */
259
+ function applyManifestMap(manifest, key, map) {
260
+ const next = JSON.stringify(map);
261
+ if (next === JSON.stringify(manifest[key] ?? {}))
262
+ return false;
263
+ if (Object.keys(map).length === 0) {
264
+ delete manifest[key];
166
265
  }
167
266
  else {
168
- parsed["hooks"] = hooks;
267
+ manifest[key] = map;
169
268
  }
170
- writeFileSync(manifestPath, `${JSON.stringify(parsed, null, 2)}\n`, "utf8");
171
269
  return true;
172
270
  }
173
271
  /**
@@ -182,14 +280,17 @@ export function syncManifestHooks(cwd, ast) {
182
280
  */
183
281
  export function hooksReport(cwd, functionsDir, ast) {
184
282
  const declared = declaredHooks(ast);
283
+ const validators = declaredValidators(ast);
185
284
  const manifestPath = join(cwd, ".supatype", "manifest.json");
186
285
  let functionsDisabled = false;
187
286
  let mapMissing = false;
188
- if (declared.length > 0 && existsSync(manifestPath)) {
287
+ let validatorMapMissing = false;
288
+ if ((declared.length > 0 || validators.length > 0) && existsSync(manifestPath)) {
189
289
  try {
190
290
  const parsed = JSON.parse(readFileSync(manifestPath, "utf8"));
191
291
  functionsDisabled = parsed["functions_enabled"] === false;
192
- mapMissing = parsed["hooks"] === undefined;
292
+ mapMissing = declared.length > 0 && parsed["hooks"] === undefined;
293
+ validatorMapMissing = validators.length > 0 && parsed["validators"] === undefined;
193
294
  }
194
295
  catch {
195
296
  // Unparseable: the server reports that far better than a doctor line could.
@@ -206,6 +307,9 @@ export function hooksReport(cwd, functionsDir, ast) {
206
307
  missing: declared.filter((hook) => !known.has(hook.function)),
207
308
  functionsDisabled,
208
309
  mapMissing,
310
+ validators,
311
+ validatorsMissing: validators.filter((entry) => !known.has(entry.function)),
312
+ validatorMapMissing,
209
313
  };
210
314
  }
211
315
  //# sourceMappingURL=model-hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-hooks.js","sourceRoot":"","sources":["../src/model-hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-hooks.js","sourceRoot":"","sources":["../src/model-hooks.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,24 @@
2
2
  * AST v2 wire format, canonical types and emitters.
3
3
  * Parsers build {@link ParsedField}; only `emitField` / `emitModel` / `emitSchema` produce JSON.
4
4
  */
5
+ import type { FieldValidation } from "@supatype/types";
6
+ export type { FieldValidation };
5
7
  export declare const AST_VERSION: 2;
8
+ /**
9
+ * Every field kind the extractor can produce. **The registry, not a list.**
10
+ *
11
+ * A kind used to exist the moment someone wrote `scalar("newThing")` in the extractor's type switch,
12
+ * with nothing anywhere enumerating the set. That is how nine kinds came to accept a declared bound
13
+ * and silently enforce nothing: no code and no test could ask "what are all the kinds", so each was
14
+ * handled wherever someone happened to look.
15
+ *
16
+ * Naming a kind here is now the only way to create one, because {@link scalar} takes a `FieldKind`.
17
+ * Anything keyed by `Record<FieldKind, T>` is then exhaustive by the compiler rather than by
18
+ * somebody remembering: `BOUNDS_BY_KIND` in `field-bounds.ts` is the first such consumer, so adding
19
+ * a kind here fails the build until it is classified there.
20
+ */
21
+ export declare const FIELD_KINDS: readonly ["text", "email", "url", "slug", "color", "xml", "ip", "cidr", "macaddr", "tsQuery", "tsVector", "richText", "bytes", "integer", "smallInt", "bigInt", "float", "serial", "bigSerial", "decimal", "money", "datetime", "timestamp", "date", "interval", "array", "blocks", "json", "button", "enum", "boolean", "uuid", "image", "file", "geo", "vector", "relation", "custom", "timestamps", "publishable", "softDelete"];
22
+ export type FieldKind = (typeof FIELD_KINDS)[number];
6
23
  export type DefaultAst = {
7
24
  kind: "value";
8
25
  value: string | number | boolean | null;
@@ -49,6 +66,15 @@ export interface KernelFieldFacts {
49
66
  dimensions?: number;
50
67
  blocks?: BlockDefinitionAst[];
51
68
  check?: string;
69
+ validation?: FieldValidation;
70
+ /**
71
+ * `JSON<T[]>` rather than `JSON<{...}>`, read from the declared type argument.
72
+ *
73
+ * Persisted because a model constraint naming this column with `ItemCount<>` has to resolve the
74
+ * same measure the field's own `MaxItems` would, and by then the type node is long gone. The
75
+ * engine never reads it: it receives the measure already resolved.
76
+ */
77
+ jsonArray?: boolean;
52
78
  precision?: number;
53
79
  scale?: number;
54
80
  references?: string;
@@ -63,7 +89,7 @@ export interface KernelFieldFacts {
63
89
  }
64
90
  /** Internal parse result: not serialized. */
65
91
  export interface ParsedField {
66
- kind: string;
92
+ kind: FieldKind;
67
93
  kernel: KernelFieldFacts;
68
94
  db: DbFieldAnnotations;
69
95
  platform: PlatformFieldAnnotations;
@@ -86,10 +112,12 @@ export interface ModelAstV2 {
86
112
  db: {
87
113
  tableName: string;
88
114
  indexes: unknown[];
115
+ constraints?: unknown[];
89
116
  };
90
117
  platform: {
91
118
  access: Record<string, unknown>;
92
119
  hooks?: Record<string, unknown>;
120
+ validate?: Record<string, unknown>;
93
121
  };
94
122
  };
95
123
  }
@@ -109,17 +137,23 @@ export interface ExtractedSchemaAstV2 {
109
137
  locales?: string[];
110
138
  defaultLocale?: string;
111
139
  }
112
- /** Start a parsed field with kind defaults for db/platform namespaces. */
140
+ /**
141
+ * Start a parsed field with kind defaults for db/platform namespaces.
142
+ *
143
+ * Takes a plain `string` rather than a `FieldKind` because it is also called with a kind read back
144
+ * off the wire, where the value came from JSON and carries no compile-time guarantee. The optional
145
+ * lookup plus the fallback is what makes an unrecognised one safe.
146
+ */
113
147
  export declare function defaultPgTypeForKind(kind: string): string;
114
148
  /** Flat wire shape for fields nested inside `blocks` definitions (engine FieldAst serde). */
115
149
  export declare function emitBlockNestedField(field: FieldAstV2): FieldAstV2;
116
- export declare function scalar(kind: string, extra?: {
150
+ export declare function scalar(kind: FieldKind, extra?: {
117
151
  kernel?: Partial<KernelFieldFacts>;
118
152
  db?: Partial<DbFieldAnnotations>;
119
153
  platform?: Partial<PlatformFieldAnnotations>;
120
154
  }): ParsedField;
121
155
  export declare function emitField(parsed: ParsedField): FieldAstV2;
122
- export declare function emitModel(name: string, fields: Record<string, FieldAstV2>, options: Record<string, unknown>, tableName: string, access: Record<string, unknown>, indexes?: unknown[], hooks?: Record<string, unknown>): ModelAstV2;
156
+ export declare function emitModel(name: string, fields: Record<string, FieldAstV2>, options: Record<string, unknown>, tableName: string, access: Record<string, unknown>, indexes?: unknown[], hooks?: Record<string, unknown>, constraints?: unknown[], validators?: Record<string, unknown>): ModelAstV2;
123
157
  export declare function emitSchema(models: ModelAstV2[], extras?: {
124
158
  storageBuckets?: ExtractedSchemaAstV2["storageBuckets"];
125
159
  locales?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ast-v2.d.ts","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-ast-v2.d.ts","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,69 @@
3
3
  * Parsers build {@link ParsedField}; only `emitField` / `emitModel` / `emitSchema` produce JSON.
4
4
  */
5
5
  export const AST_VERSION = 2;
6
+ /**
7
+ * Every field kind the extractor can produce. **The registry, not a list.**
8
+ *
9
+ * A kind used to exist the moment someone wrote `scalar("newThing")` in the extractor's type switch,
10
+ * with nothing anywhere enumerating the set. That is how nine kinds came to accept a declared bound
11
+ * and silently enforce nothing: no code and no test could ask "what are all the kinds", so each was
12
+ * handled wherever someone happened to look.
13
+ *
14
+ * Naming a kind here is now the only way to create one, because {@link scalar} takes a `FieldKind`.
15
+ * Anything keyed by `Record<FieldKind, T>` is then exhaustive by the compiler rather than by
16
+ * somebody remembering: `BOUNDS_BY_KIND` in `field-bounds.ts` is the first such consumer, so adding
17
+ * a kind here fails the build until it is classified there.
18
+ */
19
+ export const FIELD_KINDS = [
20
+ // Text-shaped
21
+ "text",
22
+ "email",
23
+ "url",
24
+ "slug",
25
+ "color",
26
+ "xml",
27
+ "ip",
28
+ "cidr",
29
+ "macaddr",
30
+ "tsQuery",
31
+ "tsVector",
32
+ "richText",
33
+ "bytes",
34
+ // Numeric
35
+ "integer",
36
+ "smallInt",
37
+ "bigInt",
38
+ "float",
39
+ "serial",
40
+ "bigSerial",
41
+ "decimal",
42
+ "money",
43
+ // Temporal
44
+ "datetime",
45
+ "timestamp",
46
+ "date",
47
+ "interval",
48
+ // Collections and structured values
49
+ "array",
50
+ "blocks",
51
+ "json",
52
+ "button",
53
+ "enum",
54
+ // Fixed-shape scalars
55
+ "boolean",
56
+ "uuid",
57
+ // Storage, spatial, plugin
58
+ "image",
59
+ "file",
60
+ "geo",
61
+ "vector",
62
+ "relation",
63
+ "custom",
64
+ // Composites, expanded into real columns before they reach a table
65
+ "timestamps",
66
+ "publishable",
67
+ "softDelete",
68
+ ];
6
69
  const DEFAULT_DB_BY_KIND = {
7
70
  text: { pgType: "TEXT" },
8
71
  richText: { pgType: "JSONB" },
@@ -54,7 +117,13 @@ function stripUndefined(obj) {
54
117
  }
55
118
  return out;
56
119
  }
57
- /** Start a parsed field with kind defaults for db/platform namespaces. */
120
+ /**
121
+ * Start a parsed field with kind defaults for db/platform namespaces.
122
+ *
123
+ * Takes a plain `string` rather than a `FieldKind` because it is also called with a kind read back
124
+ * off the wire, where the value came from JSON and carries no compile-time guarantee. The optional
125
+ * lookup plus the fallback is what makes an unrecognised one safe.
126
+ */
58
127
  export function defaultPgTypeForKind(kind) {
59
128
  return DEFAULT_DB_BY_KIND[kind]?.pgType ?? "TEXT";
60
129
  }
@@ -92,6 +161,8 @@ export function emitBlockNestedField(field) {
92
161
  wire.dimensions = field.dimensions;
93
162
  if (field.check !== undefined)
94
163
  wire.check = field.check;
164
+ if (field.validation !== undefined)
165
+ wire.validation = field.validation;
95
166
  if (field.precision !== undefined)
96
167
  wire.precision = field.precision;
97
168
  if (field.scale !== undefined)
@@ -171,6 +242,10 @@ export function emitField(parsed) {
171
242
  }
172
243
  if (kernel.check !== undefined)
173
244
  wire.check = kernel.check;
245
+ if (kernel.validation !== undefined)
246
+ wire.validation = kernel.validation;
247
+ if (kernel.jsonArray === true)
248
+ wire.jsonArray = true;
174
249
  if (kernel.precision !== undefined)
175
250
  wire.precision = kernel.precision;
176
251
  if (kernel.scale !== undefined)
@@ -202,16 +277,24 @@ export function emitField(parsed) {
202
277
  wire.annotations = annotations;
203
278
  return wire;
204
279
  }
205
- export function emitModel(name, fields, options, tableName, access, indexes = [], hooks = {}) {
280
+ export function emitModel(name, fields, options, tableName, access, indexes = [], hooks = {}, constraints = [], validators = {}) {
206
281
  return {
207
282
  name,
208
283
  fields,
209
284
  options,
210
285
  annotations: {
211
- db: { tableName, indexes },
286
+ // Constraints sit in `db` beside `indexes`: both are things Postgres holds, unlike `access`
287
+ // and `hooks`, which the API layer enforces.
288
+ db: { tableName, indexes, ...(constraints.length > 0 && { constraints }) },
212
289
  // Hooks sit in `platform` beside `access`: they are an API-layer concern, not a column one,
213
290
  // supatype-server reads them, Postgres never sees them.
214
- platform: { access, ...(Object.keys(hooks).length > 0 && { hooks }) },
291
+ // Validators sit in `platform` beside `hooks`: both are enforced by the API layer on the
292
+ // write path, and neither is something Postgres knows about.
293
+ platform: {
294
+ access,
295
+ ...(Object.keys(hooks).length > 0 && { hooks }),
296
+ ...(Object.keys(validators).length > 0 && { validate: validators }),
297
+ },
215
298
  },
216
299
  };
217
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema-ast-v2.js","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,CAAA;AA2GrC,MAAM,kBAAkB,GAAgD;IACtE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9B,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;IAChC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,KAAK,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;IACrC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9B,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;IACnC,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,SAAS,EAAE,EAAE,MAAM,EAAE,0BAA0B,EAAE;IACjD,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACzB,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACvB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IACzB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,SAAS,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;IAClC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACzB,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACtB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACxB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3B,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACvB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC3B,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAC5B,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IACzB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAC1B,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAC1B,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IACzB,GAAG,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;IAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;CAC5B,CAAA;AAED,MAAM,wBAAwB,GAAsD;IAClF,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;CAC7B,CAAA;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAA;AAE5E,SAAS,OAAO,CAAC,GAA4B;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AACpC,CAAC;AAED,SAAS,cAAc,CAAoC,GAAM;IAC/D,MAAM,GAAG,GAA4B,EAAE,CAAA;IACvC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,GAAiB,CAAA;AAC1B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,MAAM,CAAA;AACnD,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,oBAAoB,CAAC,KAAiB;IACpD,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAqB,CAAA;IACjE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAA;IAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAA;IAE3C,MAAM,IAAI,GAAe;QACvB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;QACjC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,KAAK;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK;KACpC,CAAA;IAED,IAAI,QAAQ,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IAC3C,IAAI,KAAK,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IAC5C,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACpD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1D,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACtE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;IACpD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IACtE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACvD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACnE,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACvD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAA;IAChE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAC1D,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;IAE1D,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CACpB,IAAY,EACZ,KAIC;IAED,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE;QACpC,EAAE,EAAE,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;QACvE,QAAQ,EAAE,EAAE,GAAG,wBAAwB,CAAC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE;KAC1F,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAmB;IAC3C,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,MAAM,EAAE,GAAG,cAAc,CAAC;QACxB,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,GAAG,MAAM,CAAC,EAAE;KACb,CAAuB,CAAA;IAExB,MAAM,QAAQ,GAAG,cAAc,CAAC;QAC9B,GAAG,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC;QACxC,GAAG,MAAM,CAAC,QAAQ;KACnB,CAA6B,CAAA;IAE9B,MAAM,IAAI,GAAe,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAA;IAE9C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5B,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClE,IAAI,MAAM,CAAC,UAAU;QAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;IAC7C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC/D,IAAI,MAAM,CAAC,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IAC3C,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;IAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACtD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC5F,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5D,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACxE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA;IACtD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC7C,GAAG,QAAQ;YACX,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBACtD,IAAI;gBACJ,oBAAoB,CAAC,MAAM,CAAC;aAC7B,CAAC,CACH;SACF,CAAC,CAAC,CAAA;IACL,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IACzD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACrE,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IACzD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;IACxE,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;IAC/D,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClE,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;QAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClE,IAAI,MAAM,CAAC,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;QAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;IACrE,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;IAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAErF,MAAM,WAAW,GAAqB,EAAE,CAAA;IACxC,IAAI,OAAO,CAAC,EAA6B,CAAC;QAAE,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IAC/D,IAAI,OAAO,CAAC,QAAmC,CAAC;QAAE,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAA;IACjF,IAAI,OAAO,CAAC,WAAsC,CAAC;QAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAEnF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,IAAY,EACZ,MAAkC,EAClC,OAAgC,EAChC,SAAiB,EACjB,MAA+B,EAC/B,UAAqB,EAAE,EACvB,QAAiC,EAAE;IAEnC,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,WAAW,EAAE;YACX,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YAC1B,4FAA4F;YAC5F,wDAAwD;YACxD,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;SACtE;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,MAAoB,EACpB,MAIC;IAED,OAAO;QACL,UAAU,EAAE,WAAW;QACvB,MAAM;QACN,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,SAAS;YACtC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC;QAChF,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9F,GAAG,CAAC,MAAM,EAAE,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;KACpF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"schema-ast-v2.js","sourceRoot":"","sources":["../src/schema-ast-v2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAcA,OAAO,EAOL,KAAK,oBAAoB,EAK1B,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CA6G7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG"}
1
+ {"version":3,"file":"type-extractor.d.ts","sourceRoot":"","sources":["../src/type-extractor.ts"],"names":[],"mappings":"AAcA,OAAO,EAOL,KAAK,oBAAoB,EAM1B,MAAM,oBAAoB,CAAA;AAG3B,YAAY,EAAE,oBAAoB,IAAI,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAA;AAM/G,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAsB,GAC1B,oBAAoB,GAAG,IAAI,CAwH7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,gBAAgB,EAAE,CAAA;CAC1B;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CA4BrG"}