@stndrds/schema 1.0.0-alpha.215 → 1.0.0-alpha.217

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-DNlA-yww.d.mts → attributes-C-V9Lr25.d.mts} +26 -2
  2. package/dist/{attributes-CwDiLLzP.d.ts → attributes-DZj9iuri.d.ts} +26 -2
  3. package/dist/{chunk-UXWFFBQO.mjs → chunk-5WYDO3ZB.mjs} +16 -1
  4. package/dist/{chunk-IH37K3BX.js → chunk-XTPYL6OM.js} +16 -0
  5. package/dist/{helpers-CyYKowT9.d.mts → helpers-YQiY20E2.d.mts} +2 -2
  6. package/dist/{helpers-DQ22uMWd.d.ts → helpers-qyvuR_QS.d.ts} +2 -2
  7. package/dist/index.d.mts +103 -19
  8. package/dist/index.d.ts +103 -19
  9. package/dist/index.js +109 -65
  10. package/dist/index.mjs +38 -3
  11. package/dist/{types-BlVvybnQ.d.mts → types-BwOWmTvQ.d.mts} +1 -1
  12. package/dist/{types-Bi3ZZIZJ.d.ts → types-DyJSoFa8.d.ts} +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 +8 -8
  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 +14 -14
  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 chunkIH37K3BX_js = require('./chunk-IH37K3BX.js');
6
+ var chunkXTPYL6OM_js = require('./chunk-XTPYL6OM.js');
7
7
  require('./chunk-5WATIVCA.js');
8
8
  require('./chunk-O44XVGHE.js');
9
9
  require('./chunk-YIP5FJ5H.js');
@@ -520,6 +520,7 @@ var RESERVED_ATTRIBUTE_NAMES = [
520
520
  // Other ObjectRecord properties
521
521
  "objectId",
522
522
  "label",
523
+ "embeddingText",
523
524
  "completionStatus",
524
525
  "values",
525
526
  "metadata",
@@ -527,6 +528,7 @@ var RESERVED_ATTRIBUTE_NAMES = [
527
528
  "deletedBy",
528
529
  "schemaVersion"
529
530
  ];
531
+ var RESERVED_OBJECT_NAMES = ["skill"];
530
532
 
531
533
  // src/types/permissions.ts
532
534
  var ALL_ACTIONS = ["read", "create", "update", "delete", "manage"];
@@ -549,6 +551,13 @@ function accessLevelToActions(level) {
549
551
  }
550
552
 
551
553
  // src/types/relation-properties.ts
554
+ function resolvePropertyDefinitions(attr) {
555
+ const raw = attr.properties;
556
+ if (!raw) return [];
557
+ if (Array.isArray(raw)) return raw;
558
+ const schema = raw;
559
+ return Array.isArray(schema.definitions) ? schema.definitions : [];
560
+ }
552
561
  function hasOptions(attr) {
553
562
  return attr.type === "select" || attr.type === "status" || attr.type === "multiselect";
554
563
  }
@@ -1285,7 +1294,7 @@ var BaseAttributeBuilder = class {
1285
1294
  * @see https://standardschema.dev/
1286
1295
  */
1287
1296
  get "~standard"() {
1288
- const zodSchema = chunkIH37K3BX_js.createAttributeValidator(this.build());
1297
+ const zodSchema = chunkXTPYL6OM_js.createAttributeValidator(this.build());
1289
1298
  return createStandardSchemaProps(zodSchema);
1290
1299
  }
1291
1300
  constructor(type, name, label) {
@@ -2058,9 +2067,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
2058
2067
  if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
2059
2068
  const relation2 = this.attr.relationAttribute ?? "relation";
2060
2069
  const target = this.attr.targetAttribute ?? "field";
2061
- throw new chunkIH37K3BX_js.SchemaError(
2070
+ throw new chunkXTPYL6OM_js.SchemaError(
2062
2071
  `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}").`,
2063
- chunkIH37K3BX_js.SchemaErrorCode.VALIDATION_FAILED
2072
+ chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2064
2073
  );
2065
2074
  }
2066
2075
  return super.build();
@@ -2556,7 +2565,7 @@ var ObjectBuilder = class {
2556
2565
  * @see https://standardschema.dev/
2557
2566
  */
2558
2567
  get "~standard"() {
2559
- const zodSchema = chunkIH37K3BX_js.createObjectValidator(this.build());
2568
+ const zodSchema = chunkXTPYL6OM_js.createObjectValidator(this.build());
2560
2569
  return createStandardSchemaProps(zodSchema);
2561
2570
  }
2562
2571
  /**
@@ -2704,6 +2713,16 @@ var ObjectBuilder = class {
2704
2713
  this._labelExpression = template;
2705
2714
  return this;
2706
2715
  }
2716
+ /**
2717
+ * Set the optional semantic expression template for Meilisearch embeddings.
2718
+ *
2719
+ * Records of objects without this expression render an empty embedding text
2720
+ * and explicitly opt out of vector generation.
2721
+ */
2722
+ embeddingExpression(template) {
2723
+ this._embeddingExpression = template;
2724
+ return this;
2725
+ }
2707
2726
  /**
2708
2727
  * Attach a document layout convention to this object. Defines named variant
2709
2728
  * sub-folders and installable preset structures inside a record's drive.
@@ -2760,19 +2779,29 @@ var ObjectBuilder = class {
2760
2779
  throw new Error("[ObjectBuilder] Missing required field: label");
2761
2780
  }
2762
2781
  if (!this._labelExpression) {
2763
- throw new chunkIH37K3BX_js.SchemaError(
2782
+ throw new chunkXTPYL6OM_js.SchemaError(
2764
2783
  `Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
2765
- chunkIH37K3BX_js.SchemaErrorCode.VALIDATION_FAILED
2784
+ chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2766
2785
  );
2767
2786
  }
2768
2787
  const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
2769
2788
  if (!labelResult.success) {
2770
2789
  const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
2771
- throw new chunkIH37K3BX_js.SchemaError(
2790
+ throw new chunkXTPYL6OM_js.SchemaError(
2772
2791
  `Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
2773
- chunkIH37K3BX_js.SchemaErrorCode.VALIDATION_FAILED
2792
+ chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2774
2793
  );
2775
2794
  }
2795
+ if (this._embeddingExpression !== void 0) {
2796
+ const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
2797
+ if (!embeddingResult.success) {
2798
+ const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
2799
+ throw new chunkXTPYL6OM_js.SchemaError(
2800
+ `Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
2801
+ chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2802
+ );
2803
+ }
2804
+ }
2776
2805
  const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
2777
2806
  for (let i = 0; i < sortedVersions.length; i++) {
2778
2807
  const expected = i + 2;
@@ -2787,6 +2816,7 @@ var ObjectBuilder = class {
2787
2816
  ...this.obj,
2788
2817
  pluralLabel: this._pluralLabel,
2789
2818
  labelExpression: this._labelExpression,
2819
+ embeddingExpression: this._embeddingExpression,
2790
2820
  schema_version,
2791
2821
  migrations: sortedVersions,
2792
2822
  sealed: this._sealed,
@@ -2809,7 +2839,7 @@ var ObjectBuilder = class {
2809
2839
  objectNameSchema.parse(name);
2810
2840
  } catch (error) {
2811
2841
  if (error instanceof z3__default.default.ZodError) {
2812
- throw new chunkIH37K3BX_js.SchemaError(error.issues[0].message, chunkIH37K3BX_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2842
+ throw new chunkXTPYL6OM_js.SchemaError(error.issues[0].message, chunkXTPYL6OM_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2813
2843
  }
2814
2844
  throw error;
2815
2845
  }
@@ -4527,6 +4557,11 @@ Available objects: ${this.listNames().join(", ")}`
4527
4557
  };
4528
4558
  var registry = new NativeObjectRegistryClass();
4529
4559
 
4560
+ // src/native/skill.object.ts
4561
+ var SKILL_OBJECT = object({ name: "skill", label: "Skill" }).sealed().icon("sparkles").order(Number.MAX_SAFE_INTEGER).pluralLabel("Skills").labelExpression("{{ name }}").embeddingExpression("{{ name }}\n{{ description }}\n{{ content }}").attribute(text({ name: "name", label: "Name" }).required()).attribute(text({ name: "description", label: "Description" }).multiline().required()).attribute(richtext({ name: "content", label: "Content" })).build();
4562
+ var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "description"] }).tab("content", "Content").richtext("content").titleAttribute("name").done().build();
4563
+ var SKILL_LIST_VIEW = listView("skill-list", "Skills").for("skill").default().tab("all", "All").table().columns("name", "description").sort("name", "asc").build();
4564
+
4530
4565
  // src/views/registry.ts
4531
4566
  var ViewRegistry = class {
4532
4567
  constructor() {
@@ -6757,7 +6792,7 @@ function assertOperatorForType(operator, type, context) {
6757
6792
  if (!ops?.includes(operator)) {
6758
6793
  const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
6759
6794
  const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
6760
- throw new chunkIH37K3BX_js.ValidationError(summary, [
6795
+ throw new chunkXTPYL6OM_js.ValidationError(summary, [
6761
6796
  {
6762
6797
  path: ["operator"],
6763
6798
  message: summary
@@ -6773,7 +6808,7 @@ function assertRelativeDateValue(rule) {
6773
6808
  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);
6774
6809
  if (!valid) {
6775
6810
  const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
6776
- throw new chunkIH37K3BX_js.ValidationError(m, [{ path: ["value"], message: m }]);
6811
+ throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6777
6812
  }
6778
6813
  }
6779
6814
  function assertDynamicValueForAttribute(rule, attrType) {
@@ -6781,34 +6816,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
6781
6816
  const v = rule.value;
6782
6817
  if (v.dynamic === "actor" && attrType !== "user") {
6783
6818
  const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
6784
- throw new chunkIH37K3BX_js.ValidationError(m, [{ path: ["value"], message: m }]);
6819
+ throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6785
6820
  }
6786
6821
  if (v.dynamic === "date" && attrType !== "date") {
6787
6822
  const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
6788
- throw new chunkIH37K3BX_js.ValidationError(m, [{ path: ["value"], message: m }]);
6823
+ throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6789
6824
  }
6790
6825
  }
6791
6826
  function validateQualifiedRule(rule, context) {
6792
6827
  const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
6793
6828
  const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
6794
6829
  if (!(rootAttr || systemOps)) {
6795
- throw new chunkIH37K3BX_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
6830
+ throw new chunkXTPYL6OM_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
6796
6831
  { path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
6797
6832
  ]);
6798
6833
  }
6799
6834
  if (rule.quantifier !== void 0 && !rule.property) {
6800
6835
  const m = `quantifier is only valid on qualified edge rules (set "property")`;
6801
- throw new chunkIH37K3BX_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
6836
+ throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
6802
6837
  }
6803
6838
  if (!rootAttr) {
6804
6839
  if (rule.property) {
6805
- throw new chunkIH37K3BX_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
6840
+ throw new chunkXTPYL6OM_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
6806
6841
  { path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
6807
6842
  ]);
6808
6843
  }
6809
6844
  if (!systemOps.includes(rule.operator)) {
6810
6845
  const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
6811
- throw new chunkIH37K3BX_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6846
+ throw new chunkXTPYL6OM_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6812
6847
  }
6813
6848
  assertRelativeDateValue(rule);
6814
6849
  return;
@@ -6819,25 +6854,25 @@ function validateQualifiedRule(rule, context) {
6819
6854
  if (!ops.includes(rule.operator)) {
6820
6855
  const validList = ops.length ? ops.join(", ") : "(not filterable)";
6821
6856
  const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
6822
- throw new chunkIH37K3BX_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6857
+ throw new chunkXTPYL6OM_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6823
6858
  }
6824
6859
  assertRelativeDateValue(rule);
6825
6860
  return;
6826
6861
  }
6827
6862
  if (!REFERENCE_TYPES.has(rootAttr.type)) {
6828
- throw new chunkIH37K3BX_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
6863
+ throw new chunkXTPYL6OM_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
6829
6864
  { path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
6830
6865
  ]);
6831
6866
  }
6832
6867
  const propSchema = rootAttr.properties;
6833
6868
  if (!propSchema) {
6834
- throw new chunkIH37K3BX_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
6869
+ throw new chunkXTPYL6OM_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
6835
6870
  { path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
6836
6871
  ]);
6837
6872
  }
6838
6873
  const propDef = propSchema.definitions.find((p) => p.name === rule.property);
6839
6874
  if (!propDef) {
6840
- throw new chunkIH37K3BX_js.ValidationError(
6875
+ throw new chunkXTPYL6OM_js.ValidationError(
6841
6876
  `Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
6842
6877
  [{ path: ["property"], message: `Unknown property: ${rule.property}` }]
6843
6878
  );
@@ -6880,175 +6915,179 @@ Object.defineProperty(exports, "parseComputedFormula", {
6880
6915
  });
6881
6916
  Object.defineProperty(exports, "AccessDeniedError", {
6882
6917
  enumerable: true,
6883
- get: function () { return chunkIH37K3BX_js.AccessDeniedError; }
6918
+ get: function () { return chunkXTPYL6OM_js.AccessDeniedError; }
6884
6919
  });
6885
6920
  Object.defineProperty(exports, "AttributeInUseError", {
6886
6921
  enumerable: true,
6887
- get: function () { return chunkIH37K3BX_js.AttributeInUseError; }
6922
+ get: function () { return chunkXTPYL6OM_js.AttributeInUseError; }
6888
6923
  });
6889
6924
  Object.defineProperty(exports, "AttributeNotFoundError", {
6890
6925
  enumerable: true,
6891
- get: function () { return chunkIH37K3BX_js.AttributeNotFoundError; }
6926
+ get: function () { return chunkXTPYL6OM_js.AttributeNotFoundError; }
6892
6927
  });
6893
6928
  Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
6894
6929
  enumerable: true,
6895
- get: function () { return chunkIH37K3BX_js.ChangeTypeNotSupportedError; }
6930
+ get: function () { return chunkXTPYL6OM_js.ChangeTypeNotSupportedError; }
6896
6931
  });
6897
6932
  Object.defineProperty(exports, "ConcurrentModificationError", {
6898
6933
  enumerable: true,
6899
- get: function () { return chunkIH37K3BX_js.ConcurrentModificationError; }
6934
+ get: function () { return chunkXTPYL6OM_js.ConcurrentModificationError; }
6900
6935
  });
6901
6936
  Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
6902
6937
  enumerable: true,
6903
- get: function () { return chunkIH37K3BX_js.DestructiveSyncNotAllowedError; }
6938
+ get: function () { return chunkXTPYL6OM_js.DestructiveSyncNotAllowedError; }
6904
6939
  });
6905
6940
  Object.defineProperty(exports, "DuplicateError", {
6906
6941
  enumerable: true,
6907
- get: function () { return chunkIH37K3BX_js.DuplicateError; }
6942
+ get: function () { return chunkXTPYL6OM_js.DuplicateError; }
6908
6943
  });
6909
6944
  Object.defineProperty(exports, "ForbiddenError", {
6910
6945
  enumerable: true,
6911
- get: function () { return chunkIH37K3BX_js.ForbiddenError; }
6946
+ get: function () { return chunkXTPYL6OM_js.ForbiddenError; }
6912
6947
  });
6913
6948
  Object.defineProperty(exports, "MemoryNotFoundError", {
6914
6949
  enumerable: true,
6915
- get: function () { return chunkIH37K3BX_js.MemoryNotFoundError; }
6950
+ get: function () { return chunkXTPYL6OM_js.MemoryNotFoundError; }
6916
6951
  });
6917
6952
  Object.defineProperty(exports, "MigrationTimeoutError", {
6918
6953
  enumerable: true,
6919
- get: function () { return chunkIH37K3BX_js.MigrationTimeoutError; }
6954
+ get: function () { return chunkXTPYL6OM_js.MigrationTimeoutError; }
6920
6955
  });
6921
6956
  Object.defineProperty(exports, "NotFoundError", {
6922
6957
  enumerable: true,
6923
- get: function () { return chunkIH37K3BX_js.NotFoundError; }
6958
+ get: function () { return chunkXTPYL6OM_js.NotFoundError; }
6924
6959
  });
6925
6960
  Object.defineProperty(exports, "NotImplementedError", {
6926
6961
  enumerable: true,
6927
- get: function () { return chunkIH37K3BX_js.NotImplementedError; }
6962
+ get: function () { return chunkXTPYL6OM_js.NotImplementedError; }
6928
6963
  });
6929
6964
  Object.defineProperty(exports, "ObjectNotFoundError", {
6930
6965
  enumerable: true,
6931
- get: function () { return chunkIH37K3BX_js.ObjectNotFoundError; }
6966
+ get: function () { return chunkXTPYL6OM_js.ObjectNotFoundError; }
6932
6967
  });
6933
6968
  Object.defineProperty(exports, "ObjectReferencedError", {
6934
6969
  enumerable: true,
6935
- get: function () { return chunkIH37K3BX_js.ObjectReferencedError; }
6970
+ get: function () { return chunkXTPYL6OM_js.ObjectReferencedError; }
6936
6971
  });
6937
6972
  Object.defineProperty(exports, "OrphanSystemAttributeError", {
6938
6973
  enumerable: true,
6939
- get: function () { return chunkIH37K3BX_js.OrphanSystemAttributeError; }
6974
+ get: function () { return chunkXTPYL6OM_js.OrphanSystemAttributeError; }
6940
6975
  });
6941
6976
  Object.defineProperty(exports, "ProtectedResourceError", {
6942
6977
  enumerable: true,
6943
- get: function () { return chunkIH37K3BX_js.ProtectedResourceError; }
6978
+ get: function () { return chunkXTPYL6OM_js.ProtectedResourceError; }
6944
6979
  });
6945
6980
  Object.defineProperty(exports, "ProtectedRoleError", {
6946
6981
  enumerable: true,
6947
- get: function () { return chunkIH37K3BX_js.ProtectedRoleError; }
6982
+ get: function () { return chunkXTPYL6OM_js.ProtectedRoleError; }
6948
6983
  });
6949
6984
  Object.defineProperty(exports, "RecordNotFoundError", {
6950
6985
  enumerable: true,
6951
- get: function () { return chunkIH37K3BX_js.RecordNotFoundError; }
6986
+ get: function () { return chunkXTPYL6OM_js.RecordNotFoundError; }
6952
6987
  });
6953
6988
  Object.defineProperty(exports, "RecordReferencedError", {
6954
6989
  enumerable: true,
6955
- get: function () { return chunkIH37K3BX_js.RecordReferencedError; }
6990
+ get: function () { return chunkXTPYL6OM_js.RecordReferencedError; }
6956
6991
  });
6957
6992
  Object.defineProperty(exports, "RepositoryError", {
6958
6993
  enumerable: true,
6959
- get: function () { return chunkIH37K3BX_js.RepositoryError; }
6994
+ get: function () { return chunkXTPYL6OM_js.RepositoryError; }
6960
6995
  });
6961
6996
  Object.defineProperty(exports, "RoleNotFoundError", {
6962
6997
  enumerable: true,
6963
- get: function () { return chunkIH37K3BX_js.RoleNotFoundError; }
6998
+ get: function () { return chunkXTPYL6OM_js.RoleNotFoundError; }
6964
6999
  });
6965
7000
  Object.defineProperty(exports, "SchemaError", {
6966
7001
  enumerable: true,
6967
- get: function () { return chunkIH37K3BX_js.SchemaError; }
7002
+ get: function () { return chunkXTPYL6OM_js.SchemaError; }
6968
7003
  });
6969
7004
  Object.defineProperty(exports, "SchemaErrorCode", {
6970
7005
  enumerable: true,
6971
- get: function () { return chunkIH37K3BX_js.SchemaErrorCode; }
7006
+ get: function () { return chunkXTPYL6OM_js.SchemaErrorCode; }
7007
+ });
7008
+ Object.defineProperty(exports, "SearchBackendError", {
7009
+ enumerable: true,
7010
+ get: function () { return chunkXTPYL6OM_js.SearchBackendError; }
6972
7011
  });
6973
7012
  Object.defineProperty(exports, "StorageError", {
6974
7013
  enumerable: true,
6975
- get: function () { return chunkIH37K3BX_js.StorageError; }
7014
+ get: function () { return chunkXTPYL6OM_js.StorageError; }
6976
7015
  });
6977
7016
  Object.defineProperty(exports, "SyncCascadeError", {
6978
7017
  enumerable: true,
6979
- get: function () { return chunkIH37K3BX_js.SyncCascadeError; }
7018
+ get: function () { return chunkXTPYL6OM_js.SyncCascadeError; }
6980
7019
  });
6981
7020
  Object.defineProperty(exports, "SyncConflictError", {
6982
7021
  enumerable: true,
6983
- get: function () { return chunkIH37K3BX_js.SyncConflictError; }
7022
+ get: function () { return chunkXTPYL6OM_js.SyncConflictError; }
6984
7023
  });
6985
7024
  Object.defineProperty(exports, "SyncError", {
6986
7025
  enumerable: true,
6987
- get: function () { return chunkIH37K3BX_js.SyncError; }
7026
+ get: function () { return chunkXTPYL6OM_js.SyncError; }
6988
7027
  });
6989
7028
  Object.defineProperty(exports, "SystemEntityImmutableError", {
6990
7029
  enumerable: true,
6991
- get: function () { return chunkIH37K3BX_js.SystemEntityImmutableError; }
7030
+ get: function () { return chunkXTPYL6OM_js.SystemEntityImmutableError; }
6992
7031
  });
6993
7032
  Object.defineProperty(exports, "ValidationError", {
6994
7033
  enumerable: true,
6995
- get: function () { return chunkIH37K3BX_js.ValidationError; }
7034
+ get: function () { return chunkXTPYL6OM_js.ValidationError; }
6996
7035
  });
6997
7036
  Object.defineProperty(exports, "computeRecordStatus", {
6998
7037
  enumerable: true,
6999
- get: function () { return chunkIH37K3BX_js.computeRecordStatus; }
7038
+ get: function () { return chunkXTPYL6OM_js.computeRecordStatus; }
7000
7039
  });
7001
7040
  Object.defineProperty(exports, "createFormAttributeValidator", {
7002
7041
  enumerable: true,
7003
- get: function () { return chunkIH37K3BX_js.createFormAttributeValidator; }
7042
+ get: function () { return chunkXTPYL6OM_js.createFormAttributeValidator; }
7004
7043
  });
7005
7044
  Object.defineProperty(exports, "isAttributeInUseError", {
7006
7045
  enumerable: true,
7007
- get: function () { return chunkIH37K3BX_js.isAttributeInUseError; }
7046
+ get: function () { return chunkXTPYL6OM_js.isAttributeInUseError; }
7008
7047
  });
7009
7048
  Object.defineProperty(exports, "isNotFoundError", {
7010
7049
  enumerable: true,
7011
- get: function () { return chunkIH37K3BX_js.isNotFoundError; }
7050
+ get: function () { return chunkXTPYL6OM_js.isNotFoundError; }
7012
7051
  });
7013
7052
  Object.defineProperty(exports, "isObjectReferencedError", {
7014
7053
  enumerable: true,
7015
- get: function () { return chunkIH37K3BX_js.isObjectReferencedError; }
7054
+ get: function () { return chunkXTPYL6OM_js.isObjectReferencedError; }
7016
7055
  });
7017
7056
  Object.defineProperty(exports, "isProtectedResourceError", {
7018
7057
  enumerable: true,
7019
- get: function () { return chunkIH37K3BX_js.isProtectedResourceError; }
7058
+ get: function () { return chunkXTPYL6OM_js.isProtectedResourceError; }
7020
7059
  });
7021
7060
  Object.defineProperty(exports, "isRecordReferencedError", {
7022
7061
  enumerable: true,
7023
- get: function () { return chunkIH37K3BX_js.isRecordReferencedError; }
7062
+ get: function () { return chunkXTPYL6OM_js.isRecordReferencedError; }
7024
7063
  });
7025
7064
  Object.defineProperty(exports, "isSchemaError", {
7026
7065
  enumerable: true,
7027
- get: function () { return chunkIH37K3BX_js.isSchemaError; }
7066
+ get: function () { return chunkXTPYL6OM_js.isSchemaError; }
7028
7067
  });
7029
7068
  Object.defineProperty(exports, "isValidationError", {
7030
7069
  enumerable: true,
7031
- get: function () { return chunkIH37K3BX_js.isValidationError; }
7070
+ get: function () { return chunkXTPYL6OM_js.isValidationError; }
7032
7071
  });
7033
7072
  Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
7034
7073
  enumerable: true,
7035
- get: function () { return chunkIH37K3BX_js.rejectUnknownAttributesOrThrow; }
7074
+ get: function () { return chunkXTPYL6OM_js.rejectUnknownAttributesOrThrow; }
7036
7075
  });
7037
7076
  Object.defineProperty(exports, "validateDraft", {
7038
7077
  enumerable: true,
7039
- get: function () { return chunkIH37K3BX_js.validateDraft; }
7078
+ get: function () { return chunkXTPYL6OM_js.validateDraft; }
7040
7079
  });
7041
7080
  Object.defineProperty(exports, "validateDraftOrThrow", {
7042
7081
  enumerable: true,
7043
- get: function () { return chunkIH37K3BX_js.validateDraftOrThrow; }
7082
+ get: function () { return chunkXTPYL6OM_js.validateDraftOrThrow; }
7044
7083
  });
7045
7084
  Object.defineProperty(exports, "validateObject", {
7046
7085
  enumerable: true,
7047
- get: function () { return chunkIH37K3BX_js.validateObject; }
7086
+ get: function () { return chunkXTPYL6OM_js.validateObject; }
7048
7087
  });
7049
7088
  Object.defineProperty(exports, "validateObjectOrThrow", {
7050
7089
  enumerable: true,
7051
- get: function () { return chunkIH37K3BX_js.validateObjectOrThrow; }
7090
+ get: function () { return chunkXTPYL6OM_js.validateObjectOrThrow; }
7052
7091
  });
7053
7092
  Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
7054
7093
  enumerable: true,
@@ -7116,8 +7155,12 @@ exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES;
7116
7155
  exports.QUALIFIED_SEPARATOR = QUALIFIED_SEPARATOR;
7117
7156
  exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY;
7118
7157
  exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES;
7158
+ exports.RESERVED_OBJECT_NAMES = RESERVED_OBJECT_NAMES;
7119
7159
  exports.RelationGroupBuilder = RelationGroupBuilder;
7120
7160
  exports.RichtextTabConfig = RichtextTabConfig;
7161
+ exports.SKILL_LIST_VIEW = SKILL_LIST_VIEW;
7162
+ exports.SKILL_OBJECT = SKILL_OBJECT;
7163
+ exports.SKILL_VIEW = SKILL_VIEW;
7121
7164
  exports.STANDARD_SCHEMA_VENDOR = STANDARD_SCHEMA_VENDOR;
7122
7165
  exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES;
7123
7166
  exports.SYSTEM_ATTRIBUTE_I18N_KEYS = SYSTEM_ATTRIBUTE_I18N_KEYS;
@@ -7233,6 +7276,7 @@ exports.relation = relation;
7233
7276
  exports.relationGroup = relationGroup;
7234
7277
  exports.renderLabelExpression = renderLabelExpression;
7235
7278
  exports.resetViewToDefault = resetViewToDefault;
7279
+ exports.resolvePropertyDefinitions = resolvePropertyDefinitions;
7236
7280
  exports.richtext = richtext;
7237
7281
  exports.rollup = rollup;
7238
7282
  exports.rollupToFormulaExpression = rollupToFormulaExpression;
package/dist/index.mjs CHANGED
@@ -3,8 +3,8 @@ export { asTenantId, asUserId, deepEqual, generateId, indexBy } from './chunk-QY
3
3
  import './chunk-SP3PNHYF.mjs';
4
4
  import { parseComputedFormula } from './chunk-AAXJJNY6.mjs';
5
5
  export { ComputedFormulaParseError, parseAttributeConfig, parseComputedFormula } from './chunk-AAXJJNY6.mjs';
6
- import { createObjectValidator, SchemaError, SchemaErrorCode, ValidationError, createAttributeValidator } from './chunk-UXWFFBQO.mjs';
7
- export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReferencedError, RepositoryError, RoleNotFoundError, SchemaError, SchemaErrorCode, StorageError, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, computeRecordStatus, createFormAttributeValidator, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError, rejectUnknownAttributesOrThrow, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow } from './chunk-UXWFFBQO.mjs';
6
+ import { createObjectValidator, SchemaError, SchemaErrorCode, createAttributeValidator, ValidationError } from './chunk-5WYDO3ZB.mjs';
7
+ export { AccessDeniedError, AttributeInUseError, AttributeNotFoundError, ChangeTypeNotSupportedError, ConcurrentModificationError, DestructiveSyncNotAllowedError, DuplicateError, ForbiddenError, MemoryNotFoundError, MigrationTimeoutError, NotFoundError, NotImplementedError, ObjectNotFoundError, ObjectReferencedError, OrphanSystemAttributeError, ProtectedResourceError, ProtectedRoleError, RecordNotFoundError, RecordReferencedError, RepositoryError, RoleNotFoundError, SchemaError, SchemaErrorCode, SearchBackendError, StorageError, SyncCascadeError, SyncConflictError, SyncError, SystemEntityImmutableError, ValidationError, computeRecordStatus, createFormAttributeValidator, isAttributeInUseError, isNotFoundError, isObjectReferencedError, isProtectedResourceError, isRecordReferencedError, isSchemaError, isValidationError, rejectUnknownAttributesOrThrow, validateDraft, validateDraftOrThrow, validateObject, validateObjectOrThrow } from './chunk-5WYDO3ZB.mjs';
8
8
  import './chunk-OSSGN43B.mjs';
9
9
  import './chunk-6I2R22CX.mjs';
10
10
  import './chunk-UANQJ2GH.mjs';
@@ -517,6 +517,7 @@ var RESERVED_ATTRIBUTE_NAMES = [
517
517
  // Other ObjectRecord properties
518
518
  "objectId",
519
519
  "label",
520
+ "embeddingText",
520
521
  "completionStatus",
521
522
  "values",
522
523
  "metadata",
@@ -524,6 +525,7 @@ var RESERVED_ATTRIBUTE_NAMES = [
524
525
  "deletedBy",
525
526
  "schemaVersion"
526
527
  ];
528
+ var RESERVED_OBJECT_NAMES = ["skill"];
527
529
 
528
530
  // src/types/permissions.ts
529
531
  var ALL_ACTIONS = ["read", "create", "update", "delete", "manage"];
@@ -546,6 +548,13 @@ function accessLevelToActions(level) {
546
548
  }
547
549
 
548
550
  // src/types/relation-properties.ts
551
+ function resolvePropertyDefinitions(attr) {
552
+ const raw = attr.properties;
553
+ if (!raw) return [];
554
+ if (Array.isArray(raw)) return raw;
555
+ const schema = raw;
556
+ return Array.isArray(schema.definitions) ? schema.definitions : [];
557
+ }
549
558
  function hasOptions(attr) {
550
559
  return attr.type === "select" || attr.type === "status" || attr.type === "multiselect";
551
560
  }
@@ -2701,6 +2710,16 @@ var ObjectBuilder = class {
2701
2710
  this._labelExpression = template;
2702
2711
  return this;
2703
2712
  }
2713
+ /**
2714
+ * Set the optional semantic expression template for Meilisearch embeddings.
2715
+ *
2716
+ * Records of objects without this expression render an empty embedding text
2717
+ * and explicitly opt out of vector generation.
2718
+ */
2719
+ embeddingExpression(template) {
2720
+ this._embeddingExpression = template;
2721
+ return this;
2722
+ }
2704
2723
  /**
2705
2724
  * Attach a document layout convention to this object. Defines named variant
2706
2725
  * sub-folders and installable preset structures inside a record's drive.
@@ -2770,6 +2789,16 @@ var ObjectBuilder = class {
2770
2789
  SchemaErrorCode.VALIDATION_FAILED
2771
2790
  );
2772
2791
  }
2792
+ if (this._embeddingExpression !== void 0) {
2793
+ const embeddingResult = labelExpressionSchema.safeParse(this._embeddingExpression);
2794
+ if (!embeddingResult.success) {
2795
+ const errorMsg = embeddingResult.error.issues[0]?.message ?? "Invalid embeddingExpression";
2796
+ throw new SchemaError(
2797
+ `Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
2798
+ SchemaErrorCode.VALIDATION_FAILED
2799
+ );
2800
+ }
2801
+ }
2773
2802
  const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
2774
2803
  for (let i = 0; i < sortedVersions.length; i++) {
2775
2804
  const expected = i + 2;
@@ -2784,6 +2813,7 @@ var ObjectBuilder = class {
2784
2813
  ...this.obj,
2785
2814
  pluralLabel: this._pluralLabel,
2786
2815
  labelExpression: this._labelExpression,
2816
+ embeddingExpression: this._embeddingExpression,
2787
2817
  schema_version,
2788
2818
  migrations: sortedVersions,
2789
2819
  sealed: this._sealed,
@@ -4524,6 +4554,11 @@ Available objects: ${this.listNames().join(", ")}`
4524
4554
  };
4525
4555
  var registry = new NativeObjectRegistryClass();
4526
4556
 
4557
+ // src/native/skill.object.ts
4558
+ var SKILL_OBJECT = object({ name: "skill", label: "Skill" }).sealed().icon("sparkles").order(Number.MAX_SAFE_INTEGER).pluralLabel("Skills").labelExpression("{{ name }}").embeddingExpression("{{ name }}\n{{ description }}\n{{ content }}").attribute(text({ name: "name", label: "Name" }).required()).attribute(text({ name: "description", label: "Description" }).multiline().required()).attribute(richtext({ name: "content", label: "Content" })).build();
4559
+ var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "description"] }).tab("content", "Content").richtext("content").titleAttribute("name").done().build();
4560
+ var SKILL_LIST_VIEW = listView("skill-list", "Skills").for("skill").default().tab("all", "All").table().columns("name", "description").sort("name", "asc").build();
4561
+
4527
4562
  // src/views/registry.ts
4528
4563
  var ViewRegistry = class {
4529
4564
  constructor() {
@@ -6843,4 +6878,4 @@ function validateQualifiedRule(rule, context) {
6843
6878
  assertRelativeDateValue(rule);
6844
6879
  }
6845
6880
 
6846
- export { ALLOWED_PROPERTY_TYPES, ALL_ACTIONS, ALL_SYSTEM_RESOURCES, ATTRIBUTE_FILTER_OPERATORS, AUTOFILL_ELIGIBLE_TYPES, ActivityTabConfig, BEHAVIOR_PROPERTIES, COMPUTED_FUNCTIONS, COMPUTED_FUNCTION_METADATA, COMPUTED_FUNCTION_NAMES, ComputedFormulaCompileError, CustomTabConfig, DB_COLUMN_FIELDS, DEFAULT_DOCUMENT_SLOT, DEFAULT_ROLES, DEFAULT_ROLE_DESCRIPTIONS, DEFAULT_ROLE_LABELS, DEFAULT_ROLE_PERMISSIONS, DOCUMENT_SYSTEM_ATTRIBUTES, DetailViewBuilder, DocumentSlotValidationError, DocumentsTabConfig, EMPTY_VALUE_PLACEHOLDER, FORM_FORBIDDEN_ATTRIBUTE_TYPES, FlagRegistry, FlagService, FormBuilder, FormRegistry, FormRowBuilder, FormStepBuilder, GroupBuilder, IDENTITY_PROPERTIES, LIVE_EVENT_TYPES, LIVE_STREAM_START_CURSOR, ListViewBuilder, ListViewTabConfigBuilder, MAX_PRESET_DEPTH, NOTIFICATION_INBOX_STATES, NOTIFICATION_KINDS, NOTIFICATION_PRIORITIES, NOTIFICATION_SENSITIVITIES, NOTIFICATION_TYPES_V1, NOTIFICATION_TYPE_AGENT_QUESTION_REQUESTED, NOTIFICATION_TYPE_AGENT_SESSION_COMPLETED, NOTIFICATION_TYPE_AGENT_SESSION_FAILED, NOTIFICATION_TYPE_AGENT_SESSION_TIMEOUT, NOTIFICATION_TYPE_AGENT_SESSION_WAITING_HUMAN, NOTIFICATION_TYPE_AGENT_TASK_ASSIGNED, NOTIFICATION_WORK_STATES, NO_VALUE_OPERATORS, NoopGeocodingAdapter, OPERATORS_BY_TYPE, OPERATOR_SPECS, ObjectBuilder, PRESENTATION_PROPERTIES, QUALIFIED_SEPARATOR, RELATION_TARGET_ANY, RESERVED_ATTRIBUTE_NAMES, RelationGroupBuilder, RichtextTabConfig, STANDARD_SCHEMA_VENDOR, SYSTEM_ATTRIBUTES, SYSTEM_ATTRIBUTE_I18N_KEYS, SYSTEM_FIELD_NAMES, SYSTEM_RESOURCES, SYSTEM_RESOURCE_LABELS, TabBuilder, TableTabConfig, USER_STATUSES, accessLevelToActions, actionsToAccessLevel, applyPipes, assertAcyclicComputedDependencies, assertLiveStreamCursor, booleanFlag, buildPropertySchema, buildQualifiedAttribute, checkbox, compareLiveStreamCursors, compileComputedFormula, compileRollupAttribute, createFlagRegistry, createFlagService, createStandardSchemaProps, currency, currentActor, date, detailView, document, evaluateComputedAst, evaluateComputedFormula, evaluateComputedFormulaWithResult, evaluateFilterState, extractAttributeNames, file, flagRegistry, form, formRegistry, formatAttributeValue, formatComputedResult, formatLocationValue, formula, generateDefaultDetailView, generateDefaultListView, getActiveTab, getAttributeCapabilities, getAttributeFilterOperators, getErrorMessage, getLiveProtocolPayloadChannel, getOperatorPolarity, getRollupFilterOperators2 as getRollupFilterOperators, getSystemAttributeI18nKey, getSystemAttributeList, group, hasOptions, inferInverseCardinality, inferRollupReturnType, isAttributeFilterable, isAttributeGroupable, isAttributeKanbanGroupable, isAttributeSearchable, isAttributeSortable2 as isAttributeSortable, isBilateralRelation, isComputedFunctionName, isDefaultRole, isDetailView, isDocumentAttribute, isDynamicValue, isEmptyObject, isFieldGroup, isFormDefinition, isFormFieldsRow, isFormFreeFieldRef, isFormHeadingRow, isFormSeparatorRow, isFormSlotFieldRef, isFormTextRow, isLabelExpression, isListView, isLiveErrorPayload, isLiveEventEnvelope, isLiveEventPayload, isLiveEventPayloadForType, isLiveEventType, isLiveGapPayload, isLiveReplayCompletePayload, isLiveStreamCursor, isNoValueOperator, isNotEmpty, isPlainRecord, isRelationGroup, isStandardSchema, isUniversalRelation, jsonFlag, listView, liveChannelKey, location, matchesMime, multiselect, normaliseDocumentSlots, normalizeForEdgeRpc, now, number, numberFlag, object, parseLiveChannelKey, parseLiveSubscribePayload, parseLiveUnsubscribePayload, parseQualifiedAttribute, phone, registry, relation, relationGroup, renderLabelExpression, resetViewToDefault, richtext, rollup, rollupToFormulaExpression, select, status, stringFlag, text, toUndefinedIfEmpty, today, user, validateAttributeName, validateQualifiedRule, validateSlotAgainstConfig, viewRegistry };
6881
+ export { ALLOWED_PROPERTY_TYPES, ALL_ACTIONS, ALL_SYSTEM_RESOURCES, ATTRIBUTE_FILTER_OPERATORS, AUTOFILL_ELIGIBLE_TYPES, ActivityTabConfig, BEHAVIOR_PROPERTIES, COMPUTED_FUNCTIONS, COMPUTED_FUNCTION_METADATA, COMPUTED_FUNCTION_NAMES, ComputedFormulaCompileError, CustomTabConfig, DB_COLUMN_FIELDS, DEFAULT_DOCUMENT_SLOT, DEFAULT_ROLES, DEFAULT_ROLE_DESCRIPTIONS, DEFAULT_ROLE_LABELS, DEFAULT_ROLE_PERMISSIONS, DOCUMENT_SYSTEM_ATTRIBUTES, DetailViewBuilder, DocumentSlotValidationError, DocumentsTabConfig, EMPTY_VALUE_PLACEHOLDER, FORM_FORBIDDEN_ATTRIBUTE_TYPES, FlagRegistry, FlagService, FormBuilder, FormRegistry, FormRowBuilder, FormStepBuilder, GroupBuilder, IDENTITY_PROPERTIES, LIVE_EVENT_TYPES, LIVE_STREAM_START_CURSOR, ListViewBuilder, ListViewTabConfigBuilder, MAX_PRESET_DEPTH, NOTIFICATION_INBOX_STATES, NOTIFICATION_KINDS, NOTIFICATION_PRIORITIES, NOTIFICATION_SENSITIVITIES, NOTIFICATION_TYPES_V1, NOTIFICATION_TYPE_AGENT_QUESTION_REQUESTED, NOTIFICATION_TYPE_AGENT_SESSION_COMPLETED, NOTIFICATION_TYPE_AGENT_SESSION_FAILED, NOTIFICATION_TYPE_AGENT_SESSION_TIMEOUT, NOTIFICATION_TYPE_AGENT_SESSION_WAITING_HUMAN, NOTIFICATION_TYPE_AGENT_TASK_ASSIGNED, NOTIFICATION_WORK_STATES, NO_VALUE_OPERATORS, NoopGeocodingAdapter, OPERATORS_BY_TYPE, OPERATOR_SPECS, ObjectBuilder, PRESENTATION_PROPERTIES, QUALIFIED_SEPARATOR, RELATION_TARGET_ANY, RESERVED_ATTRIBUTE_NAMES, RESERVED_OBJECT_NAMES, RelationGroupBuilder, RichtextTabConfig, SKILL_LIST_VIEW, SKILL_OBJECT, SKILL_VIEW, STANDARD_SCHEMA_VENDOR, SYSTEM_ATTRIBUTES, SYSTEM_ATTRIBUTE_I18N_KEYS, SYSTEM_FIELD_NAMES, SYSTEM_RESOURCES, SYSTEM_RESOURCE_LABELS, TabBuilder, TableTabConfig, USER_STATUSES, accessLevelToActions, actionsToAccessLevel, applyPipes, assertAcyclicComputedDependencies, assertLiveStreamCursor, booleanFlag, buildPropertySchema, buildQualifiedAttribute, checkbox, compareLiveStreamCursors, compileComputedFormula, compileRollupAttribute, createFlagRegistry, createFlagService, createStandardSchemaProps, currency, currentActor, date, detailView, document, evaluateComputedAst, evaluateComputedFormula, evaluateComputedFormulaWithResult, evaluateFilterState, extractAttributeNames, file, flagRegistry, form, formRegistry, formatAttributeValue, formatComputedResult, formatLocationValue, formula, generateDefaultDetailView, generateDefaultListView, getActiveTab, getAttributeCapabilities, getAttributeFilterOperators, getErrorMessage, getLiveProtocolPayloadChannel, getOperatorPolarity, getRollupFilterOperators2 as getRollupFilterOperators, getSystemAttributeI18nKey, getSystemAttributeList, group, hasOptions, inferInverseCardinality, inferRollupReturnType, isAttributeFilterable, isAttributeGroupable, isAttributeKanbanGroupable, isAttributeSearchable, isAttributeSortable2 as isAttributeSortable, isBilateralRelation, isComputedFunctionName, isDefaultRole, isDetailView, isDocumentAttribute, isDynamicValue, isEmptyObject, isFieldGroup, isFormDefinition, isFormFieldsRow, isFormFreeFieldRef, isFormHeadingRow, isFormSeparatorRow, isFormSlotFieldRef, isFormTextRow, isLabelExpression, isListView, isLiveErrorPayload, isLiveEventEnvelope, isLiveEventPayload, isLiveEventPayloadForType, isLiveEventType, isLiveGapPayload, isLiveReplayCompletePayload, isLiveStreamCursor, isNoValueOperator, isNotEmpty, isPlainRecord, isRelationGroup, isStandardSchema, isUniversalRelation, jsonFlag, listView, liveChannelKey, location, matchesMime, multiselect, normaliseDocumentSlots, normalizeForEdgeRpc, now, number, numberFlag, object, parseLiveChannelKey, parseLiveSubscribePayload, parseLiveUnsubscribePayload, parseQualifiedAttribute, phone, registry, relation, relationGroup, renderLabelExpression, resetViewToDefault, resolvePropertyDefinitions, richtext, rollup, rollupToFormulaExpression, select, status, stringFlag, text, toUndefinedIfEmpty, today, user, validateAttributeName, validateQualifiedRule, validateSlotAgainstConfig, viewRegistry };
@@ -1,4 +1,4 @@
1
- import { A as Attribute } from './attributes-DNlA-yww.mjs';
1
+ import { A as Attribute } from './attributes-C-V9Lr25.mjs';
2
2
 
3
3
  /**
4
4
  * Validation messages for Zod validators.
@@ -1,4 +1,4 @@
1
- import { A as Attribute } from './attributes-CwDiLLzP.js';
1
+ import { A as Attribute } from './attributes-DZj9iuri.js';
2
2
 
3
3
  /**
4
4
  * Validation messages for Zod validators.
@@ -1,8 +1,8 @@
1
- export { V as ValidationMessages } from '../types-BlVvybnQ.mjs';
1
+ export { V as ValidationMessages } from '../types-BwOWmTvQ.mjs';
2
2
  export { DEFAULT_VALIDATION_MESSAGES, formatZodErrors } from './core/index.mjs';
3
3
  export { parseAttributeConfig } from './config/index.mjs';
4
- export { c as computeRecordStatus, a as createFormAttributeValidator, r as rejectUnknownAttributesOrThrow, v as validateDraft, b as validateDraftOrThrow, d as validateObject, e as validateObjectOrThrow } from '../helpers-CyYKowT9.mjs';
5
- import '../attributes-DNlA-yww.mjs';
4
+ export { c as computeRecordStatus, a as createFormAttributeValidator, r as rejectUnknownAttributesOrThrow, v as validateDraft, b as validateDraftOrThrow, d as validateObject, e as validateObjectOrThrow } from '../helpers-YQiY20E2.mjs';
5
+ import '../attributes-C-V9Lr25.mjs';
6
6
  import '@stndrds/constants';
7
7
  import '../utils.mjs';
8
8
  import 'zod';
@@ -1,8 +1,8 @@
1
- export { V as ValidationMessages } from '../types-Bi3ZZIZJ.js';
1
+ export { V as ValidationMessages } from '../types-DyJSoFa8.js';
2
2
  export { DEFAULT_VALIDATION_MESSAGES, formatZodErrors } from './core/index.js';
3
3
  export { parseAttributeConfig } from './config/index.js';
4
- export { c as computeRecordStatus, a as createFormAttributeValidator, r as rejectUnknownAttributesOrThrow, v as validateDraft, b as validateDraftOrThrow, d as validateObject, e as validateObjectOrThrow } from '../helpers-DQ22uMWd.js';
5
- import '../attributes-CwDiLLzP.js';
4
+ export { c as computeRecordStatus, a as createFormAttributeValidator, r as rejectUnknownAttributesOrThrow, v as validateDraft, b as validateDraftOrThrow, d as validateObject, e as validateObjectOrThrow } from '../helpers-qyvuR_QS.js';
5
+ import '../attributes-DZj9iuri.js';
6
6
  import '@stndrds/constants';
7
7
  import '../utils.js';
8
8
  import 'zod';