@objectstack/plugin-security 4.0.5 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -82,6 +82,17 @@ declare class SecurityPlugin implements Plugin {
82
82
  * invalidation — a kernel restart drops the cache.
83
83
  */
84
84
  private readonly fieldNamesCache;
85
+ /**
86
+ * Per-object cache of tenancy opt-out. `true` means the schema
87
+ * explicitly disabled multi-tenancy (`tenancy.enabled === false` or
88
+ * `systemFields.tenant === false`). Wildcard policies that target
89
+ * the conventional tenant column (`organization_id`) are treated as
90
+ * *not applicable* on these tables instead of triggering the
91
+ * field-missing deny sentinel — without this, every read of a
92
+ * cross-org catalog (e.g. `sys_package`, the Marketplace) returns
93
+ * zero rows.
94
+ */
95
+ private readonly tenancyDisabledCache;
85
96
  constructor(options?: SecurityPluginOptions);
86
97
  init(ctx: PluginContext): Promise<void>;
87
98
  start(ctx: PluginContext): Promise<void>;
@@ -144,7 +155,13 @@ declare class PermissionEvaluator {
144
155
  * SecurityPlugin would never resolve the defaults and all enforcement
145
156
  * would be silently disabled for authenticated requests.
146
157
  */
147
- resolvePermissionSets(identifiers: string[], metadataService: any, bootstrapPermissionSets?: PermissionSet[]): Promise<PermissionSet[]>;
158
+ resolvePermissionSets(identifiers: string[], metadataService: any, bootstrapPermissionSets?: PermissionSet[],
159
+ /**
160
+ * Optional async loader for permission set names that aren't found in
161
+ * metadata or bootstrap. Lets callers query user-defined permission
162
+ * sets persisted in `sys_permission_set`. Failures are swallowed.
163
+ */
164
+ dbLoader?: (unresolved: string[]) => Promise<PermissionSet[]>): Promise<PermissionSet[]>;
148
165
  }
149
166
 
150
167
  /**
@@ -237,6 +254,27 @@ declare class FieldMasker {
237
254
  * Strip non-editable fields from write data.
238
255
  */
239
256
  stripNonEditableFields(data: Record<string, any>, fieldPermissions: Record<string, FieldPermission>): Record<string, any>;
257
+ /**
258
+ * Detect which fields in the caller's write payload would touch a
259
+ * field they are not allowed to edit. Returns the set of offending
260
+ * field names (no duplicates, sorted for stable error messages).
261
+ *
262
+ * Used by the security middleware on insert/update to fail-closed
263
+ * with an explicit 403 rather than silently dropping fields — a
264
+ * silent drop hides the security boundary from honest clients
265
+ * (their update partially "doesn't save") and gives an attacker no
266
+ * negative signal that the field exists. Throwing makes the
267
+ * boundary observable in both directions.
268
+ *
269
+ * `data` may be a single record or an array of records (bulk insert);
270
+ * either way the returned list is the union across all rows.
271
+ *
272
+ * Fields without a permission entry pass through — permission sets
273
+ * are an allow-list at the field level only for fields they
274
+ * explicitly enumerate. Most objects do not declare per-field rules
275
+ * and remain fully editable.
276
+ */
277
+ detectForbiddenWrites(data: Record<string, any> | Record<string, any>[], fieldPermissions: Record<string, FieldPermission>): string[];
240
278
  private maskRecord;
241
279
  }
242
280
 
