@stndrds/schema 1.0.0-alpha.280 → 1.0.0-alpha.281

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/{all-Ig0ig9wp.d.ts → all-BVp3k9Hi.d.ts} +4 -15
  2. package/dist/{all-C0hXd79K.d.mts → all-CnIU2anT.d.mts} +4 -15
  3. package/dist/{chunk-MSIGO7JA.mjs → chunk-A5PPZ2FM.mjs} +1 -1
  4. package/dist/{chunk-3PGLMGTR.js → chunk-E47WAI5K.js} +4 -4
  5. package/dist/{chunk-M3WFXOA4.js → chunk-HWZRSXFB.js} +2 -0
  6. package/dist/{chunk-FAEOVIDJ.js → chunk-LRFLSFIA.js} +3 -3
  7. package/dist/{chunk-PUMM6SPY.mjs → chunk-MLTXSBOB.mjs} +1 -1
  8. package/dist/{chunk-TBAD2T7Q.mjs → chunk-ORPCS24B.mjs} +5 -11
  9. package/dist/{chunk-XTBGGJ3G.js → chunk-OYHBQMC7.js} +3 -3
  10. package/dist/{chunk-XDA5PZRT.mjs → chunk-SYQDFZ74.mjs} +2 -0
  11. package/dist/{chunk-MXYCCUNB.js → chunk-TU6ECJFZ.js} +37 -43
  12. package/dist/{chunk-NUEIGMYS.mjs → chunk-XCLVXM7F.mjs} +1 -1
  13. package/dist/exceptions.d.mts +2 -0
  14. package/dist/exceptions.d.ts +2 -0
  15. package/dist/exceptions.js +39 -39
  16. package/dist/exceptions.mjs +1 -1
  17. package/dist/{index-C3P5Dnwt.d.mts → index-DWoqObyG.d.mts} +13 -22
  18. package/dist/{index-SpFpkWVC.d.ts → index-TMlrIKAY.d.ts} +13 -22
  19. package/dist/index.d.mts +253 -73
  20. package/dist/index.d.ts +253 -73
  21. package/dist/index.js +1175 -286
  22. package/dist/index.mjs +970 -93
  23. package/dist/utils.js +8 -8
  24. package/dist/utils.mjs +2 -2
  25. package/dist/validation/all.d.mts +2 -2
  26. package/dist/validation/all.d.ts +2 -2
  27. package/dist/validation/all.js +29 -29
  28. package/dist/validation/all.mjs +4 -4
  29. package/dist/validation/config/index.d.mts +1 -1
  30. package/dist/validation/config/index.d.ts +1 -1
  31. package/dist/validation/config/index.js +11 -11
  32. package/dist/validation/config/index.mjs +2 -2
  33. package/dist/validation/object/index.js +14 -14
  34. package/dist/validation/object/index.mjs +2 -2
  35. package/package.json +2 -2
@@ -1,158 +1,158 @@
1
1
  'use strict';
2
2
 
3
- var chunkM3WFXOA4_js = require('./chunk-M3WFXOA4.js');
3
+ var chunkHWZRSXFB_js = require('./chunk-HWZRSXFB.js');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "AccessDeniedError", {
8
8
  enumerable: true,
9
- get: function () { return chunkM3WFXOA4_js.AccessDeniedError; }
9
+ get: function () { return chunkHWZRSXFB_js.AccessDeniedError; }
10
10
  });
11
11
  Object.defineProperty(exports, "AttributeInUseError", {
12
12
  enumerable: true,
13
- get: function () { return chunkM3WFXOA4_js.AttributeInUseError; }
13
+ get: function () { return chunkHWZRSXFB_js.AttributeInUseError; }
14
14
  });
15
15
  Object.defineProperty(exports, "AttributeNotFoundError", {
16
16
  enumerable: true,
17
- get: function () { return chunkM3WFXOA4_js.AttributeNotFoundError; }
17
+ get: function () { return chunkHWZRSXFB_js.AttributeNotFoundError; }
18
18
  });
19
19
  Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
