@objectstack/objectql 1.1.0 → 2.0.1

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.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import * as _objectstack_spec_data from '@objectstack/spec/data';
2
3
  import { ServiceObject, ObjectOwnership, HookContext, DataEngineQueryOptions, DataEngineInsertOptions, DataEngineUpdateOptions, DataEngineDeleteOptions, DataEngineCountOptions, DataEngineAggregateOptions } from '@objectstack/spec/data';
3
4
  import { ObjectStackManifest, InstalledPackage } from '@objectstack/spec/kernel';
4
5
  import { ObjectStackProtocol, MetadataCacheRequest, MetadataCacheResponse, BatchUpdateRequest, BatchUpdateResponse, UpdateManyDataRequest, DeleteManyDataRequest } from '@objectstack/spec/api';
@@ -15,13 +16,13 @@ import { IDataEngine, DriverInterface, Logger, Plugin, PluginContext } from '@ob
15
16
  */
16
17
  declare const ActionRefSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
17
18
  type: z.ZodString;
18
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
19
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
19
20
  }, "strip", z.ZodTypeAny, {
20
21
  type: string;
21
- params?: Record<string, any> | undefined;
22
+ params?: Record<string, unknown> | undefined;
22
23
  }, {
23
24
  type: string;
24
- params?: Record<string, any> | undefined;
25
+ params?: Record<string, unknown> | undefined;
25
26
  }>]>;
26
27
  /**
27
28
  * State Transition Definition
@@ -31,23 +32,23 @@ declare const TransitionSchema: z.ZodObject<{
31
32
  target: z.ZodOptional<z.ZodString>;
32
33
  cond: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodObject<{
33
34
  type: z.ZodString;
34
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
35
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
35
36
  }, "strip", z.ZodTypeAny, {
36
37
  type: string;
37
- params?: Record<string, any> | undefined;
38
+ params?: Record<string, unknown> | undefined;
38
39
  }, {
39
40
  type: string;
40
- params?: Record<string, any> | undefined;
41
+ params?: Record<string, unknown> | undefined;
41
42
  }>]>>;
42
43
  actions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
43
44
  type: z.ZodString;
44
- params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
45
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
45
46
  }, "strip", z.ZodTypeAny, {
46
47
  type: string;
47
- params?: Record<string, any> | undefined;
48
+ params?: Record<string, unknown> | undefined;
48
49
  }, {
49
50
  type: string;
50
- params?: Record<string, any> | undefined;
51
+ params?: Record<string, unknown> | undefined;
51
52
  }>]>, "many">>;
52
53
  description: z.ZodOptional<z.ZodString>;
53
54
  }, "strip", z.ZodTypeAny, {
@@ -55,22 +56,22 @@ declare const TransitionSchema: z.ZodObject<{
55
56
  description?: string | undefined;
56
57
  cond?: string | {
57
58
  type: string;
58
- params?: Record<string, any> | undefined;
59
+ params?: Record<string, unknown> | undefined;
59
60
  } | undefined;
60
61
  actions?: (string | {
61
62
  type: string;
62
- params?: Record<string, any> | undefined;
63
+ params?: Record<string, unknown> | undefined;
63
64
  })[] | undefined;
64
65
  }, {
65
66
  target?: string | undefined;
66
67
  description?: string | undefined;
67
68
  cond?: string | {
68
69
  type: string;
69
- params?: Record<string, any> | undefined;
70
+ params?: Record<string, unknown> | undefined;
70
71
  } | undefined;
71
72
  actions?: (string | {
72
73
  type: string;
73
- params?: Record<string, any> | undefined;
74
+ params?: Record<string, unknown> | undefined;
74
75
  })[] | undefined;
75
76
  }>;
76
77
  type ActionRef = z.infer<typeof ActionRefSchema>;
@@ -237,8 +238,9 @@ declare class SchemaRegistry {
237
238
  * Validate Metadata against Spec Zod Schemas
238
239
  */
