@stndrds/schema 1.0.0-alpha.245 → 1.0.0-alpha.246

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 (53) hide show
  1. package/dist/{attributes-B4847Nul.d.ts → attributes-C-iyjLqJ.d.ts} +3 -23
  2. package/dist/{attributes-BpMes5H_.d.mts → attributes-Jji7TfFG.d.mts} +3 -23
  3. package/dist/{chunk-PZJN5IJW.js → chunk-RHNSWKMJ.js} +0 -4
  4. package/dist/{chunk-NAS2HJ3Y.mjs → chunk-VKJVBXHS.mjs} +1 -4
  5. package/dist/{helpers-DsJff5r-.d.ts → helpers-CMryP45K.d.mts} +3 -7
  6. package/dist/{helpers-ow7sORSi.d.mts → helpers-Chppkv0E.d.ts} +3 -7
  7. package/dist/index.d.mts +24 -57
  8. package/dist/index.d.ts +24 -57
  9. package/dist/index.js +171 -213
  10. package/dist/index.mjs +91 -130
  11. package/dist/{types-C8nztuFF.d.ts → types-D7VH7GrO.d.ts} +1 -1
  12. package/dist/{types-CyxVuV_d.d.mts → types-DgpsvFnh.d.mts} +1 -1
  13. package/dist/validation/all.d.mts +3 -3
  14. package/dist/validation/all.d.ts +3 -3
  15. package/dist/validation/all.js +7 -11
  16. package/dist/validation/all.mjs +1 -1
  17. package/dist/validation/complex/currency.d.mts +2 -2
  18. package/dist/validation/complex/currency.d.ts +2 -2
  19. package/dist/validation/complex/file.d.mts +2 -2
  20. package/dist/validation/complex/file.d.ts +2 -2
  21. package/dist/validation/complex/location.d.mts +2 -2
  22. package/dist/validation/complex/location.d.ts +2 -2
  23. package/dist/validation/complex/phone.d.mts +2 -2
  24. package/dist/validation/complex/phone.d.ts +2 -2
  25. package/dist/validation/complex/relation.d.mts +2 -2
  26. package/dist/validation/complex/relation.d.ts +2 -2
  27. package/dist/validation/complex/richtext.d.mts +2 -2
  28. package/dist/validation/complex/richtext.d.ts +2 -2
  29. package/dist/validation/complex/select.d.mts +2 -2
  30. package/dist/validation/complex/select.d.ts +2 -2
  31. package/dist/validation/complex/user.d.mts +2 -2
  32. package/dist/validation/complex/user.d.ts +2 -2
  33. package/dist/validation/computed/formula.d.mts +2 -2
  34. package/dist/validation/computed/formula.d.ts +2 -2
  35. package/dist/validation/computed/rollup.d.mts +2 -2
  36. package/dist/validation/computed/rollup.d.ts +2 -2
  37. package/dist/validation/config/index.d.mts +1 -1
  38. package/dist/validation/config/index.d.ts +1 -1
  39. package/dist/validation/core/index.d.mts +3 -3
  40. package/dist/validation/core/index.d.ts +3 -3
  41. package/dist/validation/object/index.d.mts +3 -3
  42. package/dist/validation/object/index.d.ts +3 -3
  43. package/dist/validation/object/index.js +13 -17
  44. package/dist/validation/object/index.mjs +1 -1
  45. package/dist/validation/primitives/checkbox.d.mts +2 -2
  46. package/dist/validation/primitives/checkbox.d.ts +2 -2
  47. package/dist/validation/primitives/date.d.mts +2 -2
  48. package/dist/validation/primitives/date.d.ts +2 -2
  49. package/dist/validation/primitives/number.d.mts +2 -2
  50. package/dist/validation/primitives/number.d.ts +2 -2
  51. package/dist/validation/primitives/text.d.mts +2 -2
  52. package/dist/validation/primitives/text.d.ts +2 -2
  53. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
4
4
  require('./chunk-PGERPYDR.js');
5
5
  var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
6
- var chunkPZJN5IJW_js = require('./chunk-PZJN5IJW.js');
6
+ var chunkRHNSWKMJ_js = require('./chunk-RHNSWKMJ.js');
7
7
  require('./chunk-5WATIVCA.js');
8
8
  require('./chunk-SI34M4IC.js');
9
9
  require('./chunk-YIP5FJ5H.js');
@@ -69,6 +69,85 @@ var BEHAVIOR_PROPERTIES = [
69
69
  ];
70
70
  var PRESENTATION_PROPERTIES = ["label", "description", "placeholder", "icon"];
71
71
 
72
+ // src/types/system-attributes.ts
73
+ var SYSTEM_ATTRIBUTE_I18N_KEYS = {
74
+ createdAt: "createdAt",
75
+ updatedAt: "updatedAt",
76
+ createdBy: "createdBy",
77
+ lastUpdatedBy: "lastUpdatedBy",
78
+ attachments: "attachments"
79
+ };
80
+ function getSystemAttributeI18nKey(name) {
81
+ return SYSTEM_ATTRIBUTE_I18N_KEYS[name];
82
+ }
83
+ var SYSTEM_ATTRIBUTES = {
84
+ createdAt: {
85
+ id: "system:createdAt",
86
+ name: "createdAt",
87
+ label: "Created time",
88
+ type: "date",
89
+ required: false,
90
+ system: true,
91
+ icon: "clock-circle",
92
+ description: "When this record was created"
93
+ },
94
+ updatedAt: {
95
+ id: "system:updatedAt",
96
+ name: "updatedAt",
97
+ label: "Last edited time",
98
+ type: "date",
99
+ required: false,
100
+ system: true,
101
+ icon: "clock-circle",
102
+ description: "When this record was last modified"
103
+ },
104
+ createdBy: {
105
+ id: "system:createdBy",
106
+ name: "createdBy",
107
+ label: "Created by",
108
+ type: "user",
109
+ required: false,
110
+ system: true,
111
+ multiple: false,
112
+ icon: "user",
113
+ description: "Actor who created this record"
114
+ },
115
+ lastUpdatedBy: {
116
+ id: "system:lastUpdatedBy",
117
+ name: "lastUpdatedBy",
118
+ label: "Last edited by",
119
+ type: "user",
120
+ required: false,
121
+ system: true,
122
+ multiple: false,
123
+ icon: "user",
124
+ description: "Actor who last modified this record"
125
+ },
126
+ /**
127
+ * System attribute for free-form document attachments.
128
+ * Hidden from forms, visible in Documents tab.
129
+ * Users can attach any document without template constraints.
130
+ */
131
+ attachments: {
132
+ id: "system:attachments",
133
+ name: "attachments",
134
+ label: "Attachments",
135
+ type: "document",
136
+ required: false,
137
+ system: true,
138
+ hidden: true,
139
+ // Hidden from regular form views
140
+ icon: "paperclip",
141
+ description: "Free-form document attachments"
142
+ }
143
+ };
144
+ function getSystemAttributeList() {
145
+ return Object.values(SYSTEM_ATTRIBUTES);
146
+ }
147
+ function isManagedSystemAttribute(attribute) {
148
+ return attribute.id?.startsWith("system:") ?? false;
149
+ }
150
+
72
151
  // src/types/attribute-capabilities.ts