20
20
  enumerable: true,
21
- get: function () { return chunkM3WFXOA4_js.ChangeTypeNotSupportedError; }
21
+ get: function () { return chunkHWZRSXFB_js.ChangeTypeNotSupportedError; }
22
22
  });
23
23
  Object.defineProperty(exports, "ConcurrentModificationError", {
24
24
  enumerable: true,
25
- get: function () { return chunkM3WFXOA4_js.ConcurrentModificationError; }
25
+ get: function () { return chunkHWZRSXFB_js.ConcurrentModificationError; }
26
26
  });
27
27
  Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
28
28
  enumerable: true,
29
- get: function () { return chunkM3WFXOA4_js.DestructiveSyncNotAllowedError; }
29
+ get: function () { return chunkHWZRSXFB_js.DestructiveSyncNotAllowedError; }
30
30
  });
31
31
  Object.defineProperty(exports, "DuplicateError", {
32
32
  enumerable: true,
33
- get: function () { return chunkM3WFXOA4_js.DuplicateError; }
33
+ get: function () { return chunkHWZRSXFB_js.DuplicateError; }
34
34
  });
35
35
  Object.defineProperty(exports, "ForbiddenError", {
36
36
  enumerable: true,
37
- get: function () { return chunkM3WFXOA4_js.ForbiddenError; }
37
+ get: function () { return chunkHWZRSXFB_js.ForbiddenError; }
38
38
  });
39
39
  Object.defineProperty(exports, "MemoryNotFoundError", {
40
40
  enumerable: true,
41
- get: function () { return chunkM3WFXOA4_js.MemoryNotFoundError; }
41
+ get: function () { return chunkHWZRSXFB_js.MemoryNotFoundError; }
42
42
  });
43
43
  Object.defineProperty(exports, "MigrationTimeoutError", {
44
44
  enumerable: true,
45
- get: function () { return chunkM3WFXOA4_js.MigrationTimeoutError; }
45
+ get: function () { return chunkHWZRSXFB_js.MigrationTimeoutError; }
46
46
  });
47
47
  Object.defineProperty(exports, "NotFoundError", {
48
48
  enumerable: true,
49
- get: function () { return chunkM3WFXOA4_js.NotFoundError; }
49
+ get: function () { return chunkHWZRSXFB_js.NotFoundError; }
50
50
  });
51
51
  Object.defineProperty(exports, "NotImplementedError", {
52
52
  enumerable: true,
53
- get: function () { return chunkM3WFXOA4_js.NotImplementedError; }
53
+ get: function () { return chunkHWZRSXFB_js.NotImplementedError; }
54
54
  });
55
55
  Object.defineProperty(exports, "ObjectNotFoundError", {
56
56
  enumerable: true,
57
- get: function () { return chunkM3WFXOA4_js.ObjectNotFoundError; }
57
+ get: function () { return chunkHWZRSXFB_js.ObjectNotFoundError; }
58
58
  });
59
59
  Object.defineProperty(exports, "ObjectReferencedError", {
60
60
  enumerable: true,
61
- get: function () { return chunkM3WFXOA4_js.ObjectReferencedError; }
61
+ get: function () { return chunkHWZRSXFB_js.ObjectReferencedError; }
62
62
  });
63
63
  Object.defineProperty(exports, "OrphanSystemAttributeError", {
64
64
  enumerable: true,
65
- get: function () { return chunkM3WFXOA4_js.OrphanSystemAttributeError; }
65
+ get: function () { return chunkHWZRSXFB_js.OrphanSystemAttributeError; }
66
66
  });
67
67
  Object.defineProperty(exports, "ProtectedResourceError", {
68
68
  enumerable: true,
69
- get: function () { return chunkM3WFXOA4_js.ProtectedResourceError; }
69
+ get: function () { return chunkHWZRSXFB_js.ProtectedResourceError; }
70
70
  });
71
71
  Object.defineProperty(exports, "ProtectedRoleError", {
72
72
  enumerable: true,
73
- get: function () { return chunkM3WFXOA4_js.ProtectedRoleError; }
73
+ get: function () { return chunkHWZRSXFB_js.ProtectedRoleError; }
74
74
  });
