UNPKG

@ifzai/connect2dify

Version:

A comprehensive TypeScript client for the Dify API, providing a clean and modular interface for chat, workflow, file management, and application interactions.

136 lines (135 loc) 5.88 kB
/** * Main Dify API Client * Provides a unified interface to all Dify API endpoints */ import { AppAPI } from './app.js'; import { ChatAPI } from './chat.js'; import { ConversationAPI } from './conversation.js'; import { FileAPI } from './file.js'; import type { AppInfo, AppMeta, AppParameters, AudioToTextParams, AudioToTextResult, ChatChunkCompletionResponse, ChatCompletionResponse, CompletionMessageChunkResponse, CompletionMessageResponse, CreateMessageFeedbackParams, CreateMessageFeedbackResult, DeleteConversationParams, DeleteConversationResult, DifyConfiguration, GetConversationsParams, GetConversationsResponse, GetMessageSuggestsParams, GetMessageSuggestsResult, GetMessagesParams, GetMessagesResponse, GetWorkflowLogsParams, GetWorkflowLogsResult, GetWorkflowParams, GetWorkflowResult, HttpClientConfig, RenameConversationParams, RenameConversationResult, SendCompletionMessageParams, SendMessageParams, StopCompletionMessageParams, StopCompletionMessageResult, StopMessageResponseParams, StopMessageResponseResult, StopWorkflowTaskParams, StopWorkflowTaskResult, UploadFileParams, UploadFileResult, WorkflowChunkResponse, WorkflowCompletionResponse, WorkflowRunParams } from './types.js'; import { WorkflowAPI } from './workflow.js'; /** * Main Dify API Client */ export declare class DifyClient { private config; readonly chat: ChatAPI; readonly conversation: ConversationAPI; readonly workflow: WorkflowAPI; readonly file: FileAPI; readonly app: AppAPI; constructor(config: HttpClientConfig & Partial<DifyConfiguration>); /** * Update configuration */ updateConfig(newConfig: Partial<DifyConfiguration>): void; /** * Get current configuration */ getConfig(): DifyConfiguration; /** * @deprecated Use client.chat.sendMessage() instead */ sendMessage(params: SendMessageParams): Promise<ChatCompletionResponse>; /** * @deprecated Use client.chat.sendMessage() with streaming mode instead */ sendMessageStream(params: SendMessageParams): Promise<AsyncIterableIterator<ChatChunkCompletionResponse>>; /** * @deprecated Use client.chat.stopMessageResponse() instead */ stopMessage(params: StopMessageResponseParams): Promise<StopMessageResponseResult>; /** * @deprecated Use client.chat.createMessageFeedback() instead */ createMessageFeedback(params: CreateMessageFeedbackParams): Promise<CreateMessageFeedbackResult>; /** * @deprecated Use client.chat.getMessageSuggests() instead */ getMessageSuggests(params: GetMessageSuggestsParams): Promise<GetMessageSuggestsResult>; /** * @deprecated Use client.conversation.getConversations() instead */ getConversations(params: GetConversationsParams): Promise<GetConversationsResponse>; /** * @deprecated Use client.conversation.deleteConversation() instead */ deleteConversation(params: DeleteConversationParams): Promise<DeleteConversationResult>; /** * @deprecated Use client.conversation.renameConversation() instead */ renameConversation(params: RenameConversationParams): Promise<RenameConversationResult>; /** * @deprecated Use client.conversation.getMessages() instead */ getMessages(params: GetMessagesParams): Promise<GetMessagesResponse>; /** * @deprecated Use client.workflow.runWorkflow() instead */ runWorkflow(params: WorkflowRunParams): Promise<WorkflowCompletionResponse>; /** * @deprecated Use client.workflow.runWorkflow() with streaming mode instead */ runWorkflowStream(params: WorkflowRunParams): Promise<AsyncIterableIterator<WorkflowChunkResponse>>; /** * @deprecated Use client.workflow.getWorkflow() instead */ getWorkflow(params: GetWorkflowParams): Promise<GetWorkflowResult>; /** * @deprecated Use client.workflow.stopWorkflowTask() instead */ stopWorkflowTask(params: StopWorkflowTaskParams): Promise<StopWorkflowTaskResult>; /** * @deprecated Use client.workflow.getWorkflowLogs() instead */ getWorkflowLogs(params: GetWorkflowLogsParams): Promise<GetWorkflowLogsResult>; /** * @deprecated Use client.file.uploadFile() instead */ uploadFile(params: UploadFileParams): Promise<UploadFileResult>; /** * @deprecated Use client.file.audioToText() instead */ audioToText(params: AudioToTextParams): Promise<AudioToTextResult>; /** * @deprecated Use client.app.getParameters() instead */ getAppParameters(params: { user: string; }): Promise<AppParameters>; /** * @deprecated Use client.app.getInfo() instead */ getAppInfo(params: { user: string; }): Promise<AppInfo>; /** * @deprecated Use client.app.getMeta() instead */ getAppMeta(params: { user: string; }): Promise<AppMeta>; /** * @deprecated Use client.app.sendCompletionMessage() instead */ sendCompletionMessage(params: SendCompletionMessageParams): Promise<CompletionMessageResponse>; /** * @deprecated Use client.app.sendCompletionMessage() with streaming mode instead */ sendCompletionMessageStream(params: SendCompletionMessageParams): Promise<AsyncIterableIterator<CompletionMessageChunkResponse>>; /** * @deprecated Use client.app.stopCompletionMessage() instead */ stopCompletionMessage(params: StopCompletionMessageParams): Promise<StopCompletionMessageResult>; } /** * Legacy export for backward compatibility * @deprecated Use DifyClient instead */ export declare const Client: typeof DifyClient; export * from './types.js'; export { ChatAPI } from './chat.js'; export { ConversationAPI } from './conversation.js'; export { WorkflowAPI } from './workflow.js'; export { FileAPI } from './file.js'; export { AppAPI } from './app.js';