@fundedfast/sdk 1.3.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 (52) hide show
  1. package/CHANGELOG.md +104 -0
  2. package/README.md +352 -0
  3. package/dist/cjs/client.d.ts +130 -0
  4. package/dist/cjs/client.d.ts.map +1 -0
  5. package/dist/cjs/client.js +362 -0
  6. package/dist/cjs/client.js.map +1 -0
  7. package/dist/cjs/index.d.ts +27 -0
  8. package/dist/cjs/index.d.ts.map +1 -0
  9. package/dist/cjs/index.js +33 -0
  10. package/dist/cjs/index.js.map +1 -0
  11. package/dist/cjs/package.json +1 -0
  12. package/dist/cjs/resources/admin.d.ts +597 -0
  13. package/dist/cjs/resources/admin.d.ts.map +1 -0
  14. package/dist/cjs/resources/admin.js +842 -0
  15. package/dist/cjs/resources/admin.js.map +1 -0
  16. package/dist/cjs/resources/public.d.ts +519 -0
  17. package/dist/cjs/resources/public.d.ts.map +1 -0
  18. package/dist/cjs/resources/public.js +588 -0
  19. package/dist/cjs/resources/public.js.map +1 -0
  20. package/dist/cjs/types.d.ts +651 -0
  21. package/dist/cjs/types.d.ts.map +1 -0
  22. package/dist/cjs/types.js +11 -0
  23. package/dist/cjs/types.js.map +1 -0
  24. package/dist/cjs/webhooks.d.ts +104 -0
  25. package/dist/cjs/webhooks.d.ts.map +1 -0
  26. package/dist/cjs/webhooks.js +199 -0
  27. package/dist/cjs/webhooks.js.map +1 -0
  28. package/dist/esm/client.d.ts +130 -0
  29. package/dist/esm/client.d.ts.map +1 -0
  30. package/dist/esm/client.js +355 -0
  31. package/dist/esm/client.js.map +1 -0
  32. package/dist/esm/index.d.ts +27 -0
  33. package/dist/esm/index.d.ts.map +1 -0
  34. package/dist/esm/index.js +26 -0
  35. package/dist/esm/index.js.map +1 -0
  36. package/dist/esm/resources/admin.d.ts +597 -0
  37. package/dist/esm/resources/admin.d.ts.map +1 -0
  38. package/dist/esm/resources/admin.js +816 -0
  39. package/dist/esm/resources/admin.js.map +1 -0
  40. package/dist/esm/resources/public.d.ts +519 -0
  41. package/dist/esm/resources/public.d.ts.map +1 -0
  42. package/dist/esm/resources/public.js +578 -0
  43. package/dist/esm/resources/public.js.map +1 -0
  44. package/dist/esm/types.d.ts +651 -0
  45. package/dist/esm/types.d.ts.map +1 -0
  46. package/dist/esm/types.js +10 -0
  47. package/dist/esm/types.js.map +1 -0
  48. package/dist/esm/webhooks.d.ts +104 -0
  49. package/dist/esm/webhooks.d.ts.map +1 -0
  50. package/dist/esm/webhooks.js +159 -0
  51. package/dist/esm/webhooks.js.map +1 -0
  52. package/package.json +72 -0