239
240
  static validate(type: string, item: any): true | {
241
+ name: string;
240
242
  fields: Record<string, {
241
- type: "number" | "boolean" | "code" | "date" | "lookup" | "text" | "textarea" | "email" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
243
+ type: "number" | "boolean" | "code" | "date" | "lookup" | "json" | "text" | "textarea" | "email" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
242
244
  required: boolean;
243
245
  searchable: boolean;
244
246
  multiple: boolean;
@@ -247,6 +249,7 @@ declare class SchemaRegistry {
247
249
  auditTrail: boolean;
248
250
  hidden: boolean;
249
251
  readonly: boolean;
252
+ sortable: boolean;
250
253
  encryption: boolean;
251
254
  index: boolean;
252
255
  externalId: boolean;
@@ -257,9 +260,11 @@ declare class SchemaRegistry {
257
260
  default?: boolean | undefined;
258
261
  }[] | undefined;
259
262
  expression?: string | undefined;
260
- defaultValue?: any;
263
+ defaultValue?: unknown;
261
264
  min?: number | undefined;
262
265
  max?: number | undefined;
266
+ name?: string | undefined;
267
+ format?: string | undefined;
263
268
  step?: number | undefined;
264
269
  language?: string | undefined;
265
270
  encryptionConfig?: {
@@ -282,9 +287,7 @@ declare class SchemaRegistry {
282
287
  formula?: string | undefined;
283
288
  label?: string | undefined;
284
289
  precision?: number | undefined;
285
- name?: string | undefined;
286
290
  description?: string | undefined;
287
- format?: string | undefined;
288
291
  maxLength?: number | undefined;
289
292
  minLength?: number | undefined;
290
293
  scale?: number | undefined;
@@ -388,8 +391,11 @@ declare class SchemaRegistry {
388
391
  threshold: number;
389
392
  } | undefined;
390
393
  } | undefined;
394
+ inlineHelpText?: string | undefined;
395
+ trackFeedHistory?: boolean | undefined;
396
+ caseSensitive?: boolean | undefined;
397
+ autonumberFormat?: string | undefined;
391
398
  }>;
392
- name: string;
393
399
  active: boolean;
394
400
  isSystem: boolean;
395
401
  abstract: boolean;
@@ -409,8 +415,8 @@ declare class SchemaRegistry {
409
415
  type: "hash" | "btree" | "gin" | "gist" | "fulltext";
410
416
  fields: string[];
411
417
  unique: boolean;
412
- partial?: string | undefined;
413
418
  name?: string | undefined;
419
+ partial?: string | undefined;
414
420
  }[] | undefined;
415
421
  tenancy?: {
416
422
  enabled: boolean;
@@ -440,66 +446,66 @@ declare class SchemaRegistry {
440
446
  events: ("insert" | "update" | "delete")[];
441
447
  destination: string;
442
448
  } | undefined;
443
- validations?: any[] | undefined;
449
+ validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
444
450
  stateMachine?: {
451
+ id: string;
445
452
  initial: string;
446
453
  states: Record<string, StateNodeConfig>;
447
- id: string;
448
454
  on?: Record<string, string | {
449
455
  target?: string | undefined;
450
456
  description?: string | undefined;
451
457
  cond?: string | {
452
458
  type: string;
453
- params?: Record<string, any> | undefined;
459
+ params?: Record<string, unknown> | undefined;
454
460
  } | undefined;
455
461
  actions?: (string | {
456
462
  type: string;
457
- params?: Record<string, any> | undefined;
463
+ params?: Record<string, unknown> | undefined;
458
464
  })[] | undefined;
459
465
  } | {
460
466
  target?: string | undefined;
461
467
  description?: string | undefined;
462
468
  cond?: string | {
463
469
  type: string;
464
- params?: Record<string, any> | undefined;
470
+ params?: Record<string, unknown> | undefined;
465
471
  } | undefined;
466
472
  actions?: (string | {
467
473
  type: string;
468
- params?: Record<string, any> | undefined;
474
+ params?: Record<string, unknown> | undefined;
469
475
  })[] | undefined;
470
476
  }[]> | undefined;
471
477
  description?: string | undefined;
472
- contextSchema?: Record<string, any> | undefined;
478
+ contextSchema?: Record<string, unknown> | undefined;
473
479
  } | undefined;
474
480
  stateMachines?: Record<string, {
481
+ id: string;
475
482
  initial: string;
476
483
  states: Record<string, StateNodeConfig>;
477
- id: string;
478
484
  on?: Record<string, string | {
479
485
  target?: string | undefined;
480
486
  description?: string | undefined;
481
487
  cond?: string | {
482
488
  type: string;
483
- params?: Record<string, any> | undefined;
489
+ params?: Record<string, unknown> | undefined;
484
490
  } | undefined;
485
491
  actions?: (string | {
486
492
  type: string;
487
- params?: Record<string, any> | undefined;
493
+ params?: Record<string, unknown> | undefined;
488
494
  })[] | undefined;
489
495
  } | {
490
496
  target?: string | undefined;
491
497
  description?: string | undefined;
492
498
  cond?: string | {
493
499
  type: string;
494
- params?: Record<string, any> | undefined;
500
+ params?: Record<string, unknown> | undefined;
495
501
  } | undefined;
496
502
  actions?: (string | {
497
503
  type: string;
498
- params?: Record<string, any> | undefined;
504
+ params?: Record<string, unknown> | undefined;
499
505
  })[] | undefined;
500
506
  }[]> | undefined;
501
507
  description?: string | undefined;
502
- contextSchema?: Record<string, any> | undefined;
508
+ contextSchema?: Record<string, unknown> | undefined;
503
509
  }> | undefined;
504
510
  titleFormat?: string | undefined;
505
511
  compactLayout?: string[] | undefined;
@@ -513,17 +519,20 @@ declare class SchemaRegistry {
513
519
  trash: boolean;
514
520
  mru: boolean;
515
521
  clone: boolean;
516
- apiMethods?: ("search" | "update" | "delete" | "history" | "get" | "list" | "create" | "upsert" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
522
+ apiMethods?: ("update" | "delete" | "upsert" | "search" | "history" | "get" | "list" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
517
523
  } | undefined;
524
+ recordTypes?: string[] | undefined;
525
+ sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
526
+ keyPrefix?: string | undefined;
518
527
  } | {
519
- label: string;
520
528
  name: string;
529
+ label: string;
521
530
  active: boolean;
522
531
  isDefault: boolean;
523
532
  description?: string | undefined;
524
533
  version?: string | undefined;
525
534
  icon?: string | undefined;
526
- objects?: any[] | undefined;
535
+ objects?: unknown[] | undefined;
527
536
  branding?: {
528
537
  primaryColor?: string | undefined;
529
538
  logo?: string | undefined;
@@ -532,14 +541,14 @@ declare class SchemaRegistry {
532
541
  navigation?: any[] | undefined;
533
542
  homePageId?: string | undefined;
534
543
  requiredPermissions?: string[] | undefined;
535
- apis?: any[] | undefined;
544
+ apis?: unknown[] | undefined;
536
545
  } | {
537
546
  status: "error" | "disabled" | "installed" | "installing" | "uninstalling";
538
547
  enabled: boolean;
539
548
  manifest: {
540
549
  type: "theme" | "driver" | "app" | "server" | "ui" | "agent" | "objectql" | "plugin" | "module" | "gateway" | "adapter";
541
- name: string;
542
550
  id: string;
551
+ name: string;
543
552
  version: string;
544
553
  description?: string | undefined;
545
554
  dependencies?: Record<string, string> | undefined;
@@ -548,13 +557,20 @@ declare class SchemaRegistry {
548
557
  externalId: string;
549
558
  mode: "insert" | "update" | "upsert" | "replace" | "ignore";
550
559
  env: ("prod" | "dev" | "test")[];
551
- records: Record<string, any>[];
560
+ records: Record<string, unknown>[];
552
561
  }[] | undefined;
553
562
  capabilities?: {
563
+ requires?: {
564
+ version: string;
565
+ optional: boolean;
566
+ pluginId: string;
567
+ reason?: string | undefined;
568
+ requiredCapabilities?: string[] | undefined;
569
+ }[] | undefined;
554
570
  implements?: {
555
571
  protocol: {
556
- label: string;
557
572
  id: string;
573
+ label: string;
558
574
  version: {
559
575
  major: number;
560
576
  minor: number;
@@ -565,7 +581,7 @@ declare class SchemaRegistry {
565
581
  };
566
582
  conformance: "partial" | "full" | "deprecated" | "experimental";
567
583
  certified: boolean;
568
- metadata?: Record<string, any> | undefined;
584
+ metadata?: Record<string, unknown> | undefined;
569
585
  features?: {
570
586
  enabled: boolean;
571
587
  name: string;
@@ -583,14 +599,14 @@ declare class SchemaRegistry {
583
599
  description?: string | undefined;
584
600
  parameters?: {
585
601
  type: string;
586
- required: boolean;
587
602
  name: string;
603
+ required: boolean;
588
604
  description?: string | undefined;
589
605
  }[] | undefined;
590
606
  returnType?: string | undefined;
591
607
  }[];
592
- name: string;
593
608
  id: string;
609
+ name: string;
594
610
  version: {
595
611
  major: number;
596
612
  minor: number;
@@ -604,17 +620,10 @@ declare class SchemaRegistry {
604
620
  payload?: string | undefined;
605
621
  }[] | undefined;
606
622
  }[] | undefined;
607
- requires?: {
608
- version: string;
609
- optional: boolean;
610
- pluginId: string;
611
- reason?: string | undefined;
612
- requiredCapabilities?: string[] | undefined;
613
- }[] | undefined;
614
623
  extensionPoints?: {
615
624
  type: "provider" | "action" | "widget" | "hook" | "transformer" | "validator" | "decorator";
616
- name: string;
617
625
  id: string;
626
+ name: string;
618
627
  cardinality: "multiple" | "single";
619
628
  description?: string | undefined;
620
629
  contract?: {
@@ -633,15 +642,15 @@ declare class SchemaRegistry {
633
642
  objects?: string[] | undefined;
634
643
  permissions?: string[] | undefined;
635
644
  namespace?: string | undefined;
636
- extensions?: Record<string, any> | undefined;
645
+ extensions?: Record<string, unknown> | undefined;
637
646
  loading?: {
638
647
  strategy: "parallel" | "eager" | "lazy" | "deferred" | "on-demand";
639
648
  caching?: {
640
649
  enabled: boolean;
641
650
  storage: "hybrid" | "memory" | "disk" | "indexeddb";
642
651
  keyStrategy: "hash" | "version" | "timestamp";
643
- maxSize?: number | undefined;
644
652
  ttl?: number | undefined;
653
+ maxSize?: number | undefined;
645
654
  invalidateOn?: ("error" | "manual" | "version-change" | "dependency-change")[] | undefined;
646
655
  compression?: {
647
656
  enabled: boolean;
@@ -662,7 +671,7 @@ declare class SchemaRegistry {
662
671
  codeSplitting?: {
663
672
  enabled: boolean;
664
673
  strategy: "custom" | "size" | "route" | "feature";
665
- chunkNaming: "hashed" | "named" | "sequential";
674
+ chunkNaming: "hashed" | "sequential" | "named";
666
675
  maxChunkSize?: number | undefined;
667
676
  sharedDependencies?: {
668
677
  enabled: boolean;
@@ -677,8 +686,8 @@ declare class SchemaRegistry {
677
686
  preload: boolean;
678
687
  retry?: {
679
688
  enabled: boolean;
680
- maxAttempts: number;
681
689
  backoffMs: number;
690
+ maxAttempts: number;
682
691
  } | undefined;
683
692
  webpackChunkName?: string | undefined;
684
693
  } | undefined;
@@ -689,8 +698,8 @@ declare class SchemaRegistry {
689
698
  critical: boolean;
690
699
  retry?: {
691
700
  enabled: boolean;
692
- maxAttempts: number;
693
701
  backoffMs: number;
702
+ maxAttempts: number;
694
703
  } | undefined;
695
704
  healthCheckInterval?: number | undefined;
696
705
  } | undefined;
@@ -711,6 +720,7 @@ declare class SchemaRegistry {
711
720
  hotReload?: {
712
721
  enabled: boolean;
713
722
  strategy: "partial" | "full" | "state-preserve";
723
+ environment: "development" | "production" | "staging";
714
724
  debounceMs: number;
715
725
  preserveState: boolean;
716
726
  watchPatterns?: string[] | undefined;
@@ -724,9 +734,19 @@ declare class SchemaRegistry {
724
734
  beforeReload?: string | undefined;
725
735
  afterReload?: string | undefined;
726
736
  } | undefined;
737
+ productionSafety?: {
738
+ healthValidation: boolean;
739
+ rollbackOnFailure: boolean;
740
+ healthTimeout: number;
741
+ drainConnections: boolean;
742
+ drainTimeout: number;
743
+ maxConcurrentReloads: number;
744
+ minReloadInterval: number;
745
+ } | undefined;
727
746
  } | undefined;
728
747
  sandboxing?: {
729
748
  enabled: boolean;
749
+ scope: "automation-only" | "untrusted-only" | "all-plugins";
730
750
  isolationLevel: "none" | "process" | "vm" | "iframe" | "web-worker";
731
751
  permissions?: {
732
752
  allowedAPIs?: string[] | undefined;
@@ -741,6 +761,13 @@ declare class SchemaRegistry {
741
761
  maxFileDescriptors?: number | undefined;
742
762
  maxNetworkKBps?: number | undefined;
743
763
  } | undefined;
764
+ ipc?: {
765
+ enabled: boolean;
766
+ timeout: number;
767
+ transport: "memory" | "message-port" | "unix-socket" | "tcp";
768
+ maxMessageSize: number;
769
+ allowedServices?: string[] | undefined;
770
+ } | undefined;
744
771
  } | undefined;
745
772
  monitoring?: {
746
773
  enabled: boolean;
@@ -760,7 +787,7 @@ declare class SchemaRegistry {
760
787
  properties: Record<string, {
761
788
  type: "string" | "number" | "boolean" | "object" | "array";
762
789
  required?: boolean | undefined;
763
- default?: any;
790
+ default?: unknown;
764
791
  description?: string | undefined;
765
792
  enum?: string[] | undefined;
766
793
  secret?: boolean | undefined;
@@ -773,17 +800,22 @@ declare class SchemaRegistry {
773
800
  name: string;
774
801
  label?: string | undefined;
775
802
  description?: string | undefined;
776
- input?: any;
777
- output?: any;
803
+ input?: unknown;
804
+ output?: unknown;
778
805
  }[] | undefined;
779
806
  fieldTypes?: {
780
- label: string;
781
807
  name: string;
808
+ label: string;
782
809
  description?: string | undefined;
783
810
  }[] | undefined;
811
+ routes?: {
812
+ prefix: string;
813
+ service: string;
814
+ methods?: string[] | undefined;
815
+ }[] | undefined;
784
816
  drivers?: {
785
- label: string;
786
817
  id: string;
818
+ label: string;
787
819
  description?: string | undefined;
788
820
  }[] | undefined;
789
821
  kinds?: {
@@ -792,14 +824,14 @@ declare class SchemaRegistry {
792
824
  description?: string | undefined;
793
825
  }[] | undefined;
794
826
  menus?: Record<string, {
795
- label: string;
796
827
  id: string;
828
+ label: string;
797
829
  command?: string | undefined;
798
830
  }[]> | undefined;
799
831
  themes?: {
800
832
  path: string;
801
- label: string;
802
833
  id: string;
834
+ label: string;
803
835
  }[] | undefined;
804
836
  translations?: {
805
837
  path: string;
@@ -817,11 +849,11 @@ declare class SchemaRegistry {
817
849
  updatedAt?: string | undefined;
818
850
  installedAt?: string | undefined;
819
851
  statusChangedAt?: string | undefined;
820
- settings?: Record<string, any> | undefined;
852
+ settings?: Record<string, unknown> | undefined;
821
853
  } | {
822
854
  type: "theme" | "driver" | "app" | "server" | "ui" | "agent" | "objectql" | "plugin" | "module" | "gateway" | "adapter";
823
- name: string;
824
855
  id: string;
856
+ name: string;
825
857
  version: string;
826
858
  description?: string | undefined;
827
859
  dependencies?: Record<string, string> | undefined;
@@ -830,13 +862,20 @@ declare class SchemaRegistry {
830
862
  externalId: string;
831
863
  mode: "insert" | "update" | "upsert" | "replace" | "ignore";
832
864
  env: ("prod" | "dev" | "test")[];
833
- records: Record<string, any>[];
865
+ records: Record<string, unknown>[];
834
866
  }[] | undefined;
835
867
  capabilities?: {
868
+ requires?: {
869
+ version: string;
870
+ optional: boolean;
871
+ pluginId: string;
872
+ reason?: string | undefined;
873
+ requiredCapabilities?: string[] | undefined;
874
+ }[] | undefined;
836
875
  implements?: {
837
876
  protocol: {
838
- label: string;
839
877
  id: string;
878
+ label: string;
840
879
  version: {
841
880
  major: number;
842
881
  minor: number;
@@ -847,7 +886,7 @@ declare class SchemaRegistry {
847
886
  };
848
887
  conformance: "partial" | "full" | "deprecated" | "experimental";
849
888
  certified: boolean;
850
- metadata?: Record<string, any> | undefined;
889
+ metadata?: Record<string, unknown> | undefined;
851
890
  features?: {
852
891
  enabled: boolean;
853
892
  name: string;
@@ -865,14 +904,14 @@ declare class SchemaRegistry {
865
904
  description?: string | undefined;
866
905
  parameters?: {
867
906
  type: string;
868
- required: boolean;
869
907
  name: string;
908
+ required: boolean;
870
909
  description?: string | undefined;
871
910
  }[] | undefined;
872
911
  returnType?: string | undefined;
873
912
  }[];
874
- name: string;
875
913
  id: string;
914
+ name: string;
876
915
  version: {
877
916
  major: number;
878
917
  minor: number;
@@ -886,17 +925,10 @@ declare class SchemaRegistry {
886
925
  payload?: string | undefined;
887
926
  }[] | undefined;
888
927
  }[] | undefined;
889
- requires?: {
890
- version: string;
891
- optional: boolean;
892
- pluginId: string;
893
- reason?: string | undefined;
894
- requiredCapabilities?: string[] | undefined;
895
- }[] | undefined;
896
928
  extensionPoints?: {
897
929
  type: "provider" | "action" | "widget" | "hook" | "transformer" | "validator" | "decorator";
898
- name: string;
899
930
  id: string;
931
+ name: string;
900
932
  cardinality: "multiple" | "single";
901
933
  description?: string | undefined;
902
934
  contract?: {
@@ -915,15 +947,15 @@ declare class SchemaRegistry {
915
947
  objects?: string[] | undefined;
916
948
  permissions?: string[] | undefined;
917
949
  namespace?: string | undefined;
918
- extensions?: Record<string, any> | undefined;
950
+ extensions?: Record<string, unknown> | undefined;
919
951
  loading?: {
920
952
  strategy: "parallel" | "eager" | "lazy" | "deferred" | "on-demand";
921
953
  caching?: {
922
954
  enabled: boolean;
923
955
  storage: "hybrid" | "memory" | "disk" | "indexeddb";
924
956
  keyStrategy: "hash" | "version" | "timestamp";
925
- maxSize?: number | undefined;
926
957
  ttl?: number | undefined;
958
+ maxSize?: number | undefined;
927
959
  invalidateOn?: ("error" | "manual" | "version-change" | "dependency-change")[] | undefined;
928
960
  compression?: {
929
961
  enabled: boolean;
@@ -944,7 +976,7 @@ declare class SchemaRegistry {
944
976
  codeSplitting?: {
945
977
  enabled: boolean;
946
978
  strategy: "custom" | "size" | "route" | "feature";
947
- chunkNaming: "hashed" | "named" | "sequential";
979
+ chunkNaming: "hashed" | "sequential" | "named";
948
980
  maxChunkSize?: number | undefined;
949
981
  sharedDependencies?: {
950
982
  enabled: boolean;
@@ -959,8 +991,8 @@ declare class SchemaRegistry {
959
991
  preload: boolean;
960
992
  retry?: {
961
993
  enabled: boolean;
962
- maxAttempts: number;
963
994
  backoffMs: number;
995
+ maxAttempts: number;
964
996
  } | undefined;
965
997
  webpackChunkName?: string | undefined;
966
998
  } | undefined;
@@ -971,8 +1003,8 @@ declare class SchemaRegistry {
971
1003
  critical: boolean;
972
1004
  retry?: {
973
1005
  enabled: boolean;
974
- maxAttempts: number;
975
1006
  backoffMs: number;
1007
+ maxAttempts: number;
976
1008
  } | undefined;
977
1009
  healthCheckInterval?: number | undefined;
978
1010
  } | undefined;
@@ -993,6 +1025,7 @@ declare class SchemaRegistry {
993
1025
  hotReload?: {
994
1026
  enabled: boolean;
995
1027
  strategy: "partial" | "full" | "state-preserve";
1028
+ environment: "development" | "production" | "staging";
996
1029
  debounceMs: number;
997
1030
  preserveState: boolean;
998
1031
  watchPatterns?: string[] | undefined;
@@ -1006,9 +1039,19 @@ declare class SchemaRegistry {
1006
1039
  beforeReload?: string | undefined;
1007
1040
  afterReload?: string | undefined;
1008
1041
  } | undefined;
1042
+ productionSafety?: {
1043
+ healthValidation: boolean;
1044
+ rollbackOnFailure: boolean;
1045
+ healthTimeout: number;
1046
+ drainConnections: boolean;
1047
+ drainTimeout: number;
1048
+ maxConcurrentReloads: number;
1049
+ minReloadInterval: number;
1050
+ } | undefined;
1009
1051
  } | undefined;
1010
1052
  sandboxing?: {
1011
1053
  enabled: boolean;
1054
+ scope: "automation-only" | "untrusted-only" | "all-plugins";
1012
1055
  isolationLevel: "none" | "process" | "vm" | "iframe" | "web-worker";
1013
1056
  permissions?: {
1014
1057
  allowedAPIs?: string[] | undefined;
@@ -1023,6 +1066,13 @@ declare class SchemaRegistry {
1023
1066
  maxFileDescriptors?: number | undefined;
1024
1067
  maxNetworkKBps?: number | undefined;
1025
1068
  } | undefined;
1069
+ ipc?: {
1070
+ enabled: boolean;
1071
+ timeout: number;
1072
+ transport: "memory" | "message-port" | "unix-socket" | "tcp";
1073
+ maxMessageSize: number;
1074
+ allowedServices?: string[] | undefined;
1075
+ } | undefined;
1026
1076
  } | undefined;
1027
1077
  monitoring?: {
1028
1078
  enabled: boolean;
@@ -1042,7 +1092,7 @@ declare class SchemaRegistry {
1042
1092
  properties: Record<string, {
1043
1093
  type: "string" | "number" | "boolean" | "object" | "array";
1044
1094
  required?: boolean | undefined;
1045
- default?: any;
1095
+ default?: unknown;
1046
1096
  description?: string | undefined;
1047
1097
  enum?: string[] | undefined;
1048
1098
  secret?: boolean | undefined;
@@ -1055,17 +1105,22 @@ declare class SchemaRegistry {
1055
1105
  name: string;
1056
1106
  label?: string | undefined;
1057
1107
  description?: string | undefined;
1058
- input?: any;
1059
- output?: any;
1108
+ input?: unknown;
1109
+ output?: unknown;
1060
1110
  }[] | undefined;
1061
1111
  fieldTypes?: {
1062
- label: string;
1063
1112
  name: string;
1113
+ label: string;
1064
1114
  description?: string | undefined;
1065
1115
  }[] | undefined;
1116
+ routes?: {
1117
+ prefix: string;
1118
+ service: string;
1119
+ methods?: string[] | undefined;
1120
+ }[] | undefined;
1066
1121
  drivers?: {
1067
- label: string;
1068
1122
  id: string;
1123
+ label: string;
1069
1124
  description?: string | undefined;
1070
1125
  }[] | undefined;
1071
1126
  kinds?: {
@@ -1074,14 +1129,14 @@ declare class SchemaRegistry {
1074
1129
  description?: string | undefined;
1075
1130
  }[] | undefined;
1076
1131
  menus?: Record<string, {
1077
- label: string;
1078
1132
  id: string;
1133
+ label: string;
1079
1134
  command?: string | undefined;
1080
1135
  }[]> | undefined;
1081
1136
  themes?: {
1082
1137
  path: string;
1083
- label: string;
1084
1138
  id: string;
1139
+ label: string;
1085
1140
  }[] | undefined;
1086
1141
  translations?: {
1087
1142
  path: string;
@@ -1139,7 +1194,7 @@ declare class SchemaRegistry {
1139
1194
  declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
1140
1195
  private engine;
1141
1196
  constructor(engine: IDataEngine);
1142
- getDiscovery(_request: {}): Promise<{
1197
+ getDiscovery(): Promise<{
1143
1198
  version: string;
1144
1199
  apiName: string;
1145
1200
  capabilities: {
@@ -1148,20 +1203,113 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
1148
1203
  websockets: boolean;
1149
1204
  files: boolean;
1150
1205
  analytics: boolean;
1151
- hub: boolean;
1206
+ ai: boolean;
1207
+ workflow: boolean;
1208
+ notifications: boolean;
1209
+ i18n: boolean;
1152
1210
  };
1153
1211
  endpoints: {
1154
1212
  data: string;
1155
1213
  metadata: string;
1156
- auth: string;
1214
+ analytics: string;
1215
+ };
1216
+ services: {
1217
+ metadata: {
1218
+ enabled: boolean;
1219
+ status: "degraded";
1220
+ route: string;
1221
+ provider: string;
1222
+ message: string;
1223
+ };
1224
+ data: {
1225
+ enabled: boolean;
1226
+ status: "available";
1227
+ route: string;
1228
+ provider: string;
1229
+ };
1230
+ analytics: {
1231
+ enabled: boolean;
1232
+ status: "available";
1233
+ route: string;
1234
+ provider: string;
1235
+ };
1236
+ auth: {
1237
+ enabled: boolean;
1238
+ status: "unavailable";
1239
+ message: string;
1240
+ };
1241
+ automation: {
1242
+ enabled: boolean;
1243
+ status: "unavailable";
1244
+ message: string;
1245
+ };
1246
+ cache: {
1247
+ enabled: boolean;
1248
+ status: "unavailable";
1249
+ message: string;
1250
+ };
1251
+ queue: {
1252
+ enabled: boolean;
1253
+ status: "unavailable";
1254
+ message: string;
1255
+ };
1256
+ job: {
1257
+ enabled: boolean;
1258
+ status: "unavailable";
1259
+ message: string;
1260
+ };
1261
+ ui: {
1262
+ enabled: boolean;
1263
+ status: "unavailable";
1264
+ message: string;
1265
+ };
1266
+ workflow: {
1267
+ enabled: boolean;
1268
+ status: "unavailable";
1269
+ message: string;
1270
+ };
1271
+ realtime: {
1272
+ enabled: boolean;
1273
+ status: "unavailable";
1274
+ message: string;
1275
+ };
1276
+ notification: {
1277
+ enabled: boolean;
1278
+ status: "unavailable";
1279
+ message: string;
1280
+ };
1281
+ ai: {
1282
+ enabled: boolean;
1283
+ status: "unavailable";
1284
+ message: string;
1285
+ };
1286
+ i18n: {
1287
+ enabled: boolean;
1288
+ status: "unavailable";
1289
+ message: string;
1290
+ };
1291
+ graphql: {
1292
+ enabled: boolean;
1293
+ status: "unavailable";
1294
+ message: string;
1295
+ };
1296
+ 'file-storage': {
1297
+ enabled: boolean;
1298
+ status: "unavailable";
1299
+ message: string;
1300
+ };
1301
+ search: {
1302
+ enabled: boolean;
1303
+ status: "unavailable";
1304
+ message: string;
1305
+ };
1157
1306
  };
1158
1307
  }>;
1159
- getMetaTypes(_request: {}): Promise<{
1308
+ getMetaTypes(): Promise<{
1160
1309
  types: string[];
1161
1310
  }>;
1162
1311
  getMetaItems(request: {
1163
1312
  type: string;
1164
- packageId?: string;
1165
1313
  }): Promise<{
1166
1314
  type: string;
1167
1315
  items: unknown[];
@@ -1206,7 +1354,7 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
1206
1354
  label: string | undefined;
1207
1355
  required: boolean;
1208
1356
  readonly: boolean;
1209
- type: "number" | "boolean" | "tags" | "code" | "email" | "date" | "lookup" | "text" | "textarea" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "vector";
1357
+ type: "number" | "boolean" | "tags" | "code" | "email" | "date" | "lookup" | "json" | "text" | "textarea" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "vector";
1210
1358
  colSpan: number;
1211
1359
  }[];
1212
1360
  }[];
@@ -1261,7 +1409,7 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
1261
1409
  name: string;
1262
1410
  cacheRequest?: MetadataCacheRequest;
1263
1411
  }): Promise<MetadataCacheResponse>;
1264
- batchData(_request: {
1412
+ batchData(request: {
1265
1413
  object: string;
1266
1414
  request: BatchUpdateRequest;
1267
1415
  }): Promise<BatchUpdateResponse>;
@@ -1269,13 +1417,11 @@ declare class ObjectStackProtocolImplementation implements ObjectStackProtocol {
1269
1417
  object: string;
1270
1418
  records: any[];
1271
1419
  }): Promise<any>;
1272
- updateManyData(_request: UpdateManyDataRequest): Promise<any>;
1273
- analyticsQuery(_request: any): Promise<any>;
1274
- getAnalyticsMeta(_request: any): Promise<any>;
1420
+ updateManyData(request: UpdateManyDataRequest): Promise<BatchUpdateResponse>;
1421
+ analyticsQuery(request: any): Promise<any>;
1422
+ getAnalyticsMeta(request: any): Promise<any>;
1423
+ private mapAnalyticsOperator;
1275
1424
  triggerAutomation(_request: any): Promise<any>;
1276
- listSpaces(_request: any): Promise<any>;
1277
- createSpace(_request: any): Promise<any>;
1278
- installPlugin(_request: any): Promise<any>;
1279
1425
  deleteManyData(request: DeleteManyDataRequest): Promise<any>;
1280
1426
  saveMetaItem(request: {
1281
1427
  type: string;
@@ -1355,8 +1501,9 @@ declare class ObjectQL implements IDataEngine {
1355
1501
  * Helper to get object definition
1356
1502
  */
1357
1503
  getSchema(objectName: string): {
1504
+ name: string;
1358
1505
  fields: Record<string, {
1359
- type: "number" | "boolean" | "code" | "date" | "lookup" | "text" | "textarea" | "email" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
1506
+ type: "number" | "boolean" | "code" | "date" | "lookup" | "json" | "text" | "textarea" | "email" | "url" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "datetime" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "master_detail" | "tree" | "image" | "file" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "color" | "rating" | "slider" | "signature" | "qrcode" | "progress" | "tags" | "vector";
1360
1507
  required: boolean;
1361
1508
  searchable: boolean;
1362
1509
  multiple: boolean;
@@ -1365,6 +1512,7 @@ declare class ObjectQL implements IDataEngine {
1365
1512
  auditTrail: boolean;
1366
1513
  hidden: boolean;
1367
1514
  readonly: boolean;
1515
+ sortable: boolean;
1368
1516
  encryption: boolean;
1369
1517
  index: boolean;
1370
1518
  externalId: boolean;
@@ -1375,9 +1523,11 @@ declare class ObjectQL implements IDataEngine {
1375
1523
  default?: boolean | undefined;
1376
1524
  }[] | undefined;
1377
1525
  expression?: string | undefined;
1378
- defaultValue?: any;
1526
+ defaultValue?: unknown;
1379
1527
  min?: number | undefined;
1380
1528
  max?: number | undefined;
1529
+ name?: string | undefined;
1530
+ format?: string | undefined;
1381
1531
  step?: number | undefined;
1382
1532
  language?: string | undefined;
1383
1533
  encryptionConfig?: {
@@ -1400,9 +1550,7 @@ declare class ObjectQL implements IDataEngine {
1400
1550
  formula?: string | undefined;
1401
1551
  label?: string | undefined;
1402
1552
  precision?: number | undefined;
1403
- name?: string | undefined;
1404
1553
  description?: string | undefined;
1405
- format?: string | undefined;
1406
1554
  maxLength?: number | undefined;
1407
1555
  minLength?: number | undefined;
1408
1556
  scale?: number | undefined;
@@ -1506,8 +1654,11 @@ declare class ObjectQL implements IDataEngine {
1506
1654
  threshold: number;
1507
1655
  } | undefined;
1508
1656
  } | undefined;
1657
+ inlineHelpText?: string | undefined;
1658
+ trackFeedHistory?: boolean | undefined;
1659
+ caseSensitive?: boolean | undefined;
1660
+ autonumberFormat?: string | undefined;
1509
1661
  }>;
1510
- name: string;
1511
1662
  active: boolean;
1512
1663
  isSystem: boolean;
1513
1664
  abstract: boolean;
@@ -1527,8 +1678,8 @@ declare class ObjectQL implements IDataEngine {
1527
1678
  type: "hash" | "btree" | "gin" | "gist" | "fulltext";
1528
1679
  fields: string[];
1529
1680
  unique: boolean;
1530
- partial?: string | undefined;
1531
1681
  name?: string | undefined;
1682
+ partial?: string | undefined;
1532
1683
  }[] | undefined;
1533
1684
  tenancy?: {
1534
1685
  enabled: boolean;
@@ -1558,66 +1709,66 @@ declare class ObjectQL implements IDataEngine {
1558
1709
  events: ("insert" | "update" | "delete")[];
1559
1710
  destination: string;
1560
1711
  } | undefined;
1561
- validations?: any[] | undefined;
1712
+ validations?: _objectstack_spec_data.BaseValidationRuleShape[] | undefined;
1562
1713
  stateMachine?: {
1714
+ id: string;
1563
1715
  initial: string;
1564
1716
  states: Record<string, StateNodeConfig>;
1565
- id: string;
1566
1717
  on?: Record<string, string | {
1567
1718
  target?: string | undefined;
1568
1719
  description?: string | undefined;
1569
1720
  cond?: string | {
1570
1721
  type: string;
1571
- params?: Record<string, any> | undefined;
1722
+ params?: Record<string, unknown> | undefined;
1572
1723
  } | undefined;
1573
1724
  actions?: (string | {
1574
1725
  type: string;
1575
- params?: Record<string, any> | undefined;
1726
+ params?: Record<string, unknown> | undefined;
1576
1727
  })[] | undefined;
1577
1728
  } | {
1578
1729
  target?: string | undefined;
1579
1730
  description?: string | undefined;
1580
1731
  cond?: string | {
1581
1732
  type: string;
1582
- params?: Record<string, any> | undefined;
1733
+ params?: Record<string, unknown> | undefined;
1583
1734
  } | undefined;
1584
1735
  actions?: (string | {
1585
1736
  type: string;
1586
- params?: Record<string, any> | undefined;
1737
+ params?: Record<string, unknown> | undefined;
1587
1738
  })[] | undefined;
1588
1739
  }[]> | undefined;
1589
1740
  description?: string | undefined;
1590
- contextSchema?: Record<string, any> | undefined;
1741
+ contextSchema?: Record<string, unknown> | undefined;
1591
1742
  } | undefined;
1592
1743
  stateMachines?: Record<string, {
1744
+ id: string;
1593
1745
  initial: string;
1594
1746
  states: Record<string, StateNodeConfig>;
1595
- id: string;
1596
1747
  on?: Record<string, string | {
1597
1748
  target?: string | undefined;
1598
1749
  description?: string | undefined;
1599
1750
  cond?: string | {
1600
1751
  type: string;
1601
- params?: Record<string, any> | undefined;
1752
+ params?: Record<string, unknown> | undefined;
1602
1753
  } | undefined;
1603
1754
  actions?: (string | {
1604
1755
  type: string;
1605
- params?: Record<string, any> | undefined;
1756
+ params?: Record<string, unknown> | undefined;
1606
1757
  })[] | undefined;
1607
1758
  } | {
1608
1759
  target?: string | undefined;
1609
1760
  description?: string | undefined;
1610
1761
  cond?: string | {
1611
1762
  type: string;
1612
- params?: Record<string, any> | undefined;
1763
+ params?: Record<string, unknown> | undefined;
1613
1764
  } | undefined;
1614
1765
  actions?: (string | {
1615
1766
  type: string;
1616
- params?: Record<string, any> | undefined;
1767
+ params?: Record<string, unknown> | undefined;
1617
1768
  })[] | undefined;
1618
1769
  }[]> | undefined;
1619
1770
  description?: string | undefined;
1620
- contextSchema?: Record<string, any> | undefined;
1771
+ contextSchema?: Record<string, unknown> | undefined;
1621
1772
  }> | undefined;
1622
1773
  titleFormat?: string | undefined;
1623
1774
  compactLayout?: string[] | undefined;
@@ -1631,8 +1782,11 @@ declare class ObjectQL implements IDataEngine {
1631
1782
  trash: boolean;
1632
1783
  mru: boolean;
1633
1784
  clone: boolean;
1634
- apiMethods?: ("search" | "update" | "delete" | "history" | "get" | "list" | "create" | "upsert" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
1785
+ apiMethods?: ("update" | "delete" | "upsert" | "search" | "history" | "get" | "list" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
1635
1786
  } | undefined;
1787
+ recordTypes?: string[] | undefined;
1788
+ sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
1789
+ keyPrefix?: string | undefined;
1636
1790
  } | undefined;
1637
1791
  /**
1638
1792
  * Resolve an object name to its Fully Qualified Name (FQN).