@opensumi/ide-ai-native 3.8.2-next-1741622293.0 → 3.8.3-next-1741661270.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.
Files changed (165) hide show
  1. package/lib/browser/ai-core.contribution.d.ts.map +1 -1
  2. package/lib/browser/ai-core.contribution.js +20 -0
  3. package/lib/browser/ai-core.contribution.js.map +1 -1
  4. package/lib/browser/chat/chat-manager.service.d.ts +2 -1
  5. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  6. package/lib/browser/chat/chat-manager.service.js +26 -7
  7. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  8. package/lib/browser/chat/chat-model.d.ts +3 -3
  9. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  10. package/lib/browser/chat/chat-model.js +22 -9
  11. package/lib/browser/chat/chat-model.js.map +1 -1
  12. package/lib/browser/chat/chat-proxy.service.d.ts +1 -0
  13. package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
  14. package/lib/browser/chat/chat-proxy.service.js +2 -0
  15. package/lib/browser/chat/chat-proxy.service.js.map +1 -1
  16. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  17. package/lib/browser/chat/chat.view.js +61 -5
  18. package/lib/browser/chat/chat.view.js.map +1 -1
  19. package/lib/browser/components/ApplyStatus.d.ts +7 -0
  20. package/lib/browser/components/ApplyStatus.d.ts.map +1 -0
  21. package/lib/browser/components/ApplyStatus.js +32 -0
  22. package/lib/browser/components/ApplyStatus.js.map +1 -0
  23. package/lib/browser/components/ChangeList.d.ts +17 -0
  24. package/lib/browser/components/ChangeList.d.ts.map +1 -0
  25. package/lib/browser/components/ChangeList.js +72 -0
  26. package/lib/browser/components/ChangeList.js.map +1 -0
  27. package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
  28. package/lib/browser/components/ChatToolRender.js +18 -12
  29. package/lib/browser/components/ChatToolRender.js.map +1 -1
  30. package/lib/browser/components/ChatToolRender.module.less +27 -15
  31. package/lib/browser/components/change-list.module.less +126 -0
  32. package/lib/browser/components/chat-history.module.less +1 -1
  33. package/lib/browser/components/components.module.less +14 -0
  34. package/lib/browser/contrib/inline-completions/prompt/matcher.js +2 -2
  35. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.d.ts +1 -1
  36. package/lib/browser/contrib/inline-completions/prompt/similarSnippets.js +2 -2
  37. package/lib/browser/contrib/intelligent-completions/view/default.d.ts.map +1 -1
  38. package/lib/browser/contrib/intelligent-completions/view/default.js.map +1 -1
  39. package/lib/browser/index.d.ts.map +1 -1
  40. package/lib/browser/index.js +4 -4
  41. package/lib/browser/index.js.map +1 -1
  42. package/lib/browser/mcp/base-apply.service.d.ts +14 -6
  43. package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
  44. package/lib/browser/mcp/base-apply.service.js +80 -52
  45. package/lib/browser/mcp/base-apply.service.js.map +1 -1
  46. package/lib/browser/mcp/config/components/mcp-config.view.d.ts.map +1 -1
  47. package/lib/browser/mcp/config/components/mcp-config.view.js +12 -8
  48. package/lib/browser/mcp/config/components/mcp-config.view.js.map +1 -1
  49. package/lib/browser/mcp/config/mcp-config.contribution.js.map +1 -1
  50. package/lib/browser/mcp/mcp-server.feature.registry.js +1 -1
  51. package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
  52. package/lib/browser/mcp/tools/components/EditFile.js +3 -24
  53. package/lib/browser/mcp/tools/components/EditFile.js.map +1 -1
  54. package/lib/browser/mcp/tools/components/ExpandableFileList.js +3 -2
  55. package/lib/browser/mcp/tools/components/ExpandableFileList.js.map +1 -1
  56. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  57. package/lib/browser/mcp/tools/createNewFileWithText.js +1 -0
  58. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  59. package/lib/browser/mcp/tools/editFile.d.ts.map +1 -1
  60. package/lib/browser/mcp/tools/editFile.js +1 -0
  61. package/lib/browser/mcp/tools/editFile.js.map +1 -1
  62. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  63. package/lib/browser/mcp/tools/fileSearch.js +1 -0
  64. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  65. package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +1 -1
  66. package/lib/browser/mcp/tools/getDiagnosticsByPath.js +2 -1
  67. package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
  68. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.d.ts.map +1 -1
  69. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js +2 -0
  70. package/lib/browser/mcp/tools/getOpenEditorFileDiagnostics.js.map +1 -1
  71. package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
  72. package/lib/browser/mcp/tools/grepSearch.js +1 -0
  73. package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
  74. package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
  75. package/lib/browser/mcp/tools/listDir.js +1 -0
  76. package/lib/browser/mcp/tools/listDir.js.map +1 -1
  77. package/lib/browser/mcp/tools/readFile.d.ts.map +1 -1
  78. package/lib/browser/mcp/tools/readFile.js +1 -0
  79. package/lib/browser/mcp/tools/readFile.js.map +1 -1
  80. package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +1 -1
  81. package/lib/browser/mcp/tools/runTerminalCmd.js +1 -0
  82. package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
  83. package/lib/browser/model/msg-history-manager.d.ts +0 -2
  84. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  85. package/lib/browser/model/msg-history-manager.js +1 -6
  86. package/lib/browser/model/msg-history-manager.js.map +1 -1
  87. package/lib/browser/preferences/schema.d.ts.map +1 -1
  88. package/lib/browser/preferences/schema.js +8 -0
  89. package/lib/browser/preferences/schema.js.map +1 -1
  90. package/lib/browser/types.d.ts +1 -0
  91. package/lib/browser/types.d.ts.map +1 -1
  92. package/lib/browser/widget/inline-diff/inline-diff-manager.d.ts.map +1 -1
  93. package/lib/browser/widget/inline-diff/inline-diff-manager.js +2 -2
  94. package/lib/browser/widget/inline-diff/inline-diff-manager.js.map +1 -1
  95. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts +1 -1
  96. package/lib/browser/widget/inline-diff/inline-diff.controller.d.ts.map +1 -1
  97. package/lib/browser/widget/inline-diff/inline-diff.controller.js.map +1 -1
  98. package/lib/browser/widget/inline-diff/inline-diff.service.d.ts +3 -2
  99. package/lib/browser/widget/inline-diff/inline-diff.service.d.ts.map +1 -1
  100. package/lib/browser/widget/inline-diff/inline-diff.service.js.map +1 -1
  101. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts +1 -1
  102. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.d.ts.map +1 -1
  103. package/lib/browser/widget/inline-stream-diff/inline-stream-diff.handler.js.map +1 -1
  104. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts +0 -33
  105. package/lib/browser/widget/inline-stream-diff/live-preview.component.d.ts.map +1 -1
  106. package/lib/browser/widget/inline-stream-diff/live-preview.component.js +1 -6
  107. package/lib/browser/widget/inline-stream-diff/live-preview.component.js.map +1 -1
  108. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.d.ts.map +1 -1
  109. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js +15 -14
  110. package/lib/browser/widget/inline-stream-diff/live-preview.decoration.js.map +1 -1
  111. package/lib/common/index.d.ts +7 -2
  112. package/lib/common/index.d.ts.map +1 -1
  113. package/lib/common/index.js +3 -2
  114. package/lib/common/index.js.map +1 -1
  115. package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
  116. package/lib/common/prompts/context-prompt-provider.js +2 -4
  117. package/lib/common/prompts/context-prompt-provider.js.map +1 -1
  118. package/lib/common/types.d.ts +33 -0
  119. package/lib/common/types.d.ts.map +1 -1
  120. package/lib/common/types.js +6 -1
  121. package/lib/common/types.js.map +1 -1
  122. package/package.json +23 -23
  123. package/src/browser/ai-core.contribution.ts +28 -0
  124. package/src/browser/chat/chat-manager.service.ts +53 -31
  125. package/src/browser/chat/chat-model.ts +22 -8
  126. package/src/browser/chat/chat-proxy.service.ts +2 -0
  127. package/src/browser/chat/chat.view.tsx +80 -9
  128. package/src/browser/components/ApplyStatus.tsx +44 -0
  129. package/src/browser/components/ChangeList.tsx +131 -0
  130. package/src/browser/components/ChatToolRender.module.less +27 -15
  131. package/src/browser/components/ChatToolRender.tsx +14 -12
  132. package/src/browser/components/change-list.module.less +126 -0
  133. package/src/browser/components/chat-history.module.less +1 -1
  134. package/src/browser/components/components.module.less +14 -0
  135. package/src/browser/contrib/inline-completions/prompt/matcher.ts +2 -2
  136. package/src/browser/contrib/inline-completions/prompt/similarSnippets.ts +2 -2
  137. package/src/browser/contrib/intelligent-completions/view/default.ts +1 -0
  138. package/src/browser/index.ts +5 -4
  139. package/src/browser/mcp/base-apply.service.ts +84 -62
  140. package/src/browser/mcp/config/components/mcp-config.view.tsx +4 -0
  141. package/src/browser/mcp/config/mcp-config.contribution.ts +1 -1
  142. package/src/browser/mcp/mcp-server.feature.registry.ts +1 -1
  143. package/src/browser/mcp/tools/components/EditFile.tsx +3 -37
  144. package/src/browser/mcp/tools/components/ExpandableFileList.tsx +3 -1
  145. package/src/browser/mcp/tools/createNewFileWithText.ts +1 -0
  146. package/src/browser/mcp/tools/editFile.ts +1 -0
  147. package/src/browser/mcp/tools/fileSearch.ts +1 -0
  148. package/src/browser/mcp/tools/getDiagnosticsByPath.ts +2 -1
  149. package/src/browser/mcp/tools/getOpenEditorFileDiagnostics.ts +2 -0
  150. package/src/browser/mcp/tools/grepSearch.ts +1 -0
  151. package/src/browser/mcp/tools/listDir.ts +1 -0
  152. package/src/browser/mcp/tools/readFile.ts +1 -0
  153. package/src/browser/mcp/tools/runTerminalCmd.ts +1 -0
  154. package/src/browser/model/msg-history-manager.ts +1 -8
  155. package/src/browser/preferences/schema.ts +8 -0
  156. package/src/browser/types.ts +1 -0
  157. package/src/browser/widget/inline-diff/inline-diff-manager.tsx +3 -2
  158. package/src/browser/widget/inline-diff/inline-diff.controller.ts +2 -1
  159. package/src/browser/widget/inline-diff/inline-diff.service.ts +3 -2
  160. package/src/browser/widget/inline-stream-diff/inline-stream-diff.handler.tsx +4 -4
  161. package/src/browser/widget/inline-stream-diff/live-preview.component.tsx +0 -34
  162. package/src/browser/widget/inline-stream-diff/live-preview.decoration.tsx +8 -9
  163. package/src/common/index.ts +9 -2
  164. package/src/common/prompts/context-prompt-provider.ts +2 -6
  165. package/src/common/types.ts +35 -0
