@happyvertical/smrt-sales 0.57.21 → 0.57.23

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 (56) hide show
  1. package/AGENTS.md +8 -0
  2. package/README.md +17 -0
  3. package/agents/agreements.md +32 -0
  4. package/agents/crm.md +173 -0
  5. package/agents/svelte.md +7 -0
  6. package/dist/agreements/collections/AgreementCollection.d.ts +3 -2
  7. package/dist/agreements/collections/AgreementCollection.d.ts.map +1 -1
  8. package/dist/agreements/models/Agreement.d.ts.map +1 -1
  9. package/dist/agreements/services/AgreementExecutionService.d.ts +9 -0
  10. package/dist/agreements/services/AgreementExecutionService.d.ts.map +1 -1
  11. package/dist/agreements/types.d.ts +2 -0
  12. package/dist/agreements/types.d.ts.map +1 -1
  13. package/dist/agreements.js +2 -2
  14. package/dist/chunks/{__smrt-register__-Cg4G6dIN.js → __smrt-register__-BRrJGGpG.js} +2 -2
  15. package/dist/chunks/{__smrt-register__-Cg4G6dIN.js.map → __smrt-register__-BRrJGGpG.js.map} +1 -1
  16. package/dist/chunks/{agreements-jBiVmttD.js → agreements-RsyRLeDn.js} +35 -16
  17. package/dist/chunks/agreements-RsyRLeDn.js.map +1 -0
  18. package/dist/chunks/{crm-DaUkdNoG.js → crm-BENK-hHd.js} +976 -116
  19. package/dist/chunks/crm-BENK-hHd.js.map +1 -0
  20. package/dist/commissions.js +1 -1
  21. package/dist/crm/collections/SalesGovernanceEventCollection.d.ts +7 -0
  22. package/dist/crm/collections/SalesGovernanceEventCollection.d.ts.map +1 -0
  23. package/dist/crm/collections/SalesGovernanceStateCollection.d.ts +13 -0
  24. package/dist/crm/collections/SalesGovernanceStateCollection.d.ts.map +1 -0
  25. package/dist/crm/index.d.ts +9 -1
  26. package/dist/crm/index.d.ts.map +1 -1
  27. package/dist/crm/models/SalesGovernanceEvent.d.ts +19 -0
  28. package/dist/crm/models/SalesGovernanceEvent.d.ts.map +1 -0
  29. package/dist/crm/models/SalesGovernanceState.d.ts +17 -0
  30. package/dist/crm/models/SalesGovernanceState.d.ts.map +1 -0
  31. package/dist/crm/services/LeadConversionService.d.ts +49 -0
  32. package/dist/crm/services/LeadConversionService.d.ts.map +1 -0
  33. package/dist/crm/services/LeadWorkflowService.d.ts +11 -0
  34. package/dist/crm/services/LeadWorkflowService.d.ts.map +1 -1
  35. package/dist/crm/services/SalesGovernanceService.d.ts +68 -0
  36. package/dist/crm/services/SalesGovernanceService.d.ts.map +1 -0
  37. package/dist/crm/services/governance-write.d.ts +4 -0
  38. package/dist/crm/services/governance-write.d.ts.map +1 -0
  39. package/dist/crm/services/sales-governance-types.d.ts +108 -0
  40. package/dist/crm/services/sales-governance-types.d.ts.map +1 -0
  41. package/dist/crm.js +3 -3
  42. package/dist/index.js +4 -4
  43. package/dist/manifest.json +522 -1
  44. package/dist/referrals.js +1 -1
  45. package/dist/smrt-knowledge.json +274 -12
  46. package/dist/svelte/components/SellerGovernancePanel.svelte +65 -0
  47. package/dist/svelte/components/SellerGovernancePanel.svelte.d.ts +13 -0
  48. package/dist/svelte/components/SellerGovernancePanel.svelte.d.ts.map +1 -0
  49. package/dist/svelte/index.d.ts +2 -1
  50. package/dist/svelte/index.d.ts.map +1 -1
  51. package/dist/svelte/index.js +1 -0
  52. package/dist/svelte/types.d.ts +19 -0
  53. package/dist/svelte/types.d.ts.map +1 -1
  54. package/package.json +6 -6
  55. package/dist/chunks/agreements-jBiVmttD.js.map +0 -1
  56. package/dist/chunks/crm-DaUkdNoG.js.map +0 -1
@@ -1,3 +1,3 @@
1
- import "./chunks/__smrt-register__-Cg4G6dIN.js";
1
+ import "./chunks/__smrt-register__-BRrJGGpG.js";
2
2
  import { A as COMMISSION_BASES, B as WATERFALL_POOL_RESIDUAL_RULES, C as WaterfallRecipientResolverRegistry, D as validateWaterfallPlan, E as prepareWaterfallPools, F as EARNER_SOURCE_ATTRIBUTION_STATUSES, G as Commission, H as CommissionPayoutCollection, I as EARNER_STATUSES, J as CommissionAdjustmentCollection, K as CommissionAdjustmentOperationCollection, L as EARNING_EVENT_KINDS, M as COMMISSION_PLAN_STATUSES, N as COMMISSION_STATUSES, O as ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, P as EARNER_KINDS, R as PAYOUT_METHODS, S as validateCommissionPlanComponents, T as calculateWaterfallWithPools, U as CommissionPayout, V as WATERFALL_POOL_ZERO_WEIGHT_RULES, W as CommissionCollection, Y as CommissionAdjustment, _ as EarnerCollection, a as CommissionBalanceService, b as CommissionPlanCollection, c as CommissionAdjustmentValidationError, d as centsToAmount, f as roundCents, g as EarnerSourceAttribution, h as EarnerSourceAttributionCollection, i as CommissionCalculationService, j as COMMISSION_PAYOUT_STATUSES, k as COMMISSION_ADJUSTMENT_KINDS, l as amountToCents, m as EarningEvent, n as CommissionSettlementService, o as CommissionAdjustmentReplayConflictError, p as EarningEventCollection, q as CommissionAdjustmentOperation, r as CommissionPayoutService, s as CommissionAdjustmentService, t as EarnerAttributionService, u as calculateCommissionAmountCents, v as Earner, w as calculateWaterfall, x as CommissionPlan, y as validatePayoutDestination, z as PAYOUT_METHODS_REQUIRING_DESTINATION } from "./chunks/commissions-D5x24d4o.js";
