@ahmedrowaihi/flowise-vercel-ai-sdk-provider
Version:
Flowise AI SDK Provider
73 lines (66 loc) • 2.37 kB
TypeScript
/**
* @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 };