UNPKG

socaity

Version:

SDK for Generative AI. Build AI-powered applications with ease

76 lines (75 loc) 2.67 kB
import { EndpointMetadata, SocaityJob } from '../../types'; /** * Handles HTTP requests to the Socaity API using native fetch */ export declare class RequestHandler { private config; private uploadFileThresholdMB; private maxFileUploadLimitMB; private fastCloud; private abortController; private responseParser; constructor(); /** * Match request parameters against defined parameters * @param definingParams Expected parameters * @param params Actual parameters */ matchParams(definingParams: Record<string, any>, params: Record<string, any>): Record<string, any>; /** * Parse query parameters for the request * @param endpoint Endpoint metadata * @param params Request parameters */ parseQueryParams(endpoint: EndpointMetadata, params: Record<string, any>): Record<string, any>; /** * Parse body parameters for the request * @param endpoint Endpoint metadata * @param params Request parameters */ parseBodyParams(endpoint: EndpointMetadata, params: Record<string, any>): Record<string, any>; /** * Parse file parameters for the request * @param endpoint Endpoint metadata * @param params Request parameters * @returns Processed file parameters */ parseFileParams(endpoint: EndpointMetadata, params: Record<string, any>): Promise<Record<string, any>>; /** * Validates that an API key is available * @private */ private validateAPIKey; /** * Build query string from parameters * @private */ private buildQueryString; /** * Format error response from fetch * @private */ private formatErrorResponse; /** * Send a request to the API * @param path API endpoint path * @param method HTTP method * @param queryParams URL query parameters * @param bodyParams Request body parameters * @param apiKey API key for authentication * @param fileParams Optional files to upload */ sendRequest(path: string, method?: 'GET' | 'POST', queryParams?: Record<string, any>, bodyParams?: Record<string, any>, fileParams?: Record<string, any>, apiKey?: string): Promise<Record<string, string> | string | null>; /** * Make a request to a specific endpoint * @param endpoint Endpoint metadata * @param params Request parameters * @param apiKey API key */ request_endpoint(endpoint: EndpointMetadata, params: Record<string, any>, apiKey?: string): Promise<SocaityJob>; refresh_status(job_id: string): Promise<SocaityJob>; /** * Abort any ongoing requests */ abort(): void; }