3
3
  export { ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, COMMISSION_ADJUSTMENT_KINDS, COMMISSION_BASES, COMMISSION_PAYOUT_STATUSES, COMMISSION_PLAN_STATUSES, COMMISSION_STATUSES, Commission, CommissionAdjustment, CommissionAdjustmentCollection, CommissionAdjustmentOperation, CommissionAdjustmentOperationCollection, CommissionAdjustmentReplayConflictError, CommissionAdjustmentService, CommissionAdjustmentValidationError, CommissionBalanceService, CommissionCalculationService, CommissionCollection, CommissionPayout, CommissionPayoutCollection, CommissionPayoutService, CommissionPlan, CommissionPlanCollection, CommissionSettlementService, EARNER_KINDS, EARNER_SOURCE_ATTRIBUTION_STATUSES, EARNER_STATUSES, EARNING_EVENT_KINDS, Earner, EarnerAttributionService, EarnerCollection, EarnerSourceAttribution, EarnerSourceAttributionCollection, EarningEvent, EarningEventCollection, PAYOUT_METHODS, PAYOUT_METHODS_REQUIRING_DESTINATION, WATERFALL_POOL_RESIDUAL_RULES, WATERFALL_POOL_ZERO_WEIGHT_RULES, WaterfallRecipientResolverRegistry, amountToCents, calculateCommissionAmountCents, calculateWaterfall, calculateWaterfallWithPools, centsToAmount, prepareWaterfallPools, roundCents, validateCommissionPlanComponents, validatePayoutDestination, validateWaterfallPlan };
@@ -0,0 +1,7 @@
1
+ /** Read immutable operation outcomes and history in the current tenant. */
2
+ import { SmrtCollection } from '@happyvertical/smrt-core';
3
+ import { SalesGovernanceEvent } from '../models/SalesGovernanceEvent.js';
4
+ export declare class SalesGovernanceEventCollection extends SmrtCollection<SalesGovernanceEvent> {
5
+ static readonly _itemClass: typeof SalesGovernanceEvent;
6
+ }
7
+ //# sourceMappingURL=SalesGovernanceEventCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SalesGovernanceEventCollection.d.ts","sourceRoot":"","sources":["../../../src/crm/collections/SalesGovernanceEventCollection.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAEzE,qBAAa,8BAA+B,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IACtF,MAAM,CAAC,QAAQ,CAAC,UAAU,8BAAwB;CACnD"}
@@ -0,0 +1,13 @@
1
+ /** Tenant-filtered database serialization primitives for seller governance. */
2
+ import { SmrtCollection } from '@happyvertical/smrt-core';
3
+ import { SalesGovernanceState } from '../models/SalesGovernanceState.js';
4
+ export declare class SalesGovernanceStateCollection extends SmrtCollection<SalesGovernanceState> {
5
+ static readonly _itemClass: typeof SalesGovernanceState;
6
+ /** Insert the shared resource fence without changing its current owner. */
7
+ ensure(id: string): Promise<void>;
8
+ /** Serialize a resource on pooled adapters and reload its committed state. */
9
+ lock(id: string): Promise<SalesGovernanceState>;
10
+ /** CAS is the cross-process serialization point; losers must retry the operation. */
11
+ compareAndSwap(id: string, revision: number, payload: string): Promise<boolean>;
12
+ }
13
+ //# sourceMappingURL=SalesGovernanceStateCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SalesGovernanceStateCollection.d.ts","sourceRoot":"","sources":["../../../src/crm/collections/SalesGovernanceStateCollection.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAIzE,qBAAa,8BAA+B,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IACtF,MAAM,CAAC,QAAQ,CAAC,UAAU,8BAAwB;IAElD,2EAA2E;IACrE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUvC,8EAA8E;IACxE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAerD,qFAAqF;IAC/E,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC;CAUpB"}
@@ -15,6 +15,8 @@ export { OpportunityConversionCollection } from './collections/OpportunityConver
15
15
  export { PipelineDefinitionCollection } from './collections/PipelineDefinitionCollection.js';
16
16
  export { PipelineStageCollection } from './collections/PipelineStageCollection.js';
17
17
  export { SalesActivityCollection } from './collections/SalesActivityCollection.js';
18
+ export { SalesGovernanceEventCollection } from './collections/SalesGovernanceEventCollection.js';
19
+ export { SalesGovernanceStateCollection } from './collections/SalesGovernanceStateCollection.js';
18
20
  export { SalesRepresentativeCollection } from './collections/SalesRepresentativeCollection.js';
19
21
  export { Lead } from './models/Lead.js';
20
22
  export { Opportunity } from './models/Opportunity.js';
@@ -22,10 +24,16 @@ export { OpportunityConversion } from './models/OpportunityConversion.js';
22
24
  export { PipelineDefinition } from './models/PipelineDefinition.js';
23
25
  export { PipelineStage } from './models/PipelineStage.js';
24
26
  export { SalesActivity } from './models/SalesActivity.js';
27
+ export { SalesGovernanceEvent } from './models/SalesGovernanceEvent.js';
28
+ export { SalesGovernanceState } from './models/SalesGovernanceState.js';
25
29
  export { SalesRepresentative } from './models/SalesRepresentative.js';
26
30
  export { SalesPipelineRecipe } from './recipes.js';
27
- export type { AssignLeadInput, AssignLeadResult, CloseOpportunityInput, CloseOpportunityResult, CompleteLeadNextActionInput, CompleteLeadNextActionResult, CreateLeadInput, CreateLeadResult, DisqualifyLeadInput, GetLeadWorkStateInput, LeadDedupePolicy, LeadHumanActivityKind, LeadWorkflowValidationReason, LeadWorkQueueInput, LeadWorkQueueProjection, LeadWorkQueueState, LeadWorkState, MoveOpportunityToStageInput, MoveOpportunityToStageResult, OpportunityConversionInput, QualifyLeadInput, QualifyLeadResult, RecordLeadActivityInput, ScheduleLeadNextActionInput, StartWorkingInput, } from './services/LeadWorkflowService.js';
31
+ export type { GetLeadConversionInput, LeadConversionReceipt, RecordLeadConversionInput, } from './services/LeadConversionService.js';
32
+ export { LeadConversionService } from './services/LeadConversionService.js';
33
+ export type { AssignLeadInput, AssignLeadResult, CloseOpportunityInput, CloseOpportunityResult, CompleteLeadNextActionInput, CompleteLeadNextActionResult, CreateLeadInput, CreateLeadResult, DisqualifyLeadInput, GetLeadWorkStateInput, LeadDedupePolicy, LeadHumanActivityKind, LeadWorkflowValidationReason, LeadWorkQueueInput, LeadWorkQueueProjection, LeadWorkQueueState, LeadWorkState, MoveOpportunityToStageInput, MoveOpportunityToStageResult, OpportunityConversionInput, QualifyLeadInput, QualifyLeadResult, RecordLeadActivityInput, ScheduleLeadNextActionInput, StartWorkingInput, UpdateLeadContactInput, } from './services/LeadWorkflowService.js';
28
34
  export { LEAD_HUMAN_ACTIVITY_KINDS, LeadWorkflowService, LeadWorkflowValidationError, MAX_LEAD_WORKFLOW_TEXT_LENGTH, projectLeadWorkQueue, } from './services/LeadWorkflowService.js';
