UNPKG

@datastax/langflow-client

Version:
77 lines (76 loc) 1.97 kB
import type { fetch, FormData, Headers } from "undici"; import { InputTypes, OutputTypes } from "./consts.js"; export interface LangflowClientOptions { baseUrl?: string; langflowId?: string; apiKey?: string; fetch?: typeof fetch; defaultHeaders?: Headers; } export type FlowInputType = (typeof InputTypes)[keyof typeof InputTypes]; export type FlowOutputType = (typeof OutputTypes)[keyof typeof OutputTypes]; export interface FlowRequestOptions { input_type: FlowInputType; output_type: FlowOutputType; input_value: string; tweaks?: Tweaks; session_id?: string; signal?: AbortSignal; } export interface RequestOptions { path: string; method: string; query?: Record<string, string>; body?: string | FormData; headers: Headers | Record<string, string>; signal?: AbortSignal; } export type Tweak = Record<string, string | number | null | boolean>; export type Tweaks = Record<string, Tweak | string>; export interface LangflowResponse { session_id: string; outputs: Array<{ inputs: object; outputs: Array<object>; }>; } export interface LangflowUploadResponse { flowId: string; file_path: string; } export interface LangflowUploadResponseUserFile { id: string; user_id: string; name: string; path: string; size: number; provider?: string; updated_at?: string; created_at?: string; } type TokenStreamEvent = { event: "token"; data: { chunk: string; id: string; timestamp: string; }; }; type AddMessageStreamEvent = { event: "add_message"; data: unknown; }; type EndStreamEvent = { event: "end"; data: { result: { session_id: string; outputs: Array<{ inputs: unknown; outputs: Array<unknown>; }>; }; }; }; export type StreamEvent = TokenStreamEvent | AddMessageStreamEvent | EndStreamEvent; export {};