@motif-ai/sdk 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +26 -0
- package/README.md +127 -0
- package/dist/index.cjs +501 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +8645 -0
- package/dist/index.d.ts +8645 -0
- package/dist/index.js +450 -0
- package/dist/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/axios-instance.ts","../src/generated/sdk/sdk.ts","../src/generated/models/adminApiKeysCreateBodyEnvironment.ts","../src/generated/models/adminConfigUpdateInvestmentConfigBodyConfigDexRouteOrder.ts","../src/generated/models/adminConfigUpdateInvestmentConfigBodyConfigDexRouteSelectionHierarchyItem.ts","../src/generated/models/adminConfigUpdateTransactionConfigBodyConfigRouteSelectionHierarchyItem.ts","../src/generated/models/adminOrganizationInviteOrgAdminBodyRole.ts","../src/generated/models/adminUserUpdateMemberRoleBodyRole.ts","../src/generated/models/marketDataGetLatestMarketDataProvider.ts","../src/generated/models/marketDataGetLatestMarketDataResolution.ts","../src/generated/models/sdkProfileGetAnswers200ItemTier.ts","../src/generated/models/sdkProfileGetCompletionTier.ts","../src/generated/models/sdkProfileGetQuestions200ItemAction.ts","../src/generated/models/sdkProfileGetQuestions200ItemType.ts","../src/generated/models/sdkProfileGetQuestionsType.ts"],"sourcesContent":["/**\n * Motif SDK - Official TypeScript client for B2B Partner API\n *\n * @example\n * ```typescript\n * import { createClient } from '@motif-ai/sdk'\n *\n * // Create client with API key\n * const client = createClient({\n * apiKey: process.env.MOTIF_API_KEY!,\n * })\n *\n * // User management (organization-level operations)\n * const user = await client.users.create({\n * email: 'user@example.com',\n * name: 'John Doe',\n * externalId: 'partner_user_123',\n * })\n *\n * // User-specific operations (profiling and strategies)\n * const userClient = client.forUser(user.id)\n * const questions = await userClient.profile.getQuestions({ type: 'Basic' })\n * const strategy = await userClient.strategies.getRecommended()\n * ```\n */\n\nimport {\n configure as configureAxios,\n type MotifSDKConfig,\n MotifSDKError,\n} from './axios-instance'\nimport { getSdk } from './generated/sdk/sdk'\n\n// Re-export error class and config type\nexport { MotifSDKError }\nexport type { MotifSDKConfig }\n\n// Re-export all generated model types\nexport * from './generated/models'\n\n/**\n * Create a Motif SDK client instance\n *\n * @param config - SDK configuration with API key and optional settings\n * @returns Client instance with structured API namespaces\n *\n * @example\n * ```typescript\n * const client = createClient({\n * apiKey: 'pk_...',\n * baseURL: 'https://api.motifapp.ai/api', // optional\n * })\n * ```\n */\nexport function createClient(config: MotifSDKConfig) {\n // Configure axios instance\n configureAxios(config)\n\n // Get SDK functions\n const sdk = getSdk()\n\n return {\n /**\n * User management operations (organization-level)\n *\n * These operations require only an API key and operate at the\n * organization level. Use these to manage end users within your organization.\n */\n users: {\n /**\n * Create a new end user in the organization\n * @param data - User data (email, name, optional externalId)\n */\n create: sdk.sdkUsersCreate,\n\n /**\n * List all users in the organization with pagination\n * @param params - Optional pagination params (limit, cursor)\n */\n list: sdk.sdkUsersList,\n\n /**\n * Get a user by their internal Motif ID\n * @param id - User ID\n */\n get: sdk.sdkUsersGet,\n\n /**\n * Update user details\n * @param id - User ID\n * @param data - Updated user data\n */\n update: sdk.sdkUsersUpdate,\n\n /**\n * Delete a user permanently\n * @param id - User ID\n */\n delete: sdk.sdkUsersDelete,\n\n /**\n * Get a user by their external ID (partner-defined identifier)\n * @param externalId - External ID\n */\n getByExternalId: sdk.sdkUsersGetByExternalId,\n },\n\n /**\n * Create a user-specific client for profile and strategy operations\n *\n * These operations require both an API key and a user context (x-user-id header).\n * Use this method to perform operations on behalf of a specific user.\n *\n * @param userId - The ID of the user to perform operations for\n * @returns User-scoped client with profile and strategies namespaces\n *\n * @example\n * ```typescript\n * const userClient = client.forUser('user_123')\n * const questions = await userClient.profile.getQuestions({ type: 'Basic' })\n * ```\n */\n forUser: (userId: string) => {\n // Reconfigure with x-user-id header\n configureAxios({\n ...config,\n headers: {\n ...config.headers,\n 'x-user-id': userId,\n },\n })\n\n // Get fresh SDK instance with new headers\n const userSdk = getSdk()\n\n return {\n /**\n * User profiling operations\n *\n * Manage investor profiling questionnaires and computed profiles.\n */\n profile: {\n /**\n * Get profiling questions for a specific tier\n * @param params - Question type (Basic, Advanced, or KYC)\n */\n getQuestions: userSdk.sdkProfileGetQuestions,\n\n /**\n * Save an answer to a profiling question\n * @param data - Question ID and answer\n */\n saveAnswer: userSdk.sdkProfileSaveAnswer,\n\n /**\n * Get all profiling answers for the user\n */\n getAnswers: userSdk.sdkProfileGetAnswers,\n\n /**\n * Get the computed investor profile\n */\n getInvestorProfile: userSdk.sdkProfileGetInvestorProfile,\n\n /**\n * Compute or refresh the investor profile based on current answers\n * @param data - Optional parameters\n */\n computeInvestorProfile: userSdk.sdkProfileComputeInvestorProfile,\n\n /**\n * Get profiling completion status for a tier\n * @param params - Tier to check (Basic, Advanced, or KYC)\n */\n getCompletion: userSdk.sdkProfileGetCompletion,\n },\n\n /**\n * Investment strategy operations\n *\n * Get personalized investment strategy recommendations.\n */\n strategies: {\n /**\n * Get the recommended investment strategy for the user\n */\n getRecommended: userSdk.sdkStrategiesGetRecommended,\n\n /**\n * Generate a new AI-powered investment strategy\n * @param data - Optional generation parameters\n */\n generate: userSdk.sdkStrategiesGenerate,\n },\n }\n },\n }\n}\n","import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from 'axios'\n\n/**\n * SDK configuration options\n */\nexport interface MotifSDKConfig {\n /** API key for authentication */\n apiKey: string\n /** Base URL for the API (defaults to production) */\n baseURL?: string\n /** Request timeout in milliseconds (defaults to 30000) */\n timeout?: number\n /** Custom headers to include in all requests */\n headers?: Record<string, string>\n}\n\n/**\n * SDK error with additional context\n */\nexport class MotifSDKError extends Error {\n constructor(\n message: string,\n public readonly statusCode?: number,\n public readonly response?: unknown\n ) {\n super(message)\n this.name = 'MotifSDKError'\n }\n}\n\n// Internal configuration state\nlet config: MotifSDKConfig | null = null\n\n/**\n * Configure the Motif SDK\n *\n * @example\n * ```typescript\n * import { configure } from '@motif/sdk'\n *\n * configure({\n * apiKey: 'your_api_key_here',\n * baseURL: 'https://api.motifapp.ai/api', // optional\n * })\n * ```\n */\nexport const configure = (options: MotifSDKConfig): void => {\n if (!options.apiKey) {\n throw new Error('API key is required')\n }\n config = {\n ...options,\n baseURL: options.baseURL || 'https://api.motifapp.ai/api',\n timeout: options.timeout || 30000,\n }\n}\n\n/**\n * Get the current configuration\n */\nexport const getConfig = (): MotifSDKConfig | null => config\n\n/**\n * Check if the SDK is configured\n */\nexport const isConfigured = (): boolean => config !== null\n\n/**\n * Reset the SDK configuration (useful for testing)\n */\nexport const resetConfig = (): void => {\n config = null\n}\n\n/**\n * Custom axios instance for Orval-generated code\n * This function is called by all generated API methods\n */\nexport const customInstance = async <T>(\n requestConfig: AxiosRequestConfig\n): Promise<T> => {\n if (!config) {\n throw new MotifSDKError(\n 'Motif SDK not configured. Call configure() first with your API key.'\n )\n }\n\n // Extract origin and path from baseURL separately.\n // Axios ignores the path portion of baseURL when url starts with '/',\n // so we prepend the basePath to the request URL ourselves.\n const baseURL = config.baseURL!\n let origin: string\n let basePath: string\n try {\n const parsed = new URL(baseURL)\n origin = parsed.origin\n basePath = parsed.pathname.replace(/\\/+$/, '') // strip trailing slashes\n } catch {\n // If baseURL is not a full URL (e.g., '/api'), use it as basePath\n origin = ''\n basePath = baseURL.replace(/\\/+$/, '')\n }\n\n // Prepend basePath to the request URL if present\n if (basePath && requestConfig.url) {\n requestConfig.url = `${basePath}${requestConfig.url}`\n }\n\n const instance = axios.create({\n baseURL: origin || undefined,\n timeout: config.timeout,\n headers: {\n 'Content-Type': 'application/json',\n 'x-api-key': config.apiKey,\n ...config.headers,\n },\n })\n\n // Request interceptor for logging/debugging\n instance.interceptors.request.use(\n request => {\n // Handle POST/PUT/PATCH with Content-Type: application/json but no body\n // Server rejects empty body with json content-type, so send empty object\n const isJsonContentType =\n request.headers?.['Content-Type'] === 'application/json'\n const isWriteMethod = ['POST', 'PUT', 'PATCH'].includes(\n request.method?.toUpperCase() || ''\n )\n if (isJsonContentType && isWriteMethod && request.data === undefined) {\n request.data = {}\n }\n return request\n },\n error => {\n return Promise.reject(error)\n }\n )\n\n // Response interceptor for error handling\n instance.interceptors.response.use(\n (response: AxiosResponse) => {\n return response\n },\n (error: AxiosError) => {\n if (error.response) {\n // Server responded with error status\n const message =\n (error.response.data as { message?: string })?.message ||\n error.message ||\n 'Request failed'\n\n throw new MotifSDKError(\n message,\n error.response.status,\n error.response.data\n )\n } else if (error.request) {\n // Request was made but no response received\n throw new MotifSDKError('No response received from server')\n } else {\n // Error in request setup\n throw new MotifSDKError(error.message)\n }\n }\n )\n\n try {\n const response = await instance.request<T>(requestConfig)\n return response.data\n } catch (error) {\n if (error instanceof MotifSDKError) {\n throw error\n }\n throw new MotifSDKError(\n error instanceof Error ? error.message : 'Unknown error'\n )\n }\n}\n\nexport default customInstance\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\nimport type {\n SdkProfileComputeInvestorProfile200,\n SdkProfileComputeInvestorProfileBody,\n SdkProfileGetAnswers200Item,\n SdkProfileGetCompletion200,\n SdkProfileGetCompletionParams,\n SdkProfileGetInvestorProfile200,\n SdkProfileGetQuestions200Item,\n SdkProfileGetQuestionsParams,\n SdkProfileSaveAnswer200,\n SdkProfileSaveAnswerBody,\n SdkStrategiesGenerate200,\n SdkStrategiesGenerateBody,\n SdkStrategiesGetRecommended200,\n SdkUsersCreate200,\n SdkUsersCreateBody,\n SdkUsersDelete200,\n SdkUsersGet200,\n SdkUsersGetByExternalId200,\n SdkUsersList200,\n SdkUsersListParams,\n SdkUsersUpdate200,\n SdkUsersUpdateBody,\n} from '.././models'\n\nimport { customInstance } from '../../axios-instance'\n\nexport const getSdk = () => {\n /**\n * Creates a new end user in the organization. SDK-created users are automatically email verified.\n * @summary Create user\n */\n const sdkUsersCreate = (sdkUsersCreateBody: SdkUsersCreateBody) => {\n return customInstance<SdkUsersCreate200>({\n url: `/v1/sdk/users`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: sdkUsersCreateBody,\n })\n }\n /**\n * Returns a paginated list of users in the organization. Use cursor for pagination.\n * @summary List users\n */\n const sdkUsersList = (params?: SdkUsersListParams) => {\n return customInstance<SdkUsersList200>({\n url: `/v1/sdk/users`,\n method: 'GET',\n params,\n })\n }\n /**\n * Returns a user by their internal Motif ID. User must belong to the organization.\n * @summary Get user by ID\n */\n const sdkUsersGet = (id: string) => {\n return customInstance<SdkUsersGet200>({\n url: `/v1/sdk/users/${id}`,\n method: 'GET',\n })\n }\n /**\n * Updates user details. User must belong to the organization.\n * @summary Update user\n */\n const sdkUsersUpdate = (\n id: string,\n sdkUsersUpdateBody: SdkUsersUpdateBody\n ) => {\n return customInstance<SdkUsersUpdate200>({\n url: `/v1/sdk/users/${id}`,\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n data: sdkUsersUpdateBody,\n })\n }\n /**\n * Permanently deletes a user. User must belong to the organization. This action cannot be undone.\n * @summary Delete user\n */\n const sdkUsersDelete = (id: string) => {\n return customInstance<SdkUsersDelete200>({\n url: `/v1/sdk/users/${id}`,\n method: 'DELETE',\n })\n }\n /**\n * Returns a user by their partner-defined external ID. User must belong to the organization.\n * @summary Get user by external ID\n */\n const sdkUsersGetByExternalId = (externalId: string) => {\n return customInstance<SdkUsersGetByExternalId200>({\n url: `/v1/sdk/users/external/${externalId}`,\n method: 'GET',\n })\n }\n /**\n * Returns profiling questions for the specified type (Basic, Advanced, or KYC). Requires x-user-id header.\n * @summary Get profiling questions\n */\n const sdkProfileGetQuestions = (params: SdkProfileGetQuestionsParams) => {\n return customInstance<SdkProfileGetQuestions200Item[]>({\n url: `/v1/sdk/profile/questions`,\n method: 'GET',\n params,\n })\n }\n /**\n * Saves an answer to a profiling question for the target user. Requires x-user-id header.\n * @summary Save profiling answer\n */\n const sdkProfileSaveAnswer = (\n sdkProfileSaveAnswerBody: SdkProfileSaveAnswerBody\n ) => {\n return customInstance<SdkProfileSaveAnswer200>({\n url: `/v1/sdk/profile/answers`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: sdkProfileSaveAnswerBody,\n })\n }\n /**\n * Returns all profiling answers for the target user. Requires x-user-id header.\n * @summary Get profiling answers\n */\n const sdkProfileGetAnswers = () => {\n return customInstance<SdkProfileGetAnswers200Item[]>({\n url: `/v1/sdk/profile/answers`,\n method: 'GET',\n })\n }\n /**\n * Returns the computed investor profile (spider chart, strength level, summary). Requires x-user-id header.\n * @summary Get investor profile\n */\n const sdkProfileGetInvestorProfile = () => {\n return customInstance<SdkProfileGetInvestorProfile200>({\n url: `/v1/sdk/profile/investor-profile`,\n method: 'GET',\n })\n }\n /**\n * Computes or refreshes the investor profile based on profiling answers. Requires x-user-id header.\n * @summary Compute investor profile\n */\n const sdkProfileComputeInvestorProfile = (\n sdkProfileComputeInvestorProfileBody?: SdkProfileComputeInvestorProfileBody\n ) => {\n return customInstance<SdkProfileComputeInvestorProfile200>({\n url: `/v1/sdk/profile/investor-profile/compute`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: sdkProfileComputeInvestorProfileBody,\n })\n }\n /**\n * Returns completion status for the specified profiling tier. Requires x-user-id header.\n * @summary Get profile completion status\n */\n const sdkProfileGetCompletion = (params: SdkProfileGetCompletionParams) => {\n return customInstance<SdkProfileGetCompletion200>({\n url: `/v1/sdk/profile/completion`,\n method: 'GET',\n params,\n })\n }\n /**\n * Returns the recommended investment strategy for the target user. If no strategy exists, one will be generated. Requires completed Basic profiling. Requires x-user-id header.\n * @summary Get recommended strategy\n */\n const sdkStrategiesGetRecommended = () => {\n return customInstance<SdkStrategiesGetRecommended200>({\n url: `/v1/sdk/strategies/recommended`,\n method: 'GET',\n })\n }\n /**\n * Generates a new personalized investment strategy using AI. Requires completed Basic profiling. This may take several seconds. Requires x-user-id header.\n * @summary Generate investment strategy\n */\n const sdkStrategiesGenerate = (\n sdkStrategiesGenerateBody?: SdkStrategiesGenerateBody\n ) => {\n return customInstance<SdkStrategiesGenerate200>({\n url: `/v1/sdk/strategies/generate`,\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n data: sdkStrategiesGenerateBody,\n })\n }\n return {\n sdkUsersCreate,\n sdkUsersList,\n sdkUsersGet,\n sdkUsersUpdate,\n sdkUsersDelete,\n sdkUsersGetByExternalId,\n sdkProfileGetQuestions,\n sdkProfileSaveAnswer,\n sdkProfileGetAnswers,\n sdkProfileGetInvestorProfile,\n sdkProfileComputeInvestorProfile,\n sdkProfileGetCompletion,\n sdkStrategiesGetRecommended,\n sdkStrategiesGenerate,\n }\n}\nexport type SdkUsersCreateResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersCreate']>>\n>\nexport type SdkUsersListResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersList']>>\n>\nexport type SdkUsersGetResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersGet']>>\n>\nexport type SdkUsersUpdateResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersUpdate']>>\n>\nexport type SdkUsersDeleteResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersDelete']>>\n>\nexport type SdkUsersGetByExternalIdResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkUsersGetByExternalId']>>\n>\nexport type SdkProfileGetQuestionsResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkProfileGetQuestions']>>\n>\nexport type SdkProfileSaveAnswerResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkProfileSaveAnswer']>>\n>\nexport type SdkProfileGetAnswersResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkProfileGetAnswers']>>\n>\nexport type SdkProfileGetInvestorProfileResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkProfileGetInvestorProfile']>>\n>\nexport type SdkProfileComputeInvestorProfileResult = NonNullable<\n Awaited<\n ReturnType<ReturnType<typeof getSdk>['sdkProfileComputeInvestorProfile']>\n >\n>\nexport type SdkProfileGetCompletionResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkProfileGetCompletion']>>\n>\nexport type SdkStrategiesGetRecommendedResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkStrategiesGetRecommended']>>\n>\nexport type SdkStrategiesGenerateResult = NonNullable<\n Awaited<ReturnType<ReturnType<typeof getSdk>['sdkStrategiesGenerate']>>\n>\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminApiKeysCreateBodyEnvironment =\n (typeof AdminApiKeysCreateBodyEnvironment)[keyof typeof AdminApiKeysCreateBodyEnvironment]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminApiKeysCreateBodyEnvironment = {\n production: 'production',\n sandbox: 'sandbox',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminConfigUpdateInvestmentConfigBodyConfigDexRouteOrder =\n (typeof AdminConfigUpdateInvestmentConfigBodyConfigDexRouteOrder)[keyof typeof AdminConfigUpdateInvestmentConfigBodyConfigDexRouteOrder]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminConfigUpdateInvestmentConfigBodyConfigDexRouteOrder = {\n CHEAPEST: 'CHEAPEST',\n FASTEST: 'FASTEST',\n SAFEST: 'SAFEST',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminConfigUpdateInvestmentConfigBodyConfigDexRouteSelectionHierarchyItem =\n (typeof AdminConfigUpdateInvestmentConfigBodyConfigDexRouteSelectionHierarchyItem)[keyof typeof AdminConfigUpdateInvestmentConfigBodyConfigDexRouteSelectionHierarchyItem]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminConfigUpdateInvestmentConfigBodyConfigDexRouteSelectionHierarchyItem =\n {\n RECOMMENDED: 'RECOMMENDED',\n CHEAPEST: 'CHEAPEST',\n FASTEST: 'FASTEST',\n } as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminConfigUpdateTransactionConfigBodyConfigRouteSelectionHierarchyItem =\n (typeof AdminConfigUpdateTransactionConfigBodyConfigRouteSelectionHierarchyItem)[keyof typeof AdminConfigUpdateTransactionConfigBodyConfigRouteSelectionHierarchyItem]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminConfigUpdateTransactionConfigBodyConfigRouteSelectionHierarchyItem =\n {\n RECOMMENDED: 'RECOMMENDED',\n CHEAPEST: 'CHEAPEST',\n FASTEST: 'FASTEST',\n } as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminOrganizationInviteOrgAdminBodyRole =\n (typeof AdminOrganizationInviteOrgAdminBodyRole)[keyof typeof AdminOrganizationInviteOrgAdminBodyRole]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminOrganizationInviteOrgAdminBodyRole = {\n member: 'member',\n admin: 'admin',\n owner: 'owner',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type AdminUserUpdateMemberRoleBodyRole =\n (typeof AdminUserUpdateMemberRoleBodyRole)[keyof typeof AdminUserUpdateMemberRoleBodyRole]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AdminUserUpdateMemberRoleBodyRole = {\n member: 'member',\n admin: 'admin',\n owner: 'owner',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type MarketDataGetLatestMarketDataProvider =\n (typeof MarketDataGetLatestMarketDataProvider)[keyof typeof MarketDataGetLatestMarketDataProvider]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const MarketDataGetLatestMarketDataProvider = {\n COINMARKETCAP: 'COINMARKETCAP',\n LIFI: 'LIFI',\n TIINGO: 'TIINGO',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type MarketDataGetLatestMarketDataResolution =\n (typeof MarketDataGetLatestMarketDataResolution)[keyof typeof MarketDataGetLatestMarketDataResolution]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const MarketDataGetLatestMarketDataResolution = {\n AD_HOC: 'AD_HOC',\n FIVE_MIN: 'FIVE_MIN',\n FIFTEEN_MIN: 'FIFTEEN_MIN',\n ONE_HOUR: 'ONE_HOUR',\n ONE_DAY: 'ONE_DAY',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type SdkProfileGetAnswers200ItemTier =\n (typeof SdkProfileGetAnswers200ItemTier)[keyof typeof SdkProfileGetAnswers200ItemTier]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SdkProfileGetAnswers200ItemTier = {\n Basic: 'Basic',\n Advanced: 'Advanced',\n KYC: 'KYC',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type SdkProfileGetCompletionTier =\n (typeof SdkProfileGetCompletionTier)[keyof typeof SdkProfileGetCompletionTier]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SdkProfileGetCompletionTier = {\n Basic: 'Basic',\n Advanced: 'Advanced',\n KYC: 'KYC',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type SdkProfileGetQuestions200ItemAction =\n (typeof SdkProfileGetQuestions200ItemAction)[keyof typeof SdkProfileGetQuestions200ItemAction]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SdkProfileGetQuestions200ItemAction = {\n SingleSelect: 'SingleSelect',\n MultiSelect: 'MultiSelect',\n Matrix: 'Matrix',\n NumberInput: 'NumberInput',\n PercentageSlider: 'PercentageSlider',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type SdkProfileGetQuestions200ItemType =\n (typeof SdkProfileGetQuestions200ItemType)[keyof typeof SdkProfileGetQuestions200ItemType]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SdkProfileGetQuestions200ItemType = {\n Basic: 'Basic',\n Advanced: 'Advanced',\n KYC: 'KYC',\n} as const\n","/**\n * Generated by orval v7.18.0 🍺\n * Do not edit manually.\n * Motif API\n * Motif API provides programmatic access to the Motif platform.\n\n## Authentication\n\nThis API supports two authentication methods:\n\n### API Key Authentication (for SDK/M2M)\nInclude your API key in the `x-api-key` header:\n```\nx-api-key: your_api_key_here\n```\n\n**Important:** API keys MUST be created via the Admin Panel (`POST /api/admin/api-keys`) to work with SDK endpoints.\nKeys created outside the admin panel will not be associated with an organization and will fail authentication.\n\nThe API key system uses a two-table architecture:\n- **Apikey** (Better Auth) - stores the key hash and rate limits\n- **OrganizationApiKey** (linking table) - associates keys with organizations\n\nOnly keys with both records will work with SDK endpoints (`/api/v1/sdk/*`).\n\n### Bearer Token Authentication (for user sessions)\nInclude your JWT token in the `Authorization` header:\n```\nAuthorization: Bearer your_jwt_token\n```\n\n## Rate Limits\n\nAPI requests are rate limited per organization. Contact support for higher limits.\n * OpenAPI spec version: 1.0.0\n */\n\nexport type SdkProfileGetQuestionsType =\n (typeof SdkProfileGetQuestionsType)[keyof typeof SdkProfileGetQuestionsType]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SdkProfileGetQuestionsType = {\n Basic: 'Basic',\n Advanced: 'Advanced',\n KYC: 'KYC',\n} as const\n"],"mappings":"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","names":["axios","config"]}
|