@opensumi/ide-ai-native 3.0.1 → 3.0.2-next-1715589837.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.contribution.d.ts +1 -0
- package/lib/browser/ai-core.contribution.d.ts.map +1 -1
- package/lib/browser/ai-core.contribution.js +17 -9
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/ai-terminal/component/terminal-command-suggest-controller.d.ts +2 -5
- package/lib/browser/ai-terminal/component/terminal-command-suggest-controller.d.ts.map +1 -1
- package/lib/browser/ai-terminal/component/terminal-command-suggest-controller.js +19 -25
- package/lib/browser/ai-terminal/component/terminal-command-suggest-controller.js.map +1 -1
- package/lib/browser/ai-terminal/component/terminal-command-suggest-controller.module.less +5 -11
- package/lib/browser/ai-terminal/ps1-terminal.service.d.ts +2 -3
- package/lib/browser/ai-terminal/ps1-terminal.service.d.ts.map +1 -1
- package/lib/browser/ai-terminal/ps1-terminal.service.js +22 -77
- package/lib/browser/ai-terminal/ps1-terminal.service.js.map +1 -1
- package/lib/browser/ai-terminal/terminal-ai.contributon.d.ts +6 -8
- package/lib/browser/ai-terminal/terminal-ai.contributon.d.ts.map +1 -1
- package/lib/browser/ai-terminal/terminal-ai.contributon.js +8 -1
- package/lib/browser/ai-terminal/terminal-ai.contributon.js.map +1 -1
- package/lib/browser/ai-terminal/terminal.feature.registry.d.ts +9 -0
- package/lib/browser/ai-terminal/terminal.feature.registry.d.ts.map +1 -0
- package/lib/browser/ai-terminal/terminal.feature.registry.js +71 -0
- package/lib/browser/ai-terminal/terminal.feature.registry.js.map +1 -0
- package/lib/browser/components/ChatInput.d.ts.map +1 -1
- package/lib/browser/components/ChatInput.js +6 -3
- package/lib/browser/components/ChatInput.js.map +1 -1
- package/lib/browser/components/WelcomeMsg.d.ts.map +1 -1
- package/lib/browser/components/WelcomeMsg.js +4 -3
- package/lib/browser/components/WelcomeMsg.js.map +1 -1
- package/lib/browser/index.d.ts.map +1 -1
- package/lib/browser/index.js +6 -0
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/types.d.ts +13 -1
- package/lib/browser/types.d.ts.map +1 -1
- package/lib/browser/types.js +8 -1
- package/lib/browser/types.js.map +1 -1
- package/lib/common/index.d.ts +7 -0
- package/lib/common/index.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/browser/ai-core.contribution.ts +8 -0
- package/src/browser/ai-terminal/component/terminal-command-suggest-controller.module.less +5 -11
- package/src/browser/ai-terminal/component/terminal-command-suggest-controller.tsx +44 -47
- package/src/browser/ai-terminal/ps1-terminal.service.tsx +29 -87
- package/src/browser/ai-terminal/terminal-ai.contributon.ts +13 -5
- package/src/browser/ai-terminal/terminal.feature.registry.ts +61 -0
- package/src/browser/components/ChatInput.tsx +12 -5
- package/src/browser/components/WelcomeMsg.tsx +8 -3
- package/src/browser/index.ts +6 -0
- package/src/browser/types.ts +21 -1
- package/src/common/index.ts +8 -0
|
@@ -10,6 +10,7 @@ export declare class AINativeBrowserContribution implements ClientAppContributio
|
|
|
10
10
|
private readonly chatRenderRegistry;
|
|
11
11
|
private readonly resolveConflictRegistry;
|
|
12
12
|
private readonly renameCandidatesProviderRegistry;
|
|
13
|
+
private readonly terminalProviderRegistry;
|
|
13
14
|
private readonly aiNativeService;
|
|
14
15
|
private readonly aiNativeConfigService;
|
|
15
16
|
private readonly designLayoutConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAIjB,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAElB,kBAAkB,EAGlB,wBAAwB,EACxB,oBAAoB,EAGrB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ai-core.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/ai-core.contribution.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAIjB,4BAA4B,EAC5B,sBAAsB,EACtB,kBAAkB,EAElB,kBAAkB,EAGlB,wBAAwB,EACxB,oBAAoB,EAGrB,MAAM,4BAA4B,CAAC;AAuBpC,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAErG,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AA+BlF,qBAUa,2BACX,YACE,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB;IAGpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiD;IAG/E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA6B;IAGvE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAG3D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAGzD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA2B;IAGnE,OAAO,CAAC,QAAQ,CAAC,gCAAgC,CAAoC;IAGrF,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAA4B;IAGrE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAGlD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAG9D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAGxD,OAAO,CAAC,oBAAoB,CAAuB;IAGnD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA8B;IAG1E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAGhD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAGnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;;IAMpD,UAAU;IAYV,mCAAmC,CAAC,QAAQ,EAAE,4BAA4B,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAOxF,UAAU;IAYV,OAAO,CAAC,eAAe;IAuBvB,eAAe,CAAC,QAAQ,EAAE,gBAAgB;IA4C1C,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,IAAI;IAS7D,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAgCjD,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAQtD,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAepD,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;CAoB3D"}
|
|
@@ -8,6 +8,7 @@ const command_1 = require("@opensumi/ide-core-browser/lib/ai-native/command");
|
|
|
8
8
|
const ai_native_1 = require("@opensumi/ide-core-browser/lib/contextkey/ai-native");
|
|
9
9
|
const constants_1 = require("@opensumi/ide-core-browser/lib/layout/constants");
|
|
10
10
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
11
|
+
const ide_core_common_2 = require("@opensumi/ide-core-common");
|
|
11
12
|
const ide_design_1 = require("@opensumi/ide-design");
|
|
12
13
|
const browser_1 = require("@opensumi/ide-editor/lib/browser");
|
|
13
14
|
const ide_main_layout_1 = require("@opensumi/ide-main-layout");
|
|
@@ -45,7 +46,7 @@ let AINativeBrowserContribution = class AINativeBrowserContribution {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
onDidStart() {
|
|
48
|
-
(0,
|
|
49
|
+
(0, ide_core_common_2.runWhenIdle)(() => {
|
|
49
50
|
const prefChatVisibleType = this.preferenceService.getValid(ide_core_browser_1.AINativeSettingSectionsId.CHAT_VISIBLE_TYPE);
|
|
50
51
|
if (prefChatVisibleType === 'always') {
|
|
51
52
|
this.commandService.executeCommand(command_1.AI_CHAT_VISIBLE.id, true);
|
|
@@ -72,12 +73,15 @@ let AINativeBrowserContribution = class AINativeBrowserContribution {
|
|
|
72
73
|
if (contribution.registerChatRender) {
|
|
73
74
|
contribution.registerChatRender(this.chatRenderRegistry);
|
|
74
75
|
}
|
|
76
|
+
if (contribution.registerTerminalProvider) {
|
|
77
|
+
contribution.registerTerminalProvider(this.terminalProviderRegistry);
|
|
78
|
+
}
|
|
75
79
|
});
|
|
76
80
|
}
|
|
77
81
|
registerSetting(registry) {
|
|
78
82
|
registry.registerSettingGroup({
|
|
79
83
|
id: ide_core_browser_1.AI_NATIVE_SETTING_GROUP_ID,
|
|
80
|
-
title:
|
|
84
|
+
title: ide_core_common_2.AI_NATIVE_SETTING_GROUP_TITLE,
|
|
81
85
|
iconClass: (0, ide_core_browser_1.getIcon)('magic-wand'),
|
|
82
86
|
});
|
|
83
87
|
registry.registerSettingSection(ide_core_browser_1.AI_NATIVE_SETTING_GROUP_ID, {
|
|
@@ -135,7 +139,7 @@ let AINativeBrowserContribution = class AINativeBrowserContribution {
|
|
|
135
139
|
});
|
|
136
140
|
commands.registerCommand(command_1.AI_CHAT_VISIBLE, {
|
|
137
141
|
execute: (visible) => {
|
|
138
|
-
this.layoutService.toggleSlot(common_1.AI_CHAT_VIEW_ID, (0,
|
|
142
|
+
this.layoutService.toggleSlot(common_1.AI_CHAT_VIEW_ID, (0, ide_core_common_2.isUndefined)(visible) ? true : visible);
|
|
139
143
|
},
|
|
140
144
|
});
|
|
141
145
|
commands.registerCommand(command_1.AI_INLINE_COMPLETION_VISIBLE, {
|
|
@@ -202,25 +206,29 @@ tslib_1.__decorate([
|
|
|
202
206
|
tslib_1.__metadata("design:type", Object)
|
|
203
207
|
], AINativeBrowserContribution.prototype, "contributions", void 0);
|
|
204
208
|
tslib_1.__decorate([
|
|
205
|
-
(0, di_1.Autowired)(
|
|
209
|
+
(0, di_1.Autowired)(ide_core_common_2.InlineChatFeatureRegistryToken),
|
|
206
210
|
tslib_1.__metadata("design:type", Object)
|
|
207
211
|
], AINativeBrowserContribution.prototype, "inlineChatFeatureRegistry", void 0);
|
|
208
212
|
tslib_1.__decorate([
|
|
209
|
-
(0, di_1.Autowired)(
|
|
213
|
+
(0, di_1.Autowired)(ide_core_common_2.ChatFeatureRegistryToken),
|
|
210
214
|
tslib_1.__metadata("design:type", Object)
|
|
211
215
|
], AINativeBrowserContribution.prototype, "chatFeatureRegistry", void 0);
|
|
212
216
|
tslib_1.__decorate([
|
|
213
|
-
(0, di_1.Autowired)(
|
|
217
|
+
(0, di_1.Autowired)(ide_core_common_2.ChatRenderRegistryToken),
|
|
214
218
|
tslib_1.__metadata("design:type", Object)
|
|
215
219
|
], AINativeBrowserContribution.prototype, "chatRenderRegistry", void 0);
|
|
216
220
|
tslib_1.__decorate([
|
|
217
|
-
(0, di_1.Autowired)(
|
|
221
|
+
(0, di_1.Autowired)(ide_core_common_2.ResolveConflictRegistryToken),
|
|
218
222
|
tslib_1.__metadata("design:type", Object)
|
|
219
223
|
], AINativeBrowserContribution.prototype, "resolveConflictRegistry", void 0);
|
|
220
224
|
tslib_1.__decorate([
|
|
221
|
-
(0, di_1.Autowired)(
|
|
225
|
+
(0, di_1.Autowired)(ide_core_common_2.RenameCandidatesProviderRegistryToken),
|
|
222
226
|
tslib_1.__metadata("design:type", Object)
|
|
223
227
|
], AINativeBrowserContribution.prototype, "renameCandidatesProviderRegistry", void 0);
|
|
228
|
+
tslib_1.__decorate([
|
|
229
|
+
(0, di_1.Autowired)(ide_core_common_1.TerminalRegistryToken),
|
|
230
|
+
tslib_1.__metadata("design:type", Object)
|
|
231
|
+
], AINativeBrowserContribution.prototype, "terminalProviderRegistry", void 0);
|
|
224
232
|
tslib_1.__decorate([
|
|
225
233
|
(0, di_1.Autowired)(ai_native_service_1.AINativeService),
|
|
226
234
|
tslib_1.__metadata("design:type", ai_native_service_1.AINativeService)
|
|
@@ -242,7 +250,7 @@ tslib_1.__decorate([
|
|
|
242
250
|
tslib_1.__metadata("design:type", completeProvider_1.AIInlineCompletionsProvider)
|
|
243
251
|
], AINativeBrowserContribution.prototype, "aiInlineCompletionsProvider", void 0);
|
|
244
252
|
tslib_1.__decorate([
|
|
245
|
-
(0, di_1.Autowired)(
|
|
253
|
+
(0, di_1.Autowired)(ide_core_common_2.CommandService),
|
|
246
254
|
tslib_1.__metadata("design:type", Object)
|
|
247
255
|
], AINativeBrowserContribution.prototype, "commandService", void 0);
|
|
248
256
|
tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-core.contribution.js","sourceRoot":"","sources":["../../src/browser/ai-core.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAmE;AACnE,iEAwBoC;AACpC,8EAK0D;AAC1D,mFAA0F;AAC1F,+EAAqF;AACrF,+DAUmC;AACnC,qDAA6D;AAE7D,8DAAqG;AACrG,+DAA+D;AAC/D,+DAAkF;AAClF,0GAAsH;AAEtH,sCAMmB;AAEnB,qEAAgE;AAChE,2DAAsD;AACtD,kEAA6D;AAC7D,gDAA8C;AAC9C,4EAAoF;AACpF,gGAA2F;AAC3F,sDAAgG;AAChG,kEAAoE;AACpE,2DAA8D;AAC9D,2DAAyD;AACzD,
|
|
1
|
+
{"version":3,"file":"ai-core.contribution.js","sourceRoot":"","sources":["../../src/browser/ai-core.contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Emitter } from '@opensumi/ide-core-browser';
|
|
3
|
-
|
|
4
|
-
description: string;
|
|
5
|
-
command: string;
|
|
6
|
-
}
|
|
3
|
+
import { ITerminalCommandSuggestionDesc } from '../../../common';
|
|
7
4
|
export declare const KeyboardSelectableList: (props: {
|
|
8
5
|
items: {
|
|
9
6
|
description: string;
|
|
@@ -17,7 +14,7 @@ interface CommandLineInterfaceProps {
|
|
|
17
14
|
onEscTriggered: () => void;
|
|
18
15
|
onSuggestionClick: (command: string) => void;
|
|
19
16
|
onDescription?: (description: string) => void;
|
|
20
|
-
getAICommandSuggestions: (commandDescription: string,
|
|
17
|
+
getAICommandSuggestions: (commandDescription: string, doneCallback: () => void, thinkingCallback: () => void, suggestionCallback: (suggestions: ITerminalCommandSuggestionDesc[]) => void) => void;
|
|
21
18
|
cancelAIRequst?: () => void;
|
|
22
19
|
}
|
|
23
20
|
export declare const AITerminalPrompt: (props: CommandLineInterfaceProps) => React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-command-suggest-controller.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,OAAO,EAAY,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-command-suggest-controller.d.ts","sourceRoot":"","sources":["../../../../src/browser/ai-terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":"AACA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,EAAE,OAAO,EAAY,MAAM,4BAA4B,CAAC;AAI/D,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAKjE,eAAO,MAAM,sBAAsB;WAC1B;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;qCAChB,MAAM,KAAK,IAAI;;;uBAmFjD,CAAC;AAEF,UAAU,yBAAyB;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,uBAAuB,EAAE,CACvB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,IAAI,EACxB,gBAAgB,EAAE,MAAM,IAAI,EAC5B,kBAAkB,EAAE,CAAC,WAAW,EAAE,8BAA8B,EAAE,KAAK,IAAI,KACxE,IAAI,CAAC;IACV,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,gBAAgB,UAAW,yBAAyB,sBAkJhE,CAAC"}
|
|
@@ -79,22 +79,19 @@ const AITerminalPrompt = (props) => {
|
|
|
79
79
|
const [loading, setLoading] = (0, react_1.useState)(false);
|
|
80
80
|
const [statMsg, setStatMsg] = (0, react_1.useState)((0, ide_core_browser_1.localize)('terminal.ai.escClose'));
|
|
81
81
|
const modalRef = (0, react_1.useRef)(null);
|
|
82
|
-
const searchAICommands = async (desc) => {
|
|
82
|
+
const searchAICommands = (0, react_1.useCallback)(async (desc) => {
|
|
83
83
|
setLoading(true);
|
|
84
84
|
setStatMsg((0, ide_core_browser_1.localize)('terminal.ai.requesting'));
|
|
85
|
-
getAICommandSuggestions(desc, (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
setLoading(true);
|
|
92
|
-
setStatMsg((0, ide_core_browser_1.localize)('terminal.ai.thinking'));
|
|
93
|
-
}
|
|
85
|
+
getAICommandSuggestions(desc, () => {
|
|
86
|
+
setLoading(false);
|
|
87
|
+
setStatMsg((0, ide_core_browser_1.localize)('terminal.ai.selectHint'));
|
|
88
|
+
}, () => {
|
|
89
|
+
setLoading(true);
|
|
90
|
+
setStatMsg((0, ide_core_browser_1.localize)('terminal.ai.thinking'));
|
|
94
91
|
}, (suggestions) => {
|
|
95
92
|
setSuggestions([...suggestions].reverse());
|
|
96
93
|
});
|
|
97
|
-
};
|
|
94
|
+
}, [suggestions]);
|
|
98
95
|
const debouncedSearch = (0, react_1.useCallback)((0, lodash_1.debounce)((desc) => {
|
|
99
96
|
searchAICommands(desc);
|
|
100
97
|
}, 1000), []); // 延迟 1 秒
|
|
@@ -137,10 +134,9 @@ const AITerminalPrompt = (props) => {
|
|
|
137
134
|
cancelAIRequst && cancelAIRequst();
|
|
138
135
|
}
|
|
139
136
|
};
|
|
140
|
-
const handleSubmit = (
|
|
141
|
-
e.preventDefault();
|
|
137
|
+
const handleSubmit = (0, react_1.useCallback)(() => {
|
|
142
138
|
searchAICommands(input);
|
|
143
|
-
};
|
|
139
|
+
}, [input]);
|
|
144
140
|
const handleSuggestionClick = (command) => {
|
|
145
141
|
// 处理点击建议命令,这里只是简单地填充输入
|
|
146
142
|
onSuggestionClick(command);
|
|
@@ -152,23 +148,21 @@ const AITerminalPrompt = (props) => {
|
|
|
152
148
|
react_1.default.createElement(ai_native_1.EnhanceIcon, { className: (0, components_1.getIcon)('close1'), onClick: () => {
|
|
153
149
|
onEscTriggered();
|
|
154
150
|
} }))),
|
|
155
|
-
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.statusContainer }, statMsg),
|
|
156
|
-
react_1.default.createElement("div", { style: { height: '12px' } }),
|
|
157
151
|
react_1.default.createElement("div", { style: { position: 'relative', marginLeft: '-14px' } }, suggestions.length > 0 && (react_1.default.createElement(exports.KeyboardSelectableList, { items: suggestions, handleSuggestionClick: handleSuggestionClick }))),
|
|
158
152
|
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.inputContainer },
|
|
159
|
-
react_1.default.createElement(
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}, onChange: handleInputChange, placeholder: (0, ide_core_browser_1.localize)('terminal.ai.inputHint'), className: terminal_command_suggest_controller_module_less_1.default.input, autoFocus: true })),
|
|
153
|
+
react_1.default.createElement(components_1.Input, { type: 'text', value: input, onKeyDown: (event) => {
|
|
154
|
+
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
155
|
+
// 阻止默认的键盘上下方向键
|
|
156
|
+
event.preventDefault();
|
|
157
|
+
}
|
|
158
|
+
}, onChange: handleInputChange, onPressEnter: () => handleSubmit(), placeholder: (0, ide_core_browser_1.localize)('terminal.ai.inputHint'), className: terminal_command_suggest_controller_module_less_1.default.input, autoFocus: true }),
|
|
166
159
|
loading ? (react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.ai_loading },
|
|
167
160
|
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.loader }),
|
|
168
161
|
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.loader }),
|
|
169
162
|
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.loader }))) : (react_1.default.createElement(ai_native_1.EnhanceIcon, { wrapperClassName: terminal_command_suggest_controller_module_less_1.default.send_icon, className: (0, components_1.getIcon)('send-solid'), onClick: () => {
|
|
170
|
-
|
|
171
|
-
} })))
|
|
163
|
+
debouncedSearch(input);
|
|
164
|
+
} }))),
|
|
165
|
+
react_1.default.createElement("div", { className: terminal_command_suggest_controller_module_less_1.default.statusContainer }, statMsg)));
|
|
172
166
|
};
|
|
173
167
|
exports.AITerminalPrompt = AITerminalPrompt;
|
|
174
168
|
//# sourceMappingURL=terminal-command-suggest-controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-command-suggest-controller.js","sourceRoot":"","sources":["../../../../src/browser/ai-terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":";;;;AAAA,mCAAkC;AAClC,uDAAwE;AAExE,iEAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"terminal-command-suggest-controller.js","sourceRoot":"","sources":["../../../../src/browser/ai-terminal/component/terminal-command-suggest-controller.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
.container {
|
|
2
2
|
position: absolute;
|
|
3
|
-
// background-color: #262626;
|
|
4
3
|
background-color: var(--editorGroupHeader-tabsBackground);
|
|
5
4
|
bottom: 0;
|
|
6
5
|
left: 0;
|
|
7
6
|
z-index: 3;
|
|
8
|
-
height: 80px;
|
|
9
7
|
width: 500px;
|
|
10
8
|
padding: 8px 10px 8px 14px;
|
|
11
9
|
border-radius: 12px;
|
|
10
|
+
|
|
11
|
+
display: flex;
|
|
12
|
+
flex-direction: column;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.header {
|
|
15
16
|
display: flex;
|
|
16
17
|
flex-direction: row;
|
|
17
18
|
font-size: 14px;
|
|
19
|
+
padding-bottom: 12px;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
22
|
.statusContainer {
|
|
21
|
-
|
|
22
|
-
bottom: 0;
|
|
23
|
-
right: 12px;
|
|
23
|
+
text-align: right;
|
|
24
24
|
font-size: 8px;
|
|
25
25
|
opacity: 0.5;
|
|
26
26
|
}
|
|
@@ -32,13 +32,7 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.input {
|
|
35
|
-
flex: 1;
|
|
36
|
-
width: 100%;
|
|
37
|
-
color: var(--design-title-foreground);
|
|
38
35
|
border: none;
|
|
39
|
-
padding: 10px;
|
|
40
|
-
font-size: 14px;
|
|
41
|
-
height: 28px;
|
|
42
36
|
padding-left: 0;
|
|
43
37
|
background-color: transparent;
|
|
44
38
|
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { Disposable, IAIReporter } from '@opensumi/ide-core-common';
|
|
2
2
|
export declare class PS1TerminalService extends Disposable {
|
|
3
3
|
private terminalController;
|
|
4
|
-
private readonly
|
|
5
|
-
private readonly msgStreamManager;
|
|
4
|
+
private readonly terminalFeatureRegistry;
|
|
6
5
|
aiReporter: IAIReporter;
|
|
7
6
|
private popupContainer;
|
|
8
7
|
private promptEndMarker;
|
|
9
8
|
private promptEndDecoration;
|
|
10
9
|
private promptEndReactRoot;
|
|
11
10
|
private onDataDisposable;
|
|
12
|
-
private
|
|
11
|
+
private cancelToken;
|
|
13
12
|
active(): void;
|
|
14
13
|
private listenTerminalEvent;
|
|
15
14
|
private initContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps1-terminal.service.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-terminal/ps1-terminal.service.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ps1-terminal.service.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-terminal/ps1-terminal.service.tsx"],"names":[],"mappings":"AAOA,OAAO,EAA2B,UAAU,EAAE,WAAW,EAAyB,MAAM,2BAA2B,CAAC;AAiBpH,qBACa,kBAAmB,SAAQ,UAAU;IAEhD,OAAO,CAAC,kBAAkB,CAAsB;IAGhD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAGlE,UAAU,EAAE,WAAW,CAAC;IAExB,OAAO,CAAC,cAAc,CAAiB;IAEvC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,kBAAkB,CAAmB;IAC7C,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,WAAW,CAAiC;IAE7C,MAAM;IAKb,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,eAAe;IAoDvB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;YA2EZ,mBAAmB;YAMnB,uBAAuB;CA4BtC"}
|
|
@@ -5,14 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const dom_align_1 = tslib_1.__importDefault(require("dom-align"));
|
|
6
6
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
7
7
|
const client_1 = require("react-dom/client");
|
|
8
|
-
const uuid_1 = require("uuid");
|
|
9
8
|
const di_1 = require("@opensumi/di");
|
|
10
9
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
11
10
|
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
12
11
|
const ide_terminal_next_1 = require("@opensumi/ide-terminal-next");
|
|
13
|
-
const
|
|
14
|
-
const msg_stream_manager_1 = require("../model/msg-stream-manager");
|
|
12
|
+
const stream_1 = require("@opensumi/ide-utils/lib/stream");
|
|
15
13
|
const terminal_command_suggest_controller_1 = require("./component/terminal-command-suggest-controller");
|
|
14
|
+
const terminal_feature_registry_1 = require("./terminal.feature.registry");
|
|
16
15
|
// 基于 PS1 Hack 的终端 AI 能力集成
|
|
17
16
|
var IstermOscPt;
|
|
18
17
|
(function (IstermOscPt) {
|
|
@@ -21,6 +20,10 @@ var IstermOscPt;
|
|
|
21
20
|
IstermOscPt["CurrentWorkingDirectory"] = "CWD";
|
|
22
21
|
})(IstermOscPt || (IstermOscPt = {}));
|
|
23
22
|
let PS1TerminalService = class PS1TerminalService extends ide_core_common_1.Disposable {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
this.cancelToken = new ide_core_common_1.CancellationTokenSource();
|
|
26
|
+
}
|
|
24
27
|
active() {
|
|
25
28
|
this.initContainer();
|
|
26
29
|
this.disposables.push(this.terminalController.onDidOpenTerminal(({ id }) => this.listenTerminalEvent(id)));
|
|
@@ -164,78 +167,24 @@ let PS1TerminalService = class PS1TerminalService extends ide_core_common_1.Disp
|
|
|
164
167
|
});
|
|
165
168
|
}
|
|
166
169
|
async stopAIStreamRequest() {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
this.aiChatService.cancelChatViewToken();
|
|
170
|
-
}
|
|
170
|
+
this.cancelToken.cancel();
|
|
171
|
+
this.cancelToken = new ide_core_common_1.CancellationTokenSource();
|
|
171
172
|
}
|
|
172
173
|
// 获取 AI 命令建议
|
|
173
|
-
async getAICommandSuggestions(commandDescription,
|
|
174
|
-
// 根据国际化配置调整 AI Prompt 的提示语
|
|
175
|
-
const aiPrompt = `${(0, ide_core_browser_1.localize)('terminal.ai.modelPrompt')} ${commandDescription}`;
|
|
176
|
-
// 如果已有 AI 请求发出,那就取消这个 AI 请求
|
|
174
|
+
async getAICommandSuggestions(commandDescription, doneCallback, _thinkingCallback, suggestionCallback) {
|
|
177
175
|
await this.stopAIStreamRequest();
|
|
178
176
|
const reportRelationId = this.aiReporter.start('terminalAICommand', { message: commandDescription });
|
|
179
|
-
const
|
|
180
|
-
await this.aiChatService.messageWithStream(aiPrompt, {}, sessionId);
|
|
181
|
-
this.currentSessionId = sessionId;
|
|
182
|
-
let buffer = ''; // 用于累积数据片段的缓冲区
|
|
177
|
+
const terminalReadableStream = await this.terminalFeatureRegistry.readableCommandSuggestions(commandDescription, this.cancelToken.token);
|
|
183
178
|
const aiCommandSuggestions = [];
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
// 解析命令和描述
|
|
194
|
-
if (line.startsWith('#Command#:')) {
|
|
195
|
-
if (currentObj.command) {
|
|
196
|
-
// 如果currentObj中已有命令,则将其添加到结果数组中,并开始新的对象
|
|
197
|
-
currentObj = {};
|
|
198
|
-
}
|
|
199
|
-
currentObj.command = line.substring('#Command#:'.length).trim();
|
|
200
|
-
}
|
|
201
|
-
else if (line.startsWith('#Description#:')) {
|
|
202
|
-
currentObj.description = line.substring('#Description#:'.length).trim();
|
|
203
|
-
aiCommandSuggestions.push(currentObj);
|
|
204
|
-
if (aiCommandSuggestions.length > 4) {
|
|
205
|
-
// 如果 AI 返回的命令超过 5 个,就停止 AI 生成 (这种情况下往往是模型不稳定或者出现了幻觉)
|
|
206
|
-
this.stopAIStreamRequest();
|
|
207
|
-
}
|
|
208
|
-
suggestionCallback(aiCommandSuggestions); // 每拿到一个结果就回调一次,优化用户体感
|
|
209
|
-
}
|
|
210
|
-
};
|
|
211
|
-
// 大模型 Stream 流式返回监听,缓存处理,然后按行解析
|
|
212
|
-
this.msgStreamManager.onMsgListChange(sessionId)((msg) => {
|
|
213
|
-
if (msg && this.msgStreamManager.currentSessionId === sessionId) {
|
|
214
|
-
const { delta, finish_reason } = msg;
|
|
215
|
-
const chunk = delta.content;
|
|
216
|
-
buffer += chunk;
|
|
217
|
-
if (finish_reason === 'stop') {
|
|
218
|
-
buffer += '\n';
|
|
219
|
-
}
|
|
220
|
-
let newlineIndex = buffer.indexOf('\n');
|
|
221
|
-
while (newlineIndex !== -1) {
|
|
222
|
-
const line = buffer.substring(0, newlineIndex).trim();
|
|
223
|
-
buffer = buffer.substring(newlineIndex + 1);
|
|
224
|
-
processLine(line);
|
|
225
|
-
newlineIndex = buffer.indexOf('\n');
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
});
|
|
229
|
-
// 大模型 Stream 状态监听
|
|
230
|
-
this.msgStreamManager.onMsgStatus((status) => {
|
|
231
|
-
if (this.msgStreamManager.currentSessionId === sessionId) {
|
|
232
|
-
statCallback(status);
|
|
233
|
-
if (status === 2) {
|
|
234
|
-
// AI 思考完成
|
|
235
|
-
this.aiReporter.end(reportRelationId, { message: commandDescription, success: true });
|
|
236
|
-
this.currentSessionId = '';
|
|
237
|
-
}
|
|
238
|
-
}
|
|
179
|
+
(0, stream_1.listenReadable)(terminalReadableStream, {
|
|
180
|
+
onData: (data) => {
|
|
181
|
+
aiCommandSuggestions.push(data);
|
|
182
|
+
suggestionCallback(aiCommandSuggestions);
|
|
183
|
+
},
|
|
184
|
+
onEnd: () => {
|
|
185
|
+
doneCallback();
|
|
186
|
+
this.aiReporter.end(reportRelationId, { message: commandDescription, success: true });
|
|
187
|
+
},
|
|
239
188
|
});
|
|
240
189
|
}
|
|
241
190
|
};
|
|
@@ -244,13 +193,9 @@ tslib_1.__decorate([
|
|
|
244
193
|
tslib_1.__metadata("design:type", Object)
|
|
245
194
|
], PS1TerminalService.prototype, "terminalController", void 0);
|
|
246
195
|
tslib_1.__decorate([
|
|
247
|
-
(0, di_1.Autowired)(
|
|
248
|
-
tslib_1.__metadata("design:type",
|
|
249
|
-
], PS1TerminalService.prototype, "
|
|
250
|
-
tslib_1.__decorate([
|
|
251
|
-
(0, di_1.Autowired)(msg_stream_manager_1.MsgStreamManager),
|
|
252
|
-
tslib_1.__metadata("design:type", msg_stream_manager_1.MsgStreamManager)
|
|
253
|
-
], PS1TerminalService.prototype, "msgStreamManager", void 0);
|
|
196
|
+
(0, di_1.Autowired)(ide_core_common_1.TerminalRegistryToken),
|
|
197
|
+
tslib_1.__metadata("design:type", terminal_feature_registry_1.TerminalFeatureRegistry)
|
|
198
|
+
], PS1TerminalService.prototype, "terminalFeatureRegistry", void 0);
|
|
254
199
|
tslib_1.__decorate([
|
|
255
200
|
(0, di_1.Autowired)(ide_core_common_1.IAIReporter),
|
|
256
201
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps1-terminal.service.js","sourceRoot":"","sources":["../../../src/browser/ai-terminal/ps1-terminal.service.tsx"],"names":[],"mappings":";;;;AAAA,kEAAiC;AACjC,0DAA0B;AAC1B,6CAAoD;
|
|
1
|
+
{"version":3,"file":"ps1-terminal.service.js","sourceRoot":"","sources":["../../../src/browser/ai-terminal/ps1-terminal.service.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AITerminalService } from './ai-terminal.service';
|
|
3
|
-
import { AITerminalDecorationService } from './decoration/terminal-decoration';
|
|
4
|
-
import { PS1TerminalService } from './ps1-terminal.service';
|
|
1
|
+
import { ClientAppContribution } from '@opensumi/ide-core-browser';
|
|
5
2
|
export declare class TerminalAIContribution implements ClientAppContribution {
|
|
6
|
-
aiTerminalService
|
|
7
|
-
aiTerminalDecorationService
|
|
8
|
-
ps1TerminalService
|
|
9
|
-
aiNativeConfigService
|
|
3
|
+
private readonly aiTerminalService;
|
|
4
|
+
private readonly aiTerminalDecorationService;
|
|
5
|
+
private readonly ps1TerminalService;
|
|
6
|
+
private readonly aiNativeConfigService;
|
|
7
|
+
private readonly terminalFeatureRegistry;
|
|
10
8
|
onDidStart(): void;
|
|
11
9
|
}
|
|
12
10
|
//# sourceMappingURL=terminal-ai.contributon.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-ai.contributon.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-terminal/terminal-ai.contributon.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal-ai.contributon.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-terminal/terminal-ai.contributon.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,qBAAqB,EAAU,MAAM,4BAA4B,CAAC;AAQlG,qBACa,sBAAuB,YAAW,qBAAqB;IAElE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAA8B;IAG1E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAGxD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAG9D,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAElE,UAAU;CAYX"}
|
|
@@ -4,16 +4,19 @@ exports.TerminalAIContribution = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
6
|
const ide_core_browser_1 = require("@opensumi/ide-core-browser");
|
|
7
|
+
const ide_core_common_1 = require("@opensumi/ide-core-common");
|
|
7
8
|
const ai_terminal_service_1 = require("./ai-terminal.service");
|
|
8
9
|
const terminal_decoration_1 = require("./decoration/terminal-decoration");
|
|
9
10
|
const ps1_terminal_service_1 = require("./ps1-terminal.service");
|
|
11
|
+
const terminal_feature_registry_1 = require("./terminal.feature.registry");
|
|
10
12
|
let TerminalAIContribution = class TerminalAIContribution {
|
|
11
13
|
onDidStart() {
|
|
12
14
|
if (this.aiNativeConfigService.capabilities.supportsTerminalDetection) {
|
|
13
15
|
this.aiTerminalService.active();
|
|
14
16
|
this.aiTerminalDecorationService.active();
|
|
15
17
|
}
|
|
16
|
-
if (this.aiNativeConfigService.capabilities.supportsTerminalCommandSuggest
|
|
18
|
+
if (this.aiNativeConfigService.capabilities.supportsTerminalCommandSuggest &&
|
|
19
|
+
this.terminalFeatureRegistry.hasProvider()) {
|
|
17
20
|
this.ps1TerminalService.active();
|
|
18
21
|
}
|
|
19
22
|
}
|
|
@@ -34,6 +37,10 @@ tslib_1.__decorate([
|
|
|
34
37
|
(0, di_1.Autowired)(ide_core_browser_1.AINativeConfigService),
|
|
35
38
|
tslib_1.__metadata("design:type", ide_core_browser_1.AINativeConfigService)
|
|
36
39
|
], TerminalAIContribution.prototype, "aiNativeConfigService", void 0);
|
|
40
|
+
tslib_1.__decorate([
|
|
41
|
+
(0, di_1.Autowired)(ide_core_common_1.TerminalRegistryToken),
|
|
42
|
+
tslib_1.__metadata("design:type", terminal_feature_registry_1.TerminalFeatureRegistry)
|
|
43
|
+
], TerminalAIContribution.prototype, "terminalFeatureRegistry", void 0);
|
|
37
44
|
TerminalAIContribution = tslib_1.__decorate([
|
|
38
45
|
(0, ide_core_browser_1.Domain)(ide_core_browser_1.ClientAppContribution)
|
|
39
46
|
], TerminalAIContribution);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-ai.contributon.js","sourceRoot":"","sources":["../../../src/browser/ai-terminal/terminal-ai.contributon.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEAAkG;
|
|
1
|
+
{"version":3,"file":"terminal-ai.contributon.js","sourceRoot":"","sources":["../../../src/browser/ai-terminal/terminal-ai.contributon.ts"],"names":[],"mappings":";;;;AAAA,qCAAyC;AACzC,iEAAkG;AAClG,+DAAkE;AAElE,+DAA0D;AAC1D,0EAA+E;AAC/E,iEAA4D;AAC5D,2EAAsE;AAG/D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAgBjC,UAAU;QACR,IAAI,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,yBAAyB,EAAE;YACrE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;SAC3C;QACD,IACE,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,8BAA8B;YACtE,IAAI,CAAC,uBAAuB,CAAC,WAAW,EAAE,EAC1C;YACA,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;SAClC;IACH,CAAC;CACF,CAAA;AA3BC;IAAC,IAAA,cAAS,EAAC,uCAAiB,CAAC;sCACO,uCAAiB;iEAAC;AAEtD;IAAC,IAAA,cAAS,EAAC,iDAA2B,CAAC;sCACO,iDAA2B;2EAAC;AAE1E;IAAC,IAAA,cAAS,EAAC,yCAAkB,CAAC;sCACO,yCAAkB;kEAAC;AAExD;IAAC,IAAA,cAAS,EAAC,wCAAqB,CAAC;sCACO,wCAAqB;qEAAC;AAE9D;IAAC,IAAA,cAAS,EAAC,uCAAqB,CAAC;sCACS,mDAAuB;uEAAC;AAdvD,sBAAsB;IADlC,IAAA,yBAAM,EAAC,wCAAqB,CAAC;GACjB,sBAAsB,CA4BlC;AA5BY,wDAAsB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { CancellationToken, Disposable } from '@opensumi/ide-core-common';
|
|
2
|
+
import { ITerminalProviderRegistry, TTerminalCommandSuggestionsProviderFn, TerminalSuggestionReadableStream } from '../types';
|
|
3
|
+
export declare class TerminalFeatureRegistry extends Disposable implements ITerminalProviderRegistry {
|
|
4
|
+
private readonly providerMap;
|
|
5
|
+
hasProvider(): boolean;
|
|
6
|
+
registerCommandSuggestionsProvider(provider: TTerminalCommandSuggestionsProviderFn): void;
|
|
7
|
+
readableCommandSuggestions(message: string, token: CancellationToken): Promise<TerminalSuggestionReadableStream>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=terminal.feature.registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal.feature.registry.d.ts","sourceRoot":"","sources":["../../../src/browser/ai-terminal/terminal.feature.registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI1E,OAAO,EACL,yBAAyB,EACzB,qCAAqC,EACrC,gCAAgC,EACjC,MAAM,UAAU,CAAC;AAElB,qBACa,uBAAwB,SAAQ,UAAW,YAAW,yBAAyB;IAC1F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoD;IAEzE,WAAW,IAAI,OAAO;IAI7B,kCAAkC,CAAC,QAAQ,EAAE,qCAAqC,GAAG,IAAI;IAInF,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,gCAAgC,CAAC;CAkC7C"}
|