@opensumi/ide-ai-native 3.8.1-next-1741080291.0 → 3.8.1-next-1741092802.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 +22 -22
- package/lib/browser/ai-core.contribution.js.map +1 -1
- package/lib/browser/chat/chat-agent.service.d.ts +8 -0
- package/lib/browser/chat/chat-agent.service.d.ts.map +1 -1
- package/lib/browser/chat/chat-agent.service.js +32 -5
- package/lib/browser/chat/chat-agent.service.js.map +1 -1
- package/lib/browser/chat/chat-model.d.ts.map +1 -1
- package/lib/browser/chat/chat-model.js +3 -2
- 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 +3 -1
- package/lib/browser/chat/chat-proxy.service.js.map +1 -1
- package/lib/browser/chat/chat.module.less +1 -2
- package/lib/browser/chat/chat.view.d.ts.map +1 -1
- package/lib/browser/chat/chat.view.js +6 -38
- package/lib/browser/chat/chat.view.js.map +1 -1
- package/lib/browser/components/ChatContext/index.js +2 -2
- package/lib/browser/components/ChatContext/index.js.map +1 -1
- package/lib/browser/components/ChatInput.d.ts.map +1 -1
- package/lib/browser/components/ChatInput.js +25 -1
- package/lib/browser/components/ChatInput.js.map +1 -1
- package/lib/browser/components/ChatToolRender.d.ts.map +1 -1
- package/lib/browser/components/ChatToolRender.js +2 -3
- package/lib/browser/components/ChatToolRender.js.map +1 -1
- package/lib/browser/components/chat-history.module.less +1 -1
- package/lib/browser/components/components.module.less +20 -0
- package/lib/browser/context/llm-context.service.d.ts +18 -5
- package/lib/browser/context/llm-context.service.d.ts.map +1 -1
- package/lib/browser/context/llm-context.service.js +80 -47
- package/lib/browser/context/llm-context.service.js.map +1 -1
- package/lib/browser/layout/layout.module.less +4 -4
- package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts +13 -0
- package/lib/browser/mcp/tools/components/ExpandableFileList.d.ts.map +1 -0
- package/lib/browser/mcp/tools/components/{SearchResult.js → ExpandableFileList.js} +29 -19
- package/lib/browser/mcp/tools/components/ExpandableFileList.js.map +1 -0
- package/lib/browser/mcp/tools/components/index.module.less +1 -0
- package/lib/browser/mcp/tools/createNewFileWithText.d.ts.map +1 -1
- package/lib/browser/mcp/tools/createNewFileWithText.js +1 -0
- package/lib/browser/mcp/tools/createNewFileWithText.js.map +1 -1
- package/lib/browser/mcp/tools/fileSearch.d.ts +1 -0
- package/lib/browser/mcp/tools/fileSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/fileSearch.js +14 -5
- package/lib/browser/mcp/tools/fileSearch.js.map +1 -1
- package/lib/browser/mcp/tools/getDiagnosticsByPath.d.ts.map +1 -1
- package/lib/browser/mcp/tools/getDiagnosticsByPath.js +1 -0
- package/lib/browser/mcp/tools/getDiagnosticsByPath.js.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.d.ts.map +1 -1
- package/lib/browser/mcp/tools/grepSearch.js +6 -3
- package/lib/browser/mcp/tools/grepSearch.js.map +1 -1
- package/lib/browser/mcp/tools/handlers/ListDir.d.ts +1 -0
- package/lib/browser/mcp/tools/handlers/ListDir.d.ts.map +1 -1
- package/lib/browser/mcp/tools/handlers/ListDir.js +3 -0
- package/lib/browser/mcp/tools/handlers/ListDir.js.map +1 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.d.ts.map +1 -1
- package/lib/browser/mcp/tools/handlers/RunCommand.js +2 -0
- package/lib/browser/mcp/tools/handlers/RunCommand.js.map +1 -1
- package/lib/browser/mcp/tools/listDir.d.ts +1 -0
- package/lib/browser/mcp/tools/listDir.d.ts.map +1 -1
- package/lib/browser/mcp/tools/listDir.js +35 -4
- package/lib/browser/mcp/tools/listDir.js.map +1 -1
- package/lib/browser/mcp/tools/runTerminalCmd.d.ts.map +1 -1
- package/lib/browser/mcp/tools/runTerminalCmd.js +1 -0
- package/lib/browser/mcp/tools/runTerminalCmd.js.map +1 -1
- package/lib/browser/preferences/schema.d.ts.map +1 -1
- package/lib/browser/preferences/schema.js +0 -1
- package/lib/browser/preferences/schema.js.map +1 -1
- package/lib/common/llm-context.d.ts +13 -9
- package/lib/common/llm-context.d.ts.map +1 -1
- package/lib/common/llm-context.js.map +1 -1
- package/lib/common/prompts/context-prompt-provider.d.ts +4 -3
- package/lib/common/prompts/context-prompt-provider.d.ts.map +1 -1
- package/lib/common/prompts/context-prompt-provider.js +33 -22
- package/lib/common/prompts/context-prompt-provider.js.map +1 -1
- package/lib/node/base-language-model.d.ts +1 -1
- package/lib/node/base-language-model.d.ts.map +1 -1
- package/lib/node/base-language-model.js +3 -3
- package/lib/node/base-language-model.js.map +1 -1
- package/package.json +23 -23
- package/src/browser/ai-core.contribution.ts +27 -26
- package/src/browser/chat/chat-agent.service.ts +38 -7
- package/src/browser/chat/chat-model.ts +11 -6
- package/src/browser/chat/chat-proxy.service.ts +4 -2
- package/src/browser/chat/chat.module.less +1 -2
- package/src/browser/chat/chat.view.tsx +7 -70
- package/src/browser/components/ChatContext/index.tsx +2 -2
- package/src/browser/components/ChatInput.tsx +67 -3
- package/src/browser/components/ChatToolRender.tsx +1 -2
- package/src/browser/components/chat-history.module.less +1 -1
- package/src/browser/components/components.module.less +20 -0
- package/src/browser/context/llm-context.service.ts +93 -54
- package/src/browser/layout/layout.module.less +4 -4
- package/src/browser/mcp/tools/components/ExpandableFileList.tsx +133 -0
- package/src/browser/mcp/tools/components/index.module.less +1 -0
- package/src/browser/mcp/tools/createNewFileWithText.ts +1 -0
- package/src/browser/mcp/tools/fileSearch.ts +14 -4
- package/src/browser/mcp/tools/getDiagnosticsByPath.ts +1 -0
- package/src/browser/mcp/tools/grepSearch.ts +6 -3
- package/src/browser/mcp/tools/handlers/ListDir.ts +4 -0
- package/src/browser/mcp/tools/handlers/RunCommand.ts +2 -0
- package/src/browser/mcp/tools/listDir.ts +36 -5
- package/src/browser/mcp/tools/runTerminalCmd.ts +1 -0
- package/src/browser/preferences/schema.ts +0 -1
- package/src/common/llm-context.ts +10 -4
- package/src/common/prompts/context-prompt-provider.ts +38 -29
- package/src/node/base-language-model.ts +3 -1
- package/lib/browser/mcp/tools/components/SearchResult.d.ts +0 -11
- package/lib/browser/mcp/tools/components/SearchResult.d.ts.map +0 -1
- package/lib/browser/mcp/tools/components/SearchResult.js.map +0 -1
- package/src/browser/mcp/tools/components/SearchResult.tsx +0 -92
|
@@ -17,6 +17,7 @@ let RunTerminalCommandTool = class RunTerminalCommandTool {
|
|
|
17
17
|
getToolDefinition() {
|
|
18
18
|
return {
|
|
19
19
|
name: 'run_terminal_cmd',
|
|
20
|
+
label: 'Run Command',
|
|
20
21
|
description: "PROPOSE a command to run on behalf of the user.\nIf you have this tool, note that you DO have the ability to run commands directly on the USER's system.\n\nAdhere to these rules:\n1. Based on the contents of the conversation, you will be told if you are in the same shell as a previous step or a new shell.\n2. If in a new shell, you should `cd` to the right directory and do necessary setup in addition to running the command.\n3. If in the same shell, the state will persist, no need to do things like `cd` to the same directory.\n4. For ANY commands that would use a pager, you should append ` | cat` to the command (or whatever is appropriate). You MUST do this for: git, less, head, tail, more, etc.\n5. For commands that are long running/expected to run indefinitely until interruption, please run them in the background. To run jobs in the background, set `is_background` to true rather than changing the details of the command.\n6. Dont include any newlines in the command.",
|
|
21
22
|
inputSchema: RunCommand_1.inputSchema,
|
|
22
23
|
handler: this.handler.bind(this),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTerminalCmd.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/runTerminalCmd.ts"],"names":[],"mappings":";;;;AAEA,qCAAyC;AACzC,iEAAuD;AACvD,+DAA6D;AAC7D,kFAAmH;AAEnH,uCAAsG;AAEtG,oDAA8D;AAC9D,sDAAuE;AAGhE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAajC,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,gCAAqB,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,WAAW,EACT,u9BAAu9B;YACz9B,WAAW,EAAX,wBAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAA0D,EAAE,MAAiB;QACjG,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"runTerminalCmd.js","sourceRoot":"","sources":["../../../../src/browser/mcp/tools/runTerminalCmd.ts"],"names":[],"mappings":";;;;AAEA,qCAAyC;AACzC,iEAAuD;AACvD,+DAA6D;AAC7D,kFAAmH;AAEnH,uCAAsG;AAEtG,oDAA8D;AAC9D,sDAAuE;AAGhE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAajC,iBAAiB,CAAC,QAA4B;QAC5C,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,gCAAqB,CAAC,CAAC;IAC5E,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,KAAK,EAAE,aAAa;YACpB,WAAW,EACT,u9BAAu9B;YACz9B,WAAW,EAAX,wBAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;SACjC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,IAA0D,EAAE,MAAiB;QACjG,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;CACF,CAAA;AAhCY,wDAAsB;AAEd;IADlB,IAAA,cAAS,EAAC,gCAAmB,CAAC;;kEAC4B;AAGxC;IADlB,IAAA,cAAS,EAAC,4BAAS,CAAC;;yDACmB;AAGrB;IADlB,IAAA,cAAS,EAAC,sCAAyB,CAAC;;4DACsB;AAG1C;IADhB,IAAA,cAAS,EAAC,8BAAiB,CAAC;sCACO,8BAAiB;iEAAC;iCAX3C,sBAAsB;IADlC,IAAA,wBAAM,EAAC,6BAAqB,CAAC;GACjB,sBAAsB,CAgClC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKzF,oBAAY,sBAAsB;IAChC,UAAU,eAAe;IACzB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAKzF,oBAAY,sBAAsB;IAChC,UAAU,eAAe;IACzB,UAAU,eAAe;CAC1B;AAED,eAAO,MAAM,wBAAwB,EAAE,gBAoJtC,CAAC"}
|
|
@@ -154,7 +154,6 @@ exports.aiNativePreferenceSchema = {
|
|
|
154
154
|
},
|
|
155
155
|
[ide_core_browser_1.AINativeSettingSectionsId.SystemPrompt]: {
|
|
156
156
|
type: 'string',
|
|
157
|
-
default: '',
|
|
158
157
|
description: (0, ide_core_common_1.localize)('preference.ai.native.chat.system.prompt.description'),
|
|
159
158
|
},
|
|
160
159
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/browser/preferences/schema.ts"],"names":[],"mappings":";;;AAAA,iEAAyF;AACzF,+DAAqD;AAErD,gFAAyE;AAEzE,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,mDAAyB,CAAA;IACzB,mDAAyB,CAAA;AAC3B,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC;AAEY,QAAA,wBAAwB,GAAqB;IACxD,UAAU,EAAE;QACV,CAAC,4CAAyB,CAAC,qBAAqB,CAAC,EAAE;YACjD,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC;YAC5E,gBAAgB,EAAE;gBAChB,IAAA,0BAAQ,EAAC,yDAAyD,CAAC;gBACnE,IAAA,0BAAQ,EAAC,yDAAyD,CAAC;aACpE;YACD,OAAO,EAAE,sBAAsB,CAAC,UAAU;SAC3C;QACD,CAAC,4CAAyB,CAAC,qBAAqB,CAAC,EAAE;YACjD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,CAAC,4CAAyB,CAAC,2BAA2B,CAAC,EAAE;YACvD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,CAAC,4CAAyB,CAAC,+BAA+B,CAAC,EAAE;YAC3D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,CAAC,4CAAyB,CAAC,eAAe,CAAC,EAAE;YAC3C,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC;YACpC,OAAO,EAAE,SAAS;SACnB;QACD,CAAC,4CAAyB,CAAC,8CAA8C,CAAC,EAAE;YAC1E,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,CAAC,4CAAyB,CAAC,kCAAkC,CAAC,EAAE;YAC9D,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;SACb;QACD,CAAC,4CAAyB,CAAC,kCAAkC,CAAC,EAAE;YAC9D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACd;QACD,CAAC,4CAAyB,CAAC,mCAAmC,CAAC,EAAE;YAC/D,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,CAAC,4CAAyB,CAAC,mBAAmB,CAAC,EAAE;YAC/C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,CAAC,4CAAyB,CAAC,mBAAmB,CAAC,EAAE;YAC/C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,CAAC,4CAAyB,CAAC,mBAAmB,CAAC,EAAE;YAC/C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,6CAAmB,CAAC,OAAO;YACpC,IAAI,EAAE,CAAC,6CAAmB,CAAC,MAAM,EAAE,6CAAmB,CAAC,OAAO,CAAC;YAC/D,WAAW,EAAE,IAAA,0BAAQ,EAAC,2CAA2C,CAAC;SACnE;QACD,CAAC,4CAAyB,CAAC,iBAAiB,CAAC,EAAE;YAC7C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,CAAC;YAC9D,WAAW,EAAE,IAAA,0BAAQ,EAAC,sDAAsD,CAAC;SAC9E;QACD,CAAC,4CAAyB,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,IAAA,0BAAQ,EAAC,mCAAmC,CAAC;SAC3D;QACD,CAAC,4CAAyB,CAAC,cAAc,CAAC,EAAE;YAC1C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,kDAAkD,CAAC;SAC1E;QACD,CAAC,4CAAyB,CAAC,eAAe,CAAC,EAAE;YAC3C,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,mDAAmD,CAAC;SAC3E;QACD,CAAC,4CAAyB,CAAC,YAAY,CAAC,EAAE;YACxC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,gDAAgD,CAAC;SACxE;QACD,CAAC,4CAAyB,CAAC,aAAa,CAAC,EAAE;YACzC,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,iDAAiD,CAAC;SACzE;QACD,CAAC,4CAAyB,CAAC,UAAU,CAAC,EAAE;YACtC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,8CAA8C,CAAC;YACrE,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;gBACrC,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,IAAA,0BAAQ,EAAC,mDAAmD,CAAC;qBAC3E;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,IAAA,0BAAQ,EAAC,sDAAsD,CAAC;qBAC9E;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;wBACtB,gBAAgB,EAAE;4BAChB,IAAA,0BAAQ,EAAC,6CAA6C,CAAC;4BACvD,IAAA,0BAAQ,EAAC,2CAA2C,CAAC;yBACtD;wBACD,WAAW,EAAE,IAAA,0BAAQ,EAAC,mDAAmD,CAAC;wBAC1E,OAAO,EAAE,OAAO;qBACjB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,IAAA,0BAAQ,EAAC,sDAAsD,CAAC;wBAC7E,OAAO,EAAE,IAAI;qBACd;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;yBACf;wBACD,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,IAAA,0BAAQ,EAAC,mDAAmD,CAAC;qBAC3E;oBACD,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,oBAAoB,EAAE;4BACpB,IAAI,EAAE,QAAQ;yBACf;wBACD,WAAW,EAAE,IAAA,0BAAQ,EAAC,kDAAkD,CAAC;wBACzE,OAAO,EAAE,EAAE;qBACZ;iBACF;aACF;SACF;QACD,CAAC,4CAAyB,CAAC,eAAe,CAAC,EAAE;YAC3C,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACf;QACD,CAAC,4CAAyB,CAAC,YAAY,CAAC,EAAE;YACxC,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,IAAA,0BAAQ,EAAC,qDAAqD,CAAC;SAC7E;KACF;CACF,CAAC"}
|
|
@@ -10,28 +10,32 @@ export interface LLMContextService {
|
|
|
10
10
|
* 清除上下文
|
|
11
11
|
*/
|
|
12
12
|
cleanFileContext(): void;
|
|
13
|
-
onDidContextFilesChangeEvent: Event<
|
|
13
|
+
onDidContextFilesChangeEvent: Event<{
|
|
14
|
+
viewed: FileContext[];
|
|
15
|
+
attached: FileContext[];
|
|
16
|
+
version: number;
|
|
17
|
+
}>;
|
|
14
18
|
/**
|
|
15
19
|
* 从 context 中移除文件
|
|
16
20
|
* @param uri URI
|
|
17
21
|
*/
|
|
18
|
-
removeFileFromContext(uri: URI): void;
|
|
22
|
+
removeFileFromContext(uri: URI, isManual?: boolean): void;
|
|
19
23
|
/** 导出为可序列化格式 */
|
|
20
24
|
serialize(): SerializedContext;
|
|
21
25
|
}
|
|
22
26
|
export interface FileContext {
|
|
23
27
|
uri: URI;
|
|
24
28
|
selection?: [number, number];
|
|
25
|
-
isManual: boolean;
|
|
26
29
|
}
|
|
27
30
|
export declare const LLMContextServiceToken: unique symbol;
|
|
31
|
+
export interface AttachFileContext {
|
|
32
|
+
content: string;
|
|
33
|
+
lineErrors: string[];
|
|
34
|
+
path: string;
|
|
35
|
+
language: string;
|
|
36
|
+
}
|
|
28
37
|
export interface SerializedContext {
|
|
29
38
|
recentlyViewFiles: string[];
|
|
30
|
-
attachedFiles: Array<
|
|
31
|
-
content: string;
|
|
32
|
-
lineErrors: string[];
|
|
33
|
-
path: string;
|
|
34
|
-
language: string;
|
|
35
|
-
}>;
|
|
39
|
+
attachedFiles: Array<AttachFileContext>;
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=llm-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,IAAI,CAAC;IAE5B,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB,4BAA4B,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-context.d.ts","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,IAAI,IAAI,CAAC;IAE5B,kBAAkB,IAAI,IAAI,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAEnF;;OAEG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB,4BAA4B,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEzG;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAE1D,gBAAgB;IAChB,SAAS,IAAI,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,sBAAsB,eAA8B,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;CACzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"llm-context.js","sourceRoot":"","sources":["../../src/common/llm-context.ts"],"names":[],"mappings":";;;AAkCa,QAAA,sBAAsB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WorkbenchEditorService } from '@opensumi/ide-editor/lib/common/editor';
|
|
2
2
|
import { SerializedContext } from '../llm-context';
|
|
3
3
|
export declare const ChatAgentPromptProvider: unique symbol;
|
|
4
4
|
export interface ChatAgentPromptProvider {
|
|
@@ -6,9 +6,10 @@ export interface ChatAgentPromptProvider {
|
|
|
6
6
|
* 提供上下文提示
|
|
7
7
|
* @param context 上下文
|
|
8
8
|
*/
|
|
9
|
-
provideContextPrompt(context: SerializedContext, userMessage: string):
|
|
9
|
+
provideContextPrompt(context: SerializedContext, userMessage: string): string;
|
|
10
10
|
}
|
|
11
11
|
export declare class DefaultChatAgentPromptProvider implements ChatAgentPromptProvider {
|
|
12
|
-
|
|
12
|
+
protected readonly workbenchEditorService: WorkbenchEditorService;
|
|
13
|
+
provideContextPrompt(context: SerializedContext, userMessage: string): string;
|
|
13
14
|
}
|
|
14
15
|
//# sourceMappingURL=context-prompt-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"context-prompt-provider.d.ts","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/E;AAED,qBACa,8BAA+B,YAAW,uBAAuB;IAE5E,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;CAkC9E"}
|
|
@@ -3,35 +3,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DefaultChatAgentPromptProvider = exports.ChatAgentPromptProvider = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const di_1 = require("@opensumi/di");
|
|
6
|
+
const editor_1 = require("@opensumi/ide-editor/lib/common/editor");
|
|
6
7
|
exports.ChatAgentPromptProvider = Symbol('ChatAgentPromptProvider');
|
|
7
8
|
let DefaultChatAgentPromptProvider = class DefaultChatAgentPromptProvider {
|
|
8
9
|
provideContextPrompt(context, userMessage) {
|
|
10
|
+
const editor = this.workbenchEditorService.currentEditor;
|
|
11
|
+
const currentModel = editor === null || editor === void 0 ? void 0 : editor.currentDocumentModel;
|
|
9
12
|
return `
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
13
|
+
<additional_data>
|
|
14
|
+
Below are some potentially helpful/relevant pieces of information for figuring out to respond
|
|
15
|
+
<recently_viewed_files>
|
|
16
|
+
${context.recentlyViewFiles.map((file, idx) => ` ${idx + 1}: ${file}`).join('\n')}
|
|
17
|
+
</recently_viewed_files>
|
|
18
|
+
<attached_files>
|
|
19
|
+
${context.attachedFiles.map((file) => `
|
|
20
|
+
<file_contents>
|
|
21
|
+
\`\`\`${file.path}
|
|
22
|
+
${file.content}
|
|
23
|
+
\`\`\`
|
|
24
|
+
</file_contents>
|
|
25
|
+
<linter_errors>
|
|
26
|
+
${file.lineErrors.join('\n')}
|
|
27
|
+
</linter_errors>
|
|
28
|
+
`)}
|
|
29
|
+
</attached_files>
|
|
30
|
+
${currentModel ? `<current_opened_file>
|
|
31
|
+
\`\`\`${currentModel.languageId} ${currentModel.uri.toString()}
|
|
32
|
+
${currentModel.getText()}
|
|
33
|
+
\`\`\`
|
|
34
|
+
</current_opened_file>` : ''}
|
|
35
|
+
</additional_data>
|
|
36
|
+
<user_query>
|
|
37
|
+
${userMessage}
|
|
38
|
+
</user_query>`;
|
|
32
39
|
}
|
|
33
40
|
};
|
|
34
41
|
exports.DefaultChatAgentPromptProvider = DefaultChatAgentPromptProvider;
|
|
42
|
+
tslib_1.__decorate([
|
|
43
|
+
(0, di_1.Autowired)(editor_1.WorkbenchEditorService),
|
|
44
|
+
tslib_1.__metadata("design:type", editor_1.WorkbenchEditorService)
|
|
45
|
+
], DefaultChatAgentPromptProvider.prototype, "workbenchEditorService", void 0);
|
|
35
46
|
exports.DefaultChatAgentPromptProvider = DefaultChatAgentPromptProvider = tslib_1.__decorate([
|
|
36
47
|
(0, di_1.Injectable)()
|
|
37
48
|
], DefaultChatAgentPromptProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-prompt-provider.js","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"context-prompt-provider.js","sourceRoot":"","sources":["../../../src/common/prompts/context-prompt-provider.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,mEAAgF;AAInE,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAWlE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAIzC,oBAAoB,CAAC,OAA0B,EAAE,WAAmB;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;QACzD,MAAM,YAAY,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,oBAAoB,CAAC;QAClD,OAAO;;;;EAIT,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;MAG9E,OAAO,CAAC,aAAa,CAAC,GAAG,CACzB,CAAC,IAAI,EAAE,EAAE,CACP;;YAEI,IAAI,CAAC,IAAI;MACf,IAAI,CAAC,OAAO;;;;MAIZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;;eAEjB,CACV;;EAEH,YAAY,CAAC,CAAC,CAAC;UACP,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;EAC9D,YAAY,CAAC,OAAO,EAAE;;yBAEC,CAAC,CAAC,CAAC,EAAE;;;EAG5B,WAAW;cACC,CAAC;IACb,CAAC;CACF,CAAA;AAtCY,wEAA8B;AAEtB;IADlB,IAAA,cAAS,EAAC,+BAAsB,CAAC;sCACS,+BAAsB;8EAAC;yCAFvD,8BAA8B;IAD1C,IAAA,eAAU,GAAE;GACA,8BAA8B,CAsC1C"}
|
|
@@ -12,6 +12,6 @@ export declare abstract class BaseLanguageModel {
|
|
|
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?: IChatMessage[], modelId?: string, providerOptions?: Record<string, any>, trimTexts?: [string, string], cancellationToken?: CancellationToken): Promise<any>;
|
|
15
|
+
protected handleStreamingRequest(provider: any, request: string, tools: ToolRequest[], chatReadableStream: ChatReadableStream, history?: IChatMessage[], modelId?: string, providerOptions?: Record<string, any>, trimTexts?: [string, string], systemPrompt?: string, 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":"AAGA,OAAO,EAAmB,oBAAoB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAChG,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;IAEzE,OAAO,CAAC,sBAAsB;IAexB,OAAO,CACX,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"base-language-model.d.ts","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,oBAAoB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAChG,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;IAEzE,OAAO,CAAC,sBAAsB;IAexB,OAAO,CACX,OAAO,EAAE,MAAM,EACf,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,oBAAoB,EAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC;IAyBf,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,YAAY,EAAO,EAC5B,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,iBAAiB,CAAC,EAAE,iBAAiB,GACpC,OAAO,CAAC,GAAG,CAAC;CAsJhB"}
|
|
@@ -29,7 +29,7 @@ let BaseLanguageModel = class BaseLanguageModel {
|
|
|
29
29
|
const registry = this.toolInvocationRegistryManager.getRegistry(clientId);
|
|
30
30
|
allFunctions = options.noTool ? [] : registry.getAllFunctions();
|
|
31
31
|
}
|
|
32
|
-
return this.handleStreamingRequest(provider, request, allFunctions, chatReadableStream, options.history || [], options.modelId, options.providerOptions, options.trimTexts, cancellationToken);
|
|
32
|
+
return this.handleStreamingRequest(provider, request, allFunctions, chatReadableStream, options.history || [], options.modelId, options.providerOptions, options.trimTexts, options.system, cancellationToken);
|
|
33
33
|
}
|
|
34
34
|
convertToolRequestToAITool(toolRequest) {
|
|
35
35
|
return (0, ai_1.tool)({
|
|
@@ -39,7 +39,7 @@ let BaseLanguageModel = class BaseLanguageModel {
|
|
|
39
39
|
execute: async (args, options) => await toolRequest.handler(JSON.stringify(args), options),
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
async handleStreamingRequest(provider, request, tools, chatReadableStream, history = [], modelId, providerOptions, trimTexts, cancellationToken) {
|
|
42
|
+
async handleStreamingRequest(provider, request, tools, chatReadableStream, history = [], modelId, providerOptions, trimTexts, systemPrompt, cancellationToken) {
|
|
43
43
|
try {
|
|
44
44
|
const aiTools = Object.fromEntries(tools.map((tool) => [tool.name, this.convertToolRequestToAITool(tool)]));
|
|
45
45
|
const abortController = new AbortController();
|
|
@@ -58,7 +58,6 @@ let BaseLanguageModel = class BaseLanguageModel {
|
|
|
58
58
|
const modelInfo = modelId ? this.getModelInfo(modelId) : undefined;
|
|
59
59
|
const stream = (0, ai_1.streamText)({
|
|
60
60
|
model: this.getModelIdentifier(provider, modelId),
|
|
61
|
-
maxTokens: 4096,
|
|
62
61
|
tools: aiTools,
|
|
63
62
|
messages,
|
|
64
63
|
abortSignal: abortController.signal,
|
|
@@ -67,6 +66,7 @@ let BaseLanguageModel = class BaseLanguageModel {
|
|
|
67
66
|
temperature: (modelInfo === null || modelInfo === void 0 ? void 0 : modelInfo.temperature) || 0,
|
|
68
67
|
topP: (modelInfo === null || modelInfo === void 0 ? void 0 : modelInfo.topP) || 0.8,
|
|
69
68
|
topK: (modelInfo === null || modelInfo === void 0 ? void 0 : modelInfo.topK) || 1,
|
|
69
|
+
system: systemPrompt,
|
|
70
70
|
providerOptions,
|
|
71
71
|
});
|
|
72
72
|
// 状态跟踪变量
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-language-model.js","sourceRoot":"","sources":["../../src/node/base-language-model.ts"],"names":[],"mappings":"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
|
|
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-1741092802.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-1741092802.0",
|
|
28
|
+
"@opensumi/ide-components": "3.8.1-next-1741092802.0",
|
|
29
|
+
"@opensumi/ide-connection": "3.8.1-next-1741092802.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.1-next-1741092802.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.1-next-1741092802.0",
|
|
32
|
+
"@opensumi/ide-debug": "3.8.1-next-1741092802.0",
|
|
33
|
+
"@opensumi/ide-design": "3.8.1-next-1741092802.0",
|
|
34
|
+
"@opensumi/ide-editor": "3.8.1-next-1741092802.0",
|
|
35
|
+
"@opensumi/ide-file-search": "3.8.1-next-1741092802.0",
|
|
36
|
+
"@opensumi/ide-file-service": "3.8.1-next-1741092802.0",
|
|
37
|
+
"@opensumi/ide-main-layout": "3.8.1-next-1741092802.0",
|
|
38
|
+
"@opensumi/ide-markers": "3.8.1-next-1741092802.0",
|
|
39
|
+
"@opensumi/ide-monaco": "3.8.1-next-1741092802.0",
|
|
40
|
+
"@opensumi/ide-overlay": "3.8.1-next-1741092802.0",
|
|
41
|
+
"@opensumi/ide-preferences": "3.8.1-next-1741092802.0",
|
|
42
|
+
"@opensumi/ide-search": "3.8.1-next-1741092802.0",
|
|
43
|
+
"@opensumi/ide-terminal-next": "3.8.1-next-1741092802.0",
|
|
44
|
+
"@opensumi/ide-theme": "3.8.1-next-1741092802.0",
|
|
45
|
+
"@opensumi/ide-utils": "3.8.1-next-1741092802.0",
|
|
46
|
+
"@opensumi/ide-workspace": "3.8.1-next-1741092802.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-1741092802.0"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "7dc1c6d485b184de145a648f66959aa243447ea3"
|
|
64
64
|
}
|
|
@@ -339,7 +339,8 @@ export class AINativeBrowserContribution
|
|
|
339
339
|
|
|
340
340
|
onDidStart() {
|
|
341
341
|
runWhenIdle(() => {
|
|
342
|
-
const { supportsRenameSuggestions, supportsInlineChat, supportsMCP } =
|
|
342
|
+
const { supportsRenameSuggestions, supportsInlineChat, supportsMCP, supportsCustomLLMSettings } =
|
|
343
|
+
this.aiNativeConfigService.capabilities;
|
|
343
344
|
const prefChatVisibleType = this.preferenceService.getValid(AINativeSettingSectionsId.ChatVisibleType);
|
|
344
345
|
|
|
345
346
|
if (prefChatVisibleType === 'always') {
|
|
@@ -356,30 +357,7 @@ export class AINativeBrowserContribution
|
|
|
356
357
|
this.codeActionSingleHandler.load();
|
|
357
358
|
}
|
|
358
359
|
|
|
359
|
-
if (
|
|
360
|
-
this.initMCPServers();
|
|
361
|
-
}
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
private initMCPServers() {
|
|
366
|
-
// 从 preferences 获取并初始化外部 MCP Servers
|
|
367
|
-
const mcpServers = this.preferenceService.getValid<MCPServerDescription[]>(AINativeSettingSectionsId.MCPServers);
|
|
368
|
-
|
|
369
|
-
// 查找内置 MCP Server 的配置
|
|
370
|
-
const builtinServer = mcpServers?.find((server) => server.name === BUILTIN_MCP_SERVER_NAME);
|
|
371
|
-
|
|
372
|
-
// 总是初始化内置服务器,根据配置决定是否启用
|
|
373
|
-
this.sumiMCPServerBackendProxy.initBuiltinMCPServer(builtinServer?.enabled ?? true);
|
|
374
|
-
|
|
375
|
-
// 初始化其他外部 MCP Servers
|
|
376
|
-
if (mcpServers && mcpServers.length > 0) {
|
|
377
|
-
const externalServers = mcpServers.filter((server) => server.name !== BUILTIN_MCP_SERVER_NAME);
|
|
378
|
-
if (externalServers.length > 0) {
|
|
379
|
-
this.sumiMCPServerBackendProxy.initExternalMCPServers(externalServers);
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
if (this.aiNativeConfigService.capabilities.supportsCustomLLMSettings) {
|
|
360
|
+
if (supportsCustomLLMSettings) {
|
|
383
361
|
this.preferenceService.onSpecificPreferenceChange(AINativeSettingSectionsId.LLMModelSelection, (change) => {
|
|
384
362
|
const model = this.getModelByName(change.newValue);
|
|
385
363
|
const modelIds = model ? Object.keys(model) : [];
|
|
@@ -405,6 +383,29 @@ export class AINativeBrowserContribution
|
|
|
405
383
|
);
|
|
406
384
|
});
|
|
407
385
|
}
|
|
386
|
+
|
|
387
|
+
if (supportsMCP) {
|
|
388
|
+
this.initMCPServers();
|
|
389
|
+
}
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
private initMCPServers() {
|
|
394
|
+
// 从 preferences 获取并初始化外部 MCP Servers
|
|
395
|
+
const mcpServers = this.preferenceService.getValid<MCPServerDescription[]>(AINativeSettingSectionsId.MCPServers);
|
|
396
|
+
|
|
397
|
+
// 查找内置 MCP Server 的配置
|
|
398
|
+
const builtinServer = mcpServers?.find((server) => server.name === BUILTIN_MCP_SERVER_NAME);
|
|
399
|
+
|
|
400
|
+
// 总是初始化内置服务器,根据配置决定是否启用
|
|
401
|
+
this.sumiMCPServerBackendProxy.initBuiltinMCPServer(builtinServer?.enabled ?? true);
|
|
402
|
+
|
|
403
|
+
// 初始化其他外部 MCP Servers
|
|
404
|
+
if (mcpServers && mcpServers.length > 0) {
|
|
405
|
+
const externalServers = mcpServers.filter((server) => server.name !== BUILTIN_MCP_SERVER_NAME);
|
|
406
|
+
if (externalServers.length > 0) {
|
|
407
|
+
this.sumiMCPServerBackendProxy.initExternalMCPServers(externalServers);
|
|
408
|
+
}
|
|
408
409
|
}
|
|
409
410
|
}
|
|
410
411
|
|
|
@@ -604,7 +605,7 @@ export class AINativeBrowserContribution
|
|
|
604
605
|
id: INLINE_DIFF_MANAGER_WIDGET_ID,
|
|
605
606
|
component: InlineDiffManager,
|
|
606
607
|
displaysOnResource: (resource) => {
|
|
607
|
-
if (this.applyService.getUriPendingCodeBlock(resource.uri)) {
|
|
608
|
+
if (this.injector.hasInstance(BaseApplyService) && this.applyService.getUriPendingCodeBlock(resource.uri)) {
|
|
608
609
|
return true;
|
|
609
610
|
}
|
|
610
611
|
return false;
|
|
@@ -4,16 +4,15 @@ import { Autowired, Injectable } from '@opensumi/di';
|
|
|
4
4
|
import {
|
|
5
5
|
CancellationToken,
|
|
6
6
|
ChatFeatureRegistryToken,
|
|
7
|
+
ChatMessageRole,
|
|
7
8
|
ChatServiceToken,
|
|
8
9
|
Disposable,
|
|
9
10
|
Emitter,
|
|
10
|
-
IChatContent,
|
|
11
11
|
IChatProgress,
|
|
12
12
|
IDisposable,
|
|
13
13
|
ILogger,
|
|
14
14
|
toDisposable,
|
|
15
15
|
} from '@opensumi/ide-core-common';
|
|
16
|
-
import { ChatMessageRole } from '@opensumi/ide-core-common';
|
|
17
16
|
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
18
17
|
|
|
19
18
|
import {
|
|
@@ -26,6 +25,8 @@ import {
|
|
|
26
25
|
IChatFollowup,
|
|
27
26
|
IChatMessageStructure,
|
|
28
27
|
} from '../../common';
|
|
28
|
+
import { LLMContextService, LLMContextServiceToken } from '../../common/llm-context';
|
|
29
|
+
import { ChatAgentPromptProvider } from '../../common/prompts/context-prompt-provider';
|
|
29
30
|
import { IChatFeatureRegistry } from '../types';
|
|
30
31
|
|
|
31
32
|
import { ChatService } from './chat.api.service';
|
|
@@ -36,6 +37,12 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
36
37
|
|
|
37
38
|
private defaultAgentId: string | undefined;
|
|
38
39
|
|
|
40
|
+
private initialUserMessageMap: Map<string, string> = new Map();
|
|
41
|
+
|
|
42
|
+
private shouldUpdateContext = false;
|
|
43
|
+
|
|
44
|
+
private contextVersion: number;
|
|
45
|
+
|
|
39
46
|
private readonly _onDidChangeAgents = new Emitter<void>();
|
|
40
47
|
readonly onDidChangeAgents = this._onDidChangeAgents.event;
|
|
41
48
|
|
|
@@ -45,6 +52,12 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
45
52
|
@Autowired(ILogger)
|
|
46
53
|
logger: ILogger;
|
|
47
54
|
|
|
55
|
+
@Autowired(LLMContextServiceToken)
|
|
56
|
+
protected readonly contextService: LLMContextService;
|
|
57
|
+
|
|
58
|
+
@Autowired(ChatAgentPromptProvider)
|
|
59
|
+
protected readonly promptProvider: ChatAgentPromptProvider;
|
|
60
|
+
|
|
48
61
|
@Autowired(ChatServiceToken)
|
|
49
62
|
private aiChatService: ChatService;
|
|
50
63
|
|
|
@@ -54,6 +67,12 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
54
67
|
constructor() {
|
|
55
68
|
super();
|
|
56
69
|
this.addDispose(this._onDidChangeAgents);
|
|
70
|
+
this.addDispose(this.contextService.onDidContextFilesChangeEvent((event) => {
|
|
71
|
+
if (event.version !== this.contextVersion) {
|
|
72
|
+
this.contextVersion = event.version;
|
|
73
|
+
this.shouldUpdateContext = true;
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
57
76
|
}
|
|
58
77
|
|
|
59
78
|
registerAgent(agent: IChatAgent): IDisposable {
|
|
@@ -120,17 +139,29 @@ export class ChatAgentService extends Disposable implements IChatAgentService {
|
|
|
120
139
|
if (!data) {
|
|
121
140
|
throw new Error(`No agent with id ${id}`);
|
|
122
141
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
142
|
+
|
|
143
|
+
// 发送第一条消息时携带初始 context
|
|
144
|
+
if (!this.initialUserMessageMap.has(request.sessionId)) {
|
|
145
|
+
this.initialUserMessageMap.set(request.sessionId, request.message);
|
|
146
|
+
const rawMessage = request.message;
|
|
147
|
+
request.message = this.provideContextMessage(rawMessage);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (this.shouldUpdateContext) {
|
|
151
|
+
request.message = this.provideContextMessage(request.message);
|
|
152
|
+
this.shouldUpdateContext = false;
|
|
128
153
|
}
|
|
129
154
|
|
|
130
155
|
const result = await data.agent.invoke(request, progress, history, token);
|
|
131
156
|
return result;
|
|
132
157
|
}
|
|
133
158
|
|
|
159
|
+
private provideContextMessage(message: string) {
|
|
160
|
+
const context = this.contextService.serialize();
|
|
161
|
+
const fullMessage = this.promptProvider.provideContextPrompt(context, message);
|
|
162
|
+
return fullMessage;
|
|
163
|
+
}
|
|
164
|
+
|
|
134
165
|
populateChatInput(id: string, message: IChatMessageStructure) {
|
|
135
166
|
this.aiChatService.sendMessage({
|
|
136
167
|
...message,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Injectable } from '@opensumi/di';
|
|
2
2
|
import {
|
|
3
3
|
Disposable,
|
|
4
4
|
Emitter,
|
|
@@ -8,8 +8,6 @@ import {
|
|
|
8
8
|
IChatProgress,
|
|
9
9
|
IChatToolContent,
|
|
10
10
|
IChatTreeData,
|
|
11
|
-
ILogger,
|
|
12
|
-
memoize,
|
|
13
11
|
uuid,
|
|
14
12
|
} from '@opensumi/ide-core-common';
|
|
15
13
|
import { MarkdownString, isMarkdownString } from '@opensumi/monaco-editor-core/esm/vs/base/common/htmlContent';
|
|
@@ -274,13 +272,18 @@ export class ChatRequestModel implements IChatRequestModel {
|
|
|
274
272
|
export class ChatModel extends Disposable implements IChatModel {
|
|
275
273
|
private static requestIdPool = 0;
|
|
276
274
|
|
|
277
|
-
constructor(initParams?: {
|
|
275
|
+
constructor(initParams?: {
|
|
276
|
+
sessionId?: string;
|
|
277
|
+
history?: MsgHistoryManager;
|
|
278
|
+
requests?: ChatRequestModel[];
|
|
279
|
+
}) {
|
|
278
280
|
super();
|
|
279
281
|
this.#sessionId = initParams?.sessionId ?? uuid();
|
|
280
282
|
this.history = initParams?.history ?? new MsgHistoryManager();
|
|
281
283
|
if (initParams?.requests) {
|
|
282
284
|
this.#requests = new Map(initParams.requests.map((r) => [r.requestId, r]));
|
|
283
285
|
}
|
|
286
|
+
|
|
284
287
|
}
|
|
285
288
|
|
|
286
289
|
#sessionId: string;
|
|
@@ -300,9 +303,11 @@ export class ChatModel extends Disposable implements IChatModel {
|
|
|
300
303
|
readonly history: MsgHistoryManager;
|
|
301
304
|
|
|
302
305
|
addRequest(message: IChatRequestMessage): ChatRequestModel {
|
|
306
|
+
const msg = message;
|
|
307
|
+
|
|
303
308
|
const requestId = `${this.sessionId}_request_${ChatModel.requestIdPool++}`;
|
|
304
|
-
const response = new ChatResponseModel(requestId, this,
|
|
305
|
-
const request = new ChatRequestModel(requestId, this,
|
|
309
|
+
const response = new ChatResponseModel(requestId, this, msg.agentId);
|
|
310
|
+
const request = new ChatRequestModel(requestId, this, msg, response);
|
|
306
311
|
|
|
307
312
|
this.#requests.set(requestId, request);
|
|
308
313
|
return request;
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
IAIReporter,
|
|
13
13
|
IApplicationService,
|
|
14
14
|
IChatProgress,
|
|
15
|
-
|
|
15
|
+
getOperatingSystemName,
|
|
16
16
|
} from '@opensumi/ide-core-common';
|
|
17
17
|
import { AINativeSettingSectionsId } from '@opensumi/ide-core-common/lib/settings/ai-native';
|
|
18
18
|
import { IChatMessage } from '@opensumi/ide-core-common/lib/types/ai-native';
|
|
@@ -92,7 +92,7 @@ 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
|
|
95
|
+
`\n\n<user_info>\nThe user's OS is ${getOperatingSystemName()}. The absolute path of the user's workspace is ${this.appConfig.workspaceDir}.\n</user_info>`,
|
|
96
96
|
},
|
|
97
97
|
invoke: async (
|
|
98
98
|
request: IChatAgentRequest,
|
|
@@ -130,6 +130,7 @@ export class ChatProxyService extends Disposable {
|
|
|
130
130
|
baseURL = this.preferenceService.get<string>(AINativeSettingSectionsId.OpenaiBaseURL, '');
|
|
131
131
|
}
|
|
132
132
|
const MAX_INPUT_TOKENS = 30720;
|
|
133
|
+
const agent = this.chatAgentService.getAgent(ChatProxyService.AGENT_ID);
|
|
133
134
|
const stream = await this.aiBackService.requestStream(
|
|
134
135
|
prompt,
|
|
135
136
|
{
|
|
@@ -141,6 +142,7 @@ export class ChatProxyService extends Disposable {
|
|
|
141
142
|
model,
|
|
142
143
|
modelId,
|
|
143
144
|
baseURL,
|
|
145
|
+
system: agent?.metadata.systemPrompt,
|
|
144
146
|
},
|
|
145
147
|
token,
|
|
146
148
|
);
|