@etohq/ambassador 1.5.1-alpha.4

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 (100) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +8 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/models/ambassador.d.ts +39 -0
  8. package/dist/models/ambassador.d.ts.map +1 -0
  9. package/dist/models/ambassador.js +67 -0
  10. package/dist/models/ambassador.js.map +1 -0
  11. package/dist/models/commission.d.ts +23 -0
  12. package/dist/models/commission.d.ts.map +1 -0
  13. package/dist/models/commission.js +93 -0
  14. package/dist/models/commission.js.map +1 -0
  15. package/dist/models/index.d.ts +8 -0
  16. package/dist/models/index.d.ts.map +1 -0
  17. package/dist/models/index.js +18 -0
  18. package/dist/models/index.js.map +1 -0
  19. package/dist/models/partner.d.ts +38 -0
  20. package/dist/models/partner.d.ts.map +1 -0
  21. package/dist/models/partner.js +78 -0
  22. package/dist/models/partner.js.map +1 -0
  23. package/dist/models/payout.d.ts +28 -0
  24. package/dist/models/payout.d.ts.map +1 -0
  25. package/dist/models/payout.js +57 -0
  26. package/dist/models/payout.js.map +1 -0
  27. package/dist/models/program-enrollment.d.ts +26 -0
  28. package/dist/models/program-enrollment.d.ts.map +1 -0
  29. package/dist/models/program-enrollment.js +81 -0
  30. package/dist/models/program-enrollment.js.map +1 -0
  31. package/dist/models/program.d.ts +52 -0
  32. package/dist/models/program.d.ts.map +1 -0
  33. package/dist/models/program.js +106 -0
  34. package/dist/models/program.js.map +1 -0
  35. package/dist/models/revenue-share-rule.d.ts +25 -0
  36. package/dist/models/revenue-share-rule.d.ts.map +1 -0
  37. package/dist/models/revenue-share-rule.js +54 -0
  38. package/dist/models/revenue-share-rule.js.map +1 -0
  39. package/dist/models/reward.d.ts +16 -0
  40. package/dist/models/reward.d.ts.map +1 -0
  41. package/dist/models/reward.js +41 -0
  42. package/dist/models/reward.js.map +1 -0
  43. package/dist/services/ambassador-module-service.d.ts +221 -0
  44. package/dist/services/ambassador-module-service.d.ts.map +1 -0
  45. package/dist/services/ambassador-module-service.js +972 -0
  46. package/dist/services/ambassador-module-service.js.map +1 -0
  47. package/dist/services/ambassador-service.d.ts +57 -0
  48. package/dist/services/ambassador-service.d.ts.map +1 -0
  49. package/dist/services/ambassador-service.js +127 -0
  50. package/dist/services/ambassador-service.js.map +1 -0
  51. package/dist/services/commission-service.d.ts +45 -0
  52. package/dist/services/commission-service.d.ts.map +1 -0
  53. package/dist/services/commission-service.js +146 -0
  54. package/dist/services/commission-service.js.map +1 -0
  55. package/dist/services/index.d.ts +2 -0
  56. package/dist/services/index.d.ts.map +1 -0
  57. package/dist/services/index.js +9 -0
  58. package/dist/services/index.js.map +1 -0
  59. package/dist/services/payout-service.d.ts +35 -0
  60. package/dist/services/payout-service.d.ts.map +1 -0
  61. package/dist/services/payout-service.js +87 -0
  62. package/dist/services/payout-service.js.map +1 -0
  63. package/dist/services/program-enrollment-service.d.ts +39 -0
  64. package/dist/services/program-enrollment-service.d.ts.map +1 -0
  65. package/dist/services/program-enrollment-service.js +102 -0
  66. package/dist/services/program-enrollment-service.js.map +1 -0
  67. package/dist/services/program-service.d.ts +78 -0
  68. package/dist/services/program-service.d.ts.map +1 -0
  69. package/dist/services/program-service.js +180 -0
  70. package/dist/services/program-service.js.map +1 -0
  71. package/dist/services/revenue-rule-resolver.d.ts +15 -0
  72. package/dist/services/revenue-rule-resolver.d.ts.map +1 -0
  73. package/dist/services/revenue-rule-resolver.js +836 -0
  74. package/dist/services/revenue-rule-resolver.js.map +1 -0
  75. package/dist/services/revenue-share-rule-service.d.ts +5 -0
  76. package/dist/services/revenue-share-rule-service.d.ts.map +1 -0
  77. package/dist/services/revenue-share-rule-service.js +8 -0
  78. package/dist/services/revenue-share-rule-service.js.map +1 -0
  79. package/dist/services/reward-service.d.ts +31 -0
  80. package/dist/services/reward-service.d.ts.map +1 -0
  81. package/dist/services/reward-service.js +82 -0
  82. package/dist/services/reward-service.js.map +1 -0
  83. package/dist/tsconfig.tsbuildinfo +1 -0
  84. package/dist/utils/analytics.d.ts +19 -0
  85. package/dist/utils/analytics.d.ts.map +1 -0
  86. package/dist/utils/analytics.js +90 -0
  87. package/dist/utils/analytics.js.map +1 -0
  88. package/dist/utils/sustainability-monitor.d.ts +20 -0
  89. package/dist/utils/sustainability-monitor.d.ts.map +1 -0
  90. package/dist/utils/sustainability-monitor.js +46 -0
  91. package/dist/utils/sustainability-monitor.js.map +1 -0
  92. package/dist/workflows/calculate-commission-workflow.d.ts +2 -0
  93. package/dist/workflows/calculate-commission-workflow.d.ts.map +1 -0
  94. package/dist/workflows/calculate-commission-workflow.js +59 -0
  95. package/dist/workflows/calculate-commission-workflow.js.map +1 -0
  96. package/dist/workflows/steps/index.d.ts +2 -0
  97. package/dist/workflows/steps/index.d.ts.map +1 -0
  98. package/dist/workflows/steps/index.js +158 -0
  99. package/dist/workflows/steps/index.js.map +1 -0
  100. package/package.json +56 -0
