Chore: Add type files and unit test ci for Node.js SDK (#2268)

Co-authored-by: xieweicheng <xieweicheng@bytedance.com>
This commit is contained in:
TseIan 2024-02-18 15:54:14 +08:00 committed by GitHub
parent af6a318aae
commit 0b8dcaba8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 107 additions and 1 deletions

34
.github/workflows/tool-test-sdks.yaml vendored Normal file
View File

@ -0,0 +1,34 @@
name: Run Unit Test For SDKs
on:
pull_request:
branches:
- main
jobs:
build:
name: unit test for Node.js SDK
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16, 18, 20]
defaults:
run:
working-directory: sdks/nodejs-client
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: ''
cache-dependency-path: 'yarn.lock'
- name: Install Dependencies
run: yarn install
- name: Test
run: yarn test

71
sdks/nodejs-client/index.d.ts vendored Normal file
View File

@ -0,0 +1,71 @@
// Types.d.ts
export const BASE_URL: string;
export type RequestMethods = 'GET' | 'POST' | 'PATCH' | 'DELETE';
interface Params {
[key: string]: any;
}
interface HeaderParams {
[key: string]: string;
}
interface User {
}
interface ChatMessageConfig {
inputs: any;
query: string;
user: User;
stream?: boolean;
conversation_id?: string | null;
files?: File[] | null;
}
export declare class DifyClient {
constructor(apiKey: string, baseUrl?: string);
updateApiKey(apiKey: string): void;
sendRequest(
method: RequestMethods,
endpoint: string,
data?: any,
params?: Params,
stream?: boolean,
headerParams?: HeaderParams
): Promise<any>;
messageFeedback(message_id: string, rating: number, user: User): Promise<any>;
getApplicationParameters(user: User): Promise<any>;
fileUpload(data: FormData): Promise<any>;
}
export declare class CompletionClient extends DifyClient {
createCompletionMessage(
inputs: any,
user: User,
stream?: boolean,
files?: File[] | null
): Promise<any>;
}
export declare class ChatClient extends DifyClient {
createChatMessage(config: ChatMessageConfig): 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): Promise<any>;
deleteConversation(conversation_id: string, user: User): Promise<any>;
}

View File

@ -1,9 +1,10 @@
{
"name": "dify-client",
"version": "2.2.0",
"version": "2.2.1",
"description": "This is the Node.js SDK for the Dify.AI API, which allows you to easily integrate Dify.AI into your Node.js applications.",
"main": "index.js",
"type": "module",
"types":"index.d.ts",
"keywords": [
"Dify",
"Dify.AI",