@lobehub/lobehub 2.0.0-next.186 → 2.0.0-next.188

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 (140) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/changelog/v1.json +18 -0
  3. package/locales/ar/models.json +89 -5
  4. package/locales/ar/plugin.json +5 -0
  5. package/locales/ar/providers.json +1 -0
  6. package/locales/bg-BG/models.json +68 -0
  7. package/locales/bg-BG/plugin.json +5 -0
  8. package/locales/bg-BG/providers.json +1 -0
  9. package/locales/de-DE/models.json +85 -0
  10. package/locales/de-DE/plugin.json +5 -0
  11. package/locales/de-DE/providers.json +1 -0
  12. package/locales/en-US/models.json +11 -10
  13. package/locales/en-US/plugin.json +5 -0
  14. package/locales/en-US/providers.json +1 -0
  15. package/locales/es-ES/models.json +72 -0
  16. package/locales/es-ES/plugin.json +5 -0
  17. package/locales/es-ES/providers.json +1 -0
  18. package/locales/fa-IR/models.json +86 -0
  19. package/locales/fa-IR/plugin.json +5 -0
  20. package/locales/fa-IR/providers.json +1 -0
  21. package/locales/fr-FR/models.json +49 -0
  22. package/locales/fr-FR/plugin.json +5 -0
  23. package/locales/fr-FR/providers.json +1 -0
  24. package/locales/it-IT/models.json +82 -0
  25. package/locales/it-IT/plugin.json +5 -0
  26. package/locales/it-IT/providers.json +1 -0
  27. package/locales/ja-JP/models.json +42 -5
  28. package/locales/ja-JP/plugin.json +5 -0
  29. package/locales/ja-JP/providers.json +1 -0
  30. package/locales/ko-KR/models.json +54 -0
  31. package/locales/ko-KR/plugin.json +5 -0
  32. package/locales/ko-KR/providers.json +1 -0
  33. package/locales/nl-NL/models.json +12 -1
  34. package/locales/nl-NL/plugin.json +5 -0
  35. package/locales/nl-NL/providers.json +1 -0
  36. package/locales/pl-PL/models.json +46 -0
  37. package/locales/pl-PL/plugin.json +5 -0
  38. package/locales/pl-PL/providers.json +1 -0
  39. package/locales/pt-BR/models.json +59 -0
  40. package/locales/pt-BR/plugin.json +5 -0
  41. package/locales/pt-BR/providers.json +1 -0
  42. package/locales/ru-RU/models.json +85 -0
  43. package/locales/ru-RU/plugin.json +5 -0
  44. package/locales/ru-RU/providers.json +1 -0
  45. package/locales/tr-TR/models.json +81 -0
  46. package/locales/tr-TR/plugin.json +5 -0
  47. package/locales/tr-TR/providers.json +1 -0
  48. package/locales/vi-VN/models.json +54 -0
  49. package/locales/vi-VN/plugin.json +5 -0
  50. package/locales/vi-VN/providers.json +1 -0
  51. package/locales/zh-CN/models.json +42 -5
  52. package/locales/zh-CN/plugin.json +5 -0
  53. package/locales/zh-CN/providers.json +1 -0
  54. package/locales/zh-TW/models.json +85 -0
  55. package/locales/zh-TW/plugin.json +5 -0
  56. package/locales/zh-TW/providers.json +1 -0
  57. package/package.json +1 -1
  58. package/packages/builtin-tool-gtd/src/manifest.ts +13 -8
  59. package/packages/builtin-tool-gtd/src/systemRole.ts +54 -19
  60. package/packages/builtin-tool-knowledge-base/package.json +1 -0
  61. package/packages/builtin-tool-knowledge-base/src/client/Inspector/ReadKnowledge/index.tsx +97 -0
  62. package/packages/builtin-tool-knowledge-base/src/client/Inspector/SearchKnowledgeBase/index.tsx +75 -0
  63. package/packages/builtin-tool-knowledge-base/src/client/Inspector/index.ts +11 -0
  64. package/packages/builtin-tool-knowledge-base/src/client/Render/ReadKnowledge/FileCard.tsx +12 -12
  65. package/packages/builtin-tool-knowledge-base/src/client/Render/ReadKnowledge/index.tsx +16 -25
  66. package/packages/builtin-tool-knowledge-base/src/client/Render/SearchKnowledgeBase/Item/index.tsx +21 -47
  67. package/packages/builtin-tool-knowledge-base/src/client/Render/SearchKnowledgeBase/index.tsx +19 -31
  68. package/packages/builtin-tool-knowledge-base/src/client/Render/index.ts +0 -5
  69. package/packages/builtin-tool-knowledge-base/src/client/index.ts +5 -1
  70. package/packages/builtin-tool-knowledge-base/src/executor/index.ts +119 -0
  71. package/packages/builtin-tool-local-system/package.json +1 -0
  72. package/packages/builtin-tool-local-system/src/client/Inspector/EditLocalFile/index.tsx +44 -29
  73. package/packages/builtin-tool-local-system/src/client/Inspector/GrepContent/index.tsx +20 -18
  74. package/packages/builtin-tool-local-system/src/client/Inspector/ListLocalFiles/index.tsx +76 -0
  75. package/packages/builtin-tool-local-system/src/client/Inspector/ReadLocalFile/index.tsx +8 -32
  76. package/packages/builtin-tool-local-system/src/client/Inspector/RenameLocalFile/index.tsx +62 -0
  77. package/packages/builtin-tool-local-system/src/client/Inspector/SearchLocalFiles/index.tsx +17 -11
  78. package/packages/builtin-tool-local-system/src/client/Inspector/WriteLocalFile/index.tsx +61 -0
  79. package/packages/builtin-tool-local-system/src/client/Inspector/index.ts +6 -0
  80. package/packages/builtin-tool-local-system/src/client/Render/EditLocalFile/index.tsx +6 -1
  81. package/packages/builtin-tool-local-system/src/client/Render/SearchFiles/SearchQuery/SearchView.tsx +19 -31
  82. package/packages/builtin-tool-local-system/src/client/Render/SearchFiles/SearchQuery/index.tsx +2 -42
  83. package/packages/builtin-tool-local-system/src/client/Render/index.ts +0 -2
  84. package/packages/builtin-tool-local-system/src/client/components/FilePathDisplay.tsx +56 -0
  85. package/packages/builtin-tool-local-system/src/client/components/index.ts +2 -0
  86. package/packages/builtin-tool-local-system/src/executor/index.ts +435 -0
  87. package/packages/builtin-tool-web-browsing/src/client/Inspector/Search/index.tsx +32 -5
  88. package/packages/fetch-sse/src/__tests__/request.test.ts +608 -0
  89. package/packages/model-bank/src/aiModels/aihubmix.ts +44 -8
  90. package/packages/model-bank/src/aiModels/google.ts +49 -17
  91. package/packages/model-bank/src/aiModels/hunyuan.ts +20 -0
  92. package/packages/model-bank/src/aiModels/infiniai.ts +48 -7
  93. package/packages/model-bank/src/aiModels/lobehub.ts +13 -11
  94. package/packages/model-bank/src/aiModels/minimax.ts +46 -2
  95. package/packages/model-bank/src/aiModels/ollamacloud.ts +40 -5
  96. package/packages/model-bank/src/aiModels/openai.ts +6 -3
  97. package/packages/model-bank/src/aiModels/qwen.ts +1 -1
  98. package/packages/model-bank/src/aiModels/siliconcloud.ts +60 -0
  99. package/packages/model-bank/src/aiModels/vertexai.ts +77 -44
  100. package/packages/model-bank/src/aiModels/volcengine.ts +111 -2
  101. package/packages/model-bank/src/aiModels/zenmux.ts +19 -13
  102. package/packages/model-bank/src/aiModels/zhipu.ts +64 -2
  103. package/packages/model-bank/src/types/aiModel.ts +3 -0
  104. package/packages/model-runtime/src/core/contextBuilders/google.test.ts +84 -0
  105. package/packages/model-runtime/src/core/contextBuilders/google.ts +37 -1
  106. package/packages/model-runtime/src/providers/volcengine/index.ts +2 -1
  107. package/packages/model-runtime/src/providers/zhipu/index.test.ts +0 -27
  108. package/packages/model-runtime/src/providers/zhipu/index.ts +1 -1
  109. package/packages/model-runtime/src/utils/modelParse.ts +26 -21
  110. package/packages/types/src/agent/chatConfig.ts +6 -2
  111. package/src/features/ChatInput/ActionBar/Model/ControlsForm.tsx +40 -1
  112. package/src/features/ChatInput/ActionBar/Model/GPT52ProReasoningEffortSlider.tsx +59 -0
  113. package/src/features/ChatInput/ActionBar/Model/GPT52ReasoningEffortSlider.tsx +61 -0
  114. package/src/features/ChatInput/ActionBar/Model/TextVerbositySlider.tsx +1 -1
  115. package/src/features/ChatInput/ActionBar/Model/ThinkingLevel2Slider.tsx +58 -0
  116. package/src/features/ChatInput/ActionBar/Model/ThinkingLevelSlider.tsx +10 -8
  117. package/src/helpers/toolEngineering/index.ts +1 -1
  118. package/src/locales/default/plugin.ts +6 -0
  119. package/src/server/modules/Mecha/AgentToolsEngine/__tests__/index.test.ts +1 -1
  120. package/src/server/modules/Mecha/AgentToolsEngine/index.ts +1 -1
  121. package/src/services/chat/mecha/modelParamsResolver.ts +11 -0
  122. package/src/store/chat/slices/builtinTool/actions/index.ts +1 -11
  123. package/src/store/tool/slices/builtin/executors/index.ts +4 -0
  124. package/src/styles/text.ts +1 -1
  125. package/src/tools/executionRuntimes.ts +3 -8
  126. package/src/tools/identifiers.ts +1 -1
  127. package/src/tools/index.ts +1 -1
  128. package/src/tools/inspectors.ts +5 -0
  129. package/src/tools/renders.ts +6 -12
  130. package/packages/builtin-tool-local-system/src/client/Render/RenameLocalFile/index.tsx +0 -37
  131. package/src/store/chat/slices/builtinTool/actions/__tests__/localSystem.test.ts +0 -201
  132. package/src/store/chat/slices/builtinTool/actions/knowledgeBase.ts +0 -163
  133. package/src/store/chat/slices/builtinTool/actions/localSystem.ts +0 -241
  134. package/src/tools/knowledge-base/ExecutionRuntime/index.ts +0 -25
  135. package/src/tools/knowledge-base/Render/ReadKnowledge/index.tsx +0 -29
  136. package/src/tools/knowledge-base/Render/SearchKnowledgeBase/index.tsx +0 -29
  137. package/src/tools/knowledge-base/Render/index.ts +0 -7
  138. package/src/tools/knowledge-base/index.ts +0 -12
  139. package/src/tools/local-system/ExecutionRuntime/index.ts +0 -9
  140. package/src/tools/local-system/systemRole.ts +0 -1