@@ -0,0 +1,221 @@
1
+ import { CommissionStatus, Context, CreatePayoutDTO, DAL, FilterablePayoutProps, FindConfig, InternalModuleDeclaration, PayoutDTO, PayoutStatus } from "@etohq/framework/types";
2
+ import { ModulesSdkUtils } from "@etohq/framework/utils";
3
+ import { CreateAmbassadorDTO, FilterableAmbassadorProps, AmbassadorDTO, CreateProgramDTO, UpdateProgramDTO, FilterableProgramProps, ProgramDTO, CreateCommissionDTO, FilterableCommissionProps, CommissionDTO, UpdateRewardDTO, FilterableRewardProps, RewardDTO, EnrollAmbassadorDTO, FilterableProgramEnrollmentProps, CreateProgramEnrollmentDTO, ProgramEnrollmentDTO, CreateRevenueShareRuleDTO, RevenueShareRuleDTO } from "@etohq/framework/types";
4
+ import AmbassadorService from "./ambassador-service";
5
+ import ProgramService from "./program-service";
6
+ import CommissionService from "./commission-service";
7
+ import RewardService from "./reward-service";
8
+ import PayoutService from "./payout-service";
9
+ import ProgramEnrollmentService from "./program-enrollment-service";
10
+ import RevenueShareRuleService from "./revenue-share-rule-service";
11
+ import RevenueRuleResolver from "./revenue-rule-resolver";
12
+ import { SqlEntityManager } from "@mikro-orm/postgresql";
13
+ type InjectedDependencies = {
14
+ baseRepository: DAL.RepositoryService;
15
+ ambassadorService: AmbassadorService;
16
+ programService: ProgramService;
17
+ commissionService: CommissionService;
18
+ rewardService: RewardService;
19
+ payoutService: PayoutService;
20
+ programEnrollmentService: ProgramEnrollmentService;
21
+ revenueShareRuleService: RevenueShareRuleService;
22
+ revenueRuleResolver: RevenueRuleResolver;
23
+ };
24
+ declare const AmbassadorModuleService_base: ModulesSdkUtils.EtoServiceReturnType<{
25
+ Ambassador: {
26
+ dto: AmbassadorDTO;
27
+ };
28
+ Program: {
29
+ dto: ProgramDTO;
30
+ };
31
+ Commission: {
32
+ dto: CommissionDTO;
33
+ };
34
+ Reward: {
35
+ dto: RewardDTO;
36
+ };
37
+ ProgramEnrollment: {
38
+ dto: ProgramEnrollmentDTO;
39
+ };
40
+ RevenueShareRule: {
41
+ dto: RevenueShareRuleDTO;
42
+ };
43
+ Payout: {
44
+ dto: PayoutDTO;
45
+ };
46
+ }>;
47
+ export default class AmbassadorModuleService extends AmbassadorModuleService_base {
48
+ protected readonly moduleDeclaration: InternalModuleDeclaration;
49
+ protected baseRepository_: DAL.RepositoryService;
50
+ protected ambassadorService_: AmbassadorService;
51
+ protected programService_: ProgramService;
52
+ protected commissionService_: CommissionService;
53
+ protected rewardService_: RewardService;
54
+ protected payoutService_: PayoutService;
55
+ protected programEnrollmentService_: ProgramEnrollmentService;
56
+ protected revenueShareRuleService_: RevenueShareRuleService;
57
+ protected revenueRuleResolver_: RevenueRuleResolver;
58
+ constructor(dependencies: InjectedDependencies, moduleDeclaration: InternalModuleDeclaration);
59
+ createAmbassador(sourceType: "user" | "community", sourceId: string, data: CreateAmbassadorDTO, sharedContext?: Context): Promise<AmbassadorDTO>;
60
+ getAmbassadorBySource(sourceType: string, sourceId: string, sharedContext?: Context): Promise<AmbassadorDTO | null>;
61
+ listAmbassadors(filters: FilterableAmbassadorProps, config?: FindConfig<AmbassadorDTO>, sharedContext?: Context): Promise<AmbassadorDTO[]>;
62
+ verifyWebsite(ambassadorId: string, domain: string, sharedContext?: Context): Promise<AmbassadorDTO>;
63
+ verifyYoutube(ambassadorId: string, channelId: string, sharedContext?: Context): Promise<AmbassadorDTO>;
64
+ createProgram(data: CreateProgramDTO, sharedContext?: Context): Promise<ProgramDTO>;
65
+ getProgramOrThrow(programId: string, ownerId?: string, ownerType?: string, sharedContext?: Context): Promise<ProgramDTO>;
66
+ listProgramsByOwner(ownerId: string, ownerType: string, filters?: FilterableProgramProps, config?: FindConfig<ProgramDTO>, sharedContext?: Context): Promise<ProgramDTO[]>;
67
+ updateProgram(data: UpdateProgramDTO, sharedContext?: Context): Promise<ProgramDTO>;
68
+ enrollAmbassador(data: EnrollAmbassadorDTO, sharedContext?: Context): Promise<ProgramEnrollmentDTO>;
69
+ approveEnrollment(enrollmentId: string, sharedContext?: Context): Promise<ProgramEnrollmentDTO>;
70
+ getEnrollmentOrThrow(ambassadorId: string, programId: string, sharedContext?: Context): Promise<ProgramEnrollmentDTO>;
71
+ listEnrollmentsByProgram(programId: string, filters?: FilterableProgramEnrollmentProps, config?: FindConfig<ProgramEnrollmentDTO>, sharedContext?: Context): Promise<ProgramEnrollmentDTO[]>;
72
+ calculateEarnings(programId: string, eventType: "click" | "lead" | "sale", amount: number, sharedContext?: Context): Promise<{
73
+ amount: number;
74
+ calculation_type: string;
75
+ }>;
76
+ listRewards(filters?: FilterableRewardProps, config?: FindConfig<RewardDTO>, sharedContext?: Context): Promise<RewardDTO[]>;
77
+ retrieveReward(id: string, config?: FindConfig<RewardDTO>, sharedContext?: Context): Promise<RewardDTO>;
78
+ updateReward(id: string, data: UpdateRewardDTO, sharedContext?: Context): Promise<RewardDTO>;
79
+ deleteReward(id: string, sharedContext?: Context): Promise<string[]>;
80
+ createRevenueRule(data: CreateRevenueShareRuleDTO, sharedContext?: Context): Promise<RevenueShareRuleDTO>;
81
+ listRevenueRules(filters?: any, config?: FindConfig<any>, sharedContext?: Context): Promise<any[]>;
82
+ retrieveRevenueRule(id: string, config?: FindConfig<any>, sharedContext?: Context): Promise<any>;
83
+ updateRevenueRule(id: string, data: Partial<CreateRevenueShareRuleDTO>, sharedContext?: Context): Promise<RevenueShareRuleDTO>;
84
+ deleteRevenueRule(id: string, sharedContext?: Context): Promise<string[]>;
85
+ calculateCommissionWithRevenueSharing(data: {
86
+ program_id: string;
87
+ actor_id: string;
88
+ actor_type: "user" | "community" | "business" | "platform";
89
+ context_owner_id: string;
90
+ context_owner_type: "user" | "community" | "business" | "platform";
91
+ creator_id?: string;
92
+ creator_type?: "user" | "community" | "business" | "platform";
93
+ beneficiary_id: string;
94
+ beneficiary_type: "user" | "community" | "business" | "platform";
95
+ beneficiary_plan: "free" | "pro" | "premium" | "enterprise";
96
+ event_type: "click" | "lead" | "sale";
97
+ amount?: number;
98
+ quantity?: number;
99
+ current_source_type: "community" | "user_profile" | "business_profile";
100
+ current_source_id: string;
101
+ original_source_type?: "community" | "user_profile" | "business_profile";
102
+ original_source_id?: string;
103
+ }, sharedContext?: Context): Promise<{
104
+ base_commission: number;
105
+ revenue_distribution: any;
106
+ actor_earnings: number;
107
+ beneficiary_earnings: number;
108
+ context_owner_earnings: number;
109
+ creator_earnings: number;
110
+ platform_earnings: number;
111
+ total_distributed: number;
112
+ }>;
113
+ calculateCommission(data: {
114
+ program_id: string;
115
+ ambassador_id: string;
116
+ event_type: "click" | "lead" | "sale";
117
+ amount?: number;
118
+ quantity?: number;
119
+ source_type?: "direct" | "community" | "repost";
120
+ community_id?: string;
121
+ creator_id?: string;
122
+ }, sharedContext?: Context): Promise<{
123
+ ambassador_earnings: number;
124
+ creator_earnings?: number;
125
+ community_earnings?: number;
126
+ total_commission: number;
127
+ reward_used?: RewardDTO;
128
+ }>;
129
+ getAnalyticsTimeseries(params: {
130
+ ambassador_id: string;
131
+ program_id?: string;
132
+ granularity: "minute" | "hour" | "day" | "month";
133
+ dateFormat: string;
134
+ start: string;
135
+ end: string;
136
+ timezone: string;
137
+ }, sharedContext?: Context<SqlEntityManager>): Promise<Array<{
138
+ start: string;
139
+ clicks: number;
140
+ leads: number;
141
+ sales: number;
142
+ saleAmount: number;
143
+ earnings: number;
144
+ }>>;
145
+ getAnalytics(params: {
146
+ ambassador_id: string;
147
+ program_id?: string;
148
+ groupBy: "count" | "timeseries" | "countries" | "devices";
149
+ interval?: string;
150
+ start?: string;
151
+ end?: string;
152
+ timezone?: string;
153
+ }, sharedContext?: Context<SqlEntityManager>): Promise<{
154
+ clicks: number;
155
+ leads: number;
156
+ sales: number;
157
+ saleAmount: number;
158
+ earnings?: number;
159
+ timeseries?: Array<{
160
+ start: string;
161
+ clicks: number;
162
+ leads: number;
163
+ sales: number;
164
+ saleAmount: number;
165
+ earnings: number;
166
+ }>;
167
+ }>;
168
+ findProgramsByResource(params: {
169
+ resource_type: string;
170
+ resource_id: string;
171
+ status?: string;
172
+ category?: string;
173
+ access_type?: "public" | "private";
174
+ ambassador_id?: string;
175
+ }, sharedContext?: Context<SqlEntityManager>): Promise<Array<{
176
+ program: ProgramDTO;
177
+ enrollment_status?: string;
178
+ can_activate?: boolean;
179
+ access_type: "public" | "private";
180
+ is_owner_match: boolean;
181
+ }>>;
182
+ createEnrollment(data: CreateProgramEnrollmentDTO, sharedContext?: Context): Promise<any>;
183
+ updateProgramEnrollment(id: string, data: Partial<ProgramEnrollmentDTO>, sharedContext?: Context): Promise<any>;
184
+ retrieveEnrollment(id: string, sharedContext?: Context): Promise<any>;
185
+ updateEnrollment(id: string, data: ProgramEnrollmentDTO, sharedContext?: Context): Promise<any>;
186
+ deleteEnrollments(ids: string[], sharedContext?: Context): Promise<void>;
187
+ createCommission(data: CreateCommissionDTO, sharedContext?: Context): Promise<CommissionDTO>;
188
+ /**
189
+ * Updates an array of commissions by ID with provided fields.
190
+ *
191
+ * @param ids string[] - list of commission IDs
192
+ * @param data Partial<CommissionDTO> - fields to update for all IDs
193
+ * @returns Promise<CommissionDTO[]>
194
+ *
195
+ * Example: updateCommissions(["comm_123", "comm_456"], { payout_id: "payout_123" })
196
+ */
197
+ updateCommissions(ids: string[], data: Partial<CommissionDTO>, sharedContext?: Context): Promise<CommissionDTO[]>;
198
+ createCommissions(data: CreateCommissionDTO[], sharedContext?: Context): Promise<CommissionDTO[]>;
199
+ listCommissions(filters?: FilterableCommissionProps, config?: FindConfig<CommissionDTO>, sharedContext?: Context): Promise<CommissionDTO[]>;
200
+ updateCommissionStatus(commissionId: string, status: CommissionStatus, sharedContext?: Context): Promise<CommissionDTO>;
201
+ getAmbassadorPerformance(ambassadorId: string, filters?: FilterableCommissionProps, sharedContext?: Context): Promise<{
202
+ total_commissions: number;
203
+ total_earnings: number;
204
+ click_count: number;
205
+ sale_count: number;
206
+ conversion_rate: number;
207
+ }>;
208
+ getPayoutEligibleCommissions(programId: string, ambassadorId: string, sharedContext?: Context): Promise<{
209
+ eligible: CommissionDTO[];
210
+ clawbacks: CommissionDTO[];
211
+ holdingPeriodDays: number;
212
+ }>;
213
+ listRewardsByProgram(programId: string, filters?: FilterableRewardProps, config?: FindConfig<RewardDTO>, sharedContext?: Context): Promise<RewardDTO[]>;
214
+ createPayout(data: CreatePayoutDTO, sharedContext?: Context): Promise<PayoutDTO>;
215
+ listPayoutsByProgram(programId: string, filters?: FilterablePayoutProps, config?: FindConfig<PayoutDTO>, sharedContext?: Context): Promise<PayoutDTO[]>;
216
+ getEligiblePayouts(programId: string, cutoffDate?: Date, sharedContext?: Context): Promise<PayoutDTO[]>;
217
+ updatePayoutStatus(payoutId: string, status: PayoutStatus, sharedContext?: Context): Promise<PayoutDTO>;
218
+ recordCommission(data: CreateCommissionDTO, sharedContext?: Context): Promise<CommissionDTO>;
219
+ }
220
+ export {};
221
+ //# sourceMappingURL=ambassador-module-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambassador-module-service.d.ts","sourceRoot":"","sources":["../../src/services/ambassador-module-service.ts"],"names":[],"mappings":"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"}