@nocobase/plugin-ai 2.1.0-alpha.12 → 2.1.0-alpha.14
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/dist/ai/ai-employees/atlas/index.d.ts +10 -0
- package/dist/ai/ai-employees/atlas/index.js +56 -0
- package/dist/ai/ai-employees/atlas/prompt.md +84 -0
- package/dist/ai/ai-employees/vera.js +1 -1
- package/dist/ai/tools/chartGenerator.js +1 -0
- package/dist/ai/tools/getSkill.js +1 -1
- package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.d.ts +10 -0
- package/dist/ai/tools/sub-agents/dispatch-sub-agent-task.js +108 -0
- package/dist/ai/tools/sub-agents/get-ai-employee.d.ts +10 -0
- package/dist/ai/tools/sub-agents/get-ai-employee.js +67 -0
- package/dist/ai/tools/sub-agents/list-ai-employees.d.ts +10 -0
- package/dist/ai/tools/sub-agents/list-ai-employees.js +64 -0
- package/dist/ai/tools/sub-agents/shared.d.ts +33 -0
- package/dist/ai/tools/sub-agents/shared.js +169 -0
- package/dist/ai/tools/suggestions.js +2 -2
- package/dist/client/7237366e104efa7a.js +10 -0
- package/dist/client/748fbb87c1013c6e.js +10 -0
- package/dist/client/ai-employees/built-in/utils.d.ts +1 -0
- package/dist/client/ai-employees/chatbox/AIEmployeeSwitch.d.ts +0 -1
- package/dist/client/ai-employees/chatbox/hooks/useChatBoxActions.d.ts +5 -3
- package/dist/client/ai-employees/chatbox/roles.d.ts +1 -0
- package/dist/client/ai-employees/chatbox/stores/chat-messages.d.ts +8 -0
- package/dist/client/ai-employees/chatbox/utils.d.ts +15 -1
- package/dist/client/ai-employees/sub-agents/tools/index.d.ts +10 -0
- package/dist/client/ai-employees/sub-agents/ui/SubAgentDispatchCard.d.ts +21 -0
- package/dist/client/ai-employees/types.d.ts +19 -0
- package/dist/client/index.js +7 -7
- package/dist/externalVersion.js +16 -15
- package/dist/locale/en-US.json +10 -1
- package/dist/locale/zh-CN.json +10 -1
- package/dist/node_modules/fast-glob/package.json +1 -1
- package/dist/node_modules/flexsearch/package.json +1 -1
- package/dist/node_modules/fs-extra/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/node_modules/openai/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/ai-employees/ai-conversations.d.ts +64 -0
- package/dist/server/ai-employees/ai-conversations.js +285 -0
- package/dist/server/ai-employees/ai-employee.d.ts +85 -9
- package/dist/server/ai-employees/ai-employee.js +264 -149
- package/dist/server/ai-employees/middleware/conversation.d.ts +2 -0
- package/dist/server/ai-employees/middleware/conversation.js +38 -5
- package/dist/server/ai-employees/middleware/tools.js +37 -10
- package/dist/server/ai-employees/prompts.d.ts +9 -1
- package/dist/server/ai-employees/prompts.js +24 -2
- package/dist/server/ai-employees/sub-agents/dispatcher.d.ts +36 -0
- package/dist/server/ai-employees/sub-agents/dispatcher.js +225 -0
- package/dist/server/ai-employees/sub-agents/index.d.ts +9 -0
- package/dist/server/ai-employees/sub-agents/index.js +36 -0
- package/dist/server/collections/ai-conversations.js +6 -0
- package/dist/server/llm-providers/anthropic.d.ts +1 -0
- package/dist/server/llm-providers/anthropic.js +2 -1
- package/dist/server/llm-providers/dashscope.d.ts +3 -0
- package/dist/server/llm-providers/dashscope.js +16 -2
- package/dist/server/llm-providers/deepseek.d.ts +1 -0
- package/dist/server/llm-providers/deepseek.js +5 -2
- package/dist/server/llm-providers/google-genai.d.ts +1 -0
- package/dist/server/llm-providers/google-genai.js +2 -1
- package/dist/server/llm-providers/kimi/provider.d.ts +1 -0
- package/dist/server/llm-providers/openai/responses.d.ts +1 -0
- package/dist/server/llm-providers/openai/responses.js +2 -1
- package/dist/server/llm-providers/provider.d.ts +1 -10
- package/dist/server/llm-providers/provider.js +3 -34
- package/dist/server/migrations/20260319000000-add-ai-conversations-from.d.ts +14 -0
- package/dist/server/migrations/20260319000000-add-ai-conversations-from.js +63 -0
- package/dist/server/plugin.d.ts +4 -0
- package/dist/server/plugin.js +4 -0
- package/dist/server/resource/aiConversations.d.ts +3 -3
- package/dist/server/resource/aiConversations.js +125 -159
- package/dist/server/types/ai-chat-conversation.type.d.ts +8 -2
- package/dist/server/types/ai-message.type.d.ts +7 -0
- package/dist/server/utils.d.ts +3 -0
- package/dist/server/utils.js +25 -1
- package/package.json +4 -2
- package/dist/client/27539a4356faebb1.js +0 -10
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Model, Transaction } from '@nocobase/database';
|
|
10
10
|
import { LLMProvider } from '../llm-providers/provider';
|
|
11
|
-
import { AIChatContext, AIChatConversation, AIMessageInput, UserDecision } from '../types';
|
|
11
|
+
import { AIChatContext, AIChatConversation, AIMessageInput, AIToolCall, UserDecision } from '../types';
|
|
12
12
|
import { DocumentSegmentedWithScore } from '../features';
|
|
13
13
|
import { KnowledgeBaseGroup } from '../types';
|
|
14
14
|
import { ToolsEntry } from '@nocobase/ai';
|
|
@@ -18,32 +18,58 @@ export interface ModelRef {
|
|
|
18
18
|
llmService: string;
|
|
19
19
|
model: string;
|
|
20
20
|
}
|
|
21
|
+
export interface AIEmployeeOptions {
|
|
22
|
+
ctx: Context;
|
|
23
|
+
employee: Model;
|
|
24
|
+
sessionId: string;
|
|
25
|
+
systemMessage?: string;
|
|
26
|
+
skillSettings?: Record<string, any>;
|
|
27
|
+
webSearch?: boolean;
|
|
28
|
+
model?: ModelRef;
|
|
29
|
+
legacy?: boolean;
|
|
30
|
+
from?: 'main-agent' | 'sub-agent';
|
|
31
|
+
}
|
|
21
32
|
export declare class AIEmployee {
|
|
33
|
+
sessionId: string;
|
|
34
|
+
from: string;
|
|
22
35
|
employee: Model;
|
|
23
36
|
aiChatConversation: AIChatConversation;
|
|
24
37
|
skillSettings?: Record<string, any>;
|
|
25
38
|
private plugin;
|
|
26
39
|
private db;
|
|
27
|
-
private sessionId;
|
|
28
40
|
private ctx;
|
|
29
41
|
private systemMessage;
|
|
42
|
+
private protocol;
|
|
30
43
|
private webSearch?;
|
|
31
44
|
private model?;
|
|
32
45
|
private legacy?;
|
|
33
|
-
|
|
34
|
-
|
|
46
|
+
constructor({ ctx, employee, sessionId, systemMessage, skillSettings, webSearch, model, legacy, from, }: AIEmployeeOptions);
|
|
47
|
+
getFormatMessages(userMessages: AIMessageInput[]): Promise<{
|
|
48
|
+
role: "user" | "assistant" | "tool" | "system";
|
|
49
|
+
content: any;
|
|
50
|
+
tool_call_id?: string;
|
|
51
|
+
tool_calls?: AIToolCall[];
|
|
52
|
+
}[]>;
|
|
35
53
|
private buildState;
|
|
36
54
|
private initSession;
|
|
37
55
|
private buildChatContext;
|
|
38
56
|
stream({ messageId, userMessages, userDecisions, }: {
|
|
39
57
|
messageId?: string;
|
|
40
58
|
userMessages?: AIMessageInput[];
|
|
41
|
-
userDecisions?:
|
|
59
|
+
userDecisions?: {
|
|
60
|
+
interruptId?: string;
|
|
61
|
+
decisions: UserDecision[];
|
|
62
|
+
};
|
|
42
63
|
}): Promise<boolean>;
|
|
43
|
-
invoke({ messageId, userMessages, userDecisions, }: {
|
|
64
|
+
invoke({ messageId, userMessages, userDecisions, writer, context, }: {
|
|
44
65
|
messageId?: string;
|
|
45
66
|
userMessages?: AIMessageInput[];
|
|
46
|
-
userDecisions?:
|
|
67
|
+
userDecisions?: {
|
|
68
|
+
interruptId?: string;
|
|
69
|
+
decisions: UserDecision[];
|
|
70
|
+
};
|
|
71
|
+
writer?: (chunk: any) => void;
|
|
72
|
+
context?: any;
|
|
47
73
|
}): Promise<any>;
|
|
48
74
|
getLLMService(): Promise<{
|
|
49
75
|
provider: LLMProvider;
|
|
@@ -93,7 +119,7 @@ export declare class AIEmployee {
|
|
|
93
119
|
name: string;
|
|
94
120
|
args: any;
|
|
95
121
|
}[]): Promise<Model<AIToolMessage>[]>;
|
|
96
|
-
updateToolCallInterrupted(messageId: string, toolCallId: string, interruptAction: {
|
|
122
|
+
updateToolCallInterrupted(sessionId: string, messageId: string, toolCallId: string, interruptId: string, interruptAction: {
|
|
97
123
|
order: number;
|
|
98
124
|
description?: string;
|
|
99
125
|
allowed_decisions?: string[];
|
|
@@ -103,7 +129,6 @@ export declare class AIEmployee {
|
|
|
103
129
|
confirmToolCall(transaction: Transaction, messageId: string, toolCallIds: string[]): Promise<number>;
|
|
104
130
|
getToolCallResult(messageId: string, toolCallId: string): Promise<AIToolMessage>;
|
|
105
131
|
getToolCallResultMap(messageId: string, toolCallIds: string[]): Promise<Map<string, AIToolMessage>>;
|
|
106
|
-
getUserDecisions(messageId: string): Promise<UserDecision[]>;
|
|
107
132
|
cancelToolCall(): Promise<any>;
|
|
108
133
|
get logger(): any;
|
|
109
134
|
sendErrorResponse(errorMessage: string): void;
|
|
@@ -127,11 +152,13 @@ export declare class AIEmployee {
|
|
|
127
152
|
private getAgentTools;
|
|
128
153
|
getLoadedSkillNames(): Promise<string[]>;
|
|
129
154
|
getActivatedSkillToolNames(): Promise<Set<string>>;
|
|
155
|
+
private getAvailableAIEmployees;
|
|
130
156
|
private getMiddleware;
|
|
131
157
|
private getCurrentThread;
|
|
132
158
|
private forkCurrentThread;
|
|
133
159
|
getToolsMap(): Promise<Map<string, import("@nocobase/ai").ToolsOptions>>;
|
|
134
160
|
private listTools;
|
|
161
|
+
private withRunMetadata;
|
|
135
162
|
private get toolsManager();
|
|
136
163
|
private get aiConversationsRepo();
|
|
137
164
|
private get aiMessagesRepo();
|
|
@@ -140,3 +167,52 @@ export declare class AIEmployee {
|
|
|
140
167
|
private get aiToolMessagesModel();
|
|
141
168
|
private get aiFilesModel();
|
|
142
169
|
}
|
|
170
|
+
export declare class ChatStreamProtocol {
|
|
171
|
+
private readonly streamConsumer;
|
|
172
|
+
private _statistics;
|
|
173
|
+
constructor(streamConsumer: StreamConsumer);
|
|
174
|
+
static fromContext(ctx: Context): ChatStreamProtocol;
|
|
175
|
+
with(conversation: {
|
|
176
|
+
sessionId: string;
|
|
177
|
+
from: string;
|
|
178
|
+
username: string;
|
|
179
|
+
}): {
|
|
180
|
+
startStream: () => void;
|
|
181
|
+
endStream: () => void;
|
|
182
|
+
subAgentCompleted: () => void;
|
|
183
|
+
newMessage: (content?: unknown) => void;
|
|
184
|
+
content: (content: string) => void;
|
|
185
|
+
webSearch: (content: {
|
|
186
|
+
type: string;
|
|
187
|
+
query: string;
|
|
188
|
+
}[]) => void;
|
|
189
|
+
reasoning: (content: {
|
|
190
|
+
status: string;
|
|
191
|
+
content: string;
|
|
192
|
+
}) => void;
|
|
193
|
+
stopReasoning: () => void;
|
|
194
|
+
toolCallChunks: (content: unknown) => void;
|
|
195
|
+
toolCalls: (content: unknown) => void;
|
|
196
|
+
toolCallStatus: ({ toolCall, invokeStatus, status, interruptAction, }: {
|
|
197
|
+
toolCall: {
|
|
198
|
+
messageId: string;
|
|
199
|
+
id: string;
|
|
200
|
+
name: string;
|
|
201
|
+
willInterrupt: boolean;
|
|
202
|
+
};
|
|
203
|
+
invokeStatus: string;
|
|
204
|
+
status?: string;
|
|
205
|
+
interruptAction?: {
|
|
206
|
+
order: number;
|
|
207
|
+
description: string;
|
|
208
|
+
allowedDecisions: string[];
|
|
209
|
+
};
|
|
210
|
+
}) => void;
|
|
211
|
+
};
|
|
212
|
+
get statistics(): {
|
|
213
|
+
sent: number;
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
export type StreamConsumer = {
|
|
217
|
+
write: (chunk: any) => void;
|
|
218
|
+
};
|