@lobehub/lobehub 2.0.0-next.310 → 2.0.0-next.311
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/.github/PULL_REQUEST_TEMPLATE.md +1 -1
- package/CHANGELOG.md +25 -0
- package/changelog/v1.json +9 -0
- package/docs/development/basic/chat-api.mdx +0 -1
- package/docs/development/basic/chat-api.zh-CN.mdx +0 -1
- package/package.json +1 -1
- package/packages/model-runtime/src/core/BaseAI.ts +0 -2
- package/packages/model-runtime/src/core/ModelRuntime.test.ts +0 -37
- package/packages/model-runtime/src/core/ModelRuntime.ts +0 -5
- package/packages/model-runtime/src/core/RouterRuntime/baseRuntimeMap.ts +4 -0
- package/packages/model-runtime/src/core/RouterRuntime/createRuntime.test.ts +325 -200
- package/packages/model-runtime/src/core/RouterRuntime/createRuntime.ts +205 -64
- package/packages/model-runtime/src/core/openaiCompatibleFactory/index.ts +0 -14
- package/packages/model-runtime/src/providers/aihubmix/index.test.ts +14 -20
- package/packages/model-runtime/src/types/index.ts +0 -1
- package/packages/model-runtime/src/utils/createError.test.ts +0 -20
- package/packages/model-runtime/src/utils/createError.ts +0 -1
- package/src/app/(backend)/market/agent/[[...segments]]/route.ts +3 -33
- package/src/app/(backend)/market/oidc/[[...segments]]/route.ts +5 -6
- package/src/app/(backend)/market/social/[[...segments]]/route.ts +5 -52
- package/src/app/(backend)/market/user/[username]/route.ts +3 -9
- package/src/app/(backend)/market/user/me/route.ts +3 -34
- package/src/features/ChatMiniMap/useMinimapData.ts +1 -1
- package/src/features/Conversation/ChatList/components/VirtualizedList.tsx +20 -2
- package/src/features/Conversation/store/slices/virtuaList/action.ts +9 -0
- package/src/libs/trpc/lambda/middleware/marketSDK.ts +14 -23
- package/src/libs/trusted-client/index.ts +1 -1
- package/src/server/routers/lambda/market/index.ts +5 -0
- package/src/server/routers/lambda/market/oidc.ts +41 -61
- package/src/server/routers/tools/market.ts +12 -44
- package/src/server/services/agentRuntime/AgentRuntimeService.test.ts +7 -0
- package/src/server/services/agentRuntime/AgentRuntimeService.ts +1 -1
- package/src/server/services/aiAgent/__tests__/execAgent.threadId.test.ts +7 -0
- package/src/server/services/aiAgent/__tests__/execGroupSubAgentTask.test.ts +7 -0
- package/src/server/services/aiAgent/index.ts +9 -96
- package/src/server/services/discover/index.ts +11 -16
- package/src/server/services/market/index.ts +485 -0
- package/src/server/services/toolExecution/builtin.ts +11 -17
- package/src/server/services/toolExecution/index.ts +6 -2
- package/src/services/codeInterpreter.ts +0 -13
- package/packages/model-runtime/src/types/textToImage.ts +0 -36
- package/src/server/services/lobehubSkill/index.ts +0 -109
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { type LobeChatDatabase } from '@lobechat/database';
|
|
2
|
-
import { MarketSDK } from '@lobehub/market-sdk';
|
|
3
|
-
import debug from 'debug';
|
|
4
|
-
|
|
5
|
-
import { UserModel } from '@/database/models/user';
|
|
6
|
-
import { generateTrustedClientToken } from '@/libs/trusted-client';
|
|
7
|
-
|
|
8
|
-
const log = debug('lobe-server:lobehub-skill-service');
|
|
9
|
-
|
|
10
|
-
export interface LobehubSkillExecuteParams {
|
|
11
|
-
args: Record<string, any>;
|
|
12
|
-
provider: string;
|
|
13
|
-
toolName: string;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface LobehubSkillExecuteResult {
|
|
17
|
-
content: string;
|
|
18
|
-
error?: { code: string; message?: string };
|
|
19
|
-
success: boolean;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export class LobehubSkillService {
|
|
23
|
-
private db: LobeChatDatabase;
|
|
24
|
-
private userId: string;
|
|
25
|
-
private marketSDK?: MarketSDK;
|
|
26
|
-
|
|
27
|
-
constructor(db: LobeChatDatabase, userId: string) {
|
|
28
|
-
this.db = db;
|
|
29
|
-
this.userId = userId;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Initialize MarketSDK with trusted client token
|
|
34
|
-
*/
|
|
35
|
-
private async getMarketSDK(): Promise<MarketSDK | null> {
|
|
36
|
-
if (this.marketSDK) return this.marketSDK;
|
|
37
|
-
|
|
38
|
-
try {
|
|
39
|
-
const user = await UserModel.findById(this.db, this.userId);
|
|
40
|
-
if (!user?.email) {
|
|
41
|
-
log('getMarketSDK: user email not found');
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const trustedClientToken = generateTrustedClientToken({
|
|
46
|
-
email: user.email,
|
|
47
|
-
name: user.fullName || user.firstName || undefined,
|
|
48
|
-
userId: this.userId,
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
if (!trustedClientToken) {
|
|
52
|
-
log('getMarketSDK: trusted client not configured');
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
this.marketSDK = new MarketSDK({
|
|
57
|
-
baseURL: process.env.NEXT_PUBLIC_MARKET_BASE_URL,
|
|
58
|
-
trustedClientToken,
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
return this.marketSDK;
|
|
62
|
-
} catch (error) {
|
|
63
|
-
log('getMarketSDK: error creating SDK: %O', error);
|
|
64
|
-
return null;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Execute a LobeHub Skill tool
|
|
70
|
-
*/
|
|
71
|
-
async execute(params: LobehubSkillExecuteParams): Promise<LobehubSkillExecuteResult> {
|
|
72
|
-
const { provider, toolName, args } = params;
|
|
73
|
-
|
|
74
|
-
log('execute: %s/%s with args: %O', provider, toolName, args);
|
|
75
|
-
|
|
76
|
-
const sdk = await this.getMarketSDK();
|
|
77
|
-
if (!sdk) {
|
|
78
|
-
return {
|
|
79
|
-
content:
|
|
80
|
-
'MarketSDK not available. Please ensure you are authenticated with LobeHub Market.',
|
|
81
|
-
error: { code: 'MARKET_SDK_NOT_AVAILABLE' },
|
|
82
|
-
success: false,
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
try {
|
|
87
|
-
const response = await sdk.skills.callTool(provider, {
|
|
88
|
-
args,
|
|
89
|
-
tool: toolName,
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
log('execute: response: %O', response);
|
|
93
|
-
|
|
94
|
-
return {
|
|
95
|
-
content: typeof response.data === 'string' ? response.data : JSON.stringify(response.data),
|
|
96
|
-
success: response.success,
|
|
97
|
-
};
|
|
98
|
-
} catch (error) {
|
|
99
|
-
const err = error as Error;
|
|
100
|
-
console.error('LobehubSkillService.execute error %s/%s: %O', provider, toolName, err);
|
|
101
|
-
|
|
102
|
-
return {
|
|
103
|
-
content: err.message,
|
|
104
|
-
error: { code: 'LOBEHUB_SKILL_ERROR', message: err.message },
|
|
105
|
-
success: false,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|