@opensumi/ide-ai-native 3.7.2-next-1740448398.0 → 3.7.2-next-1741226843.0
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/lib/browser/ai-core.contextkeys.d.ts +0 -1
- package/lib/browser/ai-core.contextkeys.d.ts.map +1 -1
- package/lib/browser/ai-core.contextkeys.js +0 -1
- package/lib/browser/ai-core.contextkeys.js.map +1 -1
- package/lib/browser/ai-core.contribution.d.ts +2 -8
- package/lib/browser/ai-core.contribution.d.ts.map +1 -1
- package/lib/browser/ai-core.contribution.js +20 -149
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-agent.service.js +0 -6
- package/lib/browser/chat/chat-agent.service.js.map +1 -1
- package/lib/browser/chat/chat-manager.service.d.ts +2 -30
- package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-manager.service.js +1 -45
- package/lib/browser/chat/chat-manager.service.js.map +1 -1
- package/lib/browser/chat/chat-model.d.ts +7 -34
- package/lib/browser/chat/chat-model.d.ts.map +1 -1
- package/lib/browser/chat/chat-model.js +57 -71
- package/lib/browser/chat/chat-model.js.map +1 -1
- package/lib/browser/chat/chat-proxy.service.d.ts +1 -6
- package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-proxy.service.js +3 -54
- package/lib/browser/chat/chat-proxy.service.js.map +1 -1
- package/lib/browser/chat/chat.api.service.d.ts +1 -1
- package/lib/browser/chat/chat.api.service.d.ts.map +1 -1
- package/lib/browser/chat/chat.api.service.js +2 -2
- package/lib/browser/chat/chat.api.service.js.map +1 -1
- package/lib/browser/chat/chat.internal.service.d.ts +2 -8
- package/lib/browser/chat/chat.internal.service.d.ts.map +1 -1
- package/lib/browser/chat/chat.internal.service.js +13 -41
- package/lib/browser/chat/chat.internal.service.js.map +1 -1
- package/lib/browser/chat/chat.module.less +41 -17
- package/lib/browser/chat/chat.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +14 -102
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatEditor.d.ts +0 -1
- package/lib/browser/components/ChatEditor.d.ts.map +1 -1
- package/lib/browser/components/ChatEditor.js +3 -3
- package/lib/browser/components/ChatEditor.js.map +1 -1
- package/lib/browser/components/ChatInput.d.ts.map +1 -1
- package/lib/browser/components/ChatInput.js.map +1 -1
- package/lib/browser/components/ChatMarkdown.d.ts +0 -1
- package/lib/browser/components/ChatMarkdown.d.ts.map +1 -1
- package/lib/browser/components/ChatMarkdown.js +2 -2
- package/lib/browser/components/ChatMarkdown.js.map +1 -1
- package/lib/browser/components/ChatReply.d.ts.map +1 -1
- package/lib/browser/components/ChatReply.js +4 -29
- package/lib/browser/components/ChatReply.js.map +1 -1
- package/lib/browser/components/ChatThinking.js +1 -1
- package/lib/browser/components/ChatThinking.js.map +1 -1
- package/lib/browser/components/WelcomeMsg.js.map +1 -1
- package/lib/browser/components/components.module.less +31 -33
- package/lib/browser/components/utils.d.ts +2 -2
- package/lib/browser/contrib/intelligent-completions/index.d.ts +9 -16
- package/lib/browser/contrib/intelligent-completions/index.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/index.js +1 -6
- package/lib/browser/contrib/intelligent-completions/index.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts +0 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js +4 -26
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.contribution.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts +5 -5
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js +48 -59
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.controller.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts +0 -4
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js +0 -7
- package/lib/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts +5 -14
- package/lib/browser/contrib/intelligent-completions/source/base.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/base.js +8 -29
- package/lib/browser/contrib/intelligent-completions/source/base.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts +3 -10
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js +22 -95
- package/lib/browser/contrib/intelligent-completions/source/line-change.source.js.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts +3 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.d.ts.map +1 -1
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js +20 -13
- package/lib/browser/contrib/intelligent-completions/source/lint-error.source.js.map +1 -1
- package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js +2 -2
- package/lib/browser/contrib/terminal/component/terminal-command-suggest-controller.js.map +1 -1
- package/lib/browser/index.d.ts +3 -11
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +4 -56
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/languages/tree-sitter/wasm-manager.d.ts.map +1 -1
- package/lib/browser/languages/tree-sitter/wasm-manager.js +2 -14
- package/lib/browser/languages/tree-sitter/wasm-manager.js.map +1 -1
- package/lib/browser/layout/ai-layout.d.ts.map +1 -1
- package/lib/browser/layout/ai-layout.js +2 -2
- package/lib/browser/layout/ai-layout.js.map +1 -1
- package/lib/browser/layout/layout.module.less +9 -9
- package/lib/browser/layout/tabbar.view.d.ts.map +1 -1
- package/lib/browser/layout/tabbar.view.js +6 -5
- package/lib/browser/layout/tabbar.view.js.map +1 -1
- package/lib/browser/model/enhanceDecorationsCollection.d.ts +10 -14
- package/lib/browser/model/enhanceDecorationsCollection.d.ts.map +1 -1
- package/lib/browser/model/enhanceDecorationsCollection.js +53 -42
- package/lib/browser/model/enhanceDecorationsCollection.js.map +1 -1
- package/lib/browser/model/msg-history-manager.d.ts +1 -20
- package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
- package/lib/browser/model/msg-history-manager.js +10 -46
- package/lib/browser/model/msg-history-manager.js.map +1 -1
- package/lib/browser/model/styles.module.less +7 -0
- package/lib/browser/preferences/schema.d.ts.map +1 -1
- package/lib/browser/preferences/schema.js +0 -69
- package/lib/browser/preferences/schema.js.map +1 -1
- package/lib/browser/types.d.ts +4 -74
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js +1 -4
- package/lib/browser/types.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat-editor.controller.d.ts +1 -2
- package/lib/browser/widget/inline-chat/inline-chat-editor.controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat-editor.controller.js +49 -21
- package/lib/browser/widget/inline-chat/inline-chat-editor.controller.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.feature.registry.d.ts +13 -3
- package/lib/browser/widget/inline-chat/inline-chat.feature.registry.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.feature.registry.js +72 -24
- package/lib/browser/widget/inline-chat/inline-chat.feature.registry.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.service.d.ts +6 -1
- package/lib/browser/widget/inline-chat/inline-chat.service.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat.service.js +17 -5
- package/lib/browser/widget/inline-chat/inline-chat.service.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-content-widget.d.ts +5 -2
- package/lib/browser/widget/inline-chat/inline-content-widget.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-content-widget.js +42 -17
- package/lib/browser/widget/inline-chat/inline-content-widget.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts +5 -22
- package/lib/browser/widget/inline-diff/inline-diff-previewer.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js +30 -61
- package/lib/browser/widget/inline-diff/inline-diff-previewer.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +12 -8
- package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff.controller.js +96 -68
- package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
- package/lib/browser/widget/inline-hint/inline-hint.controller.d.ts +1 -0
- package/lib/browser/widget/inline-hint/inline-hint.controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-hint/inline-hint.controller.js +5 -0
- package/lib/browser/widget/inline-hint/inline-hint.controller.js.map +1 -1
- package/lib/browser/widget/inline-input/inline-input-widget.d.ts +2 -12
- package/lib/browser/widget/inline-input/inline-input-widget.d.ts.map +1 -1
- package/lib/browser/widget/inline-input/inline-input-widget.js +18 -26
- package/lib/browser/widget/inline-input/inline-input-widget.js.map +1 -1
- package/lib/browser/widget/inline-input/inline-input.controller.d.ts +5 -14
- package/lib/browser/widget/inline-input/inline-input.controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-input/inline-input.controller.js +165 -321
- package/lib/browser/widget/inline-input/inline-input.controller.js.map +1 -1
- package/lib/browser/widget/inline-input/inline-input.module.less +0 -4
- package/lib/browser/widget/inline-input/inline-input.service.d.ts +7 -19
- package/lib/browser/widget/inline-input/inline-input.service.d.ts.map +1 -1
- package/lib/browser/widget/inline-input/inline-input.service.js +12 -72
- package/lib/browser/widget/inline-input/inline-input.service.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +19 -9
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js +39 -47
- package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +4 -21
- package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js +5 -37
- package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts +11 -7
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +77 -34
- package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
- package/lib/common/index.d.ts +0 -10
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js +1 -4
- package/lib/common/index.js.map +1 -1
- package/lib/common/types.d.ts +0 -17
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/utils.d.ts +0 -1
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +3 -5
- package/lib/common/utils.js.map +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +0 -19
- package/lib/node/index.js.map +1 -1
- package/package.json +22 -33
- package/src/browser/ai-core.contextkeys.ts +0 -3
- package/src/browser/ai-core.contribution.ts +21 -167
- package/src/browser/chat/chat-agent.service.ts +0 -7
- package/src/browser/chat/chat-manager.service.ts +7 -83
- package/src/browser/chat/chat-model.ts +20 -86
- package/src/browser/chat/chat-proxy.service.ts +3 -55
- package/src/browser/chat/chat.api.service.ts +2 -2
- package/src/browser/chat/chat.internal.service.ts +6 -35
- package/src/browser/chat/chat.module.less +41 -17
- package/src/browser/chat/chat.view.tsx +45 -191
- package/src/browser/components/ChatEditor.tsx +10 -13
- package/src/browser/components/ChatInput.tsx +0 -1
- package/src/browser/components/ChatMarkdown.tsx +2 -4
- package/src/browser/components/ChatReply.tsx +9 -38
- package/src/browser/components/ChatThinking.tsx +1 -1
- package/src/browser/components/WelcomeMsg.tsx +1 -1
- package/src/browser/components/components.module.less +31 -33
- package/src/browser/contrib/intelligent-completions/index.ts +4 -19
- package/src/browser/contrib/intelligent-completions/intelligent-completions.contribution.ts +8 -32
- package/src/browser/contrib/intelligent-completions/intelligent-completions.controller.ts +67 -102
- package/src/browser/contrib/intelligent-completions/intelligent-completions.feature.registry.ts +0 -11
- package/src/browser/contrib/intelligent-completions/source/base.ts +14 -39
- package/src/browser/contrib/intelligent-completions/source/line-change.source.ts +22 -129
- package/src/browser/contrib/intelligent-completions/source/lint-error.source.ts +31 -19
- package/src/browser/contrib/terminal/component/terminal-command-suggest-controller.tsx +1 -1
- package/src/browser/index.ts +6 -69
- package/src/browser/languages/tree-sitter/wasm-manager.ts +2 -12
- package/src/browser/layout/ai-layout.tsx +2 -5
- package/src/browser/layout/layout.module.less +9 -9
- package/src/browser/layout/tabbar.view.tsx +8 -10
- package/src/browser/model/enhanceDecorationsCollection.ts +77 -62
- package/src/browser/model/msg-history-manager.ts +2 -56
- package/src/browser/model/styles.module.less +7 -0
- package/src/browser/preferences/schema.ts +0 -69
- package/src/browser/types.ts +5 -100
- package/src/browser/widget/inline-chat/inline-chat-editor.controller.ts +65 -30
- package/src/browser/widget/inline-chat/inline-chat.feature.registry.ts +90 -23
- package/src/browser/widget/inline-chat/inline-chat.service.ts +17 -2
- package/src/browser/widget/inline-chat/inline-content-widget.tsx +69 -14
- package/src/browser/widget/inline-diff/inline-diff-previewer.ts +32 -87
- package/src/browser/widget/inline-diff/inline-diff.controller.ts +114 -90
- package/src/browser/widget/inline-hint/inline-hint.controller.ts +7 -1
- package/src/browser/widget/inline-input/inline-input-widget.tsx +12 -34
- package/src/browser/widget/inline-input/inline-input.controller.ts +242 -454
- package/src/browser/widget/inline-input/inline-input.module.less +0 -4
- package/src/browser/widget/inline-input/inline-input.service.ts +13 -92
- package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +67 -58
- package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +6 -49
- package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +112 -41
- package/src/common/index.ts +0 -15
- package/src/common/types.ts +0 -22
- package/src/common/utils.ts +2 -4
- package/src/node/index.ts +0 -21
- package/lib/browser/components/ChatContext/ContextSelector.d.ts +0 -12
- package/lib/browser/components/ChatContext/ContextSelector.d.ts.map +0 -1
- package/lib/browser/components/ChatContext/ContextSelector.js +0 -113
- package/lib/browser/components/ChatContext/ContextSelector.js.map +0 -1
- package/lib/browser/components/ChatContext/index.d.ts +0 -4
- package/lib/browser/components/ChatContext/index.d.ts.map +0 -1
- package/lib/browser/components/ChatContext/index.js +0 -100
- package/lib/browser/components/ChatContext/index.js.map +0 -1
- package/lib/browser/components/ChatContext/style.module.less +0 -201
- package/lib/browser/components/ChatHistory.d.ts +0 -21
- package/lib/browser/components/ChatHistory.d.ts.map +0 -1
- package/lib/browser/components/ChatHistory.js +0 -148
- package/lib/browser/components/ChatHistory.js.map +0 -1
- package/lib/browser/components/ChatToolRender.d.ts +0 -7
- package/lib/browser/components/ChatToolRender.d.ts.map +0 -1
- package/lib/browser/components/ChatToolRender.js +0 -71
- package/lib/browser/components/ChatToolRender.js.map +0 -1
- package/lib/browser/components/ChatToolRender.module.less +0 -86
- package/lib/browser/components/chat-history.css +0 -139
- package/lib/browser/context/llm-context.contribution.d.ts +0 -7
- package/lib/browser/context/llm-context.contribution.d.ts.map +0 -1
- package/lib/browser/context/llm-context.contribution.js +0 -21
- package/lib/browser/context/llm-context.contribution.js.map +0 -1
- package/lib/browser/context/llm-context.service.d.ts +0 -36
- package/lib/browser/context/llm-context.service.d.ts.map +0 -1
- package/lib/browser/context/llm-context.service.js +0 -170
- package/lib/browser/context/llm-context.service.js.map +0 -1
- package/lib/browser/contrib/intelligent-completions/source/trigger.source.d.ts +0 -13
- package/lib/browser/contrib/intelligent-completions/source/trigger.source.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/source/trigger.source.js +0 -36
- package/lib/browser/contrib/intelligent-completions/source/trigger.source.js.map +0 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts +0 -9
- package/lib/browser/contrib/intelligent-completions/source/typing.source.d.ts.map +0 -1
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js +0 -36
- package/lib/browser/contrib/intelligent-completions/source/typing.source.js.map +0 -1
- package/lib/browser/mcp/base-apply.service.d.ts +0 -67
- package/lib/browser/mcp/base-apply.service.d.ts.map +0 -1
- package/lib/browser/mcp/base-apply.service.js +0 -290
- package/lib/browser/mcp/base-apply.service.js.map +0 -1
- package/lib/browser/mcp/mcp-server-proxy.service.d.ts +0 -30
- package/lib/browser/mcp/mcp-server-proxy.service.d.ts.map +0 -1
- package/lib/browser/mcp/mcp-server-proxy.service.js +0 -57
- package/lib/browser/mcp/mcp-server-proxy.service.js.map +0 -1
- package/lib/browser/mcp/mcp-server.feature.registry.d.ts +0 -20
- package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +0 -1
- package/lib/browser/mcp/mcp-server.feature.registry.js +0 -69
- package/lib/browser/mcp/mcp-server.feature.registry.js.map +0 -1
- package/lib/browser/mcp/mcp-tools-dialog.module.less +0 -44
- package/lib/browser/mcp/mcp-tools-dialog.view.d.ts +0 -8
- package/lib/browser/mcp/mcp-tools-dialog.view.d.ts.map +0 -1
- package/lib/browser/mcp/mcp-tools-dialog.view.js +0 -16
- package/lib/browser/mcp/mcp-tools-dialog.view.js.map +0 -1
- package/lib/browser/mcp/tools/components/EditFile.d.ts +0 -3
- package/lib/browser/mcp/tools/components/EditFile.d.ts.map +0 -1
- package/lib/browser/mcp/tools/components/EditFile.js +0 -101
- package/lib/browser/mcp/tools/components/EditFile.js.map +0 -1
- package/lib/browser/mcp/tools/components/SearchResult.d.ts +0 -11
- package/lib/browser/mcp/tools/components/SearchResult.d.ts.map +0 -1
- package/lib/browser/mcp/tools/components/SearchResult.js +0 -60
- package/lib/browser/mcp/tools/components/SearchResult.js.map +0 -1
- package/lib/browser/mcp/tools/components/Terminal.d.ts +0 -4
- package/lib/browser/mcp/tools/components/Terminal.d.ts.map +0 -1
- package/lib/browser/mcp/tools/components/Terminal.js +0 -64
- package/lib/browser/mcp/tools/components/Terminal.js.map +0 -1
- package/lib/browser/mcp/tools/components/index.module.less +0 -168
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts +0 -9
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +0 -1
- package/lib/browser/mcp/tools/createNewFileWithText.js +0 -82
- package/lib/browser/mcp/tools/createNewFileWithText.js.map +0 -1
- package/lib/browser/mcp/tools/editFile.d.ts +0 -8
- package/lib/browser/mcp/tools/editFile.d.ts.map +0 -1
- package/lib/browser/mcp/tools/editFile.js +0 -95
- package/lib/browser/mcp/tools/editFile.js.map +0 -1
- package/lib/browser/mcp/tools/fileSearch.d.ts +0 -10
- package/lib/browser/mcp/tools/fileSearch.d.ts.map +0 -1
- package/lib/browser/mcp/tools/fileSearch.js +0 -94
- package/lib/browser/mcp/tools/fileSearch.js.map +0 -1
- package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts +0 -10
- package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +0 -1
- package/lib/browser/mcp/tools/getDiagnosticsByPath.js +0 -118
- package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +0 -1
- package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.d.ts +0 -11
- package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.d.ts.map +0 -1
- package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js +0 -118
- package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +0 -1
- package/lib/browser/mcp/tools/grepSearch.d.ts +0 -10
- package/lib/browser/mcp/tools/grepSearch.d.ts.map +0 -1
- package/lib/browser/mcp/tools/grepSearch.js +0 -118
- package/lib/browser/mcp/tools/grepSearch.js.map +0 -1
- package/lib/browser/mcp/tools/handlers/EditFile.d.ts +0 -10
- package/lib/browser/mcp/tools/handlers/EditFile.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/EditFile.js +0 -28
- package/lib/browser/mcp/tools/handlers/EditFile.js.map +0 -1
- package/lib/browser/mcp/tools/handlers/ListDir.d.ts +0 -21
- package/lib/browser/mcp/tools/handlers/ListDir.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/ListDir.js +0 -112
- package/lib/browser/mcp/tools/handlers/ListDir.js.map +0 -1
- package/lib/browser/mcp/tools/handlers/ReadFile.d.ts +0 -53
- package/lib/browser/mcp/tools/handlers/ReadFile.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/ReadFile.js +0 -161
- package/lib/browser/mcp/tools/handlers/ReadFile.js.map +0 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts +0 -43
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.js +0 -104
- package/lib/browser/mcp/tools/handlers/RunCommand.js.map +0 -1
- package/lib/browser/mcp/tools/handlers/utils.d.ts +0 -2
- package/lib/browser/mcp/tools/handlers/utils.d.ts.map +0 -1
- package/lib/browser/mcp/tools/handlers/utils.js +0 -7
- package/lib/browser/mcp/tools/handlers/utils.js.map +0 -1
- package/lib/browser/mcp/tools/listDir.d.ts +0 -8
- package/lib/browser/mcp/tools/listDir.d.ts.map +0 -1
- package/lib/browser/mcp/tools/listDir.js +0 -64
- package/lib/browser/mcp/tools/listDir.js.map +0 -1
- package/lib/browser/mcp/tools/readFile.d.ts +0 -8
- package/lib/browser/mcp/tools/readFile.d.ts.map +0 -1
- package/lib/browser/mcp/tools/readFile.js +0 -81
- package/lib/browser/mcp/tools/readFile.js.map +0 -1
- package/lib/browser/mcp/tools/runTerminalCmd.d.ts +0 -13
- package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +0 -1
- package/lib/browser/mcp/tools/runTerminalCmd.js +0 -49
- package/lib/browser/mcp/tools/runTerminalCmd.js.map +0 -1
- package/lib/browser/widget/inline-input/model.d.ts +0 -34
- package/lib/browser/widget/inline-input/model.d.ts.map +0 -1
- package/lib/browser/widget/inline-input/model.js +0 -63
- package/lib/browser/widget/inline-input/model.js.map +0 -1
- package/lib/common/llm-context.d.ts +0 -40
- package/lib/common/llm-context.d.ts.map +0 -1
- package/lib/common/llm-context.js +0 -5
- package/lib/common/llm-context.js.map +0 -1
- package/lib/common/mcp-server-manager.d.ts +0 -40
- package/lib/common/mcp-server-manager.d.ts.map +0 -1
- package/lib/common/mcp-server-manager.js +0 -6
- package/lib/common/mcp-server-manager.js.map +0 -1
- package/lib/common/prompts/context-prompt-provider.d.ts +0 -14
- package/lib/common/prompts/context-prompt-provider.d.ts.map +0 -1
- package/lib/common/prompts/context-prompt-provider.js +0 -38
- package/lib/common/prompts/context-prompt-provider.js.map +0 -1
- package/lib/common/tool-invocation-registry.d.ts +0 -92
- package/lib/common/tool-invocation-registry.d.ts.map +0 -1
- package/lib/common/tool-invocation-registry.js +0 -90
- package/lib/common/tool-invocation-registry.js.map +0 -1
- package/lib/node/anthropic/anthropic-language-model.d.ts +0 -9
- package/lib/node/anthropic/anthropic-language-model.d.ts.map +0 -1
- package/lib/node/anthropic/anthropic-language-model.js +0 -26
- package/lib/node/anthropic/anthropic-language-model.js.map +0 -1
- package/lib/node/base-language-model.d.ts +0 -14
- package/lib/node/base-language-model.d.ts.map +0 -1
- package/lib/node/base-language-model.js +0 -140
- package/lib/node/base-language-model.js.map +0 -1
- package/lib/node/deepseek/deepseek-language-model.d.ts +0 -9
- package/lib/node/deepseek/deepseek-language-model.d.ts.map +0 -1
- package/lib/node/deepseek/deepseek-language-model.js +0 -26
- package/lib/node/deepseek/deepseek-language-model.js.map +0 -1
- package/lib/node/mcp/sumi-mcp-server.d.ts +0 -91
- package/lib/node/mcp/sumi-mcp-server.d.ts.map +0 -1
- package/lib/node/mcp/sumi-mcp-server.js +0 -175
- package/lib/node/mcp/sumi-mcp-server.js.map +0 -1
- package/lib/node/mcp-server-manager-impl.d.ts +0 -27
- package/lib/node/mcp-server-manager-impl.d.ts.map +0 -1
- package/lib/node/mcp-server-manager-impl.js +0 -128
- package/lib/node/mcp-server-manager-impl.js.map +0 -1
- package/lib/node/mcp-server.d.ts +0 -207
- package/lib/node/mcp-server.d.ts.map +0 -1
- package/lib/node/mcp-server.js +0 -92
- package/lib/node/mcp-server.js.map +0 -1
- package/lib/node/openai/openai-language-model.d.ts +0 -9
- package/lib/node/openai/openai-language-model.d.ts.map +0 -1
- package/lib/node/openai/openai-language-model.js +0 -29
- package/lib/node/openai/openai-language-model.js.map +0 -1
- package/src/browser/components/ChatContext/ContextSelector.tsx +0 -177
- package/src/browser/components/ChatContext/index.tsx +0 -151
- package/src/browser/components/ChatContext/style.module.less +0 -201
- package/src/browser/components/ChatHistory.tsx +0 -292
- package/src/browser/components/ChatToolRender.module.less +0 -86
- package/src/browser/components/ChatToolRender.tsx +0 -96
- package/src/browser/components/chat-history.css +0 -139
- package/src/browser/context/llm-context.contribution.ts +0 -14
- package/src/browser/context/llm-context.service.ts +0 -200
- package/src/browser/contrib/intelligent-completions/source/trigger.source.ts +0 -44
- package/src/browser/contrib/intelligent-completions/source/typing.source.ts +0 -34
- package/src/browser/mcp/base-apply.service.ts +0 -349
- package/src/browser/mcp/mcp-server-proxy.service.ts +0 -55
- package/src/browser/mcp/mcp-server.feature.registry.ts +0 -77
- package/src/browser/mcp/mcp-tools-dialog.module.less +0 -44
- package/src/browser/mcp/mcp-tools-dialog.view.tsx +0 -24
- package/src/browser/mcp/tools/components/EditFile.tsx +0 -144
- package/src/browser/mcp/tools/components/SearchResult.tsx +0 -92
- package/src/browser/mcp/tools/components/Terminal.tsx +0 -97
- package/src/browser/mcp/tools/components/index.module.less +0 -168
- package/src/browser/mcp/tools/createNewFileWithText.ts +0 -82
- package/src/browser/mcp/tools/editFile.ts +0 -100
- package/src/browser/mcp/tools/fileSearch.ts +0 -99
- package/src/browser/mcp/tools/getDiagnosticsByPath.ts +0 -122
- package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +0 -120
- package/src/browser/mcp/tools/grepSearch.ts +0 -121
- package/src/browser/mcp/tools/handlers/EditFile.ts +0 -21
- package/src/browser/mcp/tools/handlers/ListDir.ts +0 -117
- package/src/browser/mcp/tools/handlers/ReadFile.ts +0 -192
- package/src/browser/mcp/tools/handlers/RunCommand.ts +0 -115
- package/src/browser/mcp/tools/handlers/utils.ts +0 -3
- package/src/browser/mcp/tools/listDir.ts +0 -65
- package/src/browser/mcp/tools/readFile.ts +0 -81
- package/src/browser/mcp/tools/runTerminalCmd.ts +0 -45
- package/src/browser/widget/inline-input/model.ts +0 -74
- package/src/common/llm-context.ts +0 -47
- package/src/common/mcp-server-manager.ts +0 -51
- package/src/common/prompts/context-prompt-provider.ts +0 -46
- package/src/common/tool-invocation-registry.ts +0 -168
- package/src/node/anthropic/anthropic-language-model.ts +0 -25
- package/src/node/base-language-model.ts +0 -177
- package/src/node/deepseek/deepseek-language-model.ts +0 -25
- package/src/node/mcp/sumi-mcp-server.ts +0 -200
- package/src/node/mcp-server-manager-impl.ts +0 -156
- package/src/node/mcp-server.ts +0 -127
- package/src/node/openai/openai-language-model.ts +0 -25
|
@@ -6,7 +6,6 @@ import {
|
|
|
6
6
|
IChatComponent,
|
|
7
7
|
IChatMarkdownContent,
|
|
8
8
|
IChatProgress,
|
|
9
|
-
IChatToolContent,
|
|
10
9
|
IChatTreeData,
|
|
11
10
|
ILogger,
|
|
12
11
|
memoize,
|
|
@@ -27,13 +26,9 @@ import {
|
|
|
27
26
|
import { MsgHistoryManager } from '../model/msg-history-manager';
|
|
28
27
|
import { IChatSlashCommandItem } from '../types';
|
|
29
28
|
|
|
30
|
-
export type IChatProgressResponseContent =
|
|
31
|
-
| IChatMarkdownContent
|
|
32
|
-
| IChatAsyncContent
|
|
33
|
-
| IChatTreeData
|
|
34
|
-
| IChatComponent
|
|
35
|
-
| IChatToolContent;
|
|
29
|
+
export type IChatProgressResponseContent = IChatMarkdownContent | IChatAsyncContent | IChatTreeData | IChatComponent;
|
|
36
30
|
|
|
31
|
+
@Injectable({ multiple: true })
|
|
37
32
|
export class ChatResponseModel extends Disposable {
|
|
38
33
|
#responseParts: IChatProgressResponseContent[] = [];
|
|
39
34
|
get responseParts() {
|
|
@@ -80,34 +75,14 @@ export class ChatResponseModel extends Disposable {
|
|
|
80
75
|
return this.#onDidChange.event;
|
|
81
76
|
}
|
|
82
77
|
|
|
83
|
-
constructor(
|
|
84
|
-
requestId: string,
|
|
85
|
-
public readonly session: IChatModel,
|
|
86
|
-
public readonly agentId: string,
|
|
87
|
-
initParams?: {
|
|
88
|
-
isComplete: boolean;
|
|
89
|
-
isCanceled: boolean;
|
|
90
|
-
responseContents: IChatProgressResponseContent[];
|
|
91
|
-
responseText: string;
|
|
92
|
-
errorDetails: IChatResponseErrorDetails | undefined;
|
|
93
|
-
followups: IChatFollowup[] | undefined;
|
|
94
|
-
},
|
|
95
|
-
) {
|
|
78
|
+
constructor(requestId: string, public readonly session: IChatModel, public readonly agentId: string) {
|
|
96
79
|
super();
|
|
97
80
|
this.#requestId = requestId;
|
|
98
|
-
if (initParams) {
|
|
99
|
-
this.#responseContents = initParams.responseContents;
|
|
100
|
-
this.#responseText = initParams.responseText;
|
|
101
|
-
this.#isComplete = initParams.isComplete;
|
|
102
|
-
this.#isCanceled = initParams.isCanceled;
|
|
103
|
-
this.#errorDetails = initParams.errorDetails;
|
|
104
|
-
this.#followups = initParams.followups;
|
|
105
|
-
}
|
|
106
81
|
}
|
|
107
82
|
|
|
108
83
|
updateContent(progress: IChatProgress, quiet?: boolean): void {
|
|
109
|
-
const responsePartLength = this.#responseParts.length - 1;
|
|
110
84
|
if (progress.kind === 'content' || progress.kind === 'markdownContent') {
|
|
85
|
+
const responsePartLength = this.#responseParts.length - 1;
|
|
111
86
|
const lastResponsePart = this.#responseParts[responsePartLength];
|
|
112
87
|
|
|
113
88
|
if (!lastResponsePart || lastResponsePart.kind !== 'markdownContent') {
|
|
@@ -145,20 +120,11 @@ export class ChatResponseModel extends Disposable {
|
|
|
145
120
|
}
|
|
146
121
|
this.#updateResponseText(quiet);
|
|
147
122
|
});
|
|
148
|
-
} else if (progress.kind === 'treeData'
|
|
123
|
+
} else if (progress.kind === 'treeData') {
|
|
149
124
|
this.#responseParts.push(progress);
|
|
150
125
|
this.#updateResponseText(quiet);
|
|
151
|
-
} else if (progress.kind === '
|
|
152
|
-
|
|
153
|
-
(item) => item.kind === 'toolCall' && item.content.id === progress.content.id,
|
|
154
|
-
);
|
|
155
|
-
if (find) {
|
|
156
|
-
// @ts-ignore
|
|
157
|
-
find.content = progress.content;
|
|
158
|
-
// this.#responseParts[responsePartLength] = find;
|
|
159
|
-
} else {
|
|
160
|
-
this.#responseParts.push(progress);
|
|
161
|
-
}
|
|
126
|
+
} else if (progress.kind === 'component') {
|
|
127
|
+
this.#responseParts.push(progress);
|
|
162
128
|
this.#updateResponseText(quiet);
|
|
163
129
|
}
|
|
164
130
|
}
|
|
@@ -175,9 +141,6 @@ export class ChatResponseModel extends Disposable {
|
|
|
175
141
|
if (part.kind === 'component') {
|
|
176
142
|
return '';
|
|
177
143
|
}
|
|
178
|
-
if (part.kind === 'toolCall') {
|
|
179
|
-
return part.content.function.name;
|
|
180
|
-
}
|
|
181
144
|
return part.content.value;
|
|
182
145
|
})
|
|
183
146
|
.join('\n\n');
|
|
@@ -235,18 +198,9 @@ export class ChatResponseModel extends Disposable {
|
|
|
235
198
|
this.#followups = followups;
|
|
236
199
|
this.#onDidChange.fire();
|
|
237
200
|
}
|
|
238
|
-
|
|
239
|
-
toJSON() {
|
|
240
|
-
return {
|
|
241
|
-
isCanceled: this.isCanceled,
|
|
242
|
-
responseContents: this.responseContents,
|
|
243
|
-
responseText: this.responseText,
|
|
244
|
-
errorDetails: this.errorDetails,
|
|
245
|
-
followups: this.followups,
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
201
|
}
|
|
249
202
|
|
|
203
|
+
@Injectable({ multiple: true })
|
|
250
204
|
export class ChatRequestModel implements IChatRequestModel {
|
|
251
205
|
#requestId: string;
|
|
252
206
|
public get requestId(): string {
|
|
@@ -261,29 +215,19 @@ export class ChatRequestModel implements IChatRequestModel {
|
|
|
261
215
|
) {
|
|
262
216
|
this.#requestId = requestId;
|
|
263
217
|
}
|
|
264
|
-
|
|
265
|
-
toJSON() {
|
|
266
|
-
return {
|
|
267
|
-
requestId: this.requestId,
|
|
268
|
-
message: this.message,
|
|
269
|
-
response: this.response,
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
218
|
}
|
|
273
219
|
|
|
220
|
+
@Injectable({ multiple: true })
|
|
274
221
|
export class ChatModel extends Disposable implements IChatModel {
|
|
275
222
|
private static requestIdPool = 0;
|
|
276
223
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
this.#requests = new Map(initParams.requests.map((r) => [r.requestId, r]));
|
|
283
|
-
}
|
|
284
|
-
}
|
|
224
|
+
@Autowired(ILogger)
|
|
225
|
+
protected readonly logger: ILogger;
|
|
226
|
+
|
|
227
|
+
@Autowired(INJECTOR_TOKEN)
|
|
228
|
+
injector: Injector;
|
|
285
229
|
|
|
286
|
-
#sessionId: string;
|
|
230
|
+
#sessionId: string = uuid();
|
|
287
231
|
get sessionId(): string {
|
|
288
232
|
return this.#sessionId;
|
|
289
233
|
}
|
|
@@ -293,12 +237,11 @@ export class ChatModel extends Disposable implements IChatModel {
|
|
|
293
237
|
return Array.from(this.#requests.values());
|
|
294
238
|
}
|
|
295
239
|
|
|
296
|
-
|
|
297
|
-
|
|
240
|
+
@memoize
|
|
241
|
+
get history(): MsgHistoryManager {
|
|
242
|
+
return this.injector.get(MsgHistoryManager, []);
|
|
298
243
|
}
|
|
299
244
|
|
|
300
|
-
readonly history: MsgHistoryManager;
|
|
301
|
-
|
|
302
245
|
addRequest(message: IChatRequestMessage): ChatRequestModel {
|
|
303
246
|
const requestId = `${this.sessionId}_request_${ChatModel.requestIdPool++}`;
|
|
304
247
|
const response = new ChatResponseModel(requestId, this, message.agentId);
|
|
@@ -315,13 +258,12 @@ export class ChatModel extends Disposable implements IChatModel {
|
|
|
315
258
|
|
|
316
259
|
const { kind } = progress;
|
|
317
260
|
|
|
318
|
-
const basicKind = ['content', 'markdownContent', 'asyncContent', 'treeData', 'component'
|
|
261
|
+
const basicKind = ['content', 'markdownContent', 'asyncContent', 'treeData', 'component'];
|
|
319
262
|
|
|
320
263
|
if (basicKind.includes(kind)) {
|
|
321
264
|
request.response.updateContent(progress, quiet);
|
|
322
265
|
} else {
|
|
323
|
-
|
|
324
|
-
console.error(`Couldn't handle progress: ${JSON.stringify(progress)}`);
|
|
266
|
+
this.logger.error(`Couldn't handle progress: ${JSON.stringify(progress)}`);
|
|
325
267
|
}
|
|
326
268
|
}
|
|
327
269
|
|
|
@@ -333,14 +275,6 @@ export class ChatModel extends Disposable implements IChatModel {
|
|
|
333
275
|
super.dispose();
|
|
334
276
|
this.#requests.forEach((r) => r.response.dispose());
|
|
335
277
|
}
|
|
336
|
-
|
|
337
|
-
toJSON() {
|
|
338
|
-
return {
|
|
339
|
-
sessionId: this.sessionId,
|
|
340
|
-
history: this.history,
|
|
341
|
-
requests: this.requests,
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
278
|
}
|
|
345
279
|
|
|
346
280
|
@Injectable({ multiple: true })
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
|
-
import { AppConfig, PreferenceService } from '@opensumi/ide-core-browser';
|
|
3
2
|
import {
|
|
4
3
|
AIBackSerivcePath,
|
|
5
4
|
CancellationToken,
|
|
6
|
-
ChatAgentViewServiceToken,
|
|
7
5
|
ChatFeatureRegistryToken,
|
|
8
6
|
ChatServiceToken,
|
|
9
7
|
Deferred,
|
|
10
8
|
Disposable,
|
|
11
9
|
IAIBackService,
|
|
12
10
|
IAIReporter,
|
|
13
|
-
IApplicationService,
|
|
14
11
|
IChatProgress,
|
|
15
12
|
uuid,
|
|
16
13
|
} from '@opensumi/ide-core-common';
|
|
17
|
-
import { AINativeSettingSectionsId } from '@opensumi/ide-core-common/lib/settings/ai-native';
|
|
18
14
|
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
19
15
|
import { MonacoCommandRegistry } from '@opensumi/ide-editor/lib/browser/monaco-contrib/command/command.service';
|
|
20
|
-
import { IMessageService } from '@opensumi/ide-overlay';
|
|
21
16
|
import { listenReadable } from '@opensumi/ide-utils/lib/stream';
|
|
22
17
|
|
|
23
18
|
import {
|
|
@@ -27,8 +22,6 @@ import {
|
|
|
27
22
|
IChatAgentService,
|
|
28
23
|
IChatAgentWelcomeMessage,
|
|
29
24
|
} from '../../common';
|
|
30
|
-
import { ChatToolRender } from '../components/ChatToolRender';
|
|
31
|
-
import { IChatAgentViewService } from '../types';
|
|
32
25
|
|
|
33
26
|
import { ChatService } from './chat.api.service';
|
|
34
27
|
import { ChatFeatureRegistry } from './chat.feature.registry';
|
|
@@ -39,7 +32,7 @@ import { ChatFeatureRegistry } from './chat.feature.registry';
|
|
|
39
32
|
@Injectable()
|
|
40
33
|
export class ChatProxyService extends Disposable {
|
|
41
34
|
// 避免和插件注册的 agent id 冲突
|
|
42
|
-
static readonly AGENT_ID = '
|
|
35
|
+
static readonly AGENT_ID = 'Default_Chat_Agent_' + uuid(6);
|
|
43
36
|
|
|
44
37
|
@Autowired(IChatAgentService)
|
|
45
38
|
private readonly chatAgentService: IChatAgentService;
|
|
@@ -59,41 +52,13 @@ export class ChatProxyService extends Disposable {
|
|
|
59
52
|
@Autowired(IAIReporter)
|
|
60
53
|
private readonly aiReporter: IAIReporter;
|
|
61
54
|
|
|
62
|
-
@Autowired(ChatAgentViewServiceToken)
|
|
63
|
-
private readonly chatAgentViewService: IChatAgentViewService;
|
|
64
|
-
|
|
65
|
-
@Autowired(PreferenceService)
|
|
66
|
-
private readonly preferenceService: PreferenceService;
|
|
67
|
-
|
|
68
|
-
@Autowired(IApplicationService)
|
|
69
|
-
private readonly applicationService: IApplicationService;
|
|
70
|
-
|
|
71
|
-
@Autowired(IMessageService)
|
|
72
|
-
private readonly messageService: IMessageService;
|
|
73
|
-
|
|
74
|
-
@Autowired(AppConfig)
|
|
75
|
-
private readonly appConfig: AppConfig;
|
|
76
|
-
|
|
77
55
|
private chatDeferred: Deferred<void> = new Deferred<void>();
|
|
78
56
|
|
|
79
57
|
public registerDefaultAgent() {
|
|
80
|
-
this.chatAgentViewService.registerChatComponent({
|
|
81
|
-
id: 'toolCall',
|
|
82
|
-
component: ChatToolRender,
|
|
83
|
-
initialProps: {},
|
|
84
|
-
});
|
|
85
|
-
|
|
86
58
|
this.addDispose(
|
|
87
59
|
this.chatAgentService.registerAgent({
|
|
88
60
|
id: ChatProxyService.AGENT_ID,
|
|
89
|
-
metadata: {
|
|
90
|
-
systemPrompt:
|
|
91
|
-
this.preferenceService.get<string>(
|
|
92
|
-
AINativeSettingSectionsId.SystemPrompt,
|
|
93
|
-
'You are a powerful AI coding assistant working in OpenSumi, a top IDE framework. You collaborate with a USER to solve coding tasks, which may involve creating, modifying, or debugging code, or answering questions. When the USER sends a message, relevant context (e.g., open files, cursor position, edit history, linter errors) may be attached. Use this information as needed.\n\n<tool_calling>\nYou have access to tools to assist with tasks. Follow these rules:\n1. Always adhere to the tool call schema and provide all required parameters.\n2. Only use tools explicitly provided; ignore unavailable ones.\n3. Avoid mentioning tool names to the USER (e.g., say "I will edit your file" instead of "I need to use the edit_file tool").\n4. Only call tools when necessary; respond directly if the task is general or you already know the answer.\n5. Explain to the USER why you’re using a tool before calling it.\n</tool_calling>\n\n<making_code_changes>\nWhen modifying code:\n1. Use code edit tools instead of outputting code unless explicitly requested.\n2. Limit tool calls to one per turn.\n3. Ensure generated code is immediately executable by including necessary imports, dependencies, and endpoints.\n4. For new projects, create a dependency management file (e.g., requirements.txt) and a README.\n5. For web apps, design a modern, user-friendly UI.\n6. Avoid generating non-textual or excessively long code.\n7. Read file contents before editing, unless appending a small change or creating a new file.\n8. Fix introduced linter errors if possible, but stop after 3 attempts and ask the USER for guidance.\n9. Reapply reasonable code edits if they weren’t followed initially.\n</making_code_changes>\n\nUse the appropriate tools to fulfill the USER’s request, ensuring all required parameters are provided or inferred from context.',
|
|
94
|
-
) +
|
|
95
|
-
`\n\n<user_info>\nThe user's OS version is ${this.applicationService.frontendOS}. The absolute path of the user's workspace is ${this.appConfig.workspaceDir}.\n</user_info>`,
|
|
96
|
-
},
|
|
61
|
+
metadata: {},
|
|
97
62
|
invoke: async (
|
|
98
63
|
request: IChatAgentRequest,
|
|
99
64
|
progress: (part: IChatProgress) => void,
|
|
@@ -114,28 +79,12 @@ export class ChatProxyService extends Disposable {
|
|
|
114
79
|
}
|
|
115
80
|
}
|
|
116
81
|
|
|
117
|
-
const model = this.preferenceService.get<string>(AINativeSettingSectionsId.LLMModelSelection);
|
|
118
|
-
let apiKey: string = '';
|
|
119
|
-
let baseURL: string = '';
|
|
120
|
-
if (model === 'deepseek') {
|
|
121
|
-
apiKey = this.preferenceService.get<string>(AINativeSettingSectionsId.DeepseekApiKey, '');
|
|
122
|
-
} else if (model === 'openai') {
|
|
123
|
-
apiKey = this.preferenceService.get<string>(AINativeSettingSectionsId.OpenaiApiKey, '');
|
|
124
|
-
baseURL = this.preferenceService.get<string>(AINativeSettingSectionsId.OpenaiBaseURL, '');
|
|
125
|
-
} else {
|
|
126
|
-
apiKey = this.preferenceService.get<string>(AINativeSettingSectionsId.AnthropicApiKey, '');
|
|
127
|
-
}
|
|
128
|
-
const MAX_INPUT_TOKENS = 30720;
|
|
129
82
|
const stream = await this.aiBackService.requestStream(
|
|
130
83
|
prompt,
|
|
131
84
|
{
|
|
132
85
|
requestId: request.requestId,
|
|
133
86
|
sessionId: request.sessionId,
|
|
134
|
-
history: this.aiChatService.getHistoryMessages(
|
|
135
|
-
clientId: this.applicationService.clientId,
|
|
136
|
-
apiKey,
|
|
137
|
-
model,
|
|
138
|
-
baseURL,
|
|
87
|
+
history: this.aiChatService.getHistoryMessages(),
|
|
139
88
|
},
|
|
140
89
|
token,
|
|
141
90
|
);
|
|
@@ -148,7 +97,6 @@ export class ChatProxyService extends Disposable {
|
|
|
148
97
|
this.chatDeferred.resolve();
|
|
149
98
|
},
|
|
150
99
|
onError: (error) => {
|
|
151
|
-
this.messageService.error(error.message);
|
|
152
100
|
this.aiReporter.end(request.sessionId + '_' + request.requestId, {
|
|
153
101
|
message: error.message,
|
|
154
102
|
success: false,
|
|
@@ -65,8 +65,8 @@ export class ChatService extends Disposable {
|
|
|
65
65
|
this._onChatMessageListLaunch.fire(list);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
public getHistoryMessages(
|
|
69
|
-
return this.chatInternalService.sessionModel?.history.getMessages(
|
|
68
|
+
public getHistoryMessages(): IHistoryChatMessage[] {
|
|
69
|
+
return this.chatInternalService.sessionModel?.history.getMessages() || [];
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
public scrollToBottom(): void {
|
|
@@ -27,12 +27,6 @@ export class ChatInternalService extends Disposable {
|
|
|
27
27
|
private readonly _onChangeSession = new Emitter<string>();
|
|
28
28
|
public readonly onChangeSession: Event<string> = this._onChangeSession.event;
|
|
29
29
|
|
|
30
|
-
private readonly _onCancelRequest = new Emitter<void>();
|
|
31
|
-
public readonly onCancelRequest: Event<void> = this._onCancelRequest.event;
|
|
32
|
-
|
|
33
|
-
private readonly _onRegenerateRequest = new Emitter<void>();
|
|
34
|
-
public readonly onRegenerateRequest: Event<void> = this._onRegenerateRequest.event;
|
|
35
|
-
|
|
36
30
|
private _latestRequestId: string;
|
|
37
31
|
public get latestRequestId(): string {
|
|
38
32
|
return this._latestRequestId;
|
|
@@ -43,15 +37,9 @@ export class ChatInternalService extends Disposable {
|
|
|
43
37
|
return this.#sessionModel;
|
|
44
38
|
}
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (sessions.length > 0) {
|
|
50
|
-
this.activateSession(sessions[sessions.length - 1].sessionId);
|
|
51
|
-
} else {
|
|
52
|
-
this.createSessionModel();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
40
|
+
constructor() {
|
|
41
|
+
super();
|
|
42
|
+
this.#sessionModel = this.chatManagerService.startSession();
|
|
55
43
|
}
|
|
56
44
|
|
|
57
45
|
public setLatestRequestId(id: string): void {
|
|
@@ -64,36 +52,19 @@ export class ChatInternalService extends Disposable {
|
|
|
64
52
|
}
|
|
65
53
|
|
|
66
54
|
sendRequest(request: ChatRequestModel, regenerate = false) {
|
|
67
|
-
|
|
68
|
-
if (regenerate) {
|
|
69
|
-
this._onRegenerateRequest.fire();
|
|
70
|
-
}
|
|
71
|
-
return result;
|
|
55
|
+
return this.chatManagerService.sendRequest(this.#sessionModel.sessionId, request, regenerate);
|
|
72
56
|
}
|
|
73
57
|
|
|
74
58
|
cancelRequest() {
|
|
75
59
|
this.chatManagerService.cancelRequest(this.#sessionModel.sessionId);
|
|
76
|
-
this._onCancelRequest.fire();
|
|
77
60
|
}
|
|
78
61
|
|
|
79
|
-
|
|
62
|
+
clearSessionModel() {
|
|
63
|
+
this.chatManagerService.clearSession(this.#sessionModel.sessionId);
|
|
80
64
|
this.#sessionModel = this.chatManagerService.startSession();
|
|
81
65
|
this._onChangeSession.fire(this.#sessionModel.sessionId);
|
|
82
66
|
}
|
|
83
67
|
|
|
84
|
-
clearSessionModel(sessionId?: string) {
|
|
85
|
-
sessionId = sessionId || this.#sessionModel.sessionId;
|
|
86
|
-
this.chatManagerService.clearSession(sessionId);
|
|
87
|
-
if (sessionId === this.#sessionModel.sessionId) {
|
|
88
|
-
this.#sessionModel = this.chatManagerService.startSession();
|
|
89
|
-
}
|
|
90
|
-
this._onChangeSession.fire(this.#sessionModel.sessionId);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
getSessions() {
|
|
94
|
-
return this.chatManagerService.getSessions();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
68
|
activateSession(sessionId: string) {
|
|
98
69
|
const targetSession = this.chatManagerService.getSession(sessionId);
|
|
99
70
|
if (!targetSession) {
|
|
@@ -75,14 +75,53 @@
|
|
|
75
75
|
|
|
76
76
|
.header_container {
|
|
77
77
|
height: 36px;
|
|
78
|
-
|
|
78
|
+
display: flex;
|
|
79
|
+
justify-content: space-between;
|
|
80
|
+
align-items: center;
|
|
81
|
+
padding: 12px 0 12px 16px;
|
|
79
82
|
box-sizing: border-box;
|
|
80
83
|
background-color: var(--editorGroupHeader-tabsBackground);
|
|
81
84
|
user-select: none;
|
|
82
85
|
|
|
83
|
-
.
|
|
86
|
+
.left {
|
|
84
87
|
display: flex;
|
|
85
88
|
align-items: center;
|
|
89
|
+
height: 16px;
|
|
90
|
+
color: var(--design-title-foreground);
|
|
91
|
+
font-size: 12px;
|
|
92
|
+
|
|
93
|
+
.ai_avatar_icon {
|
|
94
|
+
width: 18px;
|
|
95
|
+
height: 18px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.avatar_icon_normal {
|
|
99
|
+
width: 18px;
|
|
100
|
+
height: 18px;
|
|
101
|
+
font-size: 14px !important;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
& > * {
|
|
105
|
+
margin-right: 8px;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.right {
|
|
110
|
+
display: flex;
|
|
111
|
+
align-items: center;
|
|
112
|
+
padding-right: 10px;
|
|
113
|
+
.popover_icon {
|
|
114
|
+
margin-left: 2px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.action_btn {
|
|
118
|
+
display: flex;
|
|
119
|
+
align-items: center;
|
|
120
|
+
justify-content: center;
|
|
121
|
+
width: 22px;
|
|
122
|
+
height: 22px;
|
|
123
|
+
padding: 0;
|
|
124
|
+
}
|
|
86
125
|
}
|
|
87
126
|
}
|
|
88
127
|
|
|
@@ -278,18 +317,3 @@
|
|
|
278
317
|
}
|
|
279
318
|
}
|
|
280
319
|
}
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
.chat_tips_container {
|
|
284
|
-
display: flex;
|
|
285
|
-
align-items: center;
|
|
286
|
-
justify-content: center;
|
|
287
|
-
color: var(--tab-inactiveForeground);
|
|
288
|
-
font-size: 12px;
|
|
289
|
-
margin-top: 16px;
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
.chat_history {
|
|
293
|
-
width: calc(100% - 60px);
|
|
294
|
-
color: var(--design-text-foreground);
|
|
295
|
-
}
|