@opensumi/cli-engine 3.8.3-next-1741940731.0 → 3.8.3-next-1741943877.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/browser.js +1 -1
- package/package.json +10 -10
package/lib/browser/browser.js
CHANGED
|
@@ -31034,7 +31034,7 @@ ${f.slice(1).join(`
|
|
|
31034
31034
|
`).find(T=>T.startsWith("@@"));let A=0,S=0;if(y){const[,,,T,D]=y.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);A=parseInt(T,10)-1,S=parseInt(D,10)-1}this.editorService.open(s.URI.file(s.path.join(this.appConfig.workspaceDir,a.relativePath)));const w=this.editorService.currentEditor;w&&w.setSelection(new _.Selection(A,0,S,0))}async processAll(a,b){var y;const A=b?(y=this.getUriCodeBlocks(b))===null||y===void 0?void 0:y.filter(D=>D.status==="pending"):this.getSessionCodeBlocks().filter(D=>D.status==="pending");if(!A?.length)throw new Error("No pending code block found");const S=b?[A[0].relativePath]:A.map(D=>D.relativePath).reduce((D,I)=>(D.includes(I)||D.push(I),D),[]),w=this.editorService.getAllOpenedUris(),T=S.filter(D=>!w.some(I=>I.codeUri.fsPath.endsWith(D))).map(D=>s.URI.file(s.path.join(this.appConfig.workspaceDir,D)));T.length&&await this.editorService.openUris(T),S.forEach(D=>{this.doProcess(a,D)}),A.forEach(D=>{D.status=a==="accept"?"success":"cancelled",this.updateCodeBlock(D)})}doProcess(a,b){var y,A;const S=(A=(y=this.activePreviewerMap.get(b))===null||y===void 0?void 0:y.getNode())===null||A===void 0?void 0:A.livePreviewDiffDecorationModel;if(!S)throw new Error("No active previewer found");a==="accept"?S.acceptUnProcessed():S.discardUnProcessed(),this.editorService.save(s.URI.file(s.path.join(this.appConfig.workspaceDir,b)))}listenPartialEdit(a,b){const y=new s.Deferred,A=a.uri.toString(),S=this.inlineDiffService.onPartialEdit(w=>{if(w.totalPartialEditCount===w.resolvedPartialEditCount&&w.uri.path===a.uri.path.toString()){if(w.acceptPartialEditCount>0){b.status="success";const T=a.getValue(),{diff:D,rangesFromDiffHunk:I}=this.getDiffResult(b.originalCode,T,b.relativePath),R=this.getDiagnosticInfos(a.uri.toString(),I);this.aiReporter.send({msgType:c.AIServiceType.Chat,actionType:c.ActionTypeEnum.Accept,actionSource:c.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!0,isDrop:w.acceptPartialEditCount!==w.totalPartialEditCount,code:T,originCode:b.originalCode,message:JSON.stringify({diff:D,diagnosticInfos:R,instructions:b.instructions,codeEdit:b.codeEdit,partialEditCount:w.totalPartialEditCount,acceptPartialEditCount:w.acceptPartialEditCount,addedLinesCount:w.totalAddedLinesCount,deletedLinesCount:w.totalDeletedLinesCount})}),y.resolve({diff:D,diagnosticInfos:R})}else b.status="cancelled",y.resolve(),this.aiReporter.send({msgType:c.AIServiceType.Chat,actionType:c.ActionTypeEnum.Discard,actionSource:c.ActionSourceEnum.Chat,sessionId:this.chatInternalService.sessionModel.sessionId,isReceive:!1,isDrop:!0,originCode:b.originalCode,message:JSON.stringify({instructions:b.instructions,codeEdit:b.codeEdit})});this.editorListenerMap.disposeKey(A)}});return this.editorListenerMap.set(A,S),y.promise}getDiffResult(a,b,y){const A=(0,r.createPatch)(y,a,b).split(`
|
|
31035
31035
|
`).slice(4).join(`
|
|
31036
31036
|
`),S=A.split(`
|
|
31037
|
-
`).map(w=>{if(w.startsWith("@@")){const[,,,T,D]=w.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);return new _.Range(parseInt(T,10),0,parseInt(T,10)+parseInt(D,10)-1,0)}return null}).filter(w=>w!==null);return{diff:A,rangesFromDiffHunk:S}}getDiagnosticInfos(a,b){return this.markerService.getManager().getMarkers({resource:a}).filter(A=>A.severity>=c.MarkerSeverity.Warning&&b.some(S=>S.containsPosition(new _.Position(A.startLineNumber,A.startColumn))))}}t.BaseApplyService=E,n.__decorate([(0,o.Autowired)(l.IChatInternalService),n.__metadata("design:type",h.ChatInternalService)],E.prototype,"chatInternalService",void 0),n.__decorate([(0,o.Autowired)(c.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(l.InlineDiffServiceToken),n.__metadata("design:type",Object)],E.prototype,"inlineDiffService",void 0),n.__decorate([(0,o.Autowired)(m.IMarkerService),n.__metadata("design:type",Object)],E.prototype,"markerService",void 0),n.__decorate([(0,o.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,o.Autowired)(c.IAIReporter),n.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),n.__decorate([(0,c.OnEvent)(v.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onEditorGroupClose",null),n.__decorate([(0,c.OnEvent)(v.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupOpenEvent]),n.__metadata("design:returntype",Promise)],E.prototype,"onEditorGroupOpen",null)},75279:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(78132),m=e(43718),_=e(72665),s=e(19413),g=e(69820),l=e(45331),h=n.__importDefault(e(76599)),u=e(51750),d=()=>{const E=(0,p.useInjectable)(l.MCPServerProxyService),f=(0,p.useInjectable)(v.PreferenceService),a=(0,p.useInjectable)(_.IMessageService),b=(0,p.useInjectable)(s.SumiMCPServerProxyServicePath),y=(0,p.useInjectable)(p.ILogger),[A,S]=o.default.useState([]),[w,T]=o.default.useState(!1),[D,I]=o.default.useState(),[R,M]=o.default.useState(),O=(0,o.useCallback)(async()=>{const W=f.get(p.AINativeSettingSectionsId.MCPServers,[]),U=await E.$getServers(),Q=W.map(
|
|
31037
|
+
`).map(w=>{if(w.startsWith("@@")){const[,,,T,D]=w.match(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/);return new _.Range(parseInt(T,10),0,parseInt(T,10)+parseInt(D,10)-1,0)}return null}).filter(w=>w!==null);return{diff:A,rangesFromDiffHunk:S}}getDiagnosticInfos(a,b){return this.markerService.getManager().getMarkers({resource:a}).filter(A=>A.severity>=c.MarkerSeverity.Warning&&b.some(S=>S.containsPosition(new _.Position(A.startLineNumber,A.startColumn))))}}t.BaseApplyService=E,n.__decorate([(0,o.Autowired)(l.IChatInternalService),n.__metadata("design:type",h.ChatInternalService)],E.prototype,"chatInternalService",void 0),n.__decorate([(0,o.Autowired)(c.AppConfig),n.__metadata("design:type",Object)],E.prototype,"appConfig",void 0),n.__decorate([(0,o.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],E.prototype,"editorService",void 0),n.__decorate([(0,o.Autowired)(l.InlineDiffServiceToken),n.__metadata("design:type",Object)],E.prototype,"inlineDiffService",void 0),n.__decorate([(0,o.Autowired)(m.IMarkerService),n.__metadata("design:type",Object)],E.prototype,"markerService",void 0),n.__decorate([(0,o.Autowired)(v.IEditorDocumentModelService),n.__metadata("design:type",Object)],E.prototype,"editorDocumentModelService",void 0),n.__decorate([(0,o.Autowired)(c.IAIReporter),n.__metadata("design:type",Object)],E.prototype,"aiReporter",void 0),n.__decorate([(0,c.OnEvent)(v.EditorGroupCloseEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupCloseEvent]),n.__metadata("design:returntype",void 0)],E.prototype,"onEditorGroupClose",null),n.__decorate([(0,c.OnEvent)(v.EditorGroupOpenEvent),n.__metadata("design:type",Function),n.__metadata("design:paramtypes",[v.EditorGroupOpenEvent]),n.__metadata("design:returntype",Promise)],E.prototype,"onEditorGroupOpen",null)},75279:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigView=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(78132),m=e(43718),_=e(72665),s=e(19413),g=e(69820),l=e(45331),h=n.__importDefault(e(76599)),u=e(51750),d=()=>{const E=(0,p.useInjectable)(l.MCPServerProxyService),f=(0,p.useInjectable)(v.PreferenceService),a=(0,p.useInjectable)(_.IMessageService),b=(0,p.useInjectable)(s.SumiMCPServerProxyServicePath),y=(0,p.useInjectable)(p.ILogger),[A,S]=o.default.useState([]),[w,T]=o.default.useState(!1),[D,I]=o.default.useState(),[R,M]=o.default.useState(),O=(0,o.useCallback)(async()=>{const W=f.get(p.AINativeSettingSectionsId.MCPServers,[]),U=await E.$getServers(),Q=U.find($=>$.name===s.BUILTIN_MCP_SERVER_NAME),V=W.map($=>{const Y=U.find(G=>G.name===$.name);return{...$,name:$.name,isStarted:!!Y,tools:Y?.tools}});Q&&V.unshift(Q),S(V)},[E]);o.default.useEffect(()=>{O();const W=E.onChangeMCPServers(()=>{O()});return()=>{W.dispose()}},[]);const P=(0,o.useCallback)(async(W,U)=>{try{M(W),U?await E.$startServer(W):await E.$stopServer(W);const Q=f.get(p.AINativeSettingSectionsId.MCPServers,[]);let V=Q;W===s.BUILTIN_MCP_SERVER_NAME?!Q.some(Y=>Y.name===s.BUILTIN_MCP_SERVER_NAME)&&!U?V=[...Q,{name:s.BUILTIN_MCP_SERVER_NAME,enabled:!1,command:"",type:g.MCP_SERVER_TYPE.STDIO}]:V=Q.map(Y=>Y.name===s.BUILTIN_MCP_SERVER_NAME?{...Y,enabled:U}:Y):V=Q.map($=>$.name===W?{...$,enabled:U}:$),await f.set(p.AINativeSettingSectionsId.MCPServers,V,m.PreferenceScope.User),await O(),M(void 0)}catch(Q){const V=Q.message||Q;y.error(`Failed to ${U?"start":"stop"} server ${W}:`,Q),a.error(Q.message),M(void 0)}},[E,f,b,O]),k=(0,o.useCallback)(()=>{I(void 0),T(!0)},[D,w]),F=(0,o.useCallback)(W=>{const Q=f.get(p.AINativeSettingSectionsId.MCPServers,[]).find(V=>V.name===W.name);Q&&(I(Q),T(!0))},[D,w]),L=(0,o.useCallback)(async W=>{const Q=f.get(p.AINativeSettingSectionsId.MCPServers,[]).filter(V=>V.name!==W);b.removeServer(W),await f.set(p.AINativeSettingSectionsId.MCPServers,Q,m.PreferenceScope.User),await O()},[D,w]),B=(0,o.useCallback)(async W=>{const U=f.get(p.AINativeSettingSectionsId.MCPServers,[]),Q=U.findIndex(V=>V.name===W.name);Q>=0?U[Q]=W:U.push(W),S(U),T(!1),await b.addOrUpdateServer(W),await f.set(p.AINativeSettingSectionsId.MCPServers,U,m.PreferenceScope.User),await O()},[A,w,O]),j=(0,o.useCallback)(W=>{switch(W){case g.MCP_SERVER_TYPE.STDIO:return(0,m.localize)("ai.native.mcp.type.stdio");case g.MCP_SERVER_TYPE.SSE:return(0,m.localize)("ai.native.mcp.type.sse");case g.MCP_SERVER_TYPE.BUILTIN:return(0,m.localize)("ai.native.mcp.type.builtin");default:return W}},[]);return o.default.createElement("div",{className:h.default.container},o.default.createElement("div",{className:h.default.header},o.default.createElement("div",null,o.default.createElement("h2",{className:h.default.title},"MCP Servers"),o.default.createElement("p",{className:h.default.description},(0,m.localize)("ai.native.mcp.manage.connections"))),o.default.createElement("button",{className:h.default.addButton,onClick:k},"+ ",(0,m.localize)("ai.native.mcp.addMCPServer.title"))),o.default.createElement("div",{className:h.default.serversList},A.map(W=>o.default.createElement("div",{key:W.name,className:h.default.serverItem},o.default.createElement("div",{className:h.default.serverHeader},o.default.createElement("div",{className:h.default.serverTitleRow},o.default.createElement("h3",{className:h.default.serverName},W.name,o.default.createElement("span",{className:(0,r.default)(h.default.serverStatusIcon,W.isStarted?h.default.active:h.default.inactive)}))),o.default.createElement("div",{className:h.default.serverActions},o.default.createElement(c.Popover,{id:"mcp-server-action-popover",trigger:c.PopoverTriggerType.hover,content:W.isStarted?(0,m.localize)("ai.native.mcp.disable.title"):(0,m.localize)("ai.native.mcp.enable.title")},o.default.createElement(c.Button,{type:"default",className:(0,r.default)(h.default.serverActionButton,W.isStarted&&h.default.active),onClick:()=>P(W.name,!W.isStarted)},o.default.createElement("i",{className:`codicon ${R===W.name?"codicon-loading kt-icon-loading":W.isStarted?"codicon-check":"codicon-circle"}`}),o.default.createElement("span",null,(0,m.localize)(W.isStarted?"ai.native.mcp.enabled":"ai.native.mcp.disabled")))),W.name!==s.BUILTIN_MCP_SERVER_NAME&&o.default.createElement(c.Button,{type:"icon",iconClass:"codicon codicon-edit",className:h.default.iconButton,title:"Edit",onClick:()=>F(W)}),W.name!==s.BUILTIN_MCP_SERVER_NAME&&o.default.createElement(c.Button,{type:"icon",iconClass:"codicon codicon-trash",className:h.default.iconButton,title:"Delete",onClick:()=>L(W.name)}))),o.default.createElement("div",{className:h.default.serverDetail},W.type&&o.default.createElement("div",{className:h.default.detailRow},o.default.createElement("span",{className:h.default.detailLabel},"Type:"),o.default.createElement(c.Badge,{className:(0,r.default)(h.default.serverType,h.default.typeTag)},j(W.type)))),W.tools&&W.tools.length>0&&o.default.createElement("div",{className:h.default.serverDetail},o.default.createElement("div",{className:h.default.detailRow},o.default.createElement("span",{className:h.default.detailLabel},"Tools:"),o.default.createElement("span",{className:h.default.detailContent},W.tools.map((U,Q)=>o.default.createElement(c.Badge,{key:Q,className:h.default.toolTag,title:U.description},U.name))))),W.command&&o.default.createElement("div",{className:h.default.serverDetail},o.default.createElement("div",{className:h.default.detailRow},o.default.createElement("span",{className:h.default.detailLabel},"Command:"),o.default.createElement("span",{className:h.default.detailContent},W.command))),W.serverHost&&o.default.createElement("div",{className:h.default.serverDetail},o.default.createElement("div",{className:h.default.detailRow},o.default.createElement("span",{className:h.default.detailLabel},"Server Link:"),o.default.createElement("span",{className:(0,r.default)(h.default.detailContent,h.default.link)},W.serverHost)))))),o.default.createElement(u.MCPServerForm,{visible:w,initialData:D,servers:A,onSave:B,onCancel:()=>T(!1)}))};t.MCPConfigView=d},51750:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerForm=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(48412),v=e(53017),m=e(41869),_=e(43718),s=e(72665),g=e(69820),l=n.__importDefault(e(83761)),h=({visible:u,initialData:d,onSave:E,onCancel:f,servers:a})=>{const[b,y]=(0,o.useState)(()=>({name:"",command:"",args:[],env:{},type:g.MCP_SERVER_TYPE.STDIO,...d})),A=(0,m.useInjectable)(s.IMessageService),[S,w]=(0,o.useState)(()=>{var B;return((B=d?.args)===null||B===void 0?void 0:B.join(" "))||""}),[T,D]=(0,o.useState)(()=>d?.env?Object.entries(d.env).map(([B,j])=>`${B}=${j}`).join(`
|
|
31038
31038
|
`):"");(0,o.useEffect)(()=>{var B;y({name:"",command:"",args:[],env:{},type:g.MCP_SERVER_TYPE.STDIO,...d}),w(((B=d?.args)===null||B===void 0?void 0:B.join(" "))||""),D(d?.env?Object.entries(d.env).map(([j,W])=>`${j}=${W}`).join(`
|
|
31039
31039
|
`):"")},[d]);const I=(0,o.useCallback)(B=>{var j,W;if(B.name.trim()==="")return A.error((0,_.localize)("ai.native.mcp.name.isRequired")),!1;if(!d&&a.some(Q=>Q.name.toLocaleLowerCase()===B.name.toLocaleLowerCase()))return A.error((0,_.formatLocalize)("ai.native.mcp.serverNameExists",B.name)),!1;if(B.type===g.MCP_SERVER_TYPE.SSE){const Q=((j=B.serverHost)===null||j===void 0?void 0:j.trim())!=="";return Q||A.error((0,_.localize)("ai.native.mcp.serverHost.isRequired")),Q}const U=((W=B.command)===null||W===void 0?void 0:W.trim())!=="";return U||A.error((0,_.localize)("ai.native.mcp.command.isRequired")),U},[a,d]),R=(0,o.useCallback)(B=>{var j;if(B.preventDefault(),!I(b))return;const U={...b};if(b.type===g.MCP_SERVER_TYPE.SSE)U.serverHost=(j=U.serverHost)===null||j===void 0?void 0:j.trim();else{const Q=S.split(" ").filter(Boolean),V=T.split(`
|
|
31040
31040
|
`).filter(Boolean).reduce(($,Y)=>{const[G,z]=Y.split("=");return G&&z&&($[G.trim()]=z.trim()),$},{});U.args=Q,U.env=V}y({...b,command:"",serverHost:"",args:[],env:{}}),E(U)},[b,S,T,E,I]),M=(0,o.useCallback)(B=>{y({...b,command:B.target.value})},[b,S]),O=(0,o.useCallback)(B=>{w(B.target.value)},[S]),P=(0,o.useCallback)(B=>{D(B.target.value)},[T]),k=(0,o.useCallback)(B=>{y({...b,serverHost:B.target.value})},[b]),F=(0,o.useCallback)(B=>{y({...b,type:B})},[b]),L=(0,o.useCallback)(()=>b?.type===g.MCP_SERVER_TYPE.STDIO?o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:l.default.formItem},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.command")),o.default.createElement("input",{type:"text",value:b.command,onChange:M,placeholder:(0,_.localize)("ai.native.mcp.command.placeHolder"),required:!0})),o.default.createElement("div",{className:l.default.formItem},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.args")),o.default.createElement("textarea",{value:S,onChange:O,placeholder:(0,_.localize)("ai.native.mcp.args.placeHolder"),rows:3})),o.default.createElement("div",{className:l.default.formItem},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.env")),o.default.createElement("textarea",{value:T,onChange:P,placeholder:(0,_.localize)("ai.native.mcp.env.placeHolder"),rows:3}))):o.default.createElement(o.default.Fragment,null,o.default.createElement("div",{className:l.default.formItem},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.serverHost")),o.default.createElement("textarea",{value:b.serverHost,onChange:k,placeholder:(0,_.localize)("ai.native.mcp.serverHost.placeHolder"),rows:3}))),[b,S,T]);return o.default.createElement(v.Modal,{title:d?(0,_.localize)("ai.native.mcp.editMCPServer.title"):(0,_.localize)("ai.native.mcp.addMCPServer.title"),visible:u,onCancel:f,centered:!0,width:600,footer:null,style:{background:"var(--editor-background)"}},o.default.createElement("form",{className:l.default.form,onSubmit:B=>B.preventDefault()},o.default.createElement("div",{className:l.default.formRow},o.default.createElement("div",{className:(0,r.default)(l.default.formItem,l.default.formItemName)},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.name")),o.default.createElement("input",{type:"text",value:b.name,onChange:B=>y({...b,name:B.target.value}),placeholder:(0,_.localize)("ai.native.mcp.name.placeHolder"),required:!0})),o.default.createElement("div",{className:(0,r.default)(l.default.formItem,l.default.formItemType)},o.default.createElement("label",null,(0,_.localize)("ai.native.mcp.type")),o.default.createElement(c.Select,{size:"large",value:b.type,options:[{label:(0,_.localize)("ai.native.mcp.stdio"),value:g.MCP_SERVER_TYPE.STDIO},{label:(0,_.localize)("ai.native.mcp.sse"),value:g.MCP_SERVER_TYPE.SSE}],className:l.default.formItemSelect,onChange:F}))),L(),o.default.createElement("div",{className:l.default.formActions},o.default.createElement(p.Button,{onClick:f,type:"primary",className:l.default.secondaryButton},(0,_.localize)("ai.native.mcp.buttonCancel")),o.default.createElement(p.Button,{onClick:R,type:"primary"},d?(0,_.localize)("ai.native.mcp.buttonUpdate"):(0,_.localize)("ai.native.mcp.buttonSave")))))};t.MCPServerForm=h},27397:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigCommandContribution=t.OPEN_MCP_CONFIG_COMMAND=void 0;const n=e(85608),r=e(76003),o=e(41869),c=e(43718),p=e(54414),v=e(5297);t.OPEN_MCP_CONFIG_COMMAND={id:"opensumi-mcp.openConfig",label:"Open MCP Configuration"};let m=class{registerCommands(s){s.registerCommand(t.OPEN_MCP_CONFIG_COMMAND,{execute:()=>{const g=new o.URI().withScheme(v.MCP_CONFIG_COMPONENTS_SCHEME_ID);this.editorService.open(g,{preview:!1,focus:!0})}})}};t.MCPConfigCommandContribution=m,n.__decorate([(0,r.Autowired)(p.WorkbenchEditorService),n.__metadata("design:type",p.WorkbenchEditorService)],m.prototype,"editorService",void 0),t.MCPConfigCommandContribution=m=n.__decorate([(0,c.Domain)(o.CommandContribution)],m)},5297:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPConfigContribution=t.MCP_CONFIG_COMPONENTS_SCHEME_ID=void 0;const n=e(85608),r=e(76003),o=e(26542),c=e(43718),p=e(82196),v=e(7443),m=e(10560),_=e(75279),s="opensumi-mcp-config-viewer";t.MCP_CONFIG_COMPONENTS_SCHEME_ID="mcp-config";let g=class{registerEditorComponent(h){h.registerEditorComponent({uid:s,scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,component:_.MCPConfigView,renderMode:p.EditorComponentRenderMode.ONE_PER_WORKBENCH}),h.registerEditorComponentResolver(t.MCP_CONFIG_COMPONENTS_SCHEME_ID,(u,d)=>{d.push({type:"component",componentId:s})})}registerResource(h){h.registerResourceProvider({scheme:t.MCP_CONFIG_COMPONENTS_SCHEME_ID,provideResource:async u=>{const{configType:d}=u.getParsedQuery();return{uri:u,name:"MCP Configuration",icon:"settings",metadata:{configType:d}}}})}};t.MCPConfigContribution=g,n.__decorate([(0,r.Autowired)(m.IWorkspaceService),n.__metadata("design:type",Object)],g.prototype,"workspaceService",void 0),n.__decorate([(0,r.Autowired)(v.IconService),n.__metadata("design:type",v.IconService)],g.prototype,"iconService",void 0),n.__decorate([(0,r.Autowired)(),n.__metadata("design:type",o.LabelService)],g.prototype,"labelService",void 0),t.MCPConfigContribution=g=n.__decorate([(0,c.Domain)(p.BrowserEditorContribution)],g)},45331:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerProxyService=void 0;const n=e(85608),r=e(48085),o=e(76003),c=e(41869),p=e(43718),v=e(19413),m=e(77633);let _=class{constructor(){this._onChangeMCPServers=new p.Emitter,this.onChangeMCPServers=this._onChangeMCPServers.event}$callMCPTool(g,l){return this.mcpServerRegistry.callMCPTool(g,l)}async $getBuiltinMCPTools(){const g=await this.mcpServerRegistry.getMCPTools().map(l=>({name:l.name,description:l.description,inputSchema:(0,r.zodToJsonSchema)(l.inputSchema),providerName:v.BUILTIN_MCP_SERVER_NAME}));return this.logger.log("SUMI MCP tools",g),g}async $updateMCPServers(){this._onChangeMCPServers.fire("update")}async getAllMCPTools(){return this.sumiMCPServerProxyService.getAllMCPTools()}async $getServers(){return this.sumiMCPServerProxyService.getServers()}async $startServer(g){await this.sumiMCPServerProxyService.startServer(g)}async $stopServer(g){await this.sumiMCPServerProxyService.stopServer(g)}};t.MCPServerProxyService=_,n.__decorate([(0,o.Autowired)(m.TokenMCPServerRegistry),n.__metadata("design:type",Object)],_.prototype,"mcpServerRegistry",void 0),n.__decorate([(0,o.Autowired)(c.ILogger),n.__metadata("design:type",Object)],_.prototype,"logger",void 0),n.__decorate([(0,o.Autowired)(v.SumiMCPServerProxyServicePath),n.__metadata("design:type",Object)],_.prototype,"sumiMCPServerProxyService",void 0),t.MCPServerProxyService=_=n.__decorate([(0,o.Injectable)()],_)},79502:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPServerRegistry=void 0;const n=e(85608),r=e(76003),o=e(43718),c=e(19413),p=e(98864);class v{constructor(s){this.logger=s}appendLine(s){this.logger.log(s)}}let m=class{constructor(){this.tools=[],this.toolComponents={}}get logger(){return new v(this.baseLogger)}set activeMessageInfo(s){this._activeMessageInfo=s}getMCPTool(s,g=c.BUILTIN_MCP_SERVER_NAME){return this.tools.find(l=>(0,p.getToolName)(l.name,g)===s)}registerMCPTool(s){this.tools.push(s)}registerToolComponent(s,g,l=c.BUILTIN_MCP_SERVER_NAME){this.toolComponents[(0,p.getToolName)(s,l)]=g}getToolComponent(s){return this.toolComponents[s]}getMCPTools(){return this.tools.sort((s,g)=>{var l,h;return((l=s.order)!==null&&l!==void 0?l:1/0)-((h=g.order)!==null&&h!==void 0?h:1/0)})}async callMCPTool(s,g){try{const l=this.tools.find(d=>d.name===s);if(!l)throw new Error(`MCP tool ${s} not found`);const h=g.toolCallId;g=l.inputSchema.parse(g);const u=await l.handler({...g,toolCallId:h},this.logger);return this.reportToolCall(s,g,u,h),u}catch(l){return console.error("callMCPTool error:",l),this.reportToolCall(s,g,l,g.toolCallId),{content:[{type:"text",text:`The tool ${s} failed to execute. Error: ${l}`}],isError:!0}}}reportToolCall(s,g,l,h){if(!this.tools.find(d=>d.name===s))throw new Error(`MCP tool ${s} not found`);this.aiReporter.send({msgType:o.AIServiceType.ToolCall,message:JSON.stringify({args:g,name:s,result:l}),messageId:this._activeMessageInfo.messageId,sessionId:this._activeMessageInfo.sessionId,relationId:h})}};t.MCPServerRegistry=m,n.__decorate([(0,r.Autowired)(o.ILogger),n.__metadata("design:type",Object)],m.prototype,"baseLogger",void 0),n.__decorate([(0,r.Autowired)(o.IAIReporter),n.__metadata("design:type",Object)],m.prototype,"aiReporter",void 0),t.MCPServerRegistry=m=n.__decorate([(0,r.Injectable)()],m)},30703:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MCPToolsDialog=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=n.__importDefault(e(49783)),c=({tools:p})=>r.createElement("div",{className:o.default.mcp_tools_dialog},r.createElement("div",{className:o.default.dialog_title},"MCP Tools"),r.createElement("div",{className:o.default.tools_list},p.map(v=>r.createElement("div",{key:v.name,className:o.default.tool_item},r.createElement("div",{className:o.default.tool_name},v.name),r.createElement("div",{className:o.default.tool_description},v.description),v.providerName&&r.createElement("div",{className:o.default.tool_provider},"Provider: ",v.providerName)))));t.MCPToolsDialog=c},58260:(x,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EditFileToolComponent=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),c=e(97267),p=e(41869),v=e(54414),m=e(14162),_=e(87822),s=e(16781),g=e(21967),l=e(56474),h=e(73974),u=n.__importDefault(e(51601)),d=E=>{var f,a,b;const{args:y,messageId:A,toolCallId:S}=E,[w,T]=(0,o.useState)("code"),D=(0,p.useInjectable)(p.LabelService),I=(0,p.useInjectable)(p.AppConfig),R=(0,p.useInjectable)(h.BaseApplyService),M=(0,p.useInjectable)(v.WorkbenchEditorService),{target_file:O="",code_edit:P,instructions:k}=y||{},F=p.path.join(I.workspaceDir,O),[L,B]=(0,o.useState)(R.getCodeBlock(S,A)),j=(0,o.useMemo)(()=>O?`file-icon ${D.getIcon(p.URI.file(F))}`:void 0,[O,F]),W=(0,o.useMemo)(()=>{if(!O)return;const Q=s.StandaloneServices.get(_.IModelService),V=s.StandaloneServices.get(m.ILanguageService);return(0,p.detectModeId)(Q,V,p.Uri.file(F))},[O,F]);(0,o.useEffect)(()=>{const Q=R.onCodeBlockUpdate(V=>{V.toolCallId===S&&B({...V})});return()=>{Q.dispose()}},[]);const U=Q=>{Q.stopPropagation(),T(w==="code"?"diff":"code")};return!y||!L?null:[k&&o.default.createElement("p",{key:"edit-file-tool-instructions"},k),o.default.createElement("div",{className:u.default["edit-file-tool"],key:"edit-file-tool"},o.default.createElement("div",{className:(0,r.default)(u.default["edit-file-tool-header"],{clickable:L.status==="pending"||L.status==="success"}),onClick:()=>{L.status==="pending"?M.open(p.URI.file(F)):L.status==="success"&&R.revealApplyPosition(L)}},o.default.createElement("div",{className:u.default.left},j&&o.default.createElement("span",{className:j}),o.default.createElement("span",{className:u.default["edit-file-tool-file-name"]},O),L.iterationCount>1&&o.default.createElement("span",{className:u.default["edit-file-tool-iteration-count"]},L.iterationCount,"/3"),o.default.createElement(g.ApplyStatus,{status:L.status,error:E.result})),o.default.createElement("div",{className:u.default.right},o.default.createElement(c.Popover,{title:"Show Code",id:"edit-file-tool-show-code"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-file-code",onClick:U})),((f=L.applyResult)===null||f===void 0?void 0:f.diff)&&o.default.createElement(c.Popover,{title:"Show Diff",id:"edit-file-tool-show-diff"},o.default.createElement(c.Icon,{iconClass:"codicon codicon-diff-multiple",onClick:U})))),o.default.createElement(l.ChatMarkdown,{markdown:w==="code"?`\`\`\`${W||""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/cli-engine",
|
|
3
|
-
"version": "3.8.3-next-
|
|
3
|
+
"version": "3.8.3-next-1741943877.0",
|
|
4
4
|
"description": "Integration engine runtime for opensumi-cli and opensumi extension",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -26,14 +26,14 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@koa/cors": "^5.0.0",
|
|
28
28
|
"@opensumi/di": "^1.8.0",
|
|
29
|
-
"@opensumi/ide-core-browser": "3.8.3-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.8.3-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.8.3-next-
|
|
32
|
-
"@opensumi/ide-express-file-server": "3.8.3-next-
|
|
33
|
-
"@opensumi/ide-extension": "3.8.3-next-
|
|
34
|
-
"@opensumi/ide-i18n": "3.8.3-next-
|
|
35
|
-
"@opensumi/ide-main-layout": "3.8.3-next-
|
|
36
|
-
"@opensumi/ide-startup": "3.8.3-next-
|
|
29
|
+
"@opensumi/ide-core-browser": "3.8.3-next-1741943877.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.8.3-next-1741943877.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.8.3-next-1741943877.0",
|
|
32
|
+
"@opensumi/ide-express-file-server": "3.8.3-next-1741943877.0",
|
|
33
|
+
"@opensumi/ide-extension": "3.8.3-next-1741943877.0",
|
|
34
|
+
"@opensumi/ide-i18n": "3.8.3-next-1741943877.0",
|
|
35
|
+
"@opensumi/ide-main-layout": "3.8.3-next-1741943877.0",
|
|
36
|
+
"@opensumi/ide-startup": "3.8.3-next-1741943877.0",
|
|
37
37
|
"chalk": "^4.1.2",
|
|
38
38
|
"ejs": "^3.1.7",
|
|
39
39
|
"ip": "^1.1.8",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"webpack": "^5.90.0",
|
|
73
73
|
"webpack-cli": "^5.1.4"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "2ed73f5be3fef25243c4829179803f5b0417ce5d"
|
|
76
76
|
}
|