@stndrds/schema 1.0.0-alpha.216 → 1.0.0-alpha.218

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-CUROLTVH.d.mts → attributes-C-V9Lr25.d.mts} +20 -2
  2. package/dist/{attributes-BIngT-ky.d.ts → attributes-DZj9iuri.d.ts} +20 -2
  3. package/dist/{helpers-B-Y9kDoP.d.mts → helpers-YQiY20E2.d.mts} +2 -2
  4. package/dist/{helpers-DOn86mSK.d.ts → helpers-qyvuR_QS.d.ts} +2 -2
  5. package/dist/index.d.mts +32 -6
  6. package/dist/index.d.ts +32 -6
  7. package/dist/index.js +114 -82
  8. package/dist/index.mjs +38 -8
  9. package/dist/{types-BlMu1Nch.d.mts → types-BwOWmTvQ.d.mts} +1 -1
  10. package/dist/{types-BKIuJHdj.d.ts → types-DyJSoFa8.d.ts} +1 -1
  11. package/dist/validation/all.d.mts +3 -3
  12. package/dist/validation/all.d.ts +3 -3
  13. package/dist/validation/all.js +14 -14
  14. package/dist/validation/all.mjs +3 -3
  15. package/dist/validation/complex/currency.d.mts +2 -2
  16. package/dist/validation/complex/currency.d.ts +2 -2
  17. package/dist/validation/complex/file.d.mts +2 -2
  18. package/dist/validation/complex/file.d.ts +2 -2
  19. package/dist/validation/complex/location.d.mts +2 -2
  20. package/dist/validation/complex/location.d.ts +2 -2
  21. package/dist/validation/complex/phone.d.mts +2 -2
  22. package/dist/validation/complex/phone.d.ts +2 -2
  23. package/dist/validation/complex/relation.d.mts +2 -2
  24. package/dist/validation/complex/relation.d.ts +2 -2
  25. package/dist/validation/complex/richtext.d.mts +2 -2
  26. package/dist/validation/complex/richtext.d.ts +2 -2
  27. package/dist/validation/complex/select.d.mts +2 -2
  28. package/dist/validation/complex/select.d.ts +2 -2
  29. package/dist/validation/complex/user.d.mts +2 -2
  30. package/dist/validation/complex/user.d.ts +2 -2
  31. package/dist/validation/computed/formula.d.mts +2 -2
  32. package/dist/validation/computed/formula.d.ts +2 -2
  33. package/dist/validation/computed/rollup.d.mts +2 -2
  34. package/dist/validation/computed/rollup.d.ts +2 -2
  35. package/dist/validation/config/index.d.mts +1 -1
  36. package/dist/validation/config/index.d.ts +1 -1
  37. package/dist/validation/core/index.d.mts +3 -3
  38. package/dist/validation/core/index.d.ts +3 -3
  39. package/dist/validation/object/index.d.mts +3 -3
  40. package/dist/validation/object/index.d.ts +3 -3
  41. package/dist/validation/object/index.js +15 -15
  42. package/dist/validation/object/index.mjs +2 -2
  43. package/dist/validation/primitives/checkbox.d.mts +2 -2
  44. package/dist/validation/primitives/checkbox.d.ts +2 -2
  45. package/dist/validation/primitives/date.d.mts +2 -2
  46. package/dist/validation/primitives/date.d.ts +2 -2
  47. package/dist/validation/primitives/number.d.mts +2 -2
  48. package/dist/validation/primitives/number.d.ts +2 -2
  49. package/dist/validation/primitives/text.d.mts +2 -2
  50. package/dist/validation/primitives/text.d.ts +2 -2
  51. package/package.json +2 -2
  52. package/dist/{chunk-5WYDO3ZB.mjs → chunk-6DHNDVBO.mjs} +1 -1
  53. package/dist/{chunk-XTPYL6OM.js → chunk-7LIRDMJ7.js} +1 -1
package/dist/index.js CHANGED
@@ -2,9 +2,7 @@
2
2
 
3
3
  var chunkFRCDMQER_js = require('./chunk-FRCDMQER.js');
4
4
  require('./chunk-PGERPYDR.js');
5
- var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
6
- var chunkXTPYL6OM_js = require('./chunk-XTPYL6OM.js');
7
- require('./chunk-5WATIVCA.js');
5
+ var chunk7LIRDMJ7_js = require('./chunk-7LIRDMJ7.js');
8
6
  require('./chunk-O44XVGHE.js');
9
7
  require('./chunk-YIP5FJ5H.js');
10
8
  require('./chunk-SGSGREPG.js');
@@ -13,6 +11,8 @@ require('./chunk-QWKLQRBX.js');
13
11
  require('./chunk-KNGWHQLR.js');
14
12
  require('./chunk-HTSTPTNZ.js');
15
13
  require('./chunk-V2UA2D4E.js');
14
+ var chunkNSM2JPC3_js = require('./chunk-NSM2JPC3.js');
15
+ require('./chunk-5WATIVCA.js');
16
16
  require('./chunk-ACKMC6FL.js');
