@lobehub/lobehub 2.0.0-next.295 → 2.0.0-next.297

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.
Files changed (132) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/changelog/v1.json +18 -0
  3. package/locales/en-US/plugin.json +4 -0
  4. package/locales/zh-CN/plugin.json +4 -0
  5. package/package.json +2 -2
  6. package/packages/agent-runtime/src/core/__tests__/runtime.test.ts +5 -5
  7. package/packages/agent-runtime/src/utils/stepContextComputer.test.ts +5 -5
  8. package/packages/builtin-tool-gtd/src/client/Inspector/index.ts +0 -4
  9. package/packages/builtin-tool-gtd/src/client/Intervention/AddTodo.tsx +1 -1
  10. package/packages/builtin-tool-gtd/src/client/Render/TodoList/index.tsx +39 -10
  11. package/packages/builtin-tool-gtd/src/client/Render/index.ts +0 -2
  12. package/packages/builtin-tool-gtd/src/client/components/SortableTodoList/TodoItemRow.tsx +26 -12
  13. package/packages/builtin-tool-gtd/src/client/components/SortableTodoList/store/actions.ts +5 -5
  14. package/packages/builtin-tool-gtd/src/client/components/SortableTodoList/store/store.test.ts +14 -8
  15. package/packages/builtin-tool-gtd/src/executor/index.test.ts +48 -227
  16. package/packages/builtin-tool-gtd/src/executor/index.ts +15 -158
  17. package/packages/builtin-tool-gtd/src/manifest.ts +12 -42
  18. package/packages/builtin-tool-gtd/src/systemRole.ts +14 -8
  19. package/packages/builtin-tool-gtd/src/types.ts +47 -41
  20. package/packages/builtin-tool-memory/package.json +8 -0
  21. package/packages/builtin-tool-memory/src/client/Inspector/AddContextMemory/index.tsx +60 -0
  22. package/packages/builtin-tool-memory/src/client/Inspector/AddExperienceMemory/index.tsx +60 -0
  23. package/packages/builtin-tool-memory/src/client/Inspector/AddIdentityMemory/index.tsx +60 -0
  24. package/packages/builtin-tool-memory/src/client/Inspector/AddPreferenceMemory/index.tsx +60 -0
  25. package/packages/builtin-tool-memory/src/client/Inspector/RemoveIdentityMemory/index.tsx +60 -0
  26. package/packages/builtin-tool-memory/src/client/Inspector/SearchUserMemory/index.tsx +67 -0
  27. package/packages/builtin-tool-memory/src/client/Inspector/UpdateIdentityMemory/index.tsx +60 -0
  28. package/packages/builtin-tool-memory/src/client/Inspector/index.ts +35 -0
  29. package/packages/builtin-tool-memory/src/client/Intervention/AddExperienceMemory/index.tsx +17 -0
  30. package/packages/builtin-tool-memory/src/client/Intervention/index.ts +13 -0
  31. package/packages/builtin-tool-memory/src/client/Render/AddExperienceMemory/index.tsx +17 -0
  32. package/packages/builtin-tool-memory/src/client/Render/SearchUserMemory/index.tsx +217 -0
  33. package/packages/builtin-tool-memory/src/client/Render/index.ts +15 -0
  34. package/packages/builtin-tool-memory/src/client/Streaming/AddExperienceMemory/index.tsx +17 -0
  35. package/packages/builtin-tool-memory/src/client/Streaming/index.ts +18 -0
  36. package/packages/builtin-tool-memory/src/client/components/ExperienceMemoryCard.tsx +231 -0
  37. package/packages/builtin-tool-memory/src/client/components/index.ts +1 -0
  38. package/packages/builtin-tool-memory/src/client/index.ts +27 -0
  39. package/packages/builtin-tool-memory/src/executor/index.ts +9 -1
  40. package/packages/builtin-tool-memory/src/types.ts +61 -0
  41. package/packages/context-engine/src/providers/GTDTodoInjector.ts +15 -7
  42. package/packages/conversation-flow/src/__tests__/fixtures/outputs/assistantGroup/tools-with-branches.json +4 -0
  43. package/packages/conversation-flow/src/transformation/FlatListBuilder.ts +1 -0
  44. package/packages/prompts/src/prompts/gtd/index.test.ts +32 -16
  45. package/packages/prompts/src/prompts/gtd/index.ts +9 -5
  46. package/packages/types/package.json +1 -1
  47. package/packages/types/src/discover/assistants.ts +4 -0
  48. package/packages/types/src/discover/groupAgents.ts +196 -0
  49. package/packages/types/src/discover/index.ts +5 -1
  50. package/packages/types/src/stepContext.ts +4 -1
  51. package/src/app/[variants]/(main)/community/(detail)/assistant/features/Details/Versions/index.tsx +2 -2
  52. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/DetailProvider.tsx +19 -0
  53. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx +137 -0
  54. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Nav.tsx +88 -0
  55. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx +213 -0
  56. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx +85 -0
  57. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx +20 -0
  58. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx +71 -0
  59. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx +119 -0
  60. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/index.tsx +51 -0
  61. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Header.tsx +253 -0
  62. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx +222 -0
  63. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx +34 -0
  64. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx +42 -0
  65. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx +41 -0
  66. package/src/app/[variants]/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx +104 -0
  67. package/src/app/[variants]/(main)/community/(detail)/group_agent/index.tsx +103 -0
  68. package/src/app/[variants]/(main)/community/(detail)/group_agent/loading.tsx +1 -0
  69. package/src/app/[variants]/(main)/community/(detail)/user/features/DetailProvider.tsx +7 -1
  70. package/src/app/[variants]/(main)/community/(detail)/user/features/UserContent.tsx +2 -0
  71. package/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupCard.tsx +186 -0
  72. package/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupList.tsx +59 -0
  73. package/src/app/[variants]/(main)/community/(detail)/user/index.tsx +3 -1
  74. package/src/app/[variants]/(main)/community/(list)/assistant/features/List/Item.tsx +26 -8
  75. package/src/app/[variants]/(main)/community/(list)/assistant/index.tsx +1 -0
  76. package/src/app/[variants]/(main)/community/features/Search.tsx +1 -1
  77. package/src/app/[variants]/(main)/group/profile/features/GroupProfile/index.tsx +2 -0
  78. package/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx +2 -1
  79. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx +60 -0
  80. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx +62 -0
  81. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx +122 -0
  82. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/index.tsx +46 -0
  83. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/types.ts +12 -0
  84. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts +211 -0
  85. package/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/utils.ts +22 -0
  86. package/src/app/[variants]/(main)/resource/features/DndContextWrapper.tsx +4 -2
  87. package/src/app/[variants]/(main)/resource/library/_layout/Header/LibraryHead.tsx +30 -35
  88. package/src/app/[variants]/(main)/resource/library/_layout/Header/index.tsx +9 -11
  89. package/src/app/[variants]/router/desktopRouter.config.tsx +7 -0
  90. package/src/features/Conversation/Messages/AssistantGroup/Tool/Actions/index.tsx +11 -17
  91. package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/LoadingPlaceholder/index.tsx +13 -3
  92. package/src/features/Conversation/Messages/AssistantGroup/Tool/Detail/Render/CustomRender.tsx +43 -0
  93. package/src/features/Conversation/Messages/AssistantGroup/Tool/Detail/Render/FallbacktArgumentRender.tsx +59 -0
  94. package/src/features/Conversation/Messages/AssistantGroup/Tool/Detail/Render/index.tsx +46 -0
  95. package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/index.tsx +13 -19
  96. package/src/features/Conversation/Messages/AssistantGroup/Tool/index.tsx +17 -17
  97. package/src/features/Conversation/Messages/Tool/Tool/index.tsx +10 -9
  98. package/src/features/Conversation/TodoProgress/index.tsx +56 -23
  99. package/src/features/PluginsUI/Render/MCPType/index.tsx +1 -1
  100. package/src/features/ResourceManager/components/Explorer/Header/index.tsx +57 -4
  101. package/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx +6 -4
  102. package/src/features/ResourceManager/components/Explorer/ListView/index.tsx +16 -5
  103. package/src/features/ResourceManager/components/LibraryHierarchy/styles.ts +5 -4
  104. package/src/hooks/useActiveTabKey.ts +1 -2
  105. package/src/locales/default/plugin.ts +1 -0
  106. package/src/locales/default/setting.ts +12 -0
  107. package/src/server/routers/lambda/market/agentGroup.ts +296 -0
  108. package/src/server/routers/lambda/market/index.ts +134 -4
  109. package/src/server/services/discover/index.ts +123 -7
  110. package/src/services/discover.ts +55 -0
  111. package/src/store/chat/slices/message/selectors/dbMessage.test.ts +11 -11
  112. package/src/store/discover/slices/groupAgent/action.ts +80 -0
  113. package/src/store/discover/store.ts +3 -0
  114. package/src/store/file/slices/resource/action.ts +4 -2
  115. package/src/tools/inspectors.ts +2 -0
  116. package/src/tools/interventions.ts +2 -0
  117. package/src/tools/renders.ts +3 -1
  118. package/src/tools/streamings.ts +2 -0
  119. package/packages/builtin-tool-gtd/src/client/Inspector/CompleteTodos/index.tsx +0 -52
  120. package/packages/builtin-tool-gtd/src/client/Inspector/RemoveTodos/index.tsx +0 -52
  121. package/src/features/Conversation/Messages/AssistantGroup/Tool/Render/CustomRender.tsx +0 -113
  122. package/src/features/Conversation/Messages/Tool/Tool/Render.tsx +0 -47
  123. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/AbortResponse.tsx +0 -0
  124. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Arguments/index.tsx +0 -0
  125. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/ErrorResponse.tsx +0 -0
  126. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Intervention/ApprovalActions.tsx +0 -0
  127. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Intervention/Fallback.tsx +0 -0
  128. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Intervention/KeyValueEditor.tsx +0 -0
  129. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Intervention/ModeSelector.tsx +0 -0
  130. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/Intervention/index.tsx +0 -0
  131. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/PluginSettings.tsx +0 -0
  132. /package/src/features/Conversation/Messages/AssistantGroup/Tool/{Render → Detail}/RejectedResponse.tsx +0 -0