@@ -0,0 +1,126 @@
1
+ .container {
2
+ margin: 0 12px;
3
+ background: var(--design-chatInput-background);
4
+ border-radius: 9px 9px 0 0;
5
+ border: 1px solid var(--kt-input-border);
6
+ border-bottom: none;
7
+ overflow: hidden;
8
+ padding-bottom: 6px;
9
+ }
10
+
11
+ .header {
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ padding: 8px 12px 2px 12px;
16
+ background-color: transparent;
17
+ cursor: pointer;
18
+ user-select: none;
19
+ font-size: 12px;
20
+ color: var(--descriptionForeground);
21
+ }
22
+
23
+ .title:hover {
24
+ color: var(--design-text-highlightForeground);
25
+ .toggleButton :global(.kt-icon) {
26
+ color: var(--design-text-highlightForeground);
27
+ transition: color 0.2s ease-in-out;
28
+ }
29
+ }
30
+
31
+ .toggleButton {
32
+ background: none;
33
+ border: none;
34
+ cursor: pointer;
35
+ padding: 0;
36
+ width: 16px;
37
+ height: 16px;
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ font-size: 12px;
42
+ }
43
+
44
+ .title {
45
+ gap: 6px;
46
+ transition: color 0.2s ease-in-out;
47
+ display: flex;
48
+ }
49
+
50
+ .fileList {
51
+ list-style: none;
52
+ margin: 0;
53
+ padding: 0 12px;
54
+ }
55
+
56
+ .fileItem {
57
+ display: flex;
58
+ align-items: center;
59
+ padding: 4px 0;
60
+ cursor: pointer;
61
+ border: none;
62
+ font-size: 13px;
63
+ color: var(--descriptionForeground);
64
+ }
65
+
66
+ .fileItem:hover {
67
+ background-color: var(--design-block-hoverBackground);
68
+ }
69
+
70
+ .fileIcon {
71
+ margin-right: 6px;
72
+ width: 16px;
73
+ height: 16px;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ }
78
+
79
+ .fileInfo {
80
+ flex: 1;
81
+ display: flex;
82
+ justify-content: space-between;
83
+ align-items: center;
84
+ overflow: hidden;
85
+ :global(.kt-popover-trigger) {
86
+ margin-left: 8px;
87
+ }
88
+ :global(.codicon) {
89
+ font-size: 12px !important;
90
+ position: relative;
91
+ top: 1px;
92
+ }
93
+ }
94
+
95
+ .filePath {
96
+ font-size: 12px;
97
+ margin: 0;
98
+ white-space: nowrap;
99
+ overflow: hidden;
100
+ text-overflow: ellipsis;
101
+ }
102
+
103
+ .fileStats {
104
+ font-size: 12px;
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 4px;
108
+ }
109
+
110
+ .additions {
111
+ color: #52c41a;
112
+ }
113
+
114
+ .deletions {
115
+ color: var(--debugConsole-errorForeground);
116
+ }
117
+
118
+ .noChange {
119
+ color: #6a737d;
120
+ font-style: italic;
121
+ white-space: nowrap;
122
+ }
123
+
124
+ .collapsed {
125
+ display: none;
126
+ }
@@ -78,7 +78,7 @@
78
78
  .dm-chat-history-list {
79
79
  overflow: auto;
80
80
  max-height: 400px;
81
- max-width: 400px;
81
+ width: 300px;
82
82
  margin-top: 4px;
83
83
  font-size: 13px;
84
84
  }
