@edge-markets/connect 1.4.0 → 1.5.1

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.
package/dist/index.d.mts CHANGED
@@ -54,8 +54,8 @@ declare const EDGE_SCOPES: {
54
54
  */
55
55
  readonly BALANCE_READ: "balance.read";
56
56
  /**
57
- * Initiate and verify fund transfers.
58
- * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
57
+ * Initiate fund transfers and create EDGE-hosted verification sessions.
58
+ * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verification-session`, `GET /v1/transfers`
59
59
  */
60
60
  readonly TRANSFER_WRITE: "transfer.write";
61
61
  };
@@ -696,7 +696,7 @@ interface paths {
696
696
  * Use the `idempotencyKey` to safely retry requests. If a transfer with the same key exists, its current status will be returned.
697
697
  *
698
698
  * **OTP Verification:**
699
- * After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verify` with the OTP to complete.
699
+ * After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verification-session` to create an EDGE-hosted verification session and embed the returned `verificationUrl` in your frontend.
700
700
  */
701
701
  post: operations['initiateTransfer'];
702
702
  delete?: never;
@@ -745,32 +745,6 @@ interface paths {
745
745
  patch?: never;
746
746
  trace?: never;
747
747
  };
748
- '/v1/transfer/{transferId}/verify': {
749
- parameters: {
750
- query?: never;
751
- header?: never;
752
- path?: never;
753
- cookie?: never;
754
- };
755
- get?: never;
756
- put?: never;
757
- /**
758
- * Verify transfer with OTP
759
- * @description Completes a pending transfer by verifying the one-time password.
760
- *
761
- * **OTP Methods:**
762
- * - `sms`: User receives OTP via SMS
763
- * - `totp`: User generates OTP from authenticator app
764
- *
765
- * The OTP method is indicated in the `otpMethod` field of the transfer response.
766
- */
767
- post: operations['verifyTransfer'];
768
- delete?: never;
769
- options?: never;
770
- head?: never;
771
- patch?: never;
772
- trace?: never;
773
- };
774
748
  '/v1/consent': {
775
749
  parameters: {
776
750
  query?: never;
@@ -1024,6 +998,20 @@ interface components {
1024
998
  * @example Doe
1025
999
  */
1026
1000
  lastName: string;
1001
+ /** @description Street address */
1002
+ address?: string;
1003
+ /** @description City */
1004
+ city?: string;
1005
+ /** @description US state code */
1006
+ state?: string;
1007
+ /** @description Postal code */
1008
+ zip?: string;
1009
+ /** @description Phone number */
1010
+ phone?: string;
1011
+ /** @description Date of birth */
1012
+ dateOfBirth?: string;
1013
+ /** @description Whether the user has completed KYC verification */
1014
+ verified: boolean;
1027
1015
  /**
1028
1016
  * Format: date-time
1029
1017
  * @description Account creation timestamp
@@ -1038,7 +1026,12 @@ interface components {
1038
1026
  */
1039
1027
  userId: string;
1040
1028
  /**
1041
- * @description Available balance in USD
1029
+ * @description Current total balance in USD (includes pending holds)
1030
+ * @example 1250.5
1031
+ */
1032
+ currentBalance: number;
1033
+ /**
1034
+ * @description Available balance in USD (funds available for transfer)
1042
1035
  * @example 1250.5
1043
1036
  */
1044
1037
  availableBalance: number;
@@ -1135,13 +1128,6 @@ interface components {
1135
1128
  */
1136
1129
  total: number;
1137
1130
  };
1138
- VerifyTransferRequestDto: {
1139
- /**
1140
- * @description One-time password for verification
1141
- * @example 123456
1142
- */
1143
- otp: string;
1144
- };
1145
1131
  RevokeConsentResponseDto: {
1146
1132
  /**
1147
1133
  * @description Whether consent was successfully revoked
@@ -2016,69 +2002,6 @@ interface operations {
2016
2002
  };
2017
2003
  };
2018
2004
  };
2019
- verifyTransfer: {
2020
- parameters: {
2021
- query?: never;
2022
- header?: never;
2023
- path: {
2024
- /** @description The unique transfer identifier */
2025
- transferId: string;
2026
- };
2027
- cookie?: never;
2028
- };
2029
- requestBody: {
2030
- content: {
2031
- 'application/json': components['schemas']['VerifyTransferRequestDto'];
2032
- };
2033
- };
2034
- responses: {
2035
- /** @description Transfer verified and completed (or failed) */
2036
- 200: {
2037
- headers: {
2038
- [name: string]: unknown;
2039
- };
2040
- content: {
2041
- 'application/json': components['schemas']['TransferResponseDto'];
2042
- };
2043
- };
2044
- /** @description Invalid OTP or transfer expired */
2045
- 400: {
2046
- headers: {
2047
- [name: string]: unknown;
2048
- };
2049
- content: {
2050
- 'application/json': components['schemas']['ErrorResponseDto'];
2051
- };
2052
- };
2053
- /** @description Invalid or expired access token */
2054
- 401: {
2055
- headers: {
2056
- [name: string]: unknown;
2057
- };
2058
- content: {
2059
- 'application/json': components['schemas']['ErrorResponseDto'];
2060
- };
2061
- };
2062
- /** @description User consent required or insufficient scope */
2063
- 403: {
2064
- headers: {
2065
- [name: string]: unknown;
2066
- };
2067
- content: {
2068
- 'application/json': components['schemas']['ConsentRequiredErrorDto'];
2069
- };
2070
- };
2071
- /** @description Transfer not found */
2072
- 404: {
2073
- headers: {
2074
- [name: string]: unknown;
2075
- };
2076
- content: {
2077
- 'application/json': components['schemas']['ErrorResponseDto'];
2078
- };
2079
- };
2080
- };
2081
- };
2082
2005
  revokeConsent: {
2083
2006
  parameters: {
2084
2007
  query?: never;
@@ -2355,9 +2278,21 @@ interface operations {
2355
2278
  * ```typescript
2356
2279
  * const user: User = await edge.getUser(accessToken)
2357
2280
  * console.log(`Welcome, ${user.firstName}!`)
2281
+ * console.log(`Verified: ${user.verified}`)
2282
+ * console.log(`State: ${user.address?.state}`)
2358
2283
  * ```
2359
2284
  */
2360
- type User = components['schemas']['ConnectUserResponseDto'];
2285
+ interface User {
2286
+ id: string;
2287
+ email: string;
2288
+ firstName: string;
2289
+ lastName: string;
2290
+ phone?: string | null;
2291
+ dateOfBirth?: string | null;
2292
+ verified?: boolean;
2293
+ address?: UserAddress | null;
2294
+ createdAt: string;
2295
+ }
2361
2296
  /**
2362
2297
  * User's EdgeBoost account balance.
2363
2298
  *
@@ -2401,10 +2336,6 @@ type TransferListItem = components['schemas']['TransferListItemDto'];
2401
2336
  * Paginated list of transfers.
2402
2337
  */
2403
2338
  type TransferList = components['schemas']['ListTransfersResponseDto'];
2404
- /**
2405
- * Request payload for verifying a transfer with OTP.
2406
- */
2407
- type VerifyTransferRequest = components['schemas']['VerifyTransferRequestDto'];
2408
2339
  /**
2409
2340
  * Response from revoking user consent.
2410
2341
  */
@@ -2432,7 +2363,16 @@ type TransferType = 'debit' | 'credit';
2432
2363
  * - `failed`: Transfer failed (insufficient funds, invalid OTP, etc.)
2433
2364
  * - `expired`: OTP verification window expired
2434
2365
  */
2435
- type TransferStatus = 'pending_verification' | 'completed' | 'failed' | 'expired';
2366
+ type TransferStatus = 'pending_verification' | 'processing' | 'completed' | 'failed' | 'expired';
2367
+ /**
2368
+ * Transaction category for settlement window determination.
2369
+ *
2370
+ * - `sportsbook` / `dfs`: T+1 settlement
2371
+ * - `casino` / `sweepstakes`: T+0 settlement
2372
+ *
2373
+ * When omitted, the partner's default settlement window is used.
2374
+ */
2375
+ type TransferCategory = 'sportsbook' | 'casino' | 'dfs' | 'sweepstakes';
2436
2376
  /**
2437
2377
  * OTP delivery method for transfer verification.
2438
2378
  *
@@ -2506,6 +2446,47 @@ interface VerifyIdentityResult {
2506
2446
  verified: true;
2507
2447
  scores: VerifyIdentityScores;
2508
2448
  }
2449
+ /**
2450
+ * Geolocation data collected by the SDK from the browser or device.
2451
+ *
2452
+ * Passed to the server during transfer verification for cross-referencing
2453
+ * against IP-based geolocation. Collection is always optional — the SDK
2454
+ * returns `null` if the user denies permission or the API is unavailable.
2455
+ *
2456
+ * @example
2457
+ * ```typescript
2458
+ * import { collectGeolocation } from '@edge-markets/connect-link'
2459
+ *
2460
+ * const geo = await collectGeolocation()
2461
+ * // geo: { latitude: 30.267, longitude: -97.743, accuracy: 25, timestamp: '2026-...' }
2462
+ * ```
2463
+ */
2464
+ interface SdkGeolocation {
2465
+ /** Latitude in decimal degrees */
2466
+ latitude: number;
2467
+ /** Longitude in decimal degrees */
2468
+ longitude: number;
2469
+ /** Accuracy of the position in meters */
2470
+ accuracy?: number;
2471
+ /** ISO 8601 timestamp of when the position was captured */
2472
+ timestamp: string;
2473
+ }
2474
+ /**
2475
+ * User's address on file with EdgeBoost.
2476
+ * All fields are nullable — only populated fields are returned.
2477
+ */
2478
+ interface UserAddress {
2479
+ /** Street address line 1 */
2480
+ address1?: string | null;
2481
+ /** Street address line 2 (apartment, suite, etc.) */
2482
+ address2?: string | null;
2483
+ /** City */
2484
+ city?: string | null;
2485
+ /** US state code (e.g. "TX") */
2486
+ state?: string | null;
2487
+ /** ZIP / postal code */
2488
+ zip?: string | null;
2489
+ }
2509
2490
  /**
2510
2491
  * Request payload for creating a hosted verification session.
2511
2492
  */
@@ -2545,11 +2526,15 @@ declare const TRANSFER_TYPES: readonly ["debit", "credit"];
2545
2526
  * All possible transfer statuses.
2546
2527
  * Use for filtering or status display.
2547
2528
  */
2548
- declare const TRANSFER_STATUSES: readonly ["pending_verification", "completed", "failed", "expired"];
2529
+ declare const TRANSFER_STATUSES: readonly ["pending_verification", "processing", "completed", "failed", "expired"];
2549
2530
  /**
2550
2531
  * All possible OTP methods.
2551
2532
  */
2552
2533
  declare const OTP_METHODS: readonly ["sms", "totp", "email"];
2534
+ /**
2535
+ * All possible transfer categories.
2536
+ */
2537
+ declare const TRANSFER_CATEGORIES: readonly ["sportsbook", "casino", "dfs", "sweepstakes"];
2553
2538
 
2554
2539
  /**
2555
2540
  * EDGE Connect SDK Types
@@ -3054,4 +3039,4 @@ declare const SDK_VERSION = "1.0.0";
3054
3039
  */
3055
3040
  declare const SDK_NAME = "@edge-markets/connect";
3056
3041
 
3057
- export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, type CreateVerificationSessionRequest, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeIdentityVerificationError, EdgeInsufficientScopeError, type EdgeLinkConfigBase, type EdgeLinkEvent, type EdgeLinkEventName, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type PKCEPair, type RevokeConsentResponse, SCOPE_DESCRIPTIONS, SCOPE_ICONS, SDK_NAME, SDK_VERSION, TRANSFER_STATUSES, TRANSFER_TYPES, type Transfer, type TransferList, type TransferListItem, type TransferStatus, type TransferType, type User, type VerificationSession, type VerificationSessionStatus, type VerificationSessionStatusResponse, type VerifyIdentityAddress, type VerifyIdentityOptions, type VerifyIdentityResult, type VerifyIdentityScores, type VerifyTransferRequest, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isIdentityVerificationError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
3042
+ export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, type CreateVerificationSessionRequest, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeIdentityVerificationError, EdgeInsufficientScopeError, type EdgeLinkConfigBase, type EdgeLinkEvent, type EdgeLinkEventName, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type PKCEPair, type RevokeConsentResponse, SCOPE_DESCRIPTIONS, SCOPE_ICONS, SDK_NAME, SDK_VERSION, type SdkGeolocation, TRANSFER_CATEGORIES, TRANSFER_STATUSES, TRANSFER_TYPES, type Transfer, type TransferCategory, type TransferList, type TransferListItem, type TransferStatus, type TransferType, type User, type UserAddress, type VerificationSession, type VerificationSessionStatus, type VerificationSessionStatusResponse, type VerifyIdentityAddress, type VerifyIdentityOptions, type VerifyIdentityResult, type VerifyIdentityScores, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isIdentityVerificationError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
package/dist/index.d.ts CHANGED
@@ -54,8 +54,8 @@ declare const EDGE_SCOPES: {
54
54
  */
55
55
  readonly BALANCE_READ: "balance.read";
56
56
  /**
57
- * Initiate and verify fund transfers.
58
- * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
57
+ * Initiate fund transfers and create EDGE-hosted verification sessions.
58
+ * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verification-session`, `GET /v1/transfers`
59
59
  */
60
60
  readonly TRANSFER_WRITE: "transfer.write";
61
61
  };
@@ -696,7 +696,7 @@ interface paths {
696
696
  * Use the `idempotencyKey` to safely retry requests. If a transfer with the same key exists, its current status will be returned.
697
697
  *
698
698
  * **OTP Verification:**
699
- * After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verify` with the OTP to complete.
699
+ * After initiating, the transfer will be in `pending_verification` status. Call `POST /transfer/{transferId}/verification-session` to create an EDGE-hosted verification session and embed the returned `verificationUrl` in your frontend.
700
700
  */
701
701
  post: operations['initiateTransfer'];
702
702
  delete?: never;
@@ -745,32 +745,6 @@ interface paths {
745
745
  patch?: never;
746
746
  trace?: never;
747
747
  };
748
- '/v1/transfer/{transferId}/verify': {
749
- parameters: {
750
- query?: never;
751
- header?: never;
752
- path?: never;
753
- cookie?: never;
754
- };
755
- get?: never;
756
- put?: never;
757
- /**
758
- * Verify transfer with OTP
759
- * @description Completes a pending transfer by verifying the one-time password.
760
- *
761
- * **OTP Methods:**
762
- * - `sms`: User receives OTP via SMS
763
- * - `totp`: User generates OTP from authenticator app
764
- *
765
- * The OTP method is indicated in the `otpMethod` field of the transfer response.
766
- */
767
- post: operations['verifyTransfer'];
768
- delete?: never;
769
- options?: never;
770
- head?: never;
771
- patch?: never;
772
- trace?: never;
773
- };
774
748
  '/v1/consent': {
775
749
  parameters: {
776
750
  query?: never;
@@ -1024,6 +998,20 @@ interface components {
1024
998
  * @example Doe
1025
999
  */
1026
1000
  lastName: string;
1001
+ /** @description Street address */
1002
+ address?: string;
1003
+ /** @description City */
1004
+ city?: string;
1005
+ /** @description US state code */
1006
+ state?: string;
1007
+ /** @description Postal code */
1008
+ zip?: string;
1009
+ /** @description Phone number */
1010
+ phone?: string;
1011
+ /** @description Date of birth */
1012
+ dateOfBirth?: string;
1013
+ /** @description Whether the user has completed KYC verification */
1014
+ verified: boolean;
1027
1015
  /**
1028
1016
  * Format: date-time
1029
1017
  * @description Account creation timestamp
@@ -1038,7 +1026,12 @@ interface components {
1038
1026
  */
1039
1027
  userId: string;
1040
1028
  /**
1041
- * @description Available balance in USD
1029
+ * @description Current total balance in USD (includes pending holds)
1030
+ * @example 1250.5
1031
+ */
1032
+ currentBalance: number;
1033
+ /**
1034
+ * @description Available balance in USD (funds available for transfer)
1042
1035
  * @example 1250.5
1043
1036
  */
1044
1037
  availableBalance: number;
@@ -1135,13 +1128,6 @@ interface components {
1135
1128
  */
1136
1129
  total: number;
1137
1130
  };
1138
- VerifyTransferRequestDto: {
1139
- /**
1140
- * @description One-time password for verification
1141
- * @example 123456
1142
- */
1143
- otp: string;
1144
- };
1145
1131
  RevokeConsentResponseDto: {
1146
1132
  /**
1147
1133
  * @description Whether consent was successfully revoked
@@ -2016,69 +2002,6 @@ interface operations {
2016
2002
  };
2017
2003
  };
2018
2004
  };
2019
- verifyTransfer: {
2020
- parameters: {
2021
- query?: never;
2022
- header?: never;
2023
- path: {
2024
- /** @description The unique transfer identifier */
2025
- transferId: string;
2026
- };
2027
- cookie?: never;
2028
- };
2029
- requestBody: {
2030
- content: {
2031
- 'application/json': components['schemas']['VerifyTransferRequestDto'];
2032
- };
2033
- };
2034
- responses: {
2035
- /** @description Transfer verified and completed (or failed) */
2036
- 200: {
2037
- headers: {
2038
- [name: string]: unknown;
2039
- };
2040
- content: {
2041
- 'application/json': components['schemas']['TransferResponseDto'];
2042
- };
2043
- };
2044
- /** @description Invalid OTP or transfer expired */
2045
- 400: {
2046
- headers: {
2047
- [name: string]: unknown;
2048
- };
2049
- content: {
2050
- 'application/json': components['schemas']['ErrorResponseDto'];
2051
- };
2052
- };
2053
- /** @description Invalid or expired access token */
2054
- 401: {
2055
- headers: {
2056
- [name: string]: unknown;
2057
- };
2058
- content: {
2059
- 'application/json': components['schemas']['ErrorResponseDto'];
2060
- };
2061
- };
2062
- /** @description User consent required or insufficient scope */
2063
- 403: {
2064
- headers: {
2065
- [name: string]: unknown;
2066
- };
2067
- content: {
2068
- 'application/json': components['schemas']['ConsentRequiredErrorDto'];
2069
- };
2070
- };
2071
- /** @description Transfer not found */
2072
- 404: {
2073
- headers: {
2074
- [name: string]: unknown;
2075
- };
2076
- content: {
2077
- 'application/json': components['schemas']['ErrorResponseDto'];
2078
- };
2079
- };
2080
- };
2081
- };
2082
2005
  revokeConsent: {
2083
2006
  parameters: {
2084
2007
  query?: never;
@@ -2355,9 +2278,21 @@ interface operations {
2355
2278
  * ```typescript
2356
2279
  * const user: User = await edge.getUser(accessToken)
2357
2280
  * console.log(`Welcome, ${user.firstName}!`)
2281
+ * console.log(`Verified: ${user.verified}`)
2282
+ * console.log(`State: ${user.address?.state}`)
2358
2283
  * ```
2359
2284
  */
2360
- type User = components['schemas']['ConnectUserResponseDto'];
2285
+ interface User {
2286
+ id: string;
2287
+ email: string;
2288
+ firstName: string;
2289
+ lastName: string;
2290
+ phone?: string | null;
2291
+ dateOfBirth?: string | null;
2292
+ verified?: boolean;
2293
+ address?: UserAddress | null;
2294
+ createdAt: string;
2295
+ }
2361
2296
  /**
2362
2297
  * User's EdgeBoost account balance.
2363
2298
  *
@@ -2401,10 +2336,6 @@ type TransferListItem = components['schemas']['TransferListItemDto'];
2401
2336
  * Paginated list of transfers.
2402
2337
  */
2403
2338
  type TransferList = components['schemas']['ListTransfersResponseDto'];
2404
- /**
2405
- * Request payload for verifying a transfer with OTP.
2406
- */
2407
- type VerifyTransferRequest = components['schemas']['VerifyTransferRequestDto'];
2408
2339
  /**
2409
2340
  * Response from revoking user consent.
2410
2341
  */
@@ -2432,7 +2363,16 @@ type TransferType = 'debit' | 'credit';
2432
2363
  * - `failed`: Transfer failed (insufficient funds, invalid OTP, etc.)
2433
2364
  * - `expired`: OTP verification window expired
2434
2365
  */
2435
- type TransferStatus = 'pending_verification' | 'completed' | 'failed' | 'expired';
2366
+ type TransferStatus = 'pending_verification' | 'processing' | 'completed' | 'failed' | 'expired';
2367
+ /**
2368
+ * Transaction category for settlement window determination.
2369
+ *
2370
+ * - `sportsbook` / `dfs`: T+1 settlement
2371
+ * - `casino` / `sweepstakes`: T+0 settlement
2372
+ *
2373
+ * When omitted, the partner's default settlement window is used.
2374
+ */
2375
+ type TransferCategory = 'sportsbook' | 'casino' | 'dfs' | 'sweepstakes';
2436
2376
  /**
2437
2377
  * OTP delivery method for transfer verification.
2438
2378
  *
@@ -2506,6 +2446,47 @@ interface VerifyIdentityResult {
2506
2446
  verified: true;
2507
2447
  scores: VerifyIdentityScores;
2508
2448
  }
2449
+ /**
2450
+ * Geolocation data collected by the SDK from the browser or device.
2451
+ *
2452
+ * Passed to the server during transfer verification for cross-referencing
2453
+ * against IP-based geolocation. Collection is always optional — the SDK
2454
+ * returns `null` if the user denies permission or the API is unavailable.
2455
+ *
2456
+ * @example
2457
+ * ```typescript
2458
+ * import { collectGeolocation } from '@edge-markets/connect-link'
2459
+ *
2460
+ * const geo = await collectGeolocation()
2461
+ * // geo: { latitude: 30.267, longitude: -97.743, accuracy: 25, timestamp: '2026-...' }
2462
+ * ```
2463
+ */
2464
+ interface SdkGeolocation {
2465
+ /** Latitude in decimal degrees */
2466
+ latitude: number;
2467
+ /** Longitude in decimal degrees */
2468
+ longitude: number;
2469
+ /** Accuracy of the position in meters */
2470
+ accuracy?: number;
2471
+ /** ISO 8601 timestamp of when the position was captured */
2472
+ timestamp: string;
2473
+ }
2474
+ /**
2475
+ * User's address on file with EdgeBoost.
2476
+ * All fields are nullable — only populated fields are returned.
2477
+ */
2478
+ interface UserAddress {
2479
+ /** Street address line 1 */
2480
+ address1?: string | null;
2481
+ /** Street address line 2 (apartment, suite, etc.) */
2482
+ address2?: string | null;
2483
+ /** City */
2484
+ city?: string | null;
2485
+ /** US state code (e.g. "TX") */
2486
+ state?: string | null;
2487
+ /** ZIP / postal code */
2488
+ zip?: string | null;
2489
+ }
2509
2490
  /**
2510
2491
  * Request payload for creating a hosted verification session.
2511
2492
  */
@@ -2545,11 +2526,15 @@ declare const TRANSFER_TYPES: readonly ["debit", "credit"];
2545
2526
  * All possible transfer statuses.
2546
2527
  * Use for filtering or status display.
2547
2528
  */
2548
- declare const TRANSFER_STATUSES: readonly ["pending_verification", "completed", "failed", "expired"];
2529
+ declare const TRANSFER_STATUSES: readonly ["pending_verification", "processing", "completed", "failed", "expired"];
2549
2530
  /**
2550
2531
  * All possible OTP methods.
2551
2532
  */
2552
2533
  declare const OTP_METHODS: readonly ["sms", "totp", "email"];
2534
+ /**
2535
+ * All possible transfer categories.
2536
+ */
2537
+ declare const TRANSFER_CATEGORIES: readonly ["sportsbook", "casino", "dfs", "sweepstakes"];
2553
2538
 
2554
2539
  /**
2555
2540
  * EDGE Connect SDK Types
@@ -3054,4 +3039,4 @@ declare const SDK_VERSION = "1.0.0";
3054
3039
  */
3055
3040
  declare const SDK_NAME = "@edge-markets/connect";
3056
3041
 
3057
- export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, type CreateVerificationSessionRequest, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeIdentityVerificationError, EdgeInsufficientScopeError, type EdgeLinkConfigBase, type EdgeLinkEvent, type EdgeLinkEventName, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type PKCEPair, type RevokeConsentResponse, SCOPE_DESCRIPTIONS, SCOPE_ICONS, SDK_NAME, SDK_VERSION, TRANSFER_STATUSES, TRANSFER_TYPES, type Transfer, type TransferList, type TransferListItem, type TransferStatus, type TransferType, type User, type VerificationSession, type VerificationSessionStatus, type VerificationSessionStatusResponse, type VerifyIdentityAddress, type VerifyIdentityOptions, type VerifyIdentityResult, type VerifyIdentityScores, type VerifyTransferRequest, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isIdentityVerificationError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
3042
+ export { ALL_EDGE_SCOPES, type ApiError, type Balance, type ConsentRequiredError, type CreateVerificationSessionRequest, EDGE_ENVIRONMENTS, EDGE_SCOPES, EdgeApiError, EdgeAuthenticationError, EdgeConsentRequiredError, type EdgeEnvironment, type EdgeEnvironmentConfig, EdgeError, EdgeIdentityVerificationError, EdgeInsufficientScopeError, type EdgeLinkConfigBase, type EdgeLinkEvent, type EdgeLinkEventName, type EdgeLinkExit, type EdgeLinkSuccess, EdgeNetworkError, EdgeNotFoundError, EdgePopupBlockedError, EdgePopupClosedError, type EdgeScope, EdgeStateMismatchError, EdgeTokenExchangeError, type EdgeTokens, EdgeValidationError, type InitiateTransferRequest, type ListTransfersParams, OTP_METHODS, type OtpMethod, type PKCEPair, type RevokeConsentResponse, SCOPE_DESCRIPTIONS, SCOPE_ICONS, SDK_NAME, SDK_VERSION, type SdkGeolocation, TRANSFER_CATEGORIES, TRANSFER_STATUSES, TRANSFER_TYPES, type Transfer, type TransferCategory, type TransferList, type TransferListItem, type TransferStatus, type TransferType, type User, type UserAddress, type VerificationSession, type VerificationSessionStatus, type VerificationSessionStatusResponse, type VerifyIdentityAddress, type VerifyIdentityOptions, type VerifyIdentityResult, type VerifyIdentityScores, type components, formatScopeForEnvironment, formatScopesForEnvironment, getAvailableEnvironments, getEnvironmentConfig, isApiError, isAuthenticationError, isConsentRequiredError, isEdgeError, isIdentityVerificationError, isNetworkError, isProductionEnvironment, isValidScope, type operations, parseScope, type paths };
package/dist/index.js CHANGED
@@ -41,6 +41,7 @@ __export(index_exports, {
41
41
  SCOPE_ICONS: () => SCOPE_ICONS,
42
42
  SDK_NAME: () => SDK_NAME,
43
43
  SDK_VERSION: () => SDK_VERSION,
44
+ TRANSFER_CATEGORIES: () => TRANSFER_CATEGORIES,
44
45
  TRANSFER_STATUSES: () => TRANSFER_STATUSES,
45
46
  TRANSFER_TYPES: () => TRANSFER_TYPES,
46
47
  formatScopeForEnvironment: () => formatScopeForEnvironment,
@@ -63,11 +64,18 @@ module.exports = __toCommonJS(index_exports);
63
64
  var TRANSFER_TYPES = ["debit", "credit"];
64
65
  var TRANSFER_STATUSES = [
65
66
  "pending_verification",
67
+ "processing",
66
68
  "completed",
67
69
  "failed",
68
70
  "expired"
69
71
  ];
70
72
  var OTP_METHODS = ["sms", "totp", "email"];
73
+ var TRANSFER_CATEGORIES = [
74
+ "sportsbook",
75
+ "casino",
76
+ "dfs",
77
+ "sweepstakes"
78
+ ];
71
79
 
72
80
  // src/config/environments.ts
73
81
  var EDGE_ENVIRONMENTS = {
@@ -81,9 +89,17 @@ var EDGE_ENVIRONMENTS = {
81
89
  },
82
90
  staging: {
83
91
  cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
84
- apiBaseUrl: "https://staging-api.edgeboost.io/connect/v1",
85
- oauthBaseUrl: "https://staging-api.edgeboost.io/api/v3/oauth",
86
- userClientUrl: "https://connect-staging.edgeboost.io",
92
+ // Staging partner API — mTLS-enforced. Requires a partner client
93
+ // certificate on every request. Routed through API Gateway → VPC Link →
94
+ // internal ALB → ECS. Direct routes to the backend (e.g.
95
+ // backend.connect-staging.edgeboost.io) no longer exist.
96
+ apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
97
+ // OAuth token exchange — partner-facing, also mTLS-enforced.
98
+ oauthBaseUrl: "https://connect-staging.edgeboost.io/connect/oauth",
99
+ // User-facing captive frame for the Link SDK enrollment and transfer
100
+ // verification flows. Served from the edge-connect-oauth Vite app
101
+ // deployed on Amplify. No mTLS — browser traffic.
102
+ userClientUrl: "https://oauth.staging-app.edgeboost.bet",
87
103
  displayName: "Staging",
88
104
  isProduction: false
89
105
  },
@@ -137,8 +153,8 @@ var EDGE_SCOPES = {
137
153
  */
138
154
  BALANCE_READ: "balance.read",
139
155
  /**
140
- * Initiate and verify fund transfers.
141
- * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
156
+ * Initiate fund transfers and create EDGE-hosted verification sessions.
157
+ * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verification-session`, `GET /v1/transfers`
142
158
  */
143
159
  TRANSFER_WRITE: "transfer.write"
144
160
  };
@@ -335,6 +351,7 @@ var SDK_NAME = "@edge-markets/connect";
335
351
  SCOPE_ICONS,
336
352
  SDK_NAME,
337
353
  SDK_VERSION,
354
+ TRANSFER_CATEGORIES,
338
355
  TRANSFER_STATUSES,
339
356
  TRANSFER_TYPES,
340
357
  formatScopeForEnvironment,
package/dist/index.mjs CHANGED
@@ -2,11 +2,18 @@
2
2
  var TRANSFER_TYPES = ["debit", "credit"];
3
3
  var TRANSFER_STATUSES = [
4
4
  "pending_verification",
5
+ "processing",
5
6
  "completed",
6
7
  "failed",
7
8
  "expired"
8
9
  ];
9
10
  var OTP_METHODS = ["sms", "totp", "email"];
11
+ var TRANSFER_CATEGORIES = [
12
+ "sportsbook",
13
+ "casino",
14
+ "dfs",
15
+ "sweepstakes"
16
+ ];
10
17
 
11
18
  // src/config/environments.ts
12
19
  var EDGE_ENVIRONMENTS = {
@@ -20,9 +27,17 @@ var EDGE_ENVIRONMENTS = {
20
27
  },
21
28
  staging: {
22
29
  cognitoDomain: "https://edge-connect-staging.auth.us-east-1.amazoncognito.com",
23
- apiBaseUrl: "https://staging-api.edgeboost.io/connect/v1",
24
- oauthBaseUrl: "https://staging-api.edgeboost.io/api/v3/oauth",
25
- userClientUrl: "https://connect-staging.edgeboost.io",
30
+ // Staging partner API — mTLS-enforced. Requires a partner client
31
+ // certificate on every request. Routed through API Gateway → VPC Link →
32
+ // internal ALB → ECS. Direct routes to the backend (e.g.
33
+ // backend.connect-staging.edgeboost.io) no longer exist.
34
+ apiBaseUrl: "https://connect-staging.edgeboost.io/connect/v1",
35
+ // OAuth token exchange — partner-facing, also mTLS-enforced.
36
+ oauthBaseUrl: "https://connect-staging.edgeboost.io/connect/oauth",
37
+ // User-facing captive frame for the Link SDK enrollment and transfer
38
+ // verification flows. Served from the edge-connect-oauth Vite app
39
+ // deployed on Amplify. No mTLS — browser traffic.
40
+ userClientUrl: "https://oauth.staging-app.edgeboost.bet",
26
41
  displayName: "Staging",
27
42
  isProduction: false
28
43
  },
@@ -76,8 +91,8 @@ var EDGE_SCOPES = {
76
91
  */
77
92
  BALANCE_READ: "balance.read",
78
93
  /**
79
- * Initiate and verify fund transfers.
80
- * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verify`, `GET /v1/transfers`
94
+ * Initiate fund transfers and create EDGE-hosted verification sessions.
95
+ * Required for: `POST /v1/transfer`, `POST /v1/transfer/:id/verification-session`, `GET /v1/transfers`
81
96
  */
82
97
  TRANSFER_WRITE: "transfer.write"
83
98
  };
@@ -273,6 +288,7 @@ export {
273
288
  SCOPE_ICONS,
274
289
  SDK_NAME,
275
290
  SDK_VERSION,
291
+ TRANSFER_CATEGORIES,
276
292
  TRANSFER_STATUSES,
277
293
  TRANSFER_TYPES,
278
294
  formatScopeForEnvironment,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edge-markets/connect",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "description": "Core types, configuration, and utilities for EDGE Connect SDK",
5
5
  "author": "EdgeBoost",
6
6
  "license": "MIT",