@@ -0,0 +1,651 @@
1
+ /**
2
+ * @fundedfast/sdk - Type Definitions
3
+ *
4
+ * All types map directly to the FAST API response shapes.
5
+ * Dates are ISO 8601 strings. Money values are in the tier's configured currency.
6
+ *
7
+ * @module types
8
+ */
9
+ /** Challenge lifecycle state */
10
+ export type ChallengeStatus = 'active' | 'passed_pending_choice' | 'completed' | 'failed' | 'cancelled' | 'refunded';
11
+ /** Why a challenge failed */
12
+ export type FailureReason = 'expired' | 'max_drawdown_exceeded' | 'insufficient_active_days' | 'voluntary_cancellation';
13
+ /** Bet event lifecycle state */
14
+ export type BetStatus = 'placed' | 'settled-won' | 'settled-lost' | 'voided';
15
+ /** Validation outcome from the rules engine */
16
+ export type ValidationStatus = 'accepted' | 'rejected' | 'flagged';
17
+ /** Funded account lifecycle state */
18
+ export type FundedAccountStatus = 'active' | 'revoked' | 'closed';
19
+ /** Webhook delivery state */
20
+ export type WebhookDeliveryStatus = 'pending' | 'delivered' | 'failed';
21
+ /** Tenant integration mode */
22
+ export type IntegrationMode = 'sync' | 'async';
23
+ /** All possible rejection reason codes from the rules engine */
24
+ export type RejectionCode = 'min_stake_not_met' | 'max_stake_exceeded' | 'odds_limit_exceeded' | 'min_odds_not_met' | 'max_payout_exceeded' | 'max_selections_exceeded' | 'max_win_exceeded' | 'lucky_bet_profit_limit' | 'daily_drawdown_exceeded' | 'max_drawdown_exceeded' | 'cooldown_active' | 'cashout_not_allowed_during_challenge';
25
+ /** Webhook event types emitted by FAST */
26
+ export type WebhookEventType = 'challenge.activated' | 'challenge.passed' | 'challenge.completed' | 'challenge.failed' | 'challenge.cancelled' | 'challenge.expiring_soon' | 'challenge.stake_refunded' | 'challenge.bonus_voided' | 'funded_account.activated' | 'funded_account.revoked' | 'funded_account.payout' | 'funded_account.stake_refunded' | 'cooldown.triggered' | 'cooldown.lifted' | 'bet.validation_result' | 'achievement.earned' | 'reward.granted' | 'reward.applied' | 'user.self_excluded' | 'user.self_exclusion_lifted' | 'bonus.activated' | 'bonus.progress' | 'bonus.completed' | 'bonus.expired' | 'bonus.forfeited' | 'mission.enrolled' | 'mission.progress' | 'mission.completed' | 'mission.expired' | 'tournament.started' | 'tournament.user_joined' | 'tournament.user_invited' | 'tournament.settled' | 'tournament.cancelled' | 'loyalty.tier_upgraded' | 'loyalty.tier_downgraded' | 'loyalty.cashback_settled' | 'reward.expired';
27
+ /** Body for POST /challenges/purchase */
28
+ export interface PurchaseRequest {
29
+ /** Your sportsbook user identifier */
30
+ userId: string;
31
+ /** UUID of the challenge tier to purchase */
32
+ challengeTierId: string;
33
+ /** ISO 8601 timestamp (defaults to server time) */
34
+ timestamp?: string;
35
+ /** Optional affiliate/referral tracking code */
36
+ referralCode?: string;
37
+ }
38
+ /** Canonical bet event payload */
39
+ export interface BetEvent {
40
+ /** Your sportsbook user identifier */
41
+ userId: string;
42
+ /** Your sportsbook bet identifier for cross-referencing */
43
+ externalBetId: string;
44
+ /** Stake amount in the configured currency */
45
+ stakeAmount: number;
46
+ /** Decimal odds at time of placement */
47
+ odds: number;
48
+ /** Bet lifecycle state */
49
+ status: BetStatus;
50
+ /** Bet type label (single, accumulator, etc.) */
51
+ betTypeIdentifier?: string;
52
+ /** ISO 8601 timestamp of when the bet event occurred */
53
+ eventTimestamp?: string;
54
+ /** Whether this is a cash-out settlement */
55
+ isCashOut?: boolean;
56
+ /** Total return on settlement (stake + profit for wins) */
57
+ settlementAmount?: number | null;
58
+ /** Number of selections in an accumulator bet */
59
+ selections?: number;
60
+ }
61
+ /** Body for POST /users/:userId/withdraw */
62
+ export interface WithdrawRequest {
63
+ /** Amount to withdraw. Must be <= withdrawable profit. */
64
+ amount: number;
65
+ }
66
+ /** A challenge instance */
67
+ export interface Challenge {
68
+ id: string;
69
+ userId: string;
70
+ challengeTierId: string;
71
+ rulesetId: string;
72
+ ownStake: number;
73
+ bonusAmount: number;
74
+ startingBalance: number;
75
+ currentBalance: number;
76
+ targetBalance: number;
77
+ peakBalance: number;
78
+ startedAt: string;
79
+ expiresAt: string;
80
+ status: ChallengeStatus;
81
+ failureReason: FailureReason | null;
82
+ totalBetsPlaced: number;
83
+ totalBetsAccepted: number;
84
+ totalBetsRejected: number;
85
+ activeDays: string[];
86
+ dailyLoss: Record<string, number>;
87
+ currency?: string;
88
+ createdAt: string;
89
+ updatedAt: string;
90
+ }
91
+ /** A challenge product tier (as returned by the public /challenge-tiers endpoint) */
92
+ export interface ChallengeTier {
93
+ id: string;
94
+ name: string;
95
+ /** Own stake the user pays to enter */
96
+ ownStake: number;
97
+ /** Conditional bonus granted by the operator */
98
+ bonusAmount: number;
99
+ /** Balance target to complete the challenge */
100
+ targetBalance: number;
101
+ /** Calendar days before expiry */
102
+ durationDays: number;
103
+ /** Funded account balance on completion */
104
+ fundedAccountBalance: number;
105
+ /** Profit split in user's favor (e.g. 80 = 80%) */
106
+ profitSplitPercent: number;
107
+ /** Min odds for bets */
108
+ minOdds: number;
109
+ /** Max odds for bets */
110
+ maxOdds: number;
111
+ /** Max stake as % of balance */
112
+ maxStakePercent: number;
113
+ /** Max accumulator selections */
114
+ maxAccumulatorSelections: number;
115
+ /** Minimum bets to pass */
116
+ minBetsRequired: number;
117
+ /** Minimum active betting days */
118
+ minActiveDays: number;
119
+ /** Daily loss limit as % of balance */
120
+ dailyDrawdownPercent: number;
121
+ /** Total drawdown limit as % of starting balance */
122
+ totalDrawdownPercent: number;
123
+ /** Lucky bet max profit as % of target */
124
+ luckyBetMaxProfitPercent: number;
125
+ }
126
+ /** Full challenge tier with admin-level fields (from /admin/challenge-tiers) */
127
+ export interface ChallengeTierFull extends ChallengeTier {
128
+ /** Max payout as % of funded balance per cycle. null = no cap */
129
+ payoutCapPercent: number | null;
130
+ /** ISO 4217 currency code */
131
+ currency: string;
132
+ enabled: boolean;
133
+ challengeRulesetId: string;
134
+ fundedRulesetId: string;
135
+ resetBalanceOnPayout: boolean;
136
+ fundedMinActiveDays: number;
137
+ fundedActiveDayPercent: number;
138
+ createdAt: string;
139
+ updatedAt: string;
140
+ }
141
+ /** Rules engine validation result */
142
+ export interface ValidationResult {
143
+ /** accepted = passes all rules, rejected = violates rules, flagged = accepted but noted */
144
+ status: ValidationStatus;
145
+ /** Rule violation codes. Empty when accepted. */
146
+ reasonCodes: RejectionCode[];
147
+ }
148
+ /** A bet validation ruleset */
149
+ export interface Ruleset {
150
+ id: string;
151
+ name: string;
152
+ maxStakePercent: number;
153
+ maxOdds: number;
154
+ minOdds: number;
155
+ maxPayoutMultiplier: number;
156
+ minBetsRequired: number;
157
+ luckyBetMaxProfitPercent: number;
158
+ luckyBetMaxOdds: number;
159
+ minActiveDays: number;
160
+ dailyDrawdownPercent: number;
161
+ totalDrawdownPercent: number;
162
+ cooldownDurationHours: number | null;
163
+ balanceCalculationBasis: 'original' | 'current';
164
+ enabled: boolean;
165
+ }
166
+ /** Live challenge progress for sportsbook UI */
167
+ export interface ChallengeProgress {
168
+ type: 'challenge';
169
+ challengeId: string;
170
+ currentBalance: number;
171
+ targetBalance: number;
172
+ startingBalance: number;
173
+ daysElapsed: number;
174
+ daysRemaining: number;
175
+ activeDays: number;
176
+ totalBetsPlaced: number;
177
+ totalBetsAccepted: number;
178
+ totalBetsRejected: number;
179
+ minBetsRequired: number;
180
+ minActiveDays: number;
181
+ status: 'active';
182
+ /** ISO 8601 datetime when cooldown expires, null if not in cooldown */
183
+ cooldownUntil: string | null;
184
+ /** Total stake amount in pending (unsettled) bets */
185
+ reserved: number;
186
+ currency?: string;
187
+ selfExcluded?: boolean;
188
+ }
189
+ /** Challenge target reached; the user must choose to continue or exit with a stake refund */
190
+ export interface ChallengePassedProgress {
191
+ type: 'challenge_passed';
192
+ challengeId: string;
193
+ /** Program balance reached at pass (own stake + bonus + winnings) */
194
+ programBalance: number;
195
+ targetBalance: number;
196
+ ownStake?: number;
197
+ bonusAmount?: number;
198
+ /** Own stake the user takes back if they exit (refundChallengeStake) */
199
+ refundableOwnStake: number;
200
+ choices: Array<'continue' | 'refund'>;
201
+ status: 'passed_pending_choice';
202
+ currency?: string;
203
+ selfExcluded?: boolean;
204
+ }
205
+ /** Live funded account state for sportsbook UI */
206
+ export interface FundedAccountProgress {
207
+ type: 'funded_account';
208
+ fundedAccountId: string;
209
+ currentBalance: number;
210
+ fundedAmount: number;
211
+ purchasePrice: number;
212
+ withdrawableProfit: number;
213
+ earnedProfit: number;
214
+ rawProfit: number;
215
+ isWithdrawable: boolean;
216
+ profitSplitPercent: number;
217
+ payoutCapPercent: number | null;
218
+ totalWithdrawn: number;
219
+ activeDays: number;
220
+ minActiveDays: number;
221
+ status: 'active';
222
+ reserved: number;
223
+ currency?: string;
224
+ selfExcluded?: boolean;
225
+ }
226
+ /** User has no active challenge or funded account */
227
+ export interface NoProgress {
228
+ type: 'none';
229
+ message: string;
230
+ selfExcluded?: boolean;
231
+ }
232
+ /** Discriminated union - check the `type` field */
233
+ export type UserProgress = ChallengeProgress | ChallengePassedProgress | FundedAccountProgress | NoProgress;
234
+ /** Detailed withdrawable profit calculation */
235
+ export interface WithdrawableInfo {
236
+ withdrawable: number;
237
+ currentBalance: number;
238
+ fundedAmount: number;
239
+ profitSplitPercent: number;
240
+ payoutCapPercent: number | null;
241
+ activeDaysCount: number;
242
+ minActiveDays: number;
243
+ activeDaysMet: boolean;
244
+ }
245
+ /** Withdrawal result with profit split breakdown */
246
+ export interface WithdrawalResult {
247
+ newBalance: number;
248
+ userPayout: number;
249
+ operatorShare: number;
250
+ }
251
+ /** Bet ingestion result (sync or async mode) */
252
+ export interface BetIngestResult {
253
+ status: 'processed' | 'accepted';
254
+ mode: IntegrationMode;
255
+ validationResult?: ValidationResult;
256
+ message?: string;
257
+ }
258
+ /** Batch bet ingestion result */
259
+ export interface BatchBetResult {
260
+ total: number;
261
+ processed: number;
262
+ failed: number;
263
+ results: Array<{
264
+ externalBetId: string;
265
+ status: 'processed' | 'failed';
266
+ validationResult?: ValidationResult;
267
+ error?: string;
268
+ }>;
269
+ }
270
+ /** Reconciliation data for cross-referencing with sportsbook records */
271
+ export interface ReconciliationData {
272
+ betEvents: Array<Record<string, unknown>>;
273
+ challenge: Record<string, unknown> | null;
274
+ fundedAccount: Record<string, unknown> | null;
275
+ }
276
+ /** Short-lived token for SSE connections */
277
+ export interface SseToken {
278
+ token: string;
279
+ expiresAt: string;
280
+ ttl: number;
281
+ userId: string;
282
+ }
283
+ /** Challenge tier terms and disclosures (regulatory compliance) */
284
+ export interface TierTerms {
285
+ tierId: string;
286
+ tierName: string;
287
+ rules: string[];
288
+ disclosures: string[];
289
+ terms: string;
290
+ }
291
+ /** Webhook event payload delivered to your endpoint */
292
+ export interface WebhookPayload<T = Record<string, unknown>> {
293
+ eventId: string;
294
+ eventType: WebhookEventType;
295
+ userId: string;
296
+ timestamp: string;
297
+ data: T;
298
+ }
299
+ /** A user achievement (earned or locked) */
300
+ export interface Achievement {
301
+ id: string;
302
+ code: string;
303
+ name: string;
304
+ description: string;
305
+ icon: string;
306
+ category: string;
307
+ points: number;
308
+ rarity: 'common' | 'rare' | 'epic' | 'legendary';
309
+ earned: boolean;
310
+ earnedAt: string | null;
311
+ progress: number | null;
312
+ target: number | null;
313
+ }
314
+ /** User achievements response */
315
+ export interface UserAchievements {
316
+ achievements: Achievement[];
317
+ totalPoints: number;
318
+ level: number;
319
+ streak: {
320
+ current: number;
321
+ longest: number;
322
+ lastActiveDate: string | null;
323
+ };
324
+ }
325
+ /** Reward type */
326
+ export type RewardType = 'balance_bonus' | 'balance_boost_percent' | 'purchase_discount_percent' | 'purchase_discount_fixed' | 'profit_split_boost' | 'extended_duration' | 'payout_cap_boost_percent' | 'free_bet' | 'bonus_credit' | 'cashback_credit' | 'loyalty_points' | 'custom';
327
+ /** Reward apply mode */
328
+ export type RewardApplyMode = 'auto' | 'claim';
329
+ /** A user reward */
330
+ export interface Reward {
331
+ id: string;
332
+ rewardType: RewardType;
333
+ rewardValue: number;
334
+ applyMode: RewardApplyMode;
335
+ expiresAt: string | null;
336
+ achievementCode: string | null;
337
+ achievementName: string | null;
338
+ createdAt: string;
339
+ }
340
+ /** User rewards response */
341
+ export interface UserRewards {
342
+ /** Active/applied rewards */
343
+ rewards: Reward[];
344
+ /** Rewards waiting for user to claim */
345
+ claimable: Reward[];
346
+ }
347
+ /** Reward claim result */
348
+ export interface RewardClaimResult {
349
+ claimed: boolean;
350
+ reward: Reward;
351
+ }
352
+ /** Leaderboard entry */
353
+ export interface LeaderboardEntry {
354
+ displayName: string;
355
+ currentBalance: number;
356
+ targetBalance: number;
357
+ status: ChallengeStatus;
358
+ totalBetsAccepted: number;
359
+ activeDays: number;
360
+ }
361
+ /** Leaderboard period filter */
362
+ export type LeaderboardPeriod = 'week' | 'month' | 'all';
363
+ /** Timeline event */
364
+ export interface TimelineEvent {
365
+ timestamp: string;
366
+ type: string;
367
+ data: Record<string, unknown>;
368
+ }
369
+ /** Withdrawal event notification result */
370
+ export interface WithdrawalEventResult {
371
+ processed: boolean;
372
+ bonusesForfeited: number;
373
+ }
374
+ /** Sandbox reset result */
375
+ export interface SandboxResetResult {
376
+ status: string;
377
+ message: string;
378
+ }
379
+ /** Sandbox user reset result */
380
+ export interface SandboxUserResetResult {
381
+ status: string;
382
+ userId: string;
383
+ deleted: Record<string, number>;
384
+ }
385
+ /** Bet event as returned by admin endpoints */
386
+ export interface AdminBetEvent {
387
+ id: string;
388
+ userId: string;
389
+ externalBetId: string;
390
+ stakeAmount: number;
391
+ odds: number;
392
+ status: BetStatus;
393
+ validationResult: ValidationStatus | null;
394
+ reasonCodes: RejectionCode[];
395
+ settlementAmount: number | null;
396
+ eventTimestamp: string;
397
+ createdAt: string;
398
+ }
399
+ /** Settle a bet event */
400
+ export interface BetSettleRequest {
401
+ outcome: 'won' | 'lost';
402
+ }
403
+ /** Bulk settle request */
404
+ export interface BulkSettleRequest {
405
+ settlements: Array<{
406
+ betEventId: string;
407
+ outcome: 'won' | 'lost';
408
+ }>;
409
+ }
410
+ /** Bulk settle result */
411
+ export interface BulkSettleResult {
412
+ results: Array<{
413
+ betEventId: string;
414
+ success: boolean;
415
+ }>;
416
+ settled: number;
417
+ errors: number;
418
+ }
419
+ /** Webhook delivery record */
420
+ export interface WebhookDelivery {
421
+ id: string;
422
+ eventId: string;
423
+ eventType: WebhookEventType;
424
+ userId: string;
425
+ status: WebhookDeliveryStatus;
426
+ responseStatus: number | null;
427
+ attempts: number;
428
+ lastAttemptAt: string | null;
429
+ createdAt: string;
430
+ }
431
+ /** Audit log entry */
432
+ export interface AuditEntry {
433
+ id: string;
434
+ action: string;
435
+ actor: string;
436
+ tenantId: string;
437
+ targetId: string | null;
438
+ targetType: string | null;
439
+ metadata: Record<string, unknown>;
440
+ createdAt: string;
441
+ }
442
+ /** Tenant settings */
443
+ export interface TenantSettings {
444
+ integrationMode: IntegrationMode;
445
+ webhookUrl: string | null;
446
+ /** Single URL FAST calls before any money/irreversible action (type in payload). */
447
+ approvalUrl: string | null;
448
+ operatorChallengeLimit: number | null;
449
+ }
450
+ /** Admin overview stats */
451
+ export interface AdminOverview {
452
+ challenges: Record<string, number>;
453
+ fundedAccounts: Record<string, number>;
454
+ totalBets: number;
455
+ uniqueUsers: number;
456
+ }
457
+ /** Bonus offer (admin) */
458
+ export interface BonusOffer {
459
+ id: string;
460
+ name: string;
461
+ bonusType: string;
462
+ matchPercent: number | null;
463
+ maxBonusAmount: number;
464
+ wageringMultiplier: number;
465
+ durationDays: number;
466
+ minOdds: number | null;
467
+ maxPerUser: number | null;
468
+ forfeitOnWithdrawal: boolean;
469
+ enabled: boolean;
470
+ createdAt: string;
471
+ }
472
+ /** Bonus stats */
473
+ export interface BonusStats {
474
+ totalActive: number;
475
+ totalCompleted: number;
476
+ totalForfeited: number;
477
+ totalBonusAmount: number;
478
+ }
479
+ /** Mission definition (admin) */
480
+ export interface MissionDef {
481
+ id: string;
482
+ name: string;
483
+ description: string | null;
484
+ criteriaType: string;
485
+ criteriaThreshold: number;
486
+ rewardType: string | null;
487
+ rewardValue: number;
488
+ enrollmentMode: 'auto' | 'opt_in';
489
+ durationHours: number | null;
490
+ maxParticipants: number | null;
491
+ enabled: boolean;
492
+ createdAt: string;
493
+ }
494
+ /** Tournament definition (admin) */
495
+ export interface TournamentDef {
496
+ id: string;
497
+ name: string;
498
+ description: string | null;
499
+ status: 'draft' | 'scheduled' | 'active' | 'settling' | 'settled';
500
+ entryMode: 'free' | 'paid';
501
+ entryFee: number;
502
+ prizePool: number;
503
+ maxEntrants: number | null;
504
+ scoringMetric: string;
505
+ startsAt: string;
506
+ endsAt: string;
507
+ createdAt: string;
508
+ }
509
+ /** Tournament leaderboard entry */
510
+ export interface TournamentLeaderboardEntry {
511
+ rank: number;
512
+ userId: string;
513
+ displayName: string;
514
+ score: number;
515
+ prize: number | null;
516
+ }
517
+ /** Loyalty config */
518
+ export interface LoyaltyConfig {
519
+ enabled: boolean;
520
+ pointsPerEurWagered: number;
521
+ cashbackPercent: number;
522
+ decayDays: number | null;
523
+ decayPercent: number | null;
524
+ }
525
+ /** Loyalty tier */
526
+ export interface LoyaltyTier {
527
+ id: string;
528
+ name: string;
529
+ minPoints: number;
530
+ multiplier: number;
531
+ perks: string[];
532
+ }
533
+ /** Loyalty stats */
534
+ export interface LoyaltyStats {
535
+ totalMembers: number;
536
+ totalPointsIssued: number;
537
+ totalCashbackPaid: number;
538
+ tierDistribution: Record<string, number>;
539
+ }
540
+ /** Webhook echo entry */
541
+ export interface WebhookEchoEntry {
542
+ receivedAt: string;
543
+ eventId: string;
544
+ eventType: string;
545
+ userId: string;
546
+ signatureValid: boolean;
547
+ payload: Record<string, unknown>;
548
+ }
549
+ /** Adapter mapping for payload field translation */
550
+ export interface AdapterMapping {
551
+ id: string;
552
+ tenantId: string;
553
+ mappingConfig: Record<string, string>;
554
+ createdAt: string;
555
+ updatedAt: string;
556
+ }
557
+ /** Reconciliation flag for manual review */
558
+ export interface ReconciliationFlag {
559
+ id: string;
560
+ userId: string;
561
+ betEventId: string;
562
+ description: string;
563
+ annotation: string | null;
564
+ status: 'open' | 'resolved';
565
+ flaggedBy: string;
566
+ createdAt: string;
567
+ }
568
+ /** Reward rule definition (auto-grants rewards on criteria match) */
569
+ export interface RewardRule {
570
+ id: string;
571
+ name: string;
572
+ triggerType: string;
573
+ triggerThreshold: number;
574
+ rewardType: RewardType;
575
+ rewardValue: number;
576
+ applyMode: RewardApplyMode;
577
+ maxGrantsPerUser: number | null;
578
+ expiresInDays: number | null;
579
+ enabled: boolean;
580
+ sortOrder: number;
581
+ createdAt: string;
582
+ }
583
+ /** Self-exclusion record */
584
+ export interface SelfExclusionRecord {
585
+ userId: string;
586
+ reason: string;
587
+ excludedAt: string;
588
+ expiresAt: string | null;
589
+ liftedAt: string | null;
590
+ }
591
+ /** Standard API error response */
592
+ export interface FastError {
593
+ error: string;
594
+ message: string;
595
+ correlationId: string;
596
+ }
597
+ /** Retry configuration */
598
+ export interface RetryConfig {
599
+ /** Maximum number of retry attempts (default: 3) */
600
+ maxRetries: number;
601
+ /** Initial delay in ms before first retry (default: 300) */
602
+ initialDelay: number;
603
+ /** Maximum delay in ms between retries (default: 10000) */
604
+ maxDelay: number;
605
+ /** Which HTTP status codes to retry (default: [429, 500, 502, 503, 504]) */
606
+ retryableStatuses: number[];
607
+ }
608
+ /** Hook called before each request */
609
+ export type RequestHook = (request: {
610
+ method: string;
611
+ url: string;
612
+ headers: Record<string, string>;
613
+ body?: string;
614
+ }) => void | Promise<void>;
615
+ /** Hook called after each response */
616
+ export type ResponseHook = (response: {
617
+ status: number;
618
+ headers: Record<string, string>;
619
+ body: unknown;
620
+ durationMs: number;
621
+ correlationId?: string;
622
+ }) => void | Promise<void>;
623
+ /** SDK client configuration */
624
+ export interface FastClientConfig {
625
+ /** Your API key (X-API-Key header). Required. */
626
+ apiKey: string;
627
+ /** API base URL (default: https://api.fundedfast.eu/v1) */
628
+ baseUrl?: string;
629
+ /** Request timeout in ms (default: 10000) */
630
+ timeout?: number;
631
+ /** Retry configuration (set to false to disable retries) */
632
+ retry?: Partial<RetryConfig> | false;
633
+ /** Called before each request. Use for logging, metrics, tracing. */
634
+ onRequest?: RequestHook;
635
+ /** Called after each response. Use for logging, metrics, alerting. */
636
+ onResponse?: ResponseHook;
637
+ /** Custom fetch implementation (default: global fetch). Use for testing/mocking. */
638
+ fetch?: typeof globalThis.fetch;
639
+ /** Custom headers added to every request */
640
+ headers?: Record<string, string>;
641
+ /** Enable debug logging to console (default: false) */
642
+ debug?: boolean;
643
+ /**
644
+ * Allow constructing the client in a browser. Off by default: the server key
645
+ * (`key-...`) authorises the whole tenant and must never reach a player's
646
+ * browser. Players' browsers talk to FAST through the widget, with the public
647
+ * `pk_` key and a user token your backend mints.
648
+ */
649
+ dangerouslyAllowBrowser?: boolean;
650
+ }
651
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fundedfast/sdk - Type Definitions
3
+ *
4
+ * All types map directly to the FAST API response shapes.
5
+ * Dates are ISO 8601 strings. Money values are in the tier's configured currency.
6
+ *
7
+ * @module types
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}