17
17
  require('./chunk-Q5DIOYUE.js');
18
18
  require('./chunk-E6JUYGJX.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",
@@ -550,6 +551,13 @@ function accessLevelToActions(level) {
550
551
  }
551
552
 
552
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
+ }
553
561
  function hasOptions(attr) {
554
562
  return attr.type === "select" || attr.type === "status" || attr.type === "multiselect";
555
563
  }
@@ -1286,7 +1294,7 @@ var BaseAttributeBuilder = class {
1286
1294
  * @see https://standardschema.dev/
1287
1295
  */
1288
1296
  get "~standard"() {
1289
- const zodSchema = chunkXTPYL6OM_js.createAttributeValidator(this.build());
1297
+ const zodSchema = chunk7LIRDMJ7_js.createAttributeValidator(this.build());
1290
1298
  return createStandardSchemaProps(zodSchema);
1291
1299
  }
1292
1300
  constructor(type, name, label) {
@@ -2059,9 +2067,9 @@ var RollupAttributeBuilder = class extends BaseAttributeBuilder {
2059
2067
  if (fn === "original" && targetType !== void 0 && targetType !== "select" && targetType !== "status" && targetType !== "multiselect") {
2060
2068
  const relation2 = this.attr.relationAttribute ?? "relation";
2061
2069
  const target = this.attr.targetAttribute ?? "field";
2062
- throw new chunkXTPYL6OM_js.SchemaError(
2070
+ throw new chunk7LIRDMJ7_js.SchemaError(
2063
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}").`,
2064
- chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2072
+ chunk7LIRDMJ7_js.SchemaErrorCode.VALIDATION_FAILED
2065
2073
  );
2066
2074
  }
2067
2075
  return super.build();
@@ -2557,7 +2565,7 @@ var ObjectBuilder = class {
2557
2565
  * @see https://standardschema.dev/
2558
2566
  */
2559
2567
  get "~standard"() {
2560
- const zodSchema = chunkXTPYL6OM_js.createObjectValidator(this.build());
2568
+ const zodSchema = chunk7LIRDMJ7_js.createObjectValidator(this.build());
2561
2569
  return createStandardSchemaProps(zodSchema);
2562
2570
  }
2563
2571
  /**
@@ -2705,6 +2713,16 @@ var ObjectBuilder = class {
2705
2713
  this._labelExpression = template;
2706
2714
  return this;
2707
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
+ }
2708
2726
  /**
2709
2727
  * Attach a document layout convention to this object. Defines named variant
2710
2728
  * sub-folders and installable preset structures inside a record's drive.
@@ -2761,19 +2779,29 @@ var ObjectBuilder = class {
2761
2779
  throw new Error("[ObjectBuilder] Missing required field: label");
2762
2780
  }
2763
2781
  if (!this._labelExpression) {
2764
- throw new chunkXTPYL6OM_js.SchemaError(
2782
+ throw new chunk7LIRDMJ7_js.SchemaError(
2765
2783
  `Object "${this.obj.name}" must have a labelExpression. The labelExpression defines how records are displayed in lists and relations (e.g. "{{ name }}").`,
2766
- chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2784
+ chunk7LIRDMJ7_js.SchemaErrorCode.VALIDATION_FAILED
2767
2785
  );
2768
2786
  }
2769
2787
  const labelResult = labelExpressionSchema.safeParse(this._labelExpression);
2770
2788
  if (!labelResult.success) {
2771
2789
  const errorMsg = labelResult.error.issues[0]?.message ?? "Invalid labelExpression";
2772
- throw new chunkXTPYL6OM_js.SchemaError(
2790
+ throw new chunk7LIRDMJ7_js.SchemaError(
2773
2791
  `Invalid labelExpression for "${this.obj.name}": ${errorMsg}`,
2774
- chunkXTPYL6OM_js.SchemaErrorCode.VALIDATION_FAILED
2792
+ chunk7LIRDMJ7_js.SchemaErrorCode.VALIDATION_FAILED
2775
2793
  );
2776
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 chunk7LIRDMJ7_js.SchemaError(
2800
+ `Invalid embeddingExpression for "${this.obj.name}": ${errorMsg}`,
2801
+ chunk7LIRDMJ7_js.SchemaErrorCode.VALIDATION_FAILED
2802
+ );
2803
+ }
2804
+ }
2777
2805
  const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
2778
2806
  for (let i = 0; i < sortedVersions.length; i++) {
2779
2807
  const expected = i + 2;
@@ -2788,6 +2816,7 @@ var ObjectBuilder = class {
2788
2816
  ...this.obj,
2789
2817
  pluralLabel: this._pluralLabel,
2790
2818
  labelExpression: this._labelExpression,
2819
+ embeddingExpression: this._embeddingExpression,
2791
2820
  schema_version,
2792
2821
  migrations: sortedVersions,
2793
2822
  sealed: this._sealed,
@@ -2810,7 +2839,7 @@ var ObjectBuilder = class {
2810
2839
  objectNameSchema.parse(name);
2811
2840
  } catch (error) {
2812
2841
  if (error instanceof z3__default.default.ZodError) {
2813
- throw new chunkXTPYL6OM_js.SchemaError(error.issues[0].message, chunkXTPYL6OM_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2842
+ throw new chunk7LIRDMJ7_js.SchemaError(error.issues[0].message, chunk7LIRDMJ7_js.SchemaErrorCode.INVALID_OBJECT_NAME);
2814
2843
  }
2815
2844
  throw error;
2816
2845
  }
@@ -4529,8 +4558,9 @@ Available objects: ${this.listNames().join(", ")}`
4529
4558
  var registry = new NativeObjectRegistryClass();
4530
4559
 
4531
4560
  // src/native/skill.object.ts
4532
- var SKILL_OBJECT = object({ name: "skill", label: "Skill" }).sealed().icon("sparkles").order(Number.MAX_SAFE_INTEGER).labelExpression("{{ displayName }}").attribute(text({ name: "name", label: "Name" }).required()).attribute(text({ name: "displayName", label: "Display Name" }).required()).attribute(text({ name: "description", label: "Description" }).multiline().required()).attribute(richtext({ name: "content", label: "Content" })).attribute(document({ name: "attachments", label: "Attachments" })).attribute(checkbox({ name: "alwaysOn", label: "Always on" })).attribute(checkbox({ name: "enabled", label: "Enabled" })).build();
4533
- var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "displayName", "description", "alwaysOn", "enabled"] }).tab("content", "Content").richtext("content").done().tab("attachments", "Attachments").documents().done().build();
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();
4534
4564
 
4535
4565
  // src/views/registry.ts
4536
4566
  var ViewRegistry = class {
@@ -6762,7 +6792,7 @@ function assertOperatorForType(operator, type, context) {
6762
6792
  if (!ops?.includes(operator)) {
6763
6793
  const validList = ops?.length ? ops.join(", ") : "(no operators registered for this type)";
6764
6794
  const summary = `Operator "${operator}" is not valid for ${context} type "${type}". Valid operators: ${validList}.`;
6765
- throw new chunkXTPYL6OM_js.ValidationError(summary, [
6795
+ throw new chunk7LIRDMJ7_js.ValidationError(summary, [
6766
6796
  {
6767
6797
  path: ["operator"],
6768
6798
  message: summary
@@ -6778,7 +6808,7 @@ function assertRelativeDateValue(rule) {
6778
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);
6779
6809
  if (!valid) {
6780
6810
  const m = `Operator "is_within" requires a relative-date value { amount: positive number, unit: days|weeks|months|years, direction: past|future }`;
6781
- throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6811
+ throw new chunk7LIRDMJ7_js.ValidationError(m, [{ path: ["value"], message: m }]);
6782
6812
  }
6783
6813
  }
6784
6814
  function assertDynamicValueForAttribute(rule, attrType) {
@@ -6786,34 +6816,34 @@ function assertDynamicValueForAttribute(rule, attrType) {
6786
6816
  const v = rule.value;
6787
6817
  if (v.dynamic === "actor" && attrType !== "user") {
6788
6818
  const m = `actor token (@me) is only valid on user attributes, not "${attrType}"`;
6789
- throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6819
+ throw new chunk7LIRDMJ7_js.ValidationError(m, [{ path: ["value"], message: m }]);
6790
6820
  }
6791
6821
  if (v.dynamic === "date" && attrType !== "date") {
6792
6822
  const m = `date token (@today/@now) is only valid on date attributes, not "${attrType}"`;
6793
- throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["value"], message: m }]);
6823
+ throw new chunk7LIRDMJ7_js.ValidationError(m, [{ path: ["value"], message: m }]);
6794
6824
  }
6795
6825
  }
6796
6826
  function validateQualifiedRule(rule, context) {
6797
6827
  const rootAttr = context.attributes.find((a) => a.name === rule.attribute);
6798
6828
  const systemOps = SYSTEM_FILTER_OPERATORS[rule.attribute];
6799
6829
  if (!(rootAttr || systemOps)) {
6800
- throw new chunkXTPYL6OM_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
6830
+ throw new chunk7LIRDMJ7_js.ValidationError(`Unknown attribute: ${rule.attribute}`, [
6801
6831
  { path: ["attribute"], message: `Unknown attribute: ${rule.attribute}` }
6802
6832
  ]);
6803
6833
  }
6804
6834
  if (rule.quantifier !== void 0 && !rule.property) {
6805
6835
  const m = `quantifier is only valid on qualified edge rules (set "property")`;
6806
- throw new chunkXTPYL6OM_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
6836
+ throw new chunk7LIRDMJ7_js.ValidationError(m, [{ path: ["quantifier"], message: m }]);
6807
6837
  }
6808
6838
  if (!rootAttr) {
6809
6839
  if (rule.property) {
6810
- throw new chunkXTPYL6OM_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
6840
+ throw new chunk7LIRDMJ7_js.ValidationError(`Cannot qualify system attribute "${rule.attribute}"`, [
6811
6841
  { path: ["property"], message: `"${rule.attribute}" is a system column, not a reference` }
6812
6842
  ]);
6813
6843
  }
6814
6844
  if (!systemOps.includes(rule.operator)) {
6815
6845
  const summary = `Operator "${rule.operator}" is not valid for system attribute "${rule.attribute}". Valid operators: ${systemOps.join(", ")}.`;
6816
- throw new chunkXTPYL6OM_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6846
+ throw new chunk7LIRDMJ7_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6817
6847
  }
6818
6848
  assertRelativeDateValue(rule);
6819
6849
  return;
@@ -6824,25 +6854,25 @@ function validateQualifiedRule(rule, context) {
6824
6854
  if (!ops.includes(rule.operator)) {
6825
6855
  const validList = ops.length ? ops.join(", ") : "(not filterable)";
6826
6856
  const summary = `Operator "${rule.operator}" is not valid for attribute "${rootAttr.name}". Valid operators: ${validList}.`;
6827
- throw new chunkXTPYL6OM_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6857
+ throw new chunk7LIRDMJ7_js.ValidationError(summary, [{ path: ["operator"], message: summary }]);
6828
6858
  }
6829
6859
  assertRelativeDateValue(rule);
6830
6860
  return;
6831
6861
  }
6832
6862
  if (!REFERENCE_TYPES.has(rootAttr.type)) {
6833
- throw new chunkXTPYL6OM_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
6863
+ throw new chunk7LIRDMJ7_js.ValidationError(`Cannot qualify ${rootAttr.type} attribute "${rule.attribute}"`, [
6834
6864
  { path: ["property"], message: `Attribute "${rule.attribute}" is not a reference type` }
6835
6865
  ]);
6836
6866
  }
6837
6867
  const propSchema = rootAttr.properties;
6838
6868
  if (!propSchema) {
6839
- throw new chunkXTPYL6OM_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
6869
+ throw new chunk7LIRDMJ7_js.ValidationError(`Attribute "${rule.attribute}" has no qualifyWith schema`, [
6840
6870
  { path: ["property"], message: `"${rule.attribute}" has no qualifyWith` }
6841
6871
  ]);
6842
6872
  }
6843
6873
  const propDef = propSchema.definitions.find((p) => p.name === rule.property);
6844
6874
  if (!propDef) {
6845
- throw new chunkXTPYL6OM_js.ValidationError(
6875
+ throw new chunk7LIRDMJ7_js.ValidationError(
6846
6876
  `Property "${rule.property}" not defined on "${rule.attribute}".qualifyWith()`,
6847
6877
  [{ path: ["property"], message: `Unknown property: ${rule.property}` }]
6848
6878
  );
@@ -6871,193 +6901,193 @@ Object.defineProperty(exports, "indexBy", {
6871
6901
  enumerable: true,
6872
6902
  get: function () { return chunkFRCDMQER_js.indexBy; }
6873
6903
  });
6874
- Object.defineProperty(exports, "ComputedFormulaParseError", {
6875
- enumerable: true,
6876
- get: function () { return chunkNSM2JPC3_js.ComputedFormulaParseError; }
6877
- });
6878
- Object.defineProperty(exports, "parseAttributeConfig", {
6879
- enumerable: true,
6880
- get: function () { return chunkNSM2JPC3_js.parseAttributeConfig; }
6881
- });
6882
- Object.defineProperty(exports, "parseComputedFormula", {
6883
- enumerable: true,
6884
- get: function () { return chunkNSM2JPC3_js.parseComputedFormula; }
6885
- });
6886
6904
  Object.defineProperty(exports, "AccessDeniedError", {
6887
6905
  enumerable: true,
6888
- get: function () { return chunkXTPYL6OM_js.AccessDeniedError; }
6906
+ get: function () { return chunk7LIRDMJ7_js.AccessDeniedError; }
6889
6907
  });
6890
6908
  Object.defineProperty(exports, "AttributeInUseError", {
6891
6909
  enumerable: true,
6892
- get: function () { return chunkXTPYL6OM_js.AttributeInUseError; }
6910
+ get: function () { return chunk7LIRDMJ7_js.AttributeInUseError; }
6893
6911
  });
6894
6912
  Object.defineProperty(exports, "AttributeNotFoundError", {
6895
6913
  enumerable: true,
6896
- get: function () { return chunkXTPYL6OM_js.AttributeNotFoundError; }
6914
+ get: function () { return chunk7LIRDMJ7_js.AttributeNotFoundError; }
6897
6915
  });
6898
6916
  Object.defineProperty(exports, "ChangeTypeNotSupportedError", {
6899
6917
  enumerable: true,
6900
- get: function () { return chunkXTPYL6OM_js.ChangeTypeNotSupportedError; }
6918
+ get: function () { return chunk7LIRDMJ7_js.ChangeTypeNotSupportedError; }
6901
6919
  });
6902
6920
  Object.defineProperty(exports, "ConcurrentModificationError", {
6903
6921
  enumerable: true,
6904
- get: function () { return chunkXTPYL6OM_js.ConcurrentModificationError; }
6922
+ get: function () { return chunk7LIRDMJ7_js.ConcurrentModificationError; }
6905
6923
  });
6906
6924
  Object.defineProperty(exports, "DestructiveSyncNotAllowedError", {
6907
6925
  enumerable: true,
6908
- get: function () { return chunkXTPYL6OM_js.DestructiveSyncNotAllowedError; }
6926
+ get: function () { return chunk7LIRDMJ7_js.DestructiveSyncNotAllowedError; }
6909
6927
  });
6910
6928
  Object.defineProperty(exports, "DuplicateError", {
6911
6929
  enumerable: true,
6912
- get: function () { return chunkXTPYL6OM_js.DuplicateError; }
6930
+ get: function () { return chunk7LIRDMJ7_js.DuplicateError; }
6913
6931
  });
6914
6932
  Object.defineProperty(exports, "ForbiddenError", {
6915
6933
  enumerable: true,
6916
- get: function () { return chunkXTPYL6OM_js.ForbiddenError; }
6934
+ get: function () { return chunk7LIRDMJ7_js.ForbiddenError; }
6917
6935
  });
6918
6936
  Object.defineProperty(exports, "MemoryNotFoundError", {
6919
6937
  enumerable: true,
6920
- get: function () { return chunkXTPYL6OM_js.MemoryNotFoundError; }
6938
+ get: function () { return chunk7LIRDMJ7_js.MemoryNotFoundError; }
6921
6939
  });
6922
6940
  Object.defineProperty(exports, "MigrationTimeoutError", {
6923
6941
  enumerable: true,
6924
- get: function () { return chunkXTPYL6OM_js.MigrationTimeoutError; }
6942
+ get: function () { return chunk7LIRDMJ7_js.MigrationTimeoutError; }
6925
6943
  });
6926
6944
  Object.defineProperty(exports, "NotFoundError", {
6927
6945
  enumerable: true,
6928
- get: function () { return chunkXTPYL6OM_js.NotFoundError; }
6946
+ get: function () { return chunk7LIRDMJ7_js.NotFoundError; }
6929
6947
  });
6930
6948
  Object.defineProperty(exports, "NotImplementedError", {
6931
6949
  enumerable: true,
6932
- get: function () { return chunkXTPYL6OM_js.NotImplementedError; }
6950
+ get: function () { return chunk7LIRDMJ7_js.NotImplementedError; }
6933
6951
  });
6934
6952
  Object.defineProperty(exports, "ObjectNotFoundError", {
6935
6953
  enumerable: true,
6936
- get: function () { return chunkXTPYL6OM_js.ObjectNotFoundError; }
6954
+ get: function () { return chunk7LIRDMJ7_js.ObjectNotFoundError; }
6937
6955
  });
6938
6956
  Object.defineProperty(exports, "ObjectReferencedError", {
6939
6957
  enumerable: true,
6940
- get: function () { return chunkXTPYL6OM_js.ObjectReferencedError; }
6958
+ get: function () { return chunk7LIRDMJ7_js.ObjectReferencedError; }
6941
6959
  });
6942
6960
  Object.defineProperty(exports, "OrphanSystemAttributeError", {
6943
6961
  enumerable: true,
6944
- get: function () { return chunkXTPYL6OM_js.OrphanSystemAttributeError; }
6962
+ get: function () { return chunk7LIRDMJ7_js.OrphanSystemAttributeError; }
6945
6963
  });
6946
6964
  Object.defineProperty(exports, "ProtectedResourceError", {
6947
6965
  enumerable: true,
6948
- get: function () { return chunkXTPYL6OM_js.ProtectedResourceError; }
6966
+ get: function () { return chunk7LIRDMJ7_js.ProtectedResourceError; }
6949
6967
  });
6950
6968
  Object.defineProperty(exports, "ProtectedRoleError", {
6951
6969
  enumerable: true,
6952
- get: function () { return chunkXTPYL6OM_js.ProtectedRoleError; }
6970
+ get: function () { return chunk7LIRDMJ7_js.ProtectedRoleError; }
6953
6971
  });
6954
6972
  Object.defineProperty(exports, "RecordNotFoundError", {
6955
6973
  enumerable: true,
6956
- get: function () { return chunkXTPYL6OM_js.RecordNotFoundError; }
6974
+ get: function () { return chunk7LIRDMJ7_js.RecordNotFoundError; }
6957
6975
  });
6958
6976
  Object.defineProperty(exports, "RecordReferencedError", {
6959
6977
  enumerable: true,
6960
- get: function () { return chunkXTPYL6OM_js.RecordReferencedError; }
6978
+ get: function () { return chunk7LIRDMJ7_js.RecordReferencedError; }
6961
6979
  });
6962
6980
  Object.defineProperty(exports, "RepositoryError", {
6963
6981
  enumerable: true,
6964
- get: function () { return chunkXTPYL6OM_js.RepositoryError; }
6982
+ get: function () { return chunk7LIRDMJ7_js.RepositoryError; }
6965
6983
  });
6966
6984
  Object.defineProperty(exports, "RoleNotFoundError", {
6967
6985
  enumerable: true,
6968
- get: function () { return chunkXTPYL6OM_js.RoleNotFoundError; }
6986
+ get: function () { return chunk7LIRDMJ7_js.RoleNotFoundError; }
6969
6987
  });
6970
6988
  Object.defineProperty(exports, "SchemaError", {
6971
6989
  enumerable: true,
6972
- get: function () { return chunkXTPYL6OM_js.SchemaError; }
6990
+ get: function () { return chunk7LIRDMJ7_js.SchemaError; }
6973
6991
  });
6974
6992
  Object.defineProperty(exports, "SchemaErrorCode", {
6975
6993
  enumerable: true,
6976
- get: function () { return chunkXTPYL6OM_js.SchemaErrorCode; }
6994
+ get: function () { return chunk7LIRDMJ7_js.SchemaErrorCode; }
6977
6995
  });
6978
6996
  Object.defineProperty(exports, "SearchBackendError", {
6979
6997
  enumerable: true,
6980
- get: function () { return chunkXTPYL6OM_js.SearchBackendError; }
6998
+ get: function () { return chunk7LIRDMJ7_js.SearchBackendError; }
6981
6999
  });
6982
7000
  Object.defineProperty(exports, "StorageError", {
6983
7001
  enumerable: true,
6984
- get: function () { return chunkXTPYL6OM_js.StorageError; }
7002
+ get: function () { return chunk7LIRDMJ7_js.StorageError; }
6985
7003
  });
6986
7004
  Object.defineProperty(exports, "SyncCascadeError", {
6987
7005
  enumerable: true,
6988
- get: function () { return chunkXTPYL6OM_js.SyncCascadeError; }
7006
+ get: function () { return chunk7LIRDMJ7_js.SyncCascadeError; }
6989
7007
  });
6990
7008
  Object.defineProperty(exports, "SyncConflictError", {
6991
7009
  enumerable: true,
6992
- get: function () { return chunkXTPYL6OM_js.SyncConflictError; }
7010
+ get: function () { return chunk7LIRDMJ7_js.SyncConflictError; }
6993
7011
  });
6994
7012
  Object.defineProperty(exports, "SyncError", {
6995
7013
  enumerable: true,
6996
- get: function () { return chunkXTPYL6OM_js.SyncError; }
7014
+ get: function () { return chunk7LIRDMJ7_js.SyncError; }
6997
7015
  });
6998
7016
  Object.defineProperty(exports, "SystemEntityImmutableError", {
6999
7017
  enumerable: true,
7000
- get: function () { return chunkXTPYL6OM_js.SystemEntityImmutableError; }
7018
+ get: function () { return chunk7LIRDMJ7_js.SystemEntityImmutableError; }
7001
7019
  });
7002
7020
  Object.defineProperty(exports, "ValidationError", {
7003
7021
  enumerable: true,
7004
- get: function () { return chunkXTPYL6OM_js.ValidationError; }
7022
+ get: function () { return chunk7LIRDMJ7_js.ValidationError; }
7005
7023
  });
7006
7024
  Object.defineProperty(exports, "computeRecordStatus", {
7007
7025
  enumerable: true,
7008
- get: function () { return chunkXTPYL6OM_js.computeRecordStatus; }
7026
+ get: function () { return chunk7LIRDMJ7_js.computeRecordStatus; }
7009
7027
  });
7010
7028
  Object.defineProperty(exports, "createFormAttributeValidator", {
7011
7029
  enumerable: true,
7012
- get: function () { return chunkXTPYL6OM_js.createFormAttributeValidator; }
7030
+ get: function () { return chunk7LIRDMJ7_js.createFormAttributeValidator; }
7013
7031
  });
7014
7032
  Object.defineProperty(exports, "isAttributeInUseError", {
7015
7033
  enumerable: true,
7016
- get: function () { return chunkXTPYL6OM_js.isAttributeInUseError; }
7034
+ get: function () { return chunk7LIRDMJ7_js.isAttributeInUseError; }
7017
7035
  });
7018
7036
  Object.defineProperty(exports, "isNotFoundError", {
7019
7037
  enumerable: true,
7020
- get: function () { return chunkXTPYL6OM_js.isNotFoundError; }
7038
+ get: function () { return chunk7LIRDMJ7_js.isNotFoundError; }
7021
7039
  });
7022
7040
  Object.defineProperty(exports, "isObjectReferencedError", {
7023
7041
  enumerable: true,
7024
- get: function () { return chunkXTPYL6OM_js.isObjectReferencedError; }
7042
+ get: function () { return chunk7LIRDMJ7_js.isObjectReferencedError; }
7025
7043
  });
7026
7044
  Object.defineProperty(exports, "isProtectedResourceError", {
7027
7045
  enumerable: true,
7028
- get: function () { return chunkXTPYL6OM_js.isProtectedResourceError; }
7046
+ get: function () { return chunk7LIRDMJ7_js.isProtectedResourceError; }
7029
7047
  });
7030
7048
  Object.defineProperty(exports, "isRecordReferencedError", {
7031
7049
  enumerable: true,
7032
- get: function () { return chunkXTPYL6OM_js.isRecordReferencedError; }
7050
+ get: function () { return chunk7LIRDMJ7_js.isRecordReferencedError; }
7033
7051
  });
7034
7052
  Object.defineProperty(exports, "isSchemaError", {
7035
7053
  enumerable: true,
7036
- get: function () { return chunkXTPYL6OM_js.isSchemaError; }
7054
+ get: function () { return chunk7LIRDMJ7_js.isSchemaError; }
7037
7055
  });
7038
7056
  Object.defineProperty(exports, "isValidationError", {
7039
7057
  enumerable: true,
7040
- get: function () { return chunkXTPYL6OM_js.isValidationError; }
7058
+ get: function () { return chunk7LIRDMJ7_js.isValidationError; }
7041
7059
  });
7042
7060
  Object.defineProperty(exports, "rejectUnknownAttributesOrThrow", {
7043
7061
  enumerable: true,
7044
- get: function () { return chunkXTPYL6OM_js.rejectUnknownAttributesOrThrow; }
7062
+ get: function () { return chunk7LIRDMJ7_js.rejectUnknownAttributesOrThrow; }
7045
7063
  });
7046
7064
  Object.defineProperty(exports, "validateDraft", {
7047
7065
  enumerable: true,
7048
- get: function () { return chunkXTPYL6OM_js.validateDraft; }
7066
+ get: function () { return chunk7LIRDMJ7_js.validateDraft; }
7049
7067
  });
7050
7068
  Object.defineProperty(exports, "validateDraftOrThrow", {
7051
7069
  enumerable: true,
7052
- get: function () { return chunkXTPYL6OM_js.validateDraftOrThrow; }
7070
+ get: function () { return chunk7LIRDMJ7_js.validateDraftOrThrow; }
7053
7071
  });
7054
7072
  Object.defineProperty(exports, "validateObject", {
7055
7073
  enumerable: true,
7056
- get: function () { return chunkXTPYL6OM_js.validateObject; }
7074
+ get: function () { return chunk7LIRDMJ7_js.validateObject; }
7057
7075
  });
7058
7076
  Object.defineProperty(exports, "validateObjectOrThrow", {
7059
7077
  enumerable: true,
7060
- get: function () { return chunkXTPYL6OM_js.validateObjectOrThrow; }
7078
+ get: function () { return chunk7LIRDMJ7_js.validateObjectOrThrow; }
7079
+ });
7080
+ Object.defineProperty(exports, "ComputedFormulaParseError", {
7081
+ enumerable: true,
7082
+ get: function () { return chunkNSM2JPC3_js.ComputedFormulaParseError; }
7083
+ });
7084
+ Object.defineProperty(exports, "parseAttributeConfig", {
7085
+ enumerable: true,
7086
+ get: function () { return chunkNSM2JPC3_js.parseAttributeConfig; }
7087
+ });
7088
+ Object.defineProperty(exports, "parseComputedFormula", {
7089
+ enumerable: true,
7090
+ get: function () { return chunkNSM2JPC3_js.parseComputedFormula; }
7061
7091
  });
7062
7092
  Object.defineProperty(exports, "DEFAULT_VALIDATION_MESSAGES", {
7063
7093
  enumerable: true,
@@ -7128,6 +7158,7 @@ exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES;
7128
7158
  exports.RESERVED_OBJECT_NAMES = RESERVED_OBJECT_NAMES;
7129
7159
  exports.RelationGroupBuilder = RelationGroupBuilder;
7130
7160
  exports.RichtextTabConfig = RichtextTabConfig;
7161
+ exports.SKILL_LIST_VIEW = SKILL_LIST_VIEW;
7131
7162
  exports.SKILL_OBJECT = SKILL_OBJECT;
7132
7163
  exports.SKILL_VIEW = SKILL_VIEW;
7133
7164
  exports.STANDARD_SCHEMA_VENDOR = STANDARD_SCHEMA_VENDOR;
@@ -7245,6 +7276,7 @@ exports.relation = relation;
7245
7276
  exports.relationGroup = relationGroup;
7246
7277
  exports.renderLabelExpression = renderLabelExpression;
7247
7278
  exports.resetViewToDefault = resetViewToDefault;
7279
+ exports.resolvePropertyDefinitions = resolvePropertyDefinitions;
7248
7280
  exports.richtext = richtext;
7249
7281
  exports.rollup = rollup;
7250
7282
  exports.rollupToFormulaExpression = rollupToFormulaExpression;
package/dist/index.mjs CHANGED
@@ -1,11 +1,8 @@
1
1
  import { generateId } from './chunk-QY6QFRRV.mjs';
2
2
  export { asTenantId, asUserId, deepEqual, generateId, indexBy } from './chunk-QY6QFRRV.mjs';
3
3
  import './chunk-SP3PNHYF.mjs';
4
- import { parseComputedFormula } from './chunk-AAXJJNY6.mjs';
5
- export { ComputedFormulaParseError, parseAttributeConfig, parseComputedFormula } from './chunk-AAXJJNY6.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
- import './chunk-OSSGN43B.mjs';
4
+ import { createObjectValidator, SchemaError, SchemaErrorCode, createAttributeValidator, ValidationError } from './chunk-6DHNDVBO.mjs';
5
+ 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-6DHNDVBO.mjs';
9
6
  import './chunk-6I2R22CX.mjs';
10
7
  import './chunk-UANQJ2GH.mjs';
11
8
  import './chunk-NOMHDOVE.mjs';
@@ -14,6 +11,9 @@ import './chunk-ZDQ5AP26.mjs';
14
11
  import './chunk-LV3FEUKU.mjs';
15
12
  import './chunk-UXAHLSWC.mjs';
16
13
  import './chunk-NS63SPNN.mjs';
14
+ import { parseComputedFormula } from './chunk-AAXJJNY6.mjs';
15
+ export { ComputedFormulaParseError, parseAttributeConfig, parseComputedFormula } from './chunk-AAXJJNY6.mjs';
16
+ import './chunk-OSSGN43B.mjs';
17
17
  import './chunk-AYVHMVKQ.mjs';
18
18
  import './chunk-CI6EGLL6.mjs';
19
19
  import './chunk-YUFTHPOE.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",
@@ -547,6 +548,13 @@ function accessLevelToActions(level) {
547
548
  }
548
549
 
549
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
+ }
550
558
  function hasOptions(attr) {
551
559
  return attr.type === "select" || attr.type === "status" || attr.type === "multiselect";
552
560
  }
@@ -2702,6 +2710,16 @@ var ObjectBuilder = class {
2702
2710
  this._labelExpression = template;
2703
2711
  return this;
2704
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
+ }
2705
2723
  /**
2706
2724
  * Attach a document layout convention to this object. Defines named variant
2707
2725
  * sub-folders and installable preset structures inside a record's drive.
@@ -2771,6 +2789,16 @@ var ObjectBuilder = class {
2771
2789
  SchemaErrorCode.VALIDATION_FAILED
2772
2790
  );
2773
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
+ }
2774
2802
  const sortedVersions = [...this._migrations].sort((a, b) => a.version - b.version);
2775
2803
  for (let i = 0; i < sortedVersions.length; i++) {
2776
2804
  const expected = i + 2;
@@ -2785,6 +2813,7 @@ var ObjectBuilder = class {
2785
2813
  ...this.obj,
2786
2814
  pluralLabel: this._pluralLabel,
2787
2815
  labelExpression: this._labelExpression,
2816
+ embeddingExpression: this._embeddingExpression,
2788
2817
  schema_version,
2789
2818
  migrations: sortedVersions,
2790
2819
  sealed: this._sealed,
@@ -4526,8 +4555,9 @@ Available objects: ${this.listNames().join(", ")}`
4526
4555
  var registry = new NativeObjectRegistryClass();
4527
4556
 
4528
4557
  // src/native/skill.object.ts
4529
- var SKILL_OBJECT = object({ name: "skill", label: "Skill" }).sealed().icon("sparkles").order(Number.MAX_SAFE_INTEGER).labelExpression("{{ displayName }}").attribute(text({ name: "name", label: "Name" }).required()).attribute(text({ name: "displayName", label: "Display Name" }).required()).attribute(text({ name: "description", label: "Description" }).multiline().required()).attribute(richtext({ name: "content", label: "Content" })).attribute(document({ name: "attachments", label: "Attachments" })).attribute(checkbox({ name: "alwaysOn", label: "Always on" })).attribute(checkbox({ name: "enabled", label: "Enabled" })).build();
4530
- var SKILL_VIEW = detailView("skill-detail", "Skill").for("skill").default().sidePanel({ attributes: ["name", "displayName", "description", "alwaysOn", "enabled"] }).tab("content", "Content").richtext("content").done().tab("attachments", "Attachments").documents().done().build();
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();
4531
4561
 
4532
4562
  // src/views/registry.ts
4533
4563
  var ViewRegistry = class {
@@ -6848,4 +6878,4 @@ function validateQualifiedRule(rule, context) {
6848
6878
  assertRelativeDateValue(rule);
6849
6879
  }
6850
6880
 
6851
- 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_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, 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-CUROLTVH.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-BIngT-ky.js';
1
+ import { A as Attribute } from './attributes-DZj9iuri.js';
2
2
 
3
3
  /**
4
4
  * Validation messages for Zod validators.