@@ -485,6 +523,7 @@ declare const securityObjects: ((Omit<{
485
523
  generatedBy?: string | undefined;
486
524
  } | undefined;
487
525
  } | undefined;
526
+ system?: boolean | undefined;
488
527
  inlineHelpText?: string | undefined;
489
528
  trackFeedHistory?: boolean | undefined;
490
529
  caseSensitive?: boolean | undefined;
@@ -495,7 +534,14 @@ declare const securityObjects: ((Omit<{
495
534
  description?: string | undefined;
496
535
  icon?: string | undefined;
497
536
  tags?: string[] | undefined;
498
- managedBy?: "system" | "better-auth" | "platform" | undefined;
537
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
538
+ userActions?: {
539
+ create?: boolean | undefined;
540
+ import?: boolean | undefined;
541
+ edit?: boolean | undefined;
542
+ delete?: boolean | undefined;
543
+ exportCsv?: boolean | undefined;
544
+ } | undefined;
499
545
  systemFields?: false | {
500
546
  tenant?: boolean | undefined;
501
547
  owner?: boolean | undefined;
@@ -615,6 +661,240 @@ declare const securityObjects: ((Omit<{
615
661
  } | undefined;
616
662
  } | undefined;
617
663
  compactLayout?: string[] | undefined;
664
+ listViews?: Record<string, {
665
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
666
+ columns: string[] | {
667
+ field: string;
668
+ label?: string | undefined;
669
+ width?: number | undefined;
670
+ align?: "left" | "center" | "right" | undefined;
671
+ hidden?: boolean | undefined;
672
+ sortable?: boolean | undefined;
673
+ resizable?: boolean | undefined;
674
+ wrap?: boolean | undefined;
675
+ type?: string | undefined;
676
+ pinned?: "left" | "right" | undefined;
677
+ summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
678
+ link?: boolean | undefined;
679
+ action?: string | undefined;
680
+ }[];
681
+ name?: string | undefined;
682
+ label?: string | undefined;
683
+ data?: {
684
+ provider: "object";
685
+ object: string;
686
+ } | {
687
+ provider: "api";
688
+ read?: {
689
+ url: string;
690
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
691
+ headers?: Record<string, string> | undefined;
692
+ params?: Record<string, unknown> | undefined;
693
+ body?: unknown;
694
+ } | undefined;
695
+ write?: {
696
+ url: string;
697
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
698
+ headers?: Record<string, string> | undefined;
699
+ params?: Record<string, unknown> | undefined;
700
+ body?: unknown;
701
+ } | undefined;
702
+ } | {
703
+ provider: "value";
704
+ items: unknown[];
705
+ } | undefined;
706
+ filter?: {
707
+ field: string;
708
+ operator: string;
709
+ value?: string | number | boolean | (string | number)[] | null | undefined;
710
+ }[] | undefined;
711
+ sort?: string | {
712
+ field: string;
713
+ order: "asc" | "desc";
714
+ }[] | undefined;
715
+ searchableFields?: string[] | undefined;
716
+ filterableFields?: string[] | undefined;
717
+ resizable?: boolean | undefined;
718
+ striped?: boolean | undefined;
719
+ bordered?: boolean | undefined;
720
+ compactToolbar?: boolean | undefined;
721
+ selection?: {
722
+ type: "multiple" | "single" | "none";
723
+ } | undefined;
724
+ navigation?: {
725
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
726
+ preventNavigation: boolean;
727
+ openNewTab: boolean;
728
+ view?: string | undefined;
729
+ width?: string | number | undefined;
730
+ } | undefined;
731
+ pagination?: {
732
+ pageSize: number;
733
+ pageSizeOptions?: number[] | undefined;
734
+ } | undefined;
735
+ kanban?: {
736
+ groupByField: string;
737
+ columns: string[];
738
+ summarizeField?: string | undefined;
739
+ } | undefined;
740
+ calendar?: {
741
+ startDateField: string;
742
+ titleField: string;
743
+ endDateField?: string | undefined;
744
+ colorField?: string | undefined;
745
+ } | undefined;
746
+ gantt?: {
747
+ startDateField: string;
748
+ endDateField: string;
749
+ titleField: string;
750
+ progressField?: string | undefined;
751
+ dependenciesField?: string | undefined;
752
+ } | undefined;
753
+ gallery?: {
754
+ coverFit: "cover" | "contain";
755
+ cardSize: "small" | "medium" | "large";
756
+ coverField?: string | undefined;
757
+ titleField?: string | undefined;
758
+ visibleFields?: string[] | undefined;
759
+ } | undefined;
760
+ timeline?: {
761
+ startDateField: string;
762
+ titleField: string;
763
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
764
+ endDateField?: string | undefined;
765
+ groupByField?: string | undefined;
766
+ colorField?: string | undefined;
767
+ } | undefined;
768
+ chart?: {
769
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
770
+ xAxisField: string;
771
+ yAxisFields: string[];
772
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
773
+ groupByField?: string | undefined;
774
+ } | undefined;
775
+ description?: string | undefined;
776
+ sharing?: {
777
+ type: "personal" | "collaborative";
778
+ lockedBy?: string | undefined;
779
+ } | undefined;
780
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
781
+ grouping?: {
782
+ fields: {
783
+ field: string;
784
+ order: "asc" | "desc";
785
+ collapsed: boolean;
786
+ }[];
787
+ } | undefined;
788
+ rowColor?: {
789
+ field: string;
790
+ colors?: Record<string, string> | undefined;
791
+ } | undefined;
792
+ hiddenFields?: string[] | undefined;
793
+ fieldOrder?: string[] | undefined;
794
+ rowActions?: string[] | undefined;
795
+ bulkActions?: string[] | undefined;
796
+ bulkActionDefs?: Record<string, any>[] | undefined;
797
+ virtualScroll?: boolean | undefined;
798
+ conditionalFormatting?: {
799
+ condition: {
800
+ dialect: "cel" | "js" | "cron" | "template";
801
+ source?: string | undefined;
802
+ ast?: unknown;
803
+ meta?: {
804
+ rationale?: string | undefined;
805
+ generatedBy?: string | undefined;
806
+ } | undefined;
807
+ } | {
808
+ dialect: "cel" | "js" | "cron" | "template";
809
+ source?: string | undefined;
810
+ ast?: unknown;
811
+ meta?: {
812
+ rationale?: string | undefined;
813
+ generatedBy?: string | undefined;
814
+ } | undefined;
815
+ };
816
+ style: Record<string, string>;
817
+ }[] | undefined;
818
+ inlineEdit?: boolean | undefined;
819
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
820
+ userActions?: {
821
+ sort: boolean;
822
+ search: boolean;
823
+ filter: boolean;
824
+ rowHeight: boolean;
825
+ addRecordForm: boolean;
826
+ buttons?: string[] | undefined;
827
+ } | undefined;
828
+ appearance?: {
829
+ showDescription: boolean;
830
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
831
+ } | undefined;
832
+ tabs?: {
833
+ name: string;
834
+ pinned: boolean;
835
+ isDefault: boolean;
836
+ visible: boolean;
837
+ label?: string | undefined;
838
+ icon?: string | undefined;
839
+ view?: string | undefined;
840
+ filter?: {
841
+ field: string;
842
+ operator: string;
843
+ value?: string | number | boolean | (string | number)[] | null | undefined;
844
+ }[] | undefined;
845
+ order?: number | undefined;
846
+ }[] | undefined;
847
+ addRecord?: {
848
+ enabled: boolean;
849
+ position: "top" | "bottom" | "both";
850
+ mode: "modal" | "inline" | "form";
851
+ formView?: string | undefined;
852
+ } | undefined;
853
+ showRecordCount?: boolean | undefined;
854
+ allowPrinting?: boolean | undefined;
855
+ emptyState?: {
856
+ title?: string | undefined;
857
+ message?: string | undefined;
858
+ icon?: string | undefined;
859
+ } | undefined;
860
+ aria?: {
861
+ ariaLabel?: string | undefined;
862
+ ariaDescribedBy?: string | undefined;
863
+ role?: string | undefined;
864
+ } | undefined;
865
+ responsive?: {
866
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
867
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
868
+ columns?: {
869
+ xs?: number | undefined;
870
+ sm?: number | undefined;
871
+ md?: number | undefined;
872
+ lg?: number | undefined;
873
+ xl?: number | undefined;
874
+ "2xl"?: number | undefined;
875
+ } | undefined;
876
+ order?: {
877
+ xs?: number | undefined;
878
+ sm?: number | undefined;
879
+ md?: number | undefined;
880
+ lg?: number | undefined;
881
+ xl?: number | undefined;
882
+ "2xl"?: number | undefined;
883
+ } | undefined;
884
+ } | undefined;
885
+ performance?: {
886
+ lazyLoad?: boolean | undefined;
887
+ virtualScroll?: {
888
+ enabled: boolean;
889
+ itemHeight?: number | undefined;
890
+ overscan?: number | undefined;
891
+ } | undefined;
892
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
893
+ prefetch?: boolean | undefined;
894
+ pageSize?: number | undefined;
895
+ debounceMs?: number | undefined;
896
+ } | undefined;
897
+ }> | undefined;
618
898
  search?: {
619
899
  fields: string[];
620
900
  displayFields?: string[] | undefined;
@@ -630,10 +910,10 @@ declare const securityObjects: ((Omit<{
630
910
  trash: boolean;
631
911
  mru: boolean;
632
912
  clone: boolean;
633
- apiMethods?: ("search" | "list" | "get" | "delete" | "update" | "upsert" | "history" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
913
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
634
914
  } | undefined;
635
915
  recordTypes?: string[] | undefined;
636
- sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
916
+ sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
637
917
  keyPrefix?: string | undefined;
638
918
  actions?: {
639
919
  name: string;
@@ -657,14 +937,20 @@ declare const securityObjects: ((Omit<{
657
937
  } | undefined;
658
938
  execute?: string | undefined;
659
939
  params?: {
660
- name: string;
661
- label: string;
662
- type: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
663
940
  required: boolean;
941
+ name?: string | undefined;
942
+ field?: string | undefined;
943
+ objectOverride?: string | undefined;
944
+ label?: string | undefined;
945
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
664
946
  options?: {
665
947
  label: string;
666
948
  value: string;
667
949
  }[] | undefined;
950
+ placeholder?: string | undefined;
951
+ helpText?: string | undefined;
952
+ defaultValue?: unknown;
953
+ defaultFromRow?: boolean | undefined;
668
954
  }[] | undefined;
669
955
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
670
956
  confirmText?: string | undefined;
@@ -689,6 +975,14 @@ declare const securityObjects: ((Omit<{
689
975
  } | undefined;
690
976
  shortcut?: string | undefined;
691
977
  bulkEnabled?: boolean | undefined;
978
+ recordIdParam?: string | undefined;
979
+ recordIdField?: string | undefined;
980
+ bodyShape?: "flat" | {
981
+ wrap: string;
982
+ } | undefined;
983
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
984
+ bodyExtra?: Record<string, unknown> | undefined;
985
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
692
986
  timeout?: number | undefined;
693
987
  aria?: {
694
988
  ariaLabel?: string | undefined;
@@ -702,10 +996,96 @@ declare const securityObjects: ((Omit<{
702
996
  readonly pluralLabel: "Roles";
703
997
  readonly icon: "shield";
704
998
  readonly isSystem: true;
999
+ readonly managedBy: "config";
705
1000
  readonly description: "Role definitions for RBAC access control";
706
1001
  readonly displayNameField: "label";
707
1002
  readonly titleFormat: "{label}";
708
1003
  readonly compactLayout: ["label", "name", "active", "is_default"];
1004
+ readonly listViews: {
1005
+ readonly active: {
1006
+ readonly type: "grid";
1007
+ readonly name: "active";
1008
+ readonly label: "Active";
1009
+ readonly data: {
1010
+ readonly provider: "object";
1011
+ readonly object: "sys_role";
1012
+ };
1013
+ readonly columns: ["label", "name", "is_default", "updated_at"];
1014
+ readonly filter: [{
1015
+ readonly field: "active";
1016
+ readonly operator: "equals";
1017
+ readonly value: true;
1018
+ }];
1019
+ readonly sort: [{
1020
+ readonly field: "label";
1021
+ readonly order: "asc";
1022
+ }];
1023
+ readonly pagination: {
1024
+ readonly pageSize: 50;
1025
+ };
1026
+ };
1027
+ readonly default_roles: {
1028
+ readonly type: "grid";
1029
+ readonly name: "default_roles";
1030
+ readonly label: "Default";
1031
+ readonly data: {
1032
+ readonly provider: "object";
1033
+ readonly object: "sys_role";
1034
+ };
1035
+ readonly columns: ["label", "name", "description", "active"];
1036
+ readonly filter: [{
1037
+ readonly field: "is_default";
1038
+ readonly operator: "equals";
1039
+ readonly value: true;
1040
+ }];
1041
+ readonly sort: [{
1042
+ readonly field: "label";
1043
+ readonly order: "asc";
1044
+ }];
1045
+ readonly pagination: {
1046
+ readonly pageSize: 50;
1047
+ };
1048
+ };
1049
+ readonly custom: {
1050
+ readonly type: "grid";
1051
+ readonly name: "custom";
1052
+ readonly label: "Custom";
1053
+ readonly data: {
1054
+ readonly provider: "object";
1055
+ readonly object: "sys_role";
1056
+ };
1057
+ readonly columns: ["label", "name", "active", "updated_at"];
1058
+ readonly filter: [{
1059
+ readonly field: "is_default";
1060
+ readonly operator: "equals";
1061
+ readonly value: false;
1062
+ }];
1063
+ readonly sort: [{
1064
+ readonly field: "label";
1065
+ readonly order: "asc";
1066
+ }];
1067
+ readonly pagination: {
1068
+ readonly pageSize: 50;
1069
+ };
1070
+ };
1071
+ readonly all_roles: {
1072
+ readonly type: "grid";
1073
+ readonly name: "all_roles";
1074
+ readonly label: "All";
1075
+ readonly data: {
1076
+ readonly provider: "object";
1077
+ readonly object: "sys_role";
1078
+ };
1079
+ readonly columns: ["label", "name", "active", "is_default", "updated_at"];
1080
+ readonly sort: [{
1081
+ readonly field: "label";
1082
+ readonly order: "asc";
1083
+ }];
1084
+ readonly pagination: {
1085
+ readonly pageSize: 50;
1086
+ };
1087
+ };
1088
+ };
709
1089
  readonly fields: {
710
1090
  readonly label: {
711
1091
  readonly readonly?: boolean | undefined;
@@ -725,6 +1105,7 @@ declare const securityObjects: ((Omit<{
725
1105
  readonly dependencies?: string[] | undefined;
726
1106
  readonly theme?: string | undefined;
727
1107
  readonly externalId?: boolean | undefined;
1108
+ readonly system?: boolean | undefined;
728
1109
  readonly min?: number | undefined;
729
1110
  readonly max?: number | undefined;
730
1111
  readonly group?: string | undefined;
@@ -899,6 +1280,7 @@ declare const securityObjects: ((Omit<{
899
1280
  readonly dependencies?: string[] | undefined;
900
1281
  readonly theme?: string | undefined;
901
1282
  readonly externalId?: boolean | undefined;
1283
+ readonly system?: boolean | undefined;
902
1284
  readonly min?: number | undefined;
903
1285
  readonly max?: number | undefined;
904
1286
  readonly group?: string | undefined;
@@ -1073,6 +1455,7 @@ declare const securityObjects: ((Omit<{
1073
1455
  readonly dependencies?: string[] | undefined;
1074
1456
  readonly theme?: string | undefined;
1075
1457
  readonly externalId?: boolean | undefined;
1458
+ readonly system?: boolean | undefined;
1076
1459
  readonly min?: number | undefined;
1077
1460
  readonly max?: number | undefined;
1078
1461
  readonly group?: string | undefined;
@@ -1247,6 +1630,7 @@ declare const securityObjects: ((Omit<{
1247
1630
  readonly dependencies?: string[] | undefined;
1248
1631
  readonly theme?: string | undefined;
1249
1632
  readonly externalId?: boolean | undefined;
1633
+ readonly system?: boolean | undefined;
1250
1634
  readonly min?: number | undefined;
1251
1635
  readonly max?: number | undefined;
1252
1636
  readonly group?: string | undefined;
@@ -1421,6 +1805,7 @@ declare const securityObjects: ((Omit<{
1421
1805
  readonly dependencies?: string[] | undefined;
1422
1806
  readonly theme?: string | undefined;
1423
1807
  readonly externalId?: boolean | undefined;
1808
+ readonly system?: boolean | undefined;
1424
1809
  readonly min?: number | undefined;
1425
1810
  readonly max?: number | undefined;
1426
1811
  readonly group?: string | undefined;
@@ -1595,6 +1980,7 @@ declare const securityObjects: ((Omit<{
1595
1980
  readonly dependencies?: string[] | undefined;
1596
1981
  readonly theme?: string | undefined;
1597
1982
  readonly externalId?: boolean | undefined;
1983
+ readonly system?: boolean | undefined;
1598
1984
  readonly min?: number | undefined;
1599
1985
  readonly max?: number | undefined;
1600
1986
  readonly group?: string | undefined;
@@ -1769,6 +2155,7 @@ declare const securityObjects: ((Omit<{
1769
2155
  readonly dependencies?: string[] | undefined;
1770
2156
  readonly theme?: string | undefined;
1771
2157
  readonly externalId?: boolean | undefined;
2158
+ readonly system?: boolean | undefined;
1772
2159
  readonly min?: number | undefined;
1773
2160
  readonly max?: number | undefined;
1774
2161
  readonly group?: string | undefined;
@@ -1943,6 +2330,7 @@ declare const securityObjects: ((Omit<{
1943
2330
  readonly dependencies?: string[] | undefined;
1944
2331
  readonly theme?: string | undefined;
1945
2332
  readonly externalId?: boolean | undefined;
2333
+ readonly system?: boolean | undefined;
1946
2334
  readonly min?: number | undefined;
1947
2335
  readonly max?: number | undefined;
1948
2336
  readonly group?: string | undefined;
@@ -2117,6 +2505,7 @@ declare const securityObjects: ((Omit<{
2117
2505
  readonly dependencies?: string[] | undefined;
2118
2506
  readonly theme?: string | undefined;
2119
2507
  readonly externalId?: boolean | undefined;
2508
+ readonly system?: boolean | undefined;
2120
2509
  readonly min?: number | undefined;
2121
2510
  readonly max?: number | undefined;
2122
2511
  readonly group?: string | undefined;
@@ -2479,6 +2868,7 @@ declare const securityObjects: ((Omit<{
2479
2868
  generatedBy?: string | undefined;
2480
2869
  } | undefined;
2481
2870
  } | undefined;
2871
+ system?: boolean | undefined;
2482
2872
  inlineHelpText?: string | undefined;
2483
2873
  trackFeedHistory?: boolean | undefined;
2484
2874
  caseSensitive?: boolean | undefined;
@@ -2489,7 +2879,14 @@ declare const securityObjects: ((Omit<{
2489
2879
  description?: string | undefined;
2490
2880
  icon?: string | undefined;
2491
2881
  tags?: string[] | undefined;
2492
- managedBy?: "system" | "better-auth" | "platform" | undefined;
2882
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
2883
+ userActions?: {
2884
+ create?: boolean | undefined;
2885
+ import?: boolean | undefined;
2886
+ edit?: boolean | undefined;
2887
+ delete?: boolean | undefined;
2888
+ exportCsv?: boolean | undefined;
2889
+ } | undefined;
2493
2890
  systemFields?: false | {
2494
2891
  tenant?: boolean | undefined;
2495
2892
  owner?: boolean | undefined;
@@ -2609,6 +3006,240 @@ declare const securityObjects: ((Omit<{
2609
3006
  } | undefined;
2610
3007
  } | undefined;
2611
3008
  compactLayout?: string[] | undefined;
3009
+ listViews?: Record<string, {
3010
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
3011
+ columns: string[] | {
3012
+ field: string;
3013
+ label?: string | undefined;
3014
+ width?: number | undefined;
3015
+ align?: "left" | "center" | "right" | undefined;
3016
+ hidden?: boolean | undefined;
3017
+ sortable?: boolean | undefined;
3018
+ resizable?: boolean | undefined;
3019
+ wrap?: boolean | undefined;
3020
+ type?: string | undefined;
3021
+ pinned?: "left" | "right" | undefined;
3022
+ summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
3023
+ link?: boolean | undefined;
3024
+ action?: string | undefined;
3025
+ }[];
3026
+ name?: string | undefined;
3027
+ label?: string | undefined;
3028
+ data?: {
3029
+ provider: "object";
3030
+ object: string;
3031
+ } | {
3032
+ provider: "api";
3033
+ read?: {
3034
+ url: string;
3035
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
3036
+ headers?: Record<string, string> | undefined;
3037
+ params?: Record<string, unknown> | undefined;
3038
+ body?: unknown;
3039
+ } | undefined;
3040
+ write?: {
3041
+ url: string;
3042
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
3043
+ headers?: Record<string, string> | undefined;
3044
+ params?: Record<string, unknown> | undefined;
3045
+ body?: unknown;
3046
+ } | undefined;
3047
+ } | {
3048
+ provider: "value";
3049
+ items: unknown[];
3050
+ } | undefined;
3051
+ filter?: {
3052
+ field: string;
3053
+ operator: string;
3054
+ value?: string | number | boolean | (string | number)[] | null | undefined;
3055
+ }[] | undefined;
3056
+ sort?: string | {
3057
+ field: string;
3058
+ order: "asc" | "desc";
3059
+ }[] | undefined;
3060
+ searchableFields?: string[] | undefined;
3061
+ filterableFields?: string[] | undefined;
3062
+ resizable?: boolean | undefined;
3063
+ striped?: boolean | undefined;
3064
+ bordered?: boolean | undefined;
3065
+ compactToolbar?: boolean | undefined;
3066
+ selection?: {
3067
+ type: "multiple" | "single" | "none";
3068
+ } | undefined;
3069
+ navigation?: {
3070
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
3071
+ preventNavigation: boolean;
3072
+ openNewTab: boolean;
3073
+ view?: string | undefined;
3074
+ width?: string | number | undefined;
3075
+ } | undefined;
3076
+ pagination?: {
3077
+ pageSize: number;
3078
+ pageSizeOptions?: number[] | undefined;
3079
+ } | undefined;
3080
+ kanban?: {
3081
+ groupByField: string;
3082
+ columns: string[];
3083
+ summarizeField?: string | undefined;
3084
+ } | undefined;
3085
+ calendar?: {
3086
+ startDateField: string;
3087
+ titleField: string;
3088
+ endDateField?: string | undefined;
3089
+ colorField?: string | undefined;
3090
+ } | undefined;
3091
+ gantt?: {
3092
+ startDateField: string;
3093
+ endDateField: string;
3094
+ titleField: string;
3095
+ progressField?: string | undefined;
3096
+ dependenciesField?: string | undefined;
3097
+ } | undefined;
3098
+ gallery?: {
3099
+ coverFit: "cover" | "contain";
3100
+ cardSize: "small" | "medium" | "large";
3101
+ coverField?: string | undefined;
3102
+ titleField?: string | undefined;
3103
+ visibleFields?: string[] | undefined;
3104
+ } | undefined;
3105
+ timeline?: {
3106
+ startDateField: string;
3107
+ titleField: string;
3108
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
3109
+ endDateField?: string | undefined;
3110
+ groupByField?: string | undefined;
3111
+ colorField?: string | undefined;
3112
+ } | undefined;
3113
+ chart?: {
3114
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
3115
+ xAxisField: string;
3116
+ yAxisFields: string[];
3117
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
3118
+ groupByField?: string | undefined;
3119
+ } | undefined;
3120
+ description?: string | undefined;
3121
+ sharing?: {
3122
+ type: "personal" | "collaborative";
3123
+ lockedBy?: string | undefined;
3124
+ } | undefined;
3125
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
3126
+ grouping?: {
3127
+ fields: {
3128
+ field: string;
3129
+ order: "asc" | "desc";
3130
+ collapsed: boolean;
3131
+ }[];
3132
+ } | undefined;
3133
+ rowColor?: {
3134
+ field: string;
3135
+ colors?: Record<string, string> | undefined;
3136
+ } | undefined;
3137
+ hiddenFields?: string[] | undefined;
3138
+ fieldOrder?: string[] | undefined;
3139
+ rowActions?: string[] | undefined;
3140
+ bulkActions?: string[] | undefined;
3141
+ bulkActionDefs?: Record<string, any>[] | undefined;
3142
+ virtualScroll?: boolean | undefined;
3143
+ conditionalFormatting?: {
3144
+ condition: {
3145
+ dialect: "cel" | "js" | "cron" | "template";
3146
+ source?: string | undefined;
3147
+ ast?: unknown;
3148
+ meta?: {
3149
+ rationale?: string | undefined;
3150
+ generatedBy?: string | undefined;
3151
+ } | undefined;
3152
+ } | {
3153
+ dialect: "cel" | "js" | "cron" | "template";
3154
+ source?: string | undefined;
3155
+ ast?: unknown;
3156
+ meta?: {
3157
+ rationale?: string | undefined;
3158
+ generatedBy?: string | undefined;
3159
+ } | undefined;
3160
+ };
3161
+ style: Record<string, string>;
3162
+ }[] | undefined;
3163
+ inlineEdit?: boolean | undefined;
3164
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
3165
+ userActions?: {
3166
+ sort: boolean;
3167
+ search: boolean;
3168
+ filter: boolean;
3169
+ rowHeight: boolean;
3170
+ addRecordForm: boolean;
3171
+ buttons?: string[] | undefined;
3172
+ } | undefined;
3173
+ appearance?: {
3174
+ showDescription: boolean;
3175
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
3176
+ } | undefined;
3177
+ tabs?: {
3178
+ name: string;
3179
+ pinned: boolean;
3180
+ isDefault: boolean;
3181
+ visible: boolean;
3182
+ label?: string | undefined;
3183
+ icon?: string | undefined;
3184
+ view?: string | undefined;
3185
+ filter?: {
3186
+ field: string;
3187
+ operator: string;
3188
+ value?: string | number | boolean | (string | number)[] | null | undefined;
3189
+ }[] | undefined;
3190
+ order?: number | undefined;
3191
+ }[] | undefined;
3192
+ addRecord?: {
3193
+ enabled: boolean;
3194
+ position: "top" | "bottom" | "both";
3195
+ mode: "modal" | "inline" | "form";
3196
+ formView?: string | undefined;
3197
+ } | undefined;
3198
+ showRecordCount?: boolean | undefined;
3199
+ allowPrinting?: boolean | undefined;
3200
+ emptyState?: {
3201
+ title?: string | undefined;
3202
+ message?: string | undefined;
3203
+ icon?: string | undefined;
3204
+ } | undefined;
3205
+ aria?: {
3206
+ ariaLabel?: string | undefined;
3207
+ ariaDescribedBy?: string | undefined;
3208
+ role?: string | undefined;
3209
+ } | undefined;
3210
+ responsive?: {
3211
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
3212
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
3213
+ columns?: {
3214
+ xs?: number | undefined;
3215
+ sm?: number | undefined;
3216
+ md?: number | undefined;
3217
+ lg?: number | undefined;
3218
+ xl?: number | undefined;
3219
+ "2xl"?: number | undefined;
3220
+ } | undefined;
3221
+ order?: {
3222
+ xs?: number | undefined;
3223
+ sm?: number | undefined;
3224
+ md?: number | undefined;
3225
+ lg?: number | undefined;
3226
+ xl?: number | undefined;
3227
+ "2xl"?: number | undefined;
3228
+ } | undefined;
3229
+ } | undefined;
3230
+ performance?: {
3231
+ lazyLoad?: boolean | undefined;
3232
+ virtualScroll?: {
3233
+ enabled: boolean;
3234
+ itemHeight?: number | undefined;
3235
+ overscan?: number | undefined;
3236
+ } | undefined;
3237
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
3238
+ prefetch?: boolean | undefined;
3239
+ pageSize?: number | undefined;
3240
+ debounceMs?: number | undefined;
3241
+ } | undefined;
3242
+ }> | undefined;
2612
3243
  search?: {
2613
3244
  fields: string[];
2614
3245
  displayFields?: string[] | undefined;
@@ -2624,10 +3255,10 @@ declare const securityObjects: ((Omit<{
2624
3255
  trash: boolean;
2625
3256
  mru: boolean;
2626
3257
  clone: boolean;
2627
- apiMethods?: ("search" | "list" | "get" | "delete" | "update" | "upsert" | "history" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
3258
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
2628
3259
  } | undefined;
2629
3260
  recordTypes?: string[] | undefined;
2630
- sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
3261
+ sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
2631
3262
  keyPrefix?: string | undefined;
2632
3263
  actions?: {
2633
3264
  name: string;
@@ -2651,14 +3282,20 @@ declare const securityObjects: ((Omit<{
2651
3282
  } | undefined;
2652
3283
  execute?: string | undefined;
2653
3284
  params?: {
2654
- name: string;
2655
- label: string;
2656
- type: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
2657
3285
  required: boolean;
3286
+ name?: string | undefined;
3287
+ field?: string | undefined;
3288
+ objectOverride?: string | undefined;
3289
+ label?: string | undefined;
3290
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
2658
3291
  options?: {
2659
3292
  label: string;
2660
3293
  value: string;
2661
3294
  }[] | undefined;
3295
+ placeholder?: string | undefined;
3296
+ helpText?: string | undefined;
3297
+ defaultValue?: unknown;
3298
+ defaultFromRow?: boolean | undefined;
2662
3299
  }[] | undefined;
2663
3300
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
2664
3301
  confirmText?: string | undefined;
@@ -2683,6 +3320,14 @@ declare const securityObjects: ((Omit<{
2683
3320
  } | undefined;
2684
3321
  shortcut?: string | undefined;
2685
3322
  bulkEnabled?: boolean | undefined;
3323
+ recordIdParam?: string | undefined;
3324
+ recordIdField?: string | undefined;
3325
+ bodyShape?: "flat" | {
3326
+ wrap: string;
3327
+ } | undefined;
3328
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
3329
+ bodyExtra?: Record<string, unknown> | undefined;
3330
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
2686
3331
  timeout?: number | undefined;
2687
3332
  aria?: {
2688
3333
  ariaLabel?: string | undefined;
@@ -2696,10 +3341,74 @@ declare const securityObjects: ((Omit<{
2696
3341
  readonly pluralLabel: "Permission Sets";
2697
3342
  readonly icon: "lock";
2698
3343
  readonly isSystem: true;
3344
+ readonly managedBy: "config";
2699
3345
  readonly description: "Named permission groupings for fine-grained access control";
2700
3346
  readonly displayNameField: "label";
2701
3347
  readonly titleFormat: "{label}";
2702
3348
  readonly compactLayout: ["label", "name", "active"];
3349
+ readonly listViews: {
3350
+ readonly active: {
3351
+ readonly type: "grid";
3352
+ readonly name: "active";
3353
+ readonly label: "Active";
3354
+ readonly data: {
3355
+ readonly provider: "object";
3356
+ readonly object: "sys_permission_set";
3357
+ };
3358
+ readonly columns: ["label", "name", "description", "updated_at"];
3359
+ readonly filter: [{
3360
+ readonly field: "active";
3361
+ readonly operator: "equals";
3362
+ readonly value: true;
3363
+ }];
3364
+ readonly sort: [{
3365
+ readonly field: "label";
3366
+ readonly order: "asc";
3367
+ }];
3368
+ readonly pagination: {
3369
+ readonly pageSize: 50;
3370
+ };
3371
+ };
3372
+ readonly inactive: {
3373
+ readonly type: "grid";
3374
+ readonly name: "inactive";
3375
+ readonly label: "Inactive";
3376
+ readonly data: {
3377
+ readonly provider: "object";
3378
+ readonly object: "sys_permission_set";
3379
+ };
3380
+ readonly columns: ["label", "name", "updated_at"];
3381
+ readonly filter: [{
3382
+ readonly field: "active";
3383
+ readonly operator: "equals";
3384
+ readonly value: false;
3385
+ }];
3386
+ readonly sort: [{
3387
+ readonly field: "label";
3388
+ readonly order: "asc";
3389
+ }];
3390
+ readonly pagination: {
3391
+ readonly pageSize: 50;
3392
+ };
3393
+ };
3394
+ readonly all_permsets: {
3395
+ readonly type: "grid";
3396
+ readonly name: "all_permsets";
3397
+ readonly label: "All";
3398
+ readonly data: {
3399
+ readonly provider: "object";
3400
+ readonly object: "sys_permission_set";
3401
+ };
3402
+ readonly columns: ["label", "name", "active", "updated_at"];
3403
+ readonly sort: [{
3404
+ readonly field: "label";
3405
+ readonly order: "asc";
3406
+ }];
3407
+ readonly pagination: {
3408
+ readonly pageSize: 50;
3409
+ };
3410
+ };
3411
+ };
2703
3412
  readonly fields: {
2704
3413
  readonly label: {
2705
3414
  readonly readonly?: boolean | undefined;
@@ -2719,6 +3428,7 @@ declare const securityObjects: ((Omit<{
2719
3428
  readonly dependencies?: string[] | undefined;
2720
3429
  readonly theme?: string | undefined;
2721
3430
  readonly externalId?: boolean | undefined;
3431
+ readonly system?: boolean | undefined;
2722
3432
  readonly min?: number | undefined;
2723
3433
  readonly max?: number | undefined;
2724
3434
  readonly group?: string | undefined;
@@ -2893,6 +3603,7 @@ declare const securityObjects: ((Omit<{
2893
3603
  readonly dependencies?: string[] | undefined;
2894
3604
  readonly theme?: string | undefined;
2895
3605
  readonly externalId?: boolean | undefined;
3606
+ readonly system?: boolean | undefined;
2896
3607
  readonly min?: number | undefined;
2897
3608
  readonly max?: number | undefined;
2898
3609
  readonly group?: string | undefined;
@@ -3067,6 +3778,7 @@ declare const securityObjects: ((Omit<{
3067
3778
  readonly dependencies?: string[] | undefined;
3068
3779
  readonly theme?: string | undefined;
3069
3780
  readonly externalId?: boolean | undefined;
3781
+ readonly system?: boolean | undefined;
3070
3782
  readonly min?: number | undefined;
3071
3783
  readonly max?: number | undefined;
3072
3784
  readonly group?: string | undefined;
@@ -3241,6 +3953,7 @@ declare const securityObjects: ((Omit<{
3241
3953
  readonly dependencies?: string[] | undefined;
3242
3954
  readonly theme?: string | undefined;
3243
3955
  readonly externalId?: boolean | undefined;
3956
+ readonly system?: boolean | undefined;
3244
3957
  readonly min?: number | undefined;
3245
3958
  readonly max?: number | undefined;
3246
3959
  readonly group?: string | undefined;
@@ -3415,6 +4128,7 @@ declare const securityObjects: ((Omit<{
3415
4128
  readonly dependencies?: string[] | undefined;
3416
4129
  readonly theme?: string | undefined;
3417
4130
  readonly externalId?: boolean | undefined;
4131
+ readonly system?: boolean | undefined;
3418
4132
  readonly min?: number | undefined;
3419
4133
  readonly max?: number | undefined;
3420
4134
  readonly group?: string | undefined;
@@ -3589,6 +4303,7 @@ declare const securityObjects: ((Omit<{
3589
4303
  readonly dependencies?: string[] | undefined;
3590
4304
  readonly theme?: string | undefined;
3591
4305
  readonly externalId?: boolean | undefined;
4306
+ readonly system?: boolean | undefined;
3592
4307
  readonly min?: number | undefined;
3593
4308
  readonly max?: number | undefined;
3594
4309
  readonly group?: string | undefined;
@@ -3763,6 +4478,7 @@ declare const securityObjects: ((Omit<{
3763
4478
  readonly dependencies?: string[] | undefined;
3764
4479
  readonly theme?: string | undefined;
3765
4480
  readonly externalId?: boolean | undefined;
4481
+ readonly system?: boolean | undefined;
3766
4482
  readonly min?: number | undefined;
3767
4483
  readonly max?: number | undefined;
3768
4484
  readonly group?: string | undefined;
@@ -3937,6 +4653,7 @@ declare const securityObjects: ((Omit<{
3937
4653
  readonly dependencies?: string[] | undefined;
3938
4654
  readonly theme?: string | undefined;
3939
4655
  readonly externalId?: boolean | undefined;
4656
+ readonly system?: boolean | undefined;
3940
4657
  readonly min?: number | undefined;
3941
4658
  readonly max?: number | undefined;
3942
4659
  readonly group?: string | undefined;
@@ -4111,6 +4828,7 @@ declare const securityObjects: ((Omit<{
4111
4828
  readonly dependencies?: string[] | undefined;
4112
4829
  readonly theme?: string | undefined;
4113
4830
  readonly externalId?: boolean | undefined;
4831
+ readonly system?: boolean | undefined;
4114
4832
  readonly min?: number | undefined;
4115
4833
  readonly max?: number | undefined;
4116
4834
  readonly group?: string | undefined;
@@ -4473,6 +5191,7 @@ declare const securityObjects: ((Omit<{
4473
5191
  generatedBy?: string | undefined;
4474
5192
  } | undefined;
4475
5193
  } | undefined;
5194
+ system?: boolean | undefined;
4476
5195
  inlineHelpText?: string | undefined;
4477
5196
  trackFeedHistory?: boolean | undefined;
4478
5197
  caseSensitive?: boolean | undefined;
@@ -4483,7 +5202,14 @@ declare const securityObjects: ((Omit<{
4483
5202
  description?: string | undefined;
4484
5203
  icon?: string | undefined;
4485
5204
  tags?: string[] | undefined;
4486
- managedBy?: "system" | "better-auth" | "platform" | undefined;
5205
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
5206
+ userActions?: {
5207
+ create?: boolean | undefined;
5208
+ import?: boolean | undefined;
5209
+ edit?: boolean | undefined;
5210
+ delete?: boolean | undefined;
5211
+ exportCsv?: boolean | undefined;
5212
+ } | undefined;
4487
5213
  systemFields?: false | {
4488
5214
  tenant?: boolean | undefined;
4489
5215
  owner?: boolean | undefined;
@@ -4603,6 +5329,240 @@ declare const securityObjects: ((Omit<{
4603
5329
  } | undefined;
4604
5330
  } | undefined;
4605
5331
  compactLayout?: string[] | undefined;
5332
+ listViews?: Record<string, {
5333
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
5334
+ columns: string[] | {
5335
+ field: string;
5336
+ label?: string | undefined;
5337
+ width?: number | undefined;
5338
+ align?: "left" | "center" | "right" | undefined;
5339
+ hidden?: boolean | undefined;
5340
+ sortable?: boolean | undefined;
5341
+ resizable?: boolean | undefined;
5342
+ wrap?: boolean | undefined;
5343
+ type?: string | undefined;
5344
+ pinned?: "left" | "right" | undefined;
5345
+ summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
5346
+ link?: boolean | undefined;
5347
+ action?: string | undefined;
5348
+ }[];
5349
+ name?: string | undefined;
5350
+ label?: string | undefined;
5351
+ data?: {
5352
+ provider: "object";
5353
+ object: string;
5354
+ } | {
5355
+ provider: "api";
5356
+ read?: {
5357
+ url: string;
5358
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
5359
+ headers?: Record<string, string> | undefined;
5360
+ params?: Record<string, unknown> | undefined;
5361
+ body?: unknown;
5362
+ } | undefined;
5363
+ write?: {
5364
+ url: string;
5365
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
5366
+ headers?: Record<string, string> | undefined;
5367
+ params?: Record<string, unknown> | undefined;
5368
+ body?: unknown;
5369
+ } | undefined;
5370
+ } | {
5371
+ provider: "value";
5372
+ items: unknown[];
5373
+ } | undefined;
5374
+ filter?: {
5375
+ field: string;
5376
+ operator: string;
5377
+ value?: string | number | boolean | (string | number)[] | null | undefined;
5378
+ }[] | undefined;
5379
+ sort?: string | {
5380
+ field: string;
5381
+ order: "asc" | "desc";
5382
+ }[] | undefined;
5383
+ searchableFields?: string[] | undefined;
5384
+ filterableFields?: string[] | undefined;
5385
+ resizable?: boolean | undefined;
5386
+ striped?: boolean | undefined;
5387
+ bordered?: boolean | undefined;
5388
+ compactToolbar?: boolean | undefined;
5389
+ selection?: {
5390
+ type: "multiple" | "single" | "none";
5391
+ } | undefined;
5392
+ navigation?: {
5393
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
5394
+ preventNavigation: boolean;
5395
+ openNewTab: boolean;
5396
+ view?: string | undefined;
5397
+ width?: string | number | undefined;
5398
+ } | undefined;
5399
+ pagination?: {
5400
+ pageSize: number;
5401
+ pageSizeOptions?: number[] | undefined;
5402
+ } | undefined;
5403
+ kanban?: {
5404
+ groupByField: string;
5405
+ columns: string[];
5406
+ summarizeField?: string | undefined;
5407
+ } | undefined;
5408
+ calendar?: {
5409
+ startDateField: string;
5410
+ titleField: string;
5411
+ endDateField?: string | undefined;
5412
+ colorField?: string | undefined;
5413
+ } | undefined;
5414
+ gantt?: {
5415
+ startDateField: string;
5416
+ endDateField: string;
5417
+ titleField: string;
5418
+ progressField?: string | undefined;
5419
+ dependenciesField?: string | undefined;
5420
+ } | undefined;
5421
+ gallery?: {
5422
+ coverFit: "cover" | "contain";
5423
+ cardSize: "small" | "medium" | "large";
5424
+ coverField?: string | undefined;
5425
+ titleField?: string | undefined;
5426
+ visibleFields?: string[] | undefined;
5427
+ } | undefined;
5428
+ timeline?: {
5429
+ startDateField: string;
5430
+ titleField: string;
5431
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
5432
+ endDateField?: string | undefined;
5433
+ groupByField?: string | undefined;
5434
+ colorField?: string | undefined;
5435
+ } | undefined;
5436
+ chart?: {
5437
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
5438
+ xAxisField: string;
5439
+ yAxisFields: string[];
5440
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
5441
+ groupByField?: string | undefined;
5442
+ } | undefined;
5443
+ description?: string | undefined;
5444
+ sharing?: {
5445
+ type: "personal" | "collaborative";
5446
+ lockedBy?: string | undefined;
5447
+ } | undefined;
5448
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
5449
+ grouping?: {
5450
+ fields: {
5451
+ field: string;
5452
+ order: "asc" | "desc";
5453
+ collapsed: boolean;
5454
+ }[];
5455
+ } | undefined;
5456
+ rowColor?: {
5457
+ field: string;
5458
+ colors?: Record<string, string> | undefined;
5459
+ } | undefined;
5460
+ hiddenFields?: string[] | undefined;
5461
+ fieldOrder?: string[] | undefined;
5462
+ rowActions?: string[] | undefined;
5463
+ bulkActions?: string[] | undefined;
5464
+ bulkActionDefs?: Record<string, any>[] | undefined;
5465
+ virtualScroll?: boolean | undefined;
5466
+ conditionalFormatting?: {
5467
+ condition: {
5468
+ dialect: "cel" | "js" | "cron" | "template";
5469
+ source?: string | undefined;
5470
+ ast?: unknown;
5471
+ meta?: {
5472
+ rationale?: string | undefined;
5473
+ generatedBy?: string | undefined;
5474
+ } | undefined;
5475
+ } | {
5476
+ dialect: "cel" | "js" | "cron" | "template";
5477
+ source?: string | undefined;
5478
+ ast?: unknown;
5479
+ meta?: {
5480
+ rationale?: string | undefined;
5481
+ generatedBy?: string | undefined;
5482
+ } | undefined;
5483
+ };
5484
+ style: Record<string, string>;
5485
+ }[] | undefined;
5486
+ inlineEdit?: boolean | undefined;
5487
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
5488
+ userActions?: {
5489
+ sort: boolean;
5490
+ search: boolean;
5491
+ filter: boolean;
5492
+ rowHeight: boolean;
5493
+ addRecordForm: boolean;
5494
+ buttons?: string[] | undefined;
5495
+ } | undefined;
5496
+ appearance?: {
5497
+ showDescription: boolean;
5498
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
5499
+ } | undefined;
5500
+ tabs?: {
5501
+ name: string;
5502
+ pinned: boolean;
5503
+ isDefault: boolean;
5504
+ visible: boolean;
5505
+ label?: string | undefined;
5506
+ icon?: string | undefined;
5507
+ view?: string | undefined;
5508
+ filter?: {
5509
+ field: string;
5510
+ operator: string;
5511
+ value?: string | number | boolean | (string | number)[] | null | undefined;
5512
+ }[] | undefined;
5513
+ order?: number | undefined;
5514
+ }[] | undefined;
5515
+ addRecord?: {
5516
+ enabled: boolean;
5517
+ position: "top" | "bottom" | "both";
5518
+ mode: "modal" | "inline" | "form";
5519
+ formView?: string | undefined;
5520
+ } | undefined;
5521
+ showRecordCount?: boolean | undefined;
5522
+ allowPrinting?: boolean | undefined;
5523
+ emptyState?: {
5524
+ title?: string | undefined;
5525
+ message?: string | undefined;
5526
+ icon?: string | undefined;
5527
+ } | undefined;
5528
+ aria?: {
5529
+ ariaLabel?: string | undefined;
5530
+ ariaDescribedBy?: string | undefined;
5531
+ role?: string | undefined;
5532
+ } | undefined;
5533
+ responsive?: {
5534
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
5535
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
5536
+ columns?: {
5537
+ xs?: number | undefined;
5538
+ sm?: number | undefined;
5539
+ md?: number | undefined;
5540
+ lg?: number | undefined;
5541
+ xl?: number | undefined;
5542
+ "2xl"?: number | undefined;
5543
+ } | undefined;
5544
+ order?: {
5545
+ xs?: number | undefined;
5546
+ sm?: number | undefined;
5547
+ md?: number | undefined;
5548
+ lg?: number | undefined;
5549
+ xl?: number | undefined;
5550
+ "2xl"?: number | undefined;
5551
+ } | undefined;
5552
+ } | undefined;
5553
+ performance?: {
5554
+ lazyLoad?: boolean | undefined;
5555
+ virtualScroll?: {
5556
+ enabled: boolean;
5557
+ itemHeight?: number | undefined;
5558
+ overscan?: number | undefined;
5559
+ } | undefined;
5560
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
5561
+ prefetch?: boolean | undefined;
5562
+ pageSize?: number | undefined;
5563
+ debounceMs?: number | undefined;
5564
+ } | undefined;
5565
+ }> | undefined;
4606
5566
  search?: {
4607
5567
  fields: string[];
4608
5568
  displayFields?: string[] | undefined;
@@ -4618,10 +5578,10 @@ declare const securityObjects: ((Omit<{
4618
5578
  trash: boolean;
4619
5579
  mru: boolean;
4620
5580
  clone: boolean;
4621
- apiMethods?: ("search" | "list" | "get" | "delete" | "update" | "upsert" | "history" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
5581
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
4622
5582
  } | undefined;
4623
5583
  recordTypes?: string[] | undefined;
4624
- sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
5584
+ sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
4625
5585
  keyPrefix?: string | undefined;
4626
5586
  actions?: {
4627
5587
  name: string;
@@ -4645,14 +5605,20 @@ declare const securityObjects: ((Omit<{
4645
5605
  } | undefined;
4646
5606
  execute?: string | undefined;
4647
5607
  params?: {
4648
- name: string;
4649
- label: string;
4650
- type: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
4651
5608
  required: boolean;
5609
+ name?: string | undefined;
5610
+ field?: string | undefined;
5611
+ objectOverride?: string | undefined;
5612
+ label?: string | undefined;
5613
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
4652
5614
  options?: {
4653
5615
  label: string;
4654
5616
  value: string;
4655
5617
  }[] | undefined;
5618
+ placeholder?: string | undefined;
5619
+ helpText?: string | undefined;
5620
+ defaultValue?: unknown;
5621
+ defaultFromRow?: boolean | undefined;
4656
5622
  }[] | undefined;
4657
5623
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
4658
5624
  confirmText?: string | undefined;
@@ -4677,6 +5643,14 @@ declare const securityObjects: ((Omit<{
4677
5643
  } | undefined;
4678
5644
  shortcut?: string | undefined;
4679
5645
  bulkEnabled?: boolean | undefined;
5646
+ recordIdParam?: string | undefined;
5647
+ recordIdField?: string | undefined;
5648
+ bodyShape?: "flat" | {
5649
+ wrap: string;
5650
+ } | undefined;
5651
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
5652
+ bodyExtra?: Record<string, unknown> | undefined;
5653
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
4680
5654
  timeout?: number | undefined;
4681
5655
  aria?: {
4682
5656
  ariaLabel?: string | undefined;
@@ -4690,6 +5664,7 @@ declare const securityObjects: ((Omit<{
4690
5664
  readonly pluralLabel: "User Permission Sets";
4691
5665
  readonly icon: "user-check";
4692
5666
  readonly isSystem: true;
5667
+ readonly managedBy: "system";
4693
5668
  readonly description: "Direct assignment of a permission set to a user (optionally scoped to an organization).";
4694
5669
  readonly titleFormat: "{user_id} \u2192 {permission_set_id}";
4695
5670
  readonly compactLayout: ["user_id", "permission_set_id", "organization_id"];
@@ -4712,6 +5687,7 @@ declare const securityObjects: ((Omit<{
4712
5687
  readonly dependencies?: string[] | undefined;
4713
5688
  readonly theme?: string | undefined;
4714
5689
  readonly externalId?: boolean | undefined;
5690
+ readonly system?: boolean | undefined;
4715
5691
  readonly min?: number | undefined;
4716
5692
  readonly max?: number | undefined;
4717
5693
  readonly group?: string | undefined;
@@ -4886,6 +5862,7 @@ declare const securityObjects: ((Omit<{
4886
5862
  readonly dependencies?: string[] | undefined;
4887
5863
  readonly theme?: string | undefined;
4888
5864
  readonly externalId?: boolean | undefined;
5865
+ readonly system?: boolean | undefined;
4889
5866
  readonly min?: number | undefined;
4890
5867
  readonly max?: number | undefined;
4891
5868
  readonly group?: string | undefined;
@@ -5060,6 +6037,7 @@ declare const securityObjects: ((Omit<{
5060
6037
  readonly dependencies?: string[] | undefined;
5061
6038
  readonly theme?: string | undefined;
5062
6039
  readonly externalId?: boolean | undefined;
6040
+ readonly system?: boolean | undefined;
5063
6041
  readonly min?: number | undefined;
5064
6042
  readonly max?: number | undefined;
5065
6043
  readonly group?: string | undefined;
@@ -5234,6 +6212,7 @@ declare const securityObjects: ((Omit<{
5234
6212
  readonly dependencies?: string[] | undefined;
5235
6213
  readonly theme?: string | undefined;
5236
6214
  readonly externalId?: boolean | undefined;
6215
+ readonly system?: boolean | undefined;
5237
6216
  readonly min?: number | undefined;
5238
6217
  readonly max?: number | undefined;
5239
6218
  readonly group?: string | undefined;
@@ -5408,6 +6387,7 @@ declare const securityObjects: ((Omit<{
5408
6387
  readonly dependencies?: string[] | undefined;
5409
6388
  readonly theme?: string | undefined;
5410
6389
  readonly externalId?: boolean | undefined;
6390
+ readonly system?: boolean | undefined;
5411
6391
  readonly min?: number | undefined;
5412
6392
  readonly max?: number | undefined;
5413
6393
  readonly group?: string | undefined;
@@ -5582,6 +6562,7 @@ declare const securityObjects: ((Omit<{
5582
6562
  readonly dependencies?: string[] | undefined;
5583
6563
  readonly theme?: string | undefined;
5584
6564
  readonly externalId?: boolean | undefined;
6565
+ readonly system?: boolean | undefined;
5585
6566
  readonly min?: number | undefined;
5586
6567
  readonly max?: number | undefined;
5587
6568
  readonly group?: string | undefined;
@@ -5756,6 +6737,7 @@ declare const securityObjects: ((Omit<{
5756
6737
  readonly dependencies?: string[] | undefined;
5757
6738
  readonly theme?: string | undefined;
5758
6739
  readonly externalId?: boolean | undefined;
6740
+ readonly system?: boolean | undefined;
5759
6741
  readonly min?: number | undefined;
5760
6742
  readonly max?: number | undefined;
5761
6743
  readonly group?: string | undefined;
@@ -6122,6 +7104,7 @@ declare const securityObjects: ((Omit<{
6122
7104
  generatedBy?: string | undefined;
6123
7105
  } | undefined;
6124
7106
  } | undefined;
7107
+ system?: boolean | undefined;
6125
7108
  inlineHelpText?: string | undefined;
6126
7109
  trackFeedHistory?: boolean | undefined;
6127
7110
  caseSensitive?: boolean | undefined;
@@ -6132,7 +7115,14 @@ declare const securityObjects: ((Omit<{
6132
7115
  description?: string | undefined;
6133
7116
  icon?: string | undefined;
6134
7117
  tags?: string[] | undefined;
6135
- managedBy?: "system" | "better-auth" | "platform" | undefined;
7118
+ managedBy?: "system" | "config" | "platform" | "append-only" | "better-auth" | undefined;
7119
+ userActions?: {
7120
+ create?: boolean | undefined;
7121
+ import?: boolean | undefined;
7122
+ edit?: boolean | undefined;
7123
+ delete?: boolean | undefined;
7124
+ exportCsv?: boolean | undefined;
7125
+ } | undefined;
6136
7126
  systemFields?: false | {
6137
7127
  tenant?: boolean | undefined;
6138
7128
  owner?: boolean | undefined;
@@ -6252,6 +7242,240 @@ declare const securityObjects: ((Omit<{
6252
7242
  } | undefined;
6253
7243
  } | undefined;
6254
7244
  compactLayout?: string[] | undefined;
7245
+ listViews?: Record<string, {
7246
+ type: "kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "chart" | "map" | "grid";
7247
+ columns: string[] | {
7248
+ field: string;
7249
+ label?: string | undefined;
7250
+ width?: number | undefined;
7251
+ align?: "left" | "center" | "right" | undefined;
7252
+ hidden?: boolean | undefined;
7253
+ sortable?: boolean | undefined;
7254
+ resizable?: boolean | undefined;
7255
+ wrap?: boolean | undefined;
7256
+ type?: string | undefined;
7257
+ pinned?: "left" | "right" | undefined;
7258
+ summary?: "min" | "max" | "count" | "sum" | "avg" | "none" | "count_empty" | "count_filled" | "count_unique" | "percent_empty" | "percent_filled" | undefined;
7259
+ link?: boolean | undefined;
7260
+ action?: string | undefined;
7261
+ }[];
7262
+ name?: string | undefined;
7263
+ label?: string | undefined;
7264
+ data?: {
7265
+ provider: "object";
7266
+ object: string;
7267
+ } | {
7268
+ provider: "api";
7269
+ read?: {
7270
+ url: string;
7271
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
7272
+ headers?: Record<string, string> | undefined;
7273
+ params?: Record<string, unknown> | undefined;
7274
+ body?: unknown;
7275
+ } | undefined;
7276
+ write?: {
7277
+ url: string;
7278
+ method: "GET" | "POST" | "PATCH" | "PUT" | "DELETE";
7279
+ headers?: Record<string, string> | undefined;
7280
+ params?: Record<string, unknown> | undefined;
7281
+ body?: unknown;
7282
+ } | undefined;
7283
+ } | {
7284
+ provider: "value";
7285
+ items: unknown[];
7286
+ } | undefined;
7287
+ filter?: {
7288
+ field: string;
7289
+ operator: string;
7290
+ value?: string | number | boolean | (string | number)[] | null | undefined;
7291
+ }[] | undefined;
7292
+ sort?: string | {
7293
+ field: string;
7294
+ order: "asc" | "desc";
7295
+ }[] | undefined;
7296
+ searchableFields?: string[] | undefined;
7297
+ filterableFields?: string[] | undefined;
7298
+ resizable?: boolean | undefined;
7299
+ striped?: boolean | undefined;
7300
+ bordered?: boolean | undefined;
7301
+ compactToolbar?: boolean | undefined;
7302
+ selection?: {
7303
+ type: "multiple" | "single" | "none";
7304
+ } | undefined;
7305
+ navigation?: {
7306
+ mode: "none" | "split" | "page" | "modal" | "drawer" | "popover" | "new_window";
7307
+ preventNavigation: boolean;
7308
+ openNewTab: boolean;
7309
+ view?: string | undefined;
7310
+ width?: string | number | undefined;
7311
+ } | undefined;
7312
+ pagination?: {
7313
+ pageSize: number;
7314
+ pageSizeOptions?: number[] | undefined;
7315
+ } | undefined;
7316
+ kanban?: {
7317
+ groupByField: string;
7318
+ columns: string[];
7319
+ summarizeField?: string | undefined;
7320
+ } | undefined;
7321
+ calendar?: {
7322
+ startDateField: string;
7323
+ titleField: string;
7324
+ endDateField?: string | undefined;
7325
+ colorField?: string | undefined;
7326
+ } | undefined;
7327
+ gantt?: {
7328
+ startDateField: string;
7329
+ endDateField: string;
7330
+ titleField: string;
7331
+ progressField?: string | undefined;
7332
+ dependenciesField?: string | undefined;
7333
+ } | undefined;
7334
+ gallery?: {
7335
+ coverFit: "cover" | "contain";
7336
+ cardSize: "small" | "medium" | "large";
7337
+ coverField?: string | undefined;
7338
+ titleField?: string | undefined;
7339
+ visibleFields?: string[] | undefined;
7340
+ } | undefined;
7341
+ timeline?: {
7342
+ startDateField: string;
7343
+ titleField: string;
7344
+ scale: "hour" | "day" | "week" | "month" | "quarter" | "year";
7345
+ endDateField?: string | undefined;
7346
+ groupByField?: string | undefined;
7347
+ colorField?: string | undefined;
7348
+ } | undefined;
7349
+ chart?: {
7350
+ chartType: "bar" | "line" | "pie" | "area" | "scatter";
7351
+ xAxisField: string;
7352
+ yAxisFields: string[];
7353
+ aggregation?: "min" | "max" | "count" | "sum" | "avg" | undefined;
7354
+ groupByField?: string | undefined;
7355
+ } | undefined;
7356
+ description?: string | undefined;
7357
+ sharing?: {
7358
+ type: "personal" | "collaborative";
7359
+ lockedBy?: string | undefined;
7360
+ } | undefined;
7361
+ rowHeight?: "medium" | "short" | "compact" | "tall" | "extra_tall" | undefined;
7362
+ grouping?: {
7363
+ fields: {
7364
+ field: string;
7365
+ order: "asc" | "desc";
7366
+ collapsed: boolean;
7367
+ }[];
7368
+ } | undefined;
7369
+ rowColor?: {
7370
+ field: string;
7371
+ colors?: Record<string, string> | undefined;
7372
+ } | undefined;
7373
+ hiddenFields?: string[] | undefined;
7374
+ fieldOrder?: string[] | undefined;
7375
+ rowActions?: string[] | undefined;
7376
+ bulkActions?: string[] | undefined;
7377
+ bulkActionDefs?: Record<string, any>[] | undefined;
7378
+ virtualScroll?: boolean | undefined;
7379
+ conditionalFormatting?: {
7380
+ condition: {
7381
+ dialect: "cel" | "js" | "cron" | "template";
7382
+ source?: string | undefined;
7383
+ ast?: unknown;
7384
+ meta?: {
7385
+ rationale?: string | undefined;
7386
+ generatedBy?: string | undefined;
7387
+ } | undefined;
7388
+ } | {
7389
+ dialect: "cel" | "js" | "cron" | "template";
7390
+ source?: string | undefined;
7391
+ ast?: unknown;
7392
+ meta?: {
7393
+ rationale?: string | undefined;
7394
+ generatedBy?: string | undefined;
7395
+ } | undefined;
7396
+ };
7397
+ style: Record<string, string>;
7398
+ }[] | undefined;
7399
+ inlineEdit?: boolean | undefined;
7400
+ exportOptions?: ("json" | "csv" | "xlsx" | "pdf")[] | undefined;
7401
+ userActions?: {
7402
+ sort: boolean;
7403
+ search: boolean;
7404
+ filter: boolean;
7405
+ rowHeight: boolean;
7406
+ addRecordForm: boolean;
7407
+ buttons?: string[] | undefined;
7408
+ } | undefined;
7409
+ appearance?: {
7410
+ showDescription: boolean;
7411
+ allowedVisualizations?: ("kanban" | "calendar" | "gantt" | "gallery" | "timeline" | "map" | "grid")[] | undefined;
7412
+ } | undefined;
7413
+ tabs?: {
7414
+ name: string;
7415
+ pinned: boolean;
7416
+ isDefault: boolean;
7417
+ visible: boolean;
7418
+ label?: string | undefined;
7419
+ icon?: string | undefined;
7420
+ view?: string | undefined;
7421
+ filter?: {
7422
+ field: string;
7423
+ operator: string;
7424
+ value?: string | number | boolean | (string | number)[] | null | undefined;
7425
+ }[] | undefined;
7426
+ order?: number | undefined;
7427
+ }[] | undefined;
7428
+ addRecord?: {
7429
+ enabled: boolean;
7430
+ position: "top" | "bottom" | "both";
7431
+ mode: "modal" | "inline" | "form";
7432
+ formView?: string | undefined;
7433
+ } | undefined;
7434
+ showRecordCount?: boolean | undefined;
7435
+ allowPrinting?: boolean | undefined;
7436
+ emptyState?: {
7437
+ title?: string | undefined;
7438
+ message?: string | undefined;
7439
+ icon?: string | undefined;
7440
+ } | undefined;
7441
+ aria?: {
7442
+ ariaLabel?: string | undefined;
7443
+ ariaDescribedBy?: string | undefined;
7444
+ role?: string | undefined;
7445
+ } | undefined;
7446
+ responsive?: {
7447
+ breakpoint?: "md" | "xs" | "sm" | "lg" | "xl" | "2xl" | undefined;
7448
+ hiddenOn?: ("md" | "xs" | "sm" | "lg" | "xl" | "2xl")[] | undefined;
7449
+ columns?: {
7450
+ xs?: number | undefined;
7451
+ sm?: number | undefined;
7452
+ md?: number | undefined;
7453
+ lg?: number | undefined;
7454
+ xl?: number | undefined;
7455
+ "2xl"?: number | undefined;
7456
+ } | undefined;
7457
+ order?: {
7458
+ xs?: number | undefined;
7459
+ sm?: number | undefined;
7460
+ md?: number | undefined;
7461
+ lg?: number | undefined;
7462
+ xl?: number | undefined;
7463
+ "2xl"?: number | undefined;
7464
+ } | undefined;
7465
+ } | undefined;
7466
+ performance?: {
7467
+ lazyLoad?: boolean | undefined;
7468
+ virtualScroll?: {
7469
+ enabled: boolean;
7470
+ itemHeight?: number | undefined;
7471
+ overscan?: number | undefined;
7472
+ } | undefined;
7473
+ cacheStrategy?: "none" | "cache-first" | "network-first" | "stale-while-revalidate" | undefined;
7474
+ prefetch?: boolean | undefined;
7475
+ pageSize?: number | undefined;
7476
+ debounceMs?: number | undefined;
7477
+ } | undefined;
7478
+ }> | undefined;
6255
7479
  search?: {
6256
7480
  fields: string[];
6257
7481
  displayFields?: string[] | undefined;
@@ -6267,10 +7491,10 @@ declare const securityObjects: ((Omit<{
6267
7491
  trash: boolean;
6268
7492
  mru: boolean;
6269
7493
  clone: boolean;
6270
- apiMethods?: ("search" | "list" | "get" | "delete" | "update" | "upsert" | "history" | "create" | "bulk" | "aggregate" | "restore" | "purge" | "import" | "export")[] | undefined;
7494
+ apiMethods?: ("search" | "create" | "import" | "delete" | "list" | "get" | "update" | "upsert" | "history" | "bulk" | "aggregate" | "restore" | "purge" | "export")[] | undefined;
6271
7495
  } | undefined;
6272
7496
  recordTypes?: string[] | undefined;
6273
- sharingModel?: "full" | "private" | "read" | "read_write" | undefined;
7497
+ sharingModel?: "read" | "full" | "private" | "read_write" | undefined;
6274
7498
  keyPrefix?: string | undefined;
6275
7499
  actions?: {
6276
7500
  name: string;
@@ -6294,14 +7518,20 @@ declare const securityObjects: ((Omit<{
6294
7518
  } | undefined;
6295
7519
  execute?: string | undefined;
6296
7520
  params?: {
6297
- name: string;
6298
- label: string;
6299
- type: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector";
6300
7521
  required: boolean;
7522
+ name?: string | undefined;
7523
+ field?: string | undefined;
7524
+ objectOverride?: string | undefined;
7525
+ label?: string | undefined;
7526
+ type?: "number" | "boolean" | "date" | "file" | "code" | "datetime" | "signature" | "progress" | "url" | "text" | "textarea" | "email" | "phone" | "password" | "markdown" | "html" | "richtext" | "currency" | "percent" | "time" | "toggle" | "select" | "multiselect" | "radio" | "checkboxes" | "lookup" | "master_detail" | "tree" | "image" | "avatar" | "video" | "audio" | "formula" | "summary" | "autonumber" | "location" | "address" | "json" | "color" | "rating" | "slider" | "qrcode" | "tags" | "vector" | undefined;
6301
7527
  options?: {
6302
7528
  label: string;
6303
7529
  value: string;
6304
7530
  }[] | undefined;
7531
+ placeholder?: string | undefined;
7532
+ helpText?: string | undefined;
7533
+ defaultValue?: unknown;
7534
+ defaultFromRow?: boolean | undefined;
6305
7535
  }[] | undefined;
6306
7536
  variant?: "link" | "primary" | "secondary" | "danger" | "ghost" | undefined;
6307
7537
  confirmText?: string | undefined;
@@ -6326,6 +7556,14 @@ declare const securityObjects: ((Omit<{
6326
7556
  } | undefined;
6327
7557
  shortcut?: string | undefined;
6328
7558
  bulkEnabled?: boolean | undefined;
7559
+ recordIdParam?: string | undefined;
7560
+ recordIdField?: string | undefined;
7561
+ bodyShape?: "flat" | {
7562
+ wrap: string;
7563
+ } | undefined;
7564
+ method?: "POST" | "PATCH" | "PUT" | "DELETE" | undefined;
7565
+ bodyExtra?: Record<string, unknown> | undefined;
7566
+ mode?: "custom" | "delete" | "create" | "edit" | undefined;
6329
7567
  timeout?: number | undefined;
6330
7568
  aria?: {
6331
7569
  ariaLabel?: string | undefined;
@@ -6339,6 +7577,7 @@ declare const securityObjects: ((Omit<{
6339
7577
  readonly pluralLabel: "Role Permission Sets";
6340
7578
  readonly icon: "shield-plus";
6341
7579
  readonly isSystem: true;
7580
+ readonly managedBy: "system";
6342
7581
  readonly description: "Binds a permission set to a role.";
6343
7582
  readonly titleFormat: "{role_id} \u2192 {permission_set_id}";
6344
7583
  readonly compactLayout: ["role_id", "permission_set_id"];
@@ -6361,6 +7600,7 @@ declare const securityObjects: ((Omit<{
6361
7600
  readonly dependencies?: string[] | undefined;
6362
7601
  readonly theme?: string | undefined;
6363
7602
  readonly externalId?: boolean | undefined;
7603
+ readonly system?: boolean | undefined;
6364
7604
  readonly min?: number | undefined;
6365
7605
  readonly max?: number | undefined;
6366
7606
  readonly group?: string | undefined;
@@ -6535,6 +7775,7 @@ declare const securityObjects: ((Omit<{
6535
7775
  readonly dependencies?: string[] | undefined;
6536
7776
  readonly theme?: string | undefined;
6537
7777
  readonly externalId?: boolean | undefined;
7778
+ readonly system?: boolean | undefined;
6538
7779
  readonly min?: number | undefined;
6539
7780
  readonly max?: number | undefined;
6540
7781
  readonly group?: string | undefined;
@@ -6709,6 +7950,7 @@ declare const securityObjects: ((Omit<{
6709
7950
  readonly dependencies?: string[] | undefined;
6710
7951
  readonly theme?: string | undefined;
6711
7952
  readonly externalId?: boolean | undefined;
7953
+ readonly system?: boolean | undefined;
6712
7954
  readonly min?: number | undefined;
6713
7955
  readonly max?: number | undefined;
6714
7956
  readonly group?: string | undefined;
@@ -6883,6 +8125,7 @@ declare const securityObjects: ((Omit<{
6883
8125
  readonly dependencies?: string[] | undefined;
6884
8126
  readonly theme?: string | undefined;
6885
8127
  readonly externalId?: boolean | undefined;
8128
+ readonly system?: boolean | undefined;
6886
8129
  readonly min?: number | undefined;
6887
8130
  readonly max?: number | undefined;
6888
8131
  readonly group?: string | undefined;
@@ -7057,6 +8300,7 @@ declare const securityObjects: ((Omit<{
7057
8300
  readonly dependencies?: string[] | undefined;
7058
8301
  readonly theme?: string | undefined;
7059
8302
  readonly externalId?: boolean | undefined;
8303
+ readonly system?: boolean | undefined;
7060
8304
  readonly min?: number | undefined;
7061
8305
  readonly max?: number | undefined;
7062
8306
  readonly group?: string | undefined;