@opensumi/ide-ai-native 3.9.1-next-1749115679.0 → 3.9.1-next-1749175927.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 (68) hide show
  1. package/lib/browser/chat/chat-manager.service.d.ts +1 -0
  2. package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
  3. package/lib/browser/chat/chat-manager.service.js +9 -3
  4. package/lib/browser/chat/chat-manager.service.js.map +1 -1
  5. package/lib/browser/chat/chat-model.d.ts +8 -1
  6. package/lib/browser/chat/chat-model.d.ts.map +1 -1
  7. package/lib/browser/chat/chat-model.js +113 -78
  8. package/lib/browser/chat/chat-model.js.map +1 -1
  9. package/lib/browser/chat/chat.view.d.ts.map +1 -1
  10. package/lib/browser/chat/chat.view.js +32 -16
  11. package/lib/browser/chat/chat.view.js.map +1 -1
  12. package/lib/browser/mcp/mcp-server.feature.registry.d.ts.map +1 -1
  13. package/lib/browser/mcp/mcp-server.feature.registry.js +1 -7
  14. package/lib/browser/mcp/mcp-server.feature.registry.js.map +1 -1
  15. package/lib/browser/mcp/tools/createNewFileWithText.d.ts +3 -1
  16. package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
  17. package/lib/browser/mcp/tools/createNewFileWithText.js +40 -14
  18. package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
  19. package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
  20. package/lib/browser/mcp/tools/fileSearch.js +5 -9
  21. package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
  22. package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
  23. package/lib/browser/mcp/tools/grepSearch.js +10 -22
  24. package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
  25. package/lib/browser/mcp/tools/handlers/ListDir.js +1 -1
  26. package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
  27. package/lib/browser/mcp/tools/handlers/ReadFile.js +1 -1
  28. package/lib/browser/mcp/tools/handlers/ReadFile.js.map +1 -1
  29. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts +1 -11
  30. package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
  31. package/lib/browser/mcp/tools/handlers/RunCommand.js +4 -11
  32. package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
  33. package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
  34. package/lib/browser/mcp/tools/listDir.js +15 -19
  35. package/lib/browser/mcp/tools/listDir.js.map +1 -1
  36. package/lib/browser/model/msg-history-manager.d.ts +47 -1
  37. package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
  38. package/lib/browser/model/msg-history-manager.js +127 -2
  39. package/lib/browser/model/msg-history-manager.js.map +1 -1
  40. package/lib/browser/types.d.ts +4 -0
  41. package/lib/browser/types.d.ts.map +1 -1
  42. package/lib/browser/types.js.map +1 -1
  43. package/lib/node/mcp-server.sse.d.ts +1 -187
  44. package/lib/node/mcp-server.sse.d.ts.map +1 -1
  45. package/lib/node/mcp-server.sse.js +2 -2
  46. package/lib/node/mcp-server.sse.js.map +1 -1
  47. package/lib/node/mcp-server.stdio.d.ts +1 -187
  48. package/lib/node/mcp-server.stdio.d.ts.map +1 -1
  49. package/package.json +26 -26
  50. package/src/browser/chat/chat-manager.service.ts +16 -7
  51. package/src/browser/chat/chat-model.ts +130 -75
  52. package/src/browser/chat/chat.view.tsx +46 -14
  53. package/src/browser/mcp/mcp-server.feature.registry.ts +1 -6
  54. package/src/browser/mcp/tools/createNewFileWithText.ts +46 -17
  55. package/src/browser/mcp/tools/fileSearch.ts +5 -8
  56. package/src/browser/mcp/tools/grepSearch.ts +21 -32
  57. package/src/browser/mcp/tools/handlers/ListDir.ts +2 -2
  58. package/src/browser/mcp/tools/handlers/ReadFile.ts +2 -2
  59. package/src/browser/mcp/tools/handlers/RunCommand.ts +14 -21
  60. package/src/browser/mcp/tools/listDir.ts +12 -15
  61. package/src/browser/model/msg-history-manager.ts +181 -2
  62. package/src/browser/types.ts +6 -0
  63. package/src/node/mcp-server.sse.ts +2 -1
  64. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts +0 -15
  65. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.d.ts.map +0 -1
  66. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js +0 -53
  67. package/lib/browser/mcp/tools/handlers/CreateNewFileWithText.js.map +0 -1
  68. package/src/browser/mcp/tools/handlers/CreateNewFileWithText.ts +0 -49
