@lobehub/chat 1.90.3 → 1.90.4
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/.cursor/rules/backend-architecture.mdc +12 -9
- package/.cursor/rules/cursor-ux-optimize.mdc +1 -1
- package/.cursor/rules/define-database-model.mdc +1 -1
- package/.cursor/rules/drizzle-schema-style-guide.mdc +1 -1
- package/.cursor/rules/i18n/i18n.mdc +1 -1
- package/.cursor/rules/project-introduce.mdc +2 -1
- package/.cursor/rules/system-role.mdc +42 -0
- package/.cursor/rules/zustand-action-patterns.mdc +318 -0
- package/.cursor/rules/zustand-slice-organization.mdc +300 -0
- package/CHANGELOG.md +33 -0
- package/README.md +2 -2
- package/README.zh-CN.md +2 -2
- package/changelog/v1.json +12 -0
- package/docs/self-hosting/advanced/model-list.mdx +1 -1
- package/docs/self-hosting/advanced/model-list.zh-CN.mdx +1 -1
- package/docs/self-hosting/environment-variables/model-provider.mdx +2 -2
- package/docs/self-hosting/environment-variables/model-provider.zh-CN.mdx +2 -2
- package/package.json +44 -44
- package/src/features/PluginsUI/Render/utils/iframeOnReady.test.ts +1 -1
- package/src/features/PluginsUI/Render/utils/pluginSettings.test.ts +1 -1
- package/src/features/PluginsUI/Render/utils/pluginState.test.ts +1 -1
- package/src/libs/model-runtime/BaseAI.ts +3 -3
- package/src/libs/model-runtime/ModelRuntime.ts +2 -2
- package/src/libs/model-runtime/UniformRuntime/index.ts +2 -2
- package/src/libs/model-runtime/ai21/index.ts +2 -2
- package/src/libs/model-runtime/ai360/index.ts +2 -2
- package/src/libs/model-runtime/anthropic/index.ts +15 -11
- package/src/libs/model-runtime/azureOpenai/index.ts +2 -2
- package/src/libs/model-runtime/azureai/index.ts +4 -4
- package/src/libs/model-runtime/baichuan/index.ts +2 -2
- package/src/libs/model-runtime/bedrock/index.ts +4 -4
- package/src/libs/model-runtime/cloudflare/index.ts +2 -2
- package/src/libs/model-runtime/cohere/index.ts +2 -2
- package/src/libs/model-runtime/deepseek/index.ts +2 -2
- package/src/libs/model-runtime/fireworksai/index.ts +2 -2
- package/src/libs/model-runtime/giteeai/index.ts +2 -2
- package/src/libs/model-runtime/github/index.ts +2 -2
- package/src/libs/model-runtime/google/index.ts +7 -5
- package/src/libs/model-runtime/groq/index.ts +2 -2
- package/src/libs/model-runtime/higress/index.ts +2 -2
- package/src/libs/model-runtime/huggingface/index.ts +2 -2
- package/src/libs/model-runtime/hunyuan/index.ts +2 -2
- package/src/libs/model-runtime/index.ts +1 -1
- package/src/libs/model-runtime/infiniai/index.ts +2 -2
- package/src/libs/model-runtime/internlm/index.ts +7 -9
- package/src/libs/model-runtime/jina/index.ts +2 -2
- package/src/libs/model-runtime/lmstudio/index.ts +2 -2
- package/src/libs/model-runtime/minimax/index.ts +2 -2
- package/src/libs/model-runtime/mistral/index.ts +2 -2
- package/src/libs/model-runtime/modelscope/index.ts +2 -3
- package/src/libs/model-runtime/moonshot/index.ts +2 -2
- package/src/libs/model-runtime/novita/index.ts +2 -2
- package/src/libs/model-runtime/nvidia/index.ts +2 -2
- package/src/libs/model-runtime/ollama/index.ts +2 -2
- package/src/libs/model-runtime/openai/index.ts +3 -3
- package/src/libs/model-runtime/openrouter/index.ts +2 -2
- package/src/libs/model-runtime/perplexity/index.ts +2 -2
- package/src/libs/model-runtime/ppio/index.ts +2 -2
- package/src/libs/model-runtime/qiniu/index.ts +2 -2
- package/src/libs/model-runtime/qwen/index.ts +2 -2
- package/src/libs/model-runtime/sambanova/index.ts +2 -2
- package/src/libs/model-runtime/search1api/index.ts +2 -2
- package/src/libs/model-runtime/sensenova/index.ts +2 -2
- package/src/libs/model-runtime/siliconcloud/index.ts +2 -2
- package/src/libs/model-runtime/spark/index.ts +15 -13
- package/src/libs/model-runtime/stepfun/index.ts +2 -2
- package/src/libs/model-runtime/taichu/index.ts +2 -2
- package/src/libs/model-runtime/tencentcloud/index.ts +2 -2
- package/src/libs/model-runtime/togetherai/index.ts +2 -2
- package/src/libs/model-runtime/types/chat.ts +1 -1
- package/src/libs/model-runtime/upstage/index.ts +2 -2
- package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.test.ts +7 -7
- package/src/libs/model-runtime/utils/openaiCompatibleFactory/index.ts +3 -3
- package/src/libs/model-runtime/vllm/index.ts +2 -2
- package/src/libs/model-runtime/volcengine/index.ts +2 -2
- package/src/libs/model-runtime/wenxin/index.ts +2 -2
- package/src/libs/model-runtime/xai/index.ts +6 -3
- package/src/libs/model-runtime/xinference/index.ts +2 -2
- package/src/libs/model-runtime/zeroone/index.ts +2 -2
- package/src/libs/model-runtime/zhipu/index.ts +2 -2
- package/src/middleware.ts +3 -1
- package/src/server/routers/tools/search.test.ts +2 -4
- package/src/store/chat/slices/aiChat/actions/__tests__/generateAIChat.test.ts +4 -2
- package/src/store/chat/slices/message/action.test.ts +2 -1
- package/src/store/chat/slices/topic/action.test.ts +3 -2
@@ -104,8 +104,7 @@ describe('searchRouter', () => {
|
|
104
104
|
query: 'test query',
|
105
105
|
});
|
106
106
|
|
107
|
-
expect(result).
|
108
|
-
costTime: 0,
|
107
|
+
expect(result).toMatchObject({
|
109
108
|
query: 'test query',
|
110
109
|
results: [
|
111
110
|
{
|
@@ -139,8 +138,7 @@ describe('searchRouter', () => {
|
|
139
138
|
query: 'test query',
|
140
139
|
});
|
141
140
|
|
142
|
-
expect(result).
|
143
|
-
costTime: 0,
|
141
|
+
expect(result).toMatchObject({
|
144
142
|
query: 'test query',
|
145
143
|
results: [
|
146
144
|
{
|
@@ -671,14 +671,16 @@ describe('chatMessage actions', () => {
|
|
671
671
|
(chatService.createAssistantMessage as Mock).mockResolvedValue(aiResponse);
|
672
672
|
const spy = vi.spyOn(chatService, 'createAssistantMessageStream');
|
673
673
|
// 模拟消息创建
|
674
|
-
|
674
|
+
const createMessageSpyOn = vi
|
675
|
+
.spyOn(messageService, 'createMessage')
|
676
|
+
.mockResolvedValue('assistant-message-id');
|
675
677
|
|
676
678
|
await act(async () => {
|
677
679
|
await result.current.internal_coreProcessMessage(messages, userMessage.id);
|
678
680
|
});
|
679
681
|
|
680
682
|
// 验证是否创建了代表 AI 响应的消息
|
681
|
-
expect(
|
683
|
+
expect(createMessageSpyOn).toHaveBeenCalledWith(
|
682
684
|
expect.objectContaining({
|
683
685
|
role: 'assistant',
|
684
686
|
content: LOADING_FLAT,
|
@@ -369,11 +369,12 @@ describe('chatMessage actions', () => {
|
|
369
369
|
const messageId = 'message-id';
|
370
370
|
const newContent = 'Updated content';
|
371
371
|
|
372
|
+
const spy = vi.spyOn(messageService, 'updateMessage');
|
372
373
|
await act(async () => {
|
373
374
|
await result.current.internal_updateMessageContent(messageId, newContent);
|
374
375
|
});
|
375
376
|
|
376
|
-
expect(
|
377
|
+
expect(spy).toHaveBeenCalledWith(messageId, { content: newContent });
|
377
378
|
});
|
378
379
|
|
379
380
|
it('should dispatch message update action', async () => {
|
@@ -264,7 +264,8 @@ describe('topic action', () => {
|
|
264
264
|
const topicId = 'topic-id';
|
265
265
|
const newTitle = 'Updated Topic Title';
|
266
266
|
// Mock the topicService.updateTitle to resolve immediately
|
267
|
-
|
267
|
+
|
268
|
+
const spyOn = vi.spyOn(topicService, 'updateTopic');
|
268
269
|
|
269
270
|
const { result } = renderHook(() => useChatStore());
|
270
271
|
|
@@ -276,7 +277,7 @@ describe('topic action', () => {
|
|
276
277
|
});
|
277
278
|
|
278
279
|
// Verify that the topicService.updateTitle was called with correct parameters
|
279
|
-
expect(
|
280
|
+
expect(spyOn).toHaveBeenCalledWith(topicId, {
|
280
281
|
title: 'Updated Topic Title',
|
281
282
|
});
|
282
283
|
|