@happyvertical/smrt-sales 0.39.2

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 (201) hide show
  1. package/AGENTS.md +87 -0
  2. package/CLAUDE.md +1 -0
  3. package/LICENSE +7 -0
  4. package/dist/.tsbuildinfo +1 -0
  5. package/dist/__smrt-register__.d.ts +2 -0
  6. package/dist/__smrt-register__.d.ts.map +1 -0
  7. package/dist/chunks/__smrt-register__-kWdT7LOt.js +6 -0
  8. package/dist/chunks/__smrt-register__-kWdT7LOt.js.map +1 -0
  9. package/dist/chunks/commissions-BCxqOKVM.js +2181 -0
  10. package/dist/chunks/commissions-BCxqOKVM.js.map +1 -0
  11. package/dist/chunks/crm-DwEz7E2r.js +1428 -0
  12. package/dist/chunks/crm-DwEz7E2r.js.map +1 -0
  13. package/dist/chunks/referrals-BY47p70T.js +2880 -0
  14. package/dist/chunks/referrals-BY47p70T.js.map +1 -0
  15. package/dist/commissions/collections/CommissionAdjustmentCollection.d.ts +26 -0
  16. package/dist/commissions/collections/CommissionAdjustmentCollection.d.ts.map +1 -0
  17. package/dist/commissions/collections/CommissionCollection.d.ts +43 -0
  18. package/dist/commissions/collections/CommissionCollection.d.ts.map +1 -0
  19. package/dist/commissions/collections/CommissionPayoutCollection.d.ts +19 -0
  20. package/dist/commissions/collections/CommissionPayoutCollection.d.ts.map +1 -0
  21. package/dist/commissions/collections/CommissionPlanCollection.d.ts +46 -0
  22. package/dist/commissions/collections/CommissionPlanCollection.d.ts.map +1 -0
  23. package/dist/commissions/collections/EarnerCollection.d.ts +14 -0
  24. package/dist/commissions/collections/EarnerCollection.d.ts.map +1 -0
  25. package/dist/commissions/collections/EarningEventCollection.d.ts +27 -0
  26. package/dist/commissions/collections/EarningEventCollection.d.ts.map +1 -0
  27. package/dist/commissions/collections/index.d.ts +11 -0
  28. package/dist/commissions/collections/index.d.ts.map +1 -0
  29. package/dist/commissions/index.d.ts +20 -0
  30. package/dist/commissions/index.d.ts.map +1 -0
  31. package/dist/commissions/models/Commission.d.ts +150 -0
  32. package/dist/commissions/models/Commission.d.ts.map +1 -0
  33. package/dist/commissions/models/CommissionAdjustment.d.ts +62 -0
  34. package/dist/commissions/models/CommissionAdjustment.d.ts.map +1 -0
  35. package/dist/commissions/models/CommissionPayout.d.ts +119 -0
  36. package/dist/commissions/models/CommissionPayout.d.ts.map +1 -0
  37. package/dist/commissions/models/CommissionPlan.d.ts +117 -0
  38. package/dist/commissions/models/CommissionPlan.d.ts.map +1 -0
  39. package/dist/commissions/models/Earner.d.ts +49 -0
  40. package/dist/commissions/models/Earner.d.ts.map +1 -0
  41. package/dist/commissions/models/EarningEvent.d.ts +89 -0
  42. package/dist/commissions/models/EarningEvent.d.ts.map +1 -0
  43. package/dist/commissions/models/index.d.ts +11 -0
  44. package/dist/commissions/models/index.d.ts.map +1 -0
  45. package/dist/commissions/money.d.ts +42 -0
  46. package/dist/commissions/money.d.ts.map +1 -0
  47. package/dist/commissions/services/CommissionBalanceService.d.ts +14 -0
  48. package/dist/commissions/services/CommissionBalanceService.d.ts.map +1 -0
  49. package/dist/commissions/services/CommissionCalculationService.d.ts +142 -0
  50. package/dist/commissions/services/CommissionCalculationService.d.ts.map +1 -0
  51. package/dist/commissions/services/CommissionPayoutService.d.ts +134 -0
  52. package/dist/commissions/services/CommissionPayoutService.d.ts.map +1 -0
  53. package/dist/commissions/services/CommissionSettlementService.d.ts +42 -0
  54. package/dist/commissions/services/CommissionSettlementService.d.ts.map +1 -0
  55. package/dist/commissions/services/index.d.ts +9 -0
  56. package/dist/commissions/services/index.d.ts.map +1 -0
  57. package/dist/commissions/types.d.ts +243 -0
  58. package/dist/commissions/types.d.ts.map +1 -0
  59. package/dist/commissions.d.ts +2 -0
  60. package/dist/commissions.d.ts.map +1 -0
  61. package/dist/commissions.js +3 -0
  62. package/dist/crm/collections/LeadCollection.d.ts +79 -0
  63. package/dist/crm/collections/LeadCollection.d.ts.map +1 -0
  64. package/dist/crm/collections/OpportunityCollection.d.ts +42 -0
  65. package/dist/crm/collections/OpportunityCollection.d.ts.map +1 -0
  66. package/dist/crm/collections/OpportunityConversionCollection.d.ts +26 -0
  67. package/dist/crm/collections/OpportunityConversionCollection.d.ts.map +1 -0
  68. package/dist/crm/collections/PipelineDefinitionCollection.d.ts +46 -0
  69. package/dist/crm/collections/PipelineDefinitionCollection.d.ts.map +1 -0
  70. package/dist/crm/collections/PipelineStageCollection.d.ts +22 -0
  71. package/dist/crm/collections/PipelineStageCollection.d.ts.map +1 -0
  72. package/dist/crm/collections/SalesActivityCollection.d.ts +24 -0
  73. package/dist/crm/collections/SalesActivityCollection.d.ts.map +1 -0
  74. package/dist/crm/collections/SalesRepresentativeCollection.d.ts +19 -0
  75. package/dist/crm/collections/SalesRepresentativeCollection.d.ts.map +1 -0
  76. package/dist/crm/index.d.ts +27 -0
  77. package/dist/crm/index.d.ts.map +1 -0
  78. package/dist/crm/models/Lead.d.ts +135 -0
  79. package/dist/crm/models/Lead.d.ts.map +1 -0
  80. package/dist/crm/models/Opportunity.d.ts +111 -0
  81. package/dist/crm/models/Opportunity.d.ts.map +1 -0
  82. package/dist/crm/models/OpportunityConversion.d.ts +66 -0
  83. package/dist/crm/models/OpportunityConversion.d.ts.map +1 -0
  84. package/dist/crm/models/PipelineDefinition.d.ts +58 -0
  85. package/dist/crm/models/PipelineDefinition.d.ts.map +1 -0
  86. package/dist/crm/models/PipelineStage.d.ts +66 -0
  87. package/dist/crm/models/PipelineStage.d.ts.map +1 -0
  88. package/dist/crm/models/SalesActivity.d.ts +76 -0
  89. package/dist/crm/models/SalesActivity.d.ts.map +1 -0
  90. package/dist/crm/models/SalesRepresentative.d.ts +60 -0
  91. package/dist/crm/models/SalesRepresentative.d.ts.map +1 -0
  92. package/dist/crm/types.d.ts +228 -0
  93. package/dist/crm/types.d.ts.map +1 -0
  94. package/dist/crm.d.ts +2 -0
  95. package/dist/crm.d.ts.map +1 -0
  96. package/dist/crm.js +3 -0
  97. package/dist/index.d.ts +4 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +5 -0
  100. package/dist/manifest.json +9340 -0
  101. package/dist/referrals/collections/AttributionExceptionCollection.d.ts +17 -0
  102. package/dist/referrals/collections/AttributionExceptionCollection.d.ts.map +1 -0
  103. package/dist/referrals/collections/AttributionPolicyCollection.d.ts +50 -0
  104. package/dist/referrals/collections/AttributionPolicyCollection.d.ts.map +1 -0
  105. package/dist/referrals/collections/ReferralAgreementCollection.d.ts +48 -0
  106. package/dist/referrals/collections/ReferralAgreementCollection.d.ts.map +1 -0
  107. package/dist/referrals/collections/ReferralCollection.d.ts +25 -0
  108. package/dist/referrals/collections/ReferralCollection.d.ts.map +1 -0
  109. package/dist/referrals/collections/ReferralLinkCollection.d.ts +96 -0
  110. package/dist/referrals/collections/ReferralLinkCollection.d.ts.map +1 -0
  111. package/dist/referrals/collections/ReferralProgramCollection.d.ts +18 -0
  112. package/dist/referrals/collections/ReferralProgramCollection.d.ts.map +1 -0
  113. package/dist/referrals/collections/ReferralTermSnapshotCollection.d.ts +13 -0
  114. package/dist/referrals/collections/ReferralTermSnapshotCollection.d.ts.map +1 -0
  115. package/dist/referrals/collections/ReferralTouchCollection.d.ts +30 -0
  116. package/dist/referrals/collections/ReferralTouchCollection.d.ts.map +1 -0
  117. package/dist/referrals/collections/ReferrerCollection.d.ts +17 -0
  118. package/dist/referrals/collections/ReferrerCollection.d.ts.map +1 -0
  119. package/dist/referrals/index.d.ts +38 -0
  120. package/dist/referrals/index.d.ts.map +1 -0
  121. package/dist/referrals/models/AttributionException.d.ts +85 -0
  122. package/dist/referrals/models/AttributionException.d.ts.map +1 -0
  123. package/dist/referrals/models/AttributionPolicy.d.ts +128 -0
  124. package/dist/referrals/models/AttributionPolicy.d.ts.map +1 -0
  125. package/dist/referrals/models/Referral.d.ts +112 -0
  126. package/dist/referrals/models/Referral.d.ts.map +1 -0
  127. package/dist/referrals/models/ReferralAgreement.d.ts +125 -0
  128. package/dist/referrals/models/ReferralAgreement.d.ts.map +1 -0
  129. package/dist/referrals/models/ReferralLink.d.ts +71 -0
  130. package/dist/referrals/models/ReferralLink.d.ts.map +1 -0
  131. package/dist/referrals/models/ReferralProgram.d.ts +57 -0
  132. package/dist/referrals/models/ReferralProgram.d.ts.map +1 -0
  133. package/dist/referrals/models/ReferralTermSnapshot.d.ts +61 -0
  134. package/dist/referrals/models/ReferralTermSnapshot.d.ts.map +1 -0
  135. package/dist/referrals/models/ReferralTouch.d.ts +55 -0
  136. package/dist/referrals/models/ReferralTouch.d.ts.map +1 -0
  137. package/dist/referrals/models/Referrer.d.ts +69 -0
  138. package/dist/referrals/models/Referrer.d.ts.map +1 -0
  139. package/dist/referrals/services/AttributionService.d.ts +248 -0
  140. package/dist/referrals/services/AttributionService.d.ts.map +1 -0
  141. package/dist/referrals/services/ReferralCommissionService.d.ts +91 -0
  142. package/dist/referrals/services/ReferralCommissionService.d.ts.map +1 -0
  143. package/dist/referrals/services/ReferralQualificationService.d.ts +135 -0
  144. package/dist/referrals/services/ReferralQualificationService.d.ts.map +1 -0
  145. package/dist/referrals/types.d.ts +226 -0
  146. package/dist/referrals/types.d.ts.map +1 -0
  147. package/dist/referrals.d.ts +2 -0
  148. package/dist/referrals.d.ts.map +1 -0
  149. package/dist/referrals.js +3 -0
  150. package/dist/smrt-knowledge.json +5501 -0
  151. package/dist/svelte/__tests__/format.test.js +68 -0
  152. package/dist/svelte/__tests__/types.test.js +349 -0
  153. package/dist/svelte/components/AttributionConflictQueue.svelte +361 -0
  154. package/dist/svelte/components/AttributionConflictQueue.svelte.d.ts +15 -0
  155. package/dist/svelte/components/AttributionConflictQueue.svelte.d.ts.map +1 -0
  156. package/dist/svelte/components/CommissionBreakdown.svelte +251 -0
  157. package/dist/svelte/components/CommissionBreakdown.svelte.d.ts +11 -0
  158. package/dist/svelte/components/CommissionBreakdown.svelte.d.ts.map +1 -0
  159. package/dist/svelte/components/CommissionExpenseSummary.svelte +186 -0
  160. package/dist/svelte/components/CommissionExpenseSummary.svelte.d.ts +13 -0
  161. package/dist/svelte/components/CommissionExpenseSummary.svelte.d.ts.map +1 -0
  162. package/dist/svelte/components/ExecutedAgreementsList.svelte +136 -0
  163. package/dist/svelte/components/ExecutedAgreementsList.svelte.d.ts +11 -0
  164. package/dist/svelte/components/ExecutedAgreementsList.svelte.d.ts.map +1 -0
  165. package/dist/svelte/components/LeadList.svelte +224 -0
  166. package/dist/svelte/components/LeadList.svelte.d.ts +19 -0
  167. package/dist/svelte/components/LeadList.svelte.d.ts.map +1 -0
  168. package/dist/svelte/components/OpportunityBoard.svelte +230 -0
  169. package/dist/svelte/components/OpportunityBoard.svelte.d.ts +17 -0
  170. package/dist/svelte/components/OpportunityBoard.svelte.d.ts.map +1 -0
  171. package/dist/svelte/components/OpportunityDetail.svelte +472 -0
  172. package/dist/svelte/components/OpportunityDetail.svelte.d.ts +27 -0
  173. package/dist/svelte/components/OpportunityDetail.svelte.d.ts.map +1 -0
  174. package/dist/svelte/components/PayoutBatchReview.svelte +285 -0
  175. package/dist/svelte/components/PayoutBatchReview.svelte.d.ts +21 -0
  176. package/dist/svelte/components/PayoutBatchReview.svelte.d.ts.map +1 -0
  177. package/dist/svelte/components/PayoutHistoryList.svelte +245 -0
  178. package/dist/svelte/components/PayoutHistoryList.svelte.d.ts +11 -0
  179. package/dist/svelte/components/PayoutHistoryList.svelte.d.ts.map +1 -0
  180. package/dist/svelte/components/ReferralLinkManager.svelte +216 -0
  181. package/dist/svelte/components/ReferralLinkManager.svelte.d.ts +17 -0
  182. package/dist/svelte/components/ReferralLinkManager.svelte.d.ts.map +1 -0
  183. package/dist/svelte/components/ReferralStatusList.svelte +118 -0
  184. package/dist/svelte/components/ReferralStatusList.svelte.d.ts +11 -0
  185. package/dist/svelte/components/ReferralStatusList.svelte.d.ts.map +1 -0
  186. package/dist/svelte/components/ReferrerEarningsSummary.svelte +106 -0
  187. package/dist/svelte/components/ReferrerEarningsSummary.svelte.d.ts +11 -0
  188. package/dist/svelte/components/ReferrerEarningsSummary.svelte.d.ts.map +1 -0
  189. package/dist/svelte/components/SalesDashboard.svelte +192 -0
  190. package/dist/svelte/components/SalesDashboard.svelte.d.ts +29 -0
  191. package/dist/svelte/components/SalesDashboard.svelte.d.ts.map +1 -0
  192. package/dist/svelte/format.d.ts +46 -0
  193. package/dist/svelte/format.d.ts.map +1 -0
  194. package/dist/svelte/format.js +75 -0
  195. package/dist/svelte/index.d.ts +50 -0
  196. package/dist/svelte/index.d.ts.map +1 -0
  197. package/dist/svelte/index.js +37 -0
  198. package/dist/svelte/types.d.ts +422 -0
  199. package/dist/svelte/types.d.ts.map +1 -0
  200. package/dist/svelte/types.js +376 -0
  201. package/package.json +89 -0