75
75
  Object.defineProperty(exports, "RecordNotFoundError", {
76
76
  enumerable: true,
77
- get: function () { return chunkM3WFXOA4_js.RecordNotFoundError; }
77
+ get: function () { return chunkHWZRSXFB_js.RecordNotFoundError; }
78
78
  });
79
79
  Object.defineProperty(exports, "RecordReferencedError", {
80
80
  enumerable: true,
81
- get: function () { return chunkM3WFXOA4_js.RecordReferencedError; }
81
+ get: function () { return chunkHWZRSXFB_js.RecordReferencedError; }
82
82
  });
83
83
  Object.defineProperty(exports, "RepositoryError", {
84
84
  enumerable: true,
85
- get: function () { return chunkM3WFXOA4_js.RepositoryError; }
85
+ get: function () { return chunkHWZRSXFB_js.RepositoryError; }
86
86
  });
87
87
  Object.defineProperty(exports, "RoleNotFoundError", {
88
88
  enumerable: true,
89
- get: function () { return chunkM3WFXOA4_js.RoleNotFoundError; }
89
+ get: function () { return chunkHWZRSXFB_js.RoleNotFoundError; }
90
90
  });
91
91
  Object.defineProperty(exports, "SchemaError", {
92
92
  enumerable: true,
93
- get: function () { return chunkM3WFXOA4_js.SchemaError; }
93
+ get: function () { return chunkHWZRSXFB_js.SchemaError; }
94
94
  });
95
95
  Object.defineProperty(exports, "SchemaErrorCode", {
96
96
  enumerable: true,
97
- get: function () { return chunkM3WFXOA4_js.SchemaErrorCode; }
97
+ get: function () { return chunkHWZRSXFB_js.SchemaErrorCode; }
98
98
  });
99
99
  Object.defineProperty(exports, "SchemaPlanNotFoundError", {
100
100
  enumerable: true,
101
- get: function () { return chunkM3WFXOA4_js.SchemaPlanNotFoundError; }
101
+ get: function () { return chunkHWZRSXFB_js.SchemaPlanNotFoundError; }
102
102
  });
103
103
  Object.defineProperty(exports, "SearchBackendError", {
104
104
  enumerable: true,
105
- get: function () { return chunkM3WFXOA4_js.SearchBackendError; }
105
+ get: function () { return chunkHWZRSXFB_js.SearchBackendError; }
106
106
  });
107
107
  Object.defineProperty(exports, "StorageError", {
108
108
  enumerable: true,
109
- get: function () { return chunkM3WFXOA4_js.StorageError; }
109
+ get: function () { return chunkHWZRSXFB_js.StorageError; }
110
110
  });
111
111
  Object.defineProperty(exports, "SyncCascadeError", {
112
112
  enumerable: true,
113
- get: function () { return chunkM3WFXOA4_js.SyncCascadeError; }
113
+ get: function () { return chunkHWZRSXFB_js.SyncCascadeError; }
114
114
  });
115
115
  Object.defineProperty(exports, "SyncConflictError", {
116
116
  enumerable: true,
117
- get: function () { return chunkM3WFXOA4_js.SyncConflictError; }
117
+ get: function () { return chunkHWZRSXFB_js.SyncConflictError; }
118
118
  });
119
119
  Object.defineProperty(exports, "SyncError", {
120
120
  enumerable: true,
121
- get: function () { return chunkM3WFXOA4_js.SyncError; }
121
+ get: function () { return chunkHWZRSXFB_js.SyncError; }
122
122
  });
123
123
  Object.defineProperty(exports, "SystemEntityImmutableError", {
124
124
  enumerable: true,
125
- get: function () { return chunkM3WFXOA4_js.SystemEntityImmutableError; }
125
+ get: function () { return chunkHWZRSXFB_js.SystemEntityImmutableError; }
126
126
  });