@@ -1,241 +0,0 @@
1
- import {
2
- type EditLocalFileParams,
3
- type GetCommandOutputParams,
4
- type GlobFilesParams,
5
- type GrepContentParams,
6
- type KillCommandParams,
7
- type ListLocalFileParams,
8
- type LocalReadFileParams,
9
- type LocalReadFilesParams,
10
- type LocalSearchFilesParams,
11
- type MoveLocalFilesParams,
12
- type RenameLocalFileParams,
13
- type RunCommandParams,
14
- type WriteLocalFileParams,
15
- } from '@lobechat/electron-client-ipc';
16
- import debug from 'debug';
17
- import { type StateCreator } from 'zustand/vanilla';
18
-
19
- import { type ChatStore } from '@/store/chat/store';
20
- import { LocalSystemExecutionRuntime } from '@/tools/local-system/ExecutionRuntime';
21
-
22
- const log = debug('lobe-store:builtin-tool');
23
-
24
- /* eslint-disable typescript-sort-keys/interface */
25
- export interface LocalFileAction {
26
- internal_triggerLocalFileToolCalling: (
27
- id: string,
28
- callingService: () => Promise<{ content: string; error?: any; state?: any; success: boolean }>,
29
- ) => Promise<boolean>;
30
-
31
- // File Operations
32
- listLocalFiles: (id: string, params: ListLocalFileParams) => Promise<boolean>;
33
- moveLocalFiles: (id: string, params: MoveLocalFilesParams) => Promise<boolean>;
34
- readLocalFile: (id: string, params: LocalReadFileParams) => Promise<boolean>;
35
- readLocalFiles: (id: string, params: LocalReadFilesParams) => Promise<boolean>;
36
- renameLocalFile: (id: string, params: RenameLocalFileParams) => Promise<boolean>;
37
- reSearchLocalFiles: (id: string, params: LocalSearchFilesParams) => Promise<boolean>;
38
- searchLocalFiles: (id: string, params: LocalSearchFilesParams) => Promise<boolean>;
39
- writeLocalFile: (id: string, params: WriteLocalFileParams) => Promise<boolean>;
40
-
41
- // Shell Commands
42
- editLocalFile: (id: string, params: EditLocalFileParams) => Promise<boolean>;
43
- getCommandOutput: (id: string, params: GetCommandOutputParams) => Promise<boolean>;
44
- killCommand: (id: string, params: KillCommandParams) => Promise<boolean>;
45
- runCommand: (id: string, params: RunCommandParams) => Promise<boolean>;
46
-
47
- // Search & Find
48
- globLocalFiles: (id: string, params: GlobFilesParams) => Promise<boolean>;
49
- grepContent: (id: string, params: GrepContentParams) => Promise<boolean>;
50
- }
51
- /* eslint-enable typescript-sort-keys/interface */
52
-
53
- const runtime = new LocalSystemExecutionRuntime();
54
-
55
- /* eslint-disable sort-keys-fix/sort-keys-fix */
56
- export const localSystemSlice: StateCreator<
57
- ChatStore,
58
- [['zustand/devtools', never]],
59
- [],
60
- LocalFileAction
61
- > = (set, get) => ({
62
- // ==================== File Editing ====================
63
- editLocalFile: async (id, params) => {
64
- return get().internal_triggerLocalFileToolCalling(id, async () => {
65
- return await runtime.editLocalFile(params);
66
- });
67
- },
68
-
69
- writeLocalFile: async (id, params) => {
70
- return get().internal_triggerLocalFileToolCalling(id, async () => {
71
- return await runtime.writeLocalFile(params);
72
- });
73
- },
74
- moveLocalFiles: async (id, params) => {
75
- return get().internal_triggerLocalFileToolCalling(id, async () => {
76
- return await runtime.moveLocalFiles(params);
77
- });
78
- },
79
- renameLocalFile: async (id, params) => {
80
- return get().internal_triggerLocalFileToolCalling(id, async () => {
81
- return await runtime.renameLocalFile(params);
82
- });
83
- },
84
-
85
- // ==================== Search & Find ====================
86
- grepContent: async (id, params) => {
87
- return get().internal_triggerLocalFileToolCalling(id, async () => {
88
- return await runtime.grepContent(params);
89
- });
90
- },
91
-
92
- globLocalFiles: async (id, params) => {
93
- return get().internal_triggerLocalFileToolCalling(id, async () => {
94
- return await runtime.globLocalFiles(params);
95
- });
96
- },
97
-
98
- searchLocalFiles: async (id, params) => {
99
- return get().internal_triggerLocalFileToolCalling(id, async () => {
100
- return await runtime.searchLocalFiles(params);
101
- });
102
- },
103
-
104
- listLocalFiles: async (id, params) => {
105
- return get().internal_triggerLocalFileToolCalling(id, async () => {
106
- return await runtime.listLocalFiles(params);
107
- });
108
- },
109
-
110
- reSearchLocalFiles: async (id, params) => {
111
- // Get operationId from messageOperationMap to ensure proper context isolation
112
- const operationId = get().messageOperationMap[id];
113
- const context = operationId ? { operationId } : undefined;
114
-
115
- await get().optimisticUpdatePluginArguments(id, params, false, context);
116
-
117
- return get().searchLocalFiles(id, params);
118
- },
119
-
120
- readLocalFile: async (id, params) => {
121
- return get().internal_triggerLocalFileToolCalling(id, async () => {
122
- return await runtime.readLocalFile(params);
123
- });
124
- },
125
-
126
- readLocalFiles: async (id, params) => {
127
- return get().internal_triggerLocalFileToolCalling(id, async () => {
128
- return await runtime.readLocalFiles(params);
129
- });
130
- },
131
-
132
- // ==================== Shell Commands ====================
133
- runCommand: async (id, params) => {
134
- return get().internal_triggerLocalFileToolCalling(id, async () => {
135
- return await runtime.runCommand(params);
136
- });
137
- },
138
- killCommand: async (id, params) => {
139
- return get().internal_triggerLocalFileToolCalling(id, async () => {
140
- return await runtime.killCommand(params);
141
- });
142
- },
143
- getCommandOutput: async (id, params) => {
144
- return get().internal_triggerLocalFileToolCalling(id, async () => {
145
- return await runtime.getCommandOutput(params);
146
- });
147
- },
148
-
149
- // ==================== utils ====================
150
-
151
- internal_triggerLocalFileToolCalling: async (id, callingService) => {
152
- // Get parent operationId from messageOperationMap (should be executeToolCall)
153
- const parentOperationId = get().messageOperationMap[id];
154
-
155
- // Create child operation for local system execution
156
- // Auto-associates message with this operation via messageId in context
157
- const { operationId: localSystemOpId, abortController } = get().startOperation({
158
- type: 'builtinToolLocalSystem',
159
- context: {
160
- messageId: id,
161
- },
162
- parentOperationId,
163
- metadata: {
164
- startTime: Date.now(),
165
- },
166
- });
167
-
168
- log(
169
- '[localSystem] messageId=%s, parentOpId=%s, localSystemOpId=%s, aborted=%s',
170
- id,
171
- parentOperationId,
172
- localSystemOpId,
173
- abortController.signal.aborted,
174
- );
175
-
176
- const context = { operationId: localSystemOpId };
177
-
178
- try {
179
- const { state, content, success, error } = await callingService();
180
-
181
- // Complete local system operation
182
- get().completeOperation(localSystemOpId);
183
-
184
- if (success) {
185
- if (state) {
186
- await get().optimisticUpdatePluginState(id, state, context);
187
- }
188
- await get().optimisticUpdateMessageContent(id, content, undefined, context);
189
- } else {
190
- await get().optimisticUpdateMessagePluginError(
191
- id,
192
- {
193
- body: error,
194
- message: error?.message || 'Operation failed',
195
- type: 'PluginServerError',
196
- },
197
- context,
198
- );
199
- // Still update content even if failed, to show error message
200
- await get().optimisticUpdateMessageContent(id, content, undefined, context);
201
- }
202
-
203
- return true;
204
- } catch (error) {
205
- const err = error as Error;
206
-
207
- log('[localSystem] Error: messageId=%s, error=%s', id, err.message);
208
-
209
- // Check if it's an abort error
210
- if (err.message.includes('The user aborted a request.') || err.name === 'AbortError') {
211
- log('[localSystem] Request aborted: messageId=%s', id);
212
- // Fail local system operation for abort
213
- get().failOperation(localSystemOpId, {
214
- message: 'User cancelled the request',
215
- type: 'UserAborted',
216
- });
217
- // Don't update error message for user aborts
218
- return false;
219
- }
220
-
221
- // Fail local system operation for other errors
222
- get().failOperation(localSystemOpId, {
223
- message: err.message,
224
- type: 'PluginServerError',
225
- });
226
-
227
- // For other errors, update message
228
- await get().optimisticUpdateMessagePluginError(
229
- id,
230
- {
231
- body: error,
232
- message: err.message,
233
- type: 'PluginServerError',
234
- },
235
- context,
236
- );
237
-
238
- return false;
239
- }
240
- },
241
- });
@@ -1,25 +0,0 @@
1
- import { KnowledgeBaseExecutionRuntime as BaseKnowledgeBaseExecutionRuntime } from '@lobechat/builtin-tool-knowledge-base/executionRuntime';
2
- import type { ReadKnowledgeArgs, SearchKnowledgeBaseArgs } from '@lobechat/builtin-tool-knowledge-base';
3
-
4
- import { ragService } from '@/services/rag';
5
-
6
- // Create a factory that returns an instance with ragService injected
7
- export class KnowledgeBaseExecutionRuntime extends BaseKnowledgeBaseExecutionRuntime {
8
- constructor() {
9
- super(ragService);
10
- }
11
-
12
- searchKnowledgeBase(
13
- args: SearchKnowledgeBaseArgs,
14
- options?: Parameters<BaseKnowledgeBaseExecutionRuntime['searchKnowledgeBase']>[1],
15
- ) {
16
- return super.searchKnowledgeBase(args, options);
17
- }
18
-
19
- readKnowledge(args: ReadKnowledgeArgs, options?: Parameters<BaseKnowledgeBaseExecutionRuntime['readKnowledge']>[1]) {
20
- return super.readKnowledge(args, options);
21
- }
22
- }
23
-
24
- // Re-export types for convenience
25
- export type { ReadKnowledgeArgs, SearchKnowledgeBaseArgs } from '@lobechat/builtin-tool-knowledge-base';
@@ -1,29 +0,0 @@
1
- 'use client';
2
-
3
- import { ReadKnowledge as BaseReadKnowledge } from '@lobechat/builtin-tool-knowledge-base/client';
4
- import { type BuiltinRenderProps } from '@lobechat/types';
5
- import { memo } from 'react';
6
- import { useTranslation } from 'react-i18next';
7
-
8
- import FileIcon from '@/components/FileIcon';
9
-
10
- import type { ReadKnowledgeArgs, ReadKnowledgeState } from '../../index';
11
-
12
- const ReadKnowledge = memo<BuiltinRenderProps<ReadKnowledgeArgs, ReadKnowledgeState>>(
13
- ({ pluginState }) => {
14
- const { t } = useTranslation('tool');
15
-
16
- return (
17
- <BaseReadKnowledge
18
- FileIcon={FileIcon}
19
- labels={{
20
- chars: t('lobe-knowledge-base.readKnowledge.meta.chars'),
21
- lines: t('lobe-knowledge-base.readKnowledge.meta.lines'),
22
- }}
23
- pluginState={pluginState}
24
- />
25
- );
26
- },
27
- );
28
-
29
- export default ReadKnowledge;
@@ -1,29 +0,0 @@
1
- 'use client';
2
-
3
- import { SearchKnowledgeBase as BaseSearchKnowledgeBase } from '@lobechat/builtin-tool-knowledge-base/client';
4
- import { type BuiltinRenderProps } from '@lobechat/types';
5
- import { memo } from 'react';
6
-
7
- import FileIcon from '@/components/FileIcon';
8
- import { useIsMobile } from '@/hooks/useIsMobile';
9
- import { useChatStore } from '@/store/chat';
10
-
11
- import type { SearchKnowledgeBaseArgs, SearchKnowledgeBaseState } from '../../index';
12
-
13
- const SearchKnowledgeBase = memo<
14
- BuiltinRenderProps<SearchKnowledgeBaseArgs, SearchKnowledgeBaseState>
15
- >(({ pluginState }) => {
16
- const openFilePreview = useChatStore((s) => s.openFilePreview);
17
- const isMobile = useIsMobile();
18
-
19
- return (
20
- <BaseSearchKnowledgeBase
21
- FileIcon={FileIcon}
22
- isMobile={isMobile}
23
- onFileClick={openFilePreview}
24
- pluginState={pluginState}
25
- />
26
- );
27
- });
28
-
29
- export default SearchKnowledgeBase;
@@ -1,7 +0,0 @@
1
- import ReadKnowledge from './ReadKnowledge';
2
- import SearchKnowledgeBase from './SearchKnowledgeBase';
3
-
4
- export const KnowledgeBaseRenders = {
5
- readKnowledge: ReadKnowledge,
6
- searchKnowledgeBase: SearchKnowledgeBase,
7
- };
@@ -1,12 +0,0 @@
1
- // Re-export from the package for backward compatibility
2
- export {
3
- type FileContentDetail,
4
- KnowledgeBaseApiName,
5
- KnowledgeBaseIdentifier,
6
- KnowledgeBaseManifest,
7
- type ReadKnowledgeArgs,
8
- type ReadKnowledgeState,
9
- type SearchKnowledgeBaseArgs,
10
- type SearchKnowledgeBaseState,
11
- systemPrompt,
12
- } from '@lobechat/builtin-tool-knowledge-base';
@@ -1,9 +0,0 @@
1
- import { LocalSystemExecutionRuntime as BaseLocalSystemExecutionRuntime } from '@lobechat/builtin-tool-local-system/executionRuntime';
2
-
3
- import { localFileService } from '@/services/electron/localFileService';
4
-
5
- export class LocalSystemExecutionRuntime extends BaseLocalSystemExecutionRuntime {
6
- constructor() {
7
- super(localFileService);
8
- }
9
- }
@@ -1 +0,0 @@
1
- export { systemPrompt } from '@lobechat/builtin-tool-local-system';