mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-06-04 11:14:10 +08:00
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:
parent
af6a318aae
commit
0b8dcaba8f
34
.github/workflows/tool-test-sdks.yaml
vendored
Normal file
34
.github/workflows/tool-test-sdks.yaml
vendored
Normal 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
71
sdks/nodejs-client/index.d.ts
vendored
Normal 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>;
|
||||||
|
}
|
@ -1,9 +1,10 @@
|
|||||||
{
|
{
|
||||||
"name": "dify-client",
|
"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.",
|
"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",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
"types":"index.d.ts",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"Dify",
|
"Dify",
|
||||||
"Dify.AI",
|
"Dify.AI",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user