@stndrds/schema 1.0.0-alpha.291 → 1.0.0-alpha.292

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.
@@ -533,10 +533,12 @@ var SYNONYM_ALIASES = {
533
533
  // set
534
534
  in: "any_of",
535
535
  isAnyOf: "any_of",
536
+ anyOf: "any_of",
536
537
  oneOf: "any_of",
537
538
  notIn: "none_of",
538
539
  not_in: "none_of",
539
540
  isNoneOf: "none_of",
541
+ noneOf: "none_of",
540
542
  notOneOf: "none_of",
541
543
  // text
542
544
  startsWith: "starts_with",
@@ -710,6 +712,13 @@ function assertDynamicValueForAttribute(rule, attrType) {
710
712
  throw new chunk3YCZ5H3H_js.ValidationError(m, [{ path: ["value"], message: m }]);
711
713
  }
712
714
  }
715
+ function locationQueryHint(type) {
716
+ return type === "location" ? ' Location attributes cannot be filtered on their text \u2014 use the full-text "query" parameter to match a city, address or postal code.' : "";
717
+ }
718
+ function withLocationQueryHint(message, type) {
719
+ const hint = locationQueryHint(type);
720
+ return hint ? `${message}.${hint}` : message;
721
+ }
713
722
  function collectQualifiedRuleIssues(rule, context) {
714
723
  try {
715
724
  validateQualifiedRule({ ...rule }, context);
@@ -723,9 +732,9 @@ function validateQualifiedRule(rule, context) {
723
732
  const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
724
733
  const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
725
734
  if (!(rootAttr || systemOps)) {
726
- throw new chunk3YCZ5H3H_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
727
- { path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
728
- ]);
735
+ const dottedHint = rule.attribute.includes(".") ? ' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.' : "";
736
+ const m = `Unknown attribute: ${rule.attribute}${dottedHint}`;
737
+ throw new chunk3YCZ5H3H_js.ValidationError(m, [{ path: ["attribute"], message: m }]);
729
738
  }
730
739
  if (rule.quantifier !== void 0 && !rule.property) {
731
740
  const m = `quantifier is only valid on qualified edge rules (set "property")`;
@@ -752,16 +761,28 @@ function validateQualifiedRule(rule, context) {
752
761
  const normalizedOperator2 = resolveCanonicalOperator(rule.operator, rootAttr.type);
753
762
  if (!ops.includes(normalizedOperator2)) {
754
763
  const validList = ops.length ? ops.join(", ") : "(not filterable)";
755
- const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
764
+ const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.${locationQueryHint(rootAttr.type)}`;
756
765
  throw new chunk3YCZ5H3H_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
757
766
  }
758
767
  applyCanonicalForm(rule, normalizedOperator2, resolveEffectiveFilterType(rootAttr));
759
768
  return;
760
769
  }
761
770
  if (!REFERENCE_TYPES.has(rootAttr.type)) {
762
- throw new chunk3YCZ5H3H_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
763
- { path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
764
- ]);
771
+ throw new chunk3YCZ5H3H_js.ValidationError(
772
+ withLocationQueryHint(
773
+ `Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`,
774
+ rootAttr.type
775
+ ),
776
+ [
777
+ {
778
+ path: ["property"],
779
+ message: withLocationQueryHint(
780
+ `Attribute "${rule.attribute}" is not a reference type`,
781
+ rootAttr.type
782
+ )
783
+ }
784
+ ]
785
+ );
765
786
  }
766
787
  const propSchema = rootAttr.properties;
767
788
  if (!propSchema) {
@@ -531,10 +531,12 @@ var SYNONYM_ALIASES = {
531
531
  // set
532
532
  in: "any_of",
533
533
  isAnyOf: "any_of",
534
+ anyOf: "any_of",
534
535
  oneOf: "any_of",
535
536
  notIn: "none_of",
536
537
  not_in: "none_of",
537
538
  isNoneOf: "none_of",
539
+ noneOf: "none_of",
538
540
  notOneOf: "none_of",
539
541
  // text
540
542
  startsWith: "starts_with",
@@ -708,6 +710,13 @@ function assertDynamicValueForAttribute(rule, attrType) {
708
710
  throw new ValidationError(m, [{ path: ["value"], message: m }]);
709
711
  }
710
712
  }
713
+ function locationQueryHint(type) {
714
+ return type === "location" ? ' Location attributes cannot be filtered on their text \u2014 use the full-text "query" parameter to match a city, address or postal code.' : "";
715
+ }
716
+ function withLocationQueryHint(message, type) {
717
+ const hint = locationQueryHint(type);
718
+ return hint ? `${message}.${hint}` : message;
719
+ }
711
720
  function collectQualifiedRuleIssues(rule, context) {
712
721
  try {
713
722
  validateQualifiedRule({ ...rule }, context);
@@ -721,9 +730,9 @@ function validateQualifiedRule(rule, context) {
721
730
  const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
722
731
  const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
723
732
  if (!(rootAttr || systemOps)) {
724
- throw new ValidationError(`Unknown attribute: ${rule.attribute}`, [
725
- { path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
726
- ]);
733
+ const dottedHint = rule.attribute.includes(".") ? ' Dotted paths are not supported \u2014 filter on the attribute name alone, or use the full-text "query" parameter to match text inside a value.' : "";
734
+ const m = `Unknown attribute: ${rule.attribute}${dottedHint}`;
735
+ throw new ValidationError(m, [{ path: ["attribute"], message: m }]);
727
736
  }
728
737
  if (rule.quantifier !== void 0 && !rule.property) {
729
738
  const m = `quantifier is only valid on qualified edge rules (set "property")`;
@@ -750,16 +759,28 @@ function validateQualifiedRule(rule, context) {
750
759
  const normalizedOperator2 = resolveCanonicalOperator(rule.operator, rootAttr.type);
751
760
  if (!ops.includes(normalizedOperator2)) {
752
761
  const validList = ops.length ? ops.join(", ") : "(not filterable)";
753
- const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
762
+ const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.${locationQueryHint(rootAttr.type)}`;
754
763
  throw new ValidationError(summary, [{ path: ["operator"], message: summary }]);
755
764
  }
756
765
  applyCanonicalForm(rule, normalizedOperator2, resolveEffectiveFilterType(rootAttr));
757
766
  return;
758
767
  }
759
768
  if (!REFERENCE_TYPES.has(rootAttr.type)) {
760
- throw new ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
761
- { path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
762
- ]);
769
+ throw new ValidationError(
770
+ withLocationQueryHint(
771
+ `Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`,
772
+ rootAttr.type
773
+ ),
774
+ [
775
+ {
776
+ path: ["property"],
777
+ message: withLocationQueryHint(
778
+ `Attribute "${rule.attribute}" is not a reference type`,
779
+ rootAttr.type
780
+ )
781
+ }
782
+ ]
783
+ );
763
784
  }
764
785
  const propSchema = rootAttr.properties;
765
786
  if (!propSchema) {
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkZHB4VBCX_js = require('./chunk-ZHB4VBCX.js');
4
- var chunkK7XGY34S_js = require('./chunk-K7XGY34S.js');
4
+ var chunkD4A6FL67_js = require('./chunk-D4A6FL67.js');
5
5
  var chunkRDYTVHNN_js = require('./chunk-RDYTVHNN.js');
6
6
  require('./chunk-EEH4XQ7W.js');
7
7
  require('./chunk-EW5XR2X3.js');
@@ -93,7 +93,7 @@ function inferInverseCardinality(cardinality) {
93
93
  return cardinality === "one" ? "many" : "many";
94
94
  }
95
95
  function isAttributeSortable2(attr) {
96
- return chunkK7XGY34S_js.isAttributeSortable(attr);
96
+ return chunkD4A6FL67_js.isAttributeSortable(attr);
97
97
  }
98
98
 
99
99
  // src/types/audit.ts
@@ -893,7 +893,7 @@ function getEditableLabelAttribute(labelExpression, attributes) {
893
893
  if (name === null) return null;
894
894
  const attribute = attributes.find((candidate) => candidate.name === name);
895
895
  if (!attribute || attribute.type !== "text") return null;
896
- if (chunkK7XGY34S_js.getAttributeCapabilities(attribute).authoring.readOnly) return null;
896
+ if (chunkD4A6FL67_js.getAttributeCapabilities(attribute).authoring.readOnly) return null;
897
897
  return attribute;
898
898
  }
899
899
 
@@ -1171,7 +1171,7 @@ function assertUniqueBy(items, getKey, buildError) {
1171
1171
  var ATTRIBUTE_NAME_SCHEMA = z2__default.default.string().min(1, "Attribute name cannot be empty").max(MAX_NAME_LENGTH, `Attribute name is too long (max ${MAX_NAME_LENGTH} characters)`).regex(ATTRIBUTE_NAME_REGEX, {
1172
1172
  message: "Invalid attribute name format.\nName must be a valid variable identifier:\n \u2705 Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'\n \u274C Invalid: 'first-name', 'first name', '123name', 'first.name'"
1173
1173
  }).refine(
1174
- (name) => !chunkK7XGY34S_js.RESERVED_ATTRIBUTE_NAMES.includes(name),
1174
+ (name) => !chunkD4A6FL67_js.RESERVED_ATTRIBUTE_NAMES.includes(name),
1175
1175
  { message: "This is a reserved attribute name" }
1176
1176
  );
1177
1177
  function validateAttributeName(name) {
@@ -1188,10 +1188,10 @@ function validateAttributeName(name) {
1188
1188
  "[AttributeBuilder] Invalid attribute name format.\nName must be a valid variable identifier:\n \u2705 Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'\n \u274C Invalid: 'first-name', 'first name', '123name', 'first.name'"
1189
1189
  );
1190
1190
  }
1191
- if (chunkK7XGY34S_js.RESERVED_ATTRIBUTE_NAMES.includes(name)) {
1191
+ if (chunkD4A6FL67_js.RESERVED_ATTRIBUTE_NAMES.includes(name)) {
1192
1192
  throw new Error(
1193
1193
  `[AttributeBuilder] "${name}" is a reserved name and cannot be used as an attribute name.
1194
- Reserved names: ${chunkK7XGY34S_js.RESERVED_ATTRIBUTE_NAMES.join(", ")}`
1194
+ Reserved names: ${chunkD4A6FL67_js.RESERVED_ATTRIBUTE_NAMES.join(", ")}`
1195
1195
  );
1196
1196
  }
1197
1197
  }
@@ -4991,7 +4991,7 @@ var viewRegistry = new ViewRegistry();
4991
4991
  // src/views/auto-generator.ts
4992
4992
  function getRuntimeAttributes(attributes, excludeNames = []) {
4993
4993
  return attributes.filter(
4994
- (attr) => !(!chunkK7XGY34S_js.getAttributeCapabilities(attr).lifecycle.visibleInRuntime || attr.system || excludeNames.includes(attr.name))
4994
+ (attr) => !(!chunkD4A6FL67_js.getAttributeCapabilities(attr).lifecycle.visibleInRuntime || attr.system || excludeNames.includes(attr.name))
4995
4995
  );
4996
4996
  }
4997
4997
  function sortAttributes(attributes) {
@@ -5024,7 +5024,7 @@ function generateDefaultDetailView(object2, options = {}) {
5024
5024
  const { includeActivityTab = true, includeDocumentsTab = true, excludeAttributes = [] } = options;
5025
5025
  const runtimeAttrs = getRuntimeAttributes(object2.attributes, excludeAttributes);
5026
5026
  const sortedAttrs = sortAttributes(
5027
- runtimeAttrs.filter((attr) => chunkK7XGY34S_js.getAttributeCapabilities(attr).presentation.formField)
5027
+ runtimeAttrs.filter((attr) => chunkD4A6FL67_js.getAttributeCapabilities(attr).presentation.formField)
5028
5028
  );
5029
5029
  const formTab = {
5030
5030
  id: "form",
@@ -5081,7 +5081,7 @@ function generateDefaultListView(object2, options = {}) {
5081
5081
  const { excludeAttributes = [], maxListColumns = 5 } = options;
5082
5082
  const runtimeAttrs = getRuntimeAttributes(object2.attributes, excludeAttributes);
5083
5083
  const sortedAttrs = sortAttributes(
5084
- runtimeAttrs.filter((attr) => chunkK7XGY34S_js.getAttributeCapabilities(attr).presentation.defaultColumn)
5084
+ runtimeAttrs.filter((attr) => chunkD4A6FL67_js.getAttributeCapabilities(attr).presentation.defaultColumn)
5085
5085
  );
5086
5086
  const columns = sortedAttrs.slice(0, maxListColumns).map((attr) => attr.name);
5087
5087
  const config = {
@@ -7035,7 +7035,7 @@ var OPERATOR_SPECS = {
7035
7035
  appliesTo: ["date"],
7036
7036
  evaluateInMemory: (v, rv) => {
7037
7037
  const d = toDate2(v);
7038
- const bounds = chunkK7XGY34S_js.resolveIsWithinBounds(rv);
7038
+ const bounds = chunkD4A6FL67_js.resolveIsWithinBounds(rv);
7039
7039
  if (!(d && bounds)) return false;
7040
7040
  return d.getTime() >= bounds.startMs && d.getTime() < bounds.endMs;
7041
7041
  }
@@ -7071,7 +7071,7 @@ var OPERATOR_SPECS = {
7071
7071
  // src/filters/evaluate.ts
7072
7072
  var systemAttribute = (name, type) => ({ id: `system:${name}`, name, label: name, type, system: true });
7073
7073
  var RECORD_SYSTEM_ATTRIBUTES = [
7074
- ...Object.entries(chunkK7XGY34S_js.SYSTEM_FILTER_ATTRIBUTE_TYPES).map(
7074
+ ...Object.entries(chunkD4A6FL67_js.SYSTEM_FILTER_ATTRIBUTE_TYPES).map(
7075
7075
  ([name, type]) => systemAttribute(name, type)
7076
7076
  )
7077
7077
  ];
@@ -7112,7 +7112,7 @@ function evaluateRule(rule, values, attrByName) {
7112
7112
  (definition) => definition.name === rule.property
7113
7113
  );
7114
7114
  if (!property) return false;
7115
- const positiveOperator = chunkK7XGY34S_js.normalizeForEdgeRpc(rule.operator);
7115
+ const positiveOperator = chunkD4A6FL67_js.normalizeForEdgeRpc(rule.operator);
7116
7116
  const propertySpec = OPERATOR_SPECS[positiveOperator];
7117
7117
  if (!propertySpec?.appliesTo.includes(property.type)) return false;
7118
7118
  const rootValue = values[rule.attribute];
@@ -7130,7 +7130,7 @@ function evaluateRule(rule, values, attrByName) {
7130
7130
  property
7131
7131
  );
7132
7132
  });
7133
- return (rule.quantifier ?? chunkK7XGY34S_js.getOperatorPolarity(rule.operator)) === "none" ? !matches : matches;
7133
+ return (rule.quantifier ?? chunkD4A6FL67_js.getOperatorPolarity(rule.operator)) === "none" ? !matches : matches;
7134
7134
  }
7135
7135
  const spec = OPERATOR_SPECS[rule.operator];
7136
7136
  if (!spec) return false;
@@ -7179,7 +7179,7 @@ function normalizePhoneComparands(stored, rule) {
7179
7179
  return [normalizeOne(stored), normalizeOne(rule)];
7180
7180
  }
7181
7181
  function normalizeComparableValue(type, value) {
7182
- if (type === "currency") return chunkK7XGY34S_js.extractCurrencyFilterValue(value);
7182
+ if (type === "currency") return chunkD4A6FL67_js.extractCurrencyFilterValue(value);
7183
7183
  if (type === "date") {
7184
7184
  if (isDateRangeValue(value)) return dateValueStart(value);
7185
7185
  if (value instanceof Date) return Number.isNaN(value.getTime()) ? null : value.toISOString();
@@ -7226,20 +7226,20 @@ function deriveCreateDefaultsFromFilters(state, attributes, ctx) {
7226
7226
  if (!attribute) continue;
7227
7227
  const value = extractDeterministicValue(rule, ctx);
7228
7228
  if (value === void 0) continue;
7229
- defaults[rule.attribute] = chunkK7XGY34S_js.getAttributeCapabilities(attribute).storage.cardinality === "many" ? [value] : value;
7229
+ defaults[rule.attribute] = chunkD4A6FL67_js.getAttributeCapabilities(attribute).storage.cardinality === "many" ? [value] : value;
7230
7230
  }
7231
7231
  return defaults;
7232
7232
  }
7233
7233
  function extractDeterministicValue(rule, ctx) {
7234
7234
  if (rule.operator === "is") {
7235
- if (chunkK7XGY34S_js.isDynamicValue(rule.value)) return resolveDynamicValue(rule.value, ctx);
7235
+ if (chunkD4A6FL67_js.isDynamicValue(rule.value)) return resolveDynamicValue(rule.value, ctx);
7236
7236
  if (rule.value === null || Array.isArray(rule.value)) return void 0;
7237
7237
  return rule.value;
7238
7238
  }
7239
7239
  if (rule.operator === "any_of") {
7240
7240
  if (!Array.isArray(rule.value) || rule.value.length !== 1) return void 0;
7241
7241
  const single = rule.value[0];
7242
- if (chunkK7XGY34S_js.isDynamicValue(single)) return resolveDynamicValue(single, ctx);
7242
+ if (chunkD4A6FL67_js.isDynamicValue(single)) return resolveDynamicValue(single, ctx);
7243
7243
  return single;
7244
7244
  }
7245
7245
  return void 0;
@@ -7328,10 +7328,10 @@ var attributeNameSchema = z2.z.string().min(1).superRefine((name, ctx) => {
7328
7328
  'The attribute\'s machine name \u2014 the record\'s field key, and what `{{ name }}` refers to in a labelExpression. Must be a valid identifier: starts with a letter or underscore, then only letters/digits/underscores ("montantHt", "first_name", "FIRST_NAME" are valid; "first-name", "first name", "123name" are not). Max 63 characters. Cannot be a name reserved by the record shape itself (id, createdAt, updatedAt, createdBy, lastUpdatedBy, objectId, label, embeddingText, values, metadata, deletedAt, deletedBy, schemaVersion).'
7329
7329
  );
7330
7330
  var objectNameSchema = z2.z.string().min(1).superRefine((name, ctx) => {
7331
- if (chunkK7XGY34S_js.RESERVED_OBJECT_NAMES.includes(name)) {
7331
+ if (chunkD4A6FL67_js.RESERVED_OBJECT_NAMES.includes(name)) {
7332
7332
  ctx.addIssue({
7333
7333
  code: z2.z.ZodIssueCode.custom,
7334
- message: `"${name}" is a reserved object name (${chunkK7XGY34S_js.RESERVED_OBJECT_NAMES.join(", ")}) and cannot be used for a new object.`
7334
+ message: `"${name}" is a reserved object name (${chunkD4A6FL67_js.RESERVED_OBJECT_NAMES.join(", ")}) and cannot be used for a new object.`
7335
7335
  });
7336
7336
  }
7337
7337
  try {
@@ -7466,13 +7466,13 @@ var proposedDefaultViewTargetSchema = z2.z.discriminatedUnion("viewType", [
7466
7466
  z2.z.object({
7467
7467
  objectName: viewTargetObjectNameSchema,
7468
7468
  viewType: z2.z.literal("list").describe("Targets the object's default list view (the grid)."),
7469
- canonicalConfig: chunkK7XGY34S_js.listViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
7469
+ canonicalConfig: chunkD4A6FL67_js.listViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
7470
7470
  baselineToken: z2.z.string().min(1).optional().describe(BASELINE_TOKEN_DESCRIPTION)
7471
7471
  }).strict(),
7472
7472
  z2.z.object({
7473
7473
  objectName: viewTargetObjectNameSchema,
7474
7474
  viewType: z2.z.literal("detail").describe("Targets the object's default detail view (the single-record view)."),
7475
- canonicalConfig: chunkK7XGY34S_js.detailViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
7475
+ canonicalConfig: chunkD4A6FL67_js.detailViewConfigSchema.describe(CANONICAL_CONFIG_DESCRIPTION),
7476
7476
  baselineToken: z2.z.string().min(1).optional().describe(BASELINE_TOKEN_DESCRIPTION)
7477
7477
  }).strict()
7478
7478
  ]);
@@ -7486,13 +7486,13 @@ var persistedDefaultViewTargetSchema = z2.z.discriminatedUnion("viewType", [
7486
7486
  z2.z.object({
7487
7487
  objectName: z2.z.string().min(1),
7488
7488
  viewType: z2.z.literal("list"),
7489
- canonicalConfig: chunkK7XGY34S_js.listViewConfigSchema,
7489
+ canonicalConfig: chunkD4A6FL67_js.listViewConfigSchema,
7490
7490
  ...persistedBaselineFields
7491
7491
  }).strict(),
7492
7492
  z2.z.object({
7493
7493
  objectName: z2.z.string().min(1),
7494
7494
  viewType: z2.z.literal("detail"),
7495
- canonicalConfig: chunkK7XGY34S_js.detailViewConfigSchema,
7495
+ canonicalConfig: chunkD4A6FL67_js.detailViewConfigSchema,
7496
7496
  ...persistedBaselineFields
7497
7497
  }).strict()
7498
7498
  ]).superRefine((target, ctx) => {
@@ -8032,9 +8032,9 @@ function firstChangedProperty(op) {
8032
8032
  const keys = Object.keys(op.changes).sort();
8033
8033
  return keys.length === 1 ? [keys[0]] : void 0;
8034
8034
  }
8035
- var tabPayload = chunkK7XGY34S_js.detailTabDraftSchema;
8036
- var groupPayload = chunkK7XGY34S_js.groupWriteSchema;
8037
- var fieldPayload = chunkK7XGY34S_js.fieldSlotSchema;
8035
+ var tabPayload = chunkD4A6FL67_js.detailTabDraftSchema;
8036
+ var groupPayload = chunkD4A6FL67_js.groupWriteSchema;
8037
+ var fieldPayload = chunkD4A6FL67_js.fieldSlotSchema;
8038
8038
  var addTabSchema = z2.z.object({
8039
8039
  ...viewOperationBase,
8040
8040
  type: z2.z.literal("add_tab"),
@@ -8391,14 +8391,14 @@ var updateTableTabChanges = z2.z.object({
8391
8391
  * splitting the pair across two operations would wipe the column list while
8392
8392
  * the source change vanished (#2763, #2787).
8393
8393
  */
8394
- source: chunkK7XGY34S_js.tableSourceSchema.optional(),
8395
- columns: chunkK7XGY34S_js.columnsSchema.optional(),
8394
+ source: chunkD4A6FL67_js.tableSourceSchema.optional(),
8395
+ columns: chunkD4A6FL67_js.columnsSchema.optional(),
8396
8396
  // Nullable, not merely optional: the panels clear a filter list or a sort
8397
8397
  // list by sending `null`, because `undefined` does not survive
8398
8398
  // `JSON.stringify` and the operation would arrive with no changes at all
8399
8399
  // (#2787). `apply` drops the key rather than storing the null.
8400
- filters: chunkK7XGY34S_js.filterStateSchema.nullable().optional(),
8401
- sorts: chunkK7XGY34S_js.sortsSchema.nullable().optional(),
8400
+ filters: chunkD4A6FL67_js.filterStateSchema.nullable().optional(),
8401
+ sorts: chunkD4A6FL67_js.sortsSchema.nullable().optional(),
8402
8402
  allowCreate: z2.z.boolean().optional(),
8403
8403
  allowEdit: z2.z.boolean().optional(),
8404
8404
  allowDelete: z2.z.boolean().optional(),
@@ -8562,18 +8562,18 @@ function firstChangedProperty2(op) {
8562
8562
  }
8563
8563
  function withoutKanbanKeys(tab) {
8564
8564
  const rest = { ...tab };
8565
- for (const key of chunkK7XGY34S_js.LIST_TAB_KANBAN_KEYS) delete rest[key];
8565
+ for (const key of chunkD4A6FL67_js.LIST_TAB_KANBAN_KEYS) delete rest[key];
8566
8566
  return rest;
8567
8567
  }
8568
8568
  function withoutTableKeys(tab) {
8569
8569
  const rest = { ...tab };
8570
- for (const key of chunkK7XGY34S_js.LIST_TAB_TABLE_KEYS) delete rest[key];
8570
+ for (const key of chunkD4A6FL67_js.LIST_TAB_TABLE_KEYS) delete rest[key];
8571
8571
  return rest;
8572
8572
  }
8573
8573
  function assertStillPublishableTab(before, after, viewId, tabId) {
8574
- const parsed = chunkK7XGY34S_js.listViewTabSchema.safeParse(after);
8574
+ const parsed = chunkD4A6FL67_js.listViewTabSchema.safeParse(after);
8575
8575
  if (!parsed.success) {
8576
- if (!chunkK7XGY34S_js.listViewTabSchema.safeParse(before).success) return after;
8576
+ if (!chunkD4A6FL67_js.listViewTabSchema.safeParse(before).success) return after;
8577
8577
  const detail = parsed.error.issues.map(
8578
8578
  (issue) => issue.path.length ? `${issue.path.join(".")}: ${issue.message}` : issue.message
8579
8579
  ).join(", ");
@@ -8601,9 +8601,9 @@ function mapListTab(state, viewId, tabId, fn) {
8601
8601
  };
8602
8602
  });
8603
8603
  }
8604
- var listTabPayload = chunkK7XGY34S_js.listViewTabSchema;
8605
- var filterGroupPayload = chunkK7XGY34S_js.filterGroupSchema;
8606
- var sortRulesPayload = chunkK7XGY34S_js.sortsSchema;
8604
+ var listTabPayload = chunkD4A6FL67_js.listViewTabSchema;
8605
+ var filterGroupPayload = chunkD4A6FL67_js.filterGroupSchema;
8606
+ var sortRulesPayload = chunkD4A6FL67_js.sortsSchema;
8607
8607
  function setOnTab(type, key, valueSchema, describe) {
8608
8608
  const schema = z2.z.object({ ...listTabBase, type: z2.z.literal(type), value: valueSchema });
8609
8609
  return defineOperation({
@@ -8671,7 +8671,7 @@ var updateListTabSchema = z2.z.object({
8671
8671
  label: z2.z.string().min(1).optional(),
8672
8672
  icon: chunk5JMQNH2A_js.iconNameSchema.optional(),
8673
8673
  default: z2.z.boolean().optional(),
8674
- visibility: z2.z.enum(chunkK7XGY34S_js.LIST_VIEW_TAB_VISIBILITIES).optional()
8674
+ visibility: z2.z.enum(chunkD4A6FL67_js.LIST_VIEW_TAB_VISIBILITIES).optional()
8675
8675
  }).refine((c) => Object.keys(c).length > 0, "update_list_tab needs at least one change")
8676
8676
  });
8677
8677
  var updateListTabFocus = (op) => ({
@@ -9409,267 +9409,267 @@ Object.defineProperty(exports, "indexBy", {
9409
9409
  });
9410
9410
  Object.defineProperty(exports, "ATTRIBUTE_FILTER_OPERATORS", {
9411
9411
  enumerable: true,
9412
- get: function () { return chunkK7XGY34S_js.ATTRIBUTE_FILTER_OPERATORS; }
9412
+ get: function () { return chunkD4A6FL67_js.ATTRIBUTE_FILTER_OPERATORS; }
9413
9413
  });
9414
9414
  Object.defineProperty(exports, "LIST_TAB_KANBAN_KEYS", {
9415
9415
  enumerable: true,
9416
- get: function () { return chunkK7XGY34S_js.LIST_TAB_KANBAN_KEYS; }
9416
+ get: function () { return chunkD4A6FL67_js.LIST_TAB_KANBAN_KEYS; }
9417
9417
  });
9418
9418
  Object.defineProperty(exports, "LIST_TAB_TABLE_KEYS", {
9419
9419
  enumerable: true,
9420
- get: function () { return chunkK7XGY34S_js.LIST_TAB_TABLE_KEYS; }
9420
+ get: function () { return chunkD4A6FL67_js.LIST_TAB_TABLE_KEYS; }
9421
9421
  });
9422
9422
  Object.defineProperty(exports, "LIST_VIEW_TAB_VISIBILITIES", {
9423
9423
  enumerable: true,
9424
- get: function () { return chunkK7XGY34S_js.LIST_VIEW_TAB_VISIBILITIES; }
9424
+ get: function () { return chunkD4A6FL67_js.LIST_VIEW_TAB_VISIBILITIES; }
9425
9425
  });
9426
9426
  Object.defineProperty(exports, "NO_VALUE_OPERATORS", {
9427
9427
  enumerable: true,
9428
- get: function () { return chunkK7XGY34S_js.NO_VALUE_OPERATORS; }
9428
+ get: function () { return chunkD4A6FL67_js.NO_VALUE_OPERATORS; }
9429
9429
  });
9430
9430
  Object.defineProperty(exports, "OPERATORS_BY_TYPE", {
9431
9431
  enumerable: true,
9432
- get: function () { return chunkK7XGY34S_js.OPERATORS_BY_TYPE; }
9432
+ get: function () { return chunkD4A6FL67_js.OPERATORS_BY_TYPE; }
9433
9433
  });
9434
9434
  Object.defineProperty(exports, "REMOVED_OPERATOR_REPLACEMENTS", {
9435
9435
  enumerable: true,
9436
- get: function () { return chunkK7XGY34S_js.REMOVED_OPERATOR_REPLACEMENTS; }
9436
+ get: function () { return chunkD4A6FL67_js.REMOVED_OPERATOR_REPLACEMENTS; }
9437
9437
  });
9438
9438
  Object.defineProperty(exports, "RESERVED_ATTRIBUTE_NAMES", {
9439
9439
  enumerable: true,
9440
- get: function () { return chunkK7XGY34S_js.RESERVED_ATTRIBUTE_NAMES; }
9440
+ get: function () { return chunkD4A6FL67_js.RESERVED_ATTRIBUTE_NAMES; }
9441
9441
  });
9442
9442
  Object.defineProperty(exports, "RESERVED_OBJECT_NAMES", {
9443
9443
  enumerable: true,
9444
- get: function () { return chunkK7XGY34S_js.RESERVED_OBJECT_NAMES; }
9444
+ get: function () { return chunkD4A6FL67_js.RESERVED_OBJECT_NAMES; }
9445
9445
  });
9446
9446
  Object.defineProperty(exports, "RESOURCE_VISIBILITIES", {
9447
9447
  enumerable: true,
9448
- get: function () { return chunkK7XGY34S_js.RESOURCE_VISIBILITIES; }
9448
+ get: function () { return chunkD4A6FL67_js.RESOURCE_VISIBILITIES; }
9449
9449
  });
9450
9450
  Object.defineProperty(exports, "SYNONYM_ALIASES", {
9451
9451
  enumerable: true,
9452
- get: function () { return chunkK7XGY34S_js.SYNONYM_ALIASES; }
9452
+ get: function () { return chunkD4A6FL67_js.SYNONYM_ALIASES; }
9453
9453
  });
9454
9454
  Object.defineProperty(exports, "SYSTEM_ATTRIBUTES", {
9455
9455
  enumerable: true,
9456
- get: function () { return chunkK7XGY34S_js.SYSTEM_ATTRIBUTES; }
9456
+ get: function () { return chunkD4A6FL67_js.SYSTEM_ATTRIBUTES; }
9457
9457
  });
9458
9458
  Object.defineProperty(exports, "SYSTEM_ATTRIBUTE_I18N_KEYS", {
9459
9459
  enumerable: true,
9460
- get: function () { return chunkK7XGY34S_js.SYSTEM_ATTRIBUTE_I18N_KEYS; }
9460
+ get: function () { return chunkD4A6FL67_js.SYSTEM_ATTRIBUTE_I18N_KEYS; }
9461
9461
  });
9462
9462
  Object.defineProperty(exports, "SYSTEM_FIELD_NAMES", {
9463
9463
  enumerable: true,
9464
- get: function () { return chunkK7XGY34S_js.SYSTEM_FIELD_NAMES; }
9464
+ get: function () { return chunkD4A6FL67_js.SYSTEM_FIELD_NAMES; }
9465
9465
  });
9466
9466
  Object.defineProperty(exports, "SYSTEM_FILTER_ATTRIBUTE_TYPES", {
9467
9467
  enumerable: true,
9468
- get: function () { return chunkK7XGY34S_js.SYSTEM_FILTER_ATTRIBUTE_TYPES; }
9468
+ get: function () { return chunkD4A6FL67_js.SYSTEM_FILTER_ATTRIBUTE_TYPES; }
9469
9469
  });
9470
9470
  Object.defineProperty(exports, "canonicalizeFilterValue", {
9471
9471
  enumerable: true,
9472
- get: function () { return chunkK7XGY34S_js.canonicalizeFilterValue; }
9472
+ get: function () { return chunkD4A6FL67_js.canonicalizeFilterValue; }
9473
9473
  });
9474
9474
  Object.defineProperty(exports, "collectQualifiedRuleIssues", {
9475
9475
  enumerable: true,
9476
- get: function () { return chunkK7XGY34S_js.collectQualifiedRuleIssues; }
9476
+ get: function () { return chunkD4A6FL67_js.collectQualifiedRuleIssues; }
9477
9477
  });
9478
9478
  Object.defineProperty(exports, "columnsSchema", {
9479
9479
  enumerable: true,
9480
- get: function () { return chunkK7XGY34S_js.columnsSchema; }
9480
+ get: function () { return chunkD4A6FL67_js.columnsSchema; }
9481
9481
  });
9482
9482
  Object.defineProperty(exports, "currentActor", {
9483
9483
  enumerable: true,
9484
- get: function () { return chunkK7XGY34S_js.currentActor; }
9484
+ get: function () { return chunkD4A6FL67_js.currentActor; }
9485
9485
  });
9486
9486
  Object.defineProperty(exports, "detailTabDraftSchema", {
9487
9487
  enumerable: true,
9488
- get: function () { return chunkK7XGY34S_js.detailTabDraftSchema; }
9488
+ get: function () { return chunkD4A6FL67_js.detailTabDraftSchema; }
9489
9489
  });
9490
9490
  Object.defineProperty(exports, "detailTabSchema", {
9491
9491
  enumerable: true,
9492
- get: function () { return chunkK7XGY34S_js.detailTabSchema; }
9492
+ get: function () { return chunkD4A6FL67_js.detailTabSchema; }
9493
9493
  });
9494
9494
  Object.defineProperty(exports, "detailViewConfigSchema", {
9495
9495
  enumerable: true,
9496
- get: function () { return chunkK7XGY34S_js.detailViewConfigSchema; }
9496
+ get: function () { return chunkD4A6FL67_js.detailViewConfigSchema; }
9497
9497
  });
9498
9498
  Object.defineProperty(exports, "extractCurrencyFilterValue", {
9499
9499
  enumerable: true,
9500
- get: function () { return chunkK7XGY34S_js.extractCurrencyFilterValue; }
9500
+ get: function () { return chunkD4A6FL67_js.extractCurrencyFilterValue; }
9501
9501
  });
9502
9502
  Object.defineProperty(exports, "extractFilterValue", {
9503
9503
  enumerable: true,
9504
- get: function () { return chunkK7XGY34S_js.extractFilterValue; }
9504
+ get: function () { return chunkD4A6FL67_js.extractFilterValue; }
9505
9505
  });
9506
9506
  Object.defineProperty(exports, "fieldSchema", {
9507
9507
  enumerable: true,
9508
- get: function () { return chunkK7XGY34S_js.fieldSchema; }
9508
+ get: function () { return chunkD4A6FL67_js.fieldSchema; }
9509
9509
  });
9510
9510
  Object.defineProperty(exports, "fieldShape", {
9511
9511
  enumerable: true,
9512
- get: function () { return chunkK7XGY34S_js.fieldShape; }
9512
+ get: function () { return chunkD4A6FL67_js.fieldShape; }
9513
9513
  });
9514
9514
  Object.defineProperty(exports, "fieldSlotSchema", {
9515
9515
  enumerable: true,
9516
- get: function () { return chunkK7XGY34S_js.fieldSlotSchema; }
9516
+ get: function () { return chunkD4A6FL67_js.fieldSlotSchema; }
9517
9517
  });
9518
9518
  Object.defineProperty(exports, "filterGroupSchema", {
9519
9519
  enumerable: true,
9520
- get: function () { return chunkK7XGY34S_js.filterGroupSchema; }
9520
+ get: function () { return chunkD4A6FL67_js.filterGroupSchema; }
9521
9521
  });
9522
9522
  Object.defineProperty(exports, "filterStateSchema", {
9523
9523
  enumerable: true,
9524
- get: function () { return chunkK7XGY34S_js.filterStateSchema; }
9524
+ get: function () { return chunkD4A6FL67_js.filterStateSchema; }
9525
9525
  });
9526
9526
  Object.defineProperty(exports, "getAttributeCapabilities", {
9527
9527
  enumerable: true,
9528
- get: function () { return chunkK7XGY34S_js.getAttributeCapabilities; }
9528
+ get: function () { return chunkD4A6FL67_js.getAttributeCapabilities; }
9529
9529
  });
9530
9530
  Object.defineProperty(exports, "getAttributeFilterOperators", {
9531
9531
  enumerable: true,
9532
- get: function () { return chunkK7XGY34S_js.getAttributeFilterOperators; }
9532
+ get: function () { return chunkD4A6FL67_js.getAttributeFilterOperators; }
9533
9533
  });
9534
9534
  Object.defineProperty(exports, "getOperatorPolarity", {
9535
9535
  enumerable: true,
9536
- get: function () { return chunkK7XGY34S_js.getOperatorPolarity; }
9536
+ get: function () { return chunkD4A6FL67_js.getOperatorPolarity; }
9537
9537
  });
9538
9538
  Object.defineProperty(exports, "getRollupFilterOperators", {
9539
9539
  enumerable: true,
9540
- get: function () { return chunkK7XGY34S_js.getRollupFilterOperators; }
9540
+ get: function () { return chunkD4A6FL67_js.getRollupFilterOperators; }
9541
9541
  });
9542
9542
  Object.defineProperty(exports, "getSystemAttributeI18nKey", {
9543
9543
  enumerable: true,
9544
- get: function () { return chunkK7XGY34S_js.getSystemAttributeI18nKey; }
9544
+ get: function () { return chunkD4A6FL67_js.getSystemAttributeI18nKey; }
9545
9545
  });
9546
9546
  Object.defineProperty(exports, "getSystemAttributeList", {
9547
9547
  enumerable: true,
9548
- get: function () { return chunkK7XGY34S_js.getSystemAttributeList; }
9548
+ get: function () { return chunkD4A6FL67_js.getSystemAttributeList; }
9549
9549
  });
9550
9550
  Object.defineProperty(exports, "groupWriteSchema", {
9551
9551
  enumerable: true,
9552
- get: function () { return chunkK7XGY34S_js.groupWriteSchema; }
9552
+ get: function () { return chunkD4A6FL67_js.groupWriteSchema; }
9553
9553
  });
9554
9554
  Object.defineProperty(exports, "inverseSourceSchema", {
9555
9555
  enumerable: true,
9556
- get: function () { return chunkK7XGY34S_js.inverseSourceSchema; }
9556
+ get: function () { return chunkD4A6FL67_js.inverseSourceSchema; }
9557
9557
  });
9558
9558
  Object.defineProperty(exports, "isAttributeFilterable", {
9559
9559
  enumerable: true,
9560
- get: function () { return chunkK7XGY34S_js.isAttributeFilterable; }
9560
+ get: function () { return chunkD4A6FL67_js.isAttributeFilterable; }
9561
9561
  });
9562
9562
  Object.defineProperty(exports, "isAttributeGroupable", {
9563
9563
  enumerable: true,
9564
- get: function () { return chunkK7XGY34S_js.isAttributeGroupable; }
9564
+ get: function () { return chunkD4A6FL67_js.isAttributeGroupable; }
9565
9565
  });
9566
9566
  Object.defineProperty(exports, "isAttributeKanbanGroupable", {
9567
9567
  enumerable: true,
9568
- get: function () { return chunkK7XGY34S_js.isAttributeKanbanGroupable; }
9568
+ get: function () { return chunkD4A6FL67_js.isAttributeKanbanGroupable; }
9569
9569
  });
9570
9570
  Object.defineProperty(exports, "isAttributeSearchable", {
9571
9571
  enumerable: true,
9572
- get: function () { return chunkK7XGY34S_js.isAttributeSearchable; }
9572
+ get: function () { return chunkD4A6FL67_js.isAttributeSearchable; }
9573
9573
  });
9574
9574
  Object.defineProperty(exports, "isDynamicValue", {
9575
9575
  enumerable: true,
9576
- get: function () { return chunkK7XGY34S_js.isDynamicValue; }
9576
+ get: function () { return chunkD4A6FL67_js.isDynamicValue; }
9577
9577
  });
9578
9578
  Object.defineProperty(exports, "isManagedSystemAttribute", {
9579
9579
  enumerable: true,
9580
- get: function () { return chunkK7XGY34S_js.isManagedSystemAttribute; }
9580
+ get: function () { return chunkD4A6FL67_js.isManagedSystemAttribute; }
9581
9581
  });
9582
9582
  Object.defineProperty(exports, "isNoValueOperator", {
9583
9583
  enumerable: true,
9584
- get: function () { return chunkK7XGY34S_js.isNoValueOperator; }
9584
+ get: function () { return chunkD4A6FL67_js.isNoValueOperator; }
9585
9585
  });
9586
9586
  Object.defineProperty(exports, "isRelativeDateValue", {
9587
9587
  enumerable: true,
9588
- get: function () { return chunkK7XGY34S_js.isRelativeDateValue; }
9588
+ get: function () { return chunkD4A6FL67_js.isRelativeDateValue; }
9589
9589
  });
9590
9590
  Object.defineProperty(exports, "isSetMembershipOperator", {
9591
9591
  enumerable: true,
9592
- get: function () { return chunkK7XGY34S_js.isSetMembershipOperator; }
9592
+ get: function () { return chunkD4A6FL67_js.isSetMembershipOperator; }
9593
9593
  });
9594
9594
  Object.defineProperty(exports, "listViewConfigSchema", {
9595
9595
  enumerable: true,
9596
- get: function () { return chunkK7XGY34S_js.listViewConfigSchema; }
9596
+ get: function () { return chunkD4A6FL67_js.listViewConfigSchema; }
9597
9597
  });
9598
9598
  Object.defineProperty(exports, "listViewTabSchema", {
9599
9599
  enumerable: true,
9600
- get: function () { return chunkK7XGY34S_js.listViewTabSchema; }
9600
+ get: function () { return chunkD4A6FL67_js.listViewTabSchema; }
9601
9601
  });
9602
9602
  Object.defineProperty(exports, "normalizeFilterRule", {
9603
9603
  enumerable: true,
9604
- get: function () { return chunkK7XGY34S_js.normalizeFilterRule; }
9604
+ get: function () { return chunkD4A6FL67_js.normalizeFilterRule; }
9605
9605
  });
9606
9606
  Object.defineProperty(exports, "normalizeForEdgeRpc", {
9607
9607
  enumerable: true,
9608
- get: function () { return chunkK7XGY34S_js.normalizeForEdgeRpc; }
9608
+ get: function () { return chunkD4A6FL67_js.normalizeForEdgeRpc; }
9609
9609
  });
9610
9610
  Object.defineProperty(exports, "normalizeOperator", {
9611
9611
  enumerable: true,
9612
- get: function () { return chunkK7XGY34S_js.normalizeOperator; }
9612
+ get: function () { return chunkD4A6FL67_js.normalizeOperator; }
9613
9613
  });
9614
9614
  Object.defineProperty(exports, "now", {
9615
9615
  enumerable: true,
9616
- get: function () { return chunkK7XGY34S_js.now; }
9616
+ get: function () { return chunkD4A6FL67_js.now; }
9617
9617
  });
9618
9618
  Object.defineProperty(exports, "parseResourceVisibility", {
9619
9619
  enumerable: true,
9620
- get: function () { return chunkK7XGY34S_js.parseResourceVisibility; }
9620
+ get: function () { return chunkD4A6FL67_js.parseResourceVisibility; }
9621
9621
  });
9622
9622
  Object.defineProperty(exports, "parseViewConfig", {
9623
9623
  enumerable: true,
9624
- get: function () { return chunkK7XGY34S_js.parseViewConfig; }
9624
+ get: function () { return chunkD4A6FL67_js.parseViewConfig; }
9625
9625
  });
9626
9626
  Object.defineProperty(exports, "relationSourceSchema", {
9627
9627
  enumerable: true,
9628
- get: function () { return chunkK7XGY34S_js.relationSourceSchema; }
9628
+ get: function () { return chunkD4A6FL67_js.relationSourceSchema; }
9629
9629
  });
9630
9630
  Object.defineProperty(exports, "resolveEffectiveFilterType", {
9631
9631
  enumerable: true,
9632
- get: function () { return chunkK7XGY34S_js.resolveEffectiveFilterType; }
9632
+ get: function () { return chunkD4A6FL67_js.resolveEffectiveFilterType; }
9633
9633
  });
9634
9634
  Object.defineProperty(exports, "resolveIsWithinBounds", {
9635
9635
  enumerable: true,
9636
- get: function () { return chunkK7XGY34S_js.resolveIsWithinBounds; }
9636
+ get: function () { return chunkD4A6FL67_js.resolveIsWithinBounds; }
9637
9637
  });
9638
9638
  Object.defineProperty(exports, "resolveUtcDayBounds", {
9639
9639
  enumerable: true,
9640
- get: function () { return chunkK7XGY34S_js.resolveUtcDayBounds; }
9640
+ get: function () { return chunkD4A6FL67_js.resolveUtcDayBounds; }
9641
9641
  });
9642
9642
  Object.defineProperty(exports, "sortsSchema", {
9643
9643
  enumerable: true,
9644
- get: function () { return chunkK7XGY34S_js.sortsSchema; }
9644
+ get: function () { return chunkD4A6FL67_js.sortsSchema; }
9645
9645
  });
9646
9646
  Object.defineProperty(exports, "tableSourceSchema", {
9647
9647
  enumerable: true,
9648
- get: function () { return chunkK7XGY34S_js.tableSourceSchema; }
9648
+ get: function () { return chunkD4A6FL67_js.tableSourceSchema; }
9649
9649
  });
9650
9650
  Object.defineProperty(exports, "toMultiValueOperator", {
9651
9651
  enumerable: true,
9652
- get: function () { return chunkK7XGY34S_js.toMultiValueOperator; }
9652
+ get: function () { return chunkD4A6FL67_js.toMultiValueOperator; }
9653
9653
  });
9654
9654
  Object.defineProperty(exports, "toUtcDayString", {
9655
9655
  enumerable: true,
9656
- get: function () { return chunkK7XGY34S_js.toUtcDayString; }
9656
+ get: function () { return chunkD4A6FL67_js.toUtcDayString; }
9657
9657
  });
9658
9658
  Object.defineProperty(exports, "today", {
9659
9659
  enumerable: true,
9660
- get: function () { return chunkK7XGY34S_js.today; }
9660
+ get: function () { return chunkD4A6FL67_js.today; }
9661
9661
  });
9662
9662
  Object.defineProperty(exports, "validateQualifiedRule", {
9663
9663
  enumerable: true,
9664
- get: function () { return chunkK7XGY34S_js.validateQualifiedRule; }
9664
+ get: function () { return chunkD4A6FL67_js.validateQualifiedRule; }
9665
9665
  });
9666
9666
  Object.defineProperty(exports, "viewConfigByTypeSchema", {
9667
9667
  enumerable: true,
9668
- get: function () { return chunkK7XGY34S_js.viewConfigByTypeSchema; }
9668
+ get: function () { return chunkD4A6FL67_js.viewConfigByTypeSchema; }
9669
9669
  });
9670
9670
  Object.defineProperty(exports, "viewTypeSchema", {
9671
9671
  enumerable: true,
9672
- get: function () { return chunkK7XGY34S_js.viewTypeSchema; }
9672
+ get: function () { return chunkD4A6FL67_js.viewTypeSchema; }
9673
9673
  });
9674
9674
  Object.defineProperty(exports, "createFormAttributeValidator", {
9675
9675
  enumerable: true,
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { canonicalStringify, generateId } from './chunk-JSQCTLV5.mjs';
2
2
  export { asTenantId, asUserId, canonicalStringify, deepEqual, generateId, indexBy } from './chunk-JSQCTLV5.mjs';
3
- import { RESERVED_ATTRIBUTE_NAMES, SYSTEM_FILTER_ATTRIBUTE_TYPES, RESERVED_OBJECT_NAMES, listViewConfigSchema, detailViewConfigSchema, detailTabDraftSchema, groupWriteSchema, fieldSlotSchema, sortsSchema, filterStateSchema, columnsSchema, tableSourceSchema, listViewTabSchema, LIST_VIEW_TAB_VISIBILITIES, filterGroupSchema, isAttributeSortable, getAttributeCapabilities, resolveIsWithinBounds, normalizeForEdgeRpc, getOperatorPolarity, extractCurrencyFilterValue, isDynamicValue, LIST_TAB_KANBAN_KEYS, LIST_TAB_TABLE_KEYS } from './chunk-RMJ75YLQ.mjs';
4
- export { ATTRIBUTE_FILTER_OPERATORS, LIST_TAB_KANBAN_KEYS, LIST_TAB_TABLE_KEYS, LIST_VIEW_TAB_VISIBILITIES, NO_VALUE_OPERATORS, OPERATORS_BY_TYPE, REMOVED_OPERATOR_REPLACEMENTS, RESERVED_ATTRIBUTE_NAMES, RESERVED_OBJECT_NAMES, RESOURCE_VISIBILITIES, SYNONYM_ALIASES, SYSTEM_ATTRIBUTES, SYSTEM_ATTRIBUTE_I18N_KEYS, SYSTEM_FIELD_NAMES, SYSTEM_FILTER_ATTRIBUTE_TYPES, canonicalizeFilterValue, collectQualifiedRuleIssues, columnsSchema, currentActor, detailTabDraftSchema, detailTabSchema, detailViewConfigSchema, extractCurrencyFilterValue, extractFilterValue, fieldSchema, fieldShape, fieldSlotSchema, filterGroupSchema, filterStateSchema, getAttributeCapabilities, getAttributeFilterOperators, getOperatorPolarity, getRollupFilterOperators, getSystemAttributeI18nKey, getSystemAttributeList, groupWriteSchema, inverseSourceSchema, isAttributeFilterable, isAttributeGroupable, isAttributeKanbanGroupable, isAttributeSearchable, isDynamicValue, isManagedSystemAttribute, isNoValueOperator, isRelativeDateValue, isSetMembershipOperator, listViewConfigSchema, listViewTabSchema, normalizeFilterRule, normalizeForEdgeRpc, normalizeOperator, now, parseResourceVisibility, parseViewConfig, relationSourceSchema, resolveEffectiveFilterType, resolveIsWithinBounds, resolveUtcDayBounds, sortsSchema, tableSourceSchema, toMultiValueOperator, toUtcDayString, today, validateQualifiedRule, viewConfigByTypeSchema, viewTypeSchema } from './chunk-RMJ75YLQ.mjs';
3
+ import { RESERVED_ATTRIBUTE_NAMES, SYSTEM_FILTER_ATTRIBUTE_TYPES, RESERVED_OBJECT_NAMES, listViewConfigSchema, detailViewConfigSchema, detailTabDraftSchema, groupWriteSchema, fieldSlotSchema, sortsSchema, filterStateSchema, columnsSchema, tableSourceSchema, listViewTabSchema, LIST_VIEW_TAB_VISIBILITIES, filterGroupSchema, isAttributeSortable, getAttributeCapabilities, resolveIsWithinBounds, normalizeForEdgeRpc, getOperatorPolarity, extractCurrencyFilterValue, isDynamicValue, LIST_TAB_KANBAN_KEYS, LIST_TAB_TABLE_KEYS } from './chunk-QYJ532XI.mjs';
4
+ export { ATTRIBUTE_FILTER_OPERATORS, LIST_TAB_KANBAN_KEYS, LIST_TAB_TABLE_KEYS, LIST_VIEW_TAB_VISIBILITIES, NO_VALUE_OPERATORS, OPERATORS_BY_TYPE, REMOVED_OPERATOR_REPLACEMENTS, RESERVED_ATTRIBUTE_NAMES, RESERVED_OBJECT_NAMES, RESOURCE_VISIBILITIES, SYNONYM_ALIASES, SYSTEM_ATTRIBUTES, SYSTEM_ATTRIBUTE_I18N_KEYS, SYSTEM_FIELD_NAMES, SYSTEM_FILTER_ATTRIBUTE_TYPES, canonicalizeFilterValue, collectQualifiedRuleIssues, columnsSchema, currentActor, detailTabDraftSchema, detailTabSchema, detailViewConfigSchema, extractCurrencyFilterValue, extractFilterValue, fieldSchema, fieldShape, fieldSlotSchema, filterGroupSchema, filterStateSchema, getAttributeCapabilities, getAttributeFilterOperators, getOperatorPolarity, getRollupFilterOperators, getSystemAttributeI18nKey, getSystemAttributeList, groupWriteSchema, inverseSourceSchema, isAttributeFilterable, isAttributeGroupable, isAttributeKanbanGroupable, isAttributeSearchable, isDynamicValue, isManagedSystemAttribute, isNoValueOperator, isRelativeDateValue, isSetMembershipOperator, listViewConfigSchema, listViewTabSchema, normalizeFilterRule, normalizeForEdgeRpc, normalizeOperator, now, parseResourceVisibility, parseViewConfig, relationSourceSchema, resolveEffectiveFilterType, resolveIsWithinBounds, resolveUtcDayBounds, sortsSchema, tableSourceSchema, toMultiValueOperator, toUtcDayString, today, validateQualifiedRule, viewConfigByTypeSchema, viewTypeSchema } from './chunk-QYJ532XI.mjs';
5
5
  import { createObjectValidator, createAttributeValidator, validateAttribute, isNullishOrEmptyString } from './chunk-KLDZHAGX.mjs';
6
6
  export { createFormAttributeValidator, isNullishOrEmptyString, isValuePresent, rejectUnknownAttributesOrThrow, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow } from './chunk-KLDZHAGX.mjs';
7
7
  import './chunk-GO6LQADH.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK7XGY34S_js = require('../chunk-K7XGY34S.js');
3
+ var chunkD4A6FL67_js = require('../chunk-D4A6FL67.js');
4
4
  var chunkRDYTVHNN_js = require('../chunk-RDYTVHNN.js');
5
5
  require('../chunk-EEH4XQ7W.js');
6
6
  require('../chunk-EW5XR2X3.js');
@@ -23,39 +23,39 @@ var chunkYKWSHBT5_js = require('../chunk-YKWSHBT5.js');
23
23
 
24
24
  Object.defineProperty(exports, "detailTabSchema", {
25
25
  enumerable: true,
26
- get: function () { return chunkK7XGY34S_js.detailTabSchema; }
26
+ get: function () { return chunkD4A6FL67_js.detailTabSchema; }
27
27
  });
28
28
  Object.defineProperty(exports, "detailViewConfigSchema", {
29
29
  enumerable: true,
30
- get: function () { return chunkK7XGY34S_js.detailViewConfigSchema; }
30
+ get: function () { return chunkD4A6FL67_js.detailViewConfigSchema; }
31
31
  });
32
32
  Object.defineProperty(exports, "inverseSourceSchema", {
33
33
  enumerable: true,
34
- get: function () { return chunkK7XGY34S_js.inverseSourceSchema; }
34
+ get: function () { return chunkD4A6FL67_js.inverseSourceSchema; }
35
35
  });
36
36
  Object.defineProperty(exports, "listViewConfigSchema", {
37
37
  enumerable: true,
38
- get: function () { return chunkK7XGY34S_js.listViewConfigSchema; }
38
+ get: function () { return chunkD4A6FL67_js.listViewConfigSchema; }
39
39
  });
40
40
  Object.defineProperty(exports, "listViewTabSchema", {
41
41
  enumerable: true,
42
- get: function () { return chunkK7XGY34S_js.listViewTabSchema; }
42
+ get: function () { return chunkD4A6FL67_js.listViewTabSchema; }
43
43
  });
44
44
  Object.defineProperty(exports, "parseViewConfig", {
45
45
  enumerable: true,
46
- get: function () { return chunkK7XGY34S_js.parseViewConfig; }
46
+ get: function () { return chunkD4A6FL67_js.parseViewConfig; }
47
47
  });
48
48
  Object.defineProperty(exports, "relationSourceSchema", {
49
49
  enumerable: true,
50
- get: function () { return chunkK7XGY34S_js.relationSourceSchema; }
50
+ get: function () { return chunkD4A6FL67_js.relationSourceSchema; }
51
51
  });
52
52
  Object.defineProperty(exports, "tableSourceSchema", {
53
53
  enumerable: true,
54
- get: function () { return chunkK7XGY34S_js.tableSourceSchema; }
54
+ get: function () { return chunkD4A6FL67_js.tableSourceSchema; }
55
55
  });
56
56
  Object.defineProperty(exports, "viewConfigByTypeSchema", {
57
57
  enumerable: true,
58
- get: function () { return chunkK7XGY34S_js.viewConfigByTypeSchema; }
58
+ get: function () { return chunkD4A6FL67_js.viewConfigByTypeSchema; }
59
59
  });
60
60
  Object.defineProperty(exports, "createFormAttributeValidator", {
61
61
  enumerable: true,
@@ -1,4 +1,4 @@
1
- export { detailTabSchema, detailViewConfigSchema, inverseSourceSchema, listViewConfigSchema, listViewTabSchema, parseViewConfig, relationSourceSchema, tableSourceSchema, viewConfigByTypeSchema } from '../chunk-RMJ75YLQ.mjs';
1
+ export { detailTabSchema, detailViewConfigSchema, inverseSourceSchema, listViewConfigSchema, listViewTabSchema, parseViewConfig, relationSourceSchema, tableSourceSchema, viewConfigByTypeSchema } from '../chunk-QYJ532XI.mjs';
2
2
  export { createFormAttributeValidator, rejectUnknownAttributesOrThrow, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow } from '../chunk-KLDZHAGX.mjs';
3
3
  import '../chunk-GO6LQADH.mjs';
4
4
  import '../chunk-QVLQPW3O.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stndrds/schema",
3
- "version": "1.0.0-alpha.291",
3
+ "version": "1.0.0-alpha.292",
4
4
  "description": "Standard schema definitions and utilities",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -125,7 +125,7 @@
125
125
  "@standard-schema/spec": "^1.1.0",
126
126
  "libphonenumber-js": "^1.12.31",
127
127
  "zod": "^4.2.1",
128
- "@stndrds/constants": "1.0.0-alpha.291"
128
+ "@stndrds/constants": "1.0.0-alpha.292"
129
129
  },
130
130
  "devDependencies": {
131
131
  "@types/node": "^25.0.3",