29
35
  export type { LeadInboxItem, LeadInboxOptions, LeadInboxResult, LeadInboxSort, LeadInboxStatusCounts, } from './services/lead-inbox.js';
36
+ export { SalesGovernanceError, SalesGovernanceService, } from './services/SalesGovernanceService.js';
37
+ export type * from './services/sales-governance-types.js';
30
38
  export * from './types.js';
31
39
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,GAClB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACjG,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAE/F,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,2BAA2B,EAC3B,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,sCAAsC,CAAC;AAC9C,mBAAmB,sCAAsC,CAAC;AAE1D,cAAc,YAAY,CAAC"}
@@ -0,0 +1,19 @@
1
+ /** Immutable intent/result audit for seller governance operations. */
2
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
3
+ export interface SalesGovernanceEventOptions extends SmrtObjectOptions {
4
+ tenantId?: string;
5
+ intent?: string;
6
+ result?: string;
7
+ }
8
+ /** UUID replay fence and immutable audit; no generated mutation surface. */
9
+ export declare class SalesGovernanceEvent extends SmrtObject {
10
+ tenantId: string;
11
+ intent: string;
12
+ result: string;
13
+ constructor(options?: SalesGovernanceEventOptions);
14
+ initialize(): Promise<this>;
15
+ save(): Promise<this>;
16
+ delete(): Promise<void>;
17
+ private snapshot;
18
+ }
19
+ //# sourceMappingURL=SalesGovernanceEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SalesGovernanceEvent.d.ts","sourceRoot":"","sources":["../../../src/crm/models/SalesGovernanceEvent.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,4EAA4E;AAC5E,qBAEa,oBAAqB,SAAQ,UAAU;IAElD,QAAQ,EAAE,MAAM,CAAM;IACtB,MAAM,EAAE,MAAM,CAAM;IACpB,MAAM,EAAE,MAAM,CAAM;gBAER,OAAO,GAAE,2BAAgC;IAOtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAWrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,17 @@
1
+ /** Private transactional state for advertiser leases and governed quotes. */
2
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
3
+ export interface SalesGovernanceStateOptions extends SmrtObjectOptions {
4
+ tenantId?: string;
5
+ revision?: number;
6
+ payload?: string;
7
+ }
8
+ /** Service-owned compare-and-swap fence. Migrate through the SMRT manifest. */
9
+ export declare class SalesGovernanceState extends SmrtObject {
10
+ tenantId: string;
11
+ revision: number;
12
+ payload: string;
13
+ constructor(options?: SalesGovernanceStateOptions);
14
+ save(): Promise<this>;
15
+ delete(): Promise<void>;
16
+ }
17
+ //# sourceMappingURL=SalesGovernanceState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SalesGovernanceState.d.ts","sourceRoot":"","sources":["../../../src/crm/models/SalesGovernanceState.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,EACL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,WAAW,2BAA4B,SAAQ,iBAAiB;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,+EAA+E;AAC/E,qBAEa,oBAAqB,SAAQ,UAAU;IAElD,QAAQ,EAAE,MAAM,CAAM;IACtB,QAAQ,EAAE,MAAM,CAAK;IACrB,OAAO,EAAE,MAAM,CAAQ;gBAEX,OAAO,GAAE,2BAAgC;IAMtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvC"}
@@ -0,0 +1,49 @@
1
+ import type { SmrtClassOptions } from '@happyvertical/smrt-core';
2
+ /** Scope of one downstream conversion. Target kinds are host-defined. */
3
+ export interface GetLeadConversionInput {
4
+ tenantId: string;
5
+ leadId: string;
6
+ targetKind: string;
7
+ }
8
+ /** Immutable host-created downstream target and its provenance. */
9
+ export interface LeadConversionReceipt extends GetLeadConversionInput {
10
+ id: string;
11
+ targetId: string;
12
+ actorProfileId: string;
13
+ metadata: Record<string, unknown>;
14
+ }
15
+ /** Record a target the host created within the same transaction. */
16
+ export interface RecordLeadConversionInput extends GetLeadConversionInput {
17
+ targetId: string;
18
+ actorProfileId: string;
19
+ metadata?: Record<string, unknown>;
20
+ }
21
+ /**
22
+ * Records an early Lead conversion without qualifying or closing a deal.
23
+ * The host must authorize inputs, own the transaction, and serialize writes
24
+ * for the tenant/lead/targetKind scope before creating a target. This service
25
+ * participates in that executor and never opens a nested transaction. Returned
26
+ * receipts are plain data; use them only after the caller commits.
27
+ */
28
+ export declare class LeadConversionService {
29
+ private readonly leads;
30
+ private readonly activities;
31
+ private readonly callerTransaction;
32
+ private constructor();
33
+ /** Bind read access to any initialized executor; mutations require caller mode. */
34
+ static create(options: SmrtClassOptions & {
35
+ transaction?: 'caller';
36
+ }): Promise<LeadConversionService>;
37
+ /** Read the tenant-local receipt, failing closed for inaccessible Leads. */
38
+ getForLead(input: GetLeadConversionInput): Promise<LeadConversionReceipt | null>;
39
+ /** Resolve originating Leads for a host target without exposing receipt storage. */
40
+ findForTarget(input: {
41
+ tenantId: string;
42
+ targetKind: string;
43
+ targetId: string;
44
+ }): Promise<LeadConversionReceipt[]>;
45
+ /** Exact retries preserve the original actor and receipt; changed intent fails. */
46
+ recordForLead(input: RecordLeadConversionInput): Promise<LeadConversionReceipt>;
47
+ private scope;
48
+ }
49
+ //# sourceMappingURL=LeadConversionService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LeadConversionService.d.ts","sourceRoot":"","sources":["../../../src/crm/services/LeadConversionService.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAKjE,yEAAyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,mEAAmE;AACnE,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AACD,oEAAoE;AACpE,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAE9B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAHpC,OAAO;IAMP,mFAAmF;WACtE,MAAM,CACjB,OAAO,EAAE,gBAAgB,GAAG;QAAE,WAAW,CAAC,EAAE,QAAQ,CAAA;KAAE,GACrD,OAAO,CAAC,qBAAqB,CAAC;IAejC,4EAA4E;IACtE,UAAU,CACd,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IA2BxC,oFAAoF;IAC9E,aAAa,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA8BpC,mFAAmF;IAC7E,aAAa,CACjB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,qBAAqB,CAAC;YAqCnB,KAAK;CAapB"}
@@ -144,6 +144,15 @@ export interface AssignLeadResult {
144
144
  /** `false` when the active representative already owned the Lead. */
145
145
  changed: boolean;
146
146
  }
