@lobehub/lobehub 2.0.0-next.233 → 2.0.0-next.235
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/workflows/e2e.yml +6 -12
- package/.github/workflows/test.yml +3 -3
- package/CHANGELOG.md +59 -0
- package/CLAUDE.md +1 -1
- package/changelog/v1.json +18 -0
- package/docs/development/basic/feature-development.mdx +4 -5
- package/docs/development/basic/feature-development.zh-CN.mdx +4 -5
- package/e2e/README.md +6 -6
- package/e2e/src/features/community/detail-pages.feature +9 -9
- package/e2e/src/features/community/interactions.feature +13 -13
- package/e2e/src/features/community/smoke.feature +6 -6
- package/e2e/src/steps/agent/conversation-mgmt.steps.ts +196 -25
- package/e2e/src/steps/agent/conversation.steps.ts +58 -0
- package/e2e/src/steps/agent/message-ops.steps.ts +20 -15
- package/e2e/src/steps/community/detail-pages.steps.ts +60 -19
- package/e2e/src/steps/community/interactions.steps.ts +145 -32
- package/e2e/src/steps/hooks.ts +12 -2
- package/locales/ar/components.json +1 -0
- package/locales/ar/file.json +4 -0
- package/locales/ar/models.json +29 -0
- package/locales/ar/setting.json +7 -0
- package/locales/bg-BG/components.json +1 -0
- package/locales/bg-BG/file.json +4 -0
- package/locales/bg-BG/models.json +1 -0
- package/locales/bg-BG/setting.json +7 -0
- package/locales/de-DE/components.json +1 -0
- package/locales/de-DE/file.json +4 -0
- package/locales/de-DE/models.json +29 -0
- package/locales/de-DE/setting.json +7 -0
- package/locales/en-US/common.json +0 -1
- package/locales/en-US/components.json +1 -0
- package/locales/en-US/file.json +4 -0
- package/locales/en-US/models.json +1 -0
- package/locales/en-US/setting.json +3 -0
- package/locales/es-ES/components.json +1 -0
- package/locales/es-ES/file.json +4 -0
- package/locales/es-ES/models.json +43 -0
- package/locales/es-ES/setting.json +7 -0
- package/locales/fa-IR/components.json +1 -0
- package/locales/fa-IR/file.json +4 -0
- package/locales/fa-IR/models.json +54 -0
- package/locales/fa-IR/setting.json +7 -0
- package/locales/fr-FR/components.json +1 -0
- package/locales/fr-FR/file.json +4 -0
- package/locales/fr-FR/models.json +31 -0
- package/locales/fr-FR/setting.json +7 -0
- package/locales/it-IT/components.json +1 -0
- package/locales/it-IT/file.json +4 -0
- package/locales/it-IT/models.json +43 -0
- package/locales/it-IT/setting.json +7 -0
- package/locales/ja-JP/components.json +1 -0
- package/locales/ja-JP/file.json +4 -0
- package/locales/ja-JP/models.json +28 -0
- package/locales/ja-JP/setting.json +7 -0
- package/locales/ko-KR/components.json +1 -0
- package/locales/ko-KR/file.json +4 -0
- package/locales/ko-KR/models.json +37 -0
- package/locales/ko-KR/setting.json +7 -0
- package/locales/nl-NL/components.json +1 -0
- package/locales/nl-NL/file.json +4 -0
- package/locales/nl-NL/models.json +13 -0
- package/locales/nl-NL/setting.json +7 -0
- package/locales/pl-PL/components.json +1 -0
- package/locales/pl-PL/file.json +4 -0
- package/locales/pl-PL/models.json +13 -0
- package/locales/pl-PL/setting.json +7 -0
- package/locales/pt-BR/components.json +1 -0
- package/locales/pt-BR/file.json +4 -0
- package/locales/pt-BR/models.json +29 -0
- package/locales/pt-BR/setting.json +7 -0
- package/locales/ru-RU/components.json +1 -0
- package/locales/ru-RU/file.json +4 -0
- package/locales/ru-RU/models.json +1 -0
- package/locales/ru-RU/setting.json +7 -0
- package/locales/tr-TR/components.json +1 -0
- package/locales/tr-TR/file.json +4 -0
- package/locales/tr-TR/models.json +29 -0
- package/locales/tr-TR/setting.json +7 -0
- package/locales/vi-VN/components.json +1 -0
- package/locales/vi-VN/file.json +4 -0
- package/locales/vi-VN/models.json +1 -0
- package/locales/vi-VN/setting.json +7 -0
- package/locales/zh-CN/file.json +4 -0
- package/locales/zh-CN/models.json +46 -0
- package/locales/zh-CN/setting.json +3 -0
- package/locales/zh-TW/components.json +1 -0
- package/locales/zh-TW/file.json +4 -0
- package/locales/zh-TW/models.json +35 -0
- package/locales/zh-TW/setting.json +7 -0
- package/package.json +5 -5
- package/packages/const/src/index.ts +1 -0
- package/packages/const/src/lobehubSkill.ts +55 -0
- package/packages/types/package.json +1 -1
- package/packages/types/src/files/upload.ts +11 -1
- package/packages/types/src/message/common/tools.ts +1 -1
- package/packages/types/src/serverConfig.ts +1 -0
- package/public/not-compatible.html +1296 -0
- package/src/app/[variants]/(main)/resource/features/FileDetail.tsx +20 -12
- package/src/app/[variants]/(main)/resource/features/modal/FullscreenModal.tsx +2 -4
- package/src/app/[variants]/layout.tsx +50 -1
- package/src/features/ChatInput/ActionBar/Tools/LobehubSkillServerItem.tsx +304 -0
- package/src/features/ChatInput/ActionBar/Tools/useControls.tsx +74 -10
- package/src/features/Conversation/Messages/AssistantGroup/Tool/Inspector/ToolTitle.tsx +9 -0
- package/src/features/FileViewer/Renderer/Code/index.tsx +224 -0
- package/src/features/FileViewer/Renderer/Image/index.tsx +8 -1
- package/src/features/FileViewer/Renderer/PDF/index.tsx +3 -1
- package/src/features/FileViewer/Renderer/PDF/style.ts +2 -1
- package/src/features/FileViewer/index.tsx +135 -24
- package/src/features/PageEditor/EditorCanvas/useSlashItems.tsx +7 -4
- package/src/features/PageEditor/store/initialState.ts +2 -1
- package/src/features/ResourceManager/components/Editor/FileContent.tsx +1 -4
- package/src/features/ResourceManager/components/Editor/FileCopilot.tsx +64 -0
- package/src/features/ResourceManager/components/Editor/index.tsx +98 -31
- package/src/features/ResourceManager/components/Explorer/ItemDropdown/useFileItemDropdown.tsx +3 -2
- package/src/features/ResourceManager/components/Explorer/ListView/ColumnResizeHandle.tsx +119 -0
- package/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx +67 -22
- package/src/features/ResourceManager/components/Explorer/ListView/Skeleton.tsx +46 -11
- package/src/features/ResourceManager/components/Explorer/ListView/index.tsx +140 -81
- package/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx +20 -12
- package/src/features/ResourceManager/components/Explorer/ToolBar/ViewSwitcher.tsx +18 -10
- package/src/features/ResourceManager/components/UploadDock/Item.tsx +38 -6
- package/src/features/ResourceManager/components/UploadDock/index.tsx +62 -41
- package/src/features/ResourceManager/index.tsx +1 -0
- package/src/helpers/toolEngineering/index.test.ts +3 -0
- package/src/helpers/toolEngineering/index.ts +12 -1
- package/src/locales/default/file.ts +4 -0
- package/src/locales/default/setting.ts +3 -0
- package/src/server/globalConfig/index.ts +1 -0
- package/src/server/modules/ModelRuntime/index.test.ts +214 -1
- package/src/server/modules/ModelRuntime/index.ts +43 -7
- package/src/server/routers/lambda/_helpers/resolveContext.ts +8 -8
- package/src/server/routers/lambda/agent.ts +1 -1
- package/src/server/routers/lambda/aiModel.ts +1 -1
- package/src/server/routers/lambda/comfyui.ts +1 -1
- package/src/server/routers/lambda/document.ts +44 -0
- package/src/server/routers/lambda/exporter.ts +1 -1
- package/src/server/routers/lambda/image.ts +13 -13
- package/src/server/routers/lambda/klavis.ts +10 -10
- package/src/server/routers/lambda/market/index.ts +6 -6
- package/src/server/routers/lambda/message.ts +2 -2
- package/src/server/routers/lambda/plugin.ts +1 -1
- package/src/server/routers/lambda/ragEval.ts +2 -2
- package/src/server/routers/lambda/topic.ts +3 -3
- package/src/server/routers/lambda/user.ts +10 -10
- package/src/server/routers/lambda/userMemories.ts +6 -6
- package/src/server/routers/tools/market.ts +261 -0
- package/src/server/services/document/index.ts +22 -0
- package/src/services/document/index.ts +4 -0
- package/src/services/upload.ts +22 -2
- package/src/store/chat/slices/plugin/actions/internals.ts +15 -2
- package/src/store/chat/slices/plugin/actions/pluginTypes.ts +104 -0
- package/src/store/file/slices/fileManager/action.test.ts +9 -3
- package/src/store/file/slices/fileManager/action.ts +165 -70
- package/src/store/file/slices/upload/action.ts +3 -0
- package/src/store/global/actions/general.ts +15 -0
- package/src/store/global/initialState.ts +13 -0
- package/src/store/serverConfig/selectors.ts +1 -0
- package/src/store/tool/initialState.ts +11 -2
- package/src/store/tool/selectors/index.ts +1 -0
- package/src/store/tool/selectors/tool.ts +3 -1
- package/src/store/tool/slices/lobehubSkillStore/action.ts +361 -0
- package/src/store/tool/slices/lobehubSkillStore/index.ts +4 -0
- package/src/store/tool/slices/lobehubSkillStore/initialState.ts +24 -0
- package/src/store/tool/slices/lobehubSkillStore/selectors.ts +145 -0
- package/src/store/tool/slices/lobehubSkillStore/types.ts +100 -0
- package/src/store/tool/store.ts +8 -2
- package/vitest.config.mts +1 -0
- package/src/features/FileViewer/Renderer/JavaScript/index.tsx +0 -66
- package/src/features/FileViewer/Renderer/TXT/index.tsx +0 -50
|
@@ -80,18 +80,12 @@ jobs:
|
|
|
80
80
|
- name: Run E2E tests
|
|
81
81
|
run: bun run e2e
|
|
82
82
|
|
|
83
|
-
- name: Upload
|
|
83
|
+
- name: Upload E2E test artifacts (on failure)
|
|
84
84
|
if: failure()
|
|
85
85
|
uses: actions/upload-artifact@v6
|
|
86
86
|
with:
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if: failure()
|
|
93
|
-
uses: actions/upload-artifact@v6
|
|
94
|
-
with:
|
|
95
|
-
name: test-screenshots
|
|
96
|
-
path: e2e/screenshots
|
|
97
|
-
if-no-files-found: ignore
|
|
87
|
+
name: e2e-artifacts
|
|
88
|
+
path: |
|
|
89
|
+
e2e/reports
|
|
90
|
+
e2e/screenshots
|
|
91
|
+
if-no-files-found: ignore
|
|
@@ -102,8 +102,8 @@ jobs:
|
|
|
102
102
|
- name: Install deps
|
|
103
103
|
run: bun i
|
|
104
104
|
|
|
105
|
-
- name: Run tests
|
|
106
|
-
run: bunx vitest --coverage --
|
|
105
|
+
- name: Run tests
|
|
106
|
+
run: bunx vitest --coverage --silent='passed-only' --shard=${{ matrix.shard }}/2
|
|
107
107
|
|
|
108
108
|
- name: Upload blob report
|
|
109
109
|
if: ${{ !cancelled() }}
|
|
@@ -139,7 +139,7 @@ jobs:
|
|
|
139
139
|
merge-multiple: true
|
|
140
140
|
|
|
141
141
|
- name: Merge reports
|
|
142
|
-
run: bunx vitest --merge-reports --coverage
|
|
142
|
+
run: bunx vitest --merge-reports --reporter=default --coverage
|
|
143
143
|
|
|
144
144
|
- name: Upload App Coverage to Codecov
|
|
145
145
|
uses: codecov/codecov-action@v5
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,65 @@
|
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
|
|
5
|
+
## [Version 2.0.0-next.235](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.234...v2.0.0-next.235)
|
|
6
|
+
|
|
7
|
+
<sup>Released on **2026-01-08**</sup>
|
|
8
|
+
|
|
9
|
+
#### 💄 Styles
|
|
10
|
+
|
|
11
|
+
- **misc**: Update i18n.
|
|
12
|
+
|
|
13
|
+
<br/>
|
|
14
|
+
|
|
15
|
+
<details>
|
|
16
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
17
|
+
|
|
18
|
+
#### Styles
|
|
19
|
+
|
|
20
|
+
- **misc**: Update i18n, closes [#11297](https://github.com/lobehub/lobe-chat/issues/11297) ([4705abf](https://github.com/lobehub/lobe-chat/commit/4705abf))
|
|
21
|
+
|
|
22
|
+
</details>
|
|
23
|
+
|
|
24
|
+
<div align="right">
|
|
25
|
+
|
|
26
|
+
[](#readme-top)
|
|
27
|
+
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
## [Version 2.0.0-next.234](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.233...v2.0.0-next.234)
|
|
31
|
+
|
|
32
|
+
<sup>Released on **2026-01-07**</sup>
|
|
33
|
+
|
|
34
|
+
#### ✨ Features
|
|
35
|
+
|
|
36
|
+
- **misc**: Add browser compatibility detection and fallback page, add the lobehub market tools servers.
|
|
37
|
+
|
|
38
|
+
#### 🐛 Bug Fixes
|
|
39
|
+
|
|
40
|
+
- **editor**: Fix slash command codeblock not working.
|
|
41
|
+
|
|
42
|
+
<br/>
|
|
43
|
+
|
|
44
|
+
<details>
|
|
45
|
+
<summary><kbd>Improvements and Fixes</kbd></summary>
|
|
46
|
+
|
|
47
|
+
#### What's improved
|
|
48
|
+
|
|
49
|
+
- **misc**: Add browser compatibility detection and fallback page, closes [#11309](https://github.com/lobehub/lobe-chat/issues/11309) ([8be32c2](https://github.com/lobehub/lobe-chat/commit/8be32c2))
|
|
50
|
+
- **misc**: Add the lobehub market tools servers, closes [#11315](https://github.com/lobehub/lobe-chat/issues/11315) ([a4003a3](https://github.com/lobehub/lobe-chat/commit/a4003a3))
|
|
51
|
+
|
|
52
|
+
#### What's fixed
|
|
53
|
+
|
|
54
|
+
- **editor**: Fix slash command codeblock not working, closes [#11321](https://github.com/lobehub/lobe-chat/issues/11321) ([f9a35eb](https://github.com/lobehub/lobe-chat/commit/f9a35eb))
|
|
55
|
+
|
|
56
|
+
</details>
|
|
57
|
+
|
|
58
|
+
<div align="right">
|
|
59
|
+
|
|
60
|
+
[](#readme-top)
|
|
61
|
+
|
|
62
|
+
</div>
|
|
63
|
+
|
|
5
64
|
## [Version 2.0.0-next.233](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.232...v2.0.0-next.233)
|
|
6
65
|
|
|
7
66
|
<sup>Released on **2026-01-07**</sup>
|
package/CLAUDE.md
CHANGED
|
@@ -80,7 +80,7 @@ When creating new Linear issues using `mcp__linear-server__create_issue`, **MUST
|
|
|
80
80
|
|
|
81
81
|
### PR Linear Issue Association (REQUIRED)
|
|
82
82
|
|
|
83
|
-
**When creating PRs for Linear issues, MUST include magic keywords in PR body:** `Fixes LOBE-123`, `Closes LOBE-123`, or `Resolves LOBE-123
|
|
83
|
+
**When creating PRs for Linear issues, MUST include magic keywords in PR body:** `Fixes LOBE-123`, `Closes LOBE-123`, or `Resolves LOBE-123`, and summarize the work done in the linear issue comment and update the issue status to "In Review".
|
|
84
84
|
|
|
85
85
|
### IMPORTANT: Per-Issue Completion Rule
|
|
86
86
|
|
package/changelog/v1.json
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"children": {
|
|
4
|
+
"improvements": [
|
|
5
|
+
"Update i18n."
|
|
6
|
+
]
|
|
7
|
+
},
|
|
8
|
+
"date": "2026-01-08",
|
|
9
|
+
"version": "2.0.0-next.235"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"children": {
|
|
13
|
+
"features": [
|
|
14
|
+
"Add browser compatibility detection and fallback page, add the lobehub market tools servers."
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
"date": "2026-01-07",
|
|
18
|
+
"version": "2.0.0-next.234"
|
|
19
|
+
},
|
|
2
20
|
{
|
|
3
21
|
"children": {},
|
|
4
22
|
"date": "2026-01-07",
|
|
@@ -254,14 +254,14 @@ Let's take the subcomponent `OpeningQuestion.tsx` as an example. Component imple
|
|
|
254
254
|
import { DeleteOutlined, PlusOutlined } from '@ant-design/icons';
|
|
255
255
|
import { Flexbox, SortableList } from '@lobehub/ui';
|
|
256
256
|
import { Button, Empty, Input } from 'antd';
|
|
257
|
-
import {
|
|
257
|
+
import { createStaticStyles } from 'antd-style';
|
|
258
258
|
import { memo, useCallback, useMemo, useState } from 'react';
|
|
259
259
|
import { useTranslation } from 'react-i18next';
|
|
260
260
|
|
|
261
261
|
import { useStore } from '../store';
|
|
262
262
|
import { selectors } from '../store/selectors';
|
|
263
263
|
|
|
264
|
-
const
|
|
264
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
265
265
|
empty: css`
|
|
266
266
|
margin-block: 24px;
|
|
267
267
|
margin-inline: 0;
|
|
@@ -270,7 +270,7 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
270
270
|
margin-block-end: 8px;
|
|
271
271
|
padding-block: 2px;
|
|
272
272
|
padding-inline: 10px 0;
|
|
273
|
-
background: ${
|
|
273
|
+
background: ${cssVar.colorBgContainer};
|
|
274
274
|
`,
|
|
275
275
|
questionItemContent: css`
|
|
276
276
|
flex: 1;
|
|
@@ -281,7 +281,7 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
281
281
|
`,
|
|
282
282
|
repeatError: css`
|
|
283
283
|
margin: 0;
|
|
284
|
-
color: ${
|
|
284
|
+
color: ${cssVar.colorErrorText};
|
|
285
285
|
`,
|
|
286
286
|
}));
|
|
287
287
|
|
|
@@ -292,7 +292,6 @@ interface QuestionItem {
|
|
|
292
292
|
|
|
293
293
|
const OpeningQuestions = memo(() => {
|
|
294
294
|
const { t } = useTranslation('setting');
|
|
295
|
-
const { styles } = useStyles();
|
|
296
295
|
const [questionInput, setQuestionInput] = useState('');
|
|
297
296
|
|
|
298
297
|
// Use selector to access corresponding configuration
|
|
@@ -254,14 +254,14 @@ lobe-chat 是个国际化项目,新加的文案需要更新默认的 `locale`
|
|
|
254
254
|
import { DeleteOutlined, PlusOutlined } from '@ant-design/icons';
|
|
255
255
|
import { Flexbox, SortableList } from '@lobehub/ui';
|
|
256
256
|
import { Button, Empty, Input } from 'antd';
|
|
257
|
-
import {
|
|
257
|
+
import { createStaticStyles } from 'antd-style';
|
|
258
258
|
import { memo, useCallback, useMemo, useState } from 'react';
|
|
259
259
|
import { useTranslation } from 'react-i18next';
|
|
260
260
|
|
|
261
261
|
import { useStore } from '../store';
|
|
262
262
|
import { selectors } from '../store/selectors';
|
|
263
263
|
|
|
264
|
-
const
|
|
264
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
265
265
|
empty: css`
|
|
266
266
|
margin-block: 24px;
|
|
267
267
|
margin-inline: 0;
|
|
@@ -270,7 +270,7 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
270
270
|
margin-block-end: 8px;
|
|
271
271
|
padding-block: 2px;
|
|
272
272
|
padding-inline: 10px 0;
|
|
273
|
-
background: ${
|
|
273
|
+
background: ${cssVar.colorBgContainer};
|
|
274
274
|
`,
|
|
275
275
|
questionItemContent: css`
|
|
276
276
|
flex: 1;
|
|
@@ -281,7 +281,7 @@ const useStyles = createStyles(({ css, token }) => ({
|
|
|
281
281
|
`,
|
|
282
282
|
repeatError: css`
|
|
283
283
|
margin: 0;
|
|
284
|
-
color: ${
|
|
284
|
+
color: ${cssVar.colorErrorText};
|
|
285
285
|
`,
|
|
286
286
|
}));
|
|
287
287
|
|
|
@@ -292,7 +292,6 @@ interface QuestionItem {
|
|
|
292
292
|
|
|
293
293
|
const OpeningQuestions = memo(() => {
|
|
294
294
|
const { t } = useTranslation('setting');
|
|
295
|
-
const { styles } = useStyles();
|
|
296
295
|
const [questionInput, setQuestionInput] = useState('');
|
|
297
296
|
|
|
298
297
|
// 使用 selector 访问对应配置
|
package/e2e/README.md
CHANGED
|
@@ -84,13 +84,13 @@ HEADLESS=false BASE_URL=http://localhost:3000 npm run test:smoke
|
|
|
84
84
|
Feature files are written in Gherkin syntax and placed in the `src/features/` directory:
|
|
85
85
|
|
|
86
86
|
```gherkin
|
|
87
|
-
@
|
|
88
|
-
Feature:
|
|
89
|
-
Critical path tests to ensure the
|
|
87
|
+
@community @smoke
|
|
88
|
+
Feature: Community Smoke Tests
|
|
89
|
+
Critical path tests to ensure the community module is functional
|
|
90
90
|
|
|
91
|
-
@
|
|
92
|
-
Scenario: Load
|
|
93
|
-
Given I navigate to "/
|
|
91
|
+
@COMMUNITY-SMOKE-001 @P0
|
|
92
|
+
Scenario: Load community assistant list page
|
|
93
|
+
Given I navigate to "/community/assistant"
|
|
94
94
|
Then the page should load without errors
|
|
95
95
|
And I should see the page body
|
|
96
96
|
And I should see the search bar
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@
|
|
1
|
+
@community @detail
|
|
2
2
|
Feature: Discover Detail Pages
|
|
3
3
|
Tests for detail pages in the discover module
|
|
4
4
|
|
|
@@ -9,7 +9,7 @@ Feature: Discover Detail Pages
|
|
|
9
9
|
# Assistant Detail Page
|
|
10
10
|
# ============================================
|
|
11
11
|
|
|
12
|
-
@
|
|
12
|
+
@COMMUNITY-DETAIL-001 @P1
|
|
13
13
|
Scenario: Load assistant detail page and verify content
|
|
14
14
|
Given I navigate to "/community/assistant"
|
|
15
15
|
And I wait for the page to fully load
|
|
@@ -20,7 +20,7 @@ Feature: Discover Detail Pages
|
|
|
20
20
|
And I should see the assistant author information
|
|
21
21
|
And I should see the add to workspace button
|
|
22
22
|
|
|
23
|
-
@
|
|
23
|
+
@COMMUNITY-DETAIL-002 @P1
|
|
24
24
|
Scenario: Navigate back from assistant detail page
|
|
25
25
|
Given I navigate to "/community/assistant"
|
|
26
26
|
And I wait for the page to fully load
|
|
@@ -32,7 +32,7 @@ Feature: Discover Detail Pages
|
|
|
32
32
|
# Model Detail Page
|
|
33
33
|
# ============================================
|
|
34
34
|
|
|
35
|
-
@
|
|
35
|
+
@COMMUNITY-DETAIL-003 @P1
|
|
36
36
|
Scenario: Load model detail page and verify content
|
|
37
37
|
Given I navigate to "/community/model"
|
|
38
38
|
And I wait for the page to fully load
|
|
@@ -42,7 +42,7 @@ Feature: Discover Detail Pages
|
|
|
42
42
|
And I should see the model description
|
|
43
43
|
And I should see the model parameters information
|
|
44
44
|
|
|
45
|
-
@
|
|
45
|
+
@COMMUNITY-DETAIL-004 @P1
|
|
46
46
|
Scenario: Navigate back from model detail page
|
|
47
47
|
Given I navigate to "/community/model"
|
|
48
48
|
And I wait for the page to fully load
|
|
@@ -54,7 +54,7 @@ Feature: Discover Detail Pages
|
|
|
54
54
|
# Provider Detail Page
|
|
55
55
|
# ============================================
|
|
56
56
|
|
|
57
|
-
@
|
|
57
|
+
@COMMUNITY-DETAIL-005 @P1
|
|
58
58
|
Scenario: Load provider detail page and verify content
|
|
59
59
|
Given I navigate to "/community/provider"
|
|
60
60
|
And I wait for the page to fully load
|
|
@@ -64,7 +64,7 @@ Feature: Discover Detail Pages
|
|
|
64
64
|
And I should see the provider description
|
|
65
65
|
And I should see the provider website link
|
|
66
66
|
|
|
67
|
-
@
|
|
67
|
+
@COMMUNITY-DETAIL-006 @P1
|
|
68
68
|
Scenario: Navigate back from provider detail page
|
|
69
69
|
Given I navigate to "/community/provider"
|
|
70
70
|
And I wait for the page to fully load
|
|
@@ -76,7 +76,7 @@ Feature: Discover Detail Pages
|
|
|
76
76
|
# MCP Detail Page
|
|
77
77
|
# ============================================
|
|
78
78
|
|
|
79
|
-
@
|
|
79
|
+
@COMMUNITY-DETAIL-007 @P1
|
|
80
80
|
Scenario: Load MCP detail page and verify content
|
|
81
81
|
Given I navigate to "/community/mcp"
|
|
82
82
|
And I wait for the page to fully load
|
|
@@ -86,7 +86,7 @@ Feature: Discover Detail Pages
|
|
|
86
86
|
And I should see the MCP description
|
|
87
87
|
And I should see the install button
|
|
88
88
|
|
|
89
|
-
@
|
|
89
|
+
@COMMUNITY-DETAIL-008 @P1
|
|
90
90
|
Scenario: Navigate back from MCP detail page
|
|
91
91
|
Given I navigate to "/community/mcp"
|
|
92
92
|
And I wait for the page to fully load
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@
|
|
1
|
+
@community @interactions
|
|
2
2
|
Feature: Discover Interactions
|
|
3
3
|
Tests for user interactions within the discover module
|
|
4
4
|
|
|
@@ -9,14 +9,14 @@ Feature: Discover Interactions
|
|
|
9
9
|
# Assistant Page Interactions
|
|
10
10
|
# ============================================
|
|
11
11
|
|
|
12
|
-
@
|
|
12
|
+
@COMMUNITY-INTERACT-001 @P1
|
|
13
13
|
Scenario: Search for assistants
|
|
14
14
|
Given I navigate to "/community/assistant"
|
|
15
15
|
When I type "developer" in the search bar
|
|
16
16
|
And I wait for the search results to load
|
|
17
17
|
Then I should see filtered assistant cards
|
|
18
18
|
|
|
19
|
-
@
|
|
19
|
+
@COMMUNITY-INTERACT-002 @P1
|
|
20
20
|
Scenario: Filter assistants by category
|
|
21
21
|
Given I navigate to "/community/assistant"
|
|
22
22
|
When I click on a category in the category menu
|
|
@@ -24,7 +24,7 @@ Feature: Discover Interactions
|
|
|
24
24
|
Then I should see assistant cards filtered by the selected category
|
|
25
25
|
And the URL should contain the category parameter
|
|
26
26
|
|
|
27
|
-
@
|
|
27
|
+
@COMMUNITY-INTERACT-003 @P1
|
|
28
28
|
Scenario: Navigate to next page of assistants
|
|
29
29
|
Given I navigate to "/community/assistant"
|
|
30
30
|
When I click the next page button
|
|
@@ -32,7 +32,7 @@ Feature: Discover Interactions
|
|
|
32
32
|
Then I should see different assistant cards
|
|
33
33
|
And the URL should contain the page parameter
|
|
34
34
|
|
|
35
|
-
@
|
|
35
|
+
@COMMUNITY-INTERACT-004 @P1
|
|
36
36
|
Scenario: Navigate to assistant detail page
|
|
37
37
|
Given I navigate to "/community/assistant"
|
|
38
38
|
When I click on the first assistant card
|
|
@@ -43,7 +43,7 @@ Feature: Discover Interactions
|
|
|
43
43
|
# Model Page Interactions
|
|
44
44
|
# ============================================
|
|
45
45
|
|
|
46
|
-
@
|
|
46
|
+
@COMMUNITY-INTERACT-005 @P1
|
|
47
47
|
Scenario: Sort models
|
|
48
48
|
Given I navigate to "/community/model"
|
|
49
49
|
When I click on the sort dropdown
|
|
@@ -51,7 +51,7 @@ Feature: Discover Interactions
|
|
|
51
51
|
And I wait for the sorted results to load
|
|
52
52
|
Then I should see model cards in the sorted order
|
|
53
53
|
|
|
54
|
-
@
|
|
54
|
+
@COMMUNITY-INTERACT-006 @P1
|
|
55
55
|
Scenario: Navigate to model detail page
|
|
56
56
|
Given I navigate to "/community/model"
|
|
57
57
|
When I click on the first model card
|
|
@@ -62,7 +62,7 @@ Feature: Discover Interactions
|
|
|
62
62
|
# Provider Page Interactions
|
|
63
63
|
# ============================================
|
|
64
64
|
|
|
65
|
-
@
|
|
65
|
+
@COMMUNITY-INTERACT-007 @P1
|
|
66
66
|
Scenario: Navigate to provider detail page
|
|
67
67
|
Given I navigate to "/community/provider"
|
|
68
68
|
When I click on the first provider card
|
|
@@ -73,14 +73,14 @@ Feature: Discover Interactions
|
|
|
73
73
|
# MCP Page Interactions
|
|
74
74
|
# ============================================
|
|
75
75
|
|
|
76
|
-
@
|
|
76
|
+
@COMMUNITY-INTERACT-008 @P1
|
|
77
77
|
Scenario: Filter MCP tools by category
|
|
78
78
|
Given I navigate to "/community/mcp"
|
|
79
79
|
When I click on a category in the category filter
|
|
80
80
|
And I wait for the filtered results to load
|
|
81
81
|
Then I should see MCP cards filtered by the selected category
|
|
82
82
|
|
|
83
|
-
@
|
|
83
|
+
@COMMUNITY-INTERACT-009 @P1
|
|
84
84
|
Scenario: Navigate to MCP detail page
|
|
85
85
|
Given I navigate to "/community/mcp"
|
|
86
86
|
When I click on the first MCP card
|
|
@@ -91,21 +91,21 @@ Feature: Discover Interactions
|
|
|
91
91
|
# Home Page Interactions
|
|
92
92
|
# ============================================
|
|
93
93
|
|
|
94
|
-
@
|
|
94
|
+
@COMMUNITY-INTERACT-010 @P1
|
|
95
95
|
Scenario: Navigate from home to assistant list
|
|
96
96
|
Given I navigate to "/community"
|
|
97
97
|
When I click on the "more" link in the featured assistants section
|
|
98
98
|
Then I should be navigated to "/community/assistant"
|
|
99
99
|
And I should see the page body
|
|
100
100
|
|
|
101
|
-
@
|
|
101
|
+
@COMMUNITY-INTERACT-011 @P1
|
|
102
102
|
Scenario: Navigate from home to MCP list
|
|
103
103
|
Given I navigate to "/community"
|
|
104
104
|
When I click on the "more" link in the featured MCP tools section
|
|
105
105
|
Then I should be navigated to "/community/mcp"
|
|
106
106
|
And I should see the page body
|
|
107
107
|
|
|
108
|
-
@
|
|
108
|
+
@COMMUNITY-INTERACT-012 @P1
|
|
109
109
|
Scenario: Click featured assistant from home
|
|
110
110
|
Given I navigate to "/community"
|
|
111
111
|
When I click on the first featured assistant card
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
@
|
|
1
|
+
@community @smoke
|
|
2
2
|
Feature: Community Smoke Tests
|
|
3
3
|
Critical path tests to ensure the community/discover module is functional
|
|
4
4
|
|
|
5
|
-
@
|
|
5
|
+
@COMMUNITY-SMOKE-001 @P0
|
|
6
6
|
Scenario: Load Community Home Page
|
|
7
7
|
Given I navigate to "/community"
|
|
8
8
|
Then the page should load without errors
|
|
@@ -10,7 +10,7 @@ Feature: Community Smoke Tests
|
|
|
10
10
|
And I should see the featured assistants section
|
|
11
11
|
And I should see the featured MCP tools section
|
|
12
12
|
|
|
13
|
-
@
|
|
13
|
+
@COMMUNITY-SMOKE-002 @P0
|
|
14
14
|
Scenario: Load Assistant List Page
|
|
15
15
|
Given I navigate to "/community/assistant"
|
|
16
16
|
Then the page should load without errors
|
|
@@ -20,7 +20,7 @@ Feature: Community Smoke Tests
|
|
|
20
20
|
And I should see assistant cards
|
|
21
21
|
And I should see pagination controls
|
|
22
22
|
|
|
23
|
-
@
|
|
23
|
+
@COMMUNITY-SMOKE-003 @P0
|
|
24
24
|
Scenario: Load Model List Page
|
|
25
25
|
Given I navigate to "/community/model"
|
|
26
26
|
Then the page should load without errors
|
|
@@ -28,14 +28,14 @@ Feature: Community Smoke Tests
|
|
|
28
28
|
And I should see model cards
|
|
29
29
|
And I should see the sort dropdown
|
|
30
30
|
|
|
31
|
-
@
|
|
31
|
+
@COMMUNITY-SMOKE-004 @P0
|
|
32
32
|
Scenario: Load Provider List Page
|
|
33
33
|
Given I navigate to "/community/provider"
|
|
34
34
|
Then the page should load without errors
|
|
35
35
|
And I should see the page body
|
|
36
36
|
And I should see provider cards
|
|
37
37
|
|
|
38
|
-
@
|
|
38
|
+
@COMMUNITY-SMOKE-005 @P0
|
|
39
39
|
Scenario: Load MCP List Page
|
|
40
40
|
Given I navigate to "/community/mcp"
|
|
41
41
|
Then the page should load without errors
|