@@ -13,6 +13,7 @@ import {
13
13
  LocalSystemIdentifier,
14
14
  LocalSystemInterventions,
15
15
  } from '@lobechat/builtin-tool-local-system/client';
16
+ import { MemoryInterventions, MemoryManifest } from '@lobechat/builtin-tool-memory/client';
16
17
  import { NotebookManifest } from '@lobechat/builtin-tool-notebook';
17
18
  import { NotebookInterventions } from '@lobechat/builtin-tool-notebook/client';
18
19
  import { type BuiltinIntervention } from '@lobechat/types';
@@ -28,6 +29,7 @@ export const BuiltinToolInterventions: Record<string, Record<string, any>> = {
28
29
  [GroupManagementManifest.identifier]: GroupManagementInterventions,
29
30
  [GTDManifest.identifier]: GTDInterventions,
30
31
  [LocalSystemIdentifier]: LocalSystemInterventions,
32
+ [MemoryManifest.identifier]: MemoryInterventions,
31
33
  [NotebookManifest.identifier]: NotebookInterventions,
32
34
  };
33
35
 
@@ -15,6 +15,7 @@ import {
15
15
  LocalSystemManifest,
16
16
  LocalSystemRenders,
17
17
  } from '@lobechat/builtin-tool-local-system/client';
