@sdkrouter/payments 0.1.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/_api/generated/payments/storage.ts","../src/_api/generated/payments/enums.ts","../src/_api/generated/payments/payments__api__payments/client.ts","../src/_api/generated/payments/http.ts","../src/_api/generated/payments/errors.ts","../src/_api/generated/payments/logger.ts","../src/_api/generated/payments/retry.ts","../src/_api/generated/payments/client.ts","../src/_api/generated/payments/_utils/schemas/Balance.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerBalanceResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerInvoiceDetail.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerInvoiceResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerTransactionResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerWithdrawalCreateRequest.schema.ts","../src/_api/generated/payments/_utils/schemas/CustomerWithdrawalResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/InvoiceCreateRequest.schema.ts","../src/_api/generated/payments/_utils/schemas/InvoiceDetail.schema.ts","../src/_api/generated/payments/_utils/schemas/InvoiceResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/InvoiceStatusResponse.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedCustomerInvoiceDetailList.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedCustomerTransactionResponseList.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedCustomerWithdrawalResponseList.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedInvoiceDetailList.schema.ts","../src/_api/generated/payments/_utils/schemas/PaymentLink.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedPaymentLinkList.schema.ts","../src/_api/generated/payments/_utils/schemas/Transaction.schema.ts","../src/_api/generated/payments/_utils/schemas/PaginatedTransactionList.schema.ts","../src/_api/generated/payments/_utils/schemas/PaymentLinkCreateRequest.schema.ts","../src/_api/generated/payments/_utils/schemas/PaymentLinkPayInputRequest.schema.ts","../src/_api/generated/payments/_utils/schemas/PaymentLinkPublic.schema.ts","../src/_api/generated/payments/_utils/schemas/PublicInvoiceStatus.schema.ts","../src/_api/generated/payments/_utils/schemas/Withdrawal.schema.ts","../src/_api/generated/payments/_utils/schemas/WithdrawalCreateRequest.schema.ts","../src/_api/generated/payments/index.ts","../src/_api/BaseClient.ts"],"names":["CustomerInvoiceDetailStatus","CustomerTransactionResponseTransactionType","CustomerWithdrawalResponseStatus","z"],"mappings":"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","file":"chunk-4QQBPIIT.mjs","sourcesContent":["// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * Storage adapters for cross-platform token storage.\n *\n * Supports:\n * - LocalStorage (browser)\n * - Cookies (SSR/browser)\n * - Memory (Node.js/Electron/testing)\n */\n\nimport type { APILogger } from './logger';\n\n/**\n * Storage adapter interface for cross-platform token storage.\n */\nexport interface StorageAdapter {\n getItem(key: string): string | null;\n setItem(key: string, value: string): void;\n removeItem(key: string): void;\n}\n\n/**\n * LocalStorage adapter with safe try-catch for browser environments.\n * Works in modern browsers with localStorage support.\n * \n * Note: This adapter uses window.localStorage and should only be used in browser/client environments.\n * For server-side usage, use MemoryStorageAdapter or CookieStorageAdapter instead.\n */\nexport class LocalStorageAdapter implements StorageAdapter {\n private logger?: APILogger;\n\n constructor(logger?: APILogger) {\n this.logger = logger;\n }\n\n getItem(key: string): string | null {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n const value = localStorage.getItem(key);\n this.logger?.debug(`LocalStorage.getItem(\"${key}\"): ${value ? 'found' : 'not found'}`);\n return value;\n }\n this.logger?.warn('LocalStorage not available: window.localStorage is undefined');\n } catch (error) {\n this.logger?.error('LocalStorage.getItem failed:', error);\n }\n return null;\n }\n\n setItem(key: string, value: string): void {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n localStorage.setItem(key, value);\n this.logger?.debug(`LocalStorage.setItem(\"${key}\"): success`);\n } else {\n this.logger?.warn('LocalStorage not available: window.localStorage is undefined');\n }\n } catch (error) {\n this.logger?.error('LocalStorage.setItem failed:', error);\n }\n }\n\n removeItem(key: string): void {\n try {\n if (typeof window !== 'undefined' && window.localStorage) {\n localStorage.removeItem(key);\n this.logger?.debug(`LocalStorage.removeItem(\"${key}\"): success`);\n } else {\n this.logger?.warn('LocalStorage not available: window.localStorage is undefined');\n }\n } catch (error) {\n this.logger?.error('LocalStorage.removeItem failed:', error);\n }\n }\n}\n\n/**\n * Cookie-based storage adapter for SSR and browser environments.\n * Useful for Next.js, Nuxt.js, and other SSR frameworks.\n */\nexport class CookieStorageAdapter implements StorageAdapter {\n private logger?: APILogger;\n\n constructor(logger?: APILogger) {\n this.logger = logger;\n }\n\n getItem(key: string): string | null {\n try {\n if (typeof document === 'undefined') {\n this.logger?.warn('Cookies not available: document is undefined (SSR context?)');\n return null;\n }\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${key}=`);\n if (parts.length === 2) {\n const result = parts.pop()?.split(';').shift() || null;\n this.logger?.debug(`CookieStorage.getItem(\"${key}\"): ${result ? 'found' : 'not found'}`);\n return result;\n }\n this.logger?.debug(`CookieStorage.getItem(\"${key}\"): not found`);\n } catch (error) {\n this.logger?.error('CookieStorage.getItem failed:', error);\n }\n return null;\n }\n\n setItem(key: string, value: string): void {\n try {\n if (typeof document !== 'undefined') {\n document.cookie = `${key}=${value}; path=/; max-age=31536000`;\n this.logger?.debug(`CookieStorage.setItem(\"${key}\"): success`);\n } else {\n this.logger?.warn('Cookies not available: document is undefined (SSR context?)');\n }\n } catch (error) {\n this.logger?.error('CookieStorage.setItem failed:', error);\n }\n }\n\n removeItem(key: string): void {\n try {\n if (typeof document !== 'undefined') {\n document.cookie = `${key}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`;\n this.logger?.debug(`CookieStorage.removeItem(\"${key}\"): success`);\n } else {\n this.logger?.warn('Cookies not available: document is undefined (SSR context?)');\n }\n } catch (error) {\n this.logger?.error('CookieStorage.removeItem failed:', error);\n }\n }\n}\n\n/**\n * In-memory storage adapter for Node.js, Electron, and testing environments.\n * Data is stored in RAM and cleared when process exits.\n */\nexport class MemoryStorageAdapter implements StorageAdapter {\n private storage: Map<string, string> = new Map();\n private logger?: APILogger;\n\n constructor(logger?: APILogger) {\n this.logger = logger;\n }\n\n getItem(key: string): string | null {\n const value = this.storage.get(key) || null;\n this.logger?.debug(`MemoryStorage.getItem(\"${key}\"): ${value ? 'found' : 'not found'}`);\n return value;\n }\n\n setItem(key: string, value: string): void {\n this.storage.set(key, value);\n this.logger?.debug(`MemoryStorage.setItem(\"${key}\"): success`);\n }\n\n removeItem(key: string): void {\n this.storage.delete(key);\n this.logger?.debug(`MemoryStorage.removeItem(\"${key}\"): success`);\n }\n}","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * * `created` - Created\n * * `waiting` - Waiting for payment\n * * `paid` - Paid\n * * `expired` - Expired\n * * `underpaid` - Underpaid\n * * `overpaid` - Overpaid\n * * `cancelled` - Cancelled\n */\nexport enum CustomerInvoiceDetailStatus {\n CREATED = \"created\",\n WAITING = \"waiting\",\n PAID = \"paid\",\n EXPIRED = \"expired\",\n UNDERPAID = \"underpaid\",\n OVERPAID = \"overpaid\",\n CANCELLED = \"cancelled\",\n}\n\n/**\n * * `deposit` - Deposit\n * * `withdrawal` - Withdrawal\n * * `refund` - Refund\n * * `fee` - Fee\n * * `adjustment` - Adjustment\n */\nexport enum CustomerTransactionResponseTransactionType {\n DEPOSIT = \"deposit\",\n WITHDRAWAL = \"withdrawal\",\n REFUND = \"refund\",\n FEE = \"fee\",\n ADJUSTMENT = \"adjustment\",\n}\n\n/**\n * * `pending` - Pending\n * * `approved` - Approved\n * * `processing` - Processing\n * * `completed` - Completed\n * * `rejected` - Rejected\n * * `cancelled` - Cancelled\n */\nexport enum CustomerWithdrawalResponseStatus {\n PENDING = \"pending\",\n APPROVED = \"approved\",\n PROCESSING = \"processing\",\n COMPLETED = \"completed\",\n REJECTED = \"rejected\",\n CANCELLED = \"cancelled\",\n}\n\n","// @ts-nocheck\nimport * as Models from \"./models\";\n\n\n/**\n * API endpoints for Payments.\n */\nexport class PaymentsPayments {\n private client: any;\n\n constructor(client: any) {\n this.client = client;\n }\n\n /**\n * Mixin for views that need owner-scoped queries. Supports both API key\n * auth and JWT auth. Use in payment admin views to get projects/keys for\n * the current owner.\n */\n async balanceRetrieve(): Promise<Models.Balance> {\n const response = await this.client.request('GET', \"/api/payments/balance/\");\n return response;\n }\n\n /**\n * GET /customer/balance/ — customer balance (always 200).\n */\n async customerBalanceRetrieve(): Promise<Models.CustomerBalanceResponse> {\n const response = await this.client.request('GET', \"/api/payments/customer/balance/\");\n return response;\n }\n\n async customerInvoicesList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedCustomerInvoiceDetailList>;\n async customerInvoicesList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedCustomerInvoiceDetailList>;\n\n /**\n * GET /customer/invoices/ — payment history.\n */\n async customerInvoicesList(...args: any[]): Promise<Models.PaginatedCustomerInvoiceDetailList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/customer/invoices/\", { params });\n return response;\n }\n\n /**\n * GET /customer/invoices/{id}/ — invoice detail.\n */\n async customerInvoicesRetrieve(id: string): Promise<Models.CustomerInvoiceDetail> {\n const response = await this.client.request('GET', `/api/payments/customer/invoices/${id}/`);\n return response;\n }\n\n /**\n * GET /customer/profile/ — customer profile (always 200).\n */\n async customerProfileRetrieve(): Promise<any> {\n const response = await this.client.request('GET', \"/api/payments/customer/profile/\");\n return response;\n }\n\n async customerTransactionsList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedCustomerTransactionResponseList>;\n async customerTransactionsList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedCustomerTransactionResponseList>;\n\n /**\n * GET /customer/transactions/ — transaction history.\n */\n async customerTransactionsList(...args: any[]): Promise<Models.PaginatedCustomerTransactionResponseList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/customer/transactions/\", { params });\n return response;\n }\n\n async customerWithdrawalsList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedCustomerWithdrawalResponseList>;\n async customerWithdrawalsList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedCustomerWithdrawalResponseList>;\n\n /**\n * GET /customer/withdrawals/ — withdrawals list.\n */\n async customerWithdrawalsList(...args: any[]): Promise<Models.PaginatedCustomerWithdrawalResponseList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/customer/withdrawals/\", { params });\n return response;\n }\n\n /**\n * POST /customer/withdrawals/create/ — create withdrawal.\n */\n async customerWithdrawalsCreateCreate(data: Models.CustomerWithdrawalCreateRequest): Promise<Models.CustomerWithdrawalResponse> {\n const response = await this.client.request('POST', \"/api/payments/customer/withdrawals/create/\", { body: data });\n return response;\n }\n\n async invoicesList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedInvoiceDetailList>;\n async invoicesList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedInvoiceDetailList>;\n\n async invoicesList(...args: any[]): Promise<Models.PaginatedInvoiceDetailList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/invoices/\", { params });\n return response;\n }\n\n async invoicesRetrieve(id: string): Promise<Models.InvoiceDetail> {\n const response = await this.client.request('GET', `/api/payments/invoices/${id}/`);\n return response;\n }\n\n async invoicesCancelCreate(id: string): Promise<Models.InvoiceDetail> {\n const response = await this.client.request('POST', `/api/payments/invoices/${id}/cancel/`);\n return response;\n }\n\n async invoicesStatusRetrieve(id: string): Promise<Models.InvoiceStatusResponse> {\n const response = await this.client.request('GET', `/api/payments/invoices/${id}/status/`);\n return response;\n }\n\n /**\n * Mixin for views that need owner-scoped queries. Supports both API key\n * auth and JWT auth. Use in payment admin views to get projects/keys for\n * the current owner.\n */\n async invoicesCreateCreate(data: Models.InvoiceCreateRequest): Promise<Models.InvoiceResponse> {\n const response = await this.client.request('POST', \"/api/payments/invoices/create/\", { body: data });\n return response;\n }\n\n async linksList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedPaymentLinkList>;\n async linksList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedPaymentLinkList>;\n\n async linksList(...args: any[]): Promise<Models.PaginatedPaymentLinkList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/links/\", { params });\n return response;\n }\n\n /**\n * Mixin for views that need owner-scoped queries. Supports both API key\n * auth and JWT auth. Use in payment admin views to get projects/keys for\n * the current owner.\n */\n async linksCreateCreate(data: Models.PaymentLinkCreateRequest): Promise<Models.PaymentLink> {\n const response = await this.client.request('POST', \"/api/payments/links/create/\", { body: data });\n return response;\n }\n\n /**\n * GET /invoices/{id}/status/ — public polling endpoint.\n */\n async publicInvoicesStatusRetrieve(id: string): Promise<Models.PublicInvoiceStatus> {\n const response = await this.client.request('GET', `/api/payments/public/invoices/${id}/status/`);\n return response;\n }\n\n /**\n * GET /links/{id}/ — public.\n */\n async publicLinksRetrieve(id: string): Promise<Models.PaymentLinkPublic> {\n const response = await this.client.request('GET', `/api/payments/public/links/${id}/`);\n return response;\n }\n\n /**\n * POST /links/{id}/pay/ — public.\n */\n async publicLinksPayCreate(id: string, data: Models.PaymentLinkPayInputRequest): Promise<Models.CustomerInvoiceResponse> {\n const response = await this.client.request('POST', `/api/payments/public/links/${id}/pay/`, { body: data });\n return response;\n }\n\n async transactionsList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedTransactionList>;\n async transactionsList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedTransactionList>;\n\n async transactionsList(...args: any[]): Promise<Models.PaginatedTransactionList> {\n const isParamsObject = args.length === 1 && typeof args[0] === 'object' && args[0] !== null && !Array.isArray(args[0]);\n \n let params;\n if (isParamsObject) {\n params = args[0];\n } else {\n params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };\n }\n const response = await this.client.request('GET', \"/api/payments/transactions/\", { params });\n return response;\n }\n\n /**\n * Mixin for views that need owner-scoped queries. Supports both API key\n * auth and JWT auth. Use in payment admin views to get projects/keys for\n * the current owner.\n */\n async withdrawalsCreate(data: Models.WithdrawalCreateRequest): Promise<Models.Withdrawal> {\n const response = await this.client.request('POST', \"/api/payments/withdrawals/\", { body: data });\n return response;\n }\n\n async withdrawalsRetrieve(id: string): Promise<Models.Withdrawal> {\n const response = await this.client.request('GET', `/api/payments/withdrawals/${id}/`);\n return response;\n }\n\n async withdrawalsCancelCreate(id: string): Promise<Models.Withdrawal> {\n const response = await this.client.request('POST', `/api/payments/withdrawals/${id}/cancel/`);\n return response;\n }\n\n}","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * HTTP Client Adapter Pattern\n *\n * Allows switching between fetch/axios/httpx without changing generated code.\n * Provides unified interface for making HTTP requests.\n */\n\nexport interface HttpRequest {\n method: string;\n url: string;\n headers?: Record<string, string>;\n body?: any;\n params?: Record<string, any>;\n /** FormData for file uploads (multipart/form-data) */\n formData?: FormData;\n /** Binary data for octet-stream uploads */\n binaryBody?: Blob | ArrayBuffer;\n}\n\nexport interface HttpResponse<T = any> {\n data: T;\n status: number;\n statusText: string;\n headers: Record<string, string>;\n}\n\n/**\n * HTTP Client Adapter Interface.\n * Implement this to use custom HTTP clients (axios, httpx, etc.)\n */\nexport interface HttpClientAdapter {\n request<T = any>(request: HttpRequest): Promise<HttpResponse<T>>;\n}\n\n/**\n * Default Fetch API adapter.\n * Uses native browser fetch() with proper error handling.\n */\nexport class FetchAdapter implements HttpClientAdapter {\n async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {\n const { method, url, headers, body, params, formData, binaryBody } = request;\n\n // Build URL with query params\n let finalUrl = url;\n if (params) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== null && value !== undefined) {\n searchParams.append(key, String(value));\n }\n });\n const queryString = searchParams.toString();\n if (queryString) {\n finalUrl = url.includes('?') ? `${url}&${queryString}` : `${url}?${queryString}`;\n }\n }\n\n // Build headers\n const finalHeaders: Record<string, string> = { ...headers };\n\n // Determine body and content-type\n let requestBody: string | FormData | Blob | ArrayBuffer | undefined;\n\n if (formData) {\n // For multipart/form-data, let browser set Content-Type with boundary\n requestBody = formData;\n // Don't set Content-Type - browser will set it with boundary\n } else if (binaryBody) {\n // Binary upload (application/octet-stream)\n finalHeaders['Content-Type'] = 'application/octet-stream';\n requestBody = binaryBody;\n } else if (body) {\n // JSON request\n finalHeaders['Content-Type'] = 'application/json';\n requestBody = JSON.stringify(body);\n }\n\n // Make request\n const response = await fetch(finalUrl, {\n method,\n headers: finalHeaders,\n body: requestBody,\n credentials: 'include', // Include Django session cookies\n });\n\n // Parse response\n let data: any = null;\n const contentType = response.headers.get('content-type');\n\n if (response.status !== 204 && contentType?.includes('application/json')) {\n data = await response.json();\n } else if (response.status !== 204) {\n data = await response.text();\n }\n\n // Convert Headers to plain object\n const responseHeaders: Record<string, string> = {};\n response.headers.forEach((value, key) => {\n responseHeaders[key] = value;\n });\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: responseHeaders,\n };\n }\n}\n\n/**\n * FetchAdapter with keepalive:true.\n *\n * Use this adapter when you need requests to survive page unload\n * (visibilitychange / beforeunload) — the browser will complete the request\n * even after the page is navigated away. Typical use: monitor / analytics flush.\n *\n * @example\n * ```typescript\n * import { APIClient, KeepAliveFetchAdapter } from './client';\n * const client = new APIClient(baseUrl, { httpClient: new KeepAliveFetchAdapter() });\n * ```\n */\nexport class KeepAliveFetchAdapter extends FetchAdapter {\n async request<T = any>(request: HttpRequest): Promise<HttpResponse<T>> {\n const origFetch = globalThis.fetch;\n globalThis.fetch = (input: RequestInfo | URL, init?: RequestInit) =>\n origFetch(input, { ...init, keepalive: true });\n try {\n return await super.request<T>(request);\n } finally {\n globalThis.fetch = origFetch;\n }\n }\n}","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * API Error Classes\n *\n * Typed error classes with Django REST Framework support.\n */\n\n/**\n * HTTP API Error with DRF field-specific validation errors.\n *\n * Usage:\n * ```typescript\n * try {\n * await api.users.create(userData);\n * } catch (error) {\n * if (error instanceof APIError) {\n * if (error.isValidationError) {\n * console.log('Field errors:', error.fieldErrors);\n * // { \"email\": [\"Email already exists\"], \"username\": [\"Required\"] }\n * }\n * }\n * }\n * ```\n */\nexport class APIError extends Error {\n constructor(\n public statusCode: number,\n public statusText: string,\n public response: any,\n public url: string,\n message?: string\n ) {\n super(message || `HTTP ${statusCode}: ${statusText}`);\n this.name = 'APIError';\n }\n\n /**\n * Get error details from response.\n * DRF typically returns: { \"detail\": \"Error message\" } or { \"field\": [\"error1\", \"error2\"] }\n */\n get details(): Record<string, any> | null {\n if (typeof this.response === 'object' && this.response !== null) {\n return this.response;\n }\n return null;\n }\n\n /**\n * Get field-specific validation errors from DRF.\n * Returns: { \"field_name\": [\"error1\", \"error2\"], ... }\n */\n get fieldErrors(): Record<string, string[]> | null {\n const details = this.details;\n if (!details) return null;\n\n // DRF typically returns: { \"field\": [\"error1\", \"error2\"] }\n const fieldErrors: Record<string, string[]> = {};\n for (const [key, value] of Object.entries(details)) {\n if (Array.isArray(value)) {\n fieldErrors[key] = value;\n }\n }\n\n return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;\n }\n\n /**\n * Get single error message from DRF.\n * Checks for \"detail\", \"message\", or first field error.\n */\n get errorMessage(): string {\n const details = this.details;\n if (!details) return this.message;\n\n // Check for \"detail\" field (common in DRF)\n if (details.detail) {\n return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);\n }\n\n // Check for \"error\" field (common in custom DRF views)\n if (details.error) {\n return String(details.error);\n }\n\n // Check for \"message\" field\n if (details.message) {\n return String(details.message);\n }\n\n // Return first field error\n const fieldErrors = this.fieldErrors;\n if (fieldErrors) {\n const firstField = Object.keys(fieldErrors)[0];\n if (firstField) {\n return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;\n }\n }\n\n return this.message;\n }\n\n // Helper methods for common HTTP status codes\n get isValidationError(): boolean { return this.statusCode === 400; }\n get isAuthError(): boolean { return this.statusCode === 401; }\n get isPermissionError(): boolean { return this.statusCode === 403; }\n get isNotFoundError(): boolean { return this.statusCode === 404; }\n get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }\n}\n\n/**\n * Network Error (connection failed, timeout, etc.)\n */\nexport class NetworkError extends Error {\n constructor(\n message: string,\n public url: string,\n public originalError?: Error\n ) {\n super(message);\n this.name = 'NetworkError';\n }\n}","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * API Logger with Consola\n * Beautiful console logging for API requests and responses\n *\n * Installation:\n * npm install consola\n */\n\nimport { type ConsolaInstance, createConsola } from 'consola';\n\n/**\n * Request log data\n */\nexport interface RequestLog {\n method: string;\n url: string;\n headers?: Record<string, string>;\n body?: any;\n timestamp: number;\n}\n\n/**\n * Response log data\n */\nexport interface ResponseLog {\n status: number;\n statusText: string;\n data?: any;\n duration: number;\n timestamp: number;\n}\n\n/**\n * Error log data\n */\nexport interface ErrorLog {\n message: string;\n statusCode?: number;\n fieldErrors?: Record<string, string[]>;\n duration: number;\n timestamp: number;\n}\n\n/**\n * Logger configuration\n */\nexport interface LoggerConfig {\n /** Enable logging */\n enabled: boolean;\n /** Log requests */\n logRequests: boolean;\n /** Log responses */\n logResponses: boolean;\n /** Log errors */\n logErrors: boolean;\n /** Log request/response bodies */\n logBodies: boolean;\n /** Log headers (excluding sensitive ones) */\n logHeaders: boolean;\n /** Custom consola instance */\n consola?: ConsolaInstance;\n}\n\n/**\n * Default logger configuration\n */\nconst DEFAULT_CONFIG: LoggerConfig = {\n enabled: process.env.NODE_ENV !== 'production',\n logRequests: true,\n logResponses: true,\n logErrors: true,\n logBodies: true,\n logHeaders: false,\n};\n\n/**\n * Sensitive header names to filter out\n */\nconst SENSITIVE_HEADERS = [\n 'authorization',\n 'cookie',\n 'set-cookie',\n 'x-api-key',\n 'x-csrf-token',\n];\n\n/**\n * API Logger class\n */\nexport class APILogger {\n private config: LoggerConfig;\n private consola: ConsolaInstance;\n\n constructor(config: Partial<LoggerConfig> = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.consola = config.consola || createConsola({\n level: this.config.enabled ? 4 : 0,\n });\n }\n\n /**\n * Enable logging\n */\n enable(): void {\n this.config.enabled = true;\n }\n\n /**\n * Disable logging\n */\n disable(): void {\n this.config.enabled = false;\n }\n\n /**\n * Update configuration\n */\n setConfig(config: Partial<LoggerConfig>): void {\n this.config = { ...this.config, ...config };\n }\n\n /**\n * Filter sensitive headers\n */\n private filterHeaders(headers?: Record<string, string>): Record<string, string> {\n if (!headers) return {};\n\n const filtered: Record<string, string> = {};\n Object.keys(headers).forEach((key) => {\n const lowerKey = key.toLowerCase();\n if (SENSITIVE_HEADERS.includes(lowerKey)) {\n filtered[key] = '***';\n } else {\n filtered[key] = headers[key] || '';\n }\n });\n\n return filtered;\n }\n\n /**\n * Log request\n */\n logRequest(request: RequestLog): void {\n if (!this.config.enabled || !this.config.logRequests) return;\n\n const { method, url, headers, body } = request;\n\n this.consola.start(`${method} ${url}`);\n\n if (this.config.logHeaders && headers) {\n this.consola.debug('Headers:', this.filterHeaders(headers));\n }\n\n if (this.config.logBodies && body) {\n this.consola.debug('Body:', body);\n }\n }\n\n /**\n * Log response\n */\n logResponse(request: RequestLog, response: ResponseLog): void {\n if (!this.config.enabled || !this.config.logResponses) return;\n\n const { method, url } = request;\n const { status, statusText, data, duration } = response;\n\n const statusColor = status >= 500 ? 'red'\n : status >= 400 ? 'yellow'\n : status >= 300 ? 'cyan'\n : 'green';\n\n this.consola.success(\n `${method} ${url} ${status} ${statusText} (${duration}ms)`\n );\n\n if (this.config.logBodies && data) {\n this.consola.debug('Response:', data);\n }\n }\n\n /**\n * Log error\n */\n logError(request: RequestLog, error: ErrorLog): void {\n if (!this.config.enabled || !this.config.logErrors) return;\n\n const { method, url } = request;\n const { message, statusCode, fieldErrors, duration } = error;\n\n this.consola.error(\n `${method} ${url} ${statusCode || 'Network'} Error (${duration}ms)`\n );\n\n this.consola.error('Message:', message);\n\n if (fieldErrors && Object.keys(fieldErrors).length > 0) {\n this.consola.error('Field Errors:');\n Object.entries(fieldErrors).forEach(([field, errors]) => {\n errors.forEach((err) => {\n this.consola.error(` • ${field}: ${err}`);\n });\n });\n }\n }\n\n /**\n * Log general info\n */\n info(message: string, ...args: any[]): void {\n if (!this.config.enabled) return;\n this.consola.info(message, ...args);\n }\n\n /**\n * Log warning\n */\n warn(message: string, ...args: any[]): void {\n if (!this.config.enabled) return;\n this.consola.warn(message, ...args);\n }\n\n /**\n * Log error\n */\n error(message: string, ...args: any[]): void {\n if (!this.config.enabled) return;\n this.consola.error(message, ...args);\n }\n\n /**\n * Log debug\n */\n debug(message: string, ...args: any[]): void {\n if (!this.config.enabled) return;\n this.consola.debug(message, ...args);\n }\n\n /**\n * Log success\n */\n success(message: string, ...args: any[]): void {\n if (!this.config.enabled) return;\n this.consola.success(message, ...args);\n }\n\n /**\n * Create a sub-logger with prefix\n */\n withTag(tag: string): ConsolaInstance {\n return this.consola.withTag(tag);\n }\n}\n\n/**\n * Default logger instance\n */\nexport const defaultLogger = new APILogger();","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * Retry Configuration and Utilities\n *\n * Provides automatic retry logic for failed HTTP requests using p-retry.\n * Retries only on network errors and server errors (5xx), not client errors (4xx).\n */\n\nimport pRetry, { AbortError } from 'p-retry';\nimport { APIError, NetworkError } from './errors';\n\n/**\n * Information about a failed retry attempt.\n */\nexport interface FailedAttemptInfo {\n /** The error that caused the failure */\n error: Error;\n /** The attempt number (1-indexed) */\n attemptNumber: number;\n /** Number of retries left */\n retriesLeft: number;\n}\n\n/**\n * Retry configuration options.\n *\n * Uses exponential backoff with jitter by default to avoid thundering herd.\n */\nexport interface RetryConfig {\n /**\n * Maximum number of retry attempts.\n * @default 3\n */\n retries?: number;\n\n /**\n * Exponential backoff factor.\n * @default 2\n */\n factor?: number;\n\n /**\n * Minimum wait time between retries (ms).\n * @default 1000\n */\n minTimeout?: number;\n\n /**\n * Maximum wait time between retries (ms).\n * @default 60000\n */\n maxTimeout?: number;\n\n /**\n * Add randomness to wait times (jitter).\n * Helps avoid thundering herd problem.\n * @default true\n */\n randomize?: boolean;\n\n /**\n * Callback called on each failed attempt.\n */\n onFailedAttempt?: (info: FailedAttemptInfo) => void;\n}\n\n/**\n * Default retry configuration.\n */\nexport const DEFAULT_RETRY_CONFIG: Required<RetryConfig> = {\n retries: 3,\n factor: 2,\n minTimeout: 1000,\n maxTimeout: 60000,\n randomize: true,\n onFailedAttempt: () => {},\n};\n\n/**\n * Determine if an error should trigger a retry.\n *\n * Retries on:\n * - Network errors (connection refused, timeout, etc.)\n * - Server errors (5xx status codes)\n * - Rate limiting (429 status code)\n *\n * Does NOT retry on:\n * - Client errors (4xx except 429)\n * - Authentication errors (401, 403)\n * - Not found (404)\n *\n * @param error - The error to check\n * @returns true if should retry, false otherwise\n */\nexport function shouldRetry(error: any): boolean {\n // Always retry network errors\n if (error instanceof NetworkError) {\n return true;\n }\n\n // For API errors, check status code\n if (error instanceof APIError) {\n const status = error.statusCode;\n\n // Retry on 5xx server errors\n if (status >= 500 && status < 600) {\n return true;\n }\n\n // Retry on 429 (rate limit)\n if (status === 429) {\n return true;\n }\n\n // Do NOT retry on 4xx client errors\n return false;\n }\n\n // Retry on unknown errors (might be network issues)\n return true;\n}\n\n/**\n * Wrap a function with retry logic.\n *\n * @param fn - Async function to retry\n * @param config - Retry configuration\n * @returns Result of the function\n *\n * @example\n * ```typescript\n * const result = await withRetry(\n * async () => fetch('https://api.example.com/users'),\n * { retries: 5, minTimeout: 2000 }\n * );\n * ```\n */\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n config?: RetryConfig\n): Promise<T> {\n const finalConfig = { ...DEFAULT_RETRY_CONFIG, ...config };\n\n return pRetry(\n async () => {\n try {\n return await fn();\n } catch (error) {\n // Check if we should retry this error\n if (!shouldRetry(error)) {\n // Abort retry immediately for non-retryable errors\n throw new AbortError(error as Error);\n }\n\n // Re-throw error to trigger retry\n throw error;\n }\n },\n {\n retries: finalConfig.retries,\n factor: finalConfig.factor,\n minTimeout: finalConfig.minTimeout,\n maxTimeout: finalConfig.maxTimeout,\n randomize: finalConfig.randomize,\n onFailedAttempt: finalConfig.onFailedAttempt ? (error) => {\n // Adapt p-retry's FailedAttemptError to our FailedAttemptInfo\n const pRetryError = error as any; // p-retry's internal type\n finalConfig.onFailedAttempt!({\n error: pRetryError as Error,\n attemptNumber: pRetryError.attemptNumber,\n retriesLeft: pRetryError.retriesLeft,\n });\n } : undefined,\n }\n );\n}","import { PaymentsPayments } from \"./payments__api__payments\";\nimport { HttpClientAdapter, FetchAdapter } from \"./http\";\nimport { APIError, NetworkError } from \"./errors\";\nimport { APILogger, type LoggerConfig } from \"./logger\";\nimport { withRetry, type RetryConfig } from \"./retry\";\n\n\n/**\n * Async API client for SDKRouter API.\n *\n * Usage:\n * ```typescript\n * const client = new APIClient('https://api.example.com');\n * const users = await client.users.list();\n * const post = await client.posts.create(newPost);\n *\n * // Custom HTTP adapter (e.g., Axios)\n * const client = new APIClient('https://api.example.com', {\n * httpClient: new AxiosAdapter()\n * });\n * ```\n */\nexport class APIClient {\n private baseUrl: string;\n private httpClient: HttpClientAdapter;\n private logger: APILogger | null = null;\n private retryConfig: RetryConfig | null = null;\n private tokenGetter: (() => string | null) | null = null;\n\n // Sub-clients\n public payments_payments: PaymentsPayments;\n\n constructor(\n baseUrl: string,\n options?: {\n httpClient?: HttpClientAdapter;\n loggerConfig?: Partial<LoggerConfig>;\n retryConfig?: RetryConfig;\n tokenGetter?: () => string | null;\n }\n ) {\n this.baseUrl = baseUrl.replace(/\\/$/, '');\n this.httpClient = options?.httpClient || new FetchAdapter();\n this.tokenGetter = options?.tokenGetter || null;\n\n // Initialize logger if config provided\n if (options?.loggerConfig !== undefined) {\n this.logger = new APILogger(options.loggerConfig);\n }\n\n // Store retry configuration\n if (options?.retryConfig !== undefined) {\n this.retryConfig = options.retryConfig;\n }\n\n // Initialize sub-clients\n this.payments_payments = new PaymentsPayments(this);\n }\n\n /**\n * Get CSRF token from cookies (for SessionAuthentication).\n *\n * Returns null if cookie doesn't exist (JWT-only auth).\n */\n getCsrfToken(): string | null {\n const name = 'csrftoken';\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop()?.split(';').shift() || null;\n }\n return null;\n }\n\n /**\n * Get the base URL for building streaming/download URLs.\n */\n getBaseUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * Get JWT token for URL authentication (used in streaming endpoints).\n * Returns null if no token getter is configured or no token is available.\n */\n getToken(): string | null {\n return this.tokenGetter ? this.tokenGetter() : null;\n }\n\n /**\n * Make HTTP request with Django CSRF and session handling.\n * Automatically retries on network errors and 5xx server errors.\n */\n async request<T>(\n method: string,\n path: string,\n options?: {\n params?: Record<string, any>;\n body?: any;\n formData?: FormData;\n binaryBody?: Blob | ArrayBuffer;\n headers?: Record<string, string>;\n }\n ): Promise<T> {\n // Wrap request in retry logic if configured\n if (this.retryConfig) {\n return withRetry(() => this._makeRequest<T>(method, path, options), {\n ...this.retryConfig,\n onFailedAttempt: (info) => {\n // Log retry attempts\n if (this.logger) {\n this.logger.warn(\n `Retry attempt ${info.attemptNumber}/${info.retriesLeft + info.attemptNumber} ` +\n `for ${method} ${path}: ${info.error.message}`\n );\n }\n // Call user's onFailedAttempt if provided\n this.retryConfig?.onFailedAttempt?.(info);\n },\n });\n }\n\n // No retry configured, make request directly\n return this._makeRequest<T>(method, path, options);\n }\n\n /**\n * Internal request method (without retry wrapper).\n * Used by request() method with optional retry logic.\n */\n private async _makeRequest<T>(\n method: string,\n path: string,\n options?: {\n params?: Record<string, any>;\n body?: any;\n formData?: FormData;\n binaryBody?: Blob | ArrayBuffer;\n headers?: Record<string, string>;\n }\n ): Promise<T> {\n // Build URL - handle both absolute and relative paths\n // When baseUrl is empty (static builds), path is used as-is (relative to current origin)\n const url = this.baseUrl ? `${this.baseUrl}${path}` : path;\n const startTime = Date.now();\n\n // Build headers - start with custom headers from options\n const headers: Record<string, string> = {\n ...(options?.headers || {})\n };\n\n // Don't set Content-Type for FormData/binaryBody (browser will set it with boundary)\n if (!options?.formData && !options?.binaryBody && !headers['Content-Type']) {\n headers['Content-Type'] = 'application/json';\n }\n\n // CSRF not needed - SessionAuthentication not enabled in DRF config\n // Your API uses JWT/Token authentication (no CSRF required)\n\n // Log request\n if (this.logger) {\n this.logger.logRequest({\n method,\n url: url,\n headers,\n body: options?.formData || options?.body,\n timestamp: startTime,\n });\n }\n\n try {\n // Make request via HTTP adapter\n const response = await this.httpClient.request<T>({\n method,\n url: url,\n headers,\n params: options?.params,\n body: options?.body,\n formData: options?.formData,\n binaryBody: options?.binaryBody,\n });\n\n const duration = Date.now() - startTime;\n\n // Check for HTTP errors\n if (response.status >= 400) {\n const error = new APIError(\n response.status,\n response.statusText,\n response.data,\n url\n );\n\n // Log error\n if (this.logger) {\n this.logger.logError(\n {\n method,\n url: url,\n headers,\n body: options?.formData || options?.body,\n timestamp: startTime,\n },\n {\n message: error.message,\n statusCode: response.status,\n duration,\n timestamp: Date.now(),\n }\n );\n }\n\n throw error;\n }\n\n // Log successful response\n if (this.logger) {\n this.logger.logResponse(\n {\n method,\n url: url,\n headers,\n body: options?.formData || options?.body,\n timestamp: startTime,\n },\n {\n status: response.status,\n statusText: response.statusText,\n data: response.data,\n duration,\n timestamp: Date.now(),\n }\n );\n }\n\n return response.data as T;\n } catch (error) {\n const duration = Date.now() - startTime;\n\n // Re-throw APIError as-is\n if (error instanceof APIError) {\n throw error;\n }\n\n // Classify network error using PerformanceResourceTiming.\n // Browser intentionally makes CORS errors indistinguishable from network failures\n // (same TypeError: \"Failed to fetch\") for security reasons. We use PerformanceResourceTiming\n // as the best available heuristic:\n // - Entry exists with responseStatus === 0 → request reached server, JS blocked → likely CORS\n // - No entry / entry missing → connection never established → server unavailable / DNS / offline\n // All cases are dispatched as 'network-error' with a `possibly_cors` flag.\n let possiblyCors = false;\n if (error instanceof TypeError && typeof window !== 'undefined') {\n try {\n const isCrossOrigin = (() => {\n try { return new URL(url).origin !== window.location.origin; } catch { return false; }\n })();\n if (isCrossOrigin) {\n const entries = performance.getEntriesByName(url, 'resource');\n if (entries.length > 0) {\n const last = entries[entries.length - 1] as PerformanceResourceTiming;\n possiblyCors = 'responseStatus' in last && (last as any).responseStatus === 0;\n }\n }\n } catch { /* ignore — PerformanceResourceTiming not available */ }\n }\n\n if (this.logger) {\n this.logger.error(`⚠️ Network Error: ${method} ${url}`);\n this.logger.error(` → ${error instanceof Error ? error.message : String(error)}`);\n if (possiblyCors) {\n this.logger.error(` → Possibly blocked by CORS policy (configure CORS on the server)`);\n }\n }\n\n // Dispatch network-error event with possibly_cors hint\n if (typeof window !== 'undefined') {\n try {\n window.dispatchEvent(new CustomEvent('network-error', {\n detail: {\n url: url,\n method: method,\n error: error instanceof Error ? error.message : String(error),\n possibly_cors: possiblyCors,\n timestamp: new Date(),\n },\n bubbles: true,\n cancelable: false,\n }));\n } catch { /* silently ignore — event dispatch must never crash the app */ }\n }\n\n // Wrap other errors as NetworkError\n const networkError = error instanceof Error\n ? new NetworkError(error.message, url, error)\n : new NetworkError('Unknown error', url);\n\n // Detailed logging via logger.logError\n if (this.logger) {\n this.logger.logError(\n {\n method,\n url: url,\n headers,\n body: options?.formData || options?.body,\n timestamp: startTime,\n },\n {\n message: networkError.message,\n duration,\n timestamp: Date.now(),\n }\n );\n }\n\n throw networkError;\n }\n }\n}\n","/**\n * Zod schema for Balance\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const BalanceSchema = z.object({\n balance_usd: z.string(),\n total_deposited: z.string(),\n total_withdrawn: z.string(),\n last_transaction_at: z.string().datetime({ offset: true }).nullable(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type Balance = z.infer<typeof BalanceSchema>","/**\n * Zod schema for CustomerBalanceResponse\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const CustomerBalanceResponseSchema = z.object({\n balance_usd: z.string(),\n total_deposited: z.string(),\n total_withdrawn: z.string(),\n last_transaction_at: z.string().datetime({ offset: true }).nullable(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerBalanceResponse = z.infer<typeof CustomerBalanceResponseSchema>","/**\n * Zod schema for CustomerInvoiceDetail\n *\n * This schema provides runtime validation and type inference.\n * * Full invoice details for customer.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\n/**\n * Full invoice details for customer.\n */\nexport const CustomerInvoiceDetailSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n pay_amount: z.string(),\n actual_amount: z.string().nullable(),\n pay_address: z.string(),\n coin: z.string(),\n network: z.string(),\n exchange: z.string(),\n status: z.nativeEnum(Enums.CustomerInvoiceDetailStatus),\n tx_id: z.string().nullable(),\n confirm_times: z.string(),\n description: z.string(),\n expires_at: z.string().datetime({ offset: true }),\n completed_at: z.string().datetime({ offset: true }).nullable(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerInvoiceDetail = z.infer<typeof CustomerInvoiceDetailSchema>","/**\n * Zod schema for CustomerInvoiceResponse\n *\n * This schema provides runtime validation and type inference.\n * * Compact response after creating an invoice.\n * */\nimport { z } from 'zod'\n\n/**\n * Compact response after creating an invoice.\n */\nexport const CustomerInvoiceResponseSchema = z.object({\n invoice_id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n pay_amount: z.string(),\n pay_address: z.string(),\n coin: z.string(),\n network: z.string(),\n exchange: z.string(),\n status: z.string(),\n expires_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerInvoiceResponse = z.infer<typeof CustomerInvoiceResponseSchema>","/**\n * Zod schema for CustomerTransactionResponse\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\nexport const CustomerTransactionResponseSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n transaction_type: z.nativeEnum(Enums.CustomerTransactionResponseTransactionType),\n amount_usd: z.string(),\n balance_after: z.string(),\n invoice: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i).nullable(),\n withdrawal: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i).nullable(),\n description: z.string(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerTransactionResponse = z.infer<typeof CustomerTransactionResponseSchema>","/**\n * Zod schema for CustomerWithdrawalCreateRequest\n *\n * This schema provides runtime validation and type inference.\n * * Input for customer creating a withdrawal.\n * */\nimport { z } from 'zod'\n\n/**\n * Input for customer creating a withdrawal.\n */\nexport const CustomerWithdrawalCreateRequestSchema = z.object({\n amount_usd: z.string(),\n network: z.string().min(1),\n wallet_address: z.string().min(1).max(255),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerWithdrawalCreateRequest = z.infer<typeof CustomerWithdrawalCreateRequestSchema>","/**\n * Zod schema for CustomerWithdrawalResponse\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\nexport const CustomerWithdrawalResponseSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n fee_usd: z.string(),\n final_amount_usd: z.string(),\n network: z.string(),\n wallet_address: z.string(),\n status: z.nativeEnum(Enums.CustomerWithdrawalResponseStatus),\n tx_id: z.string().nullable(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type CustomerWithdrawalResponse = z.infer<typeof CustomerWithdrawalResponseSchema>","/**\n * Zod schema for InvoiceCreateRequest\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const InvoiceCreateRequestSchema = z.object({\n amount_usd: z.string(),\n network: z.string().min(1).optional(),\n exchange: z.string().min(1).nullable().optional(),\n description: z.string().optional(),\n customer_id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n project_slug: z.string().min(1),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type InvoiceCreateRequest = z.infer<typeof InvoiceCreateRequestSchema>","/**\n * Zod schema for InvoiceDetail\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\nexport const InvoiceDetailSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n project: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n customer: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n pay_amount: z.string(),\n actual_amount: z.string().nullable(),\n pay_address: z.string(),\n coin: z.string(),\n network: z.string(),\n exchange: z.string(),\n status: z.nativeEnum(Enums.CustomerInvoiceDetailStatus),\n tx_id: z.string().nullable(),\n confirm_times: z.string(),\n description: z.string(),\n expires_at: z.string().datetime({ offset: true }),\n completed_at: z.string().datetime({ offset: true }).nullable(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type InvoiceDetail = z.infer<typeof InvoiceDetailSchema>","/**\n * Zod schema for InvoiceResponse\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const InvoiceResponseSchema = z.object({\n invoice_id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n pay_amount: z.string(),\n pay_address: z.string(),\n coin: z.string(),\n network: z.string(),\n exchange: z.string(),\n status: z.string(),\n expires_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type InvoiceResponse = z.infer<typeof InvoiceResponseSchema>","/**\n * Zod schema for InvoiceStatusResponse\n *\n * This schema provides runtime validation and type inference.\n * * Response for invoice status polling.\n * */\nimport { z } from 'zod'\n\n/**\n * Response for invoice status polling.\n */\nexport const InvoiceStatusResponseSchema = z.object({\n invoice_id: z.string(),\n status: z.string(),\n confirm_times: z.number().int(),\n actual_amount: z.string().nullable(),\n tx_id: z.string().nullable(),\n completed_at: z.string().datetime({ offset: true }).nullable(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type InvoiceStatusResponse = z.infer<typeof InvoiceStatusResponseSchema>","/**\n * Zod schema for PaginatedCustomerInvoiceDetailList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { CustomerInvoiceDetailSchema } from './CustomerInvoiceDetail.schema'\n\nexport const PaginatedCustomerInvoiceDetailListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(CustomerInvoiceDetailSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedCustomerInvoiceDetailList = z.infer<typeof PaginatedCustomerInvoiceDetailListSchema>","/**\n * Zod schema for PaginatedCustomerTransactionResponseList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { CustomerTransactionResponseSchema } from './CustomerTransactionResponse.schema'\n\nexport const PaginatedCustomerTransactionResponseListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(CustomerTransactionResponseSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedCustomerTransactionResponseList = z.infer<typeof PaginatedCustomerTransactionResponseListSchema>","/**\n * Zod schema for PaginatedCustomerWithdrawalResponseList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { CustomerWithdrawalResponseSchema } from './CustomerWithdrawalResponse.schema'\n\nexport const PaginatedCustomerWithdrawalResponseListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(CustomerWithdrawalResponseSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedCustomerWithdrawalResponseList = z.infer<typeof PaginatedCustomerWithdrawalResponseListSchema>","/**\n * Zod schema for PaginatedInvoiceDetailList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { InvoiceDetailSchema } from './InvoiceDetail.schema'\n\nexport const PaginatedInvoiceDetailListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(InvoiceDetailSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedInvoiceDetailList = z.infer<typeof PaginatedInvoiceDetailListSchema>","/**\n * Zod schema for PaymentLink\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const PaymentLinkSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n project: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n title: z.string().max(200),\n description: z.string().optional(),\n amount_usd: z.string().nullable().optional(),\n network: z.string().max(20).optional(),\n exchange: z.string().max(20).optional(),\n is_active: z.boolean().optional(),\n success_url: z.string().max(200).optional(),\n metadata: z.record(z.string(), z.any()).optional(),\n total_payments: z.number().int(),\n total_collected_usd: z.string(),\n pay_url: z.string(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaymentLink = z.infer<typeof PaymentLinkSchema>","/**\n * Zod schema for PaginatedPaymentLinkList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { PaymentLinkSchema } from './PaymentLink.schema'\n\nexport const PaginatedPaymentLinkListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(PaymentLinkSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedPaymentLinkList = z.infer<typeof PaginatedPaymentLinkListSchema>","/**\n * Zod schema for Transaction\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\nexport const TransactionSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n transaction_type: z.nativeEnum(Enums.CustomerTransactionResponseTransactionType),\n amount_usd: z.string(),\n balance_after: z.string(),\n invoice: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i).nullable(),\n withdrawal: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i).nullable(),\n description: z.string(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type Transaction = z.infer<typeof TransactionSchema>","/**\n * Zod schema for PaginatedTransactionList\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport { TransactionSchema } from './Transaction.schema'\n\nexport const PaginatedTransactionListSchema = z.object({\n count: z.number().int(),\n page: z.number().int(),\n pages: z.number().int(),\n page_size: z.number().int(),\n has_next: z.boolean(),\n has_previous: z.boolean(),\n next_page: z.number().int().nullable().optional(),\n previous_page: z.number().int().nullable().optional(),\n results: z.array(TransactionSchema),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaginatedTransactionList = z.infer<typeof PaginatedTransactionListSchema>","/**\n * Zod schema for PaymentLinkCreateRequest\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const PaymentLinkCreateRequestSchema = z.object({\n title: z.string().min(1).max(200),\n description: z.string().optional(),\n amount_usd: z.string().nullable().optional(),\n network: z.string().min(1).optional(),\n exchange: z.string().min(1).optional(),\n success_url: z.string().optional(),\n project_slug: z.string().min(1),\n metadata: z.record(z.string(), z.any()).optional(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaymentLinkCreateRequest = z.infer<typeof PaymentLinkCreateRequestSchema>","/**\n * Zod schema for PaymentLinkPayInputRequest\n *\n * This schema provides runtime validation and type inference.\n * * Input for paying via a payment link.\n * */\nimport { z } from 'zod'\n\n/**\n * Input for paying via a payment link.\n */\nexport const PaymentLinkPayInputRequestSchema = z.object({\n email: z.email().nullable().optional(),\n name: z.string().optional(),\n amount_usd: z.string().nullable().optional(),\n external_id: z.string().min(1).nullable().optional(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaymentLinkPayInputRequest = z.infer<typeof PaymentLinkPayInputRequestSchema>","/**\n * Zod schema for PaymentLinkPublic\n *\n * This schema provides runtime validation and type inference.\n * * Public view — no ownership data.\n * */\nimport { z } from 'zod'\n\n/**\n * Public view — no ownership data.\n */\nexport const PaymentLinkPublicSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n title: z.string(),\n description: z.string(),\n amount_usd: z.string().nullable(),\n network: z.string(),\n exchange: z.string(),\n success_url: z.string(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PaymentLinkPublic = z.infer<typeof PaymentLinkPublicSchema>","/**\n * Zod schema for PublicInvoiceStatus\n *\n * This schema provides runtime validation and type inference.\n * * Public invoice status — minimal info for polling.\n * */\nimport { z } from 'zod'\n\n/**\n * Public invoice status — minimal info for polling.\n */\nexport const PublicInvoiceStatusSchema = z.object({\n invoice_id: z.string(),\n status: z.string(),\n confirm_times: z.string().nullable(),\n tx_id: z.string().nullable(),\n completed_at: z.string().datetime({ offset: true }).nullable(),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type PublicInvoiceStatus = z.infer<typeof PublicInvoiceStatusSchema>","/**\n * Zod schema for Withdrawal\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\nimport * as Enums from '../../enums'\n\nexport const WithdrawalSchema = z.object({\n id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n project: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n customer: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n amount_usd: z.string(),\n fee_usd: z.string(),\n final_amount_usd: z.string(),\n network: z.string(),\n wallet_address: z.string(),\n status: z.nativeEnum(Enums.CustomerWithdrawalResponseStatus),\n tx_id: z.string().nullable(),\n created_at: z.string().datetime({ offset: true }),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type Withdrawal = z.infer<typeof WithdrawalSchema>","/**\n * Zod schema for WithdrawalCreateRequest\n *\n * This schema provides runtime validation and type inference.\n * */\nimport { z } from 'zod'\n\nexport const WithdrawalCreateRequestSchema = z.object({\n amount_usd: z.string(),\n network: z.string().min(1),\n wallet_address: z.string().min(1).max(255),\n customer_id: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),\n project_slug: z.string().min(1),\n})\n\n/**\n * Infer TypeScript type from Zod schema\n */\nexport type WithdrawalCreateRequest = z.infer<typeof WithdrawalCreateRequestSchema>","// @ts-nocheck\n// Auto-generated by DjangoCFG - see CLAUDE.md\n/**\n * SDKRouter API - API Client with JWT Management\n *\n * Usage:\n * ```typescript\n * import { API } from './api';\n *\n * const api = new API('https://api.example.com');\n *\n * // Set JWT token\n * api.setToken('your-jwt-token', 'refresh-token');\n *\n * // Use API\n * const posts = await api.posts.list();\n * const user = await api.users.retrieve(1);\n *\n * // Check authentication\n * if (api.isAuthenticated()) {\n * // ...\n * }\n *\n * // Custom storage with logging (for Electron/Node.js)\n * import { MemoryStorageAdapter, APILogger } from './storage';\n * const logger = new APILogger({ enabled: true, logLevel: 'debug' });\n * const api = new API('https://api.example.com', {\n * storage: new MemoryStorageAdapter(logger),\n * loggerConfig: { enabled: true, logLevel: 'debug' }\n * });\n *\n * // Get OpenAPI schema\n * const schema = api.getSchema();\n * ```\n */\n\nimport { APIClient } from \"./client\";\nimport {\n StorageAdapter,\n LocalStorageAdapter,\n CookieStorageAdapter,\n MemoryStorageAdapter\n} from \"./storage\";\nimport type { RetryConfig } from \"./retry\";\nimport type { LoggerConfig } from \"./logger\";\nimport { APILogger } from \"./logger\";\nimport { PaymentsPayments } from \"./payments__api__payments/client\";\nexport * as PaymentsPaymentsTypes from \"./payments__api__payments/models\";\n// Note: Direct exports (export * from) are removed to avoid duplicate type conflicts\n// Use namespace exports like CfgAccountsTypes.User or import from specific modules\nexport * as Enums from \"./enums\";\n\n// Re-export Zod schemas for runtime validation\nexport * as Schemas from \"./_utils/schemas\";\n// Also export all schemas directly for convenience\nexport * from \"./_utils/schemas\";\n\n// Re-export Zod validation events for browser integration\nexport type { ValidationErrorDetail, ValidationErrorEvent } from \"./validation-events\";\nexport { dispatchValidationError, onValidationError, formatZodError } from \"./validation-events\";\n\n// Re-export typed fetchers for universal usage\nexport * as Fetchers from \"./_utils/fetchers\";\nexport * from \"./_utils/fetchers\";\n\n// Re-export API instance configuration functions\nexport {\n configureAPI,\n getAPIInstance,\n reconfigureAPI,\n clearAPITokens,\n resetAPI,\n isAPIConfigured\n} from \"./api-instance\";\n// NOTE: SWR hooks are generated in ./_utils/hooks/ but NOT exported here to keep\n// the main bundle server-safe. Import hooks directly from the hooks directory:\n// import { useUsers } from './_utils/hooks';\n// Or use a separate entry point like '@djangocfg/api/hooks' for client components.\n\n// Re-export core client\nexport { APIClient };\n\n// Re-export storage adapters for convenience\nexport type { StorageAdapter };\nexport { LocalStorageAdapter, CookieStorageAdapter, MemoryStorageAdapter };\n\n// Re-export error classes for convenience\nexport { APIError, NetworkError } from \"./errors\";\n\n// Re-export HTTP adapters for custom implementations\nexport type { HttpClientAdapter, HttpRequest, HttpResponse } from \"./http\";\nexport { FetchAdapter, KeepAliveFetchAdapter } from \"./http\";\n\n// Re-export logger types and classes\nexport type { LoggerConfig, RequestLog, ResponseLog, ErrorLog } from \"./logger\";\nexport { APILogger } from \"./logger\";\n\n// Re-export retry configuration and utilities\nexport type { RetryConfig, FailedAttemptInfo } from \"./retry\";\nexport { withRetry, shouldRetry, DEFAULT_RETRY_CONFIG } from \"./retry\";\n\nexport const TOKEN_KEY = \"auth_token\";\nexport const REFRESH_TOKEN_KEY = \"refresh_token\";\n\n/** Auto-detect locale from cookie NEXT_LOCALE or navigator.language */\nfunction detectLocale(): string | null {\n try {\n if (typeof document !== 'undefined') {\n const match = document.cookie.match(/(?:^|;\\s*)NEXT_LOCALE=([^;]*)/);\n if (match) return match[1];\n }\n if (typeof navigator !== 'undefined' && navigator.language) {\n return navigator.language;\n }\n } catch {}\n return null;\n}\n\nexport interface APIOptions {\n /** Custom storage adapter (defaults to LocalStorageAdapter) */\n storage?: StorageAdapter;\n /** Custom HTTP client adapter (defaults to FetchAdapter) */\n httpClient?: HttpClientAdapter;\n /** Retry configuration for failed requests */\n retryConfig?: RetryConfig;\n /** Logger configuration */\n loggerConfig?: Partial<LoggerConfig>;\n /** Locale for Accept-Language header (e.g. 'en', 'ko', 'ru') */\n locale?: string;\n}\n\nexport class API {\n private baseUrl: string;\n private _client: APIClient;\n private _token: string | null = null;\n private _refreshToken: string | null = null;\n private _locale: string | null = null;\n private storage: StorageAdapter;\n private options?: APIOptions;\n\n // Sub-clients\n public payments_payments!: PaymentsPayments;\n\n constructor(baseUrl: string, options?: APIOptions) {\n this.baseUrl = baseUrl;\n this.options = options;\n\n // Create logger if config provided\n const logger = options?.loggerConfig ? new APILogger(options.loggerConfig) : undefined;\n\n // Initialize storage with logger\n this.storage = options?.storage || new LocalStorageAdapter(logger);\n\n this._locale = options?.locale || null;\n\n this._loadTokensFromStorage();\n\n // Initialize APIClient with token getter for URL authentication\n this._client = new APIClient(this.baseUrl, {\n httpClient: this.options?.httpClient,\n retryConfig: this.options?.retryConfig,\n loggerConfig: this.options?.loggerConfig,\n tokenGetter: () => this.getToken(),\n });\n\n // Always inject auth header wrapper (reads token dynamically from storage)\n this._injectAuthHeader();\n\n // Initialize sub-clients from APIClient\n this.payments_payments = this._client.payments_payments;\n }\n\n private _loadTokensFromStorage(): void {\n this._token = this.storage.getItem(TOKEN_KEY);\n this._refreshToken = this.storage.getItem(REFRESH_TOKEN_KEY);\n }\n\n private _reinitClients(): void {\n this._client = new APIClient(this.baseUrl, {\n httpClient: this.options?.httpClient,\n retryConfig: this.options?.retryConfig,\n loggerConfig: this.options?.loggerConfig,\n tokenGetter: () => this.getToken(),\n });\n\n // Always inject auth header wrapper (reads token dynamically from storage)\n this._injectAuthHeader();\n\n // Reinitialize sub-clients\n this.payments_payments = this._client.payments_payments;\n }\n\n private _injectAuthHeader(): void {\n // Override request method to inject auth header\n const originalRequest = this._client.request.bind(this._client);\n this._client.request = async <T>(\n method: string,\n path: string,\n options?: { params?: Record<string, any>; body?: any; formData?: FormData; headers?: Record<string, string> }\n ): Promise<T> => {\n // Read token from storage dynamically (supports JWT injection after instantiation)\n const token = this.getToken();\n const locale = this._locale || detectLocale();\n const mergedOptions = {\n ...options,\n headers: {\n ...(options?.headers || {}),\n ...(token ? { 'Authorization': `Bearer ${token}` } : {}),\n ...(locale ? { 'Accept-Language': locale } : {}),\n },\n };\n\n return originalRequest(method, path, mergedOptions);\n };\n }\n\n /**\n * Get current JWT token\n */\n getToken(): string | null {\n return this.storage.getItem(TOKEN_KEY);\n }\n\n /**\n * Get current refresh token\n */\n getRefreshToken(): string | null {\n return this.storage.getItem(REFRESH_TOKEN_KEY);\n }\n\n /**\n * Set JWT token and refresh token\n * @param token - JWT access token\n * @param refreshToken - JWT refresh token (optional)\n */\n setToken(token: string, refreshToken?: string): void {\n this._token = token;\n this.storage.setItem(TOKEN_KEY, token);\n\n if (refreshToken) {\n this._refreshToken = refreshToken;\n this.storage.setItem(REFRESH_TOKEN_KEY, refreshToken);\n }\n\n // Reinitialize clients with new token\n this._reinitClients();\n }\n\n /**\n * Clear all tokens\n */\n clearTokens(): void {\n this._token = null;\n this._refreshToken = null;\n this.storage.removeItem(TOKEN_KEY);\n this.storage.removeItem(REFRESH_TOKEN_KEY);\n\n // Reinitialize clients without token\n this._reinitClients();\n }\n\n /**\n * Check if user is authenticated\n */\n isAuthenticated(): boolean {\n return !!this.getToken();\n }\n\n /**\n * Update base URL and reinitialize clients\n * @param url - New base URL\n */\n setBaseUrl(url: string): void {\n this.baseUrl = url;\n this._reinitClients();\n }\n\n /**\n * Get current base URL\n */\n getBaseUrl(): string {\n return this.baseUrl;\n }\n\n /**\n * Set locale for Accept-Language header\n * @param locale - Locale string (e.g. 'en', 'ko', 'ru') or null to clear\n */\n setLocale(locale: string | null): void {\n this._locale = locale;\n }\n\n /**\n * Get current locale\n */\n getLocale(): string | null {\n return this._locale;\n }\n\n /**\n * Get OpenAPI schema path\n * @returns Path to the OpenAPI schema JSON file\n *\n * Note: The OpenAPI schema is available in the schema.json file.\n * You can load it dynamically using:\n * ```typescript\n * const schema = await fetch('./schema.json').then(r => r.json());\n * // or using fs in Node.js:\n * // const schema = JSON.parse(fs.readFileSync('./schema.json', 'utf-8'));\n * ```\n */\n getSchemaPath(): string {\n return './schema.json';\n }\n}\n\nexport default API;","import { API, MemoryStorageAdapter } from './generated/payments';\n\nconst storage = new MemoryStorageAdapter();\n\nexport function createPaymentsApi(baseUrl: string): API {\n return new API(baseUrl, { storage });\n}\n\nexport { API, MemoryStorageAdapter };\n"]}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ //# sourceMappingURL=chunk-MCTTQUAM.mjs.map
4
+ //# sourceMappingURL=chunk-MCTTQUAM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-MCTTQUAM.mjs"}