UNPKG

@base44/sdk

Version:

JavaScript SDK for Base44 API

234 lines (233 loc) 11.2 kB
export type CreateClientOptions = { onError?: (error: Error) => void; }; export type Base44Client = ReturnType<typeof createClient>; /** * Create a Base44 client instance * @param {Object} config - Client configuration * @param {string} [config.serverUrl='https://base44.app'] - API server URL * @param {string} [config.appBaseUrl] - Application base URL * @param {string|number} config.appId - Application ID * @param {string} [config.token] - Authentication token * @param {string} [config.serviceToken] - Service role authentication token * @param {boolean} [config.requiresAuth=false] - Whether the app requires authentication * @returns {Object} Base44 client instance */ export declare function createClient(config: { serverUrl?: string; appBaseUrl?: string; appId: string; token?: string; serviceToken?: string; requiresAuth?: boolean; functionsVersion?: string; headers?: Record<string, string>; options?: CreateClientOptions; }): { /** * Set authentication token for all requests * @param {string} newToken - New auth token */ setToken(newToken: string): void; /** * Get current configuration * @returns {Object} Current configuration */ getConfig(): { serverUrl: string; appId: string; requiresAuth: boolean; }; asServiceRole: { entities: {}; integrations: {}; sso: { getAccessToken(userid: string): Promise<import("axios").AxiosResponse<any, any>>; }; connectors: { getAccessToken(integrationType: import("./types.js").ConnectorIntegrationType): Promise<import("./types.js").ConnectorAccessTokenResponse>; }; functions: { invoke(functionName: string, data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; }; agents: { getConversations: () => Promise<import("./types.js").AgentConversation[]>; getConversation: (conversationId: string) => Promise<import("./types.js").AgentConversation | undefined>; listConversations: (filterParams: import("./types.js").ModelFilterParams) => Promise<import("./types.js").AgentConversation[]>; createConversation: (conversation: { agent_name: string; metadata?: Record<string, any>; }) => Promise<import("./types.js").AgentConversation>; addMessage: (conversation: import("./types.js").AgentConversation, message: import("./types.js").AgentMessage) => Promise<import("./types.js").AgentMessage>; subscribeToConversation: (conversationId: string, onUpdate?: (conversation: import("./types.js").AgentConversation) => void) => () => void; getWhatsAppConnectURL: (agentName: string) => string; }; appLogs: { logUserInApp(pageName: string): Promise<void>; fetchLogs(params?: Record<string, any>): Promise<any>; getStats(params?: Record<string, any>): Promise<any>; }; cleanup: () => void; }; entities: {}; integrations: {}; auth: { me(): Promise<import("axios").AxiosResponse<any, any>>; updateMe(data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; redirectToLogin(nextUrl: string): void; logout(redirectUrl?: string): void; setToken(token: string, saveToStorage?: boolean): void; loginViaEmailPassword(email: string, password: string, turnstileToken?: string): Promise<{ access_token: string; user: any; }>; isAuthenticated(): Promise<boolean>; inviteUser(userEmail: string, role: string): Promise<import("axios").AxiosResponse<any, any>>; register(payload: { email: string; password: string; turnstile_token?: string | null; referral_code?: string | null; }): Promise<import("axios").AxiosResponse<any, any>>; verifyOtp({ email, otpCode }: { email: string; otpCode: string; }): Promise<import("axios").AxiosResponse<any, any>>; resendOtp(email: string): Promise<import("axios").AxiosResponse<any, any>>; resetPasswordRequest(email: string): Promise<import("axios").AxiosResponse<any, any>>; resetPassword({ resetToken, newPassword, }: { resetToken: string; newPassword: string; }): Promise<import("axios").AxiosResponse<any, any>>; changePassword({ userId, currentPassword, newPassword, }: { userId: string; currentPassword: string; newPassword: string; }): Promise<import("axios").AxiosResponse<any, any>>; }; functions: { invoke(functionName: string, data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; }; agents: { getConversations: () => Promise<import("./types.js").AgentConversation[]>; getConversation: (conversationId: string) => Promise<import("./types.js").AgentConversation | undefined>; listConversations: (filterParams: import("./types.js").ModelFilterParams) => Promise<import("./types.js").AgentConversation[]>; createConversation: (conversation: { agent_name: string; metadata?: Record<string, any>; }) => Promise<import("./types.js").AgentConversation>; addMessage: (conversation: import("./types.js").AgentConversation, message: import("./types.js").AgentMessage) => Promise<import("./types.js").AgentMessage>; subscribeToConversation: (conversationId: string, onUpdate?: (conversation: import("./types.js").AgentConversation) => void) => () => void; getWhatsAppConnectURL: (agentName: string) => string; }; appLogs: { logUserInApp(pageName: string): Promise<void>; fetchLogs(params?: Record<string, any>): Promise<any>; getStats(params?: Record<string, any>): Promise<any>; }; cleanup: () => void; }; export declare function createClientFromRequest(request: Request): { /** * Set authentication token for all requests * @param {string} newToken - New auth token */ setToken(newToken: string): void; /** * Get current configuration * @returns {Object} Current configuration */ getConfig(): { serverUrl: string; appId: string; requiresAuth: boolean; }; asServiceRole: { entities: {}; integrations: {}; sso: { getAccessToken(userid: string): Promise<import("axios").AxiosResponse<any, any>>; }; connectors: { getAccessToken(integrationType: import("./types.js").ConnectorIntegrationType): Promise<import("./types.js").ConnectorAccessTokenResponse>; }; functions: { invoke(functionName: string, data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; }; agents: { getConversations: () => Promise<import("./types.js").AgentConversation[]>; getConversation: (conversationId: string) => Promise<import("./types.js").AgentConversation | undefined>; listConversations: (filterParams: import("./types.js").ModelFilterParams) => Promise<import("./types.js").AgentConversation[]>; createConversation: (conversation: { agent_name: string; metadata?: Record<string, any>; }) => Promise<import("./types.js").AgentConversation>; addMessage: (conversation: import("./types.js").AgentConversation, message: import("./types.js").AgentMessage) => Promise<import("./types.js").AgentMessage>; subscribeToConversation: (conversationId: string, onUpdate?: (conversation: import("./types.js").AgentConversation) => void) => () => void; getWhatsAppConnectURL: (agentName: string) => string; }; appLogs: { logUserInApp(pageName: string): Promise<void>; fetchLogs(params?: Record<string, any>): Promise<any>; getStats(params?: Record<string, any>): Promise<any>; }; cleanup: () => void; }; entities: {}; integrations: {}; auth: { me(): Promise<import("axios").AxiosResponse<any, any>>; updateMe(data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; redirectToLogin(nextUrl: string): void; logout(redirectUrl?: string): void; setToken(token: string, saveToStorage?: boolean): void; loginViaEmailPassword(email: string, password: string, turnstileToken?: string): Promise<{ access_token: string; user: any; }>; isAuthenticated(): Promise<boolean>; inviteUser(userEmail: string, role: string): Promise<import("axios").AxiosResponse<any, any>>; register(payload: { email: string; password: string; turnstile_token?: string | null; referral_code?: string | null; }): Promise<import("axios").AxiosResponse<any, any>>; verifyOtp({ email, otpCode }: { email: string; otpCode: string; }): Promise<import("axios").AxiosResponse<any, any>>; resendOtp(email: string): Promise<import("axios").AxiosResponse<any, any>>; resetPasswordRequest(email: string): Promise<import("axios").AxiosResponse<any, any>>; resetPassword({ resetToken, newPassword, }: { resetToken: string; newPassword: string; }): Promise<import("axios").AxiosResponse<any, any>>; changePassword({ userId, currentPassword, newPassword, }: { userId: string; currentPassword: string; newPassword: string; }): Promise<import("axios").AxiosResponse<any, any>>; }; functions: { invoke(functionName: string, data: Record<string, any>): Promise<import("axios").AxiosResponse<any, any>>; }; agents: { getConversations: () => Promise<import("./types.js").AgentConversation[]>; getConversation: (conversationId: string) => Promise<import("./types.js").AgentConversation | undefined>; listConversations: (filterParams: import("./types.js").ModelFilterParams) => Promise<import("./types.js").AgentConversation[]>; createConversation: (conversation: { agent_name: string; metadata?: Record<string, any>; }) => Promise<import("./types.js").AgentConversation>; addMessage: (conversation: import("./types.js").AgentConversation, message: import("./types.js").AgentMessage) => Promise<import("./types.js").AgentMessage>; subscribeToConversation: (conversationId: string, onUpdate?: (conversation: import("./types.js").AgentConversation) => void) => () => void; getWhatsAppConnectURL: (agentName: string) => string; }; appLogs: { logUserInApp(pageName: string): Promise<void>; fetchLogs(params?: Record<string, any>): Promise<any>; getStats(params?: Record<string, any>): Promise<any>; }; cleanup: () => void; };