18
+ import { MemoryManifest, MemoryRenders } from '@lobechat/builtin-tool-memory/client';
18
19
  import { NotebookManifest, NotebookRenders } from '@lobechat/builtin-tool-notebook/client';
19
20
  import {
20
21
  WebBrowsingManifest,
@@ -32,9 +33,10 @@ const BuiltinToolsRenders: Record<string, Record<string, BuiltinRender>> = {
32
33
  [GroupAgentBuilderManifest.identifier]: GroupAgentBuilderRenders as Record<string, BuiltinRender>,
33
34
  [GroupManagementManifest.identifier]: GroupManagementRenders as Record<string, BuiltinRender>,
34
35
  [GTDManifest.identifier]: GTDRenders as Record<string, BuiltinRender>,
35
- [NotebookManifest.identifier]: NotebookRenders as Record<string, BuiltinRender>,
36
36
  [KnowledgeBaseManifest.identifier]: KnowledgeBaseRenders as Record<string, BuiltinRender>,
37
37
  [LocalSystemManifest.identifier]: LocalSystemRenders as Record<string, BuiltinRender>,
38
+ [MemoryManifest.identifier]: MemoryRenders as Record<string, BuiltinRender>,
39
+ [NotebookManifest.identifier]: NotebookRenders as Record<string, BuiltinRender>,
38
40
  [WebBrowsingManifest.identifier]: WebBrowsingRenders as Record<string, BuiltinRender>,
39
41
  };
40
42
 
@@ -15,6 +15,7 @@ import {
15
15
  LocalSystemManifest,
16
16
  LocalSystemStreamings,
17
17
  } from '@lobechat/builtin-tool-local-system/client';
18
+ import { MemoryManifest, MemoryStreamings } from '@lobechat/builtin-tool-memory/client';
18
19
  import { NotebookManifest, NotebookStreamings } from '@lobechat/builtin-tool-notebook/client';
19
20
  import { type BuiltinStreaming } from '@lobechat/types';
20
21
 
@@ -38,6 +39,7 @@ const BuiltinToolStreamings: Record<string, Record<string, BuiltinStreaming>> =
38
39
  >,
39
40
  [GTDManifest.identifier]: GTDStreamings as Record<string, BuiltinStreaming>,
40
41
  [LocalSystemManifest.identifier]: LocalSystemStreamings as Record<string, BuiltinStreaming>,
42
+ [MemoryManifest.identifier]: MemoryStreamings as Record<string, BuiltinStreaming>,
41
43
  [NotebookManifest.identifier]: NotebookStreamings as Record<string, BuiltinStreaming>,
42
44
  };