73
152
  var TEXT_OPERATORS = [
74
153
  "is",
@@ -223,7 +302,8 @@ function getAttributeCapabilities(attribute) {
223
302
  const sortable = !suppressed && SORTABLE_TYPES.has(attribute.type);
224
303
  const groupable = !suppressed && isGroupableType(attribute.type);
225
304
  const kanbanGroupable = !suppressed && attribute.type === "status";
226
- const readOnly = computed || document2;
305
+ const managed = isManagedSystemAttribute(attribute);
306
+ const readOnly = computed || document2 || managed;
227
307
  const editable = !(suppressed || readOnly);
228
308
  const required = isRequiredForbidden(attribute.type) ? "forbidden" : "allowed";
229
309
  const defaultValue = getDefaultValueCapability(attribute.type);
@@ -570,7 +650,6 @@ var RESERVED_ATTRIBUTE_NAMES = [
570
650
  "objectId",
571
651
  "label",
572
652
  "embeddingText",
573
- "completionStatus",
574
653
  "values",
575
654
  "metadata",
576
655
  "deletedAt",
@@ -611,82 +690,6 @@ function hasOptions(attr) {
611
690
  return attr.type === "select" || attr.type === "status" || attr.type === "multiselect";
612
691
  }
613
692
 
614
- // src/types/system-attributes.ts
615
- var SYSTEM_ATTRIBUTE_I18N_KEYS = {
616
- createdAt: "createdAt",
617
- updatedAt: "updatedAt",
618
- createdBy: "createdBy",
619
- lastUpdatedBy: "lastUpdatedBy",
620
- attachments: "attachments"
621
- };
622
- function getSystemAttributeI18nKey(name) {
623
- return SYSTEM_ATTRIBUTE_I18N_KEYS[name];
624
- }
625
- var SYSTEM_ATTRIBUTES = {
626
- createdAt: {
627
- id: "system:createdAt",
628
- name: "createdAt",
629
- label: "Created time",
630
- type: "date",
631
- required: false,
632
- system: true,
633
- icon: "clock-circle",
634
- description: "When this record was created"
635
- },
636
- updatedAt: {
637
- id: "system:updatedAt",
638
- name: "updatedAt",
639
- label: "Last edited time",
640
- type: "date",
641
- required: false,
642
- system: true,
643
- icon: "clock-circle",
644
- description: "When this record was last modified"
645
- },
646
- createdBy: {
647
- id: "system:createdBy",
648
- name: "createdBy",
649
- label: "Created by",
650
- type: "user",
651
- required: false,
652
- system: true,
653
- multiple: false,
654
- icon: "user",
655
- description: "Actor who created this record"
656
- },
657
- lastUpdatedBy: {
658
- id: "system:lastUpdatedBy",
659
- name: "lastUpdatedBy",
660
- label: "Last edited by",
661
- type: "user",
662
- required: false,
663
- system: true,
664
- multiple: false,
665
- icon: "user",
666
- description: "Actor who last modified this record"
667
- },
668
- /**
669
- * System attribute for free-form document attachments.
670
- * Hidden from forms, visible in Documents tab.
671
- * Users can attach any document without template constraints.
672
- */
673
- attachments: {
674
- id: "system:attachments",
675
- name: "attachments",
676
- label: "Attachments",
677
- type: "document",
678
- required: false,
679
- system: true,
680
- hidden: true,
681
- // Hidden from regular form views
682
- icon: "paperclip",
683
- description: "Free-form document attachments"
684
- }
685
- };
686
- function getSystemAttributeList() {
687
- return Object.values(SYSTEM_ATTRIBUTES);
688
- }
689
-
690
693
  // src/types/user-profiles.ts
691
694
  var USER_STATUSES = ["active", "suspended"];
692
695
 
@@ -1418,7 +1421,7 @@ var BaseAttributeBuilder = class {
1418
1421
  * @see https://standardschema.dev/
1419
1422
  */
1420
1423
  get "~standard"() {
1421
- const zodSchema = chunkPZJN5IJW_js.createAttributeValidator(this.build());
1424
+ const zodSchema = chunkRHNSWKMJ_js.createAttributeValidator(this.build());
1422
1425
  return createStandardSchemaProps(zodSchema);
1423
1426
  }
1424
1427
  constructor(type, name, label) {
@@ -2205,9 +2208,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
2205
2208
  if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
2206
2209
  const relation2 = this.attr.relationAttribute ?? "relation";
2207
2210
  const target = this.attr.targetAttribute ?? "field";
2208
- throw new chunkPZJN5IJW_js.SchemaError(
2211
+ throw new chunkRHNSWKMJ_js.SchemaError(
2209
2212
  `Rollup "${this.attr.name}": .using("original") only supports a "select", "status", or "multiselect" target, but .targetType("${targetType}") was given. To surface a plain ${targetType} value from a related record, use a formula instead \u2014 e.g. formula({ name: "${this.attr.name}", label: "\u2026" }).expression("${relation2}.${target}").`,
2210
- chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
2213
+ chunkRHNSWKMJ_js.SchemaErrorCode.VALIDATION_FAILED
2211
2214
  );
2212
2215
  }
2213
2216
  return super.build();
@@ -2710,7 +2713,7 @@ var ObjectBuilder = class {
2710
2713
  * @see https://standardschema.dev/
2711
2714
  */
2712
2715
  get "~standard"() {
2713
- const zodSchema = chunkPZJN5IJW_js.createObjectValidator(this.build());
2716
+ const zodSchema = chunkRHNSWKMJ_js.createObjectValidator(this.build());
2714
2717
  return createStandardSchemaProps(zodSchema);
2715
2718
  }
2716
2719
  /**
@@ -2924,26 +2927,26 @@ var ObjectBuilder = class {
2924
2927
  throw new Error("[ObjectBuilder] Missing required field: label");
2925
2928
  }
2926
2929
  if (!this._labelExpression) {
2927
- throw new chunkPZJN5IJW_js.SchemaError(
2930
+ throw new chunkRHNSWKMJ_js.SchemaError(
2928
2931
  `Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
2929
- chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
2932
+ chunkRHNSWKMJ_js.SchemaErrorCode.VALIDATION_FAILED
2930
2933
  );
2931
2934
  }
2932
2935
  const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
2933
2936
  if (!labelResult.success) {
2934
2937
  const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
2935
- throw new chunkPZJN5IJW_js.SchemaError(
2938
+ throw new chunkRHNSWKMJ_js.SchemaError(
2936
2939
  `Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
2937
- chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
2940
+ chunkRHNSWKMJ_js.SchemaErrorCode.VALIDATION_FAILED
2938
2941
  );
2939
2942
  }
2940
2943
  if (this._embeddingExpression !== void 0) {
2941
2944
  const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
2942
2945
  if (!embeddingResult.success) {
2943
2946
  const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
2944
- throw new chunkPZJN5IJW_js.SchemaError(
2947
+ throw new chunkRHNSWKMJ_js.SchemaError(
2945
2948
  `Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
2946
- chunkPZJN5IJW_js.SchemaErrorCode.VALIDATION_FAILED
2949
+ chunkRHNSWKMJ_js.SchemaErrorCode.VALIDATION_FAILED
2947
2950
  );
2948
2951
  }
2949
2952
  }
@@ -2984,7 +2987,7 @@ var ObjectBuilder = class {
2984
2987
  objectNameSchema.parse(name);
2985
2988
  } catch (error) {
2986
2989
  if (error instanceof z3__default.default.ZodError) {
2987
- throw new chunkPZJN5IJW_js.SchemaError(error.issues[0].message, chunkPZJN5IJW_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2990
+ throw new chunkRHNSWKMJ_js.SchemaError(error.issues[0].message, chunkRHNSWKMJ_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2988
2991
  }
2989
2992
  throw error;
2990
2993
  }
@@ -2995,7 +2998,7 @@ function object(config) {
2995
2998
  }
2996
2999
  function validatePresetStructure(presetId, nodes, depth) {
2997
3000
  const fail = (message, detail) => {
2998
- throw new chunkPZJN5IJW_js.ValidationError(message, [
3001
+ throw new chunkRHNSWKMJ_js.ValidationError(message, [
2999
3002
  { path: ["documentLayout", "presets", presetId], message: detail }
3000
3003
  ]);
3001
3004
  };
@@ -3223,8 +3226,8 @@ var TableTabConfig = class {
3223
3226
  }
3224
3227
  /**
3225
3228
  * Set creation behavior when clicking "+"
3226
- * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
3227
- * @example .createMode("inline") or .createMode("modal")
3229
+ * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "peek" (instant-create a draft and open it in the record stack side panel)
3230
+ * @example .createMode("inline") or .createMode("peek")
3228
3231
  */
3229
3232
  createMode(mode) {
3230
3233
  this.tabData.createMode = mode;
@@ -3657,7 +3660,6 @@ var DetailViewBuilder = class {
3657
3660
  this.data = {
3658
3661
  name,
3659
3662
  label,
3660
- layout: "page",
3661
3663
  tabs: []
3662
3664
  };
3663
3665
  }
@@ -3690,23 +3692,6 @@ var DetailViewBuilder = class {
3690
3692
  this.data.default = true;
3691
3693
  return this;
3692
3694
  }
3693
- /**
3694
- * Set the layout mode for the view
3695
- * @param value - "page" for full tabs, "modal" for single form
3696
- * @default "page"
3697
- */
3698
- layout(value) {
3699
- this.data.layout = value;
3700
- return this;
3701
- }
3702
- /**
3703
- * Shorthand for .layout("modal")
3704
- * Modal views have a single form tab without tabs UI
3705
- */
3706
- modal() {
3707
- this.data.layout = "modal";
3708
- return this;
3709
- }
3710
3695
  /**
3711
3696
  * Set metadata
3712
3697
  */
@@ -3727,7 +3712,6 @@ var DetailViewBuilder = class {
3727
3712
  }
3728
3713
  /**
3729
3714
  * Configure a side panel with flat attribute fields displayed alongside tab content.
3730
- * Not available for modal layout.
3731
3715
  *
3732
3716
  * @example .sidePanel({ attributes: ["visibility", "linkedTo"] })
3733
3717
  */
@@ -3770,19 +3754,7 @@ var DetailViewBuilder = class {
3770
3754
  (tab) => tab.name,
3771
3755
  (name) => `[DetailViewBuilder] Duplicate tab name "${name}"`
3772
3756
  );
3773
- if (this.data.layout === "modal") {
3774
- if (this.data.tabs.length !== 1) {
3775
- throw new Error("[DetailViewBuilder] Modal views must have exactly one tab");
3776
- }
3777
- if (this.data.tabs[0].type !== "form") {
3778
- throw new Error("[DetailViewBuilder] Modal views must have a form tab");
3779
- }
3780
- if (this.data.sidePanel) {
3781
- throw new Error("[DetailViewBuilder] Modal views cannot have a side panel");
3782
- }
3783
- }
3784
3757
  const config = {
3785
- layout: this.data.layout,
3786
3758
  tabs: this.data.tabs,
3787
3759
  sidePanel: this.data.sidePanel
3788
3760
  };
@@ -4048,8 +4020,8 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
4048
4020
  }
4049
4021
  /**
4050
4022
  * Set creation behavior when clicking "+"
4051
- * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
4052
- * @example .createMode("inline") or .createMode("modal")
4023
+ * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "peek" (instant-create a draft and open it in the record stack side panel)
4024
+ * @example .createMode("inline") or .createMode("peek")
4053
4025
  */
4054
4026
  createMode(mode) {
4055
4027
  this.tabData.createMode = mode;
@@ -4291,7 +4263,7 @@ function jsonFlag(name, defaultValue) {
4291
4263
 
4292
4264
  // src/feature-flags/flag-registry.ts
4293
4265
  function duplicateFlagError(name) {
4294
- return new chunkPZJN5IJW_js.DuplicateError(
4266
+ return new chunkRHNSWKMJ_js.DuplicateError(
4295
4267
  "feature flag",
4296
4268
  name,
4297
4269
  `Flag "${name}" is already registered. Each flag name must be unique.`
@@ -4369,7 +4341,7 @@ var FlagRegistry = class {
4369
4341
  getOrThrow(name) {
4370
4342
  const flag = this.get(name);
4371
4343
  if (!flag) {
4372
- throw new chunkPZJN5IJW_js.NotFoundError(
4344
+ throw new chunkRHNSWKMJ_js.NotFoundError(
4373
4345
  "Feature flag",
4374
4346
  name,
4375
4347
  void 0,
@@ -4526,19 +4498,19 @@ var FlagService = class {
4526
4498
  */
4527
4499
  async setOverride(flagName, level, value, options = {}) {
4528
4500
  if (!this.repository) {
4529
- throw new chunkPZJN5IJW_js.SchemaError(
4501
+ throw new chunkRHNSWKMJ_js.SchemaError(
4530
4502
  "Cannot set override: no FeatureFlagsRepository configured. Add featureFlags to your DatabaseAdapter to enable runtime overrides.",
4531
- chunkPZJN5IJW_js.SchemaErrorCode.CONFIGURATION_REQUIRED
4503
+ chunkRHNSWKMJ_js.SchemaErrorCode.CONFIGURATION_REQUIRED
4532
4504
  );
4533
4505
  }
4534
4506
  const flag = this.registry.get(flagName);
4535
4507
  if (flag && !flag.allowedLevels.includes(level)) {
4536
4508
  const message = `Flag "${flagName}" does not allow ${level}-level overrides. Allowed levels: ${flag.allowedLevels.join(", ")}`;
4537
- throw new chunkPZJN5IJW_js.ValidationError(message, [{ path: ["level"], message }]);
4509
+ throw new chunkRHNSWKMJ_js.ValidationError(message, [{ path: ["level"], message }]);
4538
4510
  }
4539
4511
  if (flag?.system) {
4540
4512
  const message = `Flag "${flagName}" is a system flag and cannot be overridden via API.`;
4541
- throw new chunkPZJN5IJW_js.ValidationError(message, [{ path: ["flagName"], message }]);
4513
+ throw new chunkRHNSWKMJ_js.ValidationError(message, [{ path: ["flagName"], message }]);
4542
4514
  }
4543
4515
  await this.repository.setOverride({
4544
4516
  flagName,
@@ -4558,9 +4530,9 @@ var FlagService = class {
4558
4530
  */
4559
4531
  async deleteOverride(flagName, level, targetId) {
4560
4532
  if (!this.repository) {
4561
- throw new chunkPZJN5IJW_js.SchemaError(
4533
+ throw new chunkRHNSWKMJ_js.SchemaError(
4562
4534
  "Cannot delete override: no FeatureFlagsRepository configured.",
4563
- chunkPZJN5IJW_js.SchemaErrorCode.CONFIGURATION_REQUIRED
4535
+ chunkRHNSWKMJ_js.SchemaErrorCode.CONFIGURATION_REQUIRED
4564
4536
  );
4565
4537
  }
4566
4538
  await this.repository.deleteOverride(flagName, level, targetId);
@@ -4697,7 +4669,7 @@ var NativeObjectRegistryClass = class {
4697
4669
  if (!object2.system) {
4698
4670
  const message = `[NativeObjectRegistry] Cannot register object "${object2.name}" (id: ${object2.id}): missing system flag.
4699
4671
  Native objects must have system=true. Did you call .runtime() on the builder? Remove that call \u2014 objects are system:true by default.`;
4700
- throw new chunkPZJN5IJW_js.ValidationError(message, []);
4672
+ throw new chunkRHNSWKMJ_js.ValidationError(message, []);
4701
4673
  }
4702
4674
  if (this.objects.has(object2.name)) {
4703
4675
  const existing = this.objects.get(object2.name);
@@ -4705,7 +4677,7 @@ Native objects must have system=true. Did you call .runtime() on the builder? Re
4705
4677
  - Existing: "${existing?.label}" (id: ${existing?.id})
4706
4678
  - New: "${object2.label}" (id: ${object2.id})
4707
4679
  Please use unique names for each native object.`;
4708
- throw new chunkPZJN5IJW_js.DuplicateError("object", object2.name, message);
4680
+ throw new chunkRHNSWKMJ_js.DuplicateError("object", object2.name, message);
4709
4681
  }
4710
4682
  this.objects.set(object2.name, cloneObjectDefinition(object2));
4711
4683
  }
@@ -4737,7 +4709,7 @@ Please use unique names for each native object.`;
4737
4709
  if (!object2) {
4738
4710
  const message = `[NativeObjectRegistry] Native object "${name}" not found.
4739
4711
  Available objects: ${this.listNames().join(", ")}`;
4740
- throw new chunkPZJN5IJW_js.NotFoundError("Native object", name, chunkPZJN5IJW_js.SchemaErrorCode.OBJECT_NOT_FOUND, message);
4712
+ throw new chunkRHNSWKMJ_js.NotFoundError("Native object", name, chunkRHNSWKMJ_js.SchemaErrorCode.OBJECT_NOT_FOUND, message);
4741
4713
  }
4742
4714
  return object2;
4743
4715
  }
@@ -4842,7 +4814,7 @@ var ViewRegistry = class {
4842
4814
  const key = this.makeKey(view.object, view.name, view.type);
4843
4815
  if (this.views.has(key)) {
4844
4816
  const message = `[ViewRegistry] Duplicate view: "${view.name}" (${view.type}) for object "${view.object}"`;
4845
- throw new chunkPZJN5IJW_js.DuplicateError("view", key, message);
4817
+ throw new chunkRHNSWKMJ_js.DuplicateError("view", key, message);
4846
4818
  }
4847
4819
  const storedView = cloneViewDefinition(view);
4848
4820
  this.views.set(key, storedView);
@@ -4887,7 +4859,7 @@ var ViewRegistry = class {
4887
4859
  const availableNames = available.map((v) => `${v.name} (${v.type})`).join(", ") || "(none)";
4888
4860
  const message = `[ViewRegistry] View "${viewName}" not found for object "${objectName}".
4889
4861
  Available views: ${availableNames}`;
4890
- throw new chunkPZJN5IJW_js.NotFoundError("View", `${objectName}:${viewName}`, void 0, message);
4862
+ throw new chunkRHNSWKMJ_js.NotFoundError("View", `${objectName}:${viewName}`, void 0, message);
4891
4863
  }
4892
4864
  return view;
4893
4865
  }
@@ -5005,12 +4977,7 @@ function attributeToField(attr) {
5005
4977
  };
5006
4978
  }
5007
4979
  function generateDefaultDetailView(object2, options = {}) {
5008
- const {
5009
- includeActivityTab = true,
5010
- includeDocumentsTab = true,
5011
- excludeAttributes = [],
5012
- layout = "page"
5013
- } = options;
4980
+ const { includeActivityTab = true, includeDocumentsTab = true, excludeAttributes = [] } = options;
5014
4981
  const runtimeAttrs = getRuntimeAttributes(object2.attributes, excludeAttributes);
5015
4982
  const sortedAttrs = sortAttributes(
5016
4983
  runtimeAttrs.filter((attr) => getAttributeCapabilities(attr).presentation.formField)
@@ -5054,7 +5021,6 @@ function generateDefaultDetailView(object2, options = {}) {
5054
5021
  });
5055
5022
  }
5056
5023
  const config = {
5057
- layout,
5058
5024
  tabs
5059
5025
  };
5060
5026
  return {
@@ -5201,7 +5167,7 @@ var FormRegistry = class {
5201
5167
  const forms = Array.isArray(formOrForms) ? formOrForms : [formOrForms];
5202
5168
  for (const f of forms) {
5203
5169
  if (this.forms.has(f.name)) {
5204
- throw new chunkPZJN5IJW_js.DuplicateError("form", f.name, `[FormRegistry] Duplicate form: "${f.name}"`);
5170
+ throw new chunkRHNSWKMJ_js.DuplicateError("form", f.name, `[FormRegistry] Duplicate form: "${f.name}"`);
5205
5171
  }
5206
5172
  this.forms.set(f.name, cloneFormDefinition(f));
5207
5173
  }
@@ -5349,7 +5315,6 @@ var LIVE_EVENT_TYPE_REGISTRY = {
5349
5315
  "channel.revoked": true
5350
5316
  };
5351
5317
  var LIVE_EVENT_TYPES = Object.keys(LIVE_EVENT_TYPE_REGISTRY);
5352
- var COMPLETION_STATUSES = ["draft", "complete"];
5353
5318
  var VIEW_PROJECTION_STALE_REASONS = [
5354
5319
  "membership-unknown",
5355
5320
  "sort-unknown",
@@ -5447,9 +5412,6 @@ function hasOptional(value, key, predicate) {
5447
5412
  function isOneOf(value, values) {
5448
5413
  return typeof value === "string" && values.includes(value);
5449
5414
  }
5450
- function isCompletionStatus(value) {
5451
- return isOneOf(value, COMPLETION_STATUSES);
5452
- }
5453
5415
  function isNotificationKind(value) {
5454
5416
  return isOneOf(value, NOTIFICATION_KINDS);
5455
5417
  }
@@ -5472,7 +5434,7 @@ function isRecordFieldPatch(value) {
5472
5434
  return isRecord(value) && hasString(value, "fieldKey") && Object.hasOwn(value, "value") && hasVersion(value, "version");
5473
5435
  }
5474
5436
  function isRecordPatchPayload(payload) {
5475
- return payload.type === "record.patch" && hasString(payload, "objectId") && hasString(payload, "recordId") && hasVersion(payload, "recordVersion") && hasOptional(payload, "label", isString) && hasOptional(payload, "completionStatus", isCompletionStatus) && hasOptional(payload, "metadata", isRecord) && Array.isArray(payload.fieldPatches) && payload.fieldPatches.every(isRecordFieldPatch) && hasString(payload, "updatedAt");
5437
+ return payload.type === "record.patch" && hasString(payload, "objectId") && hasString(payload, "recordId") && hasVersion(payload, "recordVersion") && hasOptional(payload, "label", isString) && hasOptional(payload, "metadata", isRecord) && Array.isArray(payload.fieldPatches) && payload.fieldPatches.every(isRecordFieldPatch) && hasString(payload, "updatedAt");
5476
5438
  }
5477
5439
  function isRecordDeletedPayload(payload) {
5478
5440
  return payload.type === "record.deleted" && hasString(payload, "objectId") && hasString(payload, "recordId") && hasVersion(payload, "recordVersion") && hasString(payload, "deletedAt");
@@ -7050,9 +7012,8 @@ var SYSTEM_FILTER_OPERATORS = {
7050
7012
  id: ID_LIKE_OPERATORS,
7051
7013
  objectId: ID_LIKE_OPERATORS,
7052
7014
  tenantId: ID_LIKE_OPERATORS,
7053
- // Free-form text and status columns share their counterpart's operator set
7015
+ // Free-form text columns share their counterpart's operator set
7054
7016
  label: OPERATORS_BY_TYPE.text,
7055
- completionStatus: OPERATORS_BY_TYPE.status,
7056
7017
  // Date columns
7057
7018
  createdAt: OPERATORS_BY_TYPE.date,
7058
7019
  updatedAt: OPERATORS_BY_TYPE.date,
@@ -7066,7 +7027,7 @@ function assertOperatorForType(operator, type, context) {
7066
7027
  if (!ops?.includes(operator)) {
7067
7028
  const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
7068
7029
  const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
7069
- throw new chunkPZJN5IJW_js.ValidationError(summary, [
7030
+ throw new chunkRHNSWKMJ_js.ValidationError(summary, [
7070
7031
  {
7071
7032
  path: ["operator"],
7072
7033
  message: summary
@@ -7082,7 +7043,7 @@ function assertRelativeDateValue(rule) {
7082
7043
  const valid = typeof v === "object" && v !== null && typeof v.amount === "number" && Number.isFinite(v.amount) && v.amount > 0 && typeof v.unit === "string" && RELATIVE_DATE_UNITS.has(v.unit) && typeof v.direction === "string" && RELATIVE_DATE_DIRECTIONS.has(v.direction);
7083
7044
  if (!valid) {
7084
7045
  const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
7085
- throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
7046
+ throw new chunkRHNSWKMJ_js.ValidationError(m, [{ path: ["value"], message: m }]);
7086
7047
  }
7087
7048
  }
7088
7049
  function assertDynamicValueForAttribute(rule, attrType) {
@@ -7090,34 +7051,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
7090
7051
  const v = rule.value;
7091
7052
  if (v.dynamic === "actor" && attrType !== "user") {
7092
7053
  const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
7093
- throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
7054
+ throw new chunkRHNSWKMJ_js.ValidationError(m, [{ path: ["value"], message: m }]);
7094
7055
  }
7095
7056
  if (v.dynamic === "date" && attrType !== "date") {
7096
7057
  const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
7097
- throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["value"], message: m }]);
7058
+ throw new chunkRHNSWKMJ_js.ValidationError(m, [{ path: ["value"], message: m }]);
7098
7059
  }
7099
7060
  }
7100
7061
  function validateQualifiedRule(rule, context) {
7101
7062
  const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
7102
7063
  const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
7103
7064
  if (!(rootAttr || systemOps)) {
7104
- throw new chunkPZJN5IJW_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
7065
+ throw new chunkRHNSWKMJ_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
7105
7066
  { path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
7106
7067
  ]);
7107
7068
  }
7108
7069
  if (rule.quantifier !== void 0 && !rule.property) {
7109
7070
  const m = `quantifier is only valid on qualified edge rules (set "property")`;
7110
- throw new chunkPZJN5IJW_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
7071
+ throw new chunkRHNSWKMJ_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
7111
7072
  }
7112
7073
  if (!rootAttr) {
7113
7074
  if (rule.property) {
7114
- throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
7075
+ throw new chunkRHNSWKMJ_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
7115
7076
  { path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
7116
7077
  ]);
7117
7078
  }
7118
7079
  if (!systemOps.includes(rule.operator)) {
7119
7080
  const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
7120
- throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
7081
+ throw new chunkRHNSWKMJ_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
7121
7082
  }
7122
7083
  assertRelativeDateValue(rule);
7123
7084
  return;
@@ -7128,25 +7089,25 @@ function validateQualifiedRule(rule, context) {
7128
7089
  if (!ops.includes(rule.operator)) {
7129
7090
  const validList = ops.length ? ops.join(", ") : "(not filterable)";
7130
7091
  const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
7131
- throw new chunkPZJN5IJW_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
7092
+ throw new chunkRHNSWKMJ_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
7132
7093
  }
7133
7094
  assertRelativeDateValue(rule);
7134
7095
  return;
7135
7096
  }
7136
7097
  if (!REFERENCE_TYPES.has(rootAttr.type)) {
7137
- throw new chunkPZJN5IJW_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
7098
+ throw new chunkRHNSWKMJ_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
7138
7099
  { path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
7139
7100
  ]);
7140
7101
  }
7141
7102
  const propSchema = rootAttr.properties;
7142
7103
  if (!propSchema) {
7143
- throw new chunkPZJN5IJW_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
7104
+ throw new chunkRHNSWKMJ_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
7144
7105
  { path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
7145
7106
  ]);
7146
7107
  }
7147
7108
  const propDef = propSchema.definitions.find((p) => p.name === rule.property);
7148
7109
  if (!propDef) {
7149
- throw new chunkPZJN5IJW_js.ValidationError(
7110
+ throw new chunkRHNSWKMJ_js.ValidationError(
7150
7111
  `Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
7151
7112
  [{ path: ["property"], message: `Unknown property: ${rule.property}` }]
7152
7113
  );
@@ -7196,179 +7157,175 @@ Object.defineProperty(exports, "parseComputedFormula", {
7196
7157
  });
7197
7158
  Object.defineProperty(exports, "AccessDeniedError", {
7198
7159
  enumerable: true,
7199
- get: function () { return chunkPZJN5IJW_js.AccessDeniedError; }
7160
+ get: function () { return chunkRHNSWKMJ_js.AccessDeniedError; }
7200
7161
  });
7201
7162
  Object.defineProperty(exports, "AttributeInUseError", {
7202
7163
  enumerable: true,
7203
- get: function () { return chunkPZJN5IJW_js.AttributeInUseError; }
7164
+ get: function () { return chunkRHNSWKMJ_js.AttributeInUseError; }
7204
7165
  });
7205
7166
  Object.defineProperty(exports, "AttributeNotFoundError", {
7206
7167
  enumerable: true,
7207
- get: function () { return chunkPZJN5IJW_js.AttributeNotFoundError; }
7168
+ get: function () { return chunkRHNSWKMJ_js.AttributeNotFoundError; }
7208
7169
  });
7209
7170
  Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
7210
7171
  enumerable: true,
7211
- get: function () { return chunkPZJN5IJW_js.ChangeTypeNotSupportedError; }
7172
+ get: function () { return chunkRHNSWKMJ_js.ChangeTypeNotSupportedError; }
7212
7173
  });
7213
7174
  Object.defineProperty(exports, "ConcurrentModificationError", {
7214
7175
  enumerable: true,
7215
- get: function () { return chunkPZJN5IJW_js.ConcurrentModificationError; }
7176
+ get: function () { return chunkRHNSWKMJ_js.ConcurrentModificationError; }
7216
7177
  });
7217
7178
  Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
7218
7179
  enumerable: true,
7219
- get: function () { return chunkPZJN5IJW_js.DestructiveSyncNotAllowedError; }
7180
+ get: function () { return chunkRHNSWKMJ_js.DestructiveSyncNotAllowedError; }
7220
7181
  });
7221
7182
  Object.defineProperty(exports, "DuplicateError", {
7222
7183
  enumerable: true,
7223
- get: function () { return chunkPZJN5IJW_js.DuplicateError; }
7184
+ get: function () { return chunkRHNSWKMJ_js.DuplicateError; }
7224
7185
  });
7225
7186
  Object.defineProperty(exports, "ForbiddenError", {
7226
7187
  enumerable: true,
7227
- get: function () { return chunkPZJN5IJW_js.ForbiddenError; }
7188
+ get: function () { return chunkRHNSWKMJ_js.ForbiddenError; }
7228
7189
  });
7229
7190
  Object.defineProperty(exports, "MemoryNotFoundError", {
7230
7191
  enumerable: true,
7231
- get: function () { return chunkPZJN5IJW_js.MemoryNotFoundError; }
7192
+ get: function () { return chunkRHNSWKMJ_js.MemoryNotFoundError; }
7232
7193
  });
7233
7194
  Object.defineProperty(exports, "MigrationTimeoutError", {
7234
7195
  enumerable: true,
7235
- get: function () { return chunkPZJN5IJW_js.MigrationTimeoutError; }
7196
+ get: function () { return chunkRHNSWKMJ_js.MigrationTimeoutError; }
7236
7197
  });
7237
7198
  Object.defineProperty(exports, "NotFoundError", {
7238
7199
  enumerable: true,
7239
- get: function () { return chunkPZJN5IJW_js.NotFoundError; }
7200
+ get: function () { return chunkRHNSWKMJ_js.NotFoundError; }
7240
7201
  });
7241
7202
  Object.defineProperty(exports, "NotImplementedError", {
7242
7203
  enumerable: true,
7243
- get: function () { return chunkPZJN5IJW_js.NotImplementedError; }
7204
+ get: function () { return chunkRHNSWKMJ_js.NotImplementedError; }
7244
7205
  });
7245
7206
  Object.defineProperty(exports, "ObjectNotFoundError", {
7246
7207
  enumerable: true,
7247
- get: function () { return chunkPZJN5IJW_js.ObjectNotFoundError; }
7208
+ get: function () { return chunkRHNSWKMJ_js.ObjectNotFoundError; }
7248
7209
  });
7249
7210
  Object.defineProperty(exports, "ObjectReferencedError", {
7250
7211
  enumerable: true,
7251
- get: function () { return chunkPZJN5IJW_js.ObjectReferencedError; }
7212
+ get: function () { return chunkRHNSWKMJ_js.ObjectReferencedError; }
7252
7213
  });
7253
7214
  Object.defineProperty(exports, "OrphanSystemAttributeError", {
7254
7215
  enumerable: true,
7255
- get: function () { return chunkPZJN5IJW_js.OrphanSystemAttributeError; }
7216
+ get: function () { return chunkRHNSWKMJ_js.OrphanSystemAttributeError; }
7256
7217
  });
7257
7218
  Object.defineProperty(exports, "ProtectedResourceError", {
7258
7219
  enumerable: true,
7259
- get: function () { return chunkPZJN5IJW_js.ProtectedResourceError; }
7220
+ get: function () { return chunkRHNSWKMJ_js.ProtectedResourceError; }
7260
7221
  });
7261
7222
  Object.defineProperty(exports, "ProtectedRoleError", {
7262
7223
  enumerable: true,
7263
- get: function () { return chunkPZJN5IJW_js.ProtectedRoleError; }
7224
+ get: function () { return chunkRHNSWKMJ_js.ProtectedRoleError; }
7264
7225
  });
7265
7226
  Object.defineProperty(exports, "RecordNotFoundError", {
7266
7227
  enumerable: true,
7267
- get: function () { return chunkPZJN5IJW_js.RecordNotFoundError; }
7228
+ get: function () { return chunkRHNSWKMJ_js.RecordNotFoundError; }
7268
7229
  });
7269
7230
  Object.defineProperty(exports, "RecordReferencedError", {
7270
7231
  enumerable: true,
7271
- get: function () { return chunkPZJN5IJW_js.RecordReferencedError; }
7232
+ get: function () { return chunkRHNSWKMJ_js.RecordReferencedError; }
7272
7233
  });
7273
7234
  Object.defineProperty(exports, "RepositoryError", {
7274
7235
  enumerable: true,
7275
- get: function () { return chunkPZJN5IJW_js.RepositoryError; }
7236
+ get: function () { return chunkRHNSWKMJ_js.RepositoryError; }
7276
7237
  });
7277
7238
  Object.defineProperty(exports, "RoleNotFoundError", {
7278
7239
  enumerable: true,
7279
- get: function () { return chunkPZJN5IJW_js.RoleNotFoundError; }
7240
+ get: function () { return chunkRHNSWKMJ_js.RoleNotFoundError; }
7280
7241
  });
7281
7242
  Object.defineProperty(exports, "SchemaError", {
7282
7243
  enumerable: true,
7283
- get: function () { return chunkPZJN5IJW_js.SchemaError; }
7244
+ get: function () { return chunkRHNSWKMJ_js.SchemaError; }
7284
7245
  });
7285
7246
  Object.defineProperty(exports, "SchemaErrorCode", {
7286
7247
  enumerable: true,
7287
- get: function () { return chunkPZJN5IJW_js.SchemaErrorCode; }
7248
+ get: function () { return chunkRHNSWKMJ_js.SchemaErrorCode; }
7288
7249
  });
7289
7250
  Object.defineProperty(exports, "SearchBackendError", {
7290
7251
  enumerable: true,
7291
- get: function () { return chunkPZJN5IJW_js.SearchBackendError; }
7252
+ get: function () { return chunkRHNSWKMJ_js.SearchBackendError; }
7292
7253
  });
7293
7254
  Object.defineProperty(exports, "StorageError", {
7294
7255
  enumerable: true,
7295
- get: function () { return chunkPZJN5IJW_js.StorageError; }
7256
+ get: function () { return chunkRHNSWKMJ_js.StorageError; }
7296
7257
  });
7297
7258
  Object.defineProperty(exports, "SyncCascadeError", {
7298
7259
  enumerable: true,
7299
- get: function () { return chunkPZJN5IJW_js.SyncCascadeError; }
7260
+ get: function () { return chunkRHNSWKMJ_js.SyncCascadeError; }
7300
7261
  });
7301
7262
  Object.defineProperty(exports, "SyncConflictError", {
7302
7263
  enumerable: true,
7303
- get: function () { return chunkPZJN5IJW_js.SyncConflictError; }
7264
+ get: function () { return chunkRHNSWKMJ_js.SyncConflictError; }
7304
7265
  });
7305
7266
  Object.defineProperty(exports, "SyncError", {
7306
7267
  enumerable: true,
7307
- get: function () { return chunkPZJN5IJW_js.SyncError; }
7268
+ get: function () { return chunkRHNSWKMJ_js.SyncError; }
7308
7269
  });
7309
7270
  Object.defineProperty(exports, "SystemEntityImmutableError", {
7310
7271
  enumerable: true,
7311
- get: function () { return chunkPZJN5IJW_js.SystemEntityImmutableError; }
7272
+ get: function () { return chunkRHNSWKMJ_js.SystemEntityImmutableError; }
7312
7273
  });
7313
7274
  Object.defineProperty(exports, "ValidationError", {
7314
7275
  enumerable: true,
7315
- get: function () { return chunkPZJN5IJW_js.ValidationError; }
7316
- });
7317
- Object.defineProperty(exports, "computeRecordStatus", {
7318
- enumerable: true,
7319
- get: function () { return chunkPZJN5IJW_js.computeRecordStatus; }
7276
+ get: function () { return chunkRHNSWKMJ_js.ValidationError; }
7320
7277
  });
7321
7278
  Object.defineProperty(exports, "createFormAttributeValidator", {
7322
7279
  enumerable: true,
7323
- get: function () { return chunkPZJN5IJW_js.createFormAttributeValidator; }
7280
+ get: function () { return chunkRHNSWKMJ_js.createFormAttributeValidator; }
7324
7281
  });
7325
7282
  Object.defineProperty(exports, "isAttributeInUseError", {
7326
7283
  enumerable: true,
7327
- get: function () { return chunkPZJN5IJW_js.isAttributeInUseError; }
7284
+ get: function () { return chunkRHNSWKMJ_js.isAttributeInUseError; }
7328
7285
  });
7329
7286
  Object.defineProperty(exports, "isNotFoundError", {
7330
7287
  enumerable: true,
7331
- get: function () { return chunkPZJN5IJW_js.isNotFoundError; }
7288
+ get: function () { return chunkRHNSWKMJ_js.isNotFoundError; }
7332
7289
  });
7333
7290
  Object.defineProperty(exports, "isObjectReferencedError", {
7334
7291
  enumerable: true,
7335
- get: function () { return chunkPZJN5IJW_js.isObjectReferencedError; }
7292
+ get: function () { return chunkRHNSWKMJ_js.isObjectReferencedError; }
7336
7293
  });
7337
7294
  Object.defineProperty(exports, "isProtectedResourceError", {
7338
7295
  enumerable: true,
7339
- get: function () { return chunkPZJN5IJW_js.isProtectedResourceError; }
7296
+ get: function () { return chunkRHNSWKMJ_js.isProtectedResourceError; }
7340
7297
  });
7341
7298
  Object.defineProperty(exports, "isRecordReferencedError", {
7342
7299
  enumerable: true,
7343
- get: function () { return chunkPZJN5IJW_js.isRecordReferencedError; }
7300
+ get: function () { return chunkRHNSWKMJ_js.isRecordReferencedError; }
7344
7301
  });
7345
7302
  Object.defineProperty(exports, "isSchemaError", {
7346
7303
  enumerable: true,
7347
- get: function () { return chunkPZJN5IJW_js.isSchemaError; }
7304
+ get: function () { return chunkRHNSWKMJ_js.isSchemaError; }
7348
7305
  });
7349
7306
  Object.defineProperty(exports, "isValidationError", {
7350
7307
  enumerable: true,
7351
- get: function () { return chunkPZJN5IJW_js.isValidationError; }
7308
+ get: function () { return chunkRHNSWKMJ_js.isValidationError; }
7352
7309
  });
7353
7310
  Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
7354
7311
  enumerable: true,
7355
- get: function () { return chunkPZJN5IJW_js.rejectUnknownAttributesOrThrow; }
7312
+ get: function () { return chunkRHNSWKMJ_js.rejectUnknownAttributesOrThrow; }
7356
7313
  });
7357
7314
  Object.defineProperty(exports, "validateDraft", {
7358
7315
  enumerable: true,
7359
- get: function () { return chunkPZJN5IJW_js.validateDraft; }
7316
+ get: function () { return chunkRHNSWKMJ_js.validateDraft; }
7360
7317
  });
7361
7318
  Object.defineProperty(exports, "validateDraftOrThrow", {
7362
7319
  enumerable: true,
7363
- get: function () { return chunkPZJN5IJW_js.validateDraftOrThrow; }
7320
+ get: function () { return chunkRHNSWKMJ_js.validateDraftOrThrow; }
7364
7321
  });
7365
7322
  Object.defineProperty(exports, "validateObject", {
7366
7323
  enumerable: true,
7367
- get: function () { return chunkPZJN5IJW_js.validateObject; }
7324
+ get: function () { return chunkRHNSWKMJ_js.validateObject; }
7368
7325
  });
7369
7326
  Object.defineProperty(exports, "validateObjectOrThrow", {
7370
7327
  enumerable: true,
7371
- get: function () { return chunkPZJN5IJW_js.validateObjectOrThrow; }
7328
+ get: function () { return chunkRHNSWKMJ_js.validateObjectOrThrow; }
7372
7329
  });
7373
7330
  Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
7374
7331
  enumerable: true,
@@ -7542,6 +7499,7 @@ exports.isLiveEventType = isLiveEventType;
7542
7499
  exports.isLiveGapPayload = isLiveGapPayload;
7543
7500
  exports.isLiveReplayCompletePayload = isLiveReplayCompletePayload;
7544
7501
  exports.isLiveStreamCursor = isLiveStreamCursor;
7502
+ exports.isManagedSystemAttribute = isManagedSystemAttribute;
7545
7503
  exports.isNoValueOperator = isNoValueOperator;
7546
7504
  exports.isNotEmpty = isNotEmpty;
7547
7505
  exports.isPlainRecord = isPlainRecord;