UNPKG

dify-client-plus-node

Version:

This is the Node.js SDK for the Dify.AI API, which allows you to easily integrate Dify.AI into your Node.js applications.

131 lines (111 loc) 3.68 kB
// 基础类型声明 export const BASE_URL: string; export type RequestMethods = "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; interface RouteDefinition { method: RequestMethods; url: ((...args: any[]) => string) | string; } export interface Routes { application: RouteDefinition; feedback: RouteDefinition; createChatMessage: RouteDefinition; getConversationMessages: RouteDefinition; getConversations: RouteDefinition; renameConversation: RouteDefinition; deleteConversation: RouteDefinition; fileUpload: RouteDefinition; getMeta: RouteDefinition; getInfo: RouteDefinition; aduioToText: RouteDefinition; textToAudio: RouteDefinition; getSuggested: RouteDefinition; stopChat: RouteDefinition; runWorkflow: RouteDefinition; checkWorkflow: RouteDefinition; stopWorkflow: RouteDefinition; getWorkflowLogs: RouteDefinition; getAnnotations: RouteDefinition; createAnnotation: RouteDefinition; updateAnnotation: RouteDefinition; deleteAnnotation: RouteDefinition; replyAnnotation: RouteDefinition; checkAnnotation: RouteDefinition; } export const routes: Routes; interface User { [key: string]: any; } interface File { type: string; transfer_method: string; url: string; } export class DifyClient { protected apiKey: string; protected baseUrl: string; constructor(apiKey: string, baseUrl?: string); updateApiKey(apiKey: string): void; protected sendRequest( method: RequestMethods, endpoint: string, data?: any | null, params?: any | null, stream?: boolean, headerParams?: Record<string, string> ): Promise<any>; messageFeedback(message_id: string, rating: number, user: User): Promise<any>; getApplicationParameters(user: User): Promise<any>; getInfo(user: User): Promise<any>; fileUpload(data: FormData): Promise<any>; aduioToText(data: FormData): Promise<any>; textToAudio(data: FormData): Promise<any>; } export class WorkflowClient extends DifyClient { checkWorkflow(workflow_id: string): Promise<any>; stopWorkflow(task_id: string, user: User): Promise<any>; getWorkflowLogs(keyword: string, status: string, page?: number, limit?: number | null): Promise<any>; runWorkflow(inputs: any, user: User, stream?: boolean, files?: File[] | null): Promise<any>; } export class ChatClient extends DifyClient { createChatMessage( inputs: any, query: string, user: User, stream?: boolean, conversation_id?: string | null, files?: File[] | null ): Promise<any>; getConversationMessages( user: User, conversation_id?: string, first_id?: string | null, limit?: number | null ): Promise<any>; getConversations( user: User, first_id?: string | null, limit?: number | null, pinned?: boolean | null ): Promise<any>; renameConversation( conversation_id: string, name: string, user: User, auto_generate: boolean ): Promise<any>; deleteConversation(conversation_id: string, user: User): Promise<any>; stopChat(task_id: string, user: User): Promise<any>; getSuggested(message_id: string, user: User): Promise<any>; getMeta(user: User): Promise<any>; getAnnotations(first_id?: string | null, limit?: number | null): Promise<any>; createAnnotation(question: string, answer: string): Promise<any>; updateAnnotation(annotation_id: string, question: string, answer: string): Promise<any>; deleteAnnotation(annotation_id: string): Promise<any>; replyAnnotation( action: string, embedding_model_provider: string, embedding_model: string, score_threshold: number ): Promise<any>; checkAnnotation(action: string, job_id: string): Promise<any>; }