clivly 0.11.0-next.0 → 0.11.0

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 (127) hide show
  1. package/adapter-BWrOtOw5.d.mts +83 -0
  2. package/adapter-Bd5HjLYa.d.cts +83 -0
  3. package/{auth-adapter-B4vVyUiX.d.mts → auth-adapter-C3BQpc-q.d.cts} +1 -1
  4. package/{auth-adapter-Cvc_sOpY.d.cts → auth-adapter-D54ajbl7.d.mts} +1 -1
  5. package/auth-better-auth.d.cts +6 -6
  6. package/auth-better-auth.d.mts +6 -6
  7. package/auth-clerk.d.cts +5 -5
  8. package/auth-clerk.d.mts +5 -5
  9. package/auth-workos.d.cts +5 -5
  10. package/auth-workos.d.mts +5 -5
  11. package/core-adapter.d.cts +1 -1
  12. package/core-adapter.d.mts +1 -1
  13. package/core-auth-adapter.d.cts +1 -1
  14. package/core-auth-adapter.d.mts +1 -1
  15. package/core-drizzle.d.cts +1 -1
  16. package/core-drizzle.d.mts +1 -1
  17. package/core-entity-config.cjs +1 -1
  18. package/core-entity-config.d.cts +1 -1
  19. package/core-entity-config.d.mts +1 -1
  20. package/core-entity-config.mjs +1 -1
  21. package/core-entity-heuristics.d.cts +1 -1
  22. package/core-entity-heuristics.d.mts +1 -1
  23. package/core-mapping-form.d.cts +1 -1
  24. package/core-mapping-form.d.mts +1 -1
  25. package/core-mappings-config.cjs +1 -1
  26. package/core-mappings-config.d.cts +1 -1
  27. package/core-mappings-config.d.mts +1 -1
  28. package/core-mappings-config.mjs +1 -1
  29. package/core-sync-engine.cjs +1 -1
  30. package/core-sync-engine.d.cts +1 -1
  31. package/core-sync-engine.d.mts +1 -1
  32. package/core-sync-engine.mjs +1 -1
  33. package/core-types.d.cts +2 -2
  34. package/core-types.d.mts +2 -2
  35. package/core-view-compiler.cjs +1 -1
  36. package/core-view-compiler.d.cts +1 -1
  37. package/core-view-compiler.d.mts +1 -1
  38. package/core-view-compiler.mjs +1 -1
  39. package/core.cjs +11 -7
  40. package/core.d.cts +10 -10
  41. package/core.d.mts +10 -10
  42. package/core.mjs +8 -8
  43. package/{drizzle-C_0pIDpx.d.mts → drizzle-CiK37zJm.d.cts} +1 -1
  44. package/{drizzle-D3DcaC2d.d.cts → drizzle-ehVWLSrN.d.mts} +1 -1
  45. package/drizzle.cjs +2 -2
  46. package/drizzle.d.cts +9 -9
  47. package/drizzle.d.mts +9 -9
  48. package/drizzle.mjs +2 -2
  49. package/{entity-config-CbS2DGmA.d.cts → entity-config-ApnT5j3X.d.cts} +1734 -16
  50. package/{entity-config-EZg9BtqD.cjs → entity-config-BI4RYNKL.cjs} +18 -2
  51. package/{entity-config-CbS2DGmA.d.mts → entity-config-CKcj4-M_.d.mts} +1735 -16
  52. package/{entity-config-CO0TEwZC.mjs → entity-config-Ccfb2IL9.mjs} +27 -3
  53. package/index.cjs +15 -11
  54. package/index.d.cts +10 -11
  55. package/index.d.mts +10 -11
  56. package/index.mjs +15 -11
  57. package/{internal-B8cq-xP-.d.cts → internal-Bjpq7S2G.d.mts} +69 -2
  58. package/{internal-Cz59xMj8.cjs → internal-CRIgf9jS.cjs} +102 -0
  59. package/{internal-DEV1NCQc.d.mts → internal-D9kqkhPs.d.cts} +69 -2
  60. package/internal-adapter.d.cts +1 -1
  61. package/internal-adapter.d.mts +1 -1
  62. package/internal-auth-adapter.d.cts +1 -1
  63. package/internal-auth-adapter.d.mts +1 -1
  64. package/internal-drizzle.d.cts +1 -1
  65. package/internal-drizzle.d.mts +1 -1
  66. package/internal-entity-config.cjs +1 -1
  67. package/internal-entity-config.d.cts +1 -1
  68. package/internal-entity-config.d.mts +1 -1
  69. package/internal-entity-config.mjs +1 -1
  70. package/internal-entity-heuristics.cjs +9 -7
  71. package/internal-entity-heuristics.d.cts +21 -21
  72. package/internal-entity-heuristics.d.mts +21 -21
  73. package/internal-entity-heuristics.mjs +9 -7
  74. package/internal-mapping-form.d.cts +1 -1
  75. package/internal-mapping-form.d.mts +1 -1
  76. package/internal-mappings-config.cjs +1 -1
  77. package/internal-mappings-config.d.cts +1 -1
  78. package/internal-mappings-config.d.mts +1 -1
  79. package/internal-mappings-config.mjs +1 -1
  80. package/internal-sync-engine.cjs +1 -1
  81. package/internal-sync-engine.d.cts +1 -1
  82. package/internal-sync-engine.d.mts +1 -1
  83. package/internal-sync-engine.mjs +1 -1
  84. package/internal-types.d.cts +2 -2
  85. package/internal-types.d.mts +2 -2
  86. package/{internal-Bgiimp5D.mjs → internal-v6P9MZY1.mjs} +79 -1
  87. package/internal-view-compiler.cjs +1 -1
  88. package/internal-view-compiler.d.cts +1 -1
  89. package/internal-view-compiler.d.mts +1 -1
  90. package/internal-view-compiler.mjs +1 -1
  91. package/internal.cjs +11 -7
  92. package/internal.d.cts +10 -10
  93. package/internal.d.mts +10 -10
  94. package/internal.mjs +8 -8
  95. package/{mapping-form-BBgP1iEf.d.cts → mapping-form-Btn-7gzv.d.mts} +1 -1
  96. package/{mapping-form-B_vX_kZJ.d.mts → mapping-form-XsLLCqW_.d.cts} +1 -1
  97. package/{mappings-config-BRP_Dev5.cjs → mappings-config-BCsRLohT.cjs} +2 -1
  98. package/{mappings-config-fAfUoVuD.mjs → mappings-config-CwQNQ6bA.mjs} +2 -1
  99. package/{mappings-config-BXdSUl-K.d.mts → mappings-config-D6_oCi2Q.d.mts} +3 -1
  100. package/{mappings-config-Cvw7RDSb.d.cts → mappings-config-iJzbcUMp.d.cts} +3 -1
  101. package/{namespace-probe-DC4YsI6m.d.cts → namespace-probe-C5RLl74M.d.cts} +1 -1
  102. package/{namespace-probe-BWZ7f1fg.d.mts → namespace-probe-CNQKSmxz.d.mts} +1 -1
  103. package/package.json +1 -1
  104. package/{projection-Dz6_i1-w.cjs → projection-BELgANG2.cjs} +32 -23
  105. package/{projection-CSGJbZlZ.mjs → projection-DvNewmI1.mjs} +32 -23
  106. package/{projection-sql-CbXCKt3s.cjs → projection-sql-DuCtFE9t.cjs} +1 -1
  107. package/{projection-sql-iHoiYr1R.mjs → projection-sql-DweUaWRc.mjs} +1 -1
  108. package/{sdk-UCBezLoT.cjs → sdk-BvGSxBQc.cjs} +3 -3
  109. package/{sdk-CsR4W9QQ.mjs → sdk-C-Pjxj2y.mjs} +3 -3
  110. package/sdk.cjs +2 -2
  111. package/sdk.d.cts +10 -10
  112. package/sdk.d.mts +10 -10
  113. package/sdk.mjs +2 -2
  114. package/{sync-engine-BQRApDAG.d.mts → sync-engine--M9EaONC.d.mts} +2 -2
  115. package/{sync-engine-CTSIcLlZ.mjs → sync-engine-Df2MCs_n.mjs} +1 -1
  116. package/{sync-engine-B0FT1ax6.cjs → sync-engine-Dwm_KDUS.cjs} +1 -1
  117. package/{sync-engine-qxbrOEJX.d.cts → sync-engine-V3_UutGv.d.cts} +2 -2
  118. package/{types-S0N0hqOV.d.mts → types-D08UzDqe.d.cts} +66 -2
  119. package/{types-S0N0hqOV.d.cts → types-D08UzDqe.d.mts} +66 -2
  120. package/{view-compiler-BzKk8nY3.mjs → view-compiler-C-6RydKK.mjs} +2 -2
  121. package/{view-compiler-CdnLqPQx.d.mts → view-compiler-Cq8apvZ4.d.cts} +1 -1
  122. package/{view-compiler-P4GHpOHt.d.cts → view-compiler-CwKVoK1w.d.mts} +1 -1
  123. package/{view-compiler-ZKZbd3SK.cjs → view-compiler-xiwm5iar.cjs} +2 -2
  124. package/vite.d.cts +4 -5
  125. package/vite.d.mts +4 -5
  126. package/adapter-BQl13eS3.d.mts +0 -45
  127. package/adapter-CA8bA6o-.d.cts +0 -45