@@ -0,0 +1,228 @@
1
+ import { SmrtObjectOptions } from '@happyvertical/smrt-core';
2
+ import { Lead } from './models/Lead.js';
3
+ import { OpportunityConversion } from './models/OpportunityConversion.js';
4
+ import { PipelineDefinition } from './models/PipelineDefinition.js';
5
+ import { PipelineStage } from './models/PipelineStage.js';
6
+ /** Lifecycle statuses for a {@link SalesRepresentativeOptions | SalesRepresentative} role. */
7
+ export declare const SALES_REPRESENTATIVE_STATUSES: readonly ["active", "inactive", "suspended"];
8
+ export type SalesRepresentativeStatus = (typeof SALES_REPRESENTATIVE_STATUSES)[number];
9
+ /**
10
+ * Lead lifecycle statuses. Transitions are guarded at save time (see the
11
+ * `LEAD_STATUS_TRANSITIONS` map in `models/Lead.ts`):
12
+ * `new → working|qualified|disqualified|merged`,
13
+ * `working → qualified|disqualified|merged`, `qualified → merged`,
14
+ * `disqualified → working|merged`; `merged` is terminal.
15
+ */
16
+ export declare const LEAD_STATUSES: readonly ["new", "working", "qualified", "disqualified", "merged"];
17
+ export type LeadStatus = (typeof LEAD_STATUSES)[number];
18
+ /** Pipeline definition statuses — archived pipelines stay readable for history. */
19
+ export declare const PIPELINE_STATUSES: readonly ["active", "archived"];
20
+ export type PipelineStatus = (typeof PIPELINE_STATUSES)[number];
21
+ /**
22
+ * Opportunity lifecycle statuses. `open → won|lost` is enforced at save time;
23
+ * `won` and `lost` are terminal (post-terminal stage moves are rejected).
24
+ */
25
+ export declare const OPPORTUNITY_STATUSES: readonly ["open", "won", "lost"];
26
+ export type OpportunityStatus = (typeof OPPORTUNITY_STATUSES)[number];
27
+ /** The two subject types a SalesActivity row can attach to. */
28
+ export declare const SALES_ACTIVITY_SUBJECT_KINDS: readonly ["lead", "opportunity"];
29
+ export type SalesActivitySubjectKind = (typeof SALES_ACTIVITY_SUBJECT_KINDS)[number];
30
+ /**
31
+ * Recommended activity kinds for the SalesActivity audit/next-action trail.
32
+ *
33
+ * The `activityKind` field itself is an OPEN string — consumers may record
34
+ * their own kinds (e.g. `'demo'`, `'site_visit'`) without a schema change.
35
+ * Framework-written kinds (`qualification`, `stage_change`, `merge`) come
36
+ * from this list.
37
+ */
38
+ export declare const SALES_ACTIVITY_KINDS: readonly ["note", "call", "email", "meeting", "task", "assignment", "qualification", "stage_change", "merge", "status_change"];
39
+ export type RecommendedSalesActivityKind = (typeof SALES_ACTIVITY_KINDS)[number];
40
+ /**
41
+ * Natural `key` of the seeded default pipeline
42
+ * (`PipelineDefinitionCollection.ensureDefaultPipeline()`).
43
+ */
44
+ export declare const DEFAULT_PIPELINE_KEY = "default";
45
+ /** Seed shape for one default pipeline stage. */
46
+ export interface DefaultPipelineStageSeed {
47
+ key: string;
48
+ name: string;
49
+ /** Default win probability adopted by opportunities entering the stage. */
50
+ probability: number;
51
+ /** Terminal-won flag — entering this stage closes the opportunity as won. */
52
+ isWon?: boolean;
53
+ /** Terminal-lost flag — entering this stage closes the opportunity as lost. */
54
+ isLost?: boolean;
55
+ }
56
+ /**
57
+ * The 7 default stages seeded by `ensureDefaultPipeline()`, in order.
58
+ *
59
+ * Seeded stages are ordinary rows: consumers may rename, reorder, re-weight,
60
+ * or add stages via normal PipelineStage collection operations without any
61
+ * Lead/Opportunity model change. Sort order is seeded in steps of 10 to leave
62
+ * headroom for inserting custom stages between defaults.
63
+ */
64
+ export declare const DEFAULT_PIPELINE_STAGES: readonly DefaultPipelineStageSeed[];
65
+ export interface SalesRepresentativeOptions extends SmrtObjectOptions {
66
+ tenantId?: string | null;
67
+ profileId?: string;
68
+ earnerId?: string;
69
+ status?: SalesRepresentativeStatus;
70
+ title?: string;
71
+ metadata?: string;
72
+ }
73
+ export interface LeadOptions extends SmrtObjectOptions {
74
+ tenantId?: string | null;
75
+ name?: string;
76
+ contactName?: string;
77
+ email?: string;
78
+ phone?: string;
79
+ organizationName?: string;
80
+ profileId?: string;
81
+ ownerRepId?: string;
82
+ status?: LeadStatus;
83
+ sourceKind?: string;
84
+ sourceId?: string;
85
+ acquisitionContext?: string;
86
+ intakeRef?: string;
87
+ mergedIntoId?: string;
88
+ qualifiedAt?: Date | null;
89
+ metadata?: string;
90
+ }
91
+ export interface PipelineDefinitionOptions extends SmrtObjectOptions {
92
+ tenantId?: string | null;
93
+ key?: string;
94
+ name?: string;
95
+ isDefault?: boolean;
96
+ status?: PipelineStatus;
97
+ metadata?: string;
98
+ }
99
+ export interface PipelineStageOptions extends SmrtObjectOptions {
100
+ tenantId?: string | null;
101
+ pipelineId?: string;
102
+ key?: string;
103
+ name?: string;
104
+ sortOrder?: number;
105
+ probability?: number;
106
+ isWon?: boolean;
107
+ isLost?: boolean;
108
+ metadata?: string;
109
+ }
110
+ export interface OpportunityOptions extends SmrtObjectOptions {
111
+ tenantId?: string | null;
112
+ name?: string;
113
+ leadId?: string;
114
+ ownerRepId?: string;
115
+ pipelineId?: string;
116
+ stageId?: string;
117
+ expectedValueCents?: number;
118
+ currency?: string;
119
+ probability?: number;
120
+ expectedCloseAt?: Date | null;
121
+ status?: OpportunityStatus;
122
+ outcomeReason?: string;
123
+ wonAt?: Date | null;
124
+ lostAt?: Date | null;
125
+ sourceKind?: string;
126
+ sourceId?: string;
127
+ metadata?: string;
128
+ }
129
+ export interface SalesActivityOptions extends SmrtObjectOptions {
130
+ tenantId?: string | null;
131
+ subjectKind?: SalesActivitySubjectKind;
132
+ subjectId?: string;
133
+ activityKind?: string;
134
+ summary?: string;
135
+ dueAt?: Date | null;
136
+ completedAt?: Date | null;
137
+ actorProfileId?: string;
138
+ metadata?: string;
139
+ }
140
+ export interface OpportunityConversionOptions extends SmrtObjectOptions {
141
+ tenantId?: string | null;
142
+ opportunityId?: string;
143
+ targetKind?: string;
144
+ targetId?: string;
145
+ note?: string;
146
+ metadata?: string;
147
+ }
148
+ /** Params for `PipelineDefinitionCollection.ensureDefaultPipeline()`. */
149
+ export interface EnsureDefaultPipelineParams {
150
+ /**
151
+ * Explicit tenant scope for the seeded pipeline/stages. Usually omitted —
152
+ * an ambient `withTenant()` context auto-populates tenancy; pass it when
153
+ * seeding outside a tenant context on behalf of a specific tenant.
154
+ */
155
+ tenantId?: string | null;
156
+ }
157
+ /** Result of `PipelineDefinitionCollection.ensureDefaultPipeline()`. */
158
+ export interface EnsureDefaultPipelineResult {
159
+ pipeline: PipelineDefinition;
160
+ /** All stages of the pipeline ordered by `sortOrder`. */
161
+ stages: PipelineStage[];
162
+ }
163
+ /** Params for `LeadCollection.qualify()`. */
164
+ export interface QualifyLeadParams {
165
+ leadId: string;
166
+ /** Opportunity name; defaults to the lead's name. */
167
+ opportunityName?: string;
168
+ /** Target pipeline; defaults to the seeded default pipeline. */
169
+ pipelineId?: string;
170
+ /** Owning rep for the opportunity; defaults to the lead's `ownerRepId`. */
171
+ ownerRepId?: string;
172
+ /** Expected deal value in integer cents. */
173
+ expectedValueCents?: number;
174
+ /** ISO 4217 currency code; defaults to `'USD'`. */
175
+ currency?: string;
176
+ expectedCloseAt?: Date | null;
177
+ /** Clock for the `qualifiedAt` stamp; defaults to now. */
178
+ now?: Date;
179
+ }
180
+ /** Params for `LeadCollection.mergeLeads()`. */
181
+ export interface MergeLeadsParams {
182
+ /** The surviving (canonical) lead. */
183
+ winnerId: string;
184
+ /** The duplicate lead to fold into the winner; becomes terminal `merged`. */
185
+ loserId: string;
186
+ /** Profile of the operator performing the merge, for the audit trail. */
187
+ actorProfileId?: string;
188
+ /** Human-readable merge reason, recorded in both audit rows. */
189
+ reason?: string;
190
+ }
191
+ /** Result of `LeadCollection.mergeLeads()`. */
192
+ export interface MergeLeadsResult {
193
+ winner: Lead;
194
+ loser: Lead;
195
+ }
196
+ /** Params for `OpportunityCollection.moveToStage()`. */
197
+ export interface MoveToStageParams {
198
+ opportunityId: string;
199
+ /** Target stage — must belong to the opportunity's pipeline. */
200
+ stageId: string;
201
+ /** Profile of the actor moving the stage, for the audit trail. */
202
+ actorProfileId?: string;
203
+ /**
204
+ * Outcome note recorded on the opportunity (conventionally set when moving
205
+ * into a terminal-lost stage, e.g. `'budget cut'`).
206
+ */
207
+ outcomeReason?: string;
208
+ /** Override the stage's default probability for this opportunity. */
209
+ probabilityOverride?: number;
210
+ /** Clock for the `wonAt`/`lostAt` stamps; defaults to now. */
211
+ now?: Date;
212
+ }
213
+ /** Params for `OpportunityConversionCollection.recordConversion()`. */
214
+ export interface RecordConversionParams {
215
+ opportunityId: string;
216
+ /** Downstream record kind — open string: `'client'`, `'project'`, `'contract'`, `'subscription'`, … */
217
+ targetKind: string;
218
+ /** Identifier of the downstream record (created by the caller, never by CRM). */
219
+ targetId: string;
220
+ note?: string;
221
+ }
222
+ /** Result of `OpportunityConversionCollection.recordConversion()`. */
223
+ export interface RecordConversionResult {
224
+ conversion: OpportunityConversion;
225
+ /** `false` when the natural-key link already existed (idempotent repeat). */
226
+ created: boolean;
227
+ }
228
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/crm/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/D,8FAA8F;AAC9F,eAAO,MAAM,6BAA6B,8CAIhC,CAAC;AACX,MAAM,MAAM,yBAAyB,GACnC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,oEAMhB,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,iCAAkC,CAAC;AACjE,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,kCAAmC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,+DAA+D;AAC/D,eAAO,MAAM,4BAA4B,kCAAmC,CAAC;AAC7E,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,gIAWvB,CAAC;AACX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAMxC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,wBAAwB,EAQ7D,CAAC;AAMX,MAAM,WAAW,0BAA2B,SAAQ,iBAAiB;IACnE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAqB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,yEAAyE;AACzE,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,wEAAwE;AACxE,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,yDAAyD;IACzD,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,0DAA0D;IAC1D,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,IAAI,CAAC;IACb,KAAK,EAAE,IAAI,CAAC;CACb;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,8DAA8D;IAC9D,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,uGAAuG;IACvG,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,qBAAqB,CAAC;IAClC,6EAA6E;IAC7E,OAAO,EAAE,OAAO,CAAC;CAClB"}
package/dist/crm.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './crm/index.js';
2
+ //# sourceMappingURL=crm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crm.d.ts","sourceRoot":"","sources":["../src/crm.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,wBAAwB,CAAC;AAEhC,cAAc,gBAAgB,CAAC"}
package/dist/crm.js ADDED
@@ -0,0 +1,3 @@
1
+ import "./chunks/__smrt-register__-kWdT7LOt.js";
2
+ import { S as Lead, _ as SalesActivityCollection, a as LeadCollection, b as PipelineStage, c as DEFAULT_PIPELINE_STAGES, d as PIPELINE_STATUSES, f as SALES_ACTIVITY_KINDS, g as OpportunityCollection, h as PipelineDefinition, i as OpportunityConversion, l as LEAD_STATUSES, m as SALES_REPRESENTATIVE_STATUSES, n as SalesRepresentative, o as PipelineDefinitionCollection, p as SALES_ACTIVITY_SUBJECT_KINDS, r as OpportunityConversionCollection, s as DEFAULT_PIPELINE_KEY, t as SalesRepresentativeCollection, u as OPPORTUNITY_STATUSES, v as SalesActivity, x as Opportunity, y as PipelineStageCollection } from "./chunks/crm-DwEz7E2r.js";
3
+ export { DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, LEAD_STATUSES, Lead, LeadCollection, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, SALES_ACTIVITY_KINDS, SALES_ACTIVITY_SUBJECT_KINDS, SALES_REPRESENTATIVE_STATUSES, SalesActivity, SalesActivityCollection, SalesRepresentative, SalesRepresentativeCollection };
@@ -0,0 +1,4 @@
1
+ export * from './commissions/index.js';
2
+ export * from './crm/index.js';
3
+ export * from './referrals/index.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,wBAAwB,CAAC;AAEhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ import "./chunks/__smrt-register__-kWdT7LOt.js";
2
+ import { A as CommissionAdjustment, C as EARNING_EVENT_KINDS, D as CommissionCollection, E as CommissionPayout, O as Commission, S as EARNER_STATUSES, T as CommissionPayoutCollection, _ as COMMISSION_ADJUSTMENT_KINDS, a as amountToCents, b as COMMISSION_PLAN_STATUSES, c as roundCents, d as EarnerCollection, f as Earner, g as ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, h as validateCommissionPlanComponents, i as CommissionBalanceService, k as CommissionAdjustmentCollection, l as EarningEventCollection, m as CommissionPlan, n as CommissionPayoutService, o as calculateCommissionAmountCents, p as CommissionPlanCollection, r as CommissionCalculationService, s as centsToAmount, t as CommissionSettlementService, u as EarningEvent, v as COMMISSION_BASES, w as PAYOUT_METHODS, x as COMMISSION_STATUSES, y as COMMISSION_PAYOUT_STATUSES } from "./chunks/commissions-BCxqOKVM.js";
3
+ import { S as Lead, _ as SalesActivityCollection, a as LeadCollection, b as PipelineStage, c as DEFAULT_PIPELINE_STAGES, d as PIPELINE_STATUSES, f as SALES_ACTIVITY_KINDS, g as OpportunityCollection, h as PipelineDefinition, i as OpportunityConversion, l as LEAD_STATUSES, m as SALES_REPRESENTATIVE_STATUSES, n as SalesRepresentative, o as PipelineDefinitionCollection, p as SALES_ACTIVITY_SUBJECT_KINDS, r as OpportunityConversionCollection, s as DEFAULT_PIPELINE_KEY, t as SalesRepresentativeCollection, u as OPPORTUNITY_STATUSES, v as SalesActivity, x as Opportunity, y as PipelineStageCollection } from "./chunks/crm-DwEz7E2r.js";
4
+ import { A as ATTRIBUTION_EXCEPTION_STATUSES, B as AttributionExceptionCollection, C as ReferralAgreementCollection, D as validateAttributionPolicyTerms, E as AttributionPolicy, F as REFERRAL_LINK_STATUSES, I as REFERRAL_PROGRAM_STATUSES, L as REFERRAL_STATUSES, M as ATTRIBUTION_RESOLUTION_MODES, N as REFERRAL_AGREEMENT_APPROVAL_MODES, O as ATTRIBUTION_CONFLICT_BEHAVIORS, P as REFERRAL_AGREEMENT_STATUSES, R as REFERRAL_TOUCH_KINDS, S as Referral, T as AttributionPolicyCollection, V as AttributionException, _ as ReferralTouchCollection, a as QualifiedReferralOverrideError, b as assertHttpTargetUrl, c as ReferralTermSnapshotCollection, d as ReferralProgram, f as MAX_CODE_GENERATION_ATTEMPTS, g as generateReferralCode, h as ReferralLinkCollection, i as AttributionService, j as ATTRIBUTION_POLICY_STATUSES, k as ATTRIBUTION_CREDIT_MODES, l as ReferralTermSnapshot, m as REFERRAL_CODE_LENGTH, n as REFERRAL_TERMS_SNAPSHOT_KIND, o as ReferrerCollection, p as REFERRAL_CODE_ALPHABET, r as ReferralCommissionService, s as Referrer, t as ReferralQualificationService, u as ReferralProgramCollection, v as ReferralTouch, w as ReferralAgreement, x as ReferralCollection, y as ReferralLink, z as REFERRER_STATUSES } from "./chunks/referrals-BY47p70T.js";
5
+ export { ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, ATTRIBUTION_CONFLICT_BEHAVIORS, ATTRIBUTION_CREDIT_MODES, ATTRIBUTION_EXCEPTION_STATUSES, ATTRIBUTION_POLICY_STATUSES, ATTRIBUTION_RESOLUTION_MODES, AttributionException, AttributionExceptionCollection, AttributionPolicy, AttributionPolicyCollection, AttributionService, COMMISSION_ADJUSTMENT_KINDS, COMMISSION_BASES, COMMISSION_PAYOUT_STATUSES, COMMISSION_PLAN_STATUSES, COMMISSION_STATUSES, Commission, CommissionAdjustment, CommissionAdjustmentCollection, CommissionBalanceService, CommissionCalculationService, CommissionCollection, CommissionPayout, CommissionPayoutCollection, CommissionPayoutService, CommissionPlan, CommissionPlanCollection, CommissionSettlementService, DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, EARNER_STATUSES, EARNING_EVENT_KINDS, Earner, EarnerCollection, EarningEvent, EarningEventCollection, LEAD_STATUSES, Lead, LeadCollection, MAX_CODE_GENERATION_ATTEMPTS, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PAYOUT_METHODS, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, QualifiedReferralOverrideError, REFERRAL_AGREEMENT_APPROVAL_MODES, REFERRAL_AGREEMENT_STATUSES, REFERRAL_CODE_ALPHABET, REFERRAL_CODE_LENGTH, REFERRAL_LINK_STATUSES, REFERRAL_PROGRAM_STATUSES, REFERRAL_STATUSES, REFERRAL_TERMS_SNAPSHOT_KIND, REFERRAL_TOUCH_KINDS, REFERRER_STATUSES, Referral, ReferralAgreement, ReferralAgreementCollection, ReferralCollection, ReferralCommissionService, ReferralLink, ReferralLinkCollection, ReferralProgram, ReferralProgramCollection, ReferralQualificationService, ReferralTermSnapshot, ReferralTermSnapshotCollection, ReferralTouch, ReferralTouchCollection, Referrer, ReferrerCollection, SALES_ACTIVITY_KINDS, SALES_ACTIVITY_SUBJECT_KINDS, SALES_REPRESENTATIVE_STATUSES, SalesActivity, SalesActivityCollection, SalesRepresentative, SalesRepresentativeCollection, amountToCents, assertHttpTargetUrl, calculateCommissionAmountCents, centsToAmount, generateReferralCode, roundCents, validateAttributionPolicyTerms, validateCommissionPlanComponents };