43
45
 
@@ -1,52 +0,0 @@
1
- 'use client';
2
-
3
- import type { BuiltinInspectorProps } from '@lobechat/types';
4
- import { Icon, Text } from '@lobehub/ui';
5
- import { createStaticStyles, cssVar, cx } from 'antd-style';
6
- import { CheckCircle } from 'lucide-react';
7
- import { memo } from 'react';
8
- import { useTranslation } from 'react-i18next';
9
-
10
- import { oneLineEllipsis, shinyTextStyles } from '@/styles';
11
-
12
- import type { CompleteTodosParams, CompleteTodosState } from '../../../types';
13
-
14
- const styles = createStaticStyles(({ css, cssVar }) => ({
15
- title: css`
16
- margin-inline-end: 8px;
17
- color: ${cssVar.colorText};
18
- `,
19
- }));
20
-
21
- export const CompleteTodosInspector = memo<
22
- BuiltinInspectorProps<CompleteTodosParams, CompleteTodosState>
23
- >(({ args, partialArgs, isArgumentsStreaming }) => {
24
- const { t } = useTranslation('plugin');
25
-
26
- const indices = args?.indices || partialArgs?.indices || [];
27
- const count = indices.length;
28
-
29
- if (isArgumentsStreaming && count === 0) {
30
- return (
31
- <div className={cx(oneLineEllipsis, shinyTextStyles.shinyText)}>
32
- <span>{t('builtins.lobe-gtd.apiName.completeTodos')}</span>
33
- </div>
34
- );
35
- }
36
-
37
- return (
38
- <div className={cx(oneLineEllipsis, isArgumentsStreaming && shinyTextStyles.shinyText)}>
39
- <span className={styles.title}>{t('builtins.lobe-gtd.apiName.completeTodos')}</span>
40
- {count > 0 && (
41
- <Text as={'span'} code color={cssVar.colorSuccess} fontSize={12}>
42
- <Icon icon={CheckCircle} size={12} />
43
- {count}
44
- </Text>
45
- )}
46
- </div>
47
- );
48
- });
49
-
50
- CompleteTodosInspector.displayName = 'CompleteTodosInspector';
51
-
52
- export default CompleteTodosInspector;
@@ -1,52 +0,0 @@
1
- 'use client';
2
-
3
- import type { BuiltinInspectorProps } from '@lobechat/types';
4
- import { Icon, Text } from '@lobehub/ui';
5
- import { createStaticStyles, cssVar, cx } from 'antd-style';
6
- import { Minus } from 'lucide-react';
7
- import { memo } from 'react';
8
- import { useTranslation } from 'react-i18next';
9
-
10
- import { oneLineEllipsis, shinyTextStyles } from '@/styles';
11
-
12
- import type { RemoveTodosParams, RemoveTodosState } from '../../../types';
13
-
14
- const styles = createStaticStyles(({ css, cssVar }) => ({
15
- title: css`
16
- margin-inline-end: 8px;
17
- color: ${cssVar.colorText};
18
- `,
19
- }));
20
-
21
- export const RemoveTodosInspector = memo<
22
- BuiltinInspectorProps<RemoveTodosParams, RemoveTodosState>
23
- >(({ args, partialArgs, isArgumentsStreaming }) => {
24
- const { t } = useTranslation('plugin');
25
-
26
- const indices = args?.indices || partialArgs?.indices || [];
27
- const count = indices.length;
28
-
29
- if (isArgumentsStreaming && count === 0) {
30
- return (
31
- <div className={cx(oneLineEllipsis, shinyTextStyles.shinyText)}>
32
- <span>{t('builtins.lobe-gtd.apiName.removeTodos')}</span>
33
- </div>
34
- );
35
- }
36
-
37
- return (
38
- <div className={cx(oneLineEllipsis, isArgumentsStreaming && shinyTextStyles.shinyText)}>
39
- <span className={styles.title}>{t('builtins.lobe-gtd.apiName.removeTodos')}</span>
40
- {count > 0 && (
41
- <Text as={'span'} code color={cssVar.colorError} fontSize={12}>
42
- <Icon icon={Minus} size={12} />
43
- {count}
44
- </Text>
45
- )}
46
- </div>
47
- );
48
- });
49
-
50
- RemoveTodosInspector.displayName = 'RemoveTodosInspector';
51
-
52
- export default RemoveTodosInspector;
@@ -1,113 +0,0 @@
1
- import { type ChatPluginPayload } from '@lobechat/types';
2
- import { Block, Flexbox, Highlighter } from '@lobehub/ui';
3
- import { Divider } from 'antd';
4
- import { memo, useEffect, useMemo } from 'react';
5
-
6
- import PluginRender from '@/features/PluginsUI/Render';
7
-
8
- import Arguments from './Arguments';
9
-
10
- interface CustomRenderProps {
11
- content: string;
12
- /**
13
- * The real message ID (tool message ID)
14
- */
15
- messageId?: string;
16
- plugin?: ChatPluginPayload;
17
- pluginState?: any;
18
- requestArgs?: string;
19
- setShowPluginRender: (value: boolean) => void;
20
- showPluginRender: boolean;
21
- /**
22
- * The tool call ID from the assistant message
23
- */
24
- toolCallId: string;
25
- }
26
-
27
- /**
28
- * Custom Render for Group Messages
29
- *
30
- * Group messages are already completed, so:
31
- * - No loading state needed
32
- * - No edit/re-run functionality
33
- * - Results are directly available in content prop
34
- */
35
- const CustomRender = memo<CustomRenderProps>(
36
- ({
37
- toolCallId,
38
- messageId,
39
- content,
40
- pluginState,
41
- plugin,
42
- requestArgs,
43
- showPluginRender,
44
- setShowPluginRender,
45
- }) => {
46
- // Determine if plugin UI should be shown based on plugin type
47
- useEffect(() => {
48
- if (!plugin?.type) return;
49
- setShowPluginRender(plugin.type !== 'default');
50
- }, [plugin?.type, setShowPluginRender]);
51
-
52
- // Parse and display result content
53
- const { data, language } = useMemo(() => {
54
- try {
55
- const parsed = JSON.parse(content || '');
56
- // If parsed result is a string, return it directly
57
- if (typeof parsed === 'string') {
58
- return { data: parsed, language: 'plaintext' };
59
- }
60
- return { data: JSON.stringify(parsed, null, 2), language: 'json' };
61
- } catch {
62
- return { data: content || '', language: 'plaintext' };
63
- }
64
- }, [content]);
65
-
66
- // Show plugin custom UI if applicable
67
- if (showPluginRender) {
68
- return (
69
- <Flexbox gap={12} id={toolCallId} width={'100%'}>
70
- <PluginRender
71
- arguments={plugin?.arguments}
72
- content={content}
73
- identifier={plugin?.identifier}
74
- loading={false}
75
- messageId={messageId}
76
- payload={plugin}
77
- pluginState={pluginState}
78
- toolCallId={toolCallId}
79
- type={plugin?.type}
80
- />
81
- </Flexbox>
82
- );
83
- }
84
-
85
- // Default render: show arguments and result
86
- return (
87
- <Block id={toolCallId} variant={'outlined'} width={'100%'}>
88
- <Arguments arguments={requestArgs} />
89
- {content && (
90
- <>
91
- <Divider dashed style={{ marginBlock: 0 }} />
92
- <Highlighter
93
- language={language}
94
- style={{
95
- background: 'transparent',
96
- borderRadius: 0,
97
- maxHeight: 300,
98
- overflow: 'auto',
99
- }}
100
- variant={'filled'}
101
- >
102
- {data}
103
- </Highlighter>
104
- </>
105
- )}
106
- </Block>
107
- );
108
- },
109
- );
110
-
111
- CustomRender.displayName = 'GroupCustomRender';
112
-
113
- export default CustomRender;
@@ -1,47 +0,0 @@
1
- import { Suspense, memo } from 'react';
2
-
3
- import { dataSelectors, messageStateSelectors, useConversationStore } from '../../../store';
4
- import CustomRender from '../../AssistantGroup/Tool/Render/CustomRender';
5
- import ErrorResponse from '../../AssistantGroup/Tool/Render/ErrorResponse';
6
-
7
- interface RenderProps {
8
- messageId: string;
9
- requestArgs?: string;
10
- setShowPluginRender: (show: boolean) => void;
11
- showPluginRender: boolean;
12
- toolCallId: string;
13
- toolIndex: number;
14
- }
15
-
16
- const Render = memo<RenderProps>(
17
- ({ toolCallId, toolIndex, messageId, requestArgs, showPluginRender, setShowPluginRender }) => {
18
- const loading = useConversationStore(
19
- messageStateSelectors.isToolCallStreaming(messageId, toolIndex),
20
- );
21
- const toolMessage = useConversationStore(dataSelectors.getDbMessageByToolCallId(toolCallId));
22
-
23
- if (loading || !toolMessage) return null;
24
-
25
- if (!!toolMessage) {
26
- if (toolMessage.error) {
27
- return <ErrorResponse {...toolMessage.error} id={messageId} plugin={toolMessage.plugin} />;
28
- }
29
-
30
- return (
31
- <Suspense>
32
- <CustomRender
33
- {...toolMessage}
34
- requestArgs={requestArgs}
35
- setShowPluginRender={setShowPluginRender}
36
- showPluginRender={showPluginRender}
37
- toolCallId={toolCallId}
38
- />
39
- </Suspense>
40
- );
41
- }
42
- },
43
- );
44
-
45
- Render.displayName = 'ToolRender';
46
-
47
- export default Render;