@stndrds/schema 0.1.0-alpha.60 → 0.1.0-alpha.62

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.
@@ -1885,6 +1885,41 @@ function evaluateWithTrace(condition, context) {
1885
1885
  return evaluateCondition(condition, context, true);
1886
1886
  }
1887
1887
 
1888
+ // src/types/errors.ts
1889
+ var RecordReferencedError = class extends Error {
1890
+ constructor(recordId, references) {
1891
+ const total = references.reduce((sum, r) => sum + r.count, 0);
1892
+ super(`Cannot delete record: referenced by ${total} record${total > 1 ? "s" : ""}`);
1893
+ this.recordId = recordId;
1894
+ this.references = references;
1895
+ this.code = "RECORD_REFERENCED";
1896
+ this.name = "RecordReferencedError";
1897
+ }
1898
+ };
1899
+ var AttributeInUseError = class extends Error {
1900
+ constructor(attributeName, usage) {
1901
+ super(`Cannot delete attribute "${attributeName}": used in ${usage}`);
1902
+ this.attributeName = attributeName;
1903
+ this.usage = usage;
1904
+ this.code = "ATTRIBUTE_IN_USE";
1905
+ this.name = "AttributeInUseError";
1906
+ }
1907
+ };
1908
+ var ObjectReferencedError = class extends Error {
1909
+ constructor(objectName, referencingObjects) {
1910
+ super(
1911
+ `Cannot delete object "${objectName}": target of relations in ${referencingObjects.join(", ")}`
1912
+ );
1913
+ this.objectName = objectName;
1914
+ this.referencingObjects = referencingObjects;
1915
+ this.code = "OBJECT_REFERENCED";
1916
+ this.name = "ObjectReferencedError";
1917
+ }
1918
+ };
1919
+ function getErrorMessage(error2) {
1920
+ return error2 instanceof Error ? error2.message : String(error2);
1921
+ }
1922
+
1888
1923
  // src/runtime/executors/types.ts
1889
1924
  var ExecutorRegistry = class {
1890
1925
  constructor() {
@@ -1927,7 +1962,7 @@ var ExecutorRegistry = class {
1927
1962
  return {
1928
1963
  status: "error",
1929
1964
  code: "EXECUTOR_ERROR",
1930
- message: error2 instanceof Error ? error2.message : "Unknown error",
1965
+ message: getErrorMessage(error2),
1931
1966
  retryable: true
1932
1967
  };
1933
1968
  }
@@ -2418,7 +2453,7 @@ function evaluateFormulaWithResult(expression, values) {
2418
2453
  } catch (error2) {
2419
2454
  return {
2420
2455
  value: null,
2421
- error: error2 instanceof Error ? error2.message : "Unknown error"
2456
+ error: getErrorMessage(error2)
2422
2457
  };
2423
2458
  }
2424
2459
  }
@@ -2458,7 +2493,7 @@ function validateFormulaExpression(expression) {
2458
2493
  } catch (error2) {
2459
2494
  return {
2460
2495
  valid: false,
2461
- error: error2 instanceof Error ? error2.message : "Invalid expression"
2496
+ error: getErrorMessage(error2)
2462
2497
  };
2463
2498
  }
2464
2499
  }
@@ -4089,7 +4124,6 @@ function createMockObjectRecordsRepository(stores) {
4089
4124
  }
4090
4125
 
4091
4126
  // src/runtime/mock/mock-relation-attributes.ts
