@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
TypeScript
/**
* 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';