@mujian/js-sdk 0.0.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/events/index.d.ts +71 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.js +220 -0
- package/dist/modules/ai/chat/chat.d.ts +35 -0
- package/dist/modules/ai/chat/index.d.ts +4 -0
- package/dist/modules/ai/chat/message/index.d.ts +43 -0
- package/dist/modules/ai/chat/project/index.d.ts +3 -0
- package/dist/modules/ai/chat/settings/index.d.ts +3 -0
- package/dist/modules/ai/chat/settings/model.d.ts +24 -0
- package/dist/modules/ai/chat/settings/persona.d.ts +17 -0
- package/dist/modules/ai/chat/settings/style.d.ts +0 -0
- package/dist/modules/ai/index.d.ts +5 -0
- package/dist/modules/ai/text/index.d.ts +2 -0
- package/dist/modules/game/index.d.ts +4 -0
- package/dist/modules/game/saves.d.ts +3 -0
- package/dist/modules/ui/index.d.ts +0 -0
- package/dist/react/chat/index.d.ts +1 -0
- package/dist/react/chat/useChat/error.d.ts +15 -0
- package/dist/react/chat/useChat/index.d.ts +55 -0
- package/dist/react/chat/useChat/inner/chatStreaming.d.ts +23 -0
- package/dist/react/chat/useChat/inner/stream.d.ts +3 -0
- package/dist/react/chat/useChat/message.d.ts +37 -0
- package/dist/react/components/MdRenderer/index.d.ts +20 -0
- package/dist/react/components/MdRenderer/utils.d.ts +38 -0
- package/dist/react/components/MujianProvider/index.d.ts +17 -0
- package/dist/react/components/Thread/MessageItem.d.ts +21 -0
- package/dist/react/components/Thread/MessageList.d.ts +19 -0
- package/dist/react/components/Thread/index.d.ts +4 -0
- package/dist/react/components/button.d.ts +14 -0
- package/dist/react/components/index.d.ts +4 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react.css +156 -0
- package/dist/react.js +832 -0
- package/dist/types/index.d.ts +27 -0
- package/dist/utils/index.d.ts +0 -0
- package/package.json +89 -0
package/README.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Rslib project
|
|
2
|
+
|
|
3
|
+
## Setup
|
|
4
|
+
|
|
5
|
+
Install the dependencies:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm install
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Get started
|
|
12
|
+
|
|
13
|
+
Build the library:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
pnpm build
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Build the library in watch mode:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pnpm dev
|
|
23
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
* 事件
|
|
4
|
+
* @enum {string}
|
|
5
|
+
*/
|
|
6
|
+
export declare enum EVENT {
|
|
7
|
+
/**
|
|
8
|
+
* Doc comments may be included here.
|
|
9
|
+
*/
|
|
10
|
+
MUJIAN_INIT = "mujian:init",
|
|
11
|
+
/**
|
|
12
|
+
* 调用中断信号
|
|
13
|
+
*/
|
|
14
|
+
MUJIAN_AI_CHAT_STOP = "mujian:ai:chat:stop",
|
|
15
|
+
/**
|
|
16
|
+
* 发送消息
|
|
17
|
+
*/
|
|
18
|
+
MUJIAN_AI_CHAT_COMPLETE = "mujian:ai:chat:complete",
|
|
19
|
+
/**
|
|
20
|
+
* 对消息应用正则表达式
|
|
21
|
+
*/
|
|
22
|
+
MUJIAN_AI_CHAT_APPLY_REGEX = "mujian:ai:chat:applyRegex",
|
|
23
|
+
/**
|
|
24
|
+
* 生成文本
|
|
25
|
+
*/
|
|
26
|
+
MUJIAN_AI_TEXT_GENERATE = "mujian:ai:text:generate",
|
|
27
|
+
/**
|
|
28
|
+
* 获取对话
|
|
29
|
+
*/
|
|
30
|
+
MUJIAN_AI_CHAT_MESSAGE_GET_ALL = "mujian:ai:chat:message:getAll",
|
|
31
|
+
/**
|
|
32
|
+
* 获取项目信息
|
|
33
|
+
*/
|
|
34
|
+
MUJIAN_AI_CHAT_PROJECT_GET_INFO = "mujian:ai:chat:project:getInfo",
|
|
35
|
+
/**
|
|
36
|
+
* 获取个人设置
|
|
37
|
+
*/
|
|
38
|
+
MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE = "mujian:ai:settings:persona:getActive",
|
|
39
|
+
/**
|
|
40
|
+
* 设置个人设置
|
|
41
|
+
*/
|
|
42
|
+
MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE = "mujian:ai:settings:persona:setActive",
|
|
43
|
+
/**
|
|
44
|
+
* 获取模型列表
|
|
45
|
+
*/
|
|
46
|
+
MUJIAN_AI_SETTINGS_MODEL_GET_ALL = "mujian:ai:settings:model:getAll",
|
|
47
|
+
/**
|
|
48
|
+
* 设置模型设置
|
|
49
|
+
*/
|
|
50
|
+
MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE = "mujian:ai:settings:model:setActive",
|
|
51
|
+
/**
|
|
52
|
+
* 获取模型设置
|
|
53
|
+
*/
|
|
54
|
+
MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE = "mujian:ai:settings:model:getActive",
|
|
55
|
+
/**
|
|
56
|
+
* 删除消息
|
|
57
|
+
*/
|
|
58
|
+
MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE = "mujian:ai:chat:message:deleteOne",
|
|
59
|
+
/**
|
|
60
|
+
* 编辑消息
|
|
61
|
+
*/
|
|
62
|
+
MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE = "mujian:ai:chat:message:editOne",
|
|
63
|
+
/**
|
|
64
|
+
* 滑动消息
|
|
65
|
+
*/
|
|
66
|
+
MUJIAN_AI_CHAT_MESSAGE_SWIPE = "mujian:ai:chat:message:swipe",
|
|
67
|
+
/**
|
|
68
|
+
* 获取消息提示词
|
|
69
|
+
*/
|
|
70
|
+
MUJIAN_AI_CHAT_MESSAGE_GET_PROMPT = "mujian:ai:chat:message:getPrompt"
|
|
71
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { EVENT } from './events';
|
|
2
|
+
/** @hidden */
|
|
3
|
+
export { EVENT } from './events';
|
|
4
|
+
type Call<T> = {
|
|
5
|
+
resolve: (value: T) => void;
|
|
6
|
+
reject: (reason?: unknown) => void;
|
|
7
|
+
onData?: (data: T) => void;
|
|
8
|
+
onComplete?: () => void;
|
|
9
|
+
signal?: AbortSignal;
|
|
10
|
+
};
|
|
11
|
+
declare global {
|
|
12
|
+
interface Window {
|
|
13
|
+
$mujian: MujianSdk;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
declare class MujianSdk {
|
|
17
|
+
private constructor();
|
|
18
|
+
/** @hidden */
|
|
19
|
+
static getInstance(): MujianSdk;
|
|
20
|
+
/** @hidden */
|
|
21
|
+
private parent;
|
|
22
|
+
/** @hidden */
|
|
23
|
+
private ready;
|
|
24
|
+
/**
|
|
25
|
+
* 是否初始化
|
|
26
|
+
*/
|
|
27
|
+
get isReady(): boolean;
|
|
28
|
+
/** @hidden */
|
|
29
|
+
private pendingRequests;
|
|
30
|
+
/**
|
|
31
|
+
* 初始化
|
|
32
|
+
*/
|
|
33
|
+
init(): Promise<void>;
|
|
34
|
+
/** @hidden */
|
|
35
|
+
emit<T>(event: EVENT, data?: T): void;
|
|
36
|
+
/** @hidden */
|
|
37
|
+
private nextCallId;
|
|
38
|
+
/** @hidden */
|
|
39
|
+
private getCallId;
|
|
40
|
+
/** @hidden */
|
|
41
|
+
call<Req, Resp>(event: EVENT, data?: Req, controller?: Pick<Call<Resp>, 'onData' | 'onComplete' | 'signal'>): Promise<Resp>;
|
|
42
|
+
/**
|
|
43
|
+
* AI
|
|
44
|
+
*/
|
|
45
|
+
ai: {
|
|
46
|
+
chat: {
|
|
47
|
+
project: {
|
|
48
|
+
getInfo: () => Promise<import("./types").ProjectInfo>;
|
|
49
|
+
};
|
|
50
|
+
settings: {
|
|
51
|
+
model: {
|
|
52
|
+
getAll: () => Promise<import("./types").ModelInfo[]>;
|
|
53
|
+
getActive: () => Promise<string>;
|
|
54
|
+
setActive: (modelId: string) => Promise<string>;
|
|
55
|
+
};
|
|
56
|
+
persona: {
|
|
57
|
+
getActive: () => Promise<import("./types").PersonaInfo>;
|
|
58
|
+
setActive: (personaId: string) => Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
complete: (message: string, onData: (data: string) => void, signal?: AbortSignal | undefined) => Promise<string>;
|
|
62
|
+
applyRegex: (props: {
|
|
63
|
+
message: import("./react").Message;
|
|
64
|
+
index: number;
|
|
65
|
+
depth: number;
|
|
66
|
+
}) => Promise<import("./react").Message>;
|
|
67
|
+
continue: (onData: (data: string) => void, signal?: AbortSignal | undefined) => Promise<string>;
|
|
68
|
+
regenerate: (onData: (data: string) => void, signal?: AbortSignal | undefined) => Promise<string>;
|
|
69
|
+
message: {
|
|
70
|
+
getAll: () => Promise<import("./react").Message[]>;
|
|
71
|
+
deleteOne: (messageId: string) => Promise<unknown>;
|
|
72
|
+
editOne: (messageId: string, content: string) => Promise<unknown>;
|
|
73
|
+
swipe: (messageId: string, swipeId: number) => Promise<unknown>;
|
|
74
|
+
getPrompt: (messageId: string) => Promise<unknown>;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
text: {
|
|
78
|
+
complete: () => Promise<void>;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
ui: {};
|
|
82
|
+
util: {
|
|
83
|
+
cn: () => void;
|
|
84
|
+
};
|
|
85
|
+
hybrid: {};
|
|
86
|
+
player: {};
|
|
87
|
+
game: {
|
|
88
|
+
assets: () => void;
|
|
89
|
+
saves: {
|
|
90
|
+
saveGame: () => Promise<void>;
|
|
91
|
+
loadGame: () => Promise<void>;
|
|
92
|
+
};
|
|
93
|
+
ranking: () => void;
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
export { MujianSdk };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import postmate from "postmate";
|
|
2
|
+
var events_EVENT = /*#__PURE__*/ function(EVENT) {
|
|
3
|
+
EVENT["MUJIAN_INIT"] = "mujian:init";
|
|
4
|
+
EVENT["MUJIAN_AI_CHAT_STOP"] = "mujian:ai:chat:stop";
|
|
5
|
+
EVENT["MUJIAN_AI_CHAT_COMPLETE"] = "mujian:ai:chat:complete";
|
|
6
|
+
EVENT["MUJIAN_AI_CHAT_APPLY_REGEX"] = "mujian:ai:chat:applyRegex";
|
|
7
|
+
EVENT["MUJIAN_AI_TEXT_GENERATE"] = "mujian:ai:text:generate";
|
|
8
|
+
EVENT["MUJIAN_AI_CHAT_MESSAGE_GET_ALL"] = "mujian:ai:chat:message:getAll";
|
|
9
|
+
EVENT["MUJIAN_AI_CHAT_PROJECT_GET_INFO"] = "mujian:ai:chat:project:getInfo";
|
|
10
|
+
EVENT["MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE"] = "mujian:ai:settings:persona:getActive";
|
|
11
|
+
EVENT["MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE"] = "mujian:ai:settings:persona:setActive";
|
|
12
|
+
EVENT["MUJIAN_AI_SETTINGS_MODEL_GET_ALL"] = "mujian:ai:settings:model:getAll";
|
|
13
|
+
EVENT["MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE"] = "mujian:ai:settings:model:setActive";
|
|
14
|
+
EVENT["MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE"] = "mujian:ai:settings:model:getActive";
|
|
15
|
+
EVENT["MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE"] = "mujian:ai:chat:message:deleteOne";
|
|
16
|
+
EVENT["MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE"] = "mujian:ai:chat:message:editOne";
|
|
17
|
+
EVENT["MUJIAN_AI_CHAT_MESSAGE_SWIPE"] = "mujian:ai:chat:message:swipe";
|
|
18
|
+
EVENT["MUJIAN_AI_CHAT_MESSAGE_GET_PROMPT"] = "mujian:ai:chat:message:getPrompt";
|
|
19
|
+
return EVENT;
|
|
20
|
+
}({});
|
|
21
|
+
const chat_complete = async function(message, onData, signal) {
|
|
22
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
|
|
23
|
+
content: message
|
|
24
|
+
}, {
|
|
25
|
+
onData,
|
|
26
|
+
signal
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const applyRegex = async function(props) {
|
|
30
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_APPLY_REGEX, props);
|
|
31
|
+
};
|
|
32
|
+
const continueComplete = async function(onData, signal) {
|
|
33
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
|
|
34
|
+
isContinue: true
|
|
35
|
+
}, {
|
|
36
|
+
onData,
|
|
37
|
+
signal
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
const regenerate = async function(onData, signal) {
|
|
41
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_COMPLETE, {
|
|
42
|
+
isRegenerate: true
|
|
43
|
+
}, {
|
|
44
|
+
onData,
|
|
45
|
+
signal
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const getAll = async function() {
|
|
49
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_MESSAGE_GET_ALL);
|
|
50
|
+
};
|
|
51
|
+
const messageDeleteOne = async function(messageId) {
|
|
52
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_MESSAGE_DELETE_ONE, {
|
|
53
|
+
messageId
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const messageEditOne = async function(messageId, content) {
|
|
57
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_MESSAGE_EDIT_ONE, {
|
|
58
|
+
messageId,
|
|
59
|
+
content
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const messageSwipe = async function(messageId, swipeId) {
|
|
63
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_MESSAGE_SWIPE, {
|
|
64
|
+
messageId,
|
|
65
|
+
swipeId
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const getPrompt = async function(messageId) {
|
|
69
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_MESSAGE_GET_PROMPT, {
|
|
70
|
+
messageId
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const getInfo = async function() {
|
|
74
|
+
return await this.call(events_EVENT.MUJIAN_AI_CHAT_PROJECT_GET_INFO);
|
|
75
|
+
};
|
|
76
|
+
const getActive = async function() {
|
|
77
|
+
return await this.call(events_EVENT.MUJIAN_AI_SETTINGS_PERSONA_GET_ACTIVE);
|
|
78
|
+
};
|
|
79
|
+
const setActive = async function(personaId) {
|
|
80
|
+
return await this.call(events_EVENT.MUJIAN_AI_SETTINGS_PERSONA_SET_ACTIVE, {
|
|
81
|
+
personaId
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
const model_getActive = async function() {
|
|
85
|
+
return await this.call(events_EVENT.MUJIAN_AI_SETTINGS_MODEL_GET_ACTIVE);
|
|
86
|
+
};
|
|
87
|
+
const model_setActive = async function(modelId) {
|
|
88
|
+
return await this.call(events_EVENT.MUJIAN_AI_SETTINGS_MODEL_SET_ACTIVE, {
|
|
89
|
+
modelId
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
const model_getAll = async function() {
|
|
93
|
+
return await this.call(events_EVENT.MUJIAN_AI_SETTINGS_MODEL_GET_ALL);
|
|
94
|
+
};
|
|
95
|
+
const generate = async function() {
|
|
96
|
+
return await this.call(events_EVENT.MUJIAN_AI_TEXT_GENERATE, {
|
|
97
|
+
content: 'q'
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
const saveGame = async function() {};
|
|
101
|
+
const loadGame = async function() {};
|
|
102
|
+
class MujianSdk {
|
|
103
|
+
constructor(){}
|
|
104
|
+
static getInstance() {
|
|
105
|
+
if (!window.$mujian) window.$mujian = new MujianSdk();
|
|
106
|
+
return window.$mujian;
|
|
107
|
+
}
|
|
108
|
+
parent = null;
|
|
109
|
+
ready = false;
|
|
110
|
+
get isReady() {
|
|
111
|
+
return this.ready;
|
|
112
|
+
}
|
|
113
|
+
pendingRequests = new Map();
|
|
114
|
+
async init() {
|
|
115
|
+
const handshake = new postmate.Model({
|
|
116
|
+
reply: ({ id, complete, data })=>{
|
|
117
|
+
const call = this.pendingRequests.get(id);
|
|
118
|
+
if (!call) return;
|
|
119
|
+
call.onData?.(data);
|
|
120
|
+
if (complete) {
|
|
121
|
+
call.onComplete?.();
|
|
122
|
+
call.resolve(data);
|
|
123
|
+
this.pendingRequests.delete(id);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
try {
|
|
128
|
+
const parent = await handshake;
|
|
129
|
+
this.ready = true;
|
|
130
|
+
this.parent = parent;
|
|
131
|
+
console.log('mujian sdk client init');
|
|
132
|
+
await this.call(events_EVENT.MUJIAN_INIT);
|
|
133
|
+
} catch (error) {
|
|
134
|
+
console.log('init error', error);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
emit(event, data) {
|
|
138
|
+
if (!this.ready) throw new Error('Mujian is not initialized');
|
|
139
|
+
this.parent?.emit(event, data);
|
|
140
|
+
}
|
|
141
|
+
nextCallId = 0;
|
|
142
|
+
getCallId() {
|
|
143
|
+
const id = this.nextCallId;
|
|
144
|
+
this.nextCallId += 1;
|
|
145
|
+
return id;
|
|
146
|
+
}
|
|
147
|
+
async call(event, data, controller) {
|
|
148
|
+
if (!this.ready) throw new Error('Mujian is not initialized');
|
|
149
|
+
const callId = this.getCallId();
|
|
150
|
+
return new Promise((resolve, reject)=>{
|
|
151
|
+
this.pendingRequests.set(callId, {
|
|
152
|
+
resolve,
|
|
153
|
+
reject,
|
|
154
|
+
...controller
|
|
155
|
+
});
|
|
156
|
+
this.emit(event, {
|
|
157
|
+
id: callId,
|
|
158
|
+
data
|
|
159
|
+
});
|
|
160
|
+
controller?.signal?.addEventListener('abort', ()=>{
|
|
161
|
+
this.emit(events_EVENT.MUJIAN_AI_CHAT_STOP, {
|
|
162
|
+
id: callId
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
ai = {
|
|
168
|
+
chat: {
|
|
169
|
+
project: {
|
|
170
|
+
getInfo: getInfo.bind(this)
|
|
171
|
+
},
|
|
172
|
+
settings: {
|
|
173
|
+
model: {
|
|
174
|
+
getAll: model_getAll.bind(this),
|
|
175
|
+
getActive: model_getActive.bind(this),
|
|
176
|
+
setActive: model_setActive.bind(this)
|
|
177
|
+
},
|
|
178
|
+
persona: {
|
|
179
|
+
getActive: getActive.bind(this),
|
|
180
|
+
setActive: setActive.bind(this)
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
complete: chat_complete.bind(this),
|
|
184
|
+
applyRegex: applyRegex.bind(this),
|
|
185
|
+
continue: continueComplete.bind(this),
|
|
186
|
+
regenerate: regenerate.bind(this),
|
|
187
|
+
message: {
|
|
188
|
+
getAll: getAll.bind(this),
|
|
189
|
+
deleteOne: messageDeleteOne.bind(this),
|
|
190
|
+
editOne: messageEditOne.bind(this),
|
|
191
|
+
swipe: messageSwipe.bind(this),
|
|
192
|
+
getPrompt: getPrompt.bind(this)
|
|
193
|
+
}
|
|
194
|
+
},
|
|
195
|
+
text: {
|
|
196
|
+
complete: generate.bind(this)
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
ui = {};
|
|
200
|
+
util = {
|
|
201
|
+
cn: ()=>{
|
|
202
|
+
console.log('cn');
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
hybrid = {};
|
|
206
|
+
player = {};
|
|
207
|
+
game = {
|
|
208
|
+
assets: ()=>{
|
|
209
|
+
console.log('assets');
|
|
210
|
+
},
|
|
211
|
+
saves: {
|
|
212
|
+
saveGame: saveGame.bind(this),
|
|
213
|
+
loadGame: loadGame.bind(this)
|
|
214
|
+
},
|
|
215
|
+
ranking: ()=>{
|
|
216
|
+
console.log('ranking');
|
|
217
|
+
}
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
export { events_EVENT as EVENT, MujianSdk };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { MujianSdk } from '../../../index.ts';
|
|
2
|
+
import { Message } from '../../../react';
|
|
3
|
+
/**
|
|
4
|
+
* 对话补全
|
|
5
|
+
* @param {string} message 消息
|
|
6
|
+
* @param {Function} onData 数据
|
|
7
|
+
* @param {AbortSignal} signal 信号
|
|
8
|
+
* @returns {Promise<string>} 返回值
|
|
9
|
+
*/
|
|
10
|
+
export declare const complete: (
|
|
11
|
+
/** @hidden */
|
|
12
|
+
this: MujianSdk, message: string, onData: (data: string) => void, signal?: AbortSignal) => Promise<string>;
|
|
13
|
+
export declare const applyRegex: (this: MujianSdk, props: {
|
|
14
|
+
message: Message;
|
|
15
|
+
index: number;
|
|
16
|
+
depth: number;
|
|
17
|
+
}) => Promise<Message>;
|
|
18
|
+
/**
|
|
19
|
+
* 继续
|
|
20
|
+
* @param onData 数据
|
|
21
|
+
* @param signal 信号
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare const continueComplete: (
|
|
25
|
+
/** @hidden */
|
|
26
|
+
this: MujianSdk, onData: (data: string) => void, signal?: AbortSignal) => Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* 重新生成
|
|
29
|
+
* @param onData 数据
|
|
30
|
+
* @param signal 信号
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
export declare const regenerate: (
|
|
34
|
+
/** @hidden */
|
|
35
|
+
this: MujianSdk, onData: (data: string) => void, signal?: AbortSignal) => Promise<string>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { MujianSdk } from '../../../../index.ts';
|
|
2
|
+
import type { Message } from '../../../../react/chat/useChat/message';
|
|
3
|
+
/**
|
|
4
|
+
* 获取消息列表
|
|
5
|
+
* @returns 消息当前列表
|
|
6
|
+
*/
|
|
7
|
+
export declare const getAll: (
|
|
8
|
+
/** @hidden */
|
|
9
|
+
this: MujianSdk) => Promise<Message[]>;
|
|
10
|
+
/**
|
|
11
|
+
* 删除消息
|
|
12
|
+
* @param messageId 消息ID
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export declare const messageDeleteOne: (
|
|
16
|
+
/** @hidden */
|
|
17
|
+
this: MujianSdk, messageId: string) => Promise<unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* 编辑消息
|
|
20
|
+
* @param messageId 消息ID
|
|
21
|
+
* @param content 内容
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
export declare const messageEditOne: (
|
|
25
|
+
/** @hidden */
|
|
26
|
+
this: MujianSdk, messageId: string, content: string) => Promise<unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* 滑动消息
|
|
29
|
+
* @param messageId 消息ID
|
|
30
|
+
* @param swipeId 滑动ID
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
export declare const messageSwipe: (
|
|
34
|
+
/** @hidden */
|
|
35
|
+
this: MujianSdk, messageId: string, swipeId: number) => Promise<unknown>;
|
|
36
|
+
/**
|
|
37
|
+
* 获取消息提示词
|
|
38
|
+
* @param messageId 消息ID
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export declare const getPrompt: (
|
|
42
|
+
/** @hidden */
|
|
43
|
+
this: MujianSdk, messageId: string) => Promise<unknown>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { MujianSdk } from '../../../../index.ts';
|
|
2
|
+
import type { ModelInfo } from '../../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 获取当前激活的模型
|
|
5
|
+
* @returns 模型ID
|
|
6
|
+
*/
|
|
7
|
+
export declare const getActive: (
|
|
8
|
+
/** @hidden */
|
|
9
|
+
this: MujianSdk) => Promise<string>;
|
|
10
|
+
/**
|
|
11
|
+
* 设置当前激活的模型
|
|
12
|
+
* @param modelId
|
|
13
|
+
* @returns 模型ID
|
|
14
|
+
*/
|
|
15
|
+
export declare const setActive: (
|
|
16
|
+
/** @hidden */
|
|
17
|
+
this: MujianSdk, modelId: string) => Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* 获取模型列表
|
|
20
|
+
* @returns 模型列表
|
|
21
|
+
*/
|
|
22
|
+
export declare const getAll: (
|
|
23
|
+
/** @hidden */
|
|
24
|
+
this: MujianSdk) => Promise<ModelInfo[]>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MujianSdk } from '../../../../index.ts';
|
|
2
|
+
import type { PersonaInfo } from '../../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* 获取当前激活的个人设置
|
|
5
|
+
* @returns 个人设置
|
|
6
|
+
*/
|
|
7
|
+
export declare const getActive: (
|
|
8
|
+
/** @hidden */
|
|
9
|
+
this: MujianSdk) => Promise<PersonaInfo>;
|
|
10
|
+
/**
|
|
11
|
+
* 设置当前激活的个人设置
|
|
12
|
+
* @param personaId 个人设置ID
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export declare const setActive: (
|
|
16
|
+
/** @hidden */
|
|
17
|
+
this: MujianSdk, personaId: string) => Promise<void>;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type Message, useChat } from './useChat';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class CreateConversationError extends Error {
|
|
2
|
+
constructor(message: string, cause?: unknown);
|
|
3
|
+
}
|
|
4
|
+
export declare class SendMessageError extends Error {
|
|
5
|
+
constructor(message: string, cause?: unknown);
|
|
6
|
+
}
|
|
7
|
+
export declare class InvalidDeltaContentError extends Error {
|
|
8
|
+
constructor(message: string, cause?: unknown);
|
|
9
|
+
}
|
|
10
|
+
export declare class UnexpectedSseEndingError extends Error {
|
|
11
|
+
constructor(message: string, cause?: unknown);
|
|
12
|
+
}
|
|
13
|
+
export declare class InsufficientBalanceError extends Error {
|
|
14
|
+
constructor(message?: string, cause?: unknown);
|
|
15
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
+
import type { Message } from './message';
|
|
3
|
+
export type { Message };
|
|
4
|
+
/**
|
|
5
|
+
* Use chat
|
|
6
|
+
* @param {object} body - The body of the chat.
|
|
7
|
+
* @param {function} onError - The function to call when an error occurs.
|
|
8
|
+
* @param {function} onFinish - The function to call when the chat is finished.
|
|
9
|
+
* @returns {UseChatReturn} The chat.
|
|
10
|
+
*/
|
|
11
|
+
export type UseChatProps = {
|
|
12
|
+
body?: object;
|
|
13
|
+
onError?: (e: Error) => void;
|
|
14
|
+
onFinish?: (message: Message) => void;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Use chat return
|
|
18
|
+
* @param {Message[]} messages - The messages of the chat.
|
|
19
|
+
* @param {string} status - The status of the chat.
|
|
20
|
+
* @param {Error} error - The error of the chat.
|
|
21
|
+
* @param {function} append - The function to call when the chat is finished.
|
|
22
|
+
* @param {function} regenerate - The function to call when the chat is finished.
|
|
23
|
+
*/
|
|
24
|
+
export type UseChatReturn = {
|
|
25
|
+
messages: Message[];
|
|
26
|
+
status: 'uninitialized' | 'ready' | 'streaming' | 'error';
|
|
27
|
+
error?: Error;
|
|
28
|
+
/** 提交用户输入,让AI回答 */
|
|
29
|
+
append: (query: string) => Promise<void>;
|
|
30
|
+
/** 重新生成最后一条回答 */
|
|
31
|
+
regenerate: () => Promise<void>;
|
|
32
|
+
/** 让AI继续说 */
|
|
33
|
+
continueGenerate: () => Promise<void>;
|
|
34
|
+
stop: () => void;
|
|
35
|
+
setMessages: Dispatch<SetStateAction<Message[]>>;
|
|
36
|
+
input: string;
|
|
37
|
+
setInput: Dispatch<SetStateAction<string>>;
|
|
38
|
+
handleSubmit: () => void;
|
|
39
|
+
setSwipe: (messageId: string, swipeId: number) => Promise<void>;
|
|
40
|
+
editMessage: (messageId: string, content: string) => Promise<void>;
|
|
41
|
+
deleteMessage: (messageId: string) => Promise<void>;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Use chat common
|
|
45
|
+
* @param {object} body - The body of the chat.
|
|
46
|
+
* @returns {UseChatCommon} The chat.
|
|
47
|
+
*/
|
|
48
|
+
export type UseChatCommon = {
|
|
49
|
+
body?: object;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Use chat
|
|
53
|
+
* @returns {UseChatReturn} The chat.
|
|
54
|
+
*/
|
|
55
|
+
export declare const useChat: ({ body, onError, onFinish, }: UseChatProps) => UseChatReturn;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
|
+
import type { MujianSdk } from '../../../../index.ts';
|
|
3
|
+
import type { UseChatCommon } from '..';
|
|
4
|
+
import type { Message } from '../message';
|
|
5
|
+
interface ChatStreamingProps {
|
|
6
|
+
common: UseChatCommon;
|
|
7
|
+
setError: (error: Error | undefined) => void;
|
|
8
|
+
setMessages: Dispatch<SetStateAction<Message[]>>;
|
|
9
|
+
mujian: MujianSdk;
|
|
10
|
+
}
|
|
11
|
+
export declare const useChatStreaming: ({ common, setError, setMessages, mujian, }: ChatStreamingProps) => {
|
|
12
|
+
chatStreaming: ({ query, regenerate, is_continue, signal, }: {
|
|
13
|
+
/** 用户输入 */
|
|
14
|
+
query?: string;
|
|
15
|
+
/** 是否重说 */
|
|
16
|
+
regenerate?: boolean;
|
|
17
|
+
/** 是否继续 */
|
|
18
|
+
is_continue?: boolean;
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
}) => Promise<void>;
|
|
21
|
+
isStreaming: boolean;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { MujianSdk } from '../../../../index.ts';
|
|
2
|
+
export declare function callSdk(mujian: MujianSdk, content: string, type?: 'generate' | 'regenerate' | 'continue', signal?: AbortSignal): AsyncGenerator<string | undefined, void, unknown>;
|
|
3
|
+
export declare function callSdk2(mujian: MujianSdk, content: string, type?: 'generate' | 'regenerate' | 'continue', signal?: AbortSignal): ReadableStream;
|