@opensumi/ide-ai-native 3.8.1-next-1741164072.0 → 3.8.1-next-1741180711.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.map +1 -1
- package/lib/browser/ai-core.contribution.js +1 -3
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/chat/chat-agent.service.d.ts +2 -3
- package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-agent.service.js.map +1 -1
- package/lib/browser/chat/chat-manager.service.d.ts +1 -0
- package/lib/browser/chat/chat-manager.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-manager.service.js +2 -8
- package/lib/browser/chat/chat-manager.service.js.map +1 -1
- package/lib/browser/chat/chat-model.d.ts +4 -1
- package/lib/browser/chat/chat-model.d.ts.map +1 -1
- package/lib/browser/chat/chat-model.js +54 -0
- package/lib/browser/chat/chat-model.js.map +1 -1
- package/lib/browser/chat/chat-proxy.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-proxy.service.js +2 -3
- package/lib/browser/chat/chat-proxy.service.js.map +1 -1
- package/lib/browser/chat/chat.api.service.d.ts +1 -2
- package/lib/browser/chat/chat.api.service.d.ts.map +1 -1
- package/lib/browser/chat/chat.api.service.js +0 -4
- package/lib/browser/chat/chat.api.service.js.map +1 -1
- package/lib/browser/chat/chat.internal.service.d.ts +0 -2
- package/lib/browser/chat/chat.internal.service.d.ts.map +1 -1
- package/lib/browser/chat/chat.internal.service.js +0 -3
- package/lib/browser/chat/chat.internal.service.js.map +1 -1
- package/lib/browser/components/components.module.less +0 -2
- package/lib/browser/mcp/base-apply.service.d.ts +5 -8
- package/lib/browser/mcp/base-apply.service.d.ts.map +1 -1
- package/lib/browser/mcp/base-apply.service.js +76 -81
- package/lib/browser/mcp/base-apply.service.js.map +1 -1
- package/lib/browser/model/msg-history-manager.d.ts +1 -2
- package/lib/browser/model/msg-history-manager.d.ts.map +1 -1
- package/lib/browser/model/msg-history-manager.js +1 -10
- package/lib/browser/model/msg-history-manager.js.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat-controller.d.ts.map +1 -1
- package/lib/browser/widget/inline-chat/inline-chat-controller.js +1 -6
- package/lib/browser/widget/inline-chat/inline-chat-controller.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-manager.js +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-manager.js.map +1 -1
- package/lib/browser/widget/inline-diff/inline-diff-widget.module.less +3 -3
- package/lib/common/index.d.ts +4 -3
- package/lib/common/index.d.ts.map +1 -1
- package/lib/common/index.js.map +1 -1
- package/lib/common/types.d.ts +0 -1
- package/lib/common/types.d.ts.map +1 -1
- package/lib/node/base-language-model.d.ts +3 -3
- package/lib/node/base-language-model.d.ts.map +1 -1
- package/lib/node/base-language-model.js +1 -21
- package/lib/node/base-language-model.js.map +1 -1
- package/package.json +23 -23
- package/src/browser/ai-core.contribution.ts +1 -4
- package/src/browser/chat/chat-agent.service.ts +2 -2
- package/src/browser/chat/chat-manager.service.ts +4 -8
- package/src/browser/chat/chat-model.ts +59 -6
- package/src/browser/chat/chat-proxy.service.ts +6 -5
- package/src/browser/chat/chat.api.service.ts +1 -5
- package/src/browser/chat/chat.internal.service.ts +0 -4
- package/src/browser/components/components.module.less +0 -2
- package/src/browser/mcp/base-apply.service.ts +84 -89
- package/src/browser/model/msg-history-manager.ts +1 -11
- package/src/browser/widget/inline-chat/inline-chat-controller.ts +1 -5
- package/src/browser/widget/inline-diff/inline-diff-manager.tsx +1 -1
- package/src/browser/widget/inline-diff/inline-diff-widget.module.less +3 -3
- package/src/common/index.ts +6 -3
- package/src/common/types.ts +0 -1
- package/src/node/base-language-model.ts +3 -24
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
.inlineDiffManager {
|
|
24
24
|
display: flex;
|
|
25
|
-
border-radius:
|
|
25
|
+
border-radius: 13px;
|
|
26
26
|
align-items: center;
|
|
27
27
|
position: absolute;
|
|
28
28
|
bottom: 18px;
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
border-right: 1px solid var(--design-borderColor);
|
|
39
39
|
}
|
|
40
40
|
:global(.codicon) {
|
|
41
|
-
font-size:
|
|
41
|
+
font-size: 20px;
|
|
42
42
|
padding: 6px;
|
|
43
43
|
color: var(--kt-primaryButton-foreground);
|
|
44
44
|
background-color: var(--kt-primaryButton-hoverBackground);
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
.disabled {
|
|
51
|
-
color: var(--kt-button-disableForeground) !important;
|
|
51
|
+
// color: var(--kt-button-disableForeground) !important;
|
|
52
52
|
background-color: var(--kt-button-disableBackground) !important;
|
|
53
53
|
cursor: not-allowed;
|
|
54
54
|
}
|
package/lib/common/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { AIServiceType, ActionSourceEnum, ActionTypeEnum, CancellationToken, Event, IChatComponent, IChatContent, IChatProgress, IDisposable, IMarkdownString, Uri } from '@opensumi/ide-core-common';
|
|
2
|
-
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
3
2
|
import { IPosition, ITextModel, InlineCompletionContext } from '@opensumi/ide-monaco/lib/common';
|
|
4
3
|
import { MCPServerDescription } from './mcp-server-manager';
|
|
5
4
|
import { MCPTool } from './types';
|
|
5
|
+
import type { CoreMessage } from 'ai';
|
|
6
|
+
export type { CoreMessage };
|
|
6
7
|
export * from './model';
|
|
7
8
|
export declare const IAINativeService: unique symbol;
|
|
8
9
|
/**
|
|
@@ -104,7 +105,7 @@ export interface IChatAgentService {
|
|
|
104
105
|
readonly onDidChangeAgents: Event<void>;
|
|
105
106
|
readonly onDidSendMessage: Event<IChatProgress>;
|
|
106
107
|
registerAgent(agent: IChatAgent): IDisposable;
|
|
107
|
-
invokeAgent(id: string, request: IChatAgentRequest, progress: (part: IChatProgress) => void, history:
|
|
108
|
+
invokeAgent(id: string, request: IChatAgentRequest, progress: (part: IChatProgress) => void, history: CoreMessage[], token: CancellationToken): Promise<IChatAgentResult>;
|
|
108
109
|
getAgents(): Array<IChatAgent>;
|
|
109
110
|
getAgent(id: string): IChatAgent | undefined;
|
|
110
111
|
hasAgent(id: string): boolean;
|
|
@@ -125,7 +126,7 @@ export interface IChatAgentService {
|
|
|
125
126
|
sendMessage(chunk: IChatProgress): void;
|
|
126
127
|
}
|
|
127
128
|
export interface IChatAgent extends IChatAgentData {
|
|
128
|
-
invoke(request: IChatAgentRequest, progress: (part: IChatProgress) => void, history:
|
|
129
|
+
invoke(request: IChatAgentRequest, progress: (part: IChatProgress) => void, history: CoreMessage[], token: CancellationToken): Promise<IChatAgentResult>;
|
|
129
130
|
provideFollowups?(sessionId: string, token: CancellationToken): Promise<IChatFollowup[]>;
|
|
130
131
|
provideSlashCommands(token: CancellationToken): Promise<IChatAgentCommand[]>;
|
|
131
132
|
provideSampleQuestions?(token: CancellationToken): Promise<IChatReplyFollowup[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,KAAK,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,GAAG,EACJ,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"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"}
|
package/lib/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;AAAA,+DAamC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;AAAA,+DAamC;AACnC,yEAA6F;AAU7F,kDAAwB;AAEX,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE3D;;GAEG;AACU,QAAA,yBAAyB,GAAG,6CAA2B,CAAC;AAExD,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,sBAAsB,GAAG,qBAAqB,CAAC;AAC/C,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAErE,eAAe;AACF,QAAA,uBAAuB,GAAG,cAAc,CAAC;AAEtD;;GAEG;AACU,QAAA,4BAA4B,GAAG,4CAAgC,CAAC;AAEhE,QAAA,YAAY,GAAG,GAAG,CAAC;AACnB,QAAA,cAAc,GAAG,GAAG,CAAC;AAiDlC,IAAY,oCAIX;AAJD,WAAY,oCAAoC;IAC9C,yDAAiB,CAAA;IACjB,qDAAa,CAAA;IACb,+DAAuB,CAAA;AACzB,CAAC,EAJW,oCAAoC,oDAApC,oCAAoC,QAI/C;AAuBY,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACpD,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAEhD,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE,2CAA2C;AAC9B,QAAA,0BAA0B,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAC;AAWlE,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AA0I7E,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,WAAW;IACX,2DAAK,CAAA;IACL,UAAU;IACV,iEAAQ,CAAA;IACR,OAAO;IACP,yDAAI,CAAA;IACJ,KAAK;IACL,2DAAK,CAAA;AACP,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAEY,QAAA,4BAA4B,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC"}
|
package/lib/common/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAGD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACR,OAAO,CAAC;QACT,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IAEpE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE;QACL,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;QACF,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,oBAAoB,CAAC;CAC7B;AAGD,MAAM,WAAW,sBAAsB;IACrC,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,GACR,OAAO,CAAC;QACT,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAEnC,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CAAC;IAEpE,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,OAAO,EAAE,CAAC;KAC5B,CAAC;CACH;AAED,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CoreMessage } from 'ai';
|
|
2
|
+
import { IAIBackServiceOption } from '@opensumi/ide-core-common';
|
|
2
3
|
import { ChatReadableStream } from '@opensumi/ide-core-node';
|
|
3
4
|
import { CancellationToken } from '@opensumi/ide-utils';
|
|
4
5
|
import { ModelInfo } from '../common';
|
|
@@ -7,11 +8,10 @@ export declare abstract class BaseLanguageModel {
|
|
|
7
8
|
static ModelOptions: Record<string, ModelInfo>;
|
|
8
9
|
protected readonly toolInvocationRegistryManager: IToolInvocationRegistryManager;
|
|
9
10
|
protected abstract initializeProvider(options: IAIBackServiceOption): any;
|
|
10
|
-
private convertChatMessageRole;
|
|
11
11
|
request(request: string, chatReadableStream: ChatReadableStream, options: IAIBackServiceOption, cancellationToken?: CancellationToken): Promise<any>;
|
|
12
12
|
private convertToolRequestToAITool;
|
|
13
13
|
protected abstract getModelIdentifier(provider: any, modelId?: string): any;
|
|
14
14
|
protected abstract getModelInfo(modelId: string): ModelInfo | undefined;
|
|
15
|
-
protected handleStreamingRequest(provider: any, request: string, tools: ToolRequest[], chatReadableStream: ChatReadableStream, history?:
|
|
15
|
+
protected handleStreamingRequest(provider: any, request: string, tools: ToolRequest[], chatReadableStream: ChatReadableStream, history?: CoreMessage[], modelId?: string, providerOptions?: Record<string, any>, trimTexts?: [string, string], systemPrompt?: string, maxTokens?: number, cancellationToken?: CancellationToken): Promise<any>;
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=base-language-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-language-model.d.ts","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-language-model.d.ts","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAsD,MAAM,IAAI,CAAC;AAGrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,8BAA8B,EAE9B,WAAW,EACZ,MAAM,oCAAoC,CAAC;AAE5C,8BACsB,iBAAiB;IACrC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;IAEjF,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,GAAG,GAAG;IAEnE,OAAO,CACX,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC;IA0Bf,OAAO,CAAC,0BAA0B;IAUlC,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG;IAE3E,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;cAEvD,sBAAsB,CACpC,QAAQ,EAAE,GAAG,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAAE,EACpB,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,GAAE,WAAW,EAAO,EAC3B,OAAO,CAAC,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC;CAiJhB"}
|
|
@@ -6,20 +6,6 @@ const ai_1 = require("ai");
|
|
|
6
6
|
const di_1 = require("@opensumi/di");
|
|
7
7
|
const tool_invocation_registry_1 = require("../common/tool-invocation-registry");
|
|
8
8
|
let BaseLanguageModel = class BaseLanguageModel {
|
|
9
|
-
convertChatMessageRole(role) {
|
|
10
|
-
switch (role) {
|
|
11
|
-
case 0 /* ChatMessageRole.System */:
|
|
12
|
-
return 'system';
|
|
13
|
-
case 1 /* ChatMessageRole.User */:
|
|
14
|
-
return 'user';
|
|
15
|
-
case 2 /* ChatMessageRole.Assistant */:
|
|
16
|
-
return 'assistant';
|
|
17
|
-
case 3 /* ChatMessageRole.Function */:
|
|
18
|
-
return 'tool';
|
|
19
|
-
default:
|
|
20
|
-
return 'user';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
9
|
async request(request, chatReadableStream, options, cancellationToken) {
|
|
24
10
|
const provider = this.initializeProvider(options);
|
|
25
11
|
const clientId = options.clientId;
|
|
@@ -48,13 +34,7 @@ let BaseLanguageModel = class BaseLanguageModel {
|
|
|
48
34
|
abortController.abort();
|
|
49
35
|
});
|
|
50
36
|
}
|
|
51
|
-
const messages = [
|
|
52
|
-
...history.map((msg) => ({
|
|
53
|
-
role: this.convertChatMessageRole(msg.role), // 这个 SDK 包里的类型不太好完全对应,
|
|
54
|
-
content: msg.content,
|
|
55
|
-
})),
|
|
56
|
-
{ role: 'user', content: request },
|
|
57
|
-
];
|
|
37
|
+
const messages = [...history, { role: 'user', content: request }];
|
|
58
38
|
const modelInfo = modelId ? this.getModelInfo(modelId) : undefined;
|
|
59
39
|
const stream = (0, ai_1.streamText)({
|
|
60
40
|
model: this.getModelIdentifier(provider, modelId),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-language-model.js","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":";;;;AAAA,2BAAqF;AAErF,qCAAqD;AAMrD,iFAI4C;AAGrC,IAAe,iBAAiB,GAAhC,MAAe,iBAAiB;
|
|
1
|
+
{"version":3,"file":"base-language-model.js","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/ide-ai-native",
|
|
3
|
-
"version": "3.8.1-next-
|
|
3
|
+
"version": "3.8.1-next-1741180711.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"lib",
|
|
6
6
|
"src"
|
|
@@ -24,26 +24,26 @@
|
|
|
24
24
|
"@ai-sdk/openai": "^1.1.9",
|
|
25
25
|
"@ai-sdk/openai-compatible": "^0.1.11",
|
|
26
26
|
"@modelcontextprotocol/sdk": "^1.3.1",
|
|
27
|
-
"@opensumi/ide-addons": "3.8.1-next-
|
|
28
|
-
"@opensumi/ide-components": "3.8.1-next-
|
|
29
|
-
"@opensumi/ide-connection": "3.8.1-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.8.1-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.8.1-next-
|
|
32
|
-
"@opensumi/ide-debug": "3.8.1-next-
|
|
33
|
-
"@opensumi/ide-design": "3.8.1-next-
|
|
34
|
-
"@opensumi/ide-editor": "3.8.1-next-
|
|
35
|
-
"@opensumi/ide-file-search": "3.8.1-next-
|
|
36
|
-
"@opensumi/ide-file-service": "3.8.1-next-
|
|
37
|
-
"@opensumi/ide-main-layout": "3.8.1-next-
|
|
38
|
-
"@opensumi/ide-markers": "3.8.1-next-
|
|
39
|
-
"@opensumi/ide-monaco": "3.8.1-next-
|
|
40
|
-
"@opensumi/ide-overlay": "3.8.1-next-
|
|
41
|
-
"@opensumi/ide-preferences": "3.8.1-next-
|
|
42
|
-
"@opensumi/ide-search": "3.8.1-next-
|
|
43
|
-
"@opensumi/ide-terminal-next": "3.8.1-next-
|
|
44
|
-
"@opensumi/ide-theme": "3.8.1-next-
|
|
45
|
-
"@opensumi/ide-utils": "3.8.1-next-
|
|
46
|
-
"@opensumi/ide-workspace": "3.8.1-next-
|
|
27
|
+
"@opensumi/ide-addons": "3.8.1-next-1741180711.0",
|
|
28
|
+
"@opensumi/ide-components": "3.8.1-next-1741180711.0",
|
|
29
|
+
"@opensumi/ide-connection": "3.8.1-next-1741180711.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.1-next-1741180711.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.1-next-1741180711.0",
|
|
32
|
+
"@opensumi/ide-debug": "3.8.1-next-1741180711.0",
|
|
33
|
+
"@opensumi/ide-design": "3.8.1-next-1741180711.0",
|
|
34
|
+
"@opensumi/ide-editor": "3.8.1-next-1741180711.0",
|
|
35
|
+
"@opensumi/ide-file-search": "3.8.1-next-1741180711.0",
|
|
36
|
+
"@opensumi/ide-file-service": "3.8.1-next-1741180711.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.8.1-next-1741180711.0",
|
|
38
|
+
"@opensumi/ide-markers": "3.8.1-next-1741180711.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.8.1-next-1741180711.0",
|
|
40
|
+
"@opensumi/ide-overlay": "3.8.1-next-1741180711.0",
|
|
41
|
+
"@opensumi/ide-preferences": "3.8.1-next-1741180711.0",
|
|
42
|
+
"@opensumi/ide-search": "3.8.1-next-1741180711.0",
|
|
43
|
+
"@opensumi/ide-terminal-next": "3.8.1-next-1741180711.0",
|
|
44
|
+
"@opensumi/ide-theme": "3.8.1-next-1741180711.0",
|
|
45
|
+
"@opensumi/ide-utils": "3.8.1-next-1741180711.0",
|
|
46
|
+
"@opensumi/ide-workspace": "3.8.1-next-1741180711.0",
|
|
47
47
|
"@xterm/xterm": "5.5.0",
|
|
48
48
|
"ai": "^4.1.45",
|
|
49
49
|
"ansi-regex": "^2.0.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"zod-to-json-schema": "^3.24.1"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@opensumi/ide-core-browser": "3.8.1-next-
|
|
61
|
+
"@opensumi/ide-core-browser": "3.8.1-next-1741180711.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "1a2125e86946a5a0af2c6b5d641663d523b4e6a7"
|
|
64
64
|
}
|
|
@@ -605,10 +605,7 @@ export class AINativeBrowserContribution
|
|
|
605
605
|
id: INLINE_DIFF_MANAGER_WIDGET_ID,
|
|
606
606
|
component: InlineDiffManager,
|
|
607
607
|
displaysOnResource: (resource) => {
|
|
608
|
-
if (
|
|
609
|
-
this.aiNativeConfigService.capabilities.supportsMCP &&
|
|
610
|
-
this.applyService.getUriCodeBlocks(resource.uri)?.filter((block) => block.status === 'pending').length
|
|
611
|
-
) {
|
|
608
|
+
if (this.applyService.getUriPendingCodeBlock(resource.uri)) {
|
|
612
609
|
return true;
|
|
613
610
|
}
|
|
614
611
|
return false;
|
|
@@ -16,9 +16,9 @@ import {
|
|
|
16
16
|
ILogger,
|
|
17
17
|
toDisposable,
|
|
18
18
|
} from '@opensumi/ide-core-common';
|
|
19
|
-
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
20
19
|
|
|
21
20
|
import {
|
|
21
|
+
CoreMessage,
|
|
22
22
|
IChatAgent,
|
|
23
23
|
IChatAgentCommand,
|
|
24
24
|
IChatAgentMetadata,
|
|
@@ -140,7 +140,7 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
140
140
|
id: string,
|
|
141
141
|
request: IChatAgentRequest,
|
|
142
142
|
progress: (part: IChatProgress) => void,
|
|
143
|
-
history:
|
|
143
|
+
history: CoreMessage[],
|
|
144
144
|
token: CancellationToken,
|
|
145
145
|
): Promise<IChatAgentResult> {
|
|
146
146
|
const data = this.agents.get(id);
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
DisposableMap,
|
|
7
7
|
Emitter,
|
|
8
8
|
IChatProgress,
|
|
9
|
+
IChatToolContent,
|
|
9
10
|
IStorage,
|
|
10
11
|
STORAGE_NAMESPACE,
|
|
11
12
|
StorageProvider,
|
|
@@ -29,6 +30,7 @@ interface ISessionModel {
|
|
|
29
30
|
isCanceled: boolean;
|
|
30
31
|
responseText: string;
|
|
31
32
|
responseContents: IChatProgressResponseContent[];
|
|
33
|
+
responseParts: IChatProgressResponseContent[];
|
|
32
34
|
errorDetails: IChatResponseErrorDetails | undefined;
|
|
33
35
|
followups: IChatFollowup[];
|
|
34
36
|
};
|
|
@@ -72,6 +74,7 @@ export class ChatManagerService extends Disposable {
|
|
|
72
74
|
responseContents: request.response.responseContents,
|
|
73
75
|
isComplete: true,
|
|
74
76
|
responseText: request.response.responseText,
|
|
77
|
+
responseParts: request.response.responseParts,
|
|
75
78
|
errorDetails: request.response.errorDetails,
|
|
76
79
|
followups: request.response.followups,
|
|
77
80
|
isCanceled: request.response.isCanceled,
|
|
@@ -153,14 +156,7 @@ export class ChatManagerService extends Disposable {
|
|
|
153
156
|
request.response.cancel();
|
|
154
157
|
});
|
|
155
158
|
|
|
156
|
-
const history
|
|
157
|
-
for (const request of model.requests) {
|
|
158
|
-
if (!request.response.isComplete) {
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
history.push({ role: ChatMessageRole.User, content: request.message.prompt });
|
|
162
|
-
history.push({ role: ChatMessageRole.Assistant, content: request.response.responseText });
|
|
163
|
-
}
|
|
159
|
+
const history = model.messageHistory;
|
|
164
160
|
|
|
165
161
|
try {
|
|
166
162
|
const progressCallback = (progress: IChatProgress) => {
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
import { MarkdownString, isMarkdownString } from '@opensumi/monaco-editor-core/esm/vs/base/common/htmlContent';
|
|
14
14
|
|
|
15
15
|
import {
|
|
16
|
+
CoreMessage,
|
|
16
17
|
IChatFollowup,
|
|
17
18
|
IChatModel,
|
|
18
19
|
IChatRequestMessage,
|
|
@@ -25,6 +26,8 @@ import {
|
|
|
25
26
|
import { MsgHistoryManager } from '../model/msg-history-manager';
|
|
26
27
|
import { IChatSlashCommandItem } from '../types';
|
|
27
28
|
|
|
29
|
+
import type { TextPart, ToolCallPart } from 'ai';
|
|
30
|
+
|
|
28
31
|
export type IChatProgressResponseContent =
|
|
29
32
|
| IChatMarkdownContent
|
|
30
33
|
| IChatAsyncContent
|
|
@@ -86,6 +89,7 @@ export class ChatResponseModel extends Disposable {
|
|
|
86
89
|
isComplete: boolean;
|
|
87
90
|
isCanceled: boolean;
|
|
88
91
|
responseContents: IChatProgressResponseContent[];
|
|
92
|
+
responseParts: IChatProgressResponseContent[];
|
|
89
93
|
responseText: string;
|
|
90
94
|
errorDetails: IChatResponseErrorDetails | undefined;
|
|
91
95
|
followups: IChatFollowup[] | undefined;
|
|
@@ -95,6 +99,7 @@ export class ChatResponseModel extends Disposable {
|
|
|
95
99
|
this.#requestId = requestId;
|
|
96
100
|
if (initParams) {
|
|
97
101
|
this.#responseContents = initParams.responseContents;
|
|
102
|
+
this.#responseParts = initParams.responseParts;
|
|
98
103
|
this.#responseText = initParams.responseText;
|
|
99
104
|
this.#isComplete = initParams.isComplete;
|
|
100
105
|
this.#isCanceled = initParams.isCanceled;
|
|
@@ -239,6 +244,7 @@ export class ChatResponseModel extends Disposable {
|
|
|
239
244
|
isCanceled: this.isCanceled,
|
|
240
245
|
responseContents: this.responseContents,
|
|
241
246
|
responseText: this.responseText,
|
|
247
|
+
responseParts: this.responseParts,
|
|
242
248
|
errorDetails: this.errorDetails,
|
|
243
249
|
followups: this.followups,
|
|
244
250
|
};
|
|
@@ -272,18 +278,13 @@ export class ChatRequestModel implements IChatRequestModel {
|
|
|
272
278
|
export class ChatModel extends Disposable implements IChatModel {
|
|
273
279
|
private static requestIdPool = 0;
|
|
274
280
|
|
|
275
|
-
constructor(initParams?: {
|
|
276
|
-
sessionId?: string;
|
|
277
|
-
history?: MsgHistoryManager;
|
|
278
|
-
requests?: ChatRequestModel[];
|
|
279
|
-
}) {
|
|
281
|
+
constructor(initParams?: { sessionId?: string; history?: MsgHistoryManager; requests?: ChatRequestModel[] }) {
|
|
280
282
|
super();
|
|
281
283
|
this.#sessionId = initParams?.sessionId ?? uuid();
|
|
282
284
|
this.history = initParams?.history ?? new MsgHistoryManager();
|
|
283
285
|
if (initParams?.requests) {
|
|
284
286
|
this.#requests = new Map(initParams.requests.map((r) => [r.requestId, r]));
|
|
285
287
|
}
|
|
286
|
-
|
|
287
288
|
}
|
|
288
289
|
|
|
289
290
|
#sessionId: string;
|
|
@@ -302,6 +303,58 @@ export class ChatModel extends Disposable implements IChatModel {
|
|
|
302
303
|
|
|
303
304
|
readonly history: MsgHistoryManager;
|
|
304
305
|
|
|
306
|
+
get messageHistory() {
|
|
307
|
+
const history: CoreMessage[] = [];
|
|
308
|
+
for (const request of this.requests) {
|
|
309
|
+
if (!request.response.isComplete) {
|
|
310
|
+
continue;
|
|
311
|
+
}
|
|
312
|
+
history.push({ role: 'user', content: request.message.prompt });
|
|
313
|
+
for (const part of request.response.responseParts) {
|
|
314
|
+
if (part.kind === 'treeData' || part.kind === 'component') {
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
if (part.kind !== 'toolCall') {
|
|
318
|
+
history.push({
|
|
319
|
+
role: 'assistant',
|
|
320
|
+
content: [
|
|
321
|
+
{
|
|
322
|
+
type: 'text',
|
|
323
|
+
text: part.kind === 'markdownContent' ? part.content.value : part.content,
|
|
324
|
+
},
|
|
325
|
+
],
|
|
326
|
+
});
|
|
327
|
+
} else {
|
|
328
|
+
// 直接开始toolCall场景
|
|
329
|
+
if (history[history.length - 1].role !== 'assistant') {
|
|
330
|
+
history.push({
|
|
331
|
+
role: 'assistant',
|
|
332
|
+
content: [],
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
(history[history.length - 1].content as Array<TextPart | ToolCallPart>).push({
|
|
336
|
+
type: 'tool-call',
|
|
337
|
+
toolCallId: part.content.id,
|
|
338
|
+
toolName: part.content.function.name,
|
|
339
|
+
args: JSON.parse(part.content.function.arguments || '{}'),
|
|
340
|
+
});
|
|
341
|
+
history.push({
|
|
342
|
+
role: 'tool',
|
|
343
|
+
content: [
|
|
344
|
+
{
|
|
345
|
+
type: 'tool-result',
|
|
346
|
+
toolCallId: part.content.id,
|
|
347
|
+
toolName: part.content.function.name,
|
|
348
|
+
result: JSON.parse(part.content.result || '{}'),
|
|
349
|
+
},
|
|
350
|
+
],
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
return history;
|
|
356
|
+
}
|
|
357
|
+
|
|
305
358
|
addRequest(message: IChatRequestMessage): ChatRequestModel {
|
|
306
359
|
const msg = message;
|
|
307
360
|
|
|
@@ -15,12 +15,12 @@ import {
|
|
|
15
15
|
getOperatingSystemName,
|
|
16
16
|
} from '@opensumi/ide-core-common';
|
|
17
17
|
import { AINativeSettingSectionsId } from '@opensumi/ide-core-common/lib/settings/ai-native';
|
|
18
|
-
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
19
18
|
import { MonacoCommandRegistry } from '@opensumi/ide-editor/lib/browser/monaco-contrib/command/command.service';
|
|
20
19
|
import { IMessageService } from '@opensumi/ide-overlay';
|
|
21
20
|
import { listenReadable } from '@opensumi/ide-utils/lib/stream';
|
|
22
21
|
|
|
23
22
|
import {
|
|
23
|
+
CoreMessage,
|
|
24
24
|
IChatAgentCommand,
|
|
25
25
|
IChatAgentRequest,
|
|
26
26
|
IChatAgentResult,
|
|
@@ -92,12 +92,14 @@ export class ChatProxyService extends Disposable {
|
|
|
92
92
|
AINativeSettingSectionsId.SystemPrompt,
|
|
93
93
|
'You are a powerful AI coding assistant working in OpenSumi, a top IDE framework. You collaborate with a USER to solve coding tasks, which may involve creating, modifying, or debugging code, or answering questions. When the USER sends a message, relevant context (e.g., open files, cursor position, edit history, linter errors) may be attached. Use this information as needed.\n\n<tool_calling>\nYou have access to tools to assist with tasks. Follow these rules:\n1. Always adhere to the tool call schema and provide all required parameters.\n2. Only use tools explicitly provided; ignore unavailable ones.\n3. Avoid mentioning tool names to the USER (e.g., say "I will edit your file" instead of "I need to use the edit_file tool").\n4. Only call tools when necessary; respond directly if the task is general or you already know the answer.\n5. Explain to the USER why you’re using a tool before calling it.\n</tool_calling>\n\n<making_code_changes>\nWhen modifying code:\n1. Use code edit tools instead of outputting code unless explicitly requested.\n2. Limit tool calls to one per turn.\n3. Ensure generated code is immediately executable by including necessary imports, dependencies, and endpoints.\n4. For new projects, create a dependency management file (e.g., requirements.txt) and a README.\n5. For web apps, design a modern, user-friendly UI.\n6. Avoid generating non-textual or excessively long code.\n7. Read file contents before editing, unless appending a small change or creating a new file.\n8. Fix introduced linter errors if possible, but stop after 3 attempts and ask the USER for guidance.\n9. Reapply reasonable code edits if they weren’t followed initially.\n</making_code_changes>\n\nUse the appropriate tools to fulfill the USER’s request, ensuring all required parameters are provided or inferred from context.',
|
|
94
94
|
) +
|
|
95
|
-
`\n\n<user_info>\nThe user's OS is ${getOperatingSystemName()}. The absolute path of the user's workspace is ${
|
|
95
|
+
`\n\n<user_info>\nThe user's OS is ${getOperatingSystemName()}. The absolute path of the user's workspace is ${
|
|
96
|
+
this.appConfig.workspaceDir
|
|
97
|
+
}.\n</user_info>`,
|
|
96
98
|
},
|
|
97
99
|
invoke: async (
|
|
98
100
|
request: IChatAgentRequest,
|
|
99
101
|
progress: (part: IChatProgress) => void,
|
|
100
|
-
|
|
102
|
+
history: CoreMessage[],
|
|
101
103
|
token: CancellationToken,
|
|
102
104
|
): Promise<IChatAgentResult> => {
|
|
103
105
|
this.chatDeferred = new Deferred<void>();
|
|
@@ -129,14 +131,13 @@ export class ChatProxyService extends Disposable {
|
|
|
129
131
|
apiKey = this.preferenceService.get<string>(AINativeSettingSectionsId.OpenaiApiKey, '');
|
|
130
132
|
baseURL = this.preferenceService.get<string>(AINativeSettingSectionsId.OpenaiBaseURL, '');
|
|
131
133
|
}
|
|
132
|
-
const MAX_INPUT_TOKENS = 30720;
|
|
133
134
|
const agent = this.chatAgentService.getAgent(ChatProxyService.AGENT_ID);
|
|
134
135
|
const stream = await this.aiBackService.requestStream(
|
|
135
136
|
prompt,
|
|
136
137
|
{
|
|
137
138
|
requestId: request.requestId,
|
|
138
139
|
sessionId: request.sessionId,
|
|
139
|
-
history
|
|
140
|
+
history,
|
|
140
141
|
clientId: this.applicationService.clientId,
|
|
141
142
|
apiKey,
|
|
142
143
|
model,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Autowired, Injectable } from '@opensumi/di';
|
|
2
2
|
import { Disposable, Emitter, Event } from '@opensumi/ide-core-common';
|
|
3
|
-
import { IChatComponent, IChatContent
|
|
3
|
+
import { IChatComponent, IChatContent } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
4
4
|
import { IMainLayoutService } from '@opensumi/ide-main-layout';
|
|
5
5
|
|
|
6
6
|
import { AI_CHAT_VIEW_ID, IChatInternalService, IChatMessageListItem, IChatMessageStructure } from '../../common';
|
|
@@ -65,10 +65,6 @@ export class ChatService extends Disposable {
|
|
|
65
65
|
this._onChatMessageListLaunch.fire(list);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
public getHistoryMessages(maxInputTokens?: number): IHistoryChatMessage[] {
|
|
69
|
-
return this.chatInternalService.sessionModel?.history.getMessages(maxInputTokens) || [];
|
|
70
|
-
}
|
|
71
|
-
|
|
72
68
|
public scrollToBottom(): void {
|
|
73
69
|
this._onScrollToBottom.fire();
|
|
74
70
|
}
|
|
@@ -30,9 +30,6 @@ export class ChatInternalService extends Disposable {
|
|
|
30
30
|
private readonly _onCancelRequest = new Emitter<void>();
|
|
31
31
|
public readonly onCancelRequest: Event<void> = this._onCancelRequest.event;
|
|
32
32
|
|
|
33
|
-
private readonly _onWillClearSession = new Emitter<string>();
|
|
34
|
-
public readonly onWillClearSession: Event<string> = this._onWillClearSession.event;
|
|
35
|
-
|
|
36
33
|
private readonly _onRegenerateRequest = new Emitter<void>();
|
|
37
34
|
public readonly onRegenerateRequest: Event<void> = this._onRegenerateRequest.event;
|
|
38
35
|
|
|
@@ -86,7 +83,6 @@ export class ChatInternalService extends Disposable {
|
|
|
86
83
|
|
|
87
84
|
clearSessionModel(sessionId?: string) {
|
|
88
85
|
sessionId = sessionId || this.#sessionModel.sessionId;
|
|
89
|
-
this._onWillClearSession.fire(sessionId);
|
|
90
86
|
this.chatManagerService.clearSession(sessionId);
|
|
91
87
|
if (sessionId === this.#sessionModel.sessionId) {
|
|
92
88
|
this.#sessionModel = this.chatManagerService.startSession();
|