@@ -527,3 +527,17 @@
527
527
  align-items: center;
528
528
  }
529
529
  }
530
+
531
+ .status {
532
+ :global {
533
+ .codicon-pass {
534
+ color: #52c41a;
535
+ }
536
+ .codicon-error {
537
+ color: var(--debugConsole-errorForeground);
538
+ }
539
+ .codicon-circle-slash {
540
+ color: var(--input-placeholderForeground);
541
+ }
542
+ }
543
+ }
@@ -210,8 +210,8 @@ class WindowedMatcher {
210
210
  tokens.slice(startLine, endLine).forEach((token) => token.forEach((word) => size.add(word)));
211
211
  cache.push(size);
212
212
  }
213
- const target = cache[index];
214
- const score = this.similarityScore(target, this.referenceTokens);
213
+ const traget = cache[index];
214
+ const score = this.similarityScore(traget, this.referenceTokens);
215
215
  snippets.push({
216
216
  score,
217
217
  startLine,
@@ -1,7 +1,7 @@
1
1
  import { Injector } from '@opensumi/di';
2
2
  import { IEditorDocumentModel } from '@opensumi/ide-editor';
3
3
  import { ICompletionContext, MatchSimilarSnippet, NeighboringTabsOption, ResourceDocument, SimilarFileOptions } from '../types';
4
- export declare const getOpenedTabFileList: (documents: IEditorDocumentModel[]) => IEditorDocumentModel[];
4
+ export declare const getOpenedTabFileList: (docuemnts: IEditorDocumentModel[]) => IEditorDocumentModel[];
5
5
  export declare const getRecentEditFileList: () => never[];
6
6
  export declare const getNeighboringDocument: (type: NeighboringTabsOption, injector: Injector) => Promise<IEditorDocumentModel[]>;
7
7
  export declare const getNeighboringResource: (targetFileName: string, languageId: string, option: SimilarFileOptions, injector: Injector) => Promise<ResourceDocument[]>;
@@ -7,9 +7,9 @@ const utils_1 = require("../../../../common/utils");
7
7
  const types_1 = require("../types");
8
8
  const const_1 = require("./const");
9
9
  const jaccardMatcher_1 = require("./jaccardMatcher");
10
- const getOpenedTabFileList = (documents) => {
10
+ const getOpenedTabFileList = (docuemnts) => {
11
11
  // 过滤超大文档
12
- const recentFiles = documents.filter((document) => (0, utils_1.isDocumentValid)(document));
12
+ const recentFiles = docuemnts.filter((document) => (0, utils_1.isDocumentValid)(document));
13
13
  return recentFiles;
14
14
  };
15
15
  exports.getOpenedTabFileList = getOpenedTabFileList;
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/default.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,oBAAoB,EAA+B,MAAM,UAAU,CAAC;AAE7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AA2B3C,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,sBAAsB,CAO3B;IAEH,OAAO,CAAC,uBAAuB,CAQ5B;IAEI,MAAM,CAAC,eAAe,EAAE,oBAAoB,GAAG,IAAI;IAkEnD,MAAM,IAAI,IAAI;IAKd,OAAO,IAAI,IAAI;IAOf,IAAI,IAAI,IAAI;CAGpB"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/default.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,oBAAoB,EAA+B,MAAM,UAAU,CAAC;AAG7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AA2B3C,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,sBAAsB,CAO3B;IAEH,OAAO,CAAC,uBAAuB,CAQ5B;IAEI,MAAM,CAAC,eAAe,EAAE,oBAAoB,GAAG,IAAI;IAkEnD,MAAM,IAAI,IAAI;IAKd,OAAO,IAAI,IAAI;IAOf,IAAI,IAAI,IAAI;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../../src/browser/contrib/intelligent-completions/view/default.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAGL,qBAAqB,EACrB,aAAa,EASd,MAAM,4BAA4B,CAAC;AAgEpC,qBACa,cAAe,SAAQ,aAAa;IAE/C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;;IAOzD,oBAAoB,WAAqD;IACzE,SAAS,EAAE,QAAQ,EAAE,CAsHnB;IAEF,YAAY;;;;;;;;;;;;SAcV;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAGL,qBAAqB,EACrB,aAAa,EASd,MAAM,4BAA4B,CAAC;AAiEpC,qBACa,cAAe,SAAQ,aAAa;IAE/C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;;IAOzD,oBAAoB,WAAqD;IACzE,SAAS,EAAE,QAAQ,EAAE,CAsHnB;IAEF,YAAY;;;;;;;;;;;;SAcV;CACH"}
@@ -159,14 +159,14 @@ let AINativeModule = class AINativeModule extends ide_core_browser_1.BrowserModu
159
159
  token: common_1.IAIInlineCompletionsProvider,
160
160
  useClass: completeProvider_1.AIInlineCompletionsProvider,
161
161
  },
162
- {
163
- token: inline_diff_1.InlineDiffService,
164
- useClass: inline_diff_1.InlineDiffService,
165
- },
166
162
  {
167
163
  token: context_prompt_provider_1.ChatAgentPromptProvider,
168
164
  useClass: context_prompt_provider_1.DefaultChatAgentPromptProvider,
169
165
  },
166
+ {
167
+ token: common_1.InlineDiffServiceToken,
168
+ useClass: inline_diff_1.InlineDiffService,
169
+ },
170
170
  {
171
171
  token: base_apply_service_1.BaseApplyService,
172
172
  useClass: apply_service_1.ApplyService,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ import { SumiReadableStream } from '@opensumi/ide-utils/lib/stream';
7
7
  import { CodeBlockData } from '../../common/types';
8
8
  import { ChatInternalService } from '../chat/chat.internal.service';
9
9
  import { BaseInlineDiffPreviewer } from '../widget/inline-diff';
10
- import { BaseInlineStreamDiffHandler } from '../widget/inline-stream-diff/inline-stream-diff.handler';
10
+ import type { BaseInlineStreamDiffHandler } from '../widget/inline-stream-diff/inline-stream-diff.handler';
11
11
  export declare abstract class BaseApplyService extends WithEventBus {
12
12
  protected chatInternalService: ChatInternalService;
13
13
  protected appConfig: AppConfig;
@@ -31,7 +31,7 @@ export declare abstract class BaseApplyService extends WithEventBus {
31
31
  */
32
32
  getUriCodeBlocks(uri: URI): CodeBlockData[] | undefined;
33
33
  getPendingPaths(sessionId?: string): string[];
34
- protected getSessionCodeBlocks(sessionId?: string): CodeBlockData[];
34
+ getSessionCodeBlocks(sessionId?: string): CodeBlockData[];
35
35
  getCodeBlock(toolCallId: string, messageId?: string): CodeBlockData | undefined;
36
36
  protected updateCodeBlock(codeBlock: CodeBlockData): void;
37
37
  registerCodeBlock(relativePath: string, content: string, toolCallId: string, instructions?: string): Promise<CodeBlockData>;
@@ -40,17 +40,25 @@ export declare abstract class BaseApplyService extends WithEventBus {
40
40
  * Apply changes of a code block
41
41
  */
42
42
  apply(codeBlock: CodeBlockData): Promise<CodeBlockData>;
43
+ /**
44
+ * 渲染apply结果(支持流式和直接输出结果)
45
+ * 副作用:渲染时会添加accept、reject操作监听器,监听到结果时会自动更新codeBlock的result
46
+ */
43
47
  renderApplyResult(editor: ICodeEditor, codeBlock: CodeBlockData, updatedContentOrStream: string | SumiReadableStream<IChatProgress>, range?: Range): Promise<{
44
- diff: string;
45
- diagnosticInfos: IMarker[];
46
- } | undefined>;
48
+ result?: {
49
+ diff: string;
50
+ diagnosticInfos: IMarker[];
51
+ };
52
+ updatedCode: string;
53
+ }>;
47
54
  /**
48
55
  * Cancel an ongoing apply operation
49
56
  */
50
57
  cancelApply(blockData: CodeBlockData, keepStatus?: boolean): void;
51
58
  cancelAllApply(sessionId?: string): void;
52
59
  revealApplyPosition(blockData: CodeBlockData): void;
53
- processAll(uri: URI, type: 'accept' | 'reject'): void;
60
+ processAll(type: 'accept' | 'reject', uri?: URI): void;
61
+ protected doProcess(type: 'accept' | 'reject', relativePath: string): void;
54
62
  protected listenPartialEdit(model: ITextModel, codeBlock: CodeBlockData): Promise<{
55
63
  diff: string;
56
64
  diagnosticInfos: IMarker[];
@@ -1 +1 @@
1
- {"version":3,"file":"base-apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,SAAS,EAET,aAAa,EACb,OAAO,EAGP,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAY,KAAK,EAAiC,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAiD,GAAG,EAAQ,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAE,aAAa,EAAmB,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,uBAAuB,EAIxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAEtG,8BAAsB,gBAAiB,SAAQ,YAAY;IAEzD,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAGnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAG/B,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CAAC;IAGzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAG/C,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAA8B;IAGzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEzC,OAAO,CAAC,wBAAwB,CAAgC;IACzD,iBAAiB,4DAAuC;IAE/D,OAAO,CAAC,gBAAgB,CAAC,CAAS;;IAgDlC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,iBAAiB,CAAkE;IAG3F,kBAAkB,CAAC,KAAK,EAAE,qBAAqB;IAUzC,iBAAiB,CAAC,KAAK,EAAE,oBAAoB;IAkBnD,IAAI,gBAAgB,qEAMnB;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,EAAE,GAAG,SAAS;IAQvD,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAK7C,SAAS,CAAC,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM;IAiBjD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAY/E,SAAS,CAAC,eAAe,CAAC,SAAS,EAAE,aAAa;IAa5C,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,CAAC;IAuCzB,OAAO,CAAC,WAAW,CAAC,CAAU;IAE9B;;OAEG;IACG,KAAK,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAsDvD,iBAAiB,CACrB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,aAAa,EACxB,sBAAsB,EAAE,MAAM,GAAG,kBAAkB,CAAC,aAAa,CAAC,EAClE,KAAK,CAAC,EAAE,KAAK,GACZ,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,OAAO,EAAE,CAAA;KAAE,GAAG,SAAS,CAAC;IAuGpE;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI;IAoBjE,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAOxC,mBAAmB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAiBnD,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI;IAwBrD,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa;cAC/B,MAAM;yBAAmB,OAAO,EAAE;;IAyD1E,SAAS,CAAC,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;IAkB5F;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;QAC5D,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,CAAC,EAAE,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IAIF,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;CAQ1D"}
1
+ {"version":3,"file":"base-apply.service.d.ts","sourceRoot":"","sources":["../../../src/browser/mcp/base-apply.service.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,7 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
86
86
  // 使用最后一个版本内容渲染 apply 内容
87
87
  if (filePendingApplies.length > 0 && filePendingApplies[0].updatedCode) {
88
88
  const editor = event.payload.group.codeEditor.monacoEditor;
89
- this.renderApplyResult(editor, filePendingApplies[0], filePendingApplies[0].updatedCode);
89
+ await this.renderApplyResult(editor, filePendingApplies[0], filePendingApplies[0].updatedCode);
90
90
  }
91
91
  }
92
92
  get currentPreviewer() {
@@ -112,8 +112,9 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
112
112
  return sessionCodeBlocks.filter((block) => block.status === 'pending').map((block) => block.relativePath);
113
113
  }
114
114
  getSessionCodeBlocks(sessionId) {
115
- sessionId = sessionId || this.chatInternalService.sessionModel.sessionId;
116
- const sessionModel = this.chatInternalService.getSession(sessionId);
115
+ const sessionModel = sessionId
116
+ ? this.chatInternalService.getSession(sessionId)
117
+ : this.chatInternalService.sessionModel;
117
118
  if (!sessionModel) {
118
119
  throw new Error(`Session ${sessionId} not found`);
119
120
  }
@@ -215,17 +216,12 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
215
216
  if (!result) {
216
217
  throw new Error('Failed to open file');
217
218
  }
218
- if (typeof fastApplyFileResult.result === 'string') {
219
- codeBlock.updatedCode = fastApplyFileResult.result;
220
- codeBlock.status = 'pending';
221
- this.updateCodeBlock(codeBlock);
222
- }
223
- const applyResult = await this.renderApplyResult(result.group.codeEditor.monacoEditor, codeBlock, (fastApplyFileResult.result || fastApplyFileResult.stream), fastApplyFileResult.range);
224
- if (applyResult) {
225
- // 用户实际接受的 apply 结果
226
- codeBlock.applyResult = applyResult;
227
- this.updateCodeBlock(codeBlock);
228
- }
219
+ const res = await this.renderApplyResult(result.group.codeEditor.monacoEditor, codeBlock, (fastApplyFileResult.result || fastApplyFileResult.stream), fastApplyFileResult.range);
220
+ codeBlock.updatedCode = res.updatedCode;
221
+ codeBlock.status = 'pending';
222
+ // 用户实际接受的 apply 结果
223
+ codeBlock.applyResult = res.result;
224
+ this.updateCodeBlock(codeBlock);
229
225
  return codeBlock;
230
226
  }
231
227
  catch (err) {
@@ -237,26 +233,28 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
237
233
  this.duringApply = false;
238
234
  }
239
235
  }
236
+ /**
237
+ * 渲染apply结果(支持流式和直接输出结果)
238
+ * 副作用:渲染时会添加accept、reject操作监听器,监听到结果时会自动更新codeBlock的result
239
+ */
240
240
  async renderApplyResult(editor, codeBlock, updatedContentOrStream, range) {
241
- var _a, _b;
241
+ var _a, _b, _c;
242
242
  const deferred = new ide_utils_1.Deferred();
243
243
  const inlineDiffController = inline_diff_1.InlineDiffController.get(editor);
244
244
  range = range || editor.getModel().getFullModelRange();
245
245
  if (typeof updatedContentOrStream === 'string') {
246
+ const updatedContent = updatedContentOrStream;
246
247
  const editorCurrentContent = editor.getModel().getValue();
247
248
  const uri = ide_utils_1.URI.file(ide_utils_1.path.join(this.appConfig.workspaceDir, codeBlock.relativePath));
248
249
  const document = this.editorDocumentModelService.getModelReference(uri);
249
- if (editorCurrentContent !== updatedContentOrStream || (document === null || document === void 0 ? void 0 : document.instance.dirty)) {
250
- (_a = editor.getModel()) === null || _a === void 0 ? void 0 : _a.pushEditOperations([], [editOperation_1.EditOperation.replace(range, updatedContentOrStream)], () => null);
250
+ if (editorCurrentContent !== updatedContent || (document === null || document === void 0 ? void 0 : document.instance.dirty)) {
251
+ (_a = editor.getModel()) === null || _a === void 0 ? void 0 : _a.pushEditOperations([], [editOperation_1.EditOperation.replace(range, updatedContent)], () => null);
251
252
  await this.editorService.save(uri);
252
253
  }
253
254
  const uriPendingCodeBlocks = (_b = this.getUriCodeBlocks(uri)) === null || _b === void 0 ? void 0 : _b.filter((block) => block.status === 'pending');
254
255
  const earlistPendingCodeBlock = uriPendingCodeBlocks === null || uriPendingCodeBlocks === void 0 ? void 0 : uriPendingCodeBlocks[uriPendingCodeBlocks.length - 1];
255
- if (((earlistPendingCodeBlock === null || earlistPendingCodeBlock === void 0 ? void 0 : earlistPendingCodeBlock.originalCode) || codeBlock.originalCode) === updatedContentOrStream) {
256
- codeBlock.status = 'cancelled';
257
- this.updateCodeBlock(codeBlock);
258
- deferred.resolve();
259
- return;
256
+ if (((_c = (earlistPendingCodeBlock || codeBlock)) === null || _c === void 0 ? void 0 : _c.originalCode) === updatedContent) {
257
+ throw new Error('No changes applied');
260
258
  }
261
259
  // Create diff previewer
262
260
  const previewer = inlineDiffController.createDiffPreviewer(editor, ide_monaco_1.Selection.fromRange(range, ide_monaco_1.SelectionDirection.LTR), {
@@ -276,11 +274,14 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
276
274
  this.updateCodeBlock(codeBlock);
277
275
  this.editorService.save(ide_utils_1.URI.file(ide_utils_1.path.join(this.appConfig.workspaceDir, codeBlock.relativePath)));
278
276
  });
279
- const { diff, rangesFromDiffHunk } = this.getDiffResult(codeBlock.originalCode, codeBlock.updatedCode || updatedContentOrStream, codeBlock.relativePath);
277
+ const { diff, rangesFromDiffHunk } = this.getDiffResult(codeBlock.originalCode, updatedContent, codeBlock.relativePath);
280
278
  const diagnosticInfos = this.getDiagnosticInfos(editor.getModel().uri.toString(), rangesFromDiffHunk);
281
279
  deferred.resolve({
282
- diff,
283
- diagnosticInfos,
280
+ result: {
281
+ diff,
282
+ diagnosticInfos,
283
+ },
284
+ updatedCode: updatedContent,
284
285
  });
285
286
  }
286
287
  else {
@@ -303,21 +304,22 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
303
304
  this.addDispose(
304
305
  // 流式输出结束后,转为直接输出逻辑
305
306
  previewer.getNode().onDiffFinished(async (diffModel) => {
306
- codeBlock.updatedCode = diffModel.newFullRangeTextLines.join('\n');
307
307
  // TODO: 添加 reapply
308
+ const updatedCode = diffModel.newFullRangeTextLines.join('\n');
308
309
  // 实际应用结果为空,则取消
309
- if (codeBlock.updatedCode === codeBlock.originalCode) {
310
- codeBlock.status = 'failed';
311
- this.updateCodeBlock(codeBlock);
310
+ if (codeBlock.originalCode === updatedCode) {
312
311
  previewer.dispose();
313
312
  deferred.reject(new Error('no changes applied'));
314
313
  return;
315
314
  }
316
- codeBlock.status = 'pending';
317
- this.updateCodeBlock(codeBlock);
318
315
  previewer.dispose();
319
- const result = await this.renderApplyResult(editor, codeBlock, codeBlock.updatedCode);
320
- deferred.resolve(result);
316
+ try {
317
+ const res = await this.renderApplyResult(editor, codeBlock, updatedCode);
318
+ deferred.resolve(res);
319
+ }
320
+ catch (err) {
321
+ deferred.reject(err);
322
+ }
321
323
  }));
322
324
  this.activePreviewerMap.set(codeBlock.relativePath, previewer);
323
325
  }
@@ -365,14 +367,37 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
365
367
  editor.setSelection(new ide_monaco_1.Selection(startLine, 0, endLine, 0));
366
368
  }
367
369
  }
368
- processAll(uri, type) {
369
- var _a, _b, _c;
370
- const codeBlocks = (_a = this.getUriCodeBlocks(uri)) === null || _a === void 0 ? void 0 : _a.filter((block) => block.status === 'pending');
370
+ processAll(type, uri) {
371
+ var _a;
372
+ const codeBlocks = uri
373
+ ? (_a = this.getUriCodeBlocks(uri)) === null || _a === void 0 ? void 0 : _a.filter((block) => block.status === 'pending')
374
+ : this.getSessionCodeBlocks().filter((block) => block.status === 'pending');
371
375
  if (!(codeBlocks === null || codeBlocks === void 0 ? void 0 : codeBlocks.length)) {
372
376
  throw new Error('No pending code block found');
373
377
  }
374
- const decorationModel = (_c = (_b = this.activePreviewerMap
375
- .get(codeBlocks[0].relativePath)) === null || _b === void 0 ? void 0 : _b.getNode()) === null || _c === void 0 ? void 0 : _c.livePreviewDiffDecorationModel;
378
+ const relativePaths = uri
379
+ ? [codeBlocks[0].relativePath]
380
+ : codeBlocks
381
+ .map((block) => block.relativePath)
382
+ .reduce((acc, cur) => {
383
+ if (acc.includes(cur)) {
384
+ return acc;
385
+ }
386
+ acc.push(cur);
387
+ return acc;
388
+ }, []);
389
+ relativePaths.forEach((relativePath) => {
390
+ this.doProcess(type, relativePath);
391
+ });
392
+ codeBlocks.forEach((codeBlock) => {
393
+ codeBlock.status = type === 'accept' ? 'success' : 'cancelled';
394
+ // TODO: 批量更新
395
+ this.updateCodeBlock(codeBlock);
396
+ });
397
+ }
398
+ doProcess(type, relativePath) {
399
+ var _a, _b;
400
+ const decorationModel = (_b = (_a = this.activePreviewerMap.get(relativePath)) === null || _a === void 0 ? void 0 : _a.getNode()) === null || _b === void 0 ? void 0 : _b.livePreviewDiffDecorationModel;
376
401
  if (!decorationModel) {
377
402
  throw new Error('No active previewer found');
378
403
  }
@@ -382,18 +407,12 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
382
407
  else {
383
408
  decorationModel.discardUnProcessed();
384
409
  }
385
- this.editorService.save(uri);
386
- codeBlocks.forEach((codeBlock) => {
387
- codeBlock.status = type === 'accept' ? 'success' : 'cancelled';
388
- // TODO: 批量更新
389
- this.updateCodeBlock(codeBlock);
390
- });
410
+ this.editorService.save(ide_utils_1.URI.file(ide_utils_1.path.join(this.appConfig.workspaceDir, relativePath)));
391
411
  }
392
412
  listenPartialEdit(model, codeBlock) {
393
413
  const deferred = new ide_utils_1.Deferred();
394
414
  const uriString = model.uri.toString();
395
415
  const toDispose = this.inlineDiffService.onPartialEdit((event) => {
396
- // TODO 支持自动保存
397
416
  if (event.totalPartialEditCount === event.resolvedPartialEditCount &&
398
417
  event.uri.path === model.uri.path.toString()) {
399
418
  if (event.acceptPartialEditCount > 0) {
@@ -408,11 +427,19 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
408
427
  actionSource: ide_core_browser_1.ActionSourceEnum.Chat,
409
428
  sessionId: this.chatInternalService.sessionModel.sessionId,
410
429
  isReceive: true,
411
- isDrop: false,
412
- code: codeBlock.codeEdit,
430
+ // 是否有丢弃部分代码
431
+ isDrop: event.acceptPartialEditCount !== event.totalPartialEditCount,
432
+ code: appliedResult,
433
+ originCode: codeBlock.originalCode,
413
434
  message: JSON.stringify({
414
435
  diff,
415
436
  diagnosticInfos,
437
+ instructions: codeBlock.instructions,
438
+ codeEdit: codeBlock.codeEdit,
439
+ partialEditCount: event.totalPartialEditCount,
440
+ acceptPartialEditCount: event.acceptPartialEditCount,
441
+ addedLinesCount: event.totalAddedLinesCount,
442
+ deletedLinesCount: event.totalDeletedLinesCount,
416
443
  }),
417
444
  });
418
445
  deferred.resolve({
@@ -431,8 +458,11 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
431
458
  sessionId: this.chatInternalService.sessionModel.sessionId,
432
459
  isReceive: false,
433
460
  isDrop: true,
434
- code: codeBlock.codeEdit,
435
461
  originCode: codeBlock.originalCode,
462
+ message: JSON.stringify({
463
+ instructions: codeBlock.instructions,
464
+ codeEdit: codeBlock.codeEdit,
465
+ }),
436
466
  });
437
467
  }
438
468
  this.editorListenerMap.disposeKey(uriString);
@@ -458,8 +488,6 @@ class BaseApplyService extends ide_core_browser_1.WithEventBus {
458
488
  rangesFromDiffHunk,
459
489
  };
460
490
  }
461
- // FIXME: 貌似筛选逻辑不太对,需要重构
462
- // TODO: 支持使用内存中的document获取诊断信息,实现并行apply accept
463
491
  getDiagnosticInfos(uri, ranges) {
464
492
  const markers = this.markerService.getManager().getMarkers({ resource: uri });
465
493
  return markers.filter((marker) => marker.severity >= ide_core_browser_1.MarkerSeverity.Warning &&
@@ -480,8 +508,8 @@ tslib_1.__decorate([
480
508
  tslib_1.__metadata("design:type", ide_editor_1.WorkbenchEditorService)
481
509
  ], BaseApplyService.prototype, "editorService", void 0);
482
510
  tslib_1.__decorate([
483
- (0, di_1.Autowired)(inline_diff_1.InlineDiffService),
484
- tslib_1.__metadata("design:type", inline_diff_1.InlineDiffService)
511
+ (0, di_1.Autowired)(common_1.InlineDiffServiceToken),
512
+ tslib_1.__metadata("design:type", Object)
485
513
  ], BaseApplyService.prototype, "inlineDiffService", void 0);
486
514
  tslib_1.__decorate([
487
515
  (0, di_1.Autowired)(ide_markers_1.IMarkerService),