4092
- var _crypto = require('crypto');
4093
4127
  function createMockRelationAttributesRepository(stores) {
4094
4128
  return {
4095
4129
  async upsertBatch(items) {
@@ -4110,7 +4144,7 @@ function createMockRelationAttributesRepository(stores) {
4110
4144
  results.push(existing);
4111
4145
  } else {
4112
4146
  const row = {
4113
- id: _crypto.randomUUID.call(void 0, ),
4147
+ id: _chunkNEVERCM3js.generateId.call(void 0, ),
4114
4148
  tenantId: context.tenantId,
4115
4149
  fromObject: item.fromObject,
4116
4150
  fromId: item.fromId,
@@ -6957,7 +6991,6 @@ function object(config) {
6957
6991
 
6958
6992
  // src/builders/view-builder.ts
6959
6993
 
6960
-
6961
6994
  var GroupBuilder = class {
6962
6995
  constructor(id, label) {
6963
6996
  this.data = { fields: [] };
@@ -7050,6 +7083,15 @@ var BaseTableTabConfig = class {
7050
7083
  this.tabData.allowCreate = true;
7051
7084
  return this;
7052
7085
  }
7086
+ /**
7087
+ * Set creation behavior when clicking "+"
7088
+ * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
7089
+ * @example .createMode("inline") or .createMode("modal")
7090
+ */
7091
+ createMode(mode) {
7092
+ this.tabData.createMode = mode;
7093
+ return this;
7094
+ }
7053
7095
  /**
7054
7096
  * Allow inline editing
7055
7097
  */
@@ -7655,8 +7697,6 @@ var ListViewBuilder = class {
7655
7697
  this.data = {
7656
7698
  name,
7657
7699
  label,
7658
- layout: "table",
7659
- columns: [],
7660
7700
  tabs: []
7661
7701
  };
7662
7702
  }
@@ -7697,82 +7737,21 @@ var ListViewBuilder = class {
7697
7737
  return this;
7698
7738
  }
7699
7739
  /**
7700
- * Set the layout to table (default)
7701
- */
7702
- table() {
7703
- this.data.layout = "table";
7704
- return this;
7705
- }
7706
- /**
7707
- * Set the layout to kanban and specify the grouping attribute
7708
- * @param groupByAttribute - Attribute to group by (must be a select/status type)
7709
- */
7710
- kanban(groupByAttribute) {
7711
- this.data.layout = "kanban";
7712
- this.data.groupByAttribute = groupByAttribute;
7713
- return this;
7714
- }
7715
- /**
7716
- * Set columns to display
7717
- * @example .columns("name", "email", "status", "createdAt")
7718
- */
7719
- columns(...names) {
7720
- this.data.columns = names;
7721
- return this;
7722
- }
7723
- /**
7724
- * Set width for a specific column in pixels
7725
- * @example .columnWidth("email", 200)
7726
- */
7727
- columnWidth(columnName, width) {
7728
- if (!this.data.columnSizing) {
7729
- this.data.columnSizing = {};
7730
- }
7731
- this.data.columnSizing[columnName] = width;
7732
- return this;
7733
- }
7734
- /**
7735
- * Set widths for multiple columns
7736
- * @example .columnWidths({ email: 200, name: 300, status: 100 })
7737
- */
7738
- columnWidths(widths) {
7739
- this.data.columnSizing = { ...this.data.columnSizing, ...widths };
7740
- return this;
7741
- }
7742
- /**
7743
- * Set default filters
7744
- * @example .filter({ combinator: "and", rules: [{ attribute: "status", operator: "is", value: "active" }] })
7740
+ * Set base filters applied to ALL tabs (scoping, tenant, etc.)
7741
+ * @example .baseFilter({ combinator: "and", rules: [{ attribute: "tenant", operator: "is", value: "acme" }] })
7745
7742
  */
7746
- filter(filters) {
7743
+ baseFilter(filters) {
7747
7744
  this.data.defaultFilters = filters;
7748
7745
  return this;
7749
7746
  }
7750
7747
  /**
7751
- * Add a single sort rule
7752
- * @example .sort("lastName", "asc")
7753
- */
7754
- sort(attribute, direction = "asc") {
7755
- if (!this.data.defaultSorts) {
7756
- this.data.defaultSorts = [];
7757
- }
7758
- this.data.defaultSorts.push({ attribute, direction });
7759
- return this;
7760
- }
7761
- /**
7762
- * Set multiple sort rules
7763
- * @example .sorts([{ attribute: "lastName", direction: "asc" }, { attribute: "firstName", direction: "asc" }])
7764
- */
7765
- sorts(rules) {
7766
- this.data.defaultSorts = rules;
7767
- return this;
7768
- }
7769
- /**
7770
- * Add an internal tab (filter preset)
7771
- * Returns a TabConfigBuilder for chaining tab configuration
7748
+ * Add a tab with its own full configuration (layout, columns, filters, sorts, groupBy)
7749
+ * Returns a ListViewTabConfigBuilder for chaining tab configuration
7772
7750
  * @example
7773
7751
  * ```typescript
7774
- * .tab("all", "All Contacts").icon("users").default()
7775
- * .tab("active", "Active").icon("check").filter({ ... })
7752
+ * .tab("all", "All Contacts").columns("name", "email").default()
7753
+ * .tab("active", "Active").columns("name", "email").filter({ ... })
7754
+ * .tab("pipeline", "Pipeline").kanban("stage").columns("name", "amount")
7776
7755
  * ```
7777
7756
  */
7778
7757
  tab(id, label) {
@@ -7792,13 +7771,8 @@ var ListViewBuilder = class {
7792
7771
  if (!this.data.object) {
7793
7772
  throw new Error("[ListViewBuilder] for() is required - specify the target object");
7794
7773
  }
7795
- if (this.data.columns.length === 0) {
7796
- throw new Error("[ListViewBuilder] columns() is required - specify at least one column");
7797
- }
7798
- if (this.data.layout === "kanban" && !this.data.groupByAttribute) {
7799
- throw new Error(
7800
- "[ListViewBuilder] kanban() requires a groupByAttribute - specify the attribute to group by"
7801
- );
7774
+ if (this.data.tabs.length === 0) {
7775
+ throw new Error("[ListViewBuilder] At least one tab is required");
7802
7776
  }
7803
7777
  const tabIds = /* @__PURE__ */ new Set();
7804
7778
  for (const tab of this.data.tabs) {
@@ -7811,28 +7785,39 @@ var ListViewBuilder = class {
7811
7785
  if (defaultTabs.length > 1) {
7812
7786
  throw new Error("[ListViewBuilder] Only one tab can be marked as default");
7813
7787
  }
7788
+ for (const tab of this.data.tabs) {
7789
+ if (tab.columns.length === 0) {
7790
+ throw new Error(`[ListViewBuilder] Tab "${tab.id}" must have at least one column`);
7791
+ }
7792
+ if (tab.layout === "kanban" && !tab.groupByAttribute) {
7793
+ throw new Error(`[ListViewBuilder] Kanban tab "${tab.id}" requires a groupByAttribute`);
7794
+ }
7795
+ }
7814
7796
  const config = {
7815
- layout: this.data.layout,
7816
- columns: this.data.columns,
7817
- columnSizing: this.data.columnSizing,
7818
7797
  defaultFilters: this.data.defaultFilters ? {
7819
- id: _crypto.randomUUID.call(void 0, ),
7798
+ id: _chunkNEVERCM3js.generateId.call(void 0, ),
7820
7799
  combinator: this.data.defaultFilters.combinator,
7821
7800
  rules: this.data.defaultFilters.rules
7822
7801
  } : void 0,
7823
- defaultSorts: this.data.defaultSorts,
7824
- groupByAttribute: this.data.groupByAttribute,
7825
- tabs: this.data.tabs.length > 0 ? this.data.tabs.map((tab) => ({
7802
+ tabs: this.data.tabs.map((tab) => ({
7826
7803
  id: tab.id,
7827
7804
  label: tab.label,
7828
7805
  icon: tab.icon,
7806
+ default: tab.default,
7807
+ layout: tab.layout,
7808
+ columns: tab.columns,
7809
+ columnSizing: tab.columnSizing,
7829
7810
  filters: tab.filters ? {
7830
- id: _crypto.randomUUID.call(void 0, ),
7811
+ id: _chunkNEVERCM3js.generateId.call(void 0, ),
7831
7812
  combinator: tab.filters.combinator,
7832
7813
  rules: tab.filters.rules
7833
7814
  } : void 0,
7834
- default: tab.default
7835
- })) : void 0
7815
+ sorts: tab.sorts,
7816
+ groupByAttribute: tab.groupByAttribute,
7817
+ cardUserAttribute: tab.cardUserAttribute,
7818
+ cardDateAttribute: tab.cardDateAttribute,
7819
+ createMode: tab.createMode
7820
+ }))
7836
7821
  };
7837
7822
  return {
7838
7823
  name: this.data.name,
@@ -7867,7 +7852,12 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
7867
7852
  /** @internal */
7868
7853
  constructor(view2, id, label) {
7869
7854
  this.view = view2;
7870
- this.tabData = { id, label };
7855
+ this.tabData = {
7856
+ id,
7857
+ label,
7858
+ layout: "table",
7859
+ columns: []
7860
+ };
7871
7861
  }
7872
7862
  /**
7873
7863
  * Set tab icon
@@ -7877,7 +7867,74 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
7877
7867
  return this;
7878
7868
  }
7879
7869
  /**
7880
- * Set filters for this tab (filter preset)
7870
+ * Mark this tab as the default tab
7871
+ */
7872
+ default() {
7873
+ this.tabData.default = true;
7874
+ return this;
7875
+ }
7876
+ /**
7877
+ * Set the layout to table (default)
7878
+ */
7879
+ table() {
7880
+ this.tabData.layout = "table";
7881
+ return this;
7882
+ }
7883
+ /**
7884
+ * Set the layout to kanban and specify the grouping attribute
7885
+ * @param groupByAttribute - Attribute to group by (must be a select/status type)
7886
+ */
7887
+ kanban(groupByAttribute) {
7888
+ this.tabData.layout = "kanban";
7889
+ this.tabData.groupByAttribute = groupByAttribute;
7890
+ return this;
7891
+ }
7892
+ /**
7893
+ * Set the user attribute to display on kanban cards (bottom-left)
7894
+ * @param attributeName - Name of a user-type attribute
7895
+ */
7896
+ cardUserAttribute(attributeName) {
7897
+ this.tabData.cardUserAttribute = attributeName;
7898
+ return this;
7899
+ }
7900
+ /**
7901
+ * Set the date attribute to display on kanban cards (bottom-right)
7902
+ * @param attributeName - Name of a date-type attribute
7903
+ */
7904
+ cardDateAttribute(attributeName) {
7905
+ this.tabData.cardDateAttribute = attributeName;
7906
+ return this;
7907
+ }
7908
+ /**
7909
+ * Set creation behavior when clicking "+"
7910
+ * @param mode - "redirect" (navigate to detail), "inline" (empty row), or "modal" (stacked modal)
7911
+ * @example .createMode("inline") or .createMode("modal")
7912
+ */
7913
+ createMode(mode) {
7914
+ this.tabData.createMode = mode;
7915
+ return this;
7916
+ }
7917
+ /**
7918
+ * Set columns to display
7919
+ * @example .columns("name", "email", "status", "createdAt")
7920
+ */
7921
+ columns(...names) {
7922
+ this.tabData.columns = names;
7923
+ return this;
7924
+ }
7925
+ /**
7926
+ * Set width for a specific column in pixels
7927
+ * @example .columnWidth("email", 200)
7928
+ */
7929
+ columnWidth(columnName, width) {
7930
+ if (!this.tabData.columnSizing) {
7931
+ this.tabData.columnSizing = {};
7932
+ }
7933
+ this.tabData.columnSizing[columnName] = width;
7934
+ return this;
7935
+ }
7936
+ /**
7937
+ * Set filters for this tab
7881
7938
  * @example .filter({ combinator: "and", rules: [{ attribute: "status", operator: "is", value: "active" }] })
7882
7939
  */
7883
7940
  filter(filters) {
@@ -7885,10 +7942,22 @@ var ListViewTabConfigBuilder = class _ListViewTabConfigBuilder {
7885
7942
  return this;
7886
7943
  }
7887
7944
  /**
7888
- * Mark this tab as the default tab
7945
+ * Add a single sort rule
7946
+ * @example .sort("lastName", "asc")
7889
7947
  */
7890
- default() {
7891
- this.tabData.default = true;
7948
+ sort(attribute, direction = "asc") {
7949
+ if (!this.tabData.sorts) {
7950
+ this.tabData.sorts = [];
7951
+ }
7952
+ this.tabData.sorts.push({ attribute, direction });
7953
+ return this;
7954
+ }
7955
+ /**
7956
+ * Set multiple sort rules
7957
+ * @example .sorts([{ attribute: "lastName", direction: "asc" }, { attribute: "firstName", direction: "asc" }])
7958
+ */
7959
+ sorts(rules) {
7960
+ this.tabData.sorts = rules;
7892
7961
  return this;
7893
7962
  }
7894
7963
  /**
@@ -8484,38 +8553,6 @@ function isPresentationProperty(property) {
8484
8553
  return PRESENTATION_PROPERTIES.includes(property);
8485
8554
  }
8486
8555
 
8487
- // src/types/errors.ts
8488
- var RecordReferencedError = class extends Error {
8489
- constructor(recordId, references) {
8490
- const total = references.reduce((sum, r) => sum + r.count, 0);
8491
- super(`Cannot delete record: referenced by ${total} record${total > 1 ? "s" : ""}`);
8492
- this.recordId = recordId;
8493
- this.references = references;
8494
- this.code = "RECORD_REFERENCED";
8495
- this.name = "RecordReferencedError";
8496
- }
8497
- };
8498
- var AttributeInUseError = class extends Error {
8499
- constructor(attributeName, usage) {
8500
- super(`Cannot delete attribute "${attributeName}": used in ${usage}`);
8501
- this.attributeName = attributeName;
8502
- this.usage = usage;
8503
- this.code = "ATTRIBUTE_IN_USE";
8504
- this.name = "AttributeInUseError";
8505
- }
8506
- };
8507
- var ObjectReferencedError = class extends Error {
8508
- constructor(objectName, referencingObjects) {
8509
- super(
8510
- `Cannot delete object "${objectName}": target of relations in ${referencingObjects.join(", ")}`
8511
- );
8512
- this.objectName = objectName;
8513
- this.referencingObjects = referencingObjects;
8514
- this.code = "OBJECT_REFERENCED";
8515
- this.name = "ObjectReferencedError";
8516
- }
8517
- };
8518
-
8519
8556
  // src/types/system-attributes.ts
8520
8557
  var SYSTEM_ATTRIBUTES = {
8521
8558
  createdAt: {
@@ -11968,6 +12005,28 @@ var RecordService = class extends BaseService {
11968
12005
  });
11969
12006
  }
11970
12007
  }
12008
+ /**
12009
+ * Delete multiple records (soft delete).
12010
+ * Each record goes through the full deleteRecord pipeline (permissions, policies, hooks, audit).
12011
+ *
12012
+ * @returns Summary with successfully deleted IDs and any errors encountered
12013
+ */
12014
+ async bulkDeleteRecords(recordIds, options) {
12015
+ const deleted = [];
12016
+ const errors = [];
12017
+ for (const id of recordIds) {
12018
+ try {
12019
+ await this.deleteRecord(id, options);
12020
+ deleted.push(id);
12021
+ } catch (err) {
12022
+ errors.push({
12023
+ id,
12024
+ error: err instanceof Error ? err.message : String(err)
12025
+ });
12026
+ }
12027
+ }
12028
+ return { deleted, errors };
12029
+ }
11971
12030
  /**
11972
12031
  * Permanently delete a record (hard delete)
11973
12032
  */
@@ -12387,7 +12446,7 @@ var DocumentRendererService = class {
12387
12446
  throw error2;
12388
12447
  }
12389
12448
  throw new DocumentRenderError(
12390
- `Failed to render document: ${error2 instanceof Error ? error2.message : String(error2)}`,
12449
+ `Failed to render document: ${getErrorMessage(error2)}`,
12391
12450
  template.id,
12392
12451
  error2
12393
12452
  );
@@ -12659,7 +12718,7 @@ var DocumentProcessingHook = class extends BaseService {
12659
12718
  metadata: { ...metadata, status: "completed" }
12660
12719
  };
12661
12720
  } catch (error2) {
12662
- const errorMessage = error2 instanceof Error ? error2.message : String(error2);
12721
+ const errorMessage = getErrorMessage(error2);
12663
12722
  updatedDocuments[nodeId] = {
12664
12723
  ...doc,
12665
12724
  metadata: { ...metadata, status: "failed", error: errorMessage }
@@ -13126,7 +13185,7 @@ var WorkflowInstanceService = class extends BaseService {
13126
13185
  status: "failed",
13127
13186
  error: {
13128
13187
  code: "UNEXPECTED_ERROR",
13129
- message: error2 instanceof Error ? error2.message : String(error2),
13188
+ message: getErrorMessage(error2),
13130
13189
  nodeId: instance.currentNodeId,
13131
13190
  timestamp: /* @__PURE__ */ new Date()
13132
13191
  },
@@ -13172,7 +13231,7 @@ var WorkflowInstanceService = class extends BaseService {
13172
13231
  status: "failed",
13173
13232
  error: {
13174
13233
  code: "UNEXPECTED_ERROR",
13175
- message: error2 instanceof Error ? error2.message : String(error2),
13234
+ message: getErrorMessage(error2),
13176
13235
  nodeId: updatedInstance.currentNodeId,
13177
13236
  timestamp: /* @__PURE__ */ new Date()
13178
13237
  },
@@ -13613,7 +13672,7 @@ var WorkflowInstanceService = class extends BaseService {
13613
13672
  const rolledBackSlots = await this.rollbackSlotOperations(completedOperations);
13614
13673
  const rollbackInfo = rolledBackSlots.length > 0 ? ` Rolled back slots: [${rolledBackSlots.join(", ")}].` : "";
13615
13674
  throw new SchemaError(
13616
- `Failed to persist slot "${slot.id}" (${slot.objectName}): ${error2 instanceof Error ? error2.message : String(error2)}.${rollbackInfo}`,
13675
+ `Failed to persist slot "${slot.id}" (${slot.objectName}): ${getErrorMessage(error2)}.${rollbackInfo}`,
13617
13676
  SchemaErrorCode.VALIDATION_FAILED
13618
13677
  );
13619
13678
  }
@@ -15652,7 +15711,7 @@ var DocumentProcessingService = class extends BaseService {
15652
15711
  await this.documentService.recalculateStatus(job.documentId);
15653
15712
  return completedJob;
15654
15713
  } catch (error2) {
15655
- const errorMessage = error2 instanceof Error ? error2.message : "Unknown error";
15714
+ const errorMessage = getErrorMessage(error2);
15656
15715
  const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
15657
15716
  if (job.slotName) {
15658
15717
  const slot = await this.adapter.documentSlots.findByDocumentAndSlot(
@@ -15747,7 +15806,7 @@ var DocumentProcessingService = class extends BaseService {
15747
15806
  await this.documentService.updateStatus(job.documentId, "processing");
15748
15807
  return updatedJob;
15749
15808
  } catch (error2) {
15750
- const errorMessage = error2 instanceof Error ? error2.message : "Unknown error";
15809
+ const errorMessage = getErrorMessage(error2);
15751
15810
  const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
15752
15811
  await this.documentService.recalculateStatus(job.documentId);
15753
15812
  return failedJob;
@@ -15916,7 +15975,7 @@ var DocumentProcessingService = class extends BaseService {
15916
15975
  await this.documentService.recalculateStatus(job.documentId);
15917
15976
  return completedJob;
15918
15977
  } catch (error2) {
15919
- const errorMessage = error2 instanceof Error ? error2.message : "Unknown error";
15978
+ const errorMessage = getErrorMessage(error2);
15920
15979
  const failedJob = await this.adapter.documentJobs.markFailed(jobId, errorMessage);
15921
15980
  await this.documentService.recalculateStatus(job.documentId);
15922
15981
  return failedJob;
@@ -17240,8 +17299,15 @@ var ViewService = class extends BaseService {
17240
17299
  );
17241
17300
  const columns = visibleAttrs.sort((a, b) => (_nullishCoalesce(a.order, () => ( 999))) - (_nullishCoalesce(b.order, () => ( 999)))).slice(0, 5).map((attr) => attr.name);
17242
17301
  const config = {
17243
- layout: "table",
17244
- columns
17302
+ tabs: [
17303
+ {
17304
+ id: "all",
17305
+ label: "All",
17306
+ default: true,
17307
+ layout: "table",
17308
+ columns
17309
+ }
17310
+ ]
17245
17311
  };
17246
17312
  return {
17247
17313
  name: "default",
@@ -17647,7 +17713,7 @@ function handleViewSyncError(result, view2, error2) {
17647
17713
  result.errors.push({
17648
17714
  viewName: view2.name,
17649
17715
  objectName: view2.object,
17650
- error: error2 instanceof Error ? error2.message : String(error2)
17716
+ error: getErrorMessage(error2)
17651
17717
  });
17652
17718
  }
17653
17719
  async function cleanupOrphanViews(tx, viewsByObjectAndType, result, options) {
@@ -17668,7 +17734,7 @@ function handleTransactionError(result, error2) {
17668
17734
  result.errors.push({
17669
17735
  viewName: "transaction",
17670
17736
  objectName: "",
17671
- error: error2 instanceof Error ? error2.message : String(error2)
17737
+ error: getErrorMessage(error2)
17672
17738
  });
17673
17739
  }
17674
17740
  function logSyncComplete(result, options) {
@@ -17739,7 +17805,7 @@ async function syncNativeObjects(adapter, nativeRegistry, options = {}) {
17739
17805
  result.success = false;
17740
17806
  result.errors.push({
17741
17807
  objectName: nativeObject.name,
17742
- error: error2 instanceof Error ? error2.message : String(error2)
17808
+ error: getErrorMessage(error2)
17743
17809
  });
17744
17810
  }
17745
17811
  }
@@ -17748,7 +17814,7 @@ async function syncNativeObjects(adapter, nativeRegistry, options = {}) {
17748
17814
  result.success = false;
17749
17815
  result.errors.push({
17750
17816
  objectName: "transaction",
17751
- error: error2 instanceof Error ? error2.message : String(error2)
17817
+ error: getErrorMessage(error2)
17752
17818
  });
17753
17819
  }
17754
17820
  if (options.verbose) {
@@ -18261,4 +18327,5 @@ var NoopGeocodingAdapter = class {
18261
18327
 
18262
18328
 
18263
18329
 
18264
- exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES; exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES; exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES; exports.isIdentityProperty = isIdentityProperty; exports.isBehaviorProperty = isBehaviorProperty; exports.isPresentationProperty = isPresentationProperty; exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY; exports.isUniversalRelation = isUniversalRelation; exports.RecordReferencedError = RecordReferencedError; exports.AttributeInUseError = AttributeInUseError; exports.ObjectReferencedError = ObjectReferencedError; exports.NoopGeocodingAdapter = NoopGeocodingAdapter; exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES; exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES; exports.PolicyViolationError = PolicyViolationError; exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES; exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES; exports.getSystemAttributeList = getSystemAttributeList; exports.isSystemAttribute = isSystemAttribute; exports.isSystemAttributeObject = isSystemAttributeObject; exports.isSimpleFormNode = isSimpleFormNode; exports.isAdvancedFormNode = isAdvancedFormNode; exports.isStartNode = isStartNode; exports.isFormNode = isFormNode; exports.isConditionNode = isConditionNode; exports.isDocumentNode = isDocumentNode; exports.isEndNode = isEndNode; exports.getNodeOutputs = getNodeOutputs; exports.isConditionRule = isConditionRule; exports.isConditionGroup = isConditionGroup; exports.eq = eq; exports.neq = neq; exports.and = and; exports.or = or; exports.inValues = inValues; exports.isWorkflowDefinition = isWorkflowDefinition; exports.isWorkflowPublished = isWorkflowPublished; exports.isSystemWorkflow = isSystemWorkflow; exports.isInstanceTerminal = isInstanceTerminal; exports.isInstanceWaiting = isInstanceWaiting; exports.canResumeInstance = canResumeInstance; exports.createStartTransition = createStartTransition; exports.isInvitationValid = isInvitationValid; exports.isInvitationAccepted = isInvitationAccepted; exports.isInvitationExpired = isInvitationExpired; exports.isGrantValid = isGrantValid; exports.isGrantRevoked = isGrantRevoked; exports.isTokenRevoked = isTokenRevoked; exports.isGrantExpired = isGrantExpired; exports.canAccessNode = canAccessNode; exports.createEmptyContext = createEmptyContext; exports.getContextValue = getContextValue; exports.setContextValue = setContextValue; exports.DEFAULT_THEME = DEFAULT_THEME; exports.mergeWithDefaults = mergeWithDefaults; exports.generateCssVariables = generateCssVariables; exports.isInstanceEvent = isInstanceEvent; exports.isNodeEvent = isNodeEvent; exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent; exports.ConditionOperatorSchema = ConditionOperatorSchema; exports.ConditionRuleSchema = ConditionRuleSchema; exports.ConditionGroupSchema = ConditionGroupSchema; exports.StartNodeSchema = StartNodeSchema; exports.FormFieldRefSchema = FormFieldRefSchema; exports.FlowRowFieldSchema = FlowRowFieldSchema; exports.FlowRowSchema = FlowRowSchema; exports.FormNodeSchema = FormNodeSchema; exports.ConditionNodeSchema = ConditionNodeSchema; exports.DocumentNodeSchema = DocumentNodeSchema; exports.EndNodeSchema = EndNodeSchema; exports.WorkflowNodeSchema = WorkflowNodeSchema; exports.SlotModeSchema = SlotModeSchema; exports.WorkflowSlotSchema = WorkflowSlotSchema; exports.AuthMethodSchema = AuthMethodSchema; exports.ShareStatusSchema = ShareStatusSchema; exports.WorkflowShareSchema = WorkflowShareSchema; exports.CreateShareInputSchema = CreateShareInputSchema; exports.NodePositionSchema = NodePositionSchema; exports.ViewportSchema = ViewportSchema; exports.WorkflowLayoutSchema = WorkflowLayoutSchema; exports.ThemeColorsSchema = ThemeColorsSchema; exports.ThemeLogoSchema = ThemeLogoSchema; exports.WorkflowThemeSchema = WorkflowThemeSchema; exports.WorkflowConfigSchema = WorkflowConfigSchema; exports.WorkflowStatusSchema = WorkflowStatusSchema; exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema; exports.isEmpty = isEmpty; exports.isNotEmpty = isNotEmpty; exports.toUndefinedIfEmpty = toUndefinedIfEmpty; exports.hasProperties = hasProperties; exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER; exports.formatAttributeValue = formatAttributeValue; exports.SchemaErrorCode = SchemaErrorCode; exports.SchemaError = SchemaError; exports.NotFoundError = NotFoundError; exports.ObjectNotFoundError = ObjectNotFoundError; exports.AttributeNotFoundError = AttributeNotFoundError; exports.RecordNotFoundError = RecordNotFoundError; exports.UserProfileNotFoundError = UserProfileNotFoundError; exports.FileNotFoundError = FileNotFoundError; exports.ValidationError = ValidationError; exports.ProtectedResourceError = ProtectedResourceError; exports.SyncError = SyncError; exports.NotSystemObjectError = NotSystemObjectError; exports.DuplicateError = DuplicateError; exports.isSchemaError = isSchemaError; exports.isNotFoundError = isNotFoundError; exports.isValidationError = isValidationError; exports.isProtectedResourceError = isProtectedResourceError; exports.ForbiddenError = ForbiddenError; exports.ProtectedRoleError = ProtectedRoleError; exports.RoleNotFoundError = RoleNotFoundError; exports.isForbiddenError = isForbiddenError; exports.ConcurrentModificationError = ConcurrentModificationError; exports.PropertySchemaBuilder = PropertySchemaBuilder; exports.PropertyTypeBuilder = PropertyTypeBuilder; exports.BasePropertyBuilder = BasePropertyBuilder; exports.TextPropertyBuilder = TextPropertyBuilder; exports.TextareaPropertyBuilder = TextareaPropertyBuilder; exports.NumberPropertyBuilder = NumberPropertyBuilder; exports.CheckboxPropertyBuilder = CheckboxPropertyBuilder; exports.DatePropertyBuilder = DatePropertyBuilder; exports.PhonePropertyBuilder = PhonePropertyBuilder; exports.CurrencyPropertyBuilder = CurrencyPropertyBuilder; exports.StatusPropertyBuilder = StatusPropertyBuilder; exports.SelectPropertyBuilder = SelectPropertyBuilder; exports.MultiselectPropertyBuilder = MultiselectPropertyBuilder; exports.RatingPropertyBuilder = RatingPropertyBuilder; exports.LocationPropertyBuilder = LocationPropertyBuilder; exports.validatePropertyType = validatePropertyType; exports.text = text; exports.textarea = textarea; exports.richtext = richtext; exports.number = number; exports.checkbox = checkbox; exports.date = date; exports.phone = phone; exports.currency = currency; exports.status = status; exports.select = select; exports.multiselect = multiselect; exports.location = location; exports.file = file; exports.user = user; exports.relation = relation; exports.rating = rating; exports.formula = formula; exports.rollup = rollup; exports.document = document; exports.ObjectBuilder = ObjectBuilder; exports.object = object; exports.GroupBuilder = GroupBuilder; exports.DirectTableTabConfig = DirectTableTabConfig; exports.InverseTableTabConfig = InverseTableTabConfig; exports.CustomTabConfig = CustomTabConfig; exports.NotesTabConfig = NotesTabConfig; exports.ActivityTabConfig = ActivityTabConfig; exports.FlowsTabConfig = FlowsTabConfig; exports.DocumentsTabConfig = DocumentsTabConfig; exports.TabBuilder = TabBuilder; exports.DetailViewBuilder = DetailViewBuilder; exports.ViewBuilder = ViewBuilder; exports.detailView = detailView; exports.view = view; exports.ListViewBuilder = ListViewBuilder; exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder; exports.listView = listView; exports.group = group; exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder; exports.WorkflowFormBuilder = WorkflowFormBuilder; exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder; exports.WorkflowConditionBuilder = WorkflowConditionBuilder; exports.WorkflowEndBuilder = WorkflowEndBuilder; exports.WorkflowStartBuilder = WorkflowStartBuilder; exports.WorkflowBuilder = WorkflowBuilder; exports.workflow = workflow; exports.registry = registry; exports.SYSTEM_TEMPLATE_IDS = SYSTEM_TEMPLATE_IDS; exports.FRENCH_ID_CARD = FRENCH_ID_CARD; exports.PASSPORT = PASSPORT; exports.DRIVING_LICENSE = DRIVING_LICENSE; exports.PROOF_OF_ADDRESS = PROOF_OF_ADDRESS; exports.SIGNABLE_CONTRACT = SIGNABLE_CONTRACT; exports.GENERIC_DOCUMENT = GENERIC_DOCUMENT; exports.SYSTEM_TEMPLATES = SYSTEM_TEMPLATES; exports.getSystemTemplate = getSystemTemplate; exports.isSystemTemplate = isSystemTemplate; exports.WorkflowJwtService = WorkflowJwtService; exports.hashOptions = hashOptions; exports.cacheKeys = cacheKeys; exports.cacheTtl = cacheTtl; exports.defaultTtl = defaultTtl; exports.NoopCacheAdapter = NoopCacheAdapter; exports.formatRecord = formatRecord; exports.formatRecords = formatRecords; exports.createDefaultState = createDefaultState; exports.SHORTCUT_TO_FILTER_OPERATOR = SHORTCUT_TO_FILTER_OPERATOR; exports.QueryNoResultError = QueryNoResultError; exports.QueryMultipleResultsError = QueryMultipleResultsError; exports.TenantContextError = TenantContextError; exports.FeatureFlagsContextError = FeatureFlagsContextError; exports.isFeatureEnabled = isFeatureEnabled; exports.getFeatureValue = getFeatureValue; exports.getFeatureFlags = getFeatureFlags; exports.tryGetFeatureValue = tryGetFeatureValue; exports.hasFeatureFlagsContext = hasFeatureFlagsContext; exports.runWithFeatureFlags = runWithFeatureFlags; exports.withFeatureFlags = withFeatureFlags; exports.getSchemaFromContext = getSchemaFromContext; exports.getSchemaByNameFromContext = getSchemaByNameFromContext; exports.hasSchemaContext = hasSchemaContext; exports.getSchemaContext = getSchemaContext; exports.addSchemaToContext = addSchemaToContext; exports.runWithSchemaContext = runWithSchemaContext; exports.runWithMergedSchemaContext = runWithMergedSchemaContext; exports.getContext = getContext2; exports.getTenantId = getTenantId; exports.getUserId = getUserId; exports.hasContext = hasContext; exports.runWithContext = runWithContext; exports.withTenantContext = withTenantContext; exports.QueryBuilder = QueryBuilder; exports.createQueryBuilder = createQueryBuilder; exports.evaluateCondition = evaluateCondition; exports.evaluate = evaluate; exports.evaluateWithTrace = evaluateWithTrace; exports.ExecutorRegistry = ExecutorRegistry; exports.success = success; exports.wait = wait; exports.complete = complete; exports.error = error; exports.ConditionExecutor = ConditionExecutor; exports.DocumentExecutor = DocumentExecutor; exports.EndExecutor = EndExecutor; exports.FormExecutor = FormExecutor; exports.StartExecutor = StartExecutor; exports.createDefaultExecutorRegistry = createDefaultExecutorRegistry; exports.getDefaultExecutorRegistry = getDefaultExecutorRegistry; exports.evaluateFormula = evaluateFormula; exports.evaluateFormulaWithResult = evaluateFormulaWithResult; exports.formatFormulaResult = formatFormulaResult; exports.evaluateFormulaAttribute = evaluateFormulaAttribute; exports.validateFormulaExpression = validateFormulaExpression; exports.extractFormulaVariables = extractFormulaVariables; exports.extractRelationReferences = extractRelationReferences; exports.extractRelationNames = extractRelationNames; exports.hasRelationReferences = hasRelationReferences; exports.flattenRelationsForEval = flattenRelationsForEval; exports.evaluateFormulaWithRelations = evaluateFormulaWithRelations; exports.evaluateFormulaAttributeWithRelations = evaluateFormulaAttributeWithRelations; exports.InvalidPathError = InvalidPathError; exports.MaxDepthExceededError = MaxDepthExceededError; exports.parsePath = parsePath; exports.validatePath = validatePath; exports.pathHasManyCardinality = pathHasManyCardinality; exports.getPathDepth = getPathDepth; exports.getTargetAttributeName = getTargetAttributeName; exports.getRelationPath = getRelationPath; exports.traversePath = traversePath; exports.resolveSingleValue = resolveSingleValue; exports.resolveMultiplePaths = resolveMultiplePaths; exports.NoopHookRegistry = NoopHookRegistry; exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK; exports.renderLabelExpression = renderLabelExpression; exports.isLabelExpression = isLabelExpression; exports.extractAttributeNames = extractAttributeNames; exports.enrichValuesForDisplay = enrichValuesForDisplay; exports.enrichValuesWithSelectLabels = enrichValuesWithSelectLabels; exports.extractRelationIds = extractRelationIds; exports.computeLabelWithRelations = computeLabelWithRelations; exports.createMockAdapter = createMockAdapter; exports.PolicyRegistry = PolicyRegistry; exports.defaultPolicyRegistry = defaultPolicyRegistry; exports.notesPolicy = notesPolicy; exports.BaseService = BaseService; exports.BaseRepository = BaseRepository; exports.SchemaContextAwareRepository = SchemaContextAwareRepository; exports.buildAuditChanges = buildAuditChanges; exports.ObjectSchemaService = ObjectSchemaService; exports.AuditService = AuditService; exports.UserService = UserService; exports.applyDefaultValues = applyDefaultValues; exports.checkPermission = checkPermission; exports.getPolicy = getPolicy; exports.buildPolicyContext = buildPolicyContext; exports.checkRecordAccess = checkRecordAccess; exports.checkRecordModifyOrThrow = checkRecordModifyOrThrow; exports.checkRecordDeleteOrThrow = checkRecordDeleteOrThrow; exports.checkSharedObjectWriteAccess = checkSharedObjectWriteAccess; exports.computeLabel = computeLabel; exports.enrichWithFormulas = enrichWithFormulas; exports.enrichRecordsWithFormulas = enrichRecordsWithFormulas; exports.createContextForCreate = createContextForCreate; exports.createContextForUpdate = createContextForUpdate; exports.createContextForDelete = createContextForDelete; exports.createContextForRestore = createContextForRestore; exports.recalculateParentRollups = recalculateParentRollups; exports.RecordQueryService = RecordQueryService; exports.RecordResolverService = RecordResolverService; exports.RelationPropertiesService = RelationPropertiesService; exports.RelationService = RelationService; exports.RollupService = RollupService; exports.RecordService = RecordService; exports.FormulaResolverService = FormulaResolverService; exports.RollupScheduler = RollupScheduler; exports.DocumentRenderError = DocumentRenderError; exports.StorageDownloadNotSupportedError = StorageDownloadNotSupportedError; exports.DocumentRendererService = DocumentRendererService; exports.DocumentProcessingHook = DocumentProcessingHook; exports.GrantNotFoundError = GrantNotFoundError; exports.GrantExpiredError = GrantExpiredError; exports.GrantRevokedError = GrantRevokedError; exports.TokenRevokedError = TokenRevokedError; exports.WorkflowAccessGrantService = WorkflowAccessGrantService; exports.WorkflowInstanceService = WorkflowInstanceService; exports.InvitationNotFoundError = InvitationNotFoundError; exports.InvitationExpiredError = InvitationExpiredError; exports.InvitationAlreadyAcceptedError = InvitationAlreadyAcceptedError; exports.InvitationRevokedError = InvitationRevokedError; exports.WorkflowInvitationService = WorkflowInvitationService; exports.WorkflowRelationService = WorkflowRelationService; exports.WorkflowService = WorkflowService; exports.UserProfileService = UserProfileService; exports.DocumentGenerationTemplateNotFoundError = DocumentGenerationTemplateNotFoundError; exports.DocumentGenerationNotConfiguredError = DocumentGenerationNotConfiguredError; exports.DocumentGenerationService = DocumentGenerationService; exports.DocumentTemplateService = DocumentTemplateService; exports.DocumentService = DocumentService; exports.DocumentProcessingService = DocumentProcessingService; exports.FileService = FileService; exports.GeocodingService = GeocodingService; exports.GlobalSearchService = GlobalSearchService; exports.PermissionService = PermissionService; exports.ViewService = ViewService; exports.seedRegistryViews = seedRegistryViews; exports.syncNativeViews = syncNativeViews; exports.verifyRegistryViewsSeeded = verifyRegistryViewsSeeded; exports.verifyNativeViewsSync = verifyNativeViewsSync; exports.getViewSeedPreview = getViewSeedPreview; exports.getViewSyncPreview = getViewSyncPreview; exports.syncNativeObjects = syncNativeObjects; exports.verifyNativeObjectsSync = verifyNativeObjectsSync; exports.getSyncPreview = getSyncPreview; exports.syncAll = syncAll;
18330
+
18331
+ exports.IDENTITY_PROPERTIES = IDENTITY_PROPERTIES; exports.BEHAVIOR_PROPERTIES = BEHAVIOR_PROPERTIES; exports.PRESENTATION_PROPERTIES = PRESENTATION_PROPERTIES; exports.isIdentityProperty = isIdentityProperty; exports.isBehaviorProperty = isBehaviorProperty; exports.isPresentationProperty = isPresentationProperty; exports.RELATION_TARGET_ANY = RELATION_TARGET_ANY; exports.isUniversalRelation = isUniversalRelation; exports.RecordReferencedError = RecordReferencedError; exports.AttributeInUseError = AttributeInUseError; exports.ObjectReferencedError = ObjectReferencedError; exports.getErrorMessage = getErrorMessage; exports.NoopGeocodingAdapter = NoopGeocodingAdapter; exports.SYSTEM_FIELD_NAMES = SYSTEM_FIELD_NAMES; exports.RESERVED_ATTRIBUTE_NAMES = RESERVED_ATTRIBUTE_NAMES; exports.PolicyViolationError = PolicyViolationError; exports.FORBIDDEN_PROPERTY_TYPES = FORBIDDEN_PROPERTY_TYPES; exports.SYSTEM_ATTRIBUTES = SYSTEM_ATTRIBUTES; exports.getSystemAttributeList = getSystemAttributeList; exports.isSystemAttribute = isSystemAttribute; exports.isSystemAttributeObject = isSystemAttributeObject; exports.isSimpleFormNode = isSimpleFormNode; exports.isAdvancedFormNode = isAdvancedFormNode; exports.isStartNode = isStartNode; exports.isFormNode = isFormNode; exports.isConditionNode = isConditionNode; exports.isDocumentNode = isDocumentNode; exports.isEndNode = isEndNode; exports.getNodeOutputs = getNodeOutputs; exports.isConditionRule = isConditionRule; exports.isConditionGroup = isConditionGroup; exports.eq = eq; exports.neq = neq; exports.and = and; exports.or = or; exports.inValues = inValues; exports.isWorkflowDefinition = isWorkflowDefinition; exports.isWorkflowPublished = isWorkflowPublished; exports.isSystemWorkflow = isSystemWorkflow; exports.isInstanceTerminal = isInstanceTerminal; exports.isInstanceWaiting = isInstanceWaiting; exports.canResumeInstance = canResumeInstance; exports.createStartTransition = createStartTransition; exports.isInvitationValid = isInvitationValid; exports.isInvitationAccepted = isInvitationAccepted; exports.isInvitationExpired = isInvitationExpired; exports.isGrantValid = isGrantValid; exports.isGrantRevoked = isGrantRevoked; exports.isTokenRevoked = isTokenRevoked; exports.isGrantExpired = isGrantExpired; exports.canAccessNode = canAccessNode; exports.createEmptyContext = createEmptyContext; exports.getContextValue = getContextValue; exports.setContextValue = setContextValue; exports.DEFAULT_THEME = DEFAULT_THEME; exports.mergeWithDefaults = mergeWithDefaults; exports.generateCssVariables = generateCssVariables; exports.isInstanceEvent = isInstanceEvent; exports.isNodeEvent = isNodeEvent; exports.isInvitationOrGrantEvent = isInvitationOrGrantEvent; exports.ConditionOperatorSchema = ConditionOperatorSchema; exports.ConditionRuleSchema = ConditionRuleSchema; exports.ConditionGroupSchema = ConditionGroupSchema; exports.StartNodeSchema = StartNodeSchema; exports.FormFieldRefSchema = FormFieldRefSchema; exports.FlowRowFieldSchema = FlowRowFieldSchema; exports.FlowRowSchema = FlowRowSchema; exports.FormNodeSchema = FormNodeSchema; exports.ConditionNodeSchema = ConditionNodeSchema; exports.DocumentNodeSchema = DocumentNodeSchema; exports.EndNodeSchema = EndNodeSchema; exports.WorkflowNodeSchema = WorkflowNodeSchema; exports.SlotModeSchema = SlotModeSchema; exports.WorkflowSlotSchema = WorkflowSlotSchema; exports.AuthMethodSchema = AuthMethodSchema; exports.ShareStatusSchema = ShareStatusSchema; exports.WorkflowShareSchema = WorkflowShareSchema; exports.CreateShareInputSchema = CreateShareInputSchema; exports.NodePositionSchema = NodePositionSchema; exports.ViewportSchema = ViewportSchema; exports.WorkflowLayoutSchema = WorkflowLayoutSchema; exports.ThemeColorsSchema = ThemeColorsSchema; exports.ThemeLogoSchema = ThemeLogoSchema; exports.WorkflowThemeSchema = WorkflowThemeSchema; exports.WorkflowConfigSchema = WorkflowConfigSchema; exports.WorkflowStatusSchema = WorkflowStatusSchema; exports.WorkflowDefinitionSchema = WorkflowDefinitionSchema; exports.isEmpty = isEmpty; exports.isNotEmpty = isNotEmpty; exports.toUndefinedIfEmpty = toUndefinedIfEmpty; exports.hasProperties = hasProperties; exports.EMPTY_VALUE_PLACEHOLDER = EMPTY_VALUE_PLACEHOLDER; exports.formatAttributeValue = formatAttributeValue; exports.SchemaErrorCode = SchemaErrorCode; exports.SchemaError = SchemaError; exports.NotFoundError = NotFoundError; exports.ObjectNotFoundError = ObjectNotFoundError; exports.AttributeNotFoundError = AttributeNotFoundError; exports.RecordNotFoundError = RecordNotFoundError; exports.UserProfileNotFoundError = UserProfileNotFoundError; exports.FileNotFoundError = FileNotFoundError; exports.ValidationError = ValidationError; exports.ProtectedResourceError = ProtectedResourceError; exports.SyncError = SyncError; exports.NotSystemObjectError = NotSystemObjectError; exports.DuplicateError = DuplicateError; exports.isSchemaError = isSchemaError; exports.isNotFoundError = isNotFoundError; exports.isValidationError = isValidationError; exports.isProtectedResourceError = isProtectedResourceError; exports.ForbiddenError = ForbiddenError; exports.ProtectedRoleError = ProtectedRoleError; exports.RoleNotFoundError = RoleNotFoundError; exports.isForbiddenError = isForbiddenError; exports.ConcurrentModificationError = ConcurrentModificationError; exports.PropertySchemaBuilder = PropertySchemaBuilder; exports.PropertyTypeBuilder = PropertyTypeBuilder; exports.BasePropertyBuilder = BasePropertyBuilder; exports.TextPropertyBuilder = TextPropertyBuilder; exports.TextareaPropertyBuilder = TextareaPropertyBuilder; exports.NumberPropertyBuilder = NumberPropertyBuilder; exports.CheckboxPropertyBuilder = CheckboxPropertyBuilder; exports.DatePropertyBuilder = DatePropertyBuilder; exports.PhonePropertyBuilder = PhonePropertyBuilder; exports.CurrencyPropertyBuilder = CurrencyPropertyBuilder; exports.StatusPropertyBuilder = StatusPropertyBuilder; exports.SelectPropertyBuilder = SelectPropertyBuilder; exports.MultiselectPropertyBuilder = MultiselectPropertyBuilder; exports.RatingPropertyBuilder = RatingPropertyBuilder; exports.LocationPropertyBuilder = LocationPropertyBuilder; exports.validatePropertyType = validatePropertyType; exports.text = text; exports.textarea = textarea; exports.richtext = richtext; exports.number = number; exports.checkbox = checkbox; exports.date = date; exports.phone = phone; exports.currency = currency; exports.status = status; exports.select = select; exports.multiselect = multiselect; exports.location = location; exports.file = file; exports.user = user; exports.relation = relation; exports.rating = rating; exports.formula = formula; exports.rollup = rollup; exports.document = document; exports.ObjectBuilder = ObjectBuilder; exports.object = object; exports.GroupBuilder = GroupBuilder; exports.DirectTableTabConfig = DirectTableTabConfig; exports.InverseTableTabConfig = InverseTableTabConfig; exports.CustomTabConfig = CustomTabConfig; exports.NotesTabConfig = NotesTabConfig; exports.ActivityTabConfig = ActivityTabConfig; exports.FlowsTabConfig = FlowsTabConfig; exports.DocumentsTabConfig = DocumentsTabConfig; exports.TabBuilder = TabBuilder; exports.DetailViewBuilder = DetailViewBuilder; exports.ViewBuilder = ViewBuilder; exports.detailView = detailView; exports.view = view; exports.ListViewBuilder = ListViewBuilder; exports.ListViewTabConfigBuilder = ListViewTabConfigBuilder; exports.listView = listView; exports.group = group; exports.WorkflowFormRowBuilder = WorkflowFormRowBuilder; exports.WorkflowFormBuilder = WorkflowFormBuilder; exports.WorkflowSimpleFormBuilder = WorkflowSimpleFormBuilder; exports.WorkflowConditionBuilder = WorkflowConditionBuilder; exports.WorkflowEndBuilder = WorkflowEndBuilder; exports.WorkflowStartBuilder = WorkflowStartBuilder; exports.WorkflowBuilder = WorkflowBuilder; exports.workflow = workflow; exports.registry = registry; exports.SYSTEM_TEMPLATE_IDS = SYSTEM_TEMPLATE_IDS; exports.FRENCH_ID_CARD = FRENCH_ID_CARD; exports.PASSPORT = PASSPORT; exports.DRIVING_LICENSE = DRIVING_LICENSE; exports.PROOF_OF_ADDRESS = PROOF_OF_ADDRESS; exports.SIGNABLE_CONTRACT = SIGNABLE_CONTRACT; exports.GENERIC_DOCUMENT = GENERIC_DOCUMENT; exports.SYSTEM_TEMPLATES = SYSTEM_TEMPLATES; exports.getSystemTemplate = getSystemTemplate; exports.isSystemTemplate = isSystemTemplate; exports.WorkflowJwtService = WorkflowJwtService; exports.hashOptions = hashOptions; exports.cacheKeys = cacheKeys; exports.cacheTtl = cacheTtl; exports.defaultTtl = defaultTtl; exports.NoopCacheAdapter = NoopCacheAdapter; exports.formatRecord = formatRecord; exports.formatRecords = formatRecords; exports.createDefaultState = createDefaultState; exports.SHORTCUT_TO_FILTER_OPERATOR = SHORTCUT_TO_FILTER_OPERATOR; exports.QueryNoResultError = QueryNoResultError; exports.QueryMultipleResultsError = QueryMultipleResultsError; exports.TenantContextError = TenantContextError; exports.FeatureFlagsContextError = FeatureFlagsContextError; exports.isFeatureEnabled = isFeatureEnabled; exports.getFeatureValue = getFeatureValue; exports.getFeatureFlags = getFeatureFlags; exports.tryGetFeatureValue = tryGetFeatureValue; exports.hasFeatureFlagsContext = hasFeatureFlagsContext; exports.runWithFeatureFlags = runWithFeatureFlags; exports.withFeatureFlags = withFeatureFlags; exports.getSchemaFromContext = getSchemaFromContext; exports.getSchemaByNameFromContext = getSchemaByNameFromContext; exports.hasSchemaContext = hasSchemaContext; exports.getSchemaContext = getSchemaContext; exports.addSchemaToContext = addSchemaToContext; exports.runWithSchemaContext = runWithSchemaContext; exports.runWithMergedSchemaContext = runWithMergedSchemaContext; exports.getContext = getContext2; exports.getTenantId = getTenantId; exports.getUserId = getUserId; exports.hasContext = hasContext; exports.runWithContext = runWithContext; exports.withTenantContext = withTenantContext; exports.QueryBuilder = QueryBuilder; exports.createQueryBuilder = createQueryBuilder; exports.evaluateCondition = evaluateCondition; exports.evaluate = evaluate; exports.evaluateWithTrace = evaluateWithTrace; exports.ExecutorRegistry = ExecutorRegistry; exports.success = success; exports.wait = wait; exports.complete = complete; exports.error = error; exports.ConditionExecutor = ConditionExecutor; exports.DocumentExecutor = DocumentExecutor; exports.EndExecutor = EndExecutor; exports.FormExecutor = FormExecutor; exports.StartExecutor = StartExecutor; exports.createDefaultExecutorRegistry = createDefaultExecutorRegistry; exports.getDefaultExecutorRegistry = getDefaultExecutorRegistry; exports.evaluateFormula = evaluateFormula; exports.evaluateFormulaWithResult = evaluateFormulaWithResult; exports.formatFormulaResult = formatFormulaResult; exports.evaluateFormulaAttribute = evaluateFormulaAttribute; exports.validateFormulaExpression = validateFormulaExpression; exports.extractFormulaVariables = extractFormulaVariables; exports.extractRelationReferences = extractRelationReferences; exports.extractRelationNames = extractRelationNames; exports.hasRelationReferences = hasRelationReferences; exports.flattenRelationsForEval = flattenRelationsForEval; exports.evaluateFormulaWithRelations = evaluateFormulaWithRelations; exports.evaluateFormulaAttributeWithRelations = evaluateFormulaAttributeWithRelations; exports.InvalidPathError = InvalidPathError; exports.MaxDepthExceededError = MaxDepthExceededError; exports.parsePath = parsePath; exports.validatePath = validatePath; exports.pathHasManyCardinality = pathHasManyCardinality; exports.getPathDepth = getPathDepth; exports.getTargetAttributeName = getTargetAttributeName; exports.getRelationPath = getRelationPath; exports.traversePath = traversePath; exports.resolveSingleValue = resolveSingleValue; exports.resolveMultiplePaths = resolveMultiplePaths; exports.NoopHookRegistry = NoopHookRegistry; exports.DEFAULT_LABEL_FALLBACK = DEFAULT_LABEL_FALLBACK; exports.renderLabelExpression = renderLabelExpression; exports.isLabelExpression = isLabelExpression; exports.extractAttributeNames = extractAttributeNames; exports.enrichValuesForDisplay = enrichValuesForDisplay; exports.enrichValuesWithSelectLabels = enrichValuesWithSelectLabels; exports.extractRelationIds = extractRelationIds; exports.computeLabelWithRelations = computeLabelWithRelations; exports.createMockAdapter = createMockAdapter; exports.PolicyRegistry = PolicyRegistry; exports.defaultPolicyRegistry = defaultPolicyRegistry; exports.notesPolicy = notesPolicy; exports.BaseService = BaseService; exports.BaseRepository = BaseRepository; exports.SchemaContextAwareRepository = SchemaContextAwareRepository; exports.buildAuditChanges = buildAuditChanges; exports.ObjectSchemaService = ObjectSchemaService; exports.AuditService = AuditService; exports.UserService = UserService; exports.applyDefaultValues = applyDefaultValues; exports.checkPermission = checkPermission; exports.getPolicy = getPolicy; exports.buildPolicyContext = buildPolicyContext; exports.checkRecordAccess = checkRecordAccess; exports.checkRecordModifyOrThrow = checkRecordModifyOrThrow; exports.checkRecordDeleteOrThrow = checkRecordDeleteOrThrow; exports.checkSharedObjectWriteAccess = checkSharedObjectWriteAccess; exports.computeLabel = computeLabel; exports.enrichWithFormulas = enrichWithFormulas; exports.enrichRecordsWithFormulas = enrichRecordsWithFormulas; exports.createContextForCreate = createContextForCreate; exports.createContextForUpdate = createContextForUpdate; exports.createContextForDelete = createContextForDelete; exports.createContextForRestore = createContextForRestore; exports.recalculateParentRollups = recalculateParentRollups; exports.RecordQueryService = RecordQueryService; exports.RecordResolverService = RecordResolverService; exports.RelationPropertiesService = RelationPropertiesService; exports.RelationService = RelationService; exports.RollupService = RollupService; exports.RecordService = RecordService; exports.FormulaResolverService = FormulaResolverService; exports.RollupScheduler = RollupScheduler; exports.DocumentRenderError = DocumentRenderError; exports.StorageDownloadNotSupportedError = StorageDownloadNotSupportedError; exports.DocumentRendererService = DocumentRendererService; exports.DocumentProcessingHook = DocumentProcessingHook; exports.GrantNotFoundError = GrantNotFoundError; exports.GrantExpiredError = GrantExpiredError; exports.GrantRevokedError = GrantRevokedError; exports.TokenRevokedError = TokenRevokedError; exports.WorkflowAccessGrantService = WorkflowAccessGrantService; exports.WorkflowInstanceService = WorkflowInstanceService; exports.InvitationNotFoundError = InvitationNotFoundError; exports.InvitationExpiredError = InvitationExpiredError; exports.InvitationAlreadyAcceptedError = InvitationAlreadyAcceptedError; exports.InvitationRevokedError = InvitationRevokedError; exports.WorkflowInvitationService = WorkflowInvitationService; exports.WorkflowRelationService = WorkflowRelationService; exports.WorkflowService = WorkflowService; exports.UserProfileService = UserProfileService; exports.DocumentGenerationTemplateNotFoundError = DocumentGenerationTemplateNotFoundError; exports.DocumentGenerationNotConfiguredError = DocumentGenerationNotConfiguredError; exports.DocumentGenerationService = DocumentGenerationService; exports.DocumentTemplateService = DocumentTemplateService; exports.DocumentService = DocumentService; exports.DocumentProcessingService = DocumentProcessingService; exports.FileService = FileService; exports.GeocodingService = GeocodingService; exports.GlobalSearchService = GlobalSearchService; exports.PermissionService = PermissionService; exports.ViewService = ViewService; exports.seedRegistryViews = seedRegistryViews; exports.syncNativeViews = syncNativeViews; exports.verifyRegistryViewsSeeded = verifyRegistryViewsSeeded; exports.verifyNativeViewsSync = verifyNativeViewsSync; exports.getViewSeedPreview = getViewSeedPreview; exports.getViewSyncPreview = getViewSyncPreview; exports.syncNativeObjects = syncNativeObjects; exports.verifyNativeObjectsSync = verifyNativeObjectsSync; exports.getSyncPreview = getSyncPreview; exports.syncAll = syncAll;