@adminiumjs/engine 0.2.2-rc.0 → 0.2.2

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.
@@ -0,0 +1,1148 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://docs.adminium.dev/schemas/ir-v1.json",
4
+ "title": "Adminium schema IR v1",
5
+ "description": "The intermediate representation every Adminium schema import converges on. Generated from packages/engine/src/schema-model.ts — do not edit by hand.",
6
+ "type": "object",
7
+ "properties": {
8
+ "$schema": {
9
+ "type": "string",
10
+ "description": "Optional pointer to this schema. Adminium ignores it on import."
11
+ },
12
+ "irVersion": {
13
+ "default": 1,
14
+ "type": "number",
15
+ "const": 1
16
+ },
17
+ "dialect": {
18
+ "type": "string",
19
+ "enum": [
20
+ "postgres",
21
+ "mysql",
22
+ "sqlite",
23
+ "generic"
24
+ ]
25
+ },
26
+ "source": {
27
+ "default": {
28
+ "kind": "import",
29
+ "format": "json-ir"
30
+ },
31
+ "oneOf": [
32
+ {
33
+ "type": "object",
34
+ "properties": {
35
+ "kind": {
36
+ "type": "string",
37
+ "const": "live"
38
+ },
39
+ "connectionId": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ }
43
+ },
44
+ "required": [
45
+ "kind",
46
+ "connectionId"
47
+ ],
48
+ "additionalProperties": false
49
+ },
50
+ {
51
+ "type": "object",
52
+ "properties": {
53
+ "kind": {
54
+ "type": "string",
55
+ "const": "import"
56
+ },
57
+ "format": {
58
+ "type": "string",
59
+ "enum": [
60
+ "sql-ddl",
61
+ "prisma",
62
+ "drizzle",
63
+ "typeorm",
64
+ "sequelize",
65
+ "rails",
66
+ "django",
67
+ "json-ir"
68
+ ]
69
+ },
70
+ "fileName": {
71
+ "type": "string",
72
+ "minLength": 1
73
+ }
74
+ },
75
+ "required": [
76
+ "kind",
77
+ "format"
78
+ ],
79
+ "additionalProperties": false
80
+ }
81
+ ]
82
+ },
83
+ "name": {
84
+ "type": "string",
85
+ "minLength": 1
86
+ },
87
+ "defaultSchema": {
88
+ "default": "public",
89
+ "type": "string",
90
+ "minLength": 1
91
+ },
92
+ "schemas": {
93
+ "default": [
94
+ "public"
95
+ ],
96
+ "minItems": 1,
97
+ "type": "array",
98
+ "items": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ }
102
+ },
103
+ "tables": {
104
+ "type": "array",
105
+ "items": {
106
+ "type": "object",
107
+ "properties": {
108
+ "id": {
109
+ "type": "string",
110
+ "minLength": 1
111
+ },
112
+ "schema": {
113
+ "default": "public",
114
+ "type": "string",
115
+ "minLength": 1
116
+ },
117
+ "name": {
118
+ "type": "string",
119
+ "minLength": 1
120
+ },
121
+ "label": {
122
+ "type": "string",
123
+ "minLength": 1
124
+ },
125
+ "kind": {
126
+ "default": "table",
127
+ "type": "string",
128
+ "enum": [
129
+ "table",
130
+ "view",
131
+ "materialized-view"
132
+ ]
133
+ },
134
+ "comment": {
135
+ "default": null,
136
+ "anyOf": [
137
+ {
138
+ "type": "string"
139
+ },
140
+ {
141
+ "type": "null"
142
+ }
143
+ ]
144
+ },
145
+ "columns": {
146
+ "minItems": 1,
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "properties": {
151
+ "name": {
152
+ "type": "string",
153
+ "minLength": 1
154
+ },
155
+ "ordinal": {
156
+ "default": 0,
157
+ "type": "integer",
158
+ "minimum": 0,
159
+ "maximum": 9007199254740991
160
+ },
161
+ "dbType": {
162
+ "default": "text",
163
+ "type": "string"
164
+ },
165
+ "logicalType": {
166
+ "default": "text",
167
+ "type": "string",
168
+ "enum": [
169
+ "text",
170
+ "varchar",
171
+ "integer",
172
+ "bigint",
173
+ "decimal",
174
+ "float",
175
+ "boolean",
176
+ "date",
177
+ "time",
178
+ "timestamp",
179
+ "timestamptz",
180
+ "interval",
181
+ "uuid",
182
+ "json",
183
+ "binary",
184
+ "enum",
185
+ "geometry",
186
+ "inet",
187
+ "unknown"
188
+ ]
189
+ },
190
+ "nullable": {
191
+ "default": true,
192
+ "type": "boolean"
193
+ },
194
+ "default": {
195
+ "default": null,
196
+ "anyOf": [
197
+ {
198
+ "anyOf": [
199
+ {
200
+ "type": "object",
201
+ "properties": {
202
+ "kind": {
203
+ "type": "string",
204
+ "enum": [
205
+ "literal",
206
+ "expression"
207
+ ]
208
+ },
209
+ "text": {
210
+ "type": "string"
211
+ }
212
+ },
213
+ "required": [
214
+ "kind",
215
+ "text"
216
+ ],
217
+ "additionalProperties": false
218
+ },
219
+ {
220
+ "type": "object",
221
+ "properties": {
222
+ "kind": {
223
+ "type": "string",
224
+ "enum": [
225
+ "autoincrement",
226
+ "now",
227
+ "uuid"
228
+ ]
229
+ }
230
+ },
231
+ "required": [
232
+ "kind"
233
+ ],
234
+ "additionalProperties": false
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "type": "null"
240
+ }
241
+ ]
242
+ },
243
+ "isPrimaryKey": {
244
+ "default": false,
245
+ "type": "boolean"
246
+ },
247
+ "isUnique": {
248
+ "default": false,
249
+ "type": "boolean"
250
+ },
251
+ "isGenerated": {
252
+ "default": false,
253
+ "type": "boolean"
254
+ },
255
+ "enumRef": {
256
+ "default": null,
257
+ "anyOf": [
258
+ {
259
+ "type": "string"
260
+ },
261
+ {
262
+ "type": "null"
263
+ }
264
+ ]
265
+ },
266
+ "maxLength": {
267
+ "default": null,
268
+ "anyOf": [
269
+ {
270
+ "type": "integer",
271
+ "exclusiveMinimum": 0,
272
+ "maximum": 9007199254740991
273
+ },
274
+ {
275
+ "type": "null"
276
+ }
277
+ ]
278
+ },
279
+ "numericPrecision": {
280
+ "default": null,
281
+ "anyOf": [
282
+ {
283
+ "type": "integer",
284
+ "minimum": 0,
285
+ "maximum": 9007199254740991
286
+ },
287
+ {
288
+ "type": "null"
289
+ }
290
+ ]
291
+ },
292
+ "numericScale": {
293
+ "default": null,
294
+ "anyOf": [
295
+ {
296
+ "type": "integer",
297
+ "minimum": 0,
298
+ "maximum": 9007199254740991
299
+ },
300
+ {
301
+ "type": "null"
302
+ }
303
+ ]
304
+ },
305
+ "isArray": {
306
+ "default": false,
307
+ "type": "boolean"
308
+ },
309
+ "comment": {
310
+ "default": null,
311
+ "anyOf": [
312
+ {
313
+ "type": "string"
314
+ },
315
+ {
316
+ "type": "null"
317
+ }
318
+ ]
319
+ },
320
+ "references": {
321
+ "default": null,
322
+ "anyOf": [
323
+ {
324
+ "type": "object",
325
+ "properties": {
326
+ "tableId": {
327
+ "type": "string",
328
+ "minLength": 1
329
+ },
330
+ "column": {
331
+ "type": "string",
332
+ "minLength": 1
333
+ }
334
+ },
335
+ "required": [
336
+ "tableId",
337
+ "column"
338
+ ],
339
+ "additionalProperties": false
340
+ },
341
+ {
342
+ "type": "null"
343
+ }
344
+ ]
345
+ },
346
+ "semantics": {
347
+ "default": null,
348
+ "anyOf": [
349
+ {
350
+ "type": "object",
351
+ "properties": {
352
+ "primary": {
353
+ "type": "string",
354
+ "enum": [
355
+ "secret",
356
+ "pk-id",
357
+ "fk",
358
+ "money",
359
+ "percent",
360
+ "score",
361
+ "status-workflow",
362
+ "category-enum",
363
+ "created-at",
364
+ "updated-at",
365
+ "date-range",
366
+ "event-timestamp",
367
+ "duration",
368
+ "geo-point",
369
+ "geo-region",
370
+ "person-name",
371
+ "email",
372
+ "phone",
373
+ "image-url",
374
+ "file-ref",
375
+ "url",
376
+ "boolean-flag",
377
+ "color",
378
+ "tags",
379
+ "slug",
380
+ "ip-address",
381
+ "json-config",
382
+ "external-id",
383
+ "free-text",
384
+ "plain"
385
+ ]
386
+ },
387
+ "flags": {
388
+ "type": "object",
389
+ "properties": {
390
+ "secret": {
391
+ "default": false,
392
+ "type": "boolean"
393
+ },
394
+ "pii": {
395
+ "default": null,
396
+ "anyOf": [
397
+ {
398
+ "type": "string",
399
+ "enum": [
400
+ "email",
401
+ "phone",
402
+ "ip",
403
+ "person-name",
404
+ "address",
405
+ "dob",
406
+ "gov-id",
407
+ "payment-id",
408
+ "geo-precise"
409
+ ]
410
+ },
411
+ {
412
+ "type": "null"
413
+ }
414
+ ]
415
+ },
416
+ "maskedByDefault": {
417
+ "default": false,
418
+ "type": "boolean"
419
+ }
420
+ },
421
+ "additionalProperties": false
422
+ },
423
+ "format": {
424
+ "default": null,
425
+ "anyOf": [
426
+ {
427
+ "type": "string"
428
+ },
429
+ {
430
+ "type": "null"
431
+ }
432
+ ]
433
+ },
434
+ "pair": {
435
+ "default": null,
436
+ "anyOf": [
437
+ {
438
+ "type": "object",
439
+ "properties": {
440
+ "role": {
441
+ "type": "string",
442
+ "enum": [
443
+ "start",
444
+ "end",
445
+ "lat",
446
+ "lng",
447
+ "poly-type",
448
+ "poly-id"
449
+ ]
450
+ },
451
+ "partner": {
452
+ "type": "string",
453
+ "minLength": 1
454
+ }
455
+ },
456
+ "required": [
457
+ "role",
458
+ "partner"
459
+ ],
460
+ "additionalProperties": false
461
+ },
462
+ {
463
+ "type": "null"
464
+ }
465
+ ]
466
+ },
467
+ "confidence": {
468
+ "type": "number",
469
+ "minimum": 0,
470
+ "maximum": 1
471
+ },
472
+ "source": {
473
+ "default": "heuristic",
474
+ "type": "string",
475
+ "enum": [
476
+ "heuristic",
477
+ "llm",
478
+ "override"
479
+ ]
480
+ }
481
+ },
482
+ "required": [
483
+ "primary",
484
+ "flags",
485
+ "confidence"
486
+ ],
487
+ "additionalProperties": false
488
+ },
489
+ {
490
+ "type": "null"
491
+ }
492
+ ]
493
+ }
494
+ },
495
+ "required": [
496
+ "name"
497
+ ],
498
+ "additionalProperties": false
499
+ }
500
+ },
501
+ "primaryKey": {
502
+ "default": [],
503
+ "type": "array",
504
+ "items": {
505
+ "type": "string"
506
+ }
507
+ },
508
+ "uniques": {
509
+ "default": [],
510
+ "type": "array",
511
+ "items": {
512
+ "type": "object",
513
+ "properties": {
514
+ "name": {
515
+ "anyOf": [
516
+ {
517
+ "type": "string"
518
+ },
519
+ {
520
+ "type": "null"
521
+ }
522
+ ]
523
+ },
524
+ "columns": {
525
+ "minItems": 1,
526
+ "type": "array",
527
+ "items": {
528
+ "type": "string"
529
+ }
530
+ }
531
+ },
532
+ "required": [
533
+ "name",
534
+ "columns"
535
+ ],
536
+ "additionalProperties": false
537
+ }
538
+ },
539
+ "checks": {
540
+ "default": [],
541
+ "type": "array",
542
+ "items": {
543
+ "type": "object",
544
+ "properties": {
545
+ "name": {
546
+ "anyOf": [
547
+ {
548
+ "type": "string"
549
+ },
550
+ {
551
+ "type": "null"
552
+ }
553
+ ]
554
+ },
555
+ "expression": {
556
+ "type": "string",
557
+ "minLength": 1
558
+ }
559
+ },
560
+ "required": [
561
+ "name",
562
+ "expression"
563
+ ],
564
+ "additionalProperties": false
565
+ }
566
+ },
567
+ "indexes": {
568
+ "default": [],
569
+ "type": "array",
570
+ "items": {
571
+ "type": "object",
572
+ "properties": {
573
+ "name": {
574
+ "type": "string",
575
+ "minLength": 1
576
+ },
577
+ "columns": {
578
+ "default": [],
579
+ "type": "array",
580
+ "items": {
581
+ "type": "string"
582
+ }
583
+ },
584
+ "expression": {
585
+ "default": null,
586
+ "anyOf": [
587
+ {
588
+ "type": "string"
589
+ },
590
+ {
591
+ "type": "null"
592
+ }
593
+ ]
594
+ },
595
+ "unique": {
596
+ "default": false,
597
+ "type": "boolean"
598
+ },
599
+ "primary": {
600
+ "default": false,
601
+ "type": "boolean"
602
+ },
603
+ "method": {
604
+ "default": null,
605
+ "anyOf": [
606
+ {
607
+ "type": "string"
608
+ },
609
+ {
610
+ "type": "null"
611
+ }
612
+ ]
613
+ },
614
+ "partial": {
615
+ "default": false,
616
+ "type": "boolean"
617
+ }
618
+ },
619
+ "required": [
620
+ "name"
621
+ ],
622
+ "additionalProperties": false
623
+ }
624
+ },
625
+ "rowCountEstimate": {
626
+ "default": null,
627
+ "anyOf": [
628
+ {
629
+ "type": "integer",
630
+ "minimum": 0,
631
+ "maximum": 9007199254740991
632
+ },
633
+ {
634
+ "type": "null"
635
+ }
636
+ ]
637
+ },
638
+ "rowCountExact": {
639
+ "default": false,
640
+ "type": "boolean"
641
+ },
642
+ "sizeBytes": {
643
+ "default": null,
644
+ "anyOf": [
645
+ {
646
+ "type": "integer",
647
+ "minimum": 0,
648
+ "maximum": 9007199254740991
649
+ },
650
+ {
651
+ "type": "null"
652
+ }
653
+ ]
654
+ },
655
+ "activity": {
656
+ "default": null,
657
+ "anyOf": [
658
+ {
659
+ "type": "object",
660
+ "properties": {
661
+ "inserts": {
662
+ "type": "integer",
663
+ "minimum": 0,
664
+ "maximum": 9007199254740991
665
+ },
666
+ "updates": {
667
+ "type": "integer",
668
+ "minimum": 0,
669
+ "maximum": 9007199254740991
670
+ },
671
+ "deletes": {
672
+ "type": "integer",
673
+ "minimum": 0,
674
+ "maximum": 9007199254740991
675
+ }
676
+ },
677
+ "required": [
678
+ "inserts",
679
+ "updates",
680
+ "deletes"
681
+ ],
682
+ "additionalProperties": false
683
+ },
684
+ {
685
+ "type": "null"
686
+ }
687
+ ]
688
+ },
689
+ "rls": {
690
+ "default": null,
691
+ "anyOf": [
692
+ {
693
+ "type": "object",
694
+ "properties": {
695
+ "enabled": {
696
+ "type": "boolean"
697
+ },
698
+ "forced": {
699
+ "type": "boolean"
700
+ },
701
+ "policyCount": {
702
+ "type": "integer",
703
+ "minimum": 0,
704
+ "maximum": 9007199254740991
705
+ }
706
+ },
707
+ "required": [
708
+ "enabled",
709
+ "forced",
710
+ "policyCount"
711
+ ],
712
+ "additionalProperties": false
713
+ },
714
+ {
715
+ "type": "null"
716
+ }
717
+ ]
718
+ },
719
+ "system": {
720
+ "default": false,
721
+ "type": "boolean"
722
+ },
723
+ "semantics": {
724
+ "default": null,
725
+ "anyOf": [
726
+ {
727
+ "type": "object",
728
+ "properties": {
729
+ "role": {
730
+ "type": "string",
731
+ "enum": [
732
+ "entity",
733
+ "join-table",
734
+ "log",
735
+ "people",
736
+ "messages",
737
+ "line-items",
738
+ "system"
739
+ ]
740
+ },
741
+ "hierarchy": {
742
+ "default": null,
743
+ "anyOf": [
744
+ {
745
+ "type": "object",
746
+ "properties": {
747
+ "parentColumn": {
748
+ "type": "string",
749
+ "minLength": 1
750
+ }
751
+ },
752
+ "required": [
753
+ "parentColumn"
754
+ ],
755
+ "additionalProperties": false
756
+ },
757
+ {
758
+ "type": "null"
759
+ }
760
+ ]
761
+ },
762
+ "polymorphic": {
763
+ "default": [],
764
+ "type": "array",
765
+ "items": {
766
+ "type": "object",
767
+ "properties": {
768
+ "typeColumn": {
769
+ "type": "string",
770
+ "minLength": 1
771
+ },
772
+ "idColumn": {
773
+ "type": "string",
774
+ "minLength": 1
775
+ },
776
+ "targets": {
777
+ "default": [],
778
+ "type": "array",
779
+ "items": {
780
+ "type": "string"
781
+ }
782
+ }
783
+ },
784
+ "required": [
785
+ "typeColumn",
786
+ "idColumn"
787
+ ],
788
+ "additionalProperties": false
789
+ }
790
+ }
791
+ },
792
+ "required": [
793
+ "role"
794
+ ],
795
+ "additionalProperties": false
796
+ },
797
+ {
798
+ "type": "null"
799
+ }
800
+ ]
801
+ }
802
+ },
803
+ "required": [
804
+ "name",
805
+ "columns"
806
+ ],
807
+ "additionalProperties": false
808
+ }
809
+ },
810
+ "enums": {
811
+ "default": [],
812
+ "type": "array",
813
+ "items": {
814
+ "type": "object",
815
+ "properties": {
816
+ "id": {
817
+ "type": "string",
818
+ "minLength": 1
819
+ },
820
+ "name": {
821
+ "type": "string",
822
+ "minLength": 1
823
+ },
824
+ "values": {
825
+ "minItems": 1,
826
+ "maxItems": 256,
827
+ "type": "array",
828
+ "items": {
829
+ "type": "string"
830
+ }
831
+ },
832
+ "source": {
833
+ "default": "import",
834
+ "type": "string",
835
+ "enum": [
836
+ "native",
837
+ "column-type",
838
+ "check",
839
+ "import"
840
+ ]
841
+ }
842
+ },
843
+ "required": [
844
+ "id",
845
+ "name",
846
+ "values"
847
+ ],
848
+ "additionalProperties": false
849
+ }
850
+ },
851
+ "relations": {
852
+ "default": [],
853
+ "type": "array",
854
+ "items": {
855
+ "type": "object",
856
+ "properties": {
857
+ "id": {
858
+ "type": "string",
859
+ "minLength": 1
860
+ },
861
+ "kind": {
862
+ "type": "string",
863
+ "enum": [
864
+ "declared-fk",
865
+ "inferred-name",
866
+ "inferred-join-table",
867
+ "override",
868
+ "manifest"
869
+ ]
870
+ },
871
+ "cardinality": {
872
+ "type": "string",
873
+ "enum": [
874
+ "one-to-one",
875
+ "one-to-many",
876
+ "many-to-many"
877
+ ]
878
+ },
879
+ "from": {
880
+ "type": "object",
881
+ "properties": {
882
+ "tableId": {
883
+ "type": "string",
884
+ "minLength": 1
885
+ },
886
+ "columns": {
887
+ "minItems": 1,
888
+ "type": "array",
889
+ "items": {
890
+ "type": "string",
891
+ "minLength": 1
892
+ }
893
+ }
894
+ },
895
+ "required": [
896
+ "tableId",
897
+ "columns"
898
+ ],
899
+ "additionalProperties": false
900
+ },
901
+ "to": {
902
+ "type": "object",
903
+ "properties": {
904
+ "tableId": {
905
+ "type": "string",
906
+ "minLength": 1
907
+ },
908
+ "columns": {
909
+ "minItems": 1,
910
+ "type": "array",
911
+ "items": {
912
+ "type": "string",
913
+ "minLength": 1
914
+ }
915
+ }
916
+ },
917
+ "required": [
918
+ "tableId",
919
+ "columns"
920
+ ],
921
+ "additionalProperties": false
922
+ },
923
+ "through": {
924
+ "default": null,
925
+ "anyOf": [
926
+ {
927
+ "type": "object",
928
+ "properties": {
929
+ "tableId": {
930
+ "type": "string",
931
+ "minLength": 1
932
+ },
933
+ "fromColumns": {
934
+ "minItems": 1,
935
+ "type": "array",
936
+ "items": {
937
+ "type": "string",
938
+ "minLength": 1
939
+ }
940
+ },
941
+ "toColumns": {
942
+ "minItems": 1,
943
+ "type": "array",
944
+ "items": {
945
+ "type": "string",
946
+ "minLength": 1
947
+ }
948
+ }
949
+ },
950
+ "required": [
951
+ "tableId",
952
+ "fromColumns",
953
+ "toColumns"
954
+ ],
955
+ "additionalProperties": false
956
+ },
957
+ {
958
+ "type": "null"
959
+ }
960
+ ]
961
+ },
962
+ "onDelete": {
963
+ "default": null,
964
+ "anyOf": [
965
+ {
966
+ "type": "string",
967
+ "enum": [
968
+ "cascade",
969
+ "restrict",
970
+ "set-null",
971
+ "set-default",
972
+ "no-action"
973
+ ]
974
+ },
975
+ {
976
+ "type": "null"
977
+ }
978
+ ]
979
+ },
980
+ "onUpdate": {
981
+ "default": null,
982
+ "anyOf": [
983
+ {
984
+ "type": "string",
985
+ "enum": [
986
+ "cascade",
987
+ "restrict",
988
+ "set-null",
989
+ "set-default",
990
+ "no-action"
991
+ ]
992
+ },
993
+ {
994
+ "type": "null"
995
+ }
996
+ ]
997
+ },
998
+ "selfReferential": {
999
+ "default": false,
1000
+ "type": "boolean"
1001
+ },
1002
+ "confidence": {
1003
+ "default": 1,
1004
+ "type": "number",
1005
+ "minimum": 0,
1006
+ "maximum": 1
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "id",
1011
+ "kind",
1012
+ "cardinality",
1013
+ "from",
1014
+ "to"
1015
+ ],
1016
+ "additionalProperties": false
1017
+ }
1018
+ },
1019
+ "capabilities": {
1020
+ "default": {},
1021
+ "type": "object",
1022
+ "properties": {
1023
+ "hasEnums": {
1024
+ "default": false,
1025
+ "type": "boolean"
1026
+ },
1027
+ "hasFKs": {
1028
+ "default": true,
1029
+ "type": "boolean"
1030
+ },
1031
+ "hasSchemas": {
1032
+ "default": false,
1033
+ "type": "boolean"
1034
+ },
1035
+ "hasComments": {
1036
+ "default": false,
1037
+ "type": "boolean"
1038
+ },
1039
+ "hasChecks": {
1040
+ "default": false,
1041
+ "type": "boolean"
1042
+ },
1043
+ "hasRLS": {
1044
+ "default": false,
1045
+ "type": "boolean"
1046
+ },
1047
+ "hasMaterializedViews": {
1048
+ "default": false,
1049
+ "type": "boolean"
1050
+ },
1051
+ "hasRowEstimates": {
1052
+ "default": false,
1053
+ "type": "boolean"
1054
+ },
1055
+ "supportsStatementTimeout": {
1056
+ "default": false,
1057
+ "type": "boolean"
1058
+ },
1059
+ "supportsReturning": {
1060
+ "default": false,
1061
+ "type": "boolean"
1062
+ },
1063
+ "maxIdentifierLength": {
1064
+ "default": 128,
1065
+ "type": "integer",
1066
+ "exclusiveMinimum": 0,
1067
+ "maximum": 9007199254740991
1068
+ }
1069
+ },
1070
+ "additionalProperties": false
1071
+ },
1072
+ "introspectedAt": {
1073
+ "type": "string",
1074
+ "format": "date-time",
1075
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
1076
+ "description": "ISO 8601. Defaults to the moment of import when omitted."
1077
+ },
1078
+ "stats": {
1079
+ "default": {},
1080
+ "type": "object",
1081
+ "properties": {
1082
+ "tableCount": {
1083
+ "default": 0,
1084
+ "type": "integer",
1085
+ "minimum": 0,
1086
+ "maximum": 9007199254740991
1087
+ },
1088
+ "columnCount": {
1089
+ "default": 0,
1090
+ "type": "integer",
1091
+ "minimum": 0,
1092
+ "maximum": 9007199254740991
1093
+ },
1094
+ "relationCount": {
1095
+ "default": 0,
1096
+ "type": "integer",
1097
+ "minimum": 0,
1098
+ "maximum": 9007199254740991
1099
+ },
1100
+ "durationMs": {
1101
+ "default": 0,
1102
+ "type": "number",
1103
+ "minimum": 0
1104
+ }
1105
+ },
1106
+ "additionalProperties": false
1107
+ },
1108
+ "warnings": {
1109
+ "default": [],
1110
+ "type": "array",
1111
+ "items": {
1112
+ "type": "object",
1113
+ "properties": {
1114
+ "code": {
1115
+ "type": "string",
1116
+ "minLength": 1
1117
+ },
1118
+ "message": {
1119
+ "type": "string",
1120
+ "minLength": 1
1121
+ },
1122
+ "tableId": {
1123
+ "default": null,
1124
+ "anyOf": [
1125
+ {
1126
+ "type": "string"
1127
+ },
1128
+ {
1129
+ "type": "null"
1130
+ }
1131
+ ]
1132
+ }
1133
+ },
1134
+ "required": [
1135
+ "code",
1136
+ "message"
1137
+ ],
1138
+ "additionalProperties": false
1139
+ }
1140
+ }
1141
+ },
1142
+ "required": [
1143
+ "dialect",
1144
+ "name",
1145
+ "tables"
1146
+ ],
1147
+ "additionalProperties": false
1148
+ }