UNPKG

@ahmedrowaihi/flowise-vercel-ai-sdk-provider

Version:
73 lines (66 loc) 2.37 kB
/** * @ahmedrowaihi/flowise-vercel-ai-sdk-provider v2.1.1 * Flowise AI SDK Provider * Ahmed Rowaihi * MIT * git+https://github.com/ahmedrowaihi/flowise-ai-sdk-provider.git * https://github.com/ahmedrowaihi/flowise-ai-sdk-provider#readme */ import { UIMessage } from 'ai'; import { LanguageModelV2Prompt, ProviderV2, LanguageModelV2 } from '@ai-sdk/provider'; import { FlowiseClient } from 'flowise-sdk'; import { PredictionData } from 'flowise-sdk/dist/flowise-sdk'; interface FlowiseChatMessage { id: string; role: "userMessage" | "apiMessage"; content: string; chatId: string; chatflowid: string; createdDate: Date; sourceDocuments?: string; usedTools?: string; fileAnnotations?: string; agentReasoning?: string; artifacts?: string; action?: string; followUpPrompts?: string; } interface ConvertToAiSdkMessageOptions { allowMessageTypes?: FlowiseChatMessage["role"][]; } declare function convertToAiSdkMessage(messages: FlowiseChatMessage[], options?: ConvertToAiSdkMessageOptions): UIMessage[]; declare function convertToFlowiseMessage(prompt: LanguageModelV2Prompt): string; interface Logger { debug: (...args: Parameters<typeof console.debug>) => void; warn: (...args: Parameters<typeof console.warn>) => void; error: (...args: Parameters<typeof console.error>) => void; } interface FlowisePredictionRequest extends Omit<PredictionData, "chatflowId"> { } interface FlowiseClientOptions { baseUrl: string; apiKey?: string; timeout?: number; logger?: Logger; } interface FlowiseProvider extends ProviderV2 { (chatflowId: string): LanguageModelV2; /** Creates a model for text generation. */ chat(chatflowId: string): LanguageModelV2; client: FlowiseClient; } /** Create a Flowise AI provider instance. */ declare function createFlowiseProvider(options: FlowiseClientOptions): FlowiseProvider; /** Create a Flowise model instance directly with credentials and chatflow ID. This is a convenience function for one-shot usage. */ declare function createFlowiseModel(options: FlowiseClientOptions & { chatflowId: string; }): LanguageModelV2; export { convertToAiSdkMessage, convertToFlowiseMessage, createFlowiseModel, createFlowiseProvider }; export type { FlowiseChatMessage, FlowiseClientOptions, FlowisePredictionRequest, FlowiseProvider };