@@ -1,13 +1,13 @@
1
- import { p as DiscoveredColumnMeta } from "./entity-config-CbS2DGmA.cjs";
1
+ import { p as DiscoveredColumnMeta } from "./entity-config-ApnT5j3X.cjs";
2
2
  import { a as Scored } from "./mapping-score-D7Gzg7Ii.cjs";
3
3
  //#region ../core/src/entity-heuristics.d.ts
4
- declare const TARGET_CONCEPTS: readonly ["contact", "company", "deal", "activity", "conversation", "note"];
5
- type TargetConcept = (typeof TARGET_CONCEPTS)[number];
6
- declare function suggestCursorField(columnKeys: string[]): string | null;
7
- declare function matchesConcept(tableName: string, concept: TargetConcept): {
4
+ export declare const TARGET_CONCEPTS: readonly ["contact", "company", "deal", "activity", "conversation", "note"];
5
+ export type TargetConcept = (typeof TARGET_CONCEPTS)[number];
6
+ export declare function suggestCursorField(columnKeys: string[]): string | null;
7
+ export declare function matchesConcept(tableName: string, concept: TargetConcept): {
8
8
  exact: boolean;
9
9
  } | null;
10
- interface ScoredTable {
10
+ export interface ScoredTable {
11
11
  columns: string[];
12
12
  columnsMeta?: DiscoveredColumnMeta[];
13
13
  name: string;
@@ -18,7 +18,7 @@ interface ScoredTable {
18
18
  * and from bulk apply, so one click can never map an auth table into the CRM.
19
19
  * They stay manually selectable — an explicit, informed choice is legitimate.
20
20
  */
21
- declare function hasSensitiveColumns(columns: string[]): boolean;
21
+ export declare function hasSensitiveColumns(columns: string[]): boolean;
22
22
  /**
23
23
  * Is this table one your auth library created, rather than one you wrote?
24
24
  *
@@ -26,20 +26,20 @@ declare function hasSensitiveColumns(columns: string[]): boolean;
26
26
  * concept. Never to exclude them: mapping `user` as the contact entity is
27
27
  * legitimate for plenty of apps, and it stays selectable.
28
28
  */
29
- declare function isFrameworkTable(name: string): boolean;
30
- declare function hasDefiningColumn(concept: TargetConcept, columns: string[]): boolean;
31
- declare function scoreConcepts(table: ScoredTable): Scored<TargetConcept>[];
32
- declare function topConcept(table: ScoredTable): {
29
+ export declare function isFrameworkTable(name: string): boolean;
30
+ export declare function hasDefiningColumn(concept: TargetConcept, columns: string[]): boolean;
31
+ export declare function scoreConcepts(table: ScoredTable): Scored<TargetConcept>[];
32
+ export declare function topConcept(table: ScoredTable): {
33
33
  best: Scored<TargetConcept>;
34
34
  ambiguous: boolean;
35
35
  } | null;
36
- declare function requiredFieldsFor(concept: TargetConcept | "custom"): string[];
37
- declare function validateMapping(requiredFields: string[], fieldMap: Record<string, string>): {
36
+ export declare function requiredFieldsFor(concept: TargetConcept | "custom"): string[];
37
+ export declare function validateMapping(requiredFields: string[], fieldMap: Record<string, string>): {
38
38
  valid: boolean;
39
39
  missing: string[];
40
40
  };
41
- declare function suggestDiscriminatorColumns(columns: string[]): string[];
42
- type SuggestedVia = {
41
+ export declare function suggestDiscriminatorColumns(columns: string[]): string[];
42
+ export type SuggestedVia = {
43
43
  fkOn: "company" | "contact";
44
44
  column: string;
45
45
  } | {
@@ -47,7 +47,7 @@ type SuggestedVia = {
47
47
  localKey: string;
48
48
  foreignKey: string;
49
49
  };
50
- interface RelationshipSuggestion {
50
+ export interface RelationshipSuggestion {
51
51
  /** The related host table. */
52
52
  entityTable: string;
53
53
  /** Suggested relationship name (defaults to the related concept). */
@@ -60,13 +60,13 @@ interface RelationshipSuggestion {
60
60
  * that scores highest. Without metadata (v1 hosts) we fall back to the legacy
61
61
  * FK-name hints at a lower tier.
62
62
  */
63
- declare function scoreRelationships(source: ScoredTable, allTables: ScoredTable[]): Scored<RelationshipSuggestion>[];
64
- interface FieldSuggestion {
63
+ export declare function scoreRelationships(source: ScoredTable, allTables: ScoredTable[]): Scored<RelationshipSuggestion>[];
64
+ export interface FieldSuggestion {
65
65
  column: string;
66
66
  field: string;
67
67
  required: boolean;
68
68
  }
69
- declare function scoreFieldMap(concept: TargetConcept, table: ScoredTable): Scored<FieldSuggestion>[];
70
- declare function toFieldMap(scored: Scored<FieldSuggestion>[]): Record<string, string>;
69
+ export declare function scoreFieldMap(concept: TargetConcept, table: ScoredTable): Scored<FieldSuggestion>[];
70
+ export declare function toFieldMap(scored: Scored<FieldSuggestion>[]): Record<string, string>;
71
71
  //#endregion
72
- export { type DiscoveredColumnMeta, FieldSuggestion, RelationshipSuggestion, ScoredTable, SuggestedVia, TARGET_CONCEPTS, TargetConcept, hasDefiningColumn, hasSensitiveColumns, isFrameworkTable, matchesConcept, requiredFieldsFor, scoreConcepts, scoreFieldMap, scoreRelationships, suggestCursorField, suggestDiscriminatorColumns, toFieldMap, topConcept, validateMapping };
72
+ export type { DiscoveredColumnMeta };
@@ -1,13 +1,13 @@
1
- import { p as DiscoveredColumnMeta } from "./entity-config-CbS2DGmA.mjs";
1
+ import { p as DiscoveredColumnMeta } from "./entity-config-CKcj4-M_.mjs";
2
2
  import { a as Scored } from "./mapping-score-D7Gzg7Ii.mjs";
3
3
  //#region ../core/src/entity-heuristics.d.ts
4
- declare const TARGET_CONCEPTS: readonly ["contact", "company", "deal", "activity", "conversation", "note"];
5
- type TargetConcept = (typeof TARGET_CONCEPTS)[number];
6
- declare function suggestCursorField(columnKeys: string[]): string | null;
7
- declare function matchesConcept(tableName: string, concept: TargetConcept): {
4
+ export declare const TARGET_CONCEPTS: readonly ["contact", "company", "deal", "activity", "conversation", "note"];
5
+ export type TargetConcept = (typeof TARGET_CONCEPTS)[number];
6
+ export declare function suggestCursorField(columnKeys: string[]): string | null;
7
+ export declare function matchesConcept(tableName: string, concept: TargetConcept): {
8
8
  exact: boolean;
9
9
  } | null;
10
- interface ScoredTable {
10
+ export interface ScoredTable {
11
11
  columns: string[];
12
12
  columnsMeta?: DiscoveredColumnMeta[];
13
13
  name: string;
@@ -18,7 +18,7 @@ interface ScoredTable {
18
18
  * and from bulk apply, so one click can never map an auth table into the CRM.
19
19
  * They stay manually selectable — an explicit, informed choice is legitimate.
20
20
  */
21
- declare function hasSensitiveColumns(columns: string[]): boolean;
21
+ export declare function hasSensitiveColumns(columns: string[]): boolean;
22
22
  /**
23
23
  * Is this table one your auth library created, rather than one you wrote?
24
24
  *
@@ -26,20 +26,20 @@ declare function hasSensitiveColumns(columns: string[]): boolean;
26
26
  * concept. Never to exclude them: mapping `user` as the contact entity is
27
27
  * legitimate for plenty of apps, and it stays selectable.
28
28
  */
29
- declare function isFrameworkTable(name: string): boolean;
30
- declare function hasDefiningColumn(concept: TargetConcept, columns: string[]): boolean;
31
- declare function scoreConcepts(table: ScoredTable): Scored<TargetConcept>[];
32
- declare function topConcept(table: ScoredTable): {
29
+ export declare function isFrameworkTable(name: string): boolean;
30
+ export declare function hasDefiningColumn(concept: TargetConcept, columns: string[]): boolean;
31
+ export declare function scoreConcepts(table: ScoredTable): Scored<TargetConcept>[];
32
+ export declare function topConcept(table: ScoredTable): {
33
33
  best: Scored<TargetConcept>;
34
34
  ambiguous: boolean;
35
35
  } | null;
36
- declare function requiredFieldsFor(concept: TargetConcept | "custom"): string[];
37
- declare function validateMapping(requiredFields: string[], fieldMap: Record<string, string>): {
36
+ export declare function requiredFieldsFor(concept: TargetConcept | "custom"): string[];
37
+ export declare function validateMapping(requiredFields: string[], fieldMap: Record<string, string>): {
38
38
  valid: boolean;
39
39
  missing: string[];
40
40
  };
41
- declare function suggestDiscriminatorColumns(columns: string[]): string[];
42
- type SuggestedVia = {
41
+ export declare function suggestDiscriminatorColumns(columns: string[]): string[];
42
+ export type SuggestedVia = {
43
43
  fkOn: "company" | "contact";
44
44
  column: string;
45
45
  } | {
@@ -47,7 +47,7 @@ type SuggestedVia = {
47
47
  localKey: string;
48
48
  foreignKey: string;
49
49
  };
50
- interface RelationshipSuggestion {
50
+ export interface RelationshipSuggestion {
51
51
  /** The related host table. */
52
52
  entityTable: string;
53
53
  /** Suggested relationship name (defaults to the related concept). */
@@ -60,13 +60,13 @@ interface RelationshipSuggestion {
60
60
  * that scores highest. Without metadata (v1 hosts) we fall back to the legacy
61
61
  * FK-name hints at a lower tier.
62
62
  */
63
- declare function scoreRelationships(source: ScoredTable, allTables: ScoredTable[]): Scored<RelationshipSuggestion>[];
64
- interface FieldSuggestion {
63
+ export declare function scoreRelationships(source: ScoredTable, allTables: ScoredTable[]): Scored<RelationshipSuggestion>[];
64
+ export interface FieldSuggestion {
65
65
  column: string;
66
66
  field: string;
67
67
  required: boolean;
68
68
  }
69
- declare function scoreFieldMap(concept: TargetConcept, table: ScoredTable): Scored<FieldSuggestion>[];
70
- declare function toFieldMap(scored: Scored<FieldSuggestion>[]): Record<string, string>;
69
+ export declare function scoreFieldMap(concept: TargetConcept, table: ScoredTable): Scored<FieldSuggestion>[];
70
+ export declare function toFieldMap(scored: Scored<FieldSuggestion>[]): Record<string, string>;
71
71
  //#endregion
72
- export { type DiscoveredColumnMeta, FieldSuggestion, RelationshipSuggestion, ScoredTable, SuggestedVia, TARGET_CONCEPTS, TargetConcept, hasDefiningColumn, hasSensitiveColumns, isFrameworkTable, matchesConcept, requiredFieldsFor, scoreConcepts, scoreFieldMap, scoreRelationships, suggestCursorField, suggestDiscriminatorColumns, toFieldMap, topConcept, validateMapping };
72
+ export type { DiscoveredColumnMeta };
@@ -1,4 +1,4 @@
1
- import { a as MATERIALIZING_CONCEPTS } from "./entity-config-CO0TEwZC.mjs";
1
+ import { a as MATERIALIZING_CONCEPTS } from "./entity-config-Ccfb2IL9.mjs";
2
2
  import { a as W, c as isTextLike, i as RELATIONSHIP_TIERS, l as isTimestampLike, n as CONCEPT_TIERS, o as isAmbiguous, r as FIELD_TIERS, s as isNumericLike, u as tierFor } from "./mapping-score-C68uAqGB.mjs";
3
3
  //#region ../core/src/entity-heuristics.ts
4
4
  const TARGET_CONCEPTS = [
@@ -378,12 +378,14 @@ function scoreConcepts(table) {
378
378
  score += W.hasPrimaryKey;
379
379
  reasons.push("has primary key");
380
380
  }
381
- if (table.rowCount !== void 0) if (table.rowCount === 0) {
382
- score += W.emptyTable;
383
- reasons.push("table is empty");
384
- } else {
385
- score += W.hasRows;
386
- reasons.push(`${table.rowCount.toLocaleString("en-US")} rows`);
381
+ if (table.rowCount !== void 0) {
382
+ if (table.rowCount === 0) {
383
+ score += W.emptyTable;
384
+ reasons.push("table is empty");
385
+ } else {
386
+ score += W.hasRows;
387
+ reasons.push(`${table.rowCount.toLocaleString("en-US")} rows`);
388
+ }
387
389
  }
388
390
  out.push({
389
391
  value: concept,
@@ -1,2 +1,2 @@
1
- import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-BBgP1iEf.cjs";
1
+ import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-XsLLCqW_.cjs";
2
2
  export { RelationshipCandidate, buildFilterFromDiscriminator, buildRelationships, relationshipViaSignature };
@@ -1,2 +1,2 @@
1
- import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-B_vX_kZJ.mjs";
1
+ import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-Btn-7gzv.mjs";
2
2
  export { RelationshipCandidate, buildFilterFromDiscriminator, buildRelationships, relationshipViaSignature };
@@ -1,4 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_mappings_config = require("./mappings-config-BRP_Dev5.cjs");
2
+ const require_mappings_config = require("./mappings-config-BCsRLohT.cjs");
3
3
  exports.entitiesToMappings = require_mappings_config.entitiesToMappings;
4
4
  exports.mappingsToEntitiesConfig = require_mappings_config.mappingsToEntitiesConfig;
@@ -1,2 +1,2 @@
1
- import { i as mappingsToEntitiesConfig, n as MappingFromConfig, r as entitiesToMappings, t as EntityMappingRow } from "./mappings-config-Cvw7RDSb.cjs";
1
+ import { i as mappingsToEntitiesConfig, n as MappingFromConfig, r as entitiesToMappings, t as EntityMappingRow } from "./mappings-config-iJzbcUMp.cjs";
2
2
  export { EntityMappingRow, MappingFromConfig, entitiesToMappings, mappingsToEntitiesConfig };
@@ -1,2 +1,2 @@
1
- import { i as mappingsToEntitiesConfig, n as MappingFromConfig, r as entitiesToMappings, t as EntityMappingRow } from "./mappings-config-BXdSUl-K.mjs";
1
+ import { i as mappingsToEntitiesConfig, n as MappingFromConfig, r as entitiesToMappings, t as EntityMappingRow } from "./mappings-config-D6_oCi2Q.mjs";
2
2
  export { EntityMappingRow, MappingFromConfig, entitiesToMappings, mappingsToEntitiesConfig };
@@ -1,2 +1,2 @@
1
- import { n as mappingsToEntitiesConfig, t as entitiesToMappings } from "./mappings-config-fAfUoVuD.mjs";
1
+ import { n as mappingsToEntitiesConfig, t as entitiesToMappings } from "./mappings-config-CwQNQ6bA.mjs";
2
2
  export { entitiesToMappings, mappingsToEntitiesConfig };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_sync_engine = require("./sync-engine-B0FT1ax6.cjs");
2
+ const require_sync_engine = require("./sync-engine-Dwm_KDUS.cjs");
3
3
  exports.computeSampleWarnings = require_sync_engine.computeSampleWarnings;
4
4
  exports.previewSync = require_sync_engine.previewSync;
5
5
  exports.reconcile = require_sync_engine.reconcile;
@@ -1,2 +1,2 @@
1
- import { a as PreviewWarning, c as SyncResult, d as previewSync, f as reconcile, i as PreviewResult, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult, u as computeSampleWarnings } from "./sync-engine-qxbrOEJX.cjs";
1
+ import { a as PreviewWarning, c as SyncResult, d as previewSync, f as reconcile, i as PreviewResult, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult, u as computeSampleWarnings } from "./sync-engine-V3_UutGv.cjs";
2
2
  export { EntitySyncResult, MirrorRecord, PersistAction, PreviewResult, PreviewWarning, SourceRow, SyncAction, SyncResult, SyncStore, computeSampleWarnings, previewSync, reconcile, runSync };
@@ -1,2 +1,2 @@
1
- import { a as PreviewWarning, c as SyncResult, d as previewSync, f as reconcile, i as PreviewResult, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult, u as computeSampleWarnings } from "./sync-engine-BQRApDAG.mjs";
1
+ import { a as PreviewWarning, c as SyncResult, d as previewSync, f as reconcile, i as PreviewResult, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult, u as computeSampleWarnings } from "./sync-engine--M9EaONC.mjs";
2
2
  export { EntitySyncResult, MirrorRecord, PersistAction, PreviewResult, PreviewWarning, SourceRow, SyncAction, SyncResult, SyncStore, computeSampleWarnings, previewSync, reconcile, runSync };
@@ -1,2 +1,2 @@
1
- import { i as runSync, n as previewSync, r as reconcile, t as computeSampleWarnings } from "./sync-engine-CTSIcLlZ.mjs";
1
+ import { i as runSync, n as previewSync, r as reconcile, t as computeSampleWarnings } from "./sync-engine-Df2MCs_n.mjs";
2
2
  export { computeSampleWarnings, previewSync, reconcile, runSync };
@@ -1,2 +1,2 @@
1
- import { A as ValueInterval, C as TaskEntityType, D as UpdateContactInput, E as TaskStatus, O as UpdateDealInput, S as Task, T as TaskPriority, _ as PipelineConfig, a as ContactFilters, b as RecordSource, c as CreateCompanyInput, d as CreateTaskInput, f as CrmRole, g as OPEN_STAGE_TYPE, h as Note, i as Contact, j as isClosedStageType, k as UpdateTaskInput, l as CreateContactInput, m as DealStage, n as ActivityType, o as ContactStatus, p as Deal, r as Company, s as CreateActivityInput, t as Activity, u as CreateDealInput, v as PipelineKind, w as TaskFilters, x as StageType, y as PipelineStageConfig } from "./types-S0N0hqOV.cjs";
2
- export { Activity, ActivityType, Company, Contact, ContactFilters, ContactStatus, CreateActivityInput, CreateCompanyInput, CreateContactInput, CreateDealInput, CreateTaskInput, CrmRole, Deal, DealStage, Note, OPEN_STAGE_TYPE, PipelineConfig, PipelineKind, PipelineStageConfig, RecordSource, StageType, Task, TaskEntityType, TaskFilters, TaskPriority, TaskStatus, UpdateContactInput, UpdateDealInput, UpdateTaskInput, ValueInterval, isClosedStageType };
1
+ import { A as UpdateDealInput, C as Task, D as TaskStatus, E as TaskPriority, M as ValueInterval, N as isClosedStageType, O as UpdateCompanyInput, S as StageType, T as TaskFilters, _ as OPEN_STAGE_TYPE, a as Contact, b as PipelineStageConfig, c as CreateActivityInput, d as CreateDealInput, f as CreateTaskInput, g as Note, h as DealStage, i as CompanyFilters, j as UpdateTaskInput, k as UpdateContactInput, l as CreateCompanyInput, m as Deal, n as ActivityType, o as ContactFilters, p as CrmRole, r as Company, s as ContactStatus, t as Activity, u as CreateContactInput, v as PipelineConfig, w as TaskEntityType, x as RecordSource, y as PipelineKind } from "./types-D08UzDqe.cjs";
2
+ export { Activity, ActivityType, Company, CompanyFilters, Contact, ContactFilters, ContactStatus, CreateActivityInput, CreateCompanyInput, CreateContactInput, CreateDealInput, CreateTaskInput, CrmRole, Deal, DealStage, Note, OPEN_STAGE_TYPE, PipelineConfig, PipelineKind, PipelineStageConfig, RecordSource, StageType, Task, TaskEntityType, TaskFilters, TaskPriority, TaskStatus, UpdateCompanyInput, UpdateContactInput, UpdateDealInput, UpdateTaskInput, ValueInterval, isClosedStageType };
@@ -1,2 +1,2 @@
1
- import { A as ValueInterval, C as TaskEntityType, D as UpdateContactInput, E as TaskStatus, O as UpdateDealInput, S as Task, T as TaskPriority, _ as PipelineConfig, a as ContactFilters, b as RecordSource, c as CreateCompanyInput, d as CreateTaskInput, f as CrmRole, g as OPEN_STAGE_TYPE, h as Note, i as Contact, j as isClosedStageType, k as UpdateTaskInput, l as CreateContactInput, m as DealStage, n as ActivityType, o as ContactStatus, p as Deal, r as Company, s as CreateActivityInput, t as Activity, u as CreateDealInput, v as PipelineKind, w as TaskFilters, x as StageType, y as PipelineStageConfig } from "./types-S0N0hqOV.mjs";
2
- export { Activity, ActivityType, Company, Contact, ContactFilters, ContactStatus, CreateActivityInput, CreateCompanyInput, CreateContactInput, CreateDealInput, CreateTaskInput, CrmRole, Deal, DealStage, Note, OPEN_STAGE_TYPE, PipelineConfig, PipelineKind, PipelineStageConfig, RecordSource, StageType, Task, TaskEntityType, TaskFilters, TaskPriority, TaskStatus, UpdateContactInput, UpdateDealInput, UpdateTaskInput, ValueInterval, isClosedStageType };
1
+ import { A as UpdateDealInput, C as Task, D as TaskStatus, E as TaskPriority, M as ValueInterval, N as isClosedStageType, O as UpdateCompanyInput, S as StageType, T as TaskFilters, _ as OPEN_STAGE_TYPE, a as Contact, b as PipelineStageConfig, c as CreateActivityInput, d as CreateDealInput, f as CreateTaskInput, g as Note, h as DealStage, i as CompanyFilters, j as UpdateTaskInput, k as UpdateContactInput, l as CreateCompanyInput, m as Deal, n as ActivityType, o as ContactFilters, p as CrmRole, r as Company, s as ContactStatus, t as Activity, u as CreateContactInput, v as PipelineConfig, w as TaskEntityType, x as RecordSource, y as PipelineKind } from "./types-D08UzDqe.mjs";
2
+ export { Activity, ActivityType, Company, CompanyFilters, Contact, ContactFilters, ContactStatus, CreateActivityInput, CreateCompanyInput, CreateContactInput, CreateDealInput, CreateTaskInput, CrmRole, Deal, DealStage, Note, OPEN_STAGE_TYPE, PipelineConfig, PipelineKind, PipelineStageConfig, RecordSource, StageType, Task, TaskEntityType, TaskFilters, TaskPriority, TaskStatus, UpdateCompanyInput, UpdateContactInput, UpdateDealInput, UpdateTaskInput, ValueInterval, isClosedStageType };
@@ -1,3 +1,81 @@
1
+ //#region ../core/src/host-owned-fields.ts
2
+ /**
3
+ * Which fields a CRM record lets a user edit.
4
+ *
5
+ * A record synced from the host app carries a `sourceRef`. Its identity fields
6
+ * are rewritten from the host view on every sync run, so an edit to one would
7
+ * be silently reverted minutes later — the user sees their change accepted,
8
+ * then gone, with nothing explaining why. That is worse than refusing it.
9
+ *
10
+ * So host-owned fields are rejected at the API, not merely disabled in the UI:
11
+ * the UI is not the security boundary, and the SDK and any future public API
12
+ * reach the same routers.
13
+ *
14
+ * Records created inside the CRM have no `sourceRef` and are fully editable —
15
+ * nothing else owns them.
16
+ *
17
+ * This is the cheap half of a capability matrix. It answers "may a user write
18
+ * this?" but not "may the sync engine write this?", which stays implicit
19
+ * because sync bypasses these routers entirely. An override model (the
20
+ * `stageOverrideAt` pattern on `crm_deals`) can replace this later without
21
+ * changing callers.
22
+ */
23
+ /** Contact fields the host view owns when the row is synced. */
24
+ const HOST_OWNED_CONTACT_FIELDS = ["email", "name"];
25
+ /**
26
+ * Company fields the host view owns when the row is synced.
27
+ *
28
+ * `email` and `phone` joined this list in the same change that made them
29
+ * mappable (migration 0048). They are not identity fields, but ownership here
30
+ * follows what sync rewrites, not what feels identity-like: both flow from the
31
+ * host view on every run, exactly as `email` does for contacts above. Widening
32
+ * `CANONICAL_FIELDS.company` without widening this list is the specific bug
33
+ * this module's doc comment calls worse than refusing the edit.
34
+ *
35
+ * `primaryContactId` is deliberately absent: it is a CRM-side judgement about
36
+ * who to talk to, never sourced from the host, so it stays editable on synced
37
+ * rows.
38
+ */
39
+ const HOST_OWNED_COMPANY_FIELDS = [
40
+ "domain",
41
+ "name",
42
+ "email",
43
+ "phone"
44
+ ];
45
+ /**
46
+ * True when the record is owned by a host view rather than by the CRM.
47
+ *
48
+ * Deliberately keyed on `sourceRef` and not `entityRole`: `entityRole` is a
49
+ * mapping label that can be absent on a synced row, while `sourceRef` is the
50
+ * identity the sync engine reconciles against and is set for exactly the rows
51
+ * sync will rewrite.
52
+ */
53
+ function isHostOwned(record) {
54
+ return Boolean(record.sourceRef);
55
+ }
56
+ function rejectedFields(record, patch, owned) {
57
+ if (!isHostOwned(record)) return [];
58
+ return owned.filter((field) => patch[field] !== void 0);
59
+ }
60
+ /**
61
+ * Host-owned contact fields this patch would change, or `[]` when the patch is
62
+ * allowed. Callers turn a non-empty result into a 400 naming the fields.
63
+ */
64
+ function rejectedContactFields(contact, patch) {
65
+ return rejectedFields(contact, patch, HOST_OWNED_CONTACT_FIELDS);
66
+ }
67
+ /** Host-owned company fields this patch would change, or `[]`. */
68
+ function rejectedCompanyFields(company, patch) {
69
+ return rejectedFields(company, patch, HOST_OWNED_COMPANY_FIELDS);
70
+ }
71
+ /**
72
+ * The message shown when a write is refused. Names the fields and says where
73
+ * they come from, so the reason is actionable rather than a bare "forbidden".
74
+ */
75
+ function hostOwnedFieldMessage(fields) {
76
+ return `The ${fields.join(", ")} ${fields.length > 1 ? "fields are" : "field is"} synced from your app and cannot be edited here. Change it in your app and it will update on the next sync.`;
77
+ }
78
+ //#endregion
1
79
  //#region ../core/src/slug.ts
2
80
  /**
3
81
  * The one `slugify`.
@@ -141,4 +219,4 @@ function evaluateStage(rules, fields, mappedFields) {
141
219
  return null;
142
220
  }
143
221
  //#endregion
144
- export { toObjectTypeSlug as i, matchesCondition as n, slugify as r, evaluateStage as t };
222
+ export { hostOwnedFieldMessage as a, rejectedContactFields as c, toObjectTypeSlug as i, matchesCondition as n, isHostOwned as o, slugify as r, rejectedCompanyFields as s, evaluateStage as t };
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_view_compiler = require("./view-compiler-ZKZbd3SK.cjs");
2
+ const require_view_compiler = require("./view-compiler-xiwm5iar.cjs");
3
3
  exports.DEFAULT_VIEW_PREFIX = require_view_compiler.DEFAULT_VIEW_PREFIX;
4
4
  exports.compileEntityView = require_view_compiler.compileEntityView;
5
5
  exports.compileEntityViews = require_view_compiler.compileEntityViews;
@@ -1,2 +1,2 @@
1
- import { a as compileEntityView, c as explainViewExecutionError, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-P4GHpOHt.cjs";
1
+ import { a as compileEntityView, c as explainViewExecutionError, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-Cq8apvZ4.cjs";
2
2
  export { CompileOptions, CompiledView, DEFAULT_VIEW_PREFIX, ExplainResult, compileEntityView, compileEntityViews, explainEntitiesConfig, explainViewExecutionError };
@@ -1,2 +1,2 @@
1
- import { a as compileEntityView, c as explainViewExecutionError, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-CdnLqPQx.mjs";
1
+ import { a as compileEntityView, c as explainViewExecutionError, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-CwKVoK1w.mjs";
2
2
  export { CompileOptions, CompiledView, DEFAULT_VIEW_PREFIX, ExplainResult, compileEntityView, compileEntityViews, explainEntitiesConfig, explainViewExecutionError };
@@ -1,2 +1,2 @@
1
- import { a as explainViewExecutionError, i as explainEntitiesConfig, n as compileEntityView, r as compileEntityViews, t as DEFAULT_VIEW_PREFIX } from "./view-compiler-BzKk8nY3.mjs";
1
+ import { a as explainViewExecutionError, i as explainEntitiesConfig, n as compileEntityView, r as compileEntityViews, t as DEFAULT_VIEW_PREFIX } from "./view-compiler-C-6RydKK.mjs";
2
2
  export { DEFAULT_VIEW_PREFIX, compileEntityView, compileEntityViews, explainEntitiesConfig, explainViewExecutionError };
package/internal.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_projection = require("./projection-Dz6_i1-w.cjs");
3
- const require_entity_config = require("./entity-config-EZg9BtqD.cjs");
4
- const require_mappings_config = require("./mappings-config-BRP_Dev5.cjs");
2
+ const require_projection = require("./projection-BELgANG2.cjs");
3
+ const require_entity_config = require("./entity-config-BI4RYNKL.cjs");
4
+ const require_mappings_config = require("./mappings-config-BCsRLohT.cjs");
5
5
  const require_auth_adapter = require("./auth-adapter-CiEXcweZ.cjs");
6
+ const require_internal = require("./internal-CRIgf9jS.cjs");
6
7
  const require_mapping_form = require("./mapping-form-BpfON_ME.cjs");
7
- const require_projection_sql = require("./projection-sql-CbXCKt3s.cjs");
8
- const require_internal = require("./internal-Cz59xMj8.cjs");
9
- const require_view_compiler = require("./view-compiler-ZKZbd3SK.cjs");
10
- const require_sync_engine = require("./sync-engine-B0FT1ax6.cjs");
8
+ const require_projection_sql = require("./projection-sql-DuCtFE9t.cjs");
9
+ const require_view_compiler = require("./view-compiler-xiwm5iar.cjs");
10
+ const require_sync_engine = require("./sync-engine-Dwm_KDUS.cjs");
11
11
  const require_types = require("./types-Cq5gHCTq.cjs");
12
12
  exports.BASE_REF = require_projection.BASE_REF;
13
13
  exports.CANONICAL_FIELDS = require_entity_config.CANONICAL_FIELDS;
@@ -38,8 +38,10 @@ exports.explainEntitiesConfig = require_view_compiler.explainEntitiesConfig;
38
38
  exports.fanOutJoins = require_entity_config.fanOutJoins;
39
39
  exports.filterSchema = require_entity_config.filterSchema;
40
40
  exports.hasRichMeta = require_entity_config.hasRichMeta;
41
+ exports.hostOwnedFieldMessage = require_internal.hostOwnedFieldMessage;
41
42
  exports.identityRefs = require_projection.identityRefs;
42
43
  exports.isClosedStageType = require_types.isClosedStageType;
44
+ exports.isHostOwned = require_internal.isHostOwned;
43
45
  exports.joinFansOut = require_entity_config.joinFansOut;
44
46
  exports.mappingsToEntitiesConfig = require_mappings_config.mappingsToEntitiesConfig;
45
47
  exports.matchesCondition = require_internal.matchesCondition;
@@ -49,6 +51,8 @@ exports.projectionFields = require_entity_config.projectionFields;
49
51
  exports.projectionSchema = require_projection.projectionSchema;
50
52
  exports.quoteIdent = require_projection_sql.quoteIdent;
51
53
  exports.reconcile = require_sync_engine.reconcile;
54
+ exports.rejectedCompanyFields = require_internal.rejectedCompanyFields;
55
+ exports.rejectedContactFields = require_internal.rejectedContactFields;
52
56
  exports.relationshipSchema = require_entity_config.relationshipSchema;
53
57
  exports.relationshipViaSignature = require_mapping_form.relationshipViaSignature;
54
58
  exports.relationshipsSchema = require_entity_config.relationshipsSchema;
package/internal.d.cts CHANGED
@@ -1,11 +1,11 @@
1
- import { A as ValueInterval, C as TaskEntityType, D as UpdateContactInput, E as TaskStatus, O as UpdateDealInput, S as Task, T as TaskPriority, _ as PipelineConfig, a as ContactFilters, b as RecordSource, c as CreateCompanyInput, d as CreateTaskInput, f as CrmRole, g as OPEN_STAGE_TYPE, h as Note, i as Contact, j as isClosedStageType, k as UpdateTaskInput, l as CreateContactInput, m as DealStage, n as ActivityType, o as ContactStatus, p as Deal, r as Company, s as CreateActivityInput, t as Activity, u as CreateDealInput, v as PipelineKind, w as TaskFilters, x as StageType, y as PipelineStageConfig } from "./types-S0N0hqOV.cjs";
2
- import { a as authCustom, i as MembershipResolver, n as ClivlyUser, r as CrmMembership, t as ClivlyAuthAdapter } from "./auth-adapter-Cvc_sOpY.cjs";
3
- import { t as CRMAdapter } from "./adapter-CA8bA6o-.cjs";
4
- import { A as relationshipsSchema, B as identityRefs, D as missingRequiredFields, E as filterSchema, F as ProjectionFieldBinding, I as ProjectionIdentity, L as ProjectionJoin, M as validateEntitiesConfig, N as BASE_REF, O as projectionFields, P as PROJECTION_KEY_PATTERN, R as ProjectionMapping, S as RelationshipsMap, T as entitiesConfigSchema, V as projectionSchema, _ as MATERIALIZING_CONCEPTS, a as ClivlyEntitiesConfig, b as RelationshipSpec, d as CrmConcept, g as FilterValue, h as FilterExpr, i as ClivlyConfigError, j as requiredFieldsFor, k as relationshipSchema, l as ConfigValidationError, m as DiscoveredSchemaTable, n as CRM_CONCEPTS, p as DiscoveredColumnMeta, s as ClivlyEntityConfig, t as CANONICAL_FIELDS, u as ConfigValidationResult, v as MaterializingConcept, w as defineClivlyConfig, x as RelationshipVia, y as REQUIRED_FIELDS, z as ProjectionRef } from "./entity-config-CbS2DGmA.cjs";
5
- import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-BBgP1iEf.cjs";
6
- import { i as mappingsToEntitiesConfig, t as EntityMappingRow } from "./mappings-config-Cvw7RDSb.cjs";
7
- import { a as compileEntityView, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-P4GHpOHt.cjs";
8
- import { c as SyncResult, f as reconcile, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult } from "./sync-engine-qxbrOEJX.cjs";
1
+ import { A as relationshipsSchema, B as identityRefs, D as missingRequiredFields, E as filterSchema, F as ProjectionFieldBinding, I as ProjectionIdentity, L as ProjectionJoin, M as validateEntitiesConfig, N as BASE_REF, O as projectionFields, P as PROJECTION_KEY_PATTERN, R as ProjectionMapping, S as RelationshipsMap, T as entitiesConfigSchema, V as projectionSchema, _ as MATERIALIZING_CONCEPTS, a as ClivlyEntitiesConfig, b as RelationshipSpec, d as CrmConcept, g as FilterValue, h as FilterExpr, i as ClivlyConfigError, j as requiredFieldsFor, k as relationshipSchema, l as ConfigValidationError, m as DiscoveredSchemaTable, n as CRM_CONCEPTS, p as DiscoveredColumnMeta, s as ClivlyEntityConfig, t as CANONICAL_FIELDS, u as ConfigValidationResult, v as MaterializingConcept, w as defineClivlyConfig, x as RelationshipVia, y as REQUIRED_FIELDS, z as ProjectionRef } from "./entity-config-ApnT5j3X.cjs";
2
+ import { A as UpdateDealInput, C as Task, D as TaskStatus, E as TaskPriority, M as ValueInterval, N as isClosedStageType, O as UpdateCompanyInput, S as StageType, T as TaskFilters, _ as OPEN_STAGE_TYPE, a as Contact, b as PipelineStageConfig, c as CreateActivityInput, d as CreateDealInput, f as CreateTaskInput, g as Note, h as DealStage, i as CompanyFilters, j as UpdateTaskInput, k as UpdateContactInput, l as CreateCompanyInput, m as Deal, n as ActivityType, o as ContactFilters, p as CrmRole, r as Company, s as ContactStatus, t as Activity, u as CreateContactInput, v as PipelineConfig, w as TaskEntityType, x as RecordSource, y as PipelineKind } from "./types-D08UzDqe.cjs";
3
+ import { a as authCustom, i as MembershipResolver, n as ClivlyUser, r as CrmMembership, t as ClivlyAuthAdapter } from "./auth-adapter-C3BQpc-q.cjs";
4
+ import { t as CRMAdapter } from "./adapter-Bd5HjLYa.cjs";
5
+ import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-XsLLCqW_.cjs";
6
+ import { i as mappingsToEntitiesConfig, t as EntityMappingRow } from "./mappings-config-iJzbcUMp.cjs";
7
+ import { a as compileEntityView, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-Cq8apvZ4.cjs";
8
+ import { c as SyncResult, f as reconcile, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult } from "./sync-engine-V3_UutGv.cjs";
9
+ import { C as HostOwnedCompanyField, D as isHostOwned, E as hostOwnedFieldMessage, O as rejectedCompanyFields, S as joinFansOut, T as SourcedRecord, _ as compileProjectionJoins, a as matchesCondition, b as quoteIdent, c as columnMetaFor, d as primaryKeyColumns, f as validateProjection, g as compileProjectionIdentity, h as compileProjectionFrom, i as evaluateStage, k as rejectedContactFields, l as coversUniqueKey, m as PREVIEW_MAX_ROWS, n as ConditionOp, o as slugify, p as validateProjectionFilter, r as EvaluableRule, s as toObjectTypeSlug, t as Condition, u as hasRichMeta, v as compileProjectionPreview, w as HostOwnedContactField, x as fanOutJoins, y as compileProjectionSelect } from "./internal-D9kqkhPs.cjs";
9
10
  import { a as IntegrationStep, c as StepProblem, i as IntegrationStatus, l as StepState, n as IntegrationFacts, o as NextAction, r as IntegrationState, s as StepId, t as ConnectionLiveness } from "./integration-state-BA4c0RbD.cjs";
10
- import { S as joinFansOut, _ as compileProjectionJoins, a as matchesCondition, b as quoteIdent, c as columnMetaFor, d as primaryKeyColumns, f as validateProjection, g as compileProjectionIdentity, h as compileProjectionFrom, i as evaluateStage, l as coversUniqueKey, m as PREVIEW_MAX_ROWS, n as ConditionOp, o as slugify, p as validateProjectionFilter, r as EvaluableRule, s as toObjectTypeSlug, t as Condition, u as hasRichMeta, v as compileProjectionPreview, x as fanOutJoins, y as compileProjectionSelect } from "./internal-B8cq-xP-.cjs";
11
- export { type Activity, type ActivityType, BASE_REF, CANONICAL_FIELDS, type CRMAdapter, CRM_CONCEPTS, type ClivlyAuthAdapter, ClivlyConfigError, type ClivlyEntitiesConfig, type ClivlyEntityConfig, type ClivlyUser, type Company, type CompileOptions, type CompiledView, type Condition, type ConditionOp, type ConfigValidationError, type ConfigValidationResult, type ConnectionLiveness, type Contact, type ContactFilters, type ContactStatus, type CreateActivityInput, type CreateCompanyInput, type CreateContactInput, type CreateDealInput, type CreateTaskInput, type CrmConcept, type CrmMembership, type CrmRole, DEFAULT_VIEW_PREFIX, type Deal, type DealStage, type DiscoveredColumnMeta, type DiscoveredSchemaTable, type EntityMappingRow, type EntitySyncResult, type EvaluableRule, type ExplainResult, type FilterExpr, type FilterValue, type IntegrationFacts, type IntegrationState, type IntegrationStatus, type IntegrationStep, MATERIALIZING_CONCEPTS, type MaterializingConcept, type MembershipResolver, type MirrorRecord, type NextAction, type Note, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, type PersistAction, type PipelineConfig, type PipelineKind, type PipelineStageConfig, type ProjectionFieldBinding, type ProjectionIdentity, type ProjectionJoin, type ProjectionMapping, type ProjectionRef, REQUIRED_FIELDS, type RecordSource, type RelationshipCandidate, type RelationshipSpec, type RelationshipVia, type RelationshipsMap, type SourceRow, type StageType, type StepId, type StepProblem, type StepState, type SyncAction, type SyncResult, type SyncStore, type Task, type TaskEntityType, type TaskFilters, type TaskPriority, type TaskStatus, type UpdateContactInput, type UpdateDealInput, type UpdateTaskInput, type ValueInterval, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, identityRefs, isClosedStageType, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
11
+ export { type Activity, type ActivityType, BASE_REF, CANONICAL_FIELDS, type CRMAdapter, CRM_CONCEPTS, type ClivlyAuthAdapter, ClivlyConfigError, type ClivlyEntitiesConfig, type ClivlyEntityConfig, type ClivlyUser, type Company, type CompanyFilters, type CompileOptions, type CompiledView, type Condition, type ConditionOp, type ConfigValidationError, type ConfigValidationResult, type ConnectionLiveness, type Contact, type ContactFilters, type ContactStatus, type CreateActivityInput, type CreateCompanyInput, type CreateContactInput, type CreateDealInput, type CreateTaskInput, type CrmConcept, type CrmMembership, type CrmRole, DEFAULT_VIEW_PREFIX, type Deal, type DealStage, type DiscoveredColumnMeta, type DiscoveredSchemaTable, type EntityMappingRow, type EntitySyncResult, type EvaluableRule, type ExplainResult, type FilterExpr, type FilterValue, type HostOwnedCompanyField, type HostOwnedContactField, type IntegrationFacts, type IntegrationState, type IntegrationStatus, type IntegrationStep, MATERIALIZING_CONCEPTS, type MaterializingConcept, type MembershipResolver, type MirrorRecord, type NextAction, type Note, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, type PersistAction, type PipelineConfig, type PipelineKind, type PipelineStageConfig, type ProjectionFieldBinding, type ProjectionIdentity, type ProjectionJoin, type ProjectionMapping, type ProjectionRef, REQUIRED_FIELDS, type RecordSource, type RelationshipCandidate, type RelationshipSpec, type RelationshipVia, type RelationshipsMap, type SourceRow, type SourcedRecord, type StageType, type StepId, type StepProblem, type StepState, type SyncAction, type SyncResult, type SyncStore, type Task, type TaskEntityType, type TaskFilters, type TaskPriority, type TaskStatus, type UpdateCompanyInput, type UpdateContactInput, type UpdateDealInput, type UpdateTaskInput, type ValueInterval, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, hostOwnedFieldMessage, identityRefs, isClosedStageType, isHostOwned, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, rejectedCompanyFields, rejectedContactFields, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
package/internal.d.mts CHANGED
@@ -1,11 +1,11 @@
1
- import { A as ValueInterval, C as TaskEntityType, D as UpdateContactInput, E as TaskStatus, O as UpdateDealInput, S as Task, T as TaskPriority, _ as PipelineConfig, a as ContactFilters, b as RecordSource, c as CreateCompanyInput, d as CreateTaskInput, f as CrmRole, g as OPEN_STAGE_TYPE, h as Note, i as Contact, j as isClosedStageType, k as UpdateTaskInput, l as CreateContactInput, m as DealStage, n as ActivityType, o as ContactStatus, p as Deal, r as Company, s as CreateActivityInput, t as Activity, u as CreateDealInput, v as PipelineKind, w as TaskFilters, x as StageType, y as PipelineStageConfig } from "./types-S0N0hqOV.mjs";
2
- import { a as authCustom, i as MembershipResolver, n as ClivlyUser, r as CrmMembership, t as ClivlyAuthAdapter } from "./auth-adapter-B4vVyUiX.mjs";
3
- import { t as CRMAdapter } from "./adapter-BQl13eS3.mjs";
4
- import { A as relationshipsSchema, B as identityRefs, D as missingRequiredFields, E as filterSchema, F as ProjectionFieldBinding, I as ProjectionIdentity, L as ProjectionJoin, M as validateEntitiesConfig, N as BASE_REF, O as projectionFields, P as PROJECTION_KEY_PATTERN, R as ProjectionMapping, S as RelationshipsMap, T as entitiesConfigSchema, V as projectionSchema, _ as MATERIALIZING_CONCEPTS, a as ClivlyEntitiesConfig, b as RelationshipSpec, d as CrmConcept, g as FilterValue, h as FilterExpr, i as ClivlyConfigError, j as requiredFieldsFor, k as relationshipSchema, l as ConfigValidationError, m as DiscoveredSchemaTable, n as CRM_CONCEPTS, p as DiscoveredColumnMeta, s as ClivlyEntityConfig, t as CANONICAL_FIELDS, u as ConfigValidationResult, v as MaterializingConcept, w as defineClivlyConfig, x as RelationshipVia, y as REQUIRED_FIELDS, z as ProjectionRef } from "./entity-config-CbS2DGmA.mjs";
5
- import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-B_vX_kZJ.mjs";
6
- import { i as mappingsToEntitiesConfig, t as EntityMappingRow } from "./mappings-config-BXdSUl-K.mjs";
7
- import { a as compileEntityView, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-CdnLqPQx.mjs";
8
- import { c as SyncResult, f as reconcile, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult } from "./sync-engine-BQRApDAG.mjs";
1
+ import { A as relationshipsSchema, B as identityRefs, D as missingRequiredFields, E as filterSchema, F as ProjectionFieldBinding, I as ProjectionIdentity, L as ProjectionJoin, M as validateEntitiesConfig, N as BASE_REF, O as projectionFields, P as PROJECTION_KEY_PATTERN, R as ProjectionMapping, S as RelationshipsMap, T as entitiesConfigSchema, V as projectionSchema, _ as MATERIALIZING_CONCEPTS, a as ClivlyEntitiesConfig, b as RelationshipSpec, d as CrmConcept, g as FilterValue, h as FilterExpr, i as ClivlyConfigError, j as requiredFieldsFor, k as relationshipSchema, l as ConfigValidationError, m as DiscoveredSchemaTable, n as CRM_CONCEPTS, p as DiscoveredColumnMeta, s as ClivlyEntityConfig, t as CANONICAL_FIELDS, u as ConfigValidationResult, v as MaterializingConcept, w as defineClivlyConfig, x as RelationshipVia, y as REQUIRED_FIELDS, z as ProjectionRef } from "./entity-config-CKcj4-M_.mjs";
2
+ import { A as UpdateDealInput, C as Task, D as TaskStatus, E as TaskPriority, M as ValueInterval, N as isClosedStageType, O as UpdateCompanyInput, S as StageType, T as TaskFilters, _ as OPEN_STAGE_TYPE, a as Contact, b as PipelineStageConfig, c as CreateActivityInput, d as CreateDealInput, f as CreateTaskInput, g as Note, h as DealStage, i as CompanyFilters, j as UpdateTaskInput, k as UpdateContactInput, l as CreateCompanyInput, m as Deal, n as ActivityType, o as ContactFilters, p as CrmRole, r as Company, s as ContactStatus, t as Activity, u as CreateContactInput, v as PipelineConfig, w as TaskEntityType, x as RecordSource, y as PipelineKind } from "./types-D08UzDqe.mjs";
3
+ import { a as authCustom, i as MembershipResolver, n as ClivlyUser, r as CrmMembership, t as ClivlyAuthAdapter } from "./auth-adapter-D54ajbl7.mjs";
4
+ import { t as CRMAdapter } from "./adapter-BWrOtOw5.mjs";
5
+ import { i as relationshipViaSignature, n as buildFilterFromDiscriminator, r as buildRelationships, t as RelationshipCandidate } from "./mapping-form-Btn-7gzv.mjs";
6
+ import { i as mappingsToEntitiesConfig, t as EntityMappingRow } from "./mappings-config-D6_oCi2Q.mjs";
7
+ import { a as compileEntityView, i as ExplainResult, n as CompiledView, o as compileEntityViews, r as DEFAULT_VIEW_PREFIX, s as explainEntitiesConfig, t as CompileOptions } from "./view-compiler-CwKVoK1w.mjs";
8
+ import { c as SyncResult, f as reconcile, l as SyncStore, n as MirrorRecord, o as SourceRow, p as runSync, r as PersistAction, s as SyncAction, t as EntitySyncResult } from "./sync-engine--M9EaONC.mjs";
9
+ import { C as HostOwnedCompanyField, D as isHostOwned, E as hostOwnedFieldMessage, O as rejectedCompanyFields, S as joinFansOut, T as SourcedRecord, _ as compileProjectionJoins, a as matchesCondition, b as quoteIdent, c as columnMetaFor, d as primaryKeyColumns, f as validateProjection, g as compileProjectionIdentity, h as compileProjectionFrom, i as evaluateStage, k as rejectedContactFields, l as coversUniqueKey, m as PREVIEW_MAX_ROWS, n as ConditionOp, o as slugify, p as validateProjectionFilter, r as EvaluableRule, s as toObjectTypeSlug, t as Condition, u as hasRichMeta, v as compileProjectionPreview, w as HostOwnedContactField, x as fanOutJoins, y as compileProjectionSelect } from "./internal-Bjpq7S2G.mjs";
9
10
  import { a as IntegrationStep, c as StepProblem, i as IntegrationStatus, l as StepState, n as IntegrationFacts, o as NextAction, r as IntegrationState, s as StepId, t as ConnectionLiveness } from "./integration-state-BA4c0RbD.mjs";
10
- import { S as joinFansOut, _ as compileProjectionJoins, a as matchesCondition, b as quoteIdent, c as columnMetaFor, d as primaryKeyColumns, f as validateProjection, g as compileProjectionIdentity, h as compileProjectionFrom, i as evaluateStage, l as coversUniqueKey, m as PREVIEW_MAX_ROWS, n as ConditionOp, o as slugify, p as validateProjectionFilter, r as EvaluableRule, s as toObjectTypeSlug, t as Condition, u as hasRichMeta, v as compileProjectionPreview, x as fanOutJoins, y as compileProjectionSelect } from "./internal-DEV1NCQc.mjs";
11
- export { type Activity, type ActivityType, BASE_REF, CANONICAL_FIELDS, type CRMAdapter, CRM_CONCEPTS, type ClivlyAuthAdapter, ClivlyConfigError, type ClivlyEntitiesConfig, type ClivlyEntityConfig, type ClivlyUser, type Company, type CompileOptions, type CompiledView, type Condition, type ConditionOp, type ConfigValidationError, type ConfigValidationResult, type ConnectionLiveness, type Contact, type ContactFilters, type ContactStatus, type CreateActivityInput, type CreateCompanyInput, type CreateContactInput, type CreateDealInput, type CreateTaskInput, type CrmConcept, type CrmMembership, type CrmRole, DEFAULT_VIEW_PREFIX, type Deal, type DealStage, type DiscoveredColumnMeta, type DiscoveredSchemaTable, type EntityMappingRow, type EntitySyncResult, type EvaluableRule, type ExplainResult, type FilterExpr, type FilterValue, type IntegrationFacts, type IntegrationState, type IntegrationStatus, type IntegrationStep, MATERIALIZING_CONCEPTS, type MaterializingConcept, type MembershipResolver, type MirrorRecord, type NextAction, type Note, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, type PersistAction, type PipelineConfig, type PipelineKind, type PipelineStageConfig, type ProjectionFieldBinding, type ProjectionIdentity, type ProjectionJoin, type ProjectionMapping, type ProjectionRef, REQUIRED_FIELDS, type RecordSource, type RelationshipCandidate, type RelationshipSpec, type RelationshipVia, type RelationshipsMap, type SourceRow, type StageType, type StepId, type StepProblem, type StepState, type SyncAction, type SyncResult, type SyncStore, type Task, type TaskEntityType, type TaskFilters, type TaskPriority, type TaskStatus, type UpdateContactInput, type UpdateDealInput, type UpdateTaskInput, type ValueInterval, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, identityRefs, isClosedStageType, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
11
+ export { type Activity, type ActivityType, BASE_REF, CANONICAL_FIELDS, type CRMAdapter, CRM_CONCEPTS, type ClivlyAuthAdapter, ClivlyConfigError, type ClivlyEntitiesConfig, type ClivlyEntityConfig, type ClivlyUser, type Company, type CompanyFilters, type CompileOptions, type CompiledView, type Condition, type ConditionOp, type ConfigValidationError, type ConfigValidationResult, type ConnectionLiveness, type Contact, type ContactFilters, type ContactStatus, type CreateActivityInput, type CreateCompanyInput, type CreateContactInput, type CreateDealInput, type CreateTaskInput, type CrmConcept, type CrmMembership, type CrmRole, DEFAULT_VIEW_PREFIX, type Deal, type DealStage, type DiscoveredColumnMeta, type DiscoveredSchemaTable, type EntityMappingRow, type EntitySyncResult, type EvaluableRule, type ExplainResult, type FilterExpr, type FilterValue, type HostOwnedCompanyField, type HostOwnedContactField, type IntegrationFacts, type IntegrationState, type IntegrationStatus, type IntegrationStep, MATERIALIZING_CONCEPTS, type MaterializingConcept, type MembershipResolver, type MirrorRecord, type NextAction, type Note, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, type PersistAction, type PipelineConfig, type PipelineKind, type PipelineStageConfig, type ProjectionFieldBinding, type ProjectionIdentity, type ProjectionJoin, type ProjectionMapping, type ProjectionRef, REQUIRED_FIELDS, type RecordSource, type RelationshipCandidate, type RelationshipSpec, type RelationshipVia, type RelationshipsMap, type SourceRow, type SourcedRecord, type StageType, type StepId, type StepProblem, type StepState, type SyncAction, type SyncResult, type SyncStore, type Task, type TaskEntityType, type TaskFilters, type TaskPriority, type TaskStatus, type UpdateCompanyInput, type UpdateContactInput, type UpdateDealInput, type UpdateTaskInput, type ValueInterval, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, hostOwnedFieldMessage, identityRefs, isClosedStageType, isHostOwned, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, rejectedCompanyFields, rejectedContactFields, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
package/internal.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import { i as projectionSchema, n as PROJECTION_KEY_PATTERN, r as identityRefs, t as BASE_REF } from "./projection-CSGJbZlZ.mjs";
2
- import { C as hasRichMeta, S as coversUniqueKey, _ as validateProjection, a as MATERIALIZING_CONCEPTS, b as joinFansOut, c as defineClivlyConfig, d as missingRequiredFields, f as projectionFields, g as validateEntitiesConfig, h as requiredFieldsFor, i as ClivlyConfigError, l as entitiesConfigSchema, m as relationshipsSchema, n as CRM_CONCEPTS, o as REQUIRED_FIELDS, p as relationshipSchema, t as CANONICAL_FIELDS, u as filterSchema, v as validateProjectionFilter, w as primaryKeyColumns, x as columnMetaFor, y as fanOutJoins } from "./entity-config-CO0TEwZC.mjs";
3
- import { n as mappingsToEntitiesConfig } from "./mappings-config-fAfUoVuD.mjs";
1
+ import { i as projectionSchema, n as PROJECTION_KEY_PATTERN, r as identityRefs, t as BASE_REF } from "./projection-DvNewmI1.mjs";
2
+ import { C as hasRichMeta, S as coversUniqueKey, _ as validateProjection, a as MATERIALIZING_CONCEPTS, b as joinFansOut, c as defineClivlyConfig, d as missingRequiredFields, f as projectionFields, g as validateEntitiesConfig, h as requiredFieldsFor, i as ClivlyConfigError, l as entitiesConfigSchema, m as relationshipsSchema, n as CRM_CONCEPTS, o as REQUIRED_FIELDS, p as relationshipSchema, t as CANONICAL_FIELDS, u as filterSchema, v as validateProjectionFilter, w as primaryKeyColumns, x as columnMetaFor, y as fanOutJoins } from "./entity-config-Ccfb2IL9.mjs";
3
+ import { n as mappingsToEntitiesConfig } from "./mappings-config-CwQNQ6bA.mjs";
4
4
  import { t as authCustom } from "./auth-adapter-gfVDxf3d.mjs";
5
+ import { a as hostOwnedFieldMessage, c as rejectedContactFields, i as toObjectTypeSlug, n as matchesCondition, o as isHostOwned, r as slugify, s as rejectedCompanyFields, t as evaluateStage } from "./internal-v6P9MZY1.mjs";
5
6
  import { n as buildRelationships, r as relationshipViaSignature, t as buildFilterFromDiscriminator } from "./mapping-form-DigkuvFc.mjs";
6
- import { a as compileProjectionPreview, i as compileProjectionJoins, n as compileProjectionFrom, o as compileProjectionSelect, r as compileProjectionIdentity, s as quoteIdent, t as PREVIEW_MAX_ROWS } from "./projection-sql-iHoiYr1R.mjs";
7
- import { i as toObjectTypeSlug, n as matchesCondition, r as slugify, t as evaluateStage } from "./internal-Bgiimp5D.mjs";
8
- import { i as explainEntitiesConfig, n as compileEntityView, r as compileEntityViews, t as DEFAULT_VIEW_PREFIX } from "./view-compiler-BzKk8nY3.mjs";
9
- import { i as runSync, r as reconcile } from "./sync-engine-CTSIcLlZ.mjs";
7
+ import { a as compileProjectionPreview, i as compileProjectionJoins, n as compileProjectionFrom, o as compileProjectionSelect, r as compileProjectionIdentity, s as quoteIdent, t as PREVIEW_MAX_ROWS } from "./projection-sql-DweUaWRc.mjs";
8
+ import { i as explainEntitiesConfig, n as compileEntityView, r as compileEntityViews, t as DEFAULT_VIEW_PREFIX } from "./view-compiler-C-6RydKK.mjs";
9
+ import { i as runSync, r as reconcile } from "./sync-engine-Df2MCs_n.mjs";
10
10
  import { n as isClosedStageType, t as OPEN_STAGE_TYPE } from "./types-YJTkXKzU.mjs";
11
- export { BASE_REF, CANONICAL_FIELDS, CRM_CONCEPTS, ClivlyConfigError, DEFAULT_VIEW_PREFIX, MATERIALIZING_CONCEPTS, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, REQUIRED_FIELDS, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, identityRefs, isClosedStageType, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
11
+ export { BASE_REF, CANONICAL_FIELDS, CRM_CONCEPTS, ClivlyConfigError, DEFAULT_VIEW_PREFIX, MATERIALIZING_CONCEPTS, OPEN_STAGE_TYPE, PREVIEW_MAX_ROWS, PROJECTION_KEY_PATTERN, REQUIRED_FIELDS, authCustom, buildFilterFromDiscriminator, buildRelationships, columnMetaFor, compileEntityView, compileEntityViews, compileProjectionFrom, compileProjectionIdentity, compileProjectionJoins, compileProjectionPreview, compileProjectionSelect, coversUniqueKey, defineClivlyConfig, entitiesConfigSchema, evaluateStage, explainEntitiesConfig, fanOutJoins, filterSchema, hasRichMeta, hostOwnedFieldMessage, identityRefs, isClosedStageType, isHostOwned, joinFansOut, mappingsToEntitiesConfig, matchesCondition, missingRequiredFields, primaryKeyColumns, projectionFields, projectionSchema, quoteIdent, reconcile, rejectedCompanyFields, rejectedContactFields, relationshipSchema, relationshipViaSignature, relationshipsSchema, requiredFieldsFor, runSync, slugify, toObjectTypeSlug, validateEntitiesConfig, validateProjection, validateProjectionFilter };
@@ -1,4 +1,4 @@
1
- import { S as RelationshipsMap, h as FilterExpr, x as RelationshipVia } from "./entity-config-CbS2DGmA.cjs";
1
+ import { S as RelationshipsMap, h as FilterExpr, x as RelationshipVia } from "./entity-config-CKcj4-M_.mjs";
2
2
  //#region ../core/src/mapping-form.d.ts
3
3
  /**
4
4
  * A relationship the mapping UI can offer or has configured, in the shape the
@@ -1,4 +1,4 @@
1
- import { S as RelationshipsMap, h as FilterExpr, x as RelationshipVia } from "./entity-config-CbS2DGmA.mjs";
1
+ import { S as RelationshipsMap, h as FilterExpr, x as RelationshipVia } from "./entity-config-ApnT5j3X.cjs";
2
2
  //#region ../core/src/mapping-form.d.ts
3
3
  /**
4
4
  * A relationship the mapping UI can offer or has configured, in the shape the
@@ -1,4 +1,4 @@
1
- const require_entity_config = require("./entity-config-EZg9BtqD.cjs");
1
+ const require_entity_config = require("./entity-config-BI4RYNKL.cjs");
2
2
  //#region ../core/src/mappings-config.ts
3
3
  const RESERVED_FIELD = "id";
4
4
  /**
@@ -119,6 +119,7 @@ function entitiesToMappings(config) {
119
119
  fieldMap: entity.projection ? {} : entity.fields
120
120
  };
121
121
  if (entity.filter) row.filter = entity.filter;
122
+ if (entity.isPrimaryContact) row.isPrimaryContact = true;
122
123
  if (entity.relationships) row.relationships = entity.relationships;
123
124
  if (entity.projection) row.projection = entity.projection;
124
125
  if (entity.concept === CUSTOM_CONCEPT) {