147
+ /** Operator-authorized correction; identity and acquisition provenance stay intact. */
148
+ export interface UpdateLeadContactInput {
149
+ leadId: string;
150
+ actorProfileId: string;
151
+ name: string;
152
+ contactName: string;
153
+ email: string;
154
+ now?: Date;
155
+ }
147
156
  export interface StartWorkingInput {
148
157
  leadId: string;
149
158
  actorProfileId: string;
@@ -214,6 +223,8 @@ export declare class LeadWorkflowService {
214
223
  closeOpportunity(input: CloseOpportunityInput): Promise<CloseOpportunityResult>;
215
224
  /** Assign or reassign an active representative, with one audit row per change. */
216
225
  assignLead(input: AssignLeadInput): Promise<AssignLeadResult>;
226
+ /** Correct editable contact fields with one actor-attributed audit and row lock. */
227
+ updateLeadContact(input: UpdateLeadContactInput): Promise<Lead>;
217
228
  /** Start a new Lead or reopen a disqualified Lead for active follow-up. */
218
229
  startWorking(input: StartWorkingInput): Promise<Lead>;
219
230
  /** Disqualify a new or working Lead with a required bounded rationale. */
@@ -1 +1 @@
1
- {"version":3,"file":"LeadWorkflowService.d.ts","sourceRoot":"","sources":["../../../src/crm/services/LeadWorkflowService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LeadWorkflowService.d.ts","sourceRoot":"","sources":["../../../src/crm/services/LeadWorkflowService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { type DatabaseInterface } from '@happyvertical/sql';
2
+ import type { SalesAdvertiserLease, SalesApprovalDecision, SalesCreateQuoteInput, SalesGovernanceDatabaseConfig, SalesGovernanceHost, SalesLeaseChangeInput, SalesLeaseInput, SalesQuoteOperation, SalesQuoteSnapshot, SellerContext } from './sales-governance-types.js';
3
+ export declare class SalesGovernanceError extends Error {
4
+ readonly reason: string;
5
+ readonly code = "SALES_GOVERNANCE_DENIED";
6
+ constructor(reason: string);
7
+ }
8
+ /** All writes run in one transaction, or participate in the explicitly supplied executor. */
9
+ export declare class SalesGovernanceService {
10
+ #private;
11
+ private readonly host;
12
+ private readonly now;
13
+ private constructor();
14
+ /** Owned adapter for migrations and host reads; transaction writes use withTransaction. */
15
+ get database(): DatabaseInterface;
16
+ static create(options: {
17
+ database: SalesGovernanceDatabaseConfig;
18
+ host: SalesGovernanceHost;
19
+ now?: () => Date;
20
+ }): Promise<SalesGovernanceService>;
21
+ /**
22
+ * Run host writes and any governance mutations on one positively identified
23
+ * executor. A thrown callback rolls back all changes. Do not retain tx.
24
+ */
25
+ withTransaction<T>(fn: (tx: DatabaseInterface) => Promise<T>): Promise<T>;
26
+ /** First successful registration wins until expiresAtMs <= now, or release. */
27
+ acquireLease(input: SalesLeaseInput, transaction?: DatabaseInterface): Promise<SalesAdvertiserLease>;
28
+ /** Renewal requires a live matching owner token; it starts a fresh policy duration. */
29
+ renewLease(input: SalesLeaseChangeInput, transaction?: DatabaseInterface): Promise<SalesAdvertiserLease>;
30
+ /** Release never transfers ownership and is audited even at the expiry boundary. */
31
+ releaseLease(input: SalesLeaseChangeInput, transaction?: DatabaseInterface): Promise<SalesAdvertiserLease>;
32
+ private changeLease;
33
+ /** Freeze one immutable commercial revision. Amendments use a greater revision. */
34
+ createQuote(input: SalesCreateQuoteInput, transaction?: DatabaseInterface): Promise<SalesQuoteSnapshot>;
35
+ requestApproval(input: SalesQuoteOperation, transaction?: DatabaseInterface): Promise<SalesQuoteSnapshot>;
36
+ decideApproval(input: SalesApprovalDecision, transaction?: DatabaseInterface): Promise<SalesQuoteSnapshot>;
37
+ issueQuote(input: SalesQuoteOperation, transaction?: DatabaseInterface): Promise<SalesQuoteSnapshot>;
38
+ /** Commit local sign authority before provider I/O; never send directly from a stale quote. */
39
+ signQuote(input: SalesQuoteOperation, transaction?: DatabaseInterface): Promise<SalesQuoteSnapshot>;
40
+ private transition;
41
+ /** Provider preflight, including retries of already-signed local records. */
42
+ assertCanSign(input: Omit<SalesQuoteOperation, 'operationId'>, transaction?: DatabaseInterface): Promise<void>;
43
+ /** Read canonical registration for an authorized current tenant member. */
44
+ getLease(input: SellerContext & {
45
+ advertiserId: string;
46
+ }): Promise<SalesAdvertiserLease | null>;
47
+ /** Tenant-scoped UI projection. Authority is always rechecked by mutation methods. */
48
+ getQuote(input: {
49
+ tenantId: string;
50
+ quoteId: string;
51
+ revision: number;
52
+ }): Promise<SalesQuoteSnapshot | null>;
53
+ private approved;
54
+ private assertLiveLease;
55
+ private validateSellerQuote;
56
+ private quote;
57
+ private seller;
58
+ private context;
59
+ private advertiser;
60
+ private assertContext;
61
+ private time;
62
+ private store;
63
+ private operation;
64
+ private assertBackend;
65
+ private inCanonicalTenant;
66
+ private run;
67
+ }
68
+ //# sourceMappingURL=SalesGovernanceService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SalesGovernanceService.d.ts","sourceRoot":"","sources":["../../../src/crm/services/SalesGovernanceService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { DatabaseInterface } from '@happyvertical/sql';
2
+ export declare function withGovernanceWrite<T>(db: DatabaseInterface, fn: () => Promise<T>): Promise<T>;
3
+ export declare function assertGovernanceWrite(db: DatabaseInterface): void;
4
+ //# sourceMappingURL=governance-write.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"governance-write.d.ts","sourceRoot":"","sources":["../../../src/crm/services/governance-write.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,EAAE,iBAAiB,EACrB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAEZ;AACD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAGjE"}
@@ -0,0 +1,108 @@
1
+ /** Public host contracts for governed sales. Monetary values are integer cents. */
2
+ import type { DatabaseInterface } from '@happyvertical/sql';
3
+ /** Owned connection options. Schema creation and arbitrary adapter injection are excluded. */
4
+ export type SalesGovernanceDatabaseConfig = {
5
+ type: 'postgres';
6
+ url: string;
7
+ /** Owned adapters are never cached; true is rejected before opening SQL. */
8
+ cache?: false;
9
+ dbid?: string;
10
+ max?: number;
11
+ connectionTimeoutMillis?: number;
12
+ idleTimeoutMillis?: number;
13
+ };
14
+ /** UUID identities accept either case; all service/host values use lowercase. */
15
+ export interface SellerContext {
16
+ tenantId: string;
17
+ actorProfileId: string;
18
+ }
19
+ export interface SellerOperation extends SellerContext {
20
+ /** Globally unique UUID; exact retries must reuse it. */
21
+ operationId: string;
22
+ }
23
+ export interface SellerPolicy {
24
+ version: string;
25
+ /** Exact integer basis points, 0..10000. */
26
+ maxDiscountBps: number;
27
+ leaseDurationMs: number;
28
+ approvalDurationMs: number;
29
+ }
30
+ export interface SalesQuoteTerms {
31
+ quoteId: string;
32
+ revision: number;
33
+ sellerId: string;
34
+ /** Canonical advertiser UUID; quote actions require this seller's live lease. */
35
+ advertiserId: string;
36
+ rateCardVersion: string;
37
+ subtotalCents: number;
38
+ totalCents: number;
39
+ currency: string;
40
+ /** Opaque inventory revision validated authoritatively by the host. */
41
+ inventoryVersion: string;
42
+ }
43
+ export interface SalesQuoteSnapshot extends SalesQuoteTerms {
44
+ tenantId: string;
45
+ makerProfileId: string;
46
+ policy: SellerPolicy;
47
+ status: 'draft' | 'issued' | 'signed';
48
+ approval: SalesDiscountApproval | null;
49
+ }
50
+ export interface SalesDiscountApproval {
51
+ requestId: string;
52
+ status: 'pending' | 'approved' | 'rejected' | 'revoked';
53
+ termsHash: string;
54
+ checkerProfileId: string | null;
55
+ expiresAtMs: number;
56
+ reason: string;
57
+ }
58
+ export interface SalesAdvertiserLease {
59
+ tenantId: string;
60
+ advertiserId: string;
61
+ sellerId: string;
62
+ leaseId: string;
63
+ expiresAtMs: number;
64
+ released: boolean;
65
+ }
66
+ export interface SellerPolicyContext extends SellerContext {
67
+ sellerId: string;
68
+ }
69
+ /**
70
+ * Mandatory host predicates. Return literal true to authorize; false, missing
71
+ * results, and thrown upstream errors all fail closed. Use the supplied executor
72
+ * to lock authoritative membership, suspension, policy and inventory sources.
73
+ * Network calls cannot establish transactionally stable authority.
74
+ */
75
+ export interface SalesGovernanceHost {
76
+ isMember(context: SellerContext, db: DatabaseInterface): Promise<boolean>;
77
+ isUnsuspended(context: SellerContext, db: DatabaseInterface): Promise<boolean>;
78
+ canSell(context: SellerPolicyContext, db: DatabaseInterface): Promise<boolean>;
79
+ canApprove(context: SellerContext, db: DatabaseInterface): Promise<boolean>;
80
+ advertiserExists(context: SellerContext & {
81
+ advertiserId: string;
82
+ }, db: DatabaseInterface): Promise<boolean>;
83
+ policy(context: SellerPolicyContext, db: DatabaseInterface): Promise<SellerPolicy>;
84
+ validateQuote(quote: SalesQuoteTerms & {
85
+ tenantId: string;
86
+ }, db: DatabaseInterface): Promise<boolean>;
87
+ }
88
+ export interface SalesLeaseInput extends SellerOperation {
89
+ sellerId: string;
90
+ advertiserId: string;
91
+ }
92
+ export interface SalesLeaseChangeInput extends SalesLeaseInput {
93
+ /** Optimistic owner token: prevents delayed release/renew of a newer lease. */
94
+ leaseId: string;
95
+ }
96
+ export interface SalesCreateQuoteInput extends SellerOperation {
97
+ terms: SalesQuoteTerms;
98
+ }
99
+ export interface SalesQuoteOperation extends SellerOperation {
100
+ quoteId: string;
101
+ revision: number;
102
+ }
103
+ export interface SalesApprovalDecision extends SalesQuoteOperation {
104
+ requestId: string;
105
+ decision: 'approved' | 'rejected' | 'revoked';
106
+ reason: string;
107
+ }
108
+ //# sourceMappingURL=sales-governance-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sales-governance-types.d.ts","sourceRoot":"","sources":["../../../src/crm/services/sales-governance-types.ts"],"names":[],"mappings":"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"}
package/dist/crm.js CHANGED
@@ -1,3 +1,3 @@
1
- import "./chunks/__smrt-register__-Cg4G6dIN.js";
2
- import { C as OPPORTUNITY_STATUSES, D as SALES_REPRESENTATIVE_STATUSES, E as SALES_ACTIVITY_SUBJECT_KINDS, O as Lead, S as LEAD_STATUSES, T as SALES_ACTIVITY_KINDS, _ as PipelineStageCollection, a as projectLeadWorkQueue, b as DEFAULT_PIPELINE_KEY, c as OpportunityConversion, d as SalesRepresentative, f as PipelineDefinitionCollection, g as SalesActivity, h as SalesActivityCollection, i as MAX_LEAD_WORKFLOW_TEXT_LENGTH, l as LeadCollection, m as OpportunityCollection, n as LeadWorkflowService, o as SalesPipelineRecipe, p as PipelineDefinition, r as LeadWorkflowValidationError, s as OpportunityConversionCollection, t as LEAD_HUMAN_ACTIVITY_KINDS, u as SalesRepresentativeCollection, v as PipelineStage, w as PIPELINE_STATUSES, x as DEFAULT_PIPELINE_STAGES, y as Opportunity } from "./chunks/crm-DaUkdNoG.js";
3
- export { DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, LEAD_HUMAN_ACTIVITY_KINDS, LEAD_STATUSES, Lead, LeadCollection, LeadWorkflowService, LeadWorkflowValidationError, MAX_LEAD_WORKFLOW_TEXT_LENGTH, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, SALES_ACTIVITY_KINDS, SALES_ACTIVITY_SUBJECT_KINDS, SALES_REPRESENTATIVE_STATUSES, SalesActivity, SalesActivityCollection, SalesPipelineRecipe, SalesRepresentative, SalesRepresentativeCollection, projectLeadWorkQueue };
1
+ import "./chunks/__smrt-register__-BRrJGGpG.js";
2
+ import { A as OPPORTUNITY_STATUSES, C as SalesActivity, D as DEFAULT_PIPELINE_KEY, E as Opportunity, F as Lead, M as SALES_ACTIVITY_KINDS, N as SALES_ACTIVITY_SUBJECT_KINDS, O as DEFAULT_PIPELINE_STAGES, P as SALES_REPRESENTATIVE_STATUSES, S as SalesActivityCollection, T as PipelineStage, _ as SalesRepresentativeCollection, a as LeadWorkflowValidationError, b as PipelineDefinition, c as LeadConversionService, d as SalesGovernanceState, f as SalesGovernanceEventCollection, g as LeadCollection, h as OpportunityConversion, i as LeadWorkflowService, j as PIPELINE_STATUSES, k as LEAD_STATUSES, l as SalesPipelineRecipe, m as OpportunityConversionCollection, n as SalesGovernanceService, o as MAX_LEAD_WORKFLOW_TEXT_LENGTH, p as SalesGovernanceEvent, r as LEAD_HUMAN_ACTIVITY_KINDS, s as projectLeadWorkQueue, t as SalesGovernanceError, u as SalesGovernanceStateCollection, v as SalesRepresentative, w as PipelineStageCollection, x as OpportunityCollection, y as PipelineDefinitionCollection } from "./chunks/crm-BENK-hHd.js";
3
+ export { DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, LEAD_HUMAN_ACTIVITY_KINDS, LEAD_STATUSES, Lead, LeadCollection, LeadConversionService, LeadWorkflowService, LeadWorkflowValidationError, MAX_LEAD_WORKFLOW_TEXT_LENGTH, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, SALES_ACTIVITY_KINDS, SALES_ACTIVITY_SUBJECT_KINDS, SALES_REPRESENTATIVE_STATUSES, SalesActivity, SalesActivityCollection, SalesGovernanceError, SalesGovernanceEvent, SalesGovernanceEventCollection, SalesGovernanceService, SalesGovernanceState, SalesGovernanceStateCollection, SalesPipelineRecipe, SalesRepresentative, SalesRepresentativeCollection, projectLeadWorkQueue };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import "./chunks/__smrt-register__-Cg4G6dIN.js";
2
- import { a as AgreementExecutionEvent, c as AgreementCollection, d as serializeAgreementParty, f as AGREEMENT_EXECUTION_STATUSES, g as sanitizeSignerIntent, h as sanitizeSignerEvidence, i as AgreementExecutionEventCollection, l as Agreement, m as coerceAgreementDate, n as ExecutedAgreementCollection, o as AgreementExecutionCollection, p as AGREEMENT_STATUSES, r as ExecutedAgreement, s as AgreementExecution, t as AgreementExecutionService, u as parseAgreementParty } from "./chunks/agreements-jBiVmttD.js";
1
+ import "./chunks/__smrt-register__-BRrJGGpG.js";
2
+ import { a as AgreementExecutionEvent, c as AgreementCollection, d as serializeAgreementParty, f as AGREEMENT_EXECUTION_STATUSES, g as sanitizeSignerIntent, h as sanitizeSignerEvidence, i as AgreementExecutionEventCollection, l as Agreement, m as coerceAgreementDate, n as ExecutedAgreementCollection, o as AgreementExecutionCollection, p as AGREEMENT_STATUSES, r as ExecutedAgreement, s as AgreementExecution, t as AgreementExecutionService, u as parseAgreementParty } from "./chunks/agreements-RsyRLeDn.js";
3
3
  import { A as COMMISSION_BASES, B as WATERFALL_POOL_RESIDUAL_RULES, C as WaterfallRecipientResolverRegistry, D as validateWaterfallPlan, E as prepareWaterfallPools, F as EARNER_SOURCE_ATTRIBUTION_STATUSES, G as Commission, H as CommissionPayoutCollection, I as EARNER_STATUSES, J as CommissionAdjustmentCollection, K as CommissionAdjustmentOperationCollection, L as EARNING_EVENT_KINDS, M as COMMISSION_PLAN_STATUSES, N as COMMISSION_STATUSES, O as ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, P as EARNER_KINDS, R as PAYOUT_METHODS, S as validateCommissionPlanComponents, T as calculateWaterfallWithPools, U as CommissionPayout, V as WATERFALL_POOL_ZERO_WEIGHT_RULES, W as CommissionCollection, Y as CommissionAdjustment, _ as EarnerCollection, a as CommissionBalanceService, b as CommissionPlanCollection, c as CommissionAdjustmentValidationError, d as centsToAmount, f as roundCents, g as EarnerSourceAttribution, h as EarnerSourceAttributionCollection, i as CommissionCalculationService, j as COMMISSION_PAYOUT_STATUSES, k as COMMISSION_ADJUSTMENT_KINDS, l as amountToCents, m as EarningEvent, n as CommissionSettlementService, o as CommissionAdjustmentReplayConflictError, p as EarningEventCollection, q as CommissionAdjustmentOperation, r as CommissionPayoutService, s as CommissionAdjustmentService, t as EarnerAttributionService, u as calculateCommissionAmountCents, v as Earner, w as calculateWaterfall, x as CommissionPlan, y as validatePayoutDestination, z as PAYOUT_METHODS_REQUIRING_DESTINATION } from "./chunks/commissions-D5x24d4o.js";
4
- import { C as OPPORTUNITY_STATUSES, D as SALES_REPRESENTATIVE_STATUSES, E as SALES_ACTIVITY_SUBJECT_KINDS, O as Lead, S as LEAD_STATUSES, T as SALES_ACTIVITY_KINDS, _ as PipelineStageCollection, a as projectLeadWorkQueue, b as DEFAULT_PIPELINE_KEY, c as OpportunityConversion, d as SalesRepresentative, f as PipelineDefinitionCollection, g as SalesActivity, h as SalesActivityCollection, i as MAX_LEAD_WORKFLOW_TEXT_LENGTH, l as LeadCollection, m as OpportunityCollection, n as LeadWorkflowService, o as SalesPipelineRecipe, p as PipelineDefinition, r as LeadWorkflowValidationError, s as OpportunityConversionCollection, t as LEAD_HUMAN_ACTIVITY_KINDS, u as SalesRepresentativeCollection, v as PipelineStage, w as PIPELINE_STATUSES, x as DEFAULT_PIPELINE_STAGES, y as Opportunity } from "./chunks/crm-DaUkdNoG.js";
4
+ import { A as OPPORTUNITY_STATUSES, C as SalesActivity, D as DEFAULT_PIPELINE_KEY, E as Opportunity, F as Lead, M as SALES_ACTIVITY_KINDS, N as SALES_ACTIVITY_SUBJECT_KINDS, O as DEFAULT_PIPELINE_STAGES, P as SALES_REPRESENTATIVE_STATUSES, S as SalesActivityCollection, T as PipelineStage, _ as SalesRepresentativeCollection, a as LeadWorkflowValidationError, b as PipelineDefinition, c as LeadConversionService, d as SalesGovernanceState, f as SalesGovernanceEventCollection, g as LeadCollection, h as OpportunityConversion, i as LeadWorkflowService, j as PIPELINE_STATUSES, k as LEAD_STATUSES, l as SalesPipelineRecipe, m as OpportunityConversionCollection, n as SalesGovernanceService, o as MAX_LEAD_WORKFLOW_TEXT_LENGTH, p as SalesGovernanceEvent, r as LEAD_HUMAN_ACTIVITY_KINDS, s as projectLeadWorkQueue, t as SalesGovernanceError, u as SalesGovernanceStateCollection, v as SalesRepresentative, w as PipelineStageCollection, x as OpportunityCollection, y as PipelineDefinitionCollection } from "./chunks/crm-BENK-hHd.js";
5
5
  import { A as ReferralClickOperation, B as ATTRIBUTION_RESOLUTION_MODES, C as ReferralTouchCollection, D as ReferralCollection, E as assertHttpTargetUrl, F as validateAttributionPolicyTerms, G as REFERRAL_STATUSES, H as REFERRAL_AGREEMENT_STATUSES, I as ATTRIBUTION_CONFLICT_BEHAVIORS, J as AttributionExceptionCollection, K as REFERRAL_TOUCH_KINDS, L as ATTRIBUTION_CREDIT_MODES, M as ReferralAgreement, N as AttributionPolicyCollection, O as Referral, P as AttributionPolicy, R as ATTRIBUTION_EXCEPTION_STATUSES, S as generateReferralCode, T as ReferralLink, U as REFERRAL_LINK_STATUSES, V as REFERRAL_AGREEMENT_APPROVAL_MODES, W as REFERRAL_PROGRAM_STATUSES, Y as AttributionException, _ as REFERRAL_CODE_ALPHABET, a as ReferralAgreementExecutionService, b as ReferralClickValidationError, c as ReferrerCollection, d as ReferralTermSnapshot, f as ReferralProgramCollection, g as MAX_REFERRAL_CLICK_IDEMPOTENCY_KEY_BYTES, h as MAX_CODE_GENERATION_ATTEMPTS, i as REFERRAL_AGREEMENT_SOURCE_KIND, j as ReferralAgreementCollection, k as ReferralClickOperationCollection, l as Referrer, m as DEFAULT_REFERRAL_CLICK_EVIDENCE_MAX_BYTES, n as REFERRAL_TERMS_SNAPSHOT_KIND, o as AttributionService, p as ReferralProgram, q as REFERRER_STATUSES, r as ReferralCommissionService, s as QualifiedReferralOverrideError, t as ReferralQualificationService, u as ReferralTermSnapshotCollection, v as REFERRAL_CODE_LENGTH, w as ReferralTouch, x as ReferralLinkCollection, y as ReferralClickReplayConflictError, z as ATTRIBUTION_POLICY_STATUSES } from "./chunks/referrals-BRdTkEFt.js";
6
- export { ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, AGREEMENT_EXECUTION_STATUSES, AGREEMENT_STATUSES, ATTRIBUTION_CONFLICT_BEHAVIORS, ATTRIBUTION_CREDIT_MODES, ATTRIBUTION_EXCEPTION_STATUSES, ATTRIBUTION_POLICY_STATUSES, ATTRIBUTION_RESOLUTION_MODES, Agreement, AgreementCollection, AgreementExecution, AgreementExecutionCollection, AgreementExecutionEvent, AgreementExecutionEventCollection, AgreementExecutionService, AttributionException, AttributionExceptionCollection, AttributionPolicy, AttributionPolicyCollection, AttributionService, COMMISSION_ADJUSTMENT_KINDS, COMMISSION_BASES, COMMISSION_PAYOUT_STATUSES, COMMISSION_PLAN_STATUSES, COMMISSION_STATUSES, Commission, CommissionAdjustment, CommissionAdjustmentCollection, CommissionAdjustmentOperation, CommissionAdjustmentOperationCollection, CommissionAdjustmentReplayConflictError, CommissionAdjustmentService, CommissionAdjustmentValidationError, CommissionBalanceService, CommissionCalculationService, CommissionCollection, CommissionPayout, CommissionPayoutCollection, CommissionPayoutService, CommissionPlan, CommissionPlanCollection, CommissionSettlementService, DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, DEFAULT_REFERRAL_CLICK_EVIDENCE_MAX_BYTES, EARNER_KINDS, EARNER_SOURCE_ATTRIBUTION_STATUSES, EARNER_STATUSES, EARNING_EVENT_KINDS, Earner, EarnerAttributionService, EarnerCollection, EarnerSourceAttribution, EarnerSourceAttributionCollection, EarningEvent, EarningEventCollection, ExecutedAgreement, ExecutedAgreementCollection, LEAD_HUMAN_ACTIVITY_KINDS, LEAD_STATUSES, Lead, LeadCollection, LeadWorkflowService, LeadWorkflowValidationError, MAX_CODE_GENERATION_ATTEMPTS, MAX_LEAD_WORKFLOW_TEXT_LENGTH, MAX_REFERRAL_CLICK_IDEMPOTENCY_KEY_BYTES, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PAYOUT_METHODS, PAYOUT_METHODS_REQUIRING_DESTINATION, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, QualifiedReferralOverrideError, REFERRAL_AGREEMENT_APPROVAL_MODES, REFERRAL_AGREEMENT_SOURCE_KIND, 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, ReferralAgreementExecutionService, ReferralClickOperation, ReferralClickOperationCollection, ReferralClickReplayConflictError, ReferralClickValidationError, 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, SalesPipelineRecipe, SalesRepresentative, SalesRepresentativeCollection, WATERFALL_POOL_RESIDUAL_RULES, WATERFALL_POOL_ZERO_WEIGHT_RULES, WaterfallRecipientResolverRegistry, amountToCents, assertHttpTargetUrl, calculateCommissionAmountCents, calculateWaterfall, calculateWaterfallWithPools, centsToAmount, coerceAgreementDate, generateReferralCode, parseAgreementParty, prepareWaterfallPools, projectLeadWorkQueue, roundCents, sanitizeSignerEvidence, sanitizeSignerIntent, serializeAgreementParty, validateAttributionPolicyTerms, validateCommissionPlanComponents, validatePayoutDestination, validateWaterfallPlan };
6
+ export { ADJUSTMENT_SETTLEABLE_COMMISSION_STATUSES, AGREEMENT_EXECUTION_STATUSES, AGREEMENT_STATUSES, ATTRIBUTION_CONFLICT_BEHAVIORS, ATTRIBUTION_CREDIT_MODES, ATTRIBUTION_EXCEPTION_STATUSES, ATTRIBUTION_POLICY_STATUSES, ATTRIBUTION_RESOLUTION_MODES, Agreement, AgreementCollection, AgreementExecution, AgreementExecutionCollection, AgreementExecutionEvent, AgreementExecutionEventCollection, AgreementExecutionService, AttributionException, AttributionExceptionCollection, AttributionPolicy, AttributionPolicyCollection, AttributionService, COMMISSION_ADJUSTMENT_KINDS, COMMISSION_BASES, COMMISSION_PAYOUT_STATUSES, COMMISSION_PLAN_STATUSES, COMMISSION_STATUSES, Commission, CommissionAdjustment, CommissionAdjustmentCollection, CommissionAdjustmentOperation, CommissionAdjustmentOperationCollection, CommissionAdjustmentReplayConflictError, CommissionAdjustmentService, CommissionAdjustmentValidationError, CommissionBalanceService, CommissionCalculationService, CommissionCollection, CommissionPayout, CommissionPayoutCollection, CommissionPayoutService, CommissionPlan, CommissionPlanCollection, CommissionSettlementService, DEFAULT_PIPELINE_KEY, DEFAULT_PIPELINE_STAGES, DEFAULT_REFERRAL_CLICK_EVIDENCE_MAX_BYTES, EARNER_KINDS, EARNER_SOURCE_ATTRIBUTION_STATUSES, EARNER_STATUSES, EARNING_EVENT_KINDS, Earner, EarnerAttributionService, EarnerCollection, EarnerSourceAttribution, EarnerSourceAttributionCollection, EarningEvent, EarningEventCollection, ExecutedAgreement, ExecutedAgreementCollection, LEAD_HUMAN_ACTIVITY_KINDS, LEAD_STATUSES, Lead, LeadCollection, LeadConversionService, LeadWorkflowService, LeadWorkflowValidationError, MAX_CODE_GENERATION_ATTEMPTS, MAX_LEAD_WORKFLOW_TEXT_LENGTH, MAX_REFERRAL_CLICK_IDEMPOTENCY_KEY_BYTES, OPPORTUNITY_STATUSES, Opportunity, OpportunityCollection, OpportunityConversion, OpportunityConversionCollection, PAYOUT_METHODS, PAYOUT_METHODS_REQUIRING_DESTINATION, PIPELINE_STATUSES, PipelineDefinition, PipelineDefinitionCollection, PipelineStage, PipelineStageCollection, QualifiedReferralOverrideError, REFERRAL_AGREEMENT_APPROVAL_MODES, REFERRAL_AGREEMENT_SOURCE_KIND, 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, ReferralAgreementExecutionService, ReferralClickOperation, ReferralClickOperationCollection, ReferralClickReplayConflictError, ReferralClickValidationError, 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, SalesGovernanceError, SalesGovernanceEvent, SalesGovernanceEventCollection, SalesGovernanceService, SalesGovernanceState, SalesGovernanceStateCollection, SalesPipelineRecipe, SalesRepresentative, SalesRepresentativeCollection, WATERFALL_POOL_RESIDUAL_RULES, WATERFALL_POOL_ZERO_WEIGHT_RULES, WaterfallRecipientResolverRegistry, amountToCents, assertHttpTargetUrl, calculateCommissionAmountCents, calculateWaterfall, calculateWaterfallWithPools, centsToAmount, coerceAgreementDate, generateReferralCode, parseAgreementParty, prepareWaterfallPools, projectLeadWorkQueue, roundCents, sanitizeSignerEvidence, sanitizeSignerIntent, serializeAgreementParty, validateAttributionPolicyTerms, validateCommissionPlanComponents, validatePayoutDestination, validateWaterfallPlan };