127
127
  Object.defineProperty(exports, "ValidationError", {
128
128
  enumerable: true,
129
- get: function () { return chunkM3WFXOA4_js.ValidationError; }
129
+ get: function () { return chunkHWZRSXFB_js.ValidationError; }
130
130
  });
131
131
  Object.defineProperty(exports, "isAttributeInUseError", {
132
132
  enumerable: true,
133
- get: function () { return chunkM3WFXOA4_js.isAttributeInUseError; }
133
+ get: function () { return chunkHWZRSXFB_js.isAttributeInUseError; }
134
134
  });
135
135
  Object.defineProperty(exports, "isNotFoundError", {
136
136
  enumerable: true,
137
- get: function () { return chunkM3WFXOA4_js.isNotFoundError; }
137
+ get: function () { return chunkHWZRSXFB_js.isNotFoundError; }
138
138
  });
139
139
  Object.defineProperty(exports, "isObjectReferencedError", {
140
140
  enumerable: true,
141
- get: function () { return chunkM3WFXOA4_js.isObjectReferencedError; }
141
+ get: function () { return chunkHWZRSXFB_js.isObjectReferencedError; }
142
142
  });
143
143
  Object.defineProperty(exports, "isProtectedResourceError", {
144
144
  enumerable: true,
145
- get: function () { return chunkM3WFXOA4_js.isProtectedResourceError; }
145
+ get: function () { return chunkHWZRSXFB_js.isProtectedResourceError; }
146
146
  });
147
147
  Object.defineProperty(exports, "isRecordReferencedError", {
148
148
  enumerable: true,
149
- get: function () { return chunkM3WFXOA4_js.isRecordReferencedError; }
149
+ get: function () { return chunkHWZRSXFB_js.isRecordReferencedError; }
150
150
  });
151
151
  Object.defineProperty(exports, "isSchemaError", {
152
152
  enumerable: true,
153
- get: function () { return chunkM3WFXOA4_js.isSchemaError; }
153
+ get: function () { return chunkHWZRSXFB_js.isSchemaError; }
154
154
  });
155
155
  Object.defineProperty(exports, "isValidationError", {
156
156
  enumerable: true,
157
- get: function () { return chunkM3WFXOA4_js.isValidationError; }
157
+ get: function () { return chunkHWZRSXFB_js.isValidationError; }
158
158
  });