@@ -31,6 +31,7 @@ export declare class ChatManagerService extends Disposable {
31
31
  chatAgentService: IChatAgentService;
32
32
  private storageProvider;
33
33
  private preferenceService;
34
+ private chatFeatureRegistry;
34
35
  private _chatStorage;
35
36
  protected fromJSON(data: ISessionModel[]): ChatModel[];
36
37
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"chat-manager.service.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-manager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAIL,UAAU,EAUX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGhH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAqB,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5G,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IAC9E,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,QAAQ,EAAE;YACR,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACjD,aAAa,EAAE,4BAA4B,EAAE,CAAC;YAC9C,YAAY,EAAE,yBAAyB,GAAG,SAAS,CAAC;YACpD,SAAS,EAAE,aAAa,EAAE,CAAC;SAC5B,CAAC;KACH,EAAE,CAAC;CACL;AAqBD,qBACa,kBAAmB,SAAQ,UAAU;;IAGhD,OAAO,CAAC,kBAAkB,CAAuB;IAC1C,aAAa,mDAAiC;IAGrD,QAAQ,EAAE,QAAQ,CAAC;IAGnB,gBAAgB,EAAE,iBAAiB,CAAC;IAGpC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,YAAY,CAAW;IAE/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE;;IAmClC,IAAI;IAWV,WAAW;IAIX,YAAY;IAOZ,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD,YAAY,CAAC,SAAS,EAAE,MAAM;IAW9B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAahG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO;IAsEnF,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS;IAS1C,SAAS,CAAC,YAAY;IAItB,aAAa,CAAC,SAAS,EAAE,MAAM;CAKhC"}
1
+ {"version":3,"file":"chat-manager.service.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-manager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAIL,UAAU,EAUX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAA4B,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAE9G,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGhH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAqB,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAG5G,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAAE,CAAC;IAC9E,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,mBAAmB,CAAC;QAC7B,QAAQ,EAAE;YACR,UAAU,EAAE,OAAO,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACjD,aAAa,EAAE,4BAA4B,EAAE,CAAC;YAC9C,YAAY,EAAE,yBAAyB,GAAG,SAAS,CAAC;YACpD,SAAS,EAAE,aAAa,EAAE,CAAC;SAC5B,CAAC;KACH,EAAE,CAAC;CACL;AAqBD,qBACa,kBAAmB,SAAQ,UAAU;;IAGhD,OAAO,CAAC,kBAAkB,CAAuB;IAC1C,aAAa,mDAAiC;IAGrD,QAAQ,EAAE,QAAQ,CAAC;IAGnB,gBAAgB,EAAE,iBAAiB,CAAC;IAGpC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,iBAAiB,CAAoB;IAG7C,OAAO,CAAC,mBAAmB,CAAsB;IAEjD,OAAO,CAAC,YAAY,CAAW;IAE/B,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE;;IAsClC,IAAI;IAWV,WAAW;IAIX,YAAY;IASZ,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIpD,YAAY,CAAC,SAAS,EAAE,MAAM;IAW9B,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE;IAahG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO;IAsEnF,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS;IAS1C,SAAS,CAAC,YAAY;IAItB,aAAa,CAAC,SAAS,EAAE,MAAM;CAKhC"}
@@ -6,9 +6,11 @@ const tslib_1 = require("tslib");
6
6
  const di_1 = require("@opensumi/di");
7
7
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
8
8
  const ide_core_common_1 = require("@opensumi/ide-core-common");
9
+ const ai_native_1 = require("@opensumi/ide-core-common/lib/types/ai-native");
9
10
  const common_1 = require("../../common");
10
11
  const msg_history_manager_1 = require("../model/msg-history-manager");
11
12
  const chat_model_1 = require("./chat-model");
13
+ const chat_feature_registry_1 = require("./chat.feature.registry");
12
14
  const MAX_SESSION_COUNT = 20;
13
15
  class DisposableLRUCache extends ide_core_common_1.LRUCache {
14
16
  disposeKey(key) {
@@ -30,9 +32,9 @@ let ChatManagerService = class ChatManagerService extends ide_core_common_1.Disp
30
32
  return data
31
33
  .filter((item) => item.history.messages.length > 0)
32
34
  .map((item) => {
33
- const model = new chat_model_1.ChatModel({
35
+ const model = new chat_model_1.ChatModel(this.chatFeatureRegistry, {
34
36
  sessionId: item.sessionId,
35
- history: new msg_history_manager_1.MsgHistoryManager(item.history),
37
+ history: new msg_history_manager_1.MsgHistoryManager(this.chatFeatureRegistry, item.history),
36
38
  modelId: item.modelId,
37
39
  });
38
40
  const requests = item.requests.map((request) => new chat_model_1.ChatRequestModel(request.requestId, model, request.message, new chat_model_1.ChatResponseModel(request.requestId, model, request.message.agentId, {
@@ -69,7 +71,7 @@ let ChatManagerService = class ChatManagerService extends ide_core_common_1.Disp
69
71
  return Array.from(tslib_1.__classPrivateFieldGet(this, _ChatManagerService_sessionModels, "f").values());
70
72
  }
71
73
  startSession() {
72
- const model = new chat_model_1.ChatModel();
74
+ const model = new chat_model_1.ChatModel(this.chatFeatureRegistry);
73
75
  tslib_1.__classPrivateFieldGet(this, _ChatManagerService_sessionModels, "f").set(model.sessionId, model);
74
76
  this.listenSession(model);
75
77
  return model;
@@ -188,6 +190,10 @@ tslib_1.__decorate([
188
190
  (0, di_1.Autowired)(ide_core_browser_1.PreferenceService),
189
191
  tslib_1.__metadata("design:type", Object)
190
192
  ], ChatManagerService.prototype, "preferenceService", void 0);
193
+ tslib_1.__decorate([
194
+ (0, di_1.Autowired)(ai_native_1.ChatFeatureRegistryToken),
195
+ tslib_1.__metadata("design:type", chat_feature_registry_1.ChatFeatureRegistry)
196
+ ], ChatManagerService.prototype, "chatFeatureRegistry", void 0);
191
197
  tslib_1.__decorate([
192
198
  (0, ide_core_common_1.debounce)(1000),
193
199
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"chat-manager.service.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-manager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-manager.service.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-manager.service.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Disposable, IChatAsyncContent, IChatComponent, IChatMarkdownContent, IC
2
2
  import { CoreMessage, IChatFollowup, IChatModel, IChatRequestMessage, IChatRequestModel, IChatResponseErrorDetails, IChatWelcomeMessageContent, ISampleQuestions } from '../../common';
3
3
  import { MsgHistoryManager } from '../model/msg-history-manager';
4
4
  import { IChatSlashCommandItem } from '../types';
5
+ import { ChatFeatureRegistry } from './chat.feature.registry';
5
6
  export type IChatProgressResponseContent = IChatMarkdownContent | IChatAsyncContent | IChatTreeData | IChatComponent | IChatToolContent | IChatReasoning;
6
7
  export declare class ChatResponseModel extends Disposable {
7
8
  #private;
@@ -55,8 +56,9 @@ export declare class ChatRequestModel implements IChatRequestModel {
55
56
  }
56
57
  export declare class ChatModel extends Disposable implements IChatModel {
57
58
  #private;
59
+ private chatFeatureRegistry;
58
60
  private requestIdPool;
59
- constructor(initParams?: {
61
+ constructor(chatFeatureRegistry: ChatFeatureRegistry, initParams?: {
60
62
  sessionId?: string;
61
63
  history?: MsgHistoryManager;
62
64
  modelId?: string;
@@ -68,6 +70,11 @@ export declare class ChatModel extends Disposable implements IChatModel {
68
70
  get slicedMessageCount(): number;
69
71
  get modelId(): string | undefined;
70
72
  set modelId(modelId: string | undefined);
73
+ private processMemorySummaries;
74
+ private processToolCall;
75
+ private parseJsonSafely;
76
+ private processRecentMessages;
77
+ private limitTokens;
71
78
  getMessageHistory(contextWindow?: number): CoreMessage[];
72
79
  addRequest(message: IChatRequestMessage): ChatRequestModel;
73
80
  acceptResponseProgress(request: ChatRequestModel, progress: IChatProgress, quiet?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EAEV,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,0BAA0B,EAC1B,gBAAgB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAIjD,MAAM,MAAM,4BAA4B,GACpC,oBAAoB,GACpB,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,cAAc,CAAC;AAEnB,qBAAa,iBAAkB,SAAQ,UAAU;;aAgD7B,OAAO,EAAE,UAAU;aACnB,OAAO,EAAE,MAAM;IA/CjC,IAAI,aAAa,mCAEhB;IAGD,IAAI,gBAAgB,mCAEnB;IAGD,IAAI,UAAU,YAEb;IAGD,IAAI,UAAU,YAEb;IAGD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,IAAI,YAAY,WAEf;IAGD,IAAI,YAAY,IAAI,yBAAyB,GAAG,SAAS,CAExD;IAGD,IAAI,SAAS,IAAI,aAAa,EAAE,GAAG,SAAS,CAE3C;IAGD,IAAI,WAAW,oDAEd;gBAGC,SAAS,EAAE,MAAM,EACD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,MAAM,EAC/B,UAAU,CAAC,EAAE;QACX,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;QACjD,aAAa,EAAE,4BAA4B,EAAE,CAAC;QAC9C,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,yBAAyB,GAAG,SAAS,CAAC;QACpD,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;KACxC;IAeH,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAkH7D,QAAQ,IAAI,IAAI;IAKhB,MAAM,IAAI,IAAI;IAMd,KAAK;IAWL,eAAe,CAAC,YAAY,EAAE,yBAAyB,GAAG,IAAI;IAK9D,YAAY,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI;IAK9C,MAAM;;;;;;;;CAUP;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;;aAQtC,OAAO,EAAE,UAAU;aACnB,OAAO,EAAE,mBAAmB;aAC5B,QAAQ,EAAE,iBAAiB;IAR7C,IAAW,SAAS,IAAI,MAAM,CAE7B;gBAGC,SAAS,EAAE,MAAM,EACD,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,iBAAiB;IAK7C,MAAM;;;;;CAOP;AAED,qBAAa,SAAU,SAAQ,UAAW,YAAW,UAAU;;IAC7D,OAAO,CAAC,aAAa,CAAK;gBAEd,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,iBAAiB,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAQ9F,IAAI,SAAS,IAAI,MAAM,CAEtB;IAGD,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI;IAKnD,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAIpC,IAAW,kBAAkB,WAE5B;IAID,IAAW,OAAO,IAAI,MAAM,GAAG,SAAS,CAEvC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAEtC;IAED,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM;IAsFxC,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,gBAAgB;IAW1D,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAgBjG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIlD,OAAO,IAAI,IAAI;IAKxB,MAAM;;;;;;CAQP;AAED,qBACa,uBAAwB,SAAQ,UAAU;aASnC,OAAO,EAAE,0BAA0B;aACnC,eAAe,EAAE,gBAAgB,EAAE;IATrD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAK;IAE1B,OAAO,CAAC,GAAG,CAAS;IACpB,IAAW,EAAE,IAAI,MAAM,CAEtB;gBAGiB,OAAO,EAAE,0BAA0B,EACnC,eAAe,EAAE,gBAAgB,EAAE;CAMtD;AAED,qBACa,yBAA0B,SAAQ,UAAW,YAAW,qBAAqB;IAEtF,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,OAAO,CAAC,EAAE,MAAM;aAChB,OAAO,CAAC,EAAE,MAAM;gBAFf,WAAW,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,MAAM,YAAA,EAChB,OAAO,CAAC,EAAE,MAAM,YAAA;IAKlC,IAAI,IAAI,WAEP;IAED,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,uBAEP;IAED,IAAI,WAAW,uBAEd;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,aAAa,WAEhB;CACF"}
1
+ {"version":3,"file":"chat-model.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
@@ -242,16 +242,17 @@ class ChatRequestModel {
242
242
  exports.ChatRequestModel = ChatRequestModel;
243
243
  _ChatRequestModel_requestId = new WeakMap();
244
244
  class ChatModel extends ide_core_common_1.Disposable {
245
- constructor(initParams) {
245
+ constructor(chatFeatureRegistry, initParams) {
246
246
  var _a, _b;
247
247
  super();
248
+ this.chatFeatureRegistry = chatFeatureRegistry;
248
249
  this.requestIdPool = 0;
249
250
  _ChatModel_sessionId.set(this, void 0);
250
251
  _ChatModel_requests.set(this, new Map());
251
252
  _ChatModel_slicedMessageCount.set(this, 0);
252
253
  _ChatModel_modelId.set(this, void 0);
253
254
  tslib_1.__classPrivateFieldSet(this, _ChatModel_sessionId, (_a = initParams === null || initParams === void 0 ? void 0 : initParams.sessionId) !== null && _a !== void 0 ? _a : (0, ide_core_common_1.uuid)(), "f");
254
- this.history = (_b = initParams === null || initParams === void 0 ? void 0 : initParams.history) !== null && _b !== void 0 ? _b : new msg_history_manager_1.MsgHistoryManager();
255
+ this.history = (_b = initParams === null || initParams === void 0 ? void 0 : initParams.history) !== null && _b !== void 0 ? _b : new msg_history_manager_1.MsgHistoryManager(this.chatFeatureRegistry);
255
256
  tslib_1.__classPrivateFieldSet(this, _ChatModel_modelId, initParams === null || initParams === void 0 ? void 0 : initParams.modelId, "f");
256
257
  }
257
258
  get sessionId() {
@@ -273,95 +274,129 @@ class ChatModel extends ide_core_common_1.Disposable {
273
274
  set modelId(modelId) {
274
275
  tslib_1.__classPrivateFieldSet(this, _ChatModel_modelId, modelId, "f");
275
276
  }
276
- getMessageHistory(contextWindow) {
277
- var _a;
278
- var _b;
279
- const history = [];
280
- for (const request of this.requests) {
281
- if (!request.response.isComplete) {
282
- continue;
277
+ processMemorySummaries() {
278
+ const memorySummaries = this.history.getMemorySummaries();
279
+ if (memorySummaries.length === 0) {
280
+ return [];
281
+ }
282
+ const processedSummaries = memorySummaries
283
+ .map((summary) => {
284
+ try {
285
+ const parsed = JSON.parse(summary.content);
286
+ return parsed.memory || parsed.content || summary.content;
283
287
  }
288
+ catch (_a) {
289
+ return summary.content;
290
+ }
291
+ })
292
+ .filter((content) => content && content !== 'no_memory_needed')
293
+ .filter((content, index, self) => self.indexOf(content) === index);
294
+ return processedSummaries.length > 0
295
+ ? [
296
+ {
297
+ role: 'system',
298
+ content: '以下是之前对话的总结:\n' + processedSummaries.join('\n\n'),
299
+ },
300
+ ]
301
+ : [];
302
+ }
303
+ processToolCall(part, history) {
304
+ if (history[history.length - 1].role !== 'assistant') {
305
+ history.push({
306
+ role: 'assistant',
307
+ content: [],
308
+ });
309
+ }
310
+ const toolCallId = part.content.id;
311
+ const toolCallInfo = {
312
+ id: toolCallId,
313
+ name: part.content.function.name,
314
+ args: this.parseJsonSafely(part.content.function.arguments || '{}', 'tool call arguments'),
315
+ result: this.parseJsonSafely(part.content.result || '{}', 'tool result'),
316
+ };
317
+ this.history.addToolCall(toolCallInfo);
318
+ this.history.setMessageAdditional(part.content.id, { toolCallId });
319
+ const lastMessage = history[history.length - 1];
320
+ lastMessage.content = [
321
+ {
322
+ type: 'tool-call',
323
+ toolCallId: part.content.id,
324
+ toolName: part.content.function.name,
325
+ args: toolCallInfo.args,
326
+ },
327
+ ];
328
+ history.push({
329
+ role: 'tool',
330
+ content: [
331
+ {
332
+ type: 'tool-result',
333
+ toolCallId: part.content.id,
334
+ toolName: part.content.function.name,
335
+ result: toolCallInfo.result,
336
+ },
337
+ ],
338
+ });
339
+ }
340
+ parseJsonSafely(jsonString, context) {
341
+ try {
342
+ return JSON.parse(jsonString);
343
+ }
344
+ catch (e) {
345
+ console.error(`[ChatModel] Failed to parse ${context}:`, e);
346
+ return {};
347
+ }
348
+ }
349
+ processRecentMessages() {
350
+ const history = [];
351
+ // 从 MsgHistoryManager 获取消息,并过滤掉已总结的消息
352
+ const recentMessages = this.history
353
+ .getMessages()
354
+ .filter((msg) => !msg.isSummarized)
355
+ .slice(-this.history.memoryConfig.shortTermSize);
356
+ for (const message of recentMessages) {
284
357
  history.push({
285
358
  role: 'user',
286
- content: ((_a = request.message.images) === null || _a === void 0 ? void 0 : _a.length)
287
- ? [
288
- { type: 'text', text: request.message.prompt },
289
- ...request.message.images.map((image) => ({ type: 'image', image: new URL(image) })),
290
- ]
291
- : request.message.prompt,
359
+ content: message.content,
292
360
  });
293
- for (const part of request.response.responseParts) {
294
- // Remove reasoning_content from history
295
- // https://api-docs.deepseek.com/zh-cn/guides/reasoning_model#%E4%B8%8A%E4%B8%8B%E6%96%87%E6%8B%BC%E6%8E%A5
296
- if (part.kind === 'treeData' || part.kind === 'component' || part.kind === 'reasoning') {
297
- continue;
298
- }
299
- if (part.kind !== 'toolCall') {
300
- history.push({
301
- role: 'assistant',
302
- content: [
303
- {
304
- type: 'text',
305
- text: part.kind === 'markdownContent' ? part.content.value : part.content,
306
- },
307
- ],
308
- });
361
+ // 如果有响应内容,添加响应
362
+ const additional = this.history.getMessageAdditional(message.id);
363
+ if (additional === null || additional === void 0 ? void 0 : additional.response) {
364
+ const response = additional.response;
365
+ if (response.kind === 'toolCall') {
366
+ this.processToolCall(response, history);
309
367
  }
310
368
  else {
311
- // 直接开始toolCall场景
312
- if (history[history.length - 1].role !== 'assistant') {
313
- history.push({
314
- role: 'assistant',
315
- content: [],
316
- });
317
- }
318
- history[history.length - 1].content.push({
319
- type: 'tool-call',
320
- toolCallId: part.content.id,
321
- toolName: part.content.function.name,
322
- args: (() => {
323
- try {
324
- return JSON.parse(part.content.function.arguments || '{}');
325
- }
326
- catch (e) {
327
- console.error('Failed to parse tool call arguments:', e);
328
- return {};
329
- }
330
- })(),
331
- });
332
369
  history.push({
333
- role: 'tool',
334
- content: [
335
- {
336
- type: 'tool-result',
337
- toolCallId: part.content.id,
338
- toolName: part.content.function.name,
339
- result: (() => {
340
- try {
341
- return JSON.parse(part.content.result || '{}');
342
- }
343
- catch (e) {
344
- console.error('Failed to parse tool result:', e);
345
- return {};
346
- }
347
- })(),
348
- },
349
- ],
370
+ role: 'assistant',
371
+ content: response.kind === 'markdownContent' ? response.content.value : response.content,
350
372
  });
351
373
  }
352
374
  }
353
375
  }
354
- if (contextWindow) {
355
- while (tslib_1.__classPrivateFieldGet(this, _ChatModel_slicedMessageCount, "f") < history.length) {
356
- // 简单的使用 JSON.stringify 计算 token 数量
357
- const tokenCount = JSON.stringify(history.slice(tslib_1.__classPrivateFieldGet(this, _ChatModel_slicedMessageCount, "f"))).length / 3;
358
- if (tokenCount <= contextWindow) {
359
- break;
360
- }
361
- tslib_1.__classPrivateFieldSet(this, _ChatModel_slicedMessageCount, (_b = tslib_1.__classPrivateFieldGet(this, _ChatModel_slicedMessageCount, "f"), _b++, _b), "f");
376
+ return history;
377
+ }
378
+ limitTokens(history, contextWindow) {
379
+ if (!contextWindow) {
380
+ return history;
381
+ }
382
+ let currentHistory = history;
383
+ let tokenCount = JSON.stringify(currentHistory).length / 3;
384
+ while (tokenCount > contextWindow && currentHistory.length > 1) {
385
+ if (currentHistory[0].role === 'system' && currentHistory.length > 2) {
386
+ currentHistory = [currentHistory[0], ...currentHistory.slice(2)];
387
+ }
388
+ else {
389
+ currentHistory = currentHistory.slice(1);
362
390
  }
391
+ tokenCount = JSON.stringify(currentHistory).length / 3;
363
392
  }
364
- return history.slice(tslib_1.__classPrivateFieldGet(this, _ChatModel_slicedMessageCount, "f"));
393
+ return currentHistory;
394
+ }
395
+ getMessageHistory(contextWindow) {
396
+ const memorySummaries = this.processMemorySummaries();
397
+ const recentMessages = this.processRecentMessages();
398
+ const history = [...memorySummaries, ...recentMessages];
399
+ return this.limitTokens(history, contextWindow);
365
400
  }
366
401
  addRequest(message) {
367
402
  const msg = message;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-model.js","sourceRoot":"","sources":["../../../src/browser/chat/chat-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.view.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAsC/B,OAAO,mCAAmC,CAAC;AA4E3C,eAAO,MAAM,UAAU,yBAuyBtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,EACX,mBAAmB,GACpB,EAAE;IACD,WAAW,EAAE,MAAM,GAAG,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,CAAC;CAChC,qBA8IA"}
1
+ {"version":3,"file":"chat.view.d.ts","sourceRoot":"","sources":["../../../src/browser/chat/chat.view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuC/B,OAAO,mCAAmC,CAAC;AA4E3C,eAAO,MAAM,UAAU,yBAuyBtB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,WAAW,EACX,mBAAmB,GACpB,EAAE;IACD,WAAW,EAAE,MAAM,GAAG,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,CAAC;CAChC,qBA6KA"}
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const react_chat_elements_1 = require("react-chat-elements");
8
8
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
9
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
9
10
  const components_1 = require("@opensumi/ide-core-browser/lib/components");
10
11
  const ai_native_1 = require("@opensumi/ide-core-browser/lib/components/ai-native");
11
12
  const ide_core_common_1 = require("@opensumi/ide-core-common");
@@ -619,30 +620,45 @@ function DefaultChatViewHeader({ handleClear, handleCloseChatView, }) {
619
620
  const handleHistoryItemDelete = React.useCallback((item) => {
620
621
  aiChatService.clearSessionModel(item.id);
621
622
  }, [aiChatService]);
623
+ // 防抖函数,避免频繁触发摘要生成
624
+ const debouncedGetSummary = React.useCallback((0, debounce_1.default)(async (messages, currentTitle) => {
625
+ const summaryProvider = chatFeatureRegistry.getMessageSummaryProvider();
626
+ if (!summaryProvider || !aiChatService.sessionModel.sessionId) {
627
+ return currentTitle;
628
+ }
629
+ try {
630
+ const summary = await summaryProvider.getMessageSummary(messages);
631
+ return summary ? summary.slice(0, MAX_TITLE_LENGTH) : currentTitle;
632
+ }
633
+ catch (error) {
634
+ console.error('[ChatView] Failed to get message summary:', error);
635
+ return currentTitle;
636
+ }
637
+ }, 1000, { leading: false, trailing: true }), [chatFeatureRegistry, aiChatService.sessionModel.sessionId]);
638
+ // 使用 ref 来跟踪最新的请求
639
+ const latestSummaryRequestRef = React.useRef(0);
622
640
  React.useEffect(() => {
623
- const getHistoryList = () => {
641
+ const getHistoryList = async () => {
624
642
  const currentMessages = aiChatService.sessionModel.history.getMessages();
625
- const latestUserMessage = currentMessages.findLast((m) => m.role === 1 /* ChatMessageRole.User */);
626
- const summaryProvider = chatFeatureRegistry.getMessageSummaryProvider();
643
+ const latestUserMessage = [...currentMessages].find((m) => m.role === 1 /* ChatMessageRole.User */);
627
644
  const currentTitle = latestUserMessage
628
645
  ? (0, utils_1.cleanAttachedTextWrapper)(latestUserMessage.content).slice(0, MAX_TITLE_LENGTH)
629
646
  : '';
630
- const messages = aiChatService.sessionModel.history.getMessages().map((msg) => ({
647
+ // 设置初始标题
648
+ setCurrentTitle(currentTitle);
649
+ const messages = currentMessages.map((msg) => ({
631
650
  role: msg.role,
632
651
  content: msg.content,
633
652
  }));
634
- if (messages.length > 2 && summaryProvider && aiChatService.sessionModel.sessionId) {
635
- summaryProvider.getMessageSummary(messages).then((summary) => {
636
- if (summary) {
637
- setCurrentTitle(summary.slice(0, MAX_TITLE_LENGTH));
638
- }
639
- else {
640
- setCurrentTitle(currentTitle);
641
- }
642
- });
643
- }
644
- else {
645
- setCurrentTitle(currentTitle);
653
+ // 只有当消息数量超过阈值时才生成摘要
654
+ if (messages.length > 2) {
655
+ const requestId = Date.now();
656
+ latestSummaryRequestRef.current = requestId;
657
+ const summary = await debouncedGetSummary(messages, currentTitle);
658
+ // 检查是否是最新请求
659
+ if (requestId === latestSummaryRequestRef.current && summary) {
660
+ setCurrentTitle(summary);
661
+ }
646
662
  }
647
663
  setHistoryList(aiChatService.getSessions().map((session) => {
648
664
  const history = session.history;