@fantastic.dev/better-stripe 0.23.1 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/README.md +40 -5
  3. package/dist/client/affiliateRecovery/disputes.d.ts +18 -0
  4. package/dist/client/affiliateRecovery/disputes.d.ts.map +1 -0
  5. package/dist/client/affiliateRecovery/disputes.js +33 -0
  6. package/dist/client/affiliateRecovery/disputes.js.map +1 -0
  7. package/dist/client/affiliateRecovery/engine.d.ts +29 -0
  8. package/dist/client/affiliateRecovery/engine.d.ts.map +1 -0
  9. package/dist/client/affiliateRecovery/engine.js +116 -0
  10. package/dist/client/affiliateRecovery/engine.js.map +1 -0
  11. package/dist/client/affiliateRecovery/payoutGate.d.ts +24 -0
  12. package/dist/client/affiliateRecovery/payoutGate.d.ts.map +1 -0
  13. package/dist/client/affiliateRecovery/payoutGate.js +30 -0
  14. package/dist/client/affiliateRecovery/payoutGate.js.map +1 -0
  15. package/dist/client/affiliateRecovery/provider.d.ts +14 -0
  16. package/dist/client/affiliateRecovery/provider.d.ts.map +1 -0
  17. package/dist/client/affiliateRecovery/provider.js +96 -0
  18. package/dist/client/affiliateRecovery/provider.js.map +1 -0
  19. package/dist/client/affiliateRecovery/review.d.ts +28 -0
  20. package/dist/client/affiliateRecovery/review.d.ts.map +1 -0
  21. package/dist/client/affiliateRecovery/review.js +86 -0
  22. package/dist/client/affiliateRecovery/review.js.map +1 -0
  23. package/dist/client/affiliateRecovery/validators.d.ts +402 -0
  24. package/dist/client/affiliateRecovery/validators.d.ts.map +1 -0
  25. package/dist/client/affiliateRecovery/validators.js +27 -0
  26. package/dist/client/affiliateRecovery/validators.js.map +1 -0
  27. package/dist/client/affiliateRecovery.d.ts +131 -0
  28. package/dist/client/affiliateRecovery.d.ts.map +1 -0
  29. package/dist/client/affiliateRecovery.js +69 -0
  30. package/dist/client/affiliateRecovery.js.map +1 -0
  31. package/dist/client/connect/commissionReceipts.d.ts +4 -0
  32. package/dist/client/connect/commissionReceipts.d.ts.map +1 -0
  33. package/dist/client/connect/commissionReceipts.js +17 -0
  34. package/dist/client/connect/commissionReceipts.js.map +1 -0
  35. package/dist/client/connect/payoutAdoptionTestHelpers.d.ts +536 -2
  36. package/dist/client/connect/payoutAdoptionTestHelpers.d.ts.map +1 -1
  37. package/dist/client/connect/payoutSync.d.ts +32 -0
  38. package/dist/client/connect/payoutSync.d.ts.map +1 -0
  39. package/dist/client/connect/payoutSync.js +48 -0
  40. package/dist/client/connect/payoutSync.js.map +1 -0
  41. package/dist/client/connect/payoutSyncTestHelpers.d.ts +1509 -0
  42. package/dist/client/connect/payoutSyncTestHelpers.d.ts.map +1 -0
  43. package/dist/client/connect/payoutSyncTestHelpers.js +62 -0
  44. package/dist/client/connect/payoutSyncTestHelpers.js.map +1 -0
  45. package/dist/client/connect/payoutSyncValidation.d.ts +16 -0
  46. package/dist/client/connect/payoutSyncValidation.d.ts.map +1 -0
  47. package/dist/client/connect/payoutSyncValidation.js +54 -0
  48. package/dist/client/connect/payoutSyncValidation.js.map +1 -0
  49. package/dist/client/connect/payouts.d.ts +3 -1
  50. package/dist/client/connect/payouts.d.ts.map +1 -1
  51. package/dist/client/connect/payouts.js +45 -12
  52. package/dist/client/connect/payouts.js.map +1 -1
  53. package/dist/client/connect/refundPrincipal.d.ts +4 -0
  54. package/dist/client/connect/refundPrincipal.d.ts.map +1 -0
  55. package/dist/client/connect/refundPrincipal.js +21 -0
  56. package/dist/client/connect/refundPrincipal.js.map +1 -0
  57. package/dist/client/connect/reversalExecution.d.ts +47 -0
  58. package/dist/client/connect/reversalExecution.d.ts.map +1 -0
  59. package/dist/client/connect/reversalExecution.js +84 -0
  60. package/dist/client/connect/reversalExecution.js.map +1 -0
  61. package/dist/client/connect/transfers.d.ts +8 -4
  62. package/dist/client/connect/transfers.d.ts.map +1 -1
  63. package/dist/client/connect/transfers.js +52 -57
  64. package/dist/client/connect/transfers.js.map +1 -1
  65. package/dist/client/index.d.ts +29 -9
  66. package/dist/client/index.d.ts.map +1 -1
  67. package/dist/client/index.js +9 -6
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/readContracts.d.ts +8 -0
  70. package/dist/client/readContracts.d.ts.map +1 -1
  71. package/dist/client/readContracts.js +7 -0
  72. package/dist/client/readContracts.js.map +1 -1
  73. package/dist/client/settlement/execution.d.ts.map +1 -1
  74. package/dist/client/settlement/execution.js +30 -3
  75. package/dist/client/settlement/execution.js.map +1 -1
  76. package/dist/client/settlement/reconciliation.d.ts.map +1 -1
  77. package/dist/client/settlement/reconciliation.js +16 -2
  78. package/dist/client/settlement/reconciliation.js.map +1 -1
  79. package/dist/client/webhooks/disputeRecovery.d.ts +4 -0
  80. package/dist/client/webhooks/disputeRecovery.d.ts.map +1 -0
  81. package/dist/client/webhooks/disputeRecovery.js +40 -0
  82. package/dist/client/webhooks/disputeRecovery.js.map +1 -0
  83. package/dist/client/webhooks/processors.d.ts.map +1 -1
  84. package/dist/client/webhooks/processors.js +14 -29
  85. package/dist/client/webhooks/processors.js.map +1 -1
  86. package/dist/component/_generated/component.d.ts +560 -0
  87. package/dist/component/_generated/component.d.ts.map +1 -1
  88. package/dist/component/affiliateEarnings/mutations.d.ts +22 -0
  89. package/dist/component/affiliateEarnings/mutations.d.ts.map +1 -0
  90. package/dist/component/affiliateEarnings/mutations.js +160 -0
  91. package/dist/component/affiliateEarnings/mutations.js.map +1 -0
  92. package/dist/component/affiliatePayouts/mutations.d.ts +25 -0
  93. package/dist/component/affiliatePayouts/mutations.d.ts.map +1 -0
  94. package/dist/component/affiliatePayouts/mutations.js +104 -0
  95. package/dist/component/affiliatePayouts/mutations.js.map +1 -0
  96. package/dist/component/affiliatePayouts/queries.d.ts +23 -0
  97. package/dist/component/affiliatePayouts/queries.d.ts.map +1 -0
  98. package/dist/component/affiliatePayouts/queries.js +23 -0
  99. package/dist/component/affiliatePayouts/queries.js.map +1 -0
  100. package/dist/component/affiliatePayouts/recipientGuard.d.ts +12 -0
  101. package/dist/component/affiliatePayouts/recipientGuard.d.ts.map +1 -0
  102. package/dist/component/affiliatePayouts/recipientGuard.js +26 -0
  103. package/dist/component/affiliatePayouts/recipientGuard.js.map +1 -0
  104. package/dist/component/affiliateRecovery/accounting.d.ts +28 -0
  105. package/dist/component/affiliateRecovery/accounting.d.ts.map +1 -0
  106. package/dist/component/affiliateRecovery/accounting.js +71 -0
  107. package/dist/component/affiliateRecovery/accounting.js.map +1 -0
  108. package/dist/component/affiliateRecovery/mutations.d.ts +65 -0
  109. package/dist/component/affiliateRecovery/mutations.d.ts.map +1 -0
  110. package/dist/component/affiliateRecovery/mutations.js +250 -0
  111. package/dist/component/affiliateRecovery/mutations.js.map +1 -0
  112. package/dist/component/affiliateRecovery/queries.d.ts +305 -0
  113. package/dist/component/affiliateRecovery/queries.d.ts.map +1 -0
  114. package/dist/component/affiliateRecovery/queries.js +113 -0
  115. package/dist/component/affiliateRecovery/queries.js.map +1 -0
  116. package/dist/component/affiliateRecovery/schema.d.ts +171 -0
  117. package/dist/component/affiliateRecovery/schema.d.ts.map +1 -0
  118. package/dist/component/affiliateRecovery/schema.js +71 -0
  119. package/dist/component/affiliateRecovery/schema.js.map +1 -0
  120. package/dist/component/connect/mutations.d.ts +36 -23
  121. package/dist/component/connect/mutations.d.ts.map +1 -1
  122. package/dist/component/connect/mutations.js +11 -151
  123. package/dist/component/connect/mutations.js.map +1 -1
  124. package/dist/component/connect/payoutWrites.d.ts +21 -0
  125. package/dist/component/connect/payoutWrites.d.ts.map +1 -0
  126. package/dist/component/connect/payoutWrites.js +19 -0
  127. package/dist/component/connect/payoutWrites.js.map +1 -0
  128. package/dist/component/connect/queries.d.ts +10 -0
  129. package/dist/component/connect/queries.d.ts.map +1 -1
  130. package/dist/component/connect/queries.js +3 -40
  131. package/dist/component/connect/queries.js.map +1 -1
  132. package/dist/component/connect/reversalClaims.d.ts +169 -0
  133. package/dist/component/connect/reversalClaims.d.ts.map +1 -0
  134. package/dist/component/connect/reversalClaims.js +176 -0
  135. package/dist/component/connect/reversalClaims.js.map +1 -0
  136. package/dist/component/connect/reversalDiagnostics.d.ts +59 -0
  137. package/dist/component/connect/reversalDiagnostics.d.ts.map +1 -0
  138. package/dist/component/connect/reversalDiagnostics.js +50 -0
  139. package/dist/component/connect/reversalDiagnostics.js.map +1 -0
  140. package/dist/component/connect/reversalReceipts.d.ts +27 -0
  141. package/dist/component/connect/reversalReceipts.d.ts.map +1 -0
  142. package/dist/component/connect/reversalReceipts.js +85 -0
  143. package/dist/component/connect/reversalReceipts.js.map +1 -0
  144. package/dist/component/connect/schema.d.ts +31 -1
  145. package/dist/component/connect/schema.d.ts.map +1 -1
  146. package/dist/component/connect/schema.js +3 -1
  147. package/dist/component/connect/schema.js.map +1 -1
  148. package/dist/component/connect/validators.d.ts +49 -1
  149. package/dist/component/connect/validators.d.ts.map +1 -1
  150. package/dist/component/connect/validators.js +2 -0
  151. package/dist/component/connect/validators.js.map +1 -1
  152. package/dist/component/earnings/triggers.d.ts +454 -2
  153. package/dist/component/earnings/triggers.d.ts.map +1 -1
  154. package/dist/component/payoutRelease/mutations.d.ts.map +1 -1
  155. package/dist/component/payoutRelease/mutations.js +6 -0
  156. package/dist/component/payoutRelease/mutations.js.map +1 -1
  157. package/dist/component/payoutRelease/queries.d.ts.map +1 -1
  158. package/dist/component/payoutRelease/queries.js +3 -1
  159. package/dist/component/payoutRelease/queries.js.map +1 -1
  160. package/dist/component/payoutSync/helpers.d.ts +44 -0
  161. package/dist/component/payoutSync/helpers.d.ts.map +1 -0
  162. package/dist/component/payoutSync/helpers.js +60 -0
  163. package/dist/component/payoutSync/helpers.js.map +1 -0
  164. package/dist/component/payoutSync/mutations.d.ts +51 -0
  165. package/dist/component/payoutSync/mutations.d.ts.map +1 -0
  166. package/dist/component/payoutSync/mutations.js +88 -0
  167. package/dist/component/payoutSync/mutations.js.map +1 -0
  168. package/dist/component/payoutSync/queries.d.ts +16 -0
  169. package/dist/component/payoutSync/queries.d.ts.map +1 -0
  170. package/dist/component/payoutSync/queries.js +11 -0
  171. package/dist/component/payoutSync/queries.js.map +1 -0
  172. package/dist/component/payoutSync/schema.d.ts +46 -0
  173. package/dist/component/payoutSync/schema.d.ts.map +1 -0
  174. package/dist/component/payoutSync/schema.js +22 -0
  175. package/dist/component/payoutSync/schema.js.map +1 -0
  176. package/dist/component/payoutSync/validators.d.ts +137 -0
  177. package/dist/component/payoutSync/validators.d.ts.map +1 -0
  178. package/dist/component/payoutSync/validators.js +19 -0
  179. package/dist/component/payoutSync/validators.js.map +1 -0
  180. package/dist/component/schema.d.ts +268 -1
  181. package/dist/component/schema.js +11 -0
  182. package/dist/component/schema.js.map +1 -1
  183. package/dist/component/settlement/clawbackSchema.d.ts +161 -0
  184. package/dist/component/settlement/clawbackSchema.d.ts.map +1 -0
  185. package/dist/component/settlement/clawbackSchema.js +73 -0
  186. package/dist/component/settlement/clawbackSchema.js.map +1 -0
  187. package/dist/component/settlement/clawbacks.d.ts +55 -0
  188. package/dist/component/settlement/clawbacks.d.ts.map +1 -0
  189. package/dist/component/settlement/clawbacks.js +146 -0
  190. package/dist/component/settlement/clawbacks.js.map +1 -0
  191. package/dist/component/settlement/mutations.d.ts +16 -0
  192. package/dist/component/settlement/mutations.d.ts.map +1 -1
  193. package/dist/component/settlement/mutations.js +48 -0
  194. package/dist/component/settlement/mutations.js.map +1 -1
  195. package/dist/component/settlement/queries.d.ts +53 -0
  196. package/dist/component/settlement/queries.d.ts.map +1 -1
  197. package/dist/component/settlement/queries.js +26 -0
  198. package/dist/component/settlement/queries.js.map +1 -1
  199. package/dist/react/workflows/AffiliateRecovery.d.ts +46 -0
  200. package/dist/react/workflows/AffiliateRecovery.d.ts.map +1 -0
  201. package/dist/react/workflows/AffiliateRecovery.js +84 -0
  202. package/dist/react/workflows/AffiliateRecovery.js.map +1 -0
  203. package/dist/react/workflows/index.d.ts +2 -0
  204. package/dist/react/workflows/index.d.ts.map +1 -1
  205. package/dist/react/workflows/index.js +1 -0
  206. package/dist/react/workflows/index.js.map +1 -1
  207. package/dist/testing/affiliate-recovery.d.ts +10 -0
  208. package/dist/testing/affiliate-recovery.d.ts.map +1 -0
  209. package/dist/testing/affiliate-recovery.js +126 -0
  210. package/dist/testing/affiliate-recovery.js.map +1 -0
  211. package/dist/testing/index.d.ts +2 -0
  212. package/dist/testing/index.d.ts.map +1 -1
  213. package/dist/testing/index.js +1 -0
  214. package/dist/testing/index.js.map +1 -1
  215. package/docs/affiliate-clawbacks.md +306 -0
  216. package/docs/read-contracts.md +40 -5
  217. package/docs/settlement.md +17 -0
  218. package/package.json +2 -1
  219. package/src/client/affiliateRecovery/disputes.ts +62 -0
  220. package/src/client/affiliateRecovery/engine.ts +196 -0
  221. package/src/client/affiliateRecovery/payoutGate.ts +65 -0
  222. package/src/client/affiliateRecovery/provider.ts +127 -0
  223. package/src/client/affiliateRecovery/review.ts +117 -0
  224. package/src/client/affiliateRecovery/validators.ts +38 -0
  225. package/src/client/affiliateRecovery.ts +173 -0
  226. package/src/client/connect/commissionReceipts.test.ts +157 -0
  227. package/src/client/connect/commissionReceipts.ts +23 -0
  228. package/src/client/connect/payoutSync.test.ts +313 -0
  229. package/src/client/connect/payoutSync.ts +93 -0
  230. package/src/client/connect/payoutSyncTestHelpers.ts +82 -0
  231. package/src/client/connect/payoutSyncValidation.ts +74 -0
  232. package/src/client/connect/payouts.ts +75 -15
  233. package/src/client/connect/refundPrincipal.test.ts +46 -0
  234. package/src/client/connect/refundPrincipal.ts +26 -0
  235. package/src/client/connect/reversalExecution.ts +130 -0
  236. package/src/client/connect/transfers.test.ts +3 -3
  237. package/src/client/connect/transfers.ts +93 -92
  238. package/src/client/index.ts +20 -18
  239. package/src/client/readContracts.ts +12 -0
  240. package/src/client/settlement/execution.test.ts +5 -0
  241. package/src/client/settlement/execution.ts +50 -3
  242. package/src/client/settlement/reconciliation.ts +20 -2
  243. package/src/client/webhooks/disputeRecovery.ts +74 -0
  244. package/src/client/webhooks/processors.test.ts +36 -53
  245. package/src/client/webhooks/processors.ts +18 -31
  246. package/src/component/_generated/api.ts +34 -0
  247. package/src/component/_generated/component.ts +696 -1
  248. package/src/component/affiliate-clawbacks.test.ts +370 -0
  249. package/src/component/affiliate-component-pagination.test.ts +83 -0
  250. package/src/component/affiliate-direct-payout.test.ts +160 -0
  251. package/src/component/affiliate-recovery-lifecycle.test.ts +587 -0
  252. package/src/component/affiliateEarnings/mutations.ts +196 -0
  253. package/src/component/affiliatePayouts/mutations.ts +121 -0
  254. package/src/component/affiliatePayouts/queries.ts +28 -0
  255. package/src/component/affiliatePayouts/recipientGuard.ts +42 -0
  256. package/src/component/affiliateRecovery/accounting.ts +111 -0
  257. package/src/component/affiliateRecovery/mutations.ts +275 -0
  258. package/src/component/affiliateRecovery/queries.ts +138 -0
  259. package/src/component/affiliateRecovery/schema.ts +86 -0
  260. package/src/component/connect/mutations.ts +13 -190
  261. package/src/component/connect/payoutWrites.ts +25 -0
  262. package/src/component/connect/queries.ts +4 -47
  263. package/src/component/connect/reversalClaims.ts +232 -0
  264. package/src/component/connect/reversalDiagnostics.ts +61 -0
  265. package/src/component/connect/reversalReceipts.ts +147 -0
  266. package/src/component/connect/schema.ts +3 -3
  267. package/src/component/connect/validators.ts +2 -0
  268. package/src/component/payout-recovery-integration.test.ts +172 -0
  269. package/src/component/payout-sync.test.ts +117 -0
  270. package/src/component/payoutRelease/mutations.ts +9 -0
  271. package/src/component/payoutRelease/queries.ts +3 -1
  272. package/src/component/payoutSync/helpers.ts +86 -0
  273. package/src/component/payoutSync/mutations.ts +102 -0
  274. package/src/component/payoutSync/queries.ts +10 -0
  275. package/src/component/payoutSync/schema.ts +25 -0
  276. package/src/component/payoutSync/validators.ts +21 -0
  277. package/src/component/schema.ts +20 -0
  278. package/src/component/settlement/clawbackSchema.ts +78 -0
  279. package/src/component/settlement/clawbacks.ts +233 -0
  280. package/src/component/settlement/mutations.ts +54 -0
  281. package/src/component/settlement/queries.ts +35 -0
  282. package/src/component/summary-arithmetic.test.ts +9 -4
  283. package/src/react/workflows/AffiliateRecovery.test.tsx +106 -0
  284. package/src/react/workflows/AffiliateRecovery.tsx +273 -0
  285. package/src/react/workflows/index.ts +9 -0
  286. package/src/testing/affiliate-recovery.ts +137 -0
  287. package/src/testing/index.ts +2 -0
@@ -19,6 +19,398 @@ import type { FunctionReference } from "convex/server";
19
19
  * ```
20
20
  */
21
21
  export type ComponentApi<Name extends string | undefined = string | undefined> = {
22
+ affiliateEarnings: {
23
+ mutations: {
24
+ confirmEarning: FunctionReference<"mutation", "internal", {
25
+ earningId: string;
26
+ stripeTransferId?: string;
27
+ }, null, Name>;
28
+ reserveEarning: FunctionReference<"mutation", "internal", {
29
+ affiliateAccountId: string;
30
+ sourceChargeId: string;
31
+ }, {
32
+ _creationTime: number;
33
+ _id: string;
34
+ affiliateAccountId: string;
35
+ currency: string;
36
+ originalCommission: number;
37
+ paymentIntentId?: string;
38
+ releaseAmount: number;
39
+ sourceChargeId: string;
40
+ sourceInvoiceId?: string;
41
+ status: "reserved" | "paid";
42
+ stripeTransferId?: string;
43
+ withheldAmount: number;
44
+ }, Name>;
45
+ };
46
+ };
47
+ affiliatePayouts: {
48
+ mutations: {
49
+ finishPayout: FunctionReference<"mutation", "internal", {
50
+ operationKey: string;
51
+ state: "unknown" | "submitted" | "failed";
52
+ stripePayoutId?: string;
53
+ }, null, Name>;
54
+ reservePayout: FunctionReference<"mutation", "internal", {
55
+ affiliateAccountId: string;
56
+ amount: number;
57
+ currency: string;
58
+ minimumAmount: number;
59
+ now: number;
60
+ operationKey?: string;
61
+ }, {
62
+ _creationTime: number;
63
+ _id: string;
64
+ affiliateAccountId: string;
65
+ amount: number;
66
+ createdAt: number;
67
+ currency: string;
68
+ minimumAmount: number;
69
+ operationKey: string;
70
+ state: "pending" | "unknown" | "submitted" | "failed";
71
+ stripePayoutId?: string;
72
+ } | null, Name>;
73
+ };
74
+ queries: {
75
+ pendingPayouts: FunctionReference<"query", "internal", {
76
+ paginationOpts: {
77
+ cursor: string | null;
78
+ endCursor?: string | null;
79
+ id?: number;
80
+ maximumBytesRead?: number;
81
+ maximumRowsRead?: number;
82
+ numItems: number;
83
+ };
84
+ state: "pending" | "unknown";
85
+ }, {
86
+ continueCursor: string;
87
+ isDone: boolean;
88
+ page: Array<{
89
+ _creationTime: number;
90
+ _id: string;
91
+ affiliateAccountId: string;
92
+ amount: number;
93
+ createdAt: number;
94
+ currency: string;
95
+ minimumAmount: number;
96
+ operationKey: string;
97
+ state: "pending" | "unknown" | "submitted" | "failed";
98
+ stripePayoutId?: string;
99
+ }>;
100
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
101
+ splitCursor?: string | null;
102
+ }, Name>;
103
+ };
104
+ };
105
+ affiliateRecovery: {
106
+ mutations: {
107
+ beginOperation: FunctionReference<"mutation", "internal", {
108
+ operationId: string;
109
+ }, {
110
+ _creationTime: number;
111
+ _id: string;
112
+ amount: number;
113
+ attempted: boolean;
114
+ createdAt: number;
115
+ error?: string;
116
+ kind: "recovery" | "restoration";
117
+ obligationId: string;
118
+ providerBaseline?: number;
119
+ receiptId?: string;
120
+ sourceEventId?: string;
121
+ state: "pending" | "unknown" | "insufficient_balance" | "unsupported" | "failed" | "succeeded" | "canceled";
122
+ }, Name>;
123
+ completeOperation: FunctionReference<"mutation", "internal", {
124
+ confirmedTransferReversed?: number;
125
+ error?: string;
126
+ operationId: string;
127
+ receiptId?: string;
128
+ state: "pending" | "unknown" | "insufficient_balance" | "unsupported" | "failed" | "succeeded" | "canceled";
129
+ }, null, Name>;
130
+ reserveOperation: FunctionReference<"mutation", "internal", {
131
+ kind: "recovery" | "restoration";
132
+ now: number;
133
+ obligationId: string;
134
+ }, {
135
+ _creationTime: number;
136
+ _id: string;
137
+ amount: number;
138
+ attempted: boolean;
139
+ createdAt: number;
140
+ error?: string;
141
+ kind: "recovery" | "restoration";
142
+ obligationId: string;
143
+ providerBaseline?: number;
144
+ receiptId?: string;
145
+ sourceEventId?: string;
146
+ state: "pending" | "unknown" | "insufficient_balance" | "unsupported" | "failed" | "succeeded" | "canceled";
147
+ } | null, Name>;
148
+ reviewLegacy: FunctionReference<"mutation", "internal", {
149
+ exposure: {
150
+ chargeAmount: number;
151
+ disputeId?: string;
152
+ disputeState?: "open" | "lost" | "won";
153
+ finalized: boolean;
154
+ kind: "refund" | "dispute";
155
+ principal: number;
156
+ refundId?: string;
157
+ refundedPrincipal?: number;
158
+ };
159
+ note: string;
160
+ obligationId: string;
161
+ receipts: Array<{
162
+ amount: number;
163
+ id: string;
164
+ }>;
165
+ recoveredAmount: number;
166
+ restorationIds: Array<string>;
167
+ restoredAmount: number;
168
+ }, null, Name>;
169
+ };
170
+ queries: {
171
+ chargeObligations: FunctionReference<"query", "internal", {
172
+ sourceChargeId: string;
173
+ }, Array<{
174
+ _creationTime: number;
175
+ _id: string;
176
+ accounted?: boolean;
177
+ activeOperationId?: string;
178
+ affiliateAccountId: string;
179
+ chargeAmount: number;
180
+ creditAmount?: number;
181
+ currency: string;
182
+ debtAmount?: number;
183
+ debtStatus?: "open" | "settled";
184
+ disputeId?: string;
185
+ disputeState?: "open" | "lost" | "won";
186
+ disputedPrincipal: number;
187
+ earningId?: string;
188
+ finalizedAmount: number;
189
+ lastError?: string;
190
+ lastRefundId?: string;
191
+ lastState?: string;
192
+ legacyReceiptIds?: Array<string>;
193
+ legacyRestorationIds?: Array<string>;
194
+ lostPrincipal: number;
195
+ needsReconciliation: boolean;
196
+ offsetAmount?: number;
197
+ operationSequence?: number;
198
+ operatorNote?: string;
199
+ originalCommission: number;
200
+ paymentId?: string;
201
+ paymentIntentId?: string;
202
+ provisionalAmount: number;
203
+ recoveredAmount: number;
204
+ refundedPrincipal: number;
205
+ releasedCommission?: number;
206
+ reservedRecovery?: number;
207
+ reservedRestoration?: number;
208
+ restoredAmount?: number;
209
+ sourceChargeId: string;
210
+ sourceInvoiceId?: string;
211
+ storeAccountId?: string;
212
+ stripeTransferId?: string;
213
+ }>, Name>;
214
+ getEarning: FunctionReference<"query", "internal", {
215
+ affiliateAccountId: string;
216
+ sourceChargeId: string;
217
+ }, {
218
+ _creationTime: number;
219
+ _id: string;
220
+ affiliateAccountId: string;
221
+ currency: string;
222
+ originalCommission: number;
223
+ paymentIntentId?: string;
224
+ releaseAmount: number;
225
+ sourceChargeId: string;
226
+ sourceInvoiceId?: string;
227
+ status: "reserved" | "paid";
228
+ stripeTransferId?: string;
229
+ withheldAmount: number;
230
+ } | null, Name>;
231
+ getObligation: FunctionReference<"query", "internal", {
232
+ obligationId: string;
233
+ }, {
234
+ _creationTime: number;
235
+ _id: string;
236
+ accounted?: boolean;
237
+ activeOperationId?: string;
238
+ affiliateAccountId: string;
239
+ chargeAmount: number;
240
+ creditAmount?: number;
241
+ currency: string;
242
+ debtAmount?: number;
243
+ debtStatus?: "open" | "settled";
244
+ disputeId?: string;
245
+ disputeState?: "open" | "lost" | "won";
246
+ disputedPrincipal: number;
247
+ earningId?: string;
248
+ finalizedAmount: number;
249
+ lastError?: string;
250
+ lastRefundId?: string;
251
+ lastState?: string;
252
+ legacyReceiptIds?: Array<string>;
253
+ legacyRestorationIds?: Array<string>;
254
+ lostPrincipal: number;
255
+ needsReconciliation: boolean;
256
+ offsetAmount?: number;
257
+ operationSequence?: number;
258
+ operatorNote?: string;
259
+ originalCommission: number;
260
+ paymentId?: string;
261
+ paymentIntentId?: string;
262
+ provisionalAmount: number;
263
+ recoveredAmount: number;
264
+ refundedPrincipal: number;
265
+ releasedCommission?: number;
266
+ reservedRecovery?: number;
267
+ reservedRestoration?: number;
268
+ restoredAmount?: number;
269
+ sourceChargeId: string;
270
+ sourceInvoiceId?: string;
271
+ storeAccountId?: string;
272
+ stripeTransferId?: string;
273
+ } | null, Name>;
274
+ operationHistory: FunctionReference<"query", "internal", {
275
+ obligationId: string;
276
+ paginationOpts: {
277
+ cursor: string | null;
278
+ endCursor?: string | null;
279
+ id?: number;
280
+ maximumBytesRead?: number;
281
+ maximumRowsRead?: number;
282
+ numItems: number;
283
+ };
284
+ }, {
285
+ continueCursor: string;
286
+ isDone: boolean;
287
+ page: Array<{
288
+ _creationTime: number;
289
+ _id: string;
290
+ amount: number;
291
+ attempted: boolean;
292
+ createdAt: number;
293
+ error?: string;
294
+ kind: "recovery" | "restoration";
295
+ obligationId: string;
296
+ providerBaseline?: number;
297
+ receiptId?: string;
298
+ sourceEventId?: string;
299
+ state: "pending" | "unknown" | "insufficient_balance" | "unsupported" | "failed" | "succeeded" | "canceled";
300
+ }>;
301
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
302
+ splitCursor?: string | null;
303
+ }, Name>;
304
+ pendingOperations: FunctionReference<"query", "internal", {
305
+ paginationOpts: {
306
+ cursor: string | null;
307
+ endCursor?: string | null;
308
+ id?: number;
309
+ maximumBytesRead?: number;
310
+ maximumRowsRead?: number;
311
+ numItems: number;
312
+ };
313
+ state: "pending" | "unknown";
314
+ }, {
315
+ continueCursor: string;
316
+ isDone: boolean;
317
+ page: Array<{
318
+ _creationTime: number;
319
+ _id: string;
320
+ amount: number;
321
+ attempted: boolean;
322
+ createdAt: number;
323
+ error?: string;
324
+ kind: "recovery" | "restoration";
325
+ obligationId: string;
326
+ providerBaseline?: number;
327
+ receiptId?: string;
328
+ sourceEventId?: string;
329
+ state: "pending" | "unknown" | "insufficient_balance" | "unsupported" | "failed" | "succeeded" | "canceled";
330
+ }>;
331
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
332
+ splitCursor?: string | null;
333
+ }, Name>;
334
+ recoverySnapshot: FunctionReference<"query", "internal", {
335
+ affiliateAccountId: string;
336
+ currency: string;
337
+ paginationOpts: {
338
+ cursor: string | null;
339
+ endCursor?: string | null;
340
+ id?: number;
341
+ maximumBytesRead?: number;
342
+ maximumRowsRead?: number;
343
+ numItems: number;
344
+ };
345
+ }, {
346
+ balance: {
347
+ _creationTime: number;
348
+ _id: string;
349
+ activePayoutKey?: string;
350
+ affiliateAccountId: string;
351
+ currency: string;
352
+ netPayable: number;
353
+ offsetAmount: number;
354
+ originalCommission: number;
355
+ outstandingDebt: number;
356
+ pendingPayoutAmount?: number;
357
+ recoveredAmount: number;
358
+ reservedRecovery: number;
359
+ reservedRestoration: number;
360
+ restorationDue: number;
361
+ restoredAmount: number;
362
+ withheldAmount: number;
363
+ } | null;
364
+ obligations: {
365
+ continueCursor: string;
366
+ isDone: boolean;
367
+ page: Array<{
368
+ _creationTime: number;
369
+ _id: string;
370
+ accounted?: boolean;
371
+ activeOperationId?: string;
372
+ affiliateAccountId: string;
373
+ chargeAmount: number;
374
+ creditAmount?: number;
375
+ currency: string;
376
+ debtAmount?: number;
377
+ debtStatus?: "open" | "settled";
378
+ disputeId?: string;
379
+ disputeState?: "open" | "lost" | "won";
380
+ disputedPrincipal: number;
381
+ earningId?: string;
382
+ finalizedAmount: number;
383
+ lastError?: string;
384
+ lastRefundId?: string;
385
+ lastState?: string;
386
+ legacyReceiptIds?: Array<string>;
387
+ legacyRestorationIds?: Array<string>;
388
+ lostPrincipal: number;
389
+ needsReconciliation: boolean;
390
+ offsetAmount?: number;
391
+ operationSequence?: number;
392
+ operatorNote?: string;
393
+ originalCommission: number;
394
+ paymentId?: string;
395
+ paymentIntentId?: string;
396
+ provisionalAmount: number;
397
+ recoveredAmount: number;
398
+ refundedPrincipal: number;
399
+ releasedCommission?: number;
400
+ reservedRecovery?: number;
401
+ reservedRestoration?: number;
402
+ restoredAmount?: number;
403
+ sourceChargeId: string;
404
+ sourceInvoiceId?: string;
405
+ storeAccountId?: string;
406
+ stripeTransferId?: string;
407
+ }>;
408
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
409
+ splitCursor?: string | null;
410
+ };
411
+ }, Name>;
412
+ };
413
+ };
22
414
  billing: {
23
415
  mutations: {
24
416
  upsertCheckoutSession: FunctionReference<"mutation", "internal", {
@@ -572,6 +964,16 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
572
964
  connect: {
573
965
  mutations: {
574
966
  claimReversalSlices: FunctionReference<"mutation", "internal", {
967
+ commissionExposure?: {
968
+ chargeAmount: number;
969
+ disputeId?: string;
970
+ disputeState?: "open" | "lost" | "won";
971
+ finalized: boolean;
972
+ kind: "refund" | "dispute";
973
+ principal: number;
974
+ refundId?: string;
975
+ refundedPrincipal?: number;
976
+ };
575
977
  mode: {
576
978
  kind: "full";
577
979
  } | {
@@ -590,6 +992,7 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
590
992
  }, {
591
993
  replay: boolean;
592
994
  slices: Array<{
995
+ commissionTracked?: boolean;
593
996
  confirmed: number;
594
997
  from: number;
595
998
  stripeTransferId: string;
@@ -602,6 +1005,11 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
602
1005
  stripePaymentIntentId: string;
603
1006
  }, null, Name>;
604
1007
  recordTransferReversal: FunctionReference<"mutation", "internal", {
1008
+ receipt?: {
1009
+ amount: number;
1010
+ operationId: string;
1011
+ stripeReversalId: string;
1012
+ };
605
1013
  reversedAmount: number;
606
1014
  stripeTransferId: string;
607
1015
  }, null, Name>;
@@ -907,6 +1315,16 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
907
1315
  }, {
908
1316
  _creationTime: number;
909
1317
  _id: string;
1318
+ commissionExposure?: {
1319
+ chargeAmount: number;
1320
+ disputeId?: string;
1321
+ disputeState?: "open" | "lost" | "won";
1322
+ finalized: boolean;
1323
+ kind: "refund" | "dispute";
1324
+ principal: number;
1325
+ refundId?: string;
1326
+ refundedPrincipal?: number;
1327
+ };
910
1328
  operationId: string;
911
1329
  slices: Array<{
912
1330
  from: number;
@@ -2530,6 +2948,75 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2530
2948
  }, Name>;
2531
2949
  };
2532
2950
  };
2951
+ payoutSync: {
2952
+ mutations: {
2953
+ begin: FunctionReference<"mutation", "internal", {
2954
+ accountId: string;
2955
+ stripePayoutId: string;
2956
+ }, number, Name>;
2957
+ finish: FunctionReference<"mutation", "internal", {
2958
+ accountId: string;
2959
+ generation: number;
2960
+ payout: {
2961
+ accountId: string;
2962
+ amount: number;
2963
+ arrivalDate?: string;
2964
+ currency: string;
2965
+ failureCode?: string;
2966
+ failureMessage?: string;
2967
+ metadata?: Record<string, string>;
2968
+ method?: string;
2969
+ status: "pending" | "paid" | "failed" | "canceled" | "in_transit";
2970
+ stripePayoutId: string;
2971
+ };
2972
+ stripePayoutId: string;
2973
+ }, {
2974
+ changed: boolean;
2975
+ generation: number;
2976
+ payout: {
2977
+ _creationTime: number;
2978
+ _id: string;
2979
+ accountId: string;
2980
+ amount: number;
2981
+ arrivalDate?: string;
2982
+ currency: string;
2983
+ failureCode?: string;
2984
+ failureMessage?: string;
2985
+ metadata?: any;
2986
+ method?: string;
2987
+ status: "pending" | "paid" | "failed" | "canceled" | "in_transit";
2988
+ stripePayoutId: string;
2989
+ totalsRecorded?: true;
2990
+ };
2991
+ status: "accepted";
2992
+ } | {
2993
+ generation: number;
2994
+ status: "superseded";
2995
+ }, Name>;
2996
+ markUnknown: FunctionReference<"mutation", "internal", {
2997
+ accountId: string;
2998
+ generation: number;
2999
+ stripePayoutId: string;
3000
+ }, null, Name>;
3001
+ };
3002
+ queries: {
3003
+ get: FunctionReference<"query", "internal", {
3004
+ accountId: string;
3005
+ stripePayoutId: string;
3006
+ }, {
3007
+ _creationTime: number;
3008
+ _id: string;
3009
+ acceptedAt?: number;
3010
+ acceptedFingerprint?: string;
3011
+ acceptedGeneration?: number;
3012
+ accountId: string;
3013
+ generation: number;
3014
+ startedAt: number;
3015
+ status: "pending" | "accepted" | "unknown";
3016
+ stripePayoutId: string;
3017
+ } | null, Name>;
3018
+ };
3019
+ };
2533
3020
  products: {
2534
3021
  mutations: {
2535
3022
  upsertPrice: FunctionReference<"mutation", "internal", {
@@ -2775,6 +3262,21 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2775
3262
  replay: boolean;
2776
3263
  term: "forever" | "one_time";
2777
3264
  }, Name>;
3265
+ migrateAffiliateObligations: FunctionReference<"mutation", "internal", {
3266
+ paginationOpts: {
3267
+ cursor: string | null;
3268
+ endCursor?: string | null;
3269
+ id?: number;
3270
+ maximumBytesRead?: number;
3271
+ maximumRowsRead?: number;
3272
+ numItems: number;
3273
+ };
3274
+ }, {
3275
+ continueCursor: string;
3276
+ isDone: boolean;
3277
+ migrated: number;
3278
+ skipped: number;
3279
+ }, Name>;
2778
3280
  reserveSettlementAllocation: FunctionReference<"mutation", "internal", {
2779
3281
  adjustmentAmount?: number;
2780
3282
  currency: string;
@@ -2838,6 +3340,64 @@ export type ComponentApi<Name extends string | undefined = string | undefined> =
2838
3340
  role: "store" | "affiliate" | "other";
2839
3341
  }>;
2840
3342
  } | null, Name>;
3343
+ listAffiliateObligations: FunctionReference<"query", "internal", {
3344
+ affiliateAccountId: string;
3345
+ currency: string;
3346
+ paginationOpts: {
3347
+ cursor: string | null;
3348
+ endCursor?: string | null;
3349
+ id?: number;
3350
+ maximumBytesRead?: number;
3351
+ maximumRowsRead?: number;
3352
+ numItems: number;
3353
+ };
3354
+ }, {
3355
+ continueCursor: string;
3356
+ isDone: boolean;
3357
+ page: Array<{
3358
+ _creationTime: number;
3359
+ _id: string;
3360
+ accounted?: boolean;
3361
+ activeOperationId?: string;
3362
+ affiliateAccountId: string;
3363
+ chargeAmount: number;
3364
+ creditAmount?: number;
3365
+ currency: string;
3366
+ debtAmount?: number;
3367
+ debtStatus?: "open" | "settled";
3368
+ disputeId?: string;
3369
+ disputeState?: "open" | "lost" | "won";
3370
+ disputedPrincipal: number;
3371
+ earningId?: string;
3372
+ finalizedAmount: number;
3373
+ lastError?: string;
3374
+ lastRefundId?: string;
3375
+ lastState?: string;
3376
+ legacyReceiptIds?: Array<string>;
3377
+ legacyRestorationIds?: Array<string>;
3378
+ lostPrincipal: number;
3379
+ needsReconciliation: boolean;
3380
+ offsetAmount?: number;
3381
+ operationSequence?: number;
3382
+ operatorNote?: string;
3383
+ originalCommission: number;
3384
+ paymentId?: string;
3385
+ paymentIntentId?: string;
3386
+ provisionalAmount: number;
3387
+ recoveredAmount: number;
3388
+ refundedPrincipal: number;
3389
+ releasedCommission?: number;
3390
+ reservedRecovery?: number;
3391
+ reservedRestoration?: number;
3392
+ restoredAmount?: number;
3393
+ sourceChargeId: string;
3394
+ sourceInvoiceId?: string;
3395
+ storeAccountId?: string;
3396
+ stripeTransferId?: string;
3397
+ }>;
3398
+ pageStatus?: "SplitRecommended" | "SplitRequired" | null;
3399
+ splitCursor?: string | null;
3400
+ }, Name>;
2841
3401
  };
2842
3402
  };
2843
3403
  webhooks: {