@@ -1 +1 @@
1
- export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReferencedError, RepositoryError, RoleNotFoundError, SchemaError, SchemaErrorCode, SchemaPlanNotFoundError, SearchBackendError, StorageError, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError } from './chunk-XDA5PZRT.mjs';
1
+ export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReferencedError, RepositoryError, RoleNotFoundError, SchemaError, SchemaErrorCode, SchemaPlanNotFoundError, SearchBackendError, StorageError, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError } from './chunk-SYQDFZ74.mjs';
@@ -218,6 +218,13 @@ interface AttributeGroupField {
218
218
  * Can be either a single attribute or an inline attribute group
219
219
  */
220
220
  interface Field {
221
+ /**
222
+ * Stable identity of this slot, assigned by `ensureFieldIds` and backfilled
223
+ * for existing configs. Architect operations address a slot by this id, never
224
+ * by position — a composite field has no attribute name to be addressed by.
225
+ * Optional so a builder may omit it; every persisted config has one.
226
+ */
227
+ id?: string;
221
228
  /** Attribute name to display (for single attribute fields) */
222
229
  attribute?: string;
223
230
  /** Inline attribute group (groups multiple attributes into one composite field) */
@@ -249,23 +256,10 @@ interface FieldGroup extends BaseGroup {
249
256
  fields: Field[];
250
257
  }
251
258
  /**
252
- * Group that displays related records for a relation attribute
253
- */
254
- interface RelationGroup extends BaseGroup {
255
- type: "relation";
256
- /** Relation attribute name on the source object */
257
- attribute: string;
258
- /** Columns to display (auto-detected from target object if empty) */
259
- columns?: string[];
260
- /** Read-only mode */
261
- readOnly?: boolean;
262
- /** Allow creating new related records */
263
- allowCreate?: boolean;
264
- }
265
- /**
266
- * Discriminated union of all group types
259
+ * A form tab's groups. Only field groups exist: related records are shown by a
260
+ * table tab (`table()` / `tableFrom()`), which rendered the same thing.
267
261
  */
268
- type Group = FieldGroup | RelationGroup;
262
+ type Group = FieldGroup;
269
263
  type TabType = "form" | "table" | "custom" | "activity" | "richtext" | "documents" | "forms" | "emails" | "meetings";
270
264
  /**
271
265
  * Base properties shared by all tab types
@@ -586,13 +580,10 @@ declare function isDetailView(view: ViewDefinition): view is DetailViewDefinitio
586
580
  */
587
581
  declare function isListView(view: ViewDefinition): view is ListViewDefinition;
588
582
  /**
589
- * Check if a group is a field group (default type)
583
+ * Check if a group is a field group. Kept because persisted configs written
584
+ * before the relation group was removed may still carry another discriminant.
590
585
  */
591
586
  declare function isFieldGroup(group: Group): group is FieldGroup;
592
- /**
593
- * Check if a group is a relation group
594
- */
595
- declare function isRelationGroup(group: Group): group is RelationGroup;
596
587
 
597
588
  interface AddAttributeInput {
598
589
  name: string;
@@ -787,4 +778,4 @@ declare function parseAttributeConfigForCreate(type: AttributeType, input: unkno
787
778
  */
788
779
  declare function parseAttributeConfigForUpdate(stored: Attribute, patch: Partial<AddAttributeInput>): Record<string, unknown>;
789
780
 
790
- export { type RichtextTab as $, type AttributeGroupField as A, type FilterCombinator as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FilterGroup as H, type FormDensity as I, type FormTab as J, type FormsTab as K, type ListViewConfig as L, type MeetingsTab as M, type InverseSource as N, type ListViewLayout as O, NO_VALUE_OPERATORS as P, type NoValueOperator as Q, type RelationGroup as R, type SortRule as S, type TableTab as T, OPERATORS_BY_TYPE as U, type ViewType as V, type PhoneFilterValue as W, type QueryState as X, type RelationOption as Y, type RelationOptionsResponse as Z, type RelationSource as _, type ViewConfig as a, type SortDirection as a0, type TabType as a1, type TableSource as a2, type UpdateObjectInput as a3, type UpdateViewInput as a4, type ViewOverlay as a5, getRollupFilterOperators as a6, isDetailView as a7, isFieldGroup as a8, isListView as a9, isNoValueOperator as aa, isRelationGroup as ab, multiselectOptionWriteSchema as ac, parseAttributeConfig as ad, parseAttributeConfigForCreate as ae, parseAttributeConfigForUpdate as af, selectOptionWriteSchema as ag, statusGroupSchema as ah, statusOptionWriteSchema as ai, attributeConfigSchemas as aj, getAttributeConfigSchema as ak, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewDefinition as i, type ViewDefinition as j, type ListViewTab as k, type FilterValue as l, type FilterRule as m, type DynamicValue as n, type RelativeDateValue as o, type ActivityTab as p, type AddAttributeInput as q, type AdvancedFilterState as r, type CreateCustomObjectInput as s, type CreateViewInput as t, type CurrencyFilterValue as u, type CustomTab as v, type DayMonthValue as w, type DocumentsTab as x, type EdgeQuantifier as y, type ExtendedFilterRule as z };
781
+ export { type SortDirection as $, type AttributeGroupField as A, type FilterGroup as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FormDensity as H, type FormTab as I, type FormsTab as J, type InverseSource as K, type ListViewConfig as L, type MeetingsTab as M, type ListViewLayout as N, NO_VALUE_OPERATORS as O, type NoValueOperator as P, OPERATORS_BY_TYPE as Q, type RelativeDateValue as R, type SortRule as S, type TableTab as T, type PhoneFilterValue as U, type ViewType as V, type QueryState as W, type RelationOption as X, type RelationOptionsResponse as Y, type RelationSource as Z, type RichtextTab as _, type ViewConfig as a, type TabType as a0, type TableSource as a1, type UpdateObjectInput as a2, type UpdateViewInput as a3, type ViewOverlay as a4, getRollupFilterOperators as a5, isDetailView as a6, isFieldGroup as a7, isListView as a8, isNoValueOperator as a9, multiselectOptionWriteSchema as aa, parseAttributeConfig as ab, parseAttributeConfigForCreate as ac, parseAttributeConfigForUpdate as ad, selectOptionWriteSchema as ae, statusGroupSchema as af, statusOptionWriteSchema as ag, attributeConfigSchemas as ah, getAttributeConfigSchema as ai, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewDefinition as i, type ViewDefinition as j, type ListViewTab as k, type FilterValue as l, type FilterRule as m, type DynamicValue as n, type ActivityTab as o, type AddAttributeInput as p, type AdvancedFilterState as q, type CreateCustomObjectInput as r, type CreateViewInput as s, type CurrencyFilterValue as t, type CustomTab as u, type DayMonthValue as v, type DocumentsTab as w, type EdgeQuantifier as x, type ExtendedFilterRule as y, type FilterCombinator as z };
@@ -218,6 +218,13 @@ interface AttributeGroupField {
218
218
  * Can be either a single attribute or an inline attribute group
219
219
  */
220
220
  interface Field {
221
+ /**
222
+ * Stable identity of this slot, assigned by `ensureFieldIds` and backfilled
223
+ * for existing configs. Architect operations address a slot by this id, never
224
+ * by position — a composite field has no attribute name to be addressed by.
225
+ * Optional so a builder may omit it; every persisted config has one.
226
+ */
227
+ id?: string;
221
228
  /** Attribute name to display (for single attribute fields) */
222
229
  attribute?: string;
223
230
  /** Inline attribute group (groups multiple attributes into one composite field) */
@@ -249,23 +256,10 @@ interface FieldGroup extends BaseGroup {
249
256
  fields: Field[];
250
257
  }
251
258
  /**
252
- * Group that displays related records for a relation attribute
253
- */
254
- interface RelationGroup extends BaseGroup {
255
- type: "relation";
256
- /** Relation attribute name on the source object */
257
- attribute: string;
258
- /** Columns to display (auto-detected from target object if empty) */
259
- columns?: string[];
260
- /** Read-only mode */
261
- readOnly?: boolean;
262
- /** Allow creating new related records */
263
- allowCreate?: boolean;
264
- }
265
- /**
266
- * Discriminated union of all group types
259
+ * A form tab's groups. Only field groups exist: related records are shown by a
260
+ * table tab (`table()` / `tableFrom()`), which rendered the same thing.
267
261
  */
268
- type Group = FieldGroup | RelationGroup;
262
+ type Group = FieldGroup;
269
263
  type TabType = "form" | "table" | "custom" | "activity" | "richtext" | "documents" | "forms" | "emails" | "meetings";
270
264
  /**
271
265
  * Base properties shared by all tab types
@@ -586,13 +580,10 @@ declare function isDetailView(view: ViewDefinition): view is DetailViewDefinitio
586
580
  */
587
581
  declare function isListView(view: ViewDefinition): view is ListViewDefinition;
588
582
  /**
589
- * Check if a group is a field group (default type)
583
+ * Check if a group is a field group. Kept because persisted configs written
584
+ * before the relation group was removed may still carry another discriminant.
590
585
  */
591
586
  declare function isFieldGroup(group: Group): group is FieldGroup;
592
- /**
593
- * Check if a group is a relation group
594
- */
595
- declare function isRelationGroup(group: Group): group is RelationGroup;
596
587
 
597
588
  interface AddAttributeInput {
598
589
  name: string;
@@ -787,4 +778,4 @@ declare function parseAttributeConfigForCreate(type: AttributeType, input: unkno
787
778
  */
788
779
  declare function parseAttributeConfigForUpdate(stored: Attribute, patch: Partial<AddAttributeInput>): Record<string, unknown>;
789
780
 
790
- export { type RichtextTab as $, type AttributeGroupField as A, type FilterCombinator as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FilterGroup as H, type FormDensity as I, type FormTab as J, type FormsTab as K, type ListViewConfig as L, type MeetingsTab as M, type InverseSource as N, type ListViewLayout as O, NO_VALUE_OPERATORS as P, type NoValueOperator as Q, type RelationGroup as R, type SortRule as S, type TableTab as T, OPERATORS_BY_TYPE as U, type ViewType as V, type PhoneFilterValue as W, type QueryState as X, type RelationOption as Y, type RelationOptionsResponse as Z, type RelationSource as _, type ViewConfig as a, type SortDirection as a0, type TabType as a1, type TableSource as a2, type UpdateObjectInput as a3, type UpdateViewInput as a4, type ViewOverlay as a5, getRollupFilterOperators as a6, isDetailView as a7, isFieldGroup as a8, isListView as a9, isNoValueOperator as aa, isRelationGroup as ab, multiselectOptionWriteSchema as ac, parseAttributeConfig as ad, parseAttributeConfigForCreate as ae, parseAttributeConfigForUpdate as af, selectOptionWriteSchema as ag, statusGroupSchema as ah, statusOptionWriteSchema as ai, attributeConfigSchemas as aj, getAttributeConfigSchema as ak, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewDefinition as i, type ViewDefinition as j, type ListViewTab as k, type FilterValue as l, type FilterRule as m, type DynamicValue as n, type RelativeDateValue as o, type ActivityTab as p, type AddAttributeInput as q, type AdvancedFilterState as r, type CreateCustomObjectInput as s, type CreateViewInput as t, type CurrencyFilterValue as u, type CustomTab as v, type DayMonthValue as w, type DocumentsTab as x, type EdgeQuantifier as y, type ExtendedFilterRule as z };
781
+ export { type SortDirection as $, type AttributeGroupField as A, type FilterGroup as B, type ConfigOverrides as C, type DetailViewConfig as D, type EmailsTab as E, type FilterState as F, type Group as G, type FormDensity as H, type FormTab as I, type FormsTab as J, type InverseSource as K, type ListViewConfig as L, type MeetingsTab as M, type ListViewLayout as N, NO_VALUE_OPERATORS as O, type NoValueOperator as P, OPERATORS_BY_TYPE as Q, type RelativeDateValue as R, type SortRule as S, type TableTab as T, type PhoneFilterValue as U, type ViewType as V, type QueryState as W, type RelationOption as X, type RelationOptionsResponse as Y, type RelationSource as Z, type RichtextTab as _, type ViewConfig as a, type TabType as a0, type TableSource as a1, type UpdateObjectInput as a2, type UpdateViewInput as a3, type ViewOverlay as a4, getRollupFilterOperators as a5, isDetailView as a6, isFieldGroup as a7, isListView as a8, isNoValueOperator as a9, multiselectOptionWriteSchema as aa, parseAttributeConfig as ab, parseAttributeConfigForCreate as ac, parseAttributeConfigForUpdate as ad, selectOptionWriteSchema as ae, statusGroupSchema as af, statusOptionWriteSchema as ag, attributeConfigSchemas as ah, getAttributeConfigSchema as ai, type FilterOperator as b, type DetailViewDefinition as c, type SidePanelConfig as d, type Field as e, type FieldGroup as f, type CreateMode as g, type Tab as h, type ListViewDefinition as i, type ViewDefinition as j, type ListViewTab as k, type FilterValue as l, type FilterRule as m, type DynamicValue as n, type ActivityTab as o, type AddAttributeInput as p, type AdvancedFilterState as q, type CreateCustomObjectInput as r, type CreateViewInput as s, type CurrencyFilterValue as t, type CustomTab as u, type DayMonthValue as v, type DocumentsTab as w, type EdgeQuantifier as x, type ExtendedFilterRule as y, type FilterCombinator as z };