@opensumi/cli-engine 3.6.5-next-1735555020.0 → 3.6.5-next-1735612114.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
|
@@ -28264,7 +28264,7 @@ ${y.slice(1).join(`
|
|
|
28264
28264
|
`:""}${f}`}}else{const d=h[1];if(d){const _=g.text.split(`
|
|
28265
28265
|
`).slice(d.startPosition.row);return`${_[0].slice(d.startPosition.column)}${_.length>1?`
|
|
28266
28266
|
${_.slice(1).join(`
|
|
28267
|
-
`)}`:""}`}}return g.text}findTypeIdentifier(g){let c=g;for(;c;){if(c.type==="type_identifier")return c.text;const h=c.child(1);if(!h)break;c=h}return""}async extractImportPaths(g){var c;const h=[],d=await this.parser.parse(g),u=d?.rootNode,_=[],f=[];if(u)for(let a=0;a<u?.childCount;a++){const b=u.child(a);if(b?.type==="import_statement")_.push(b);else if(b?.type==="type_annotation"){const y=b.child(1);y&&f.push(y.text)}else if(b?.type==="lexical_declaration"){const y=this.findTypeIdentifier(b);y&&f.push(y)}}for(const a of _)if(f.some(b=>a.text.includes(b))){let b=(c=a.child(3))===null||c===void 0?void 0:c.text;(b?.includes("'")||b?.includes('"'))&&(b=b.slice(1,-1)),b&&h.push(b)}return h}async extractInterfaceOrTypeCode(g){var c;const h=[];if(this.language==="typescript"){await this.parserLoaded.promise;const d=(c=this.parser)===null||c===void 0?void 0:c.parse(g),u=d?.rootNode;if(u)for(let _=0;_<u?.childCount;_++){const f=u.child(_);if(f?.type==="export_statement"){const a=f.child(1);(a?.type==="interface_declaration"||a?.type==="type_alias_declaration")&&h.push(a.text)}else(f?.type==="interface_declaration"||f?.type==="type_alias_declaration")&&h.push(f.text)}}return h}async findSyntaxErrorCount(g){var c;await this.parserLoaded.promise;const h=(c=this.parser)===null||c===void 0?void 0:c.parse(g),d=h?.rootNode;if(!d)return 0;let u=0;const _=
|
|
28267
|
+
`)}`:""}`}}return g.text}findTypeIdentifier(g){let c=g;for(;c;){if(c.type==="type_identifier")return c.text;const h=c.child(1);if(!h)break;c=h}return""}async extractImportPaths(g){var c;const h=[],d=await this.parser.parse(g),u=d?.rootNode,_=[],f=[];if(u)for(let a=0;a<u?.childCount;a++){const b=u.child(a);if(b?.type==="import_statement")_.push(b);else if(b?.type==="type_annotation"){const y=b.child(1);y&&f.push(y.text)}else if(b?.type==="lexical_declaration"){const y=this.findTypeIdentifier(b);y&&f.push(y)}}for(const a of _)if(f.some(b=>a.text.includes(b))){let b=(c=a.child(3))===null||c===void 0?void 0:c.text;(b?.includes("'")||b?.includes('"'))&&(b=b.slice(1,-1)),b&&h.push(b)}return h}async extractInterfaceOrTypeCode(g){var c;const h=[];if(this.language==="typescript"){await this.parserLoaded.promise;const d=(c=this.parser)===null||c===void 0?void 0:c.parse(g),u=d?.rootNode;if(u)for(let _=0;_<u?.childCount;_++){const f=u.child(_);if(f?.type==="export_statement"){const a=f.child(1);(a?.type==="interface_declaration"||a?.type==="type_alias_declaration")&&h.push(a.text)}else(f?.type==="interface_declaration"||f?.type==="type_alias_declaration")&&h.push(f.text)}}return h}async findSyntaxErrorCount(g){var c;await this.parserLoaded.promise;const h=(c=this.parser)===null||c===void 0?void 0:c.parse(g),d=h?.rootNode;if(!d)return 0;let u=0;const _=f=>{(f.type==="function_declaration"||f.type==="class_declaration"||f.type==="variable_declarator"||f.type==="statement_block"||f.type==="expression_statement")&&(f.hasError||f.isMissing||f.type==="ERROR")&&u++;for(let b=0;b<f.childCount;b++){const y=f.child(b);y&&_(y)}};return _(d),u}async findNearestCodeBlockWithPosition(g,c){const h=await this.parser.parse(g);if(h){const{rootNode:d}=h,u=d.namedDescendantForIndex(c),_=this.findContainingCodeBlockWithPosition(u,c);if(!_)return null;let a=g.split(`
|
|
28268
28268
|
`).slice(0,_.startPosition.row).reduce((b,y)=>b+y.length,0);return a+=_.startPosition.row,a+=_.startPosition.column,{codeBlock:_.text,range:{start:{line:_.startPosition.row,character:0},end:{line:_.endPosition.row,character:1/0}},offset:a,type:_.type}}return null}dispose(){this.parser.delete(),this.lruCache.clear()}};t.LanguageParser=v,n.__decorate([(0,o.Autowired)(p.WasmModuleManager),n.__metadata("design:type",p.WasmModuleManager)],v.prototype,"wasmModuleManager",void 0),n.__decorate([(0,o.Autowired)(E.TreeSitterLanguageFacts),n.__metadata("design:type",E.TreeSitterLanguageFacts)],v.prototype,"languageFacts",void 0),t.LanguageParser=v=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String])],v)},85679:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageParserService=void 0;const n=e(85608),r=e(76003),o=e(3073),l=e(22486);let m=class{constructor(){this.pool=new Map}createParser(p){const v=l.parserNameMap[p];if(v)return this.pool.has(v)||this.pool.set(v,this.injector.get(o.LanguageParser,[v])),this.pool.get(v)}dispose(){this.pool.forEach(p=>p.dispose()),this.pool.clear()}};t.LanguageParserService=m,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],m.prototype,"injector",void 0),t.LanguageParserService=m=n.__decorate([(0,r.Injectable)()],m)},53374:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toMonacoRange=e;function e(n){return{startLineNumber:n.startPosition.row+1,startColumn:n.startPosition.column+1,endLineNumber:n.endPosition.row+1,endColumn:n.endPosition.column+1}}},19584:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GolangLanguageFacts=void 0;const e=["function_declaration","method_declaration","block","if_statement","else_statement","switch_statement","case_clause","for_statement","range_clause","type_switch_statement","type_case_clause","comm_clause","select_statement","go_statement","defer_statement"],n=new Set(e);class r{constructor(){this.name="go",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return n}isCodeBlock(l){return n.has(l)}}t.GolangLanguageFacts=r},22486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TreeSitterLanguageFacts=t.knownLanguageFacts=void 0;const n=e(85608);n.__exportStar(e(17973),t);const r=e(76003),o=e(19584),l=e(44606),m=e(82381),E=e(41486),p=e(98588),v=e(96436),s=e(2349),g=e(78542),c=new Set;t.knownLanguageFacts=[o.GolangLanguageFacts,l.JavaLanguageFacts,m.JavaScriptLanguageFacts,E.JavaScriptReactLanguageFacts,p.PythonLanguageFacts,v.RustLanguageFacts,s.TypeScriptLanguageFacts,g.TypeScriptReactLanguageFacts];let h=class{constructor(){this.langs=new Map,t.knownLanguageFacts.forEach(u=>{const _=new u;this.langs.set(_.name,_)})}isCodeBlock(u,_){const f=this.langs.get(u);return f&&f.isCodeBlock?f.isCodeBlock(_):!1}isFunctionCodeBlock(u,_){const f=this.langs.get(u);return f&&f.isFunctionCodeBlocks?f.isFunctionCodeBlocks(_):!1}provideFunctionInfo(u,_){const f=this.langs.get(u);return f&&f.provideFunctionInfo?f.provideFunctionInfo(_):null}getCodeBlockTypes(u){const _=this.langs.get(u);return _?_.provideCodeBlocks():c}};t.TreeSitterLanguageFacts=h,t.TreeSitterLanguageFacts=h=n.__decorate([(0,r.Injectable)(),n.__metadata("design:paramtypes",[])],h)},44606:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaLanguageFacts=void 0;const e=["compilation_unit","class_declaration","interface_declaration","enum_declaration","method_declaration","constructor_declaration","block","static_initializer","instance_initializer","if_statement","switch_statement","while_statement","do_statement","for_statement","enhanced_for_statement","try_statement","catch_clause","finally_clause"],n=new Set(["method_declaration","constructor_declaration"]),r=new Set(e);class o{constructor(){this.name="java",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(m){return r.has(m)}isFunctionCodeBlocks(m){return n.has(m)}}t.JavaLanguageFacts=o},82381:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptLanguageFacts=t.functionBlockCodeTypes=t.javascriptBlockCodeTypes=void 0;const n=e(53374);t.javascriptBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","method_definition","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","try_statement","catch_clause","block","export_statement","lexical_declaration"],t.functionBlockCodeTypes=["function","function_declaration","function_expression","arrow_function","method_definition"];const r=new Set(t.functionBlockCodeTypes),o=new Set(t.javascriptBlockCodeTypes);class l{constructor(){this.name="javascript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return o}isCodeBlock(E){return o.has(E)}isFunctionCodeBlocks(E){return r.has(E)}provideFunctionInfo(E){var p,v,s;switch(E.type){case"function_declaration":case"function_expression":return{infoCategory:"function",type:E.type,name:((p=E.firstNamedChild)===null||p===void 0?void 0:p.text)||"",signatures:E.children.filter(g=>g.type==="parameter").map(g=>{var c;return((c=g.firstChild)===null||c===void 0?void 0:c.text)||""}),range:(0,n.toMonacoRange)(E)};case"arrow_function":{const g=E.parent;return g&&g.type==="variable_declarator"&&g.parent&&(g.parent.type==="lexical_declaration"||g.parent.type==="export_statement"||g.parent.type==="variable_declaration")?{infoCategory:"function",type:E.type,name:((v=g.firstChild)===null||v===void 0?void 0:v.text)||"",signatures:E.children.filter(c=>c.type==="parameter").map(c=>{var h;return((h=c.firstChild)===null||h===void 0?void 0:h.text)||""}),range:(0,n.toMonacoRange)(g.parent)}:null}case"method_definition":return{infoCategory:"function",type:E.type,name:((s=E.firstNamedChild)===null||s===void 0?void 0:s.text)||"",signatures:E.children.filter(g=>g.type==="parameter").map(g=>{var c;return((c=g.firstChild)===null||c===void 0?void 0:c.text)||""}),range:(0,n.toMonacoRange)(E)}}return null}}t.JavaScriptLanguageFacts=l},41486:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JavaScriptReactLanguageFacts=t.javascriptreactBlockCodeTypes=void 0;const n=e(82381);t.javascriptreactBlockCodeTypes=[...n.javascriptBlockCodeTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.javascriptreactBlockCodeTypes);class o{constructor(){this.name="jsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(m){return r.has(m)}}t.JavaScriptReactLanguageFacts=o},98588:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PythonLanguageFacts=t.pythonBlockCodeTypes=void 0,t.pythonBlockCodeTypes=["function_definition","class_definition","compound_statement","if_statement","elif_clause","else_clause","for_statement","while_statement","try_statement","except_clause","with_statement","decorated_definition"];const e=new Set(t.pythonBlockCodeTypes);class n{constructor(){this.name="python",this.listCommentStyle="# ",this.blockCommentStyle={start:"'''",end:"'''",linePrefix:""}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.PythonLanguageFacts=n},96436:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RustLanguageFacts=t.rustBlockCodeTypes=void 0,t.rustBlockCodeTypes=["function_item","impl_item","trait_item","block","if_expression","match_expression","while_expression","loop_expression","for_expression","closure_expression","struct_item","enum_item","union_item","mod_item"];const e=new Set(t.rustBlockCodeTypes);class n{constructor(){this.name="rust",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.RustLanguageFacts=n},17973:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parserIdentifierMap=t.parserNameMap=void 0;const r=e(85608).__importDefault(e(19891)),o={typescript:"typescript",typescriptreact:"tsx",javascript:"javascript",javascriptreact:"jsx",rust:"rust",python:"python",java:"java",go:"go"};t.parserNameMap=o,t.parserIdentifierMap=(0,r.default)(t.parserNameMap)},2349:(P,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptLanguageFacts=t.typescriptBlockTypes=void 0,t.typescriptBlockTypes=["function","function_declaration","function_expression","arrow_function","class_declaration","interface_declaration","method_definition","method_signature","enum_declaration","type_alias_declaration","lexical_declaration","if_statement","switch_case","while_statement","do_statement","for_statement","for_in_statement","for_of_statement","try_statement","catch_clause","block","module","public_field_definition","private_field_definition","export_statement"];const e=new Set(t.typescriptBlockTypes);class n{constructor(){this.name="typescript",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return e}isCodeBlock(o){return e.has(o)}}t.TypeScriptLanguageFacts=n},78542:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeScriptReactLanguageFacts=t.typescriptreactBlockTypes=void 0;const n=e(2349);t.typescriptreactBlockTypes=[...n.typescriptBlockTypes,"jsx_element","jsx_self_closing_element","jsx_expression","jsx_fragment"];const r=new Set(t.typescriptreactBlockTypes);class o{constructor(){this.name="tsx",this.listCommentStyle="// ",this.blockCommentStyle={start:"/**",end:" */",linePrefix:" * "}}provideCodeBlocks(){return r}isCodeBlock(m){return r.has(m)}}t.TypeScriptReactLanguageFacts=o},67045:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WasmModuleManager=void 0;const n=e(85608),r=n.__importDefault(e(13833)),o=e(76003),l=e(6858),m=e(70392);let E=class{async resolveResourceUri(){const v=await this.rendererRuntime.provideResourceUri(l.EKnownResources.TreeSitterWasmDirectory);this.resolvedResourceUriDeferred.resolve(v)}constructor(){this.resolvedResourceUriDeferred=new m.Deferred,this.cachedRuntime=new Map,this.parserInitialized=!1,this.resolveResourceUri()}async initParser(){const s=`${await this.resolvedResourceUriDeferred.promise}/tree-sitter.wasm`;return this.parserInitialized||(await r.default.init({locateFile:()=>s}),this.parserInitialized=!0),new r.default}async loadLanguage(v){if(!this.cachedRuntime.has(v)){const s=new m.Deferred;this.cachedRuntime.set(v,s);const c=`${await this.resolvedResourceUriDeferred.promise}/tree-sitter-${v}.wasm`;fetch(c).then(h=>h.arrayBuffer()).then(h=>{s.resolve(h)})}return this.cachedRuntime.get(v).promise}};t.WasmModuleManager=E,n.__decorate([(0,o.Autowired)(l.RendererRuntime),n.__metadata("design:type",l.RendererRuntime)],E.prototype,"rendererRuntime",void 0),t.WasmModuleManager=E=n.__decorate([(0,o.Injectable)(),n.__metadata("design:paramtypes",[])],E)},4972:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIRightTabRenderer=t.AILeftTabRenderer=t.AIChatTabRendererWithTab=t.AIChatTabRenderer=void 0;const n=e(85608),r=n.__importDefault(e(53373)),o=n.__importStar(e(14041)),l=e(41869),m=e(89195),E=e(1149),p=e(43718),v=e(11090),s=e(63067),g=e(46245),c=e(66368),h=e(19951),d=e(752),u=e(19413),_=n.__importDefault(e(87708)),f=()=>{const{side:w}=o.default.useContext(h.TabbarConfig),T=(0,l.useInjectable)(d.TabbarServiceFactory)(w);return(0,o.useEffect)(()=>{T.setIsLatter(!0)},[T]),o.default.createElement("div",{style:{width:0}},o.default.createElement(g.TabbarViewBase,{tabSize:0,MoreTabView:g.IconElipses,TabView:g.IconTabView,barSize:0,panelBorderSize:1}))},a=({className:w,components:T})=>o.default.createElement(h.TabRendererBase,{side:u.AI_CHAT_VIEW_ID,direction:"left-to-right",id:_.default.ai_chat_panel,className:(0,r.default)(w,`${u.AI_CHAT_VIEW_ID}-slot`),components:T,TabbarView:()=>o.default.createElement(f,null),TabpanelView:()=>o.default.createElement(c.BaseTabPanelView,{PanelView:c.ContainerView,PanelViewProps:{className:_.default.ai_chat_view_container}})});t.AIChatTabRenderer=a;const b=({className:w,components:T})=>o.default.createElement(h.TabRendererBase,{side:u.AI_CHAT_VIEW_ID,direction:"right-to-left",id:_.default.ai_chat_panel,className:(0,r.default)(w,`${u.AI_CHAT_VIEW_ID}-slot`,"design_right_slot"),components:T,TabbarView:()=>o.default.createElement(g.ChatTabbarRenderer2,null),TabpanelView:()=>o.default.createElement(c.BaseTabPanelView,{PanelView:c.ContainerView,PanelViewProps:{className:_.default.ai_chat_view_container}})});t.AIChatTabRendererWithTab=b;const y=({className:w,components:T})=>o.default.createElement(v.DesignLeftTabRenderer,{className:w,components:T,tabbarView:S});t.AILeftTabRenderer=y;const S=()=>{const w=(0,l.useInjectable)(s.IMainLayoutService),T=(0,l.useInjectable)(d.TabbarServiceFactory)(l.SlotLocation.right),D=(0,l.useAutorun)(T.currentContainerId),I=o.default.useMemo(()=>w.getExtraMenu(),[w]),[O]=(0,l.useContextMenus)(I),L=(0,o.useCallback)(({renderContainers:R})=>{const M=T.visibleContainers.filter(k=>{var B;return!(!((B=k.options)===null||B===void 0)&&B.hideTab)});return o.default.createElement(o.default.Fragment,null,M.length>0&&o.default.createElement(m.HorizontalVertical,{margin:"8px auto 0px",width:"60%"}),M.map(k=>R(k,T,D)))},[D,T]);return o.default.createElement(g.LeftTabbarRenderer,{renderOtherVisibleContainers:L,isRenderExtraTopMenus:!1,renderExtraMenus:o.default.createElement("div",{className:_.default.extra_bottom_icon_container},O.length>=0?O.map(R=>o.default.createElement(m.EnhanceIconWithCtxMenu,{key:R.id,id:R.id,wrapperClassName:_.default.extra_bottom_icon,iconClass:R.icon,menuNodes:R.children,skew:{x:-8,y:-4}})):null)})},A=({className:w,components:T})=>{const D=(0,l.useInjectable)(d.TabbarServiceFactory)(l.SlotLocation.right),I=(0,l.useInjectable)(E.DesignLayoutConfig),O=(0,o.useCallback)(()=>{D.updateCurrentContainerId("")},[]),L=(0,o.useCallback)(M=>{const{component:k}=M,{options:B}=k;return o.default.createElement(c.ContainerView,{...M,renderContainerWrap:({children:x})=>o.default.createElement("div",{className:_.default.right_slot_container_wrap},o.default.createElement("div",{className:_.default.header},o.default.createElement("span",{className:_.default.title},B&&B.title),o.default.createElement("div",{className:_.default.side},o.default.createElement(m.EnhancePopover,{id:"ai_right_panel_header_close",title:(0,p.localize)("editor.title.context.close")},o.default.createElement(m.EnhanceIcon,{icon:"close",onClick:O})))),o.default.createElement("div",{className:_.default.container},x))})},[]),R=(0,o.useMemo)(()=>I.useMergeRightWithLeftPanel?_.default.right_tab_renderer:"",[I]);return o.default.createElement(v.DesignRightTabRenderer,{components:T,className:R,tabbarView:()=>o.default.createElement(g.RightTabbarRenderer,{barSize:0,style:{width:0}}),tabpanelView:()=>o.default.createElement(c.BaseTabPanelView,{PanelView:L})})};t.AIRightTabRenderer=A},82983:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIChatLogoAvatar=void 0;const n=e(85608),r=n.__importDefault(e(14041)),o=e(41869),l=e(89195),m=e(63067),E=e(19413),p=n.__importDefault(e(88473)),v=()=>{const s=(0,o.useInjectable)(m.IMainLayoutService),g=r.default.useCallback(()=>{s.toggleSlot(E.AI_CHAT_VIEW_ID)},[s]);return r.default.createElement("div",{className:p.default.ai_switch,onClick:g},r.default.createElement(l.AILogoAvatar,{iconClassName:p.default.avatar_icon_large}))};t.AIChatLogoAvatar=v},53617:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EnhanceDecorationsCollection=void 0;const n=e(85608),r=e(43718),o=e(20868),l=e(77714),m=n.__importDefault(e(4619));class E{get isHidden(){return this._hidden}get codeEditor(){return this.metadata.codeEditor}get deltaData(){return this.metadata.deltaData}get id(){return this.metadata.id}get editorDecoration(){return this.metadata.editorDecoration}get group(){return this._group}constructor(s){this.metadata=s,this._hidden=!1;const{editorDecoration:g,deltaData:c,isHidden:h,group:d}=s;(0,r.isUndefined)(c.length)?this.length=g.range.endLineNumber-g.range.startLineNumber:this.length=c.length,this.range=g.range,this.options=g.options,this.resumeRange=this.range,this._hidden=!!h,this._hidden&&this.hide(),(0,r.isDefined)(d)&&this.setGroup(d)}setGroup(s){this._group=s}changeVisibility(s,g){if(!this.options.className)return;const c=this.options.className.split(l.space).filter(h=>h!==m.default.hidden&&h!==m.default.visible).filter(Boolean);c.push(s),this.options.className=c.join(l.space),this.codeEditor.changeDecorations(h=>{h.changeDecorationOptions(this.id,this.options),h.changeDecoration(this.id,g)})}setRange(s){this.range=s}getRange(){return this.range}dispose(){var s,g;(g=(s=this.deltaData).dispose)===null||g===void 0||g.call(s)}hide(){this.resumeRange=this.range,this._hidden=!0;const s={lineNumber:this.range.startLineNumber,column:1},g=o.Range.fromPositions(s);this.changeVisibility(m.default.hidden,g)}resume(){this._hidden=!1,this.changeVisibility(m.default.visible,o.Range.lift(this.resumeRange))}}class p extends r.Disposable{get model(){return this.codeEditor.getModel()}constructor(s){super(),this.codeEditor=s,this.deltaDecorations=[],this._onDidDecorationsChange=this.registerDispose(new r.Emitter),this.onDidDecorationsChange=this._onDidDecorationsChange.event,this.addDispose(this.codeEditor.onDidContentSizeChange(g=>{const{contentHeightChanged:c}=g;c&&this.flush()}))}flush(){this.deltaDecorations=this.deltaDecorations.map(s=>{const{id:g,editorDecoration:{range:c}}=s,h=this.model.getDecorationRange(g);return s.setRange(h??c),s}),this._onDidDecorationsChange.fire(this.deltaDecorations)}delete(s){this.codeEditor.changeDecorations(g=>{g.removeDecoration(s),this.deltaDecorations=this.deltaDecorations.filter(c=>c.id!==s)})}createDecorations(s){return new E(s)}set(s){this.clear(),this.codeEditor.changeDecorations(g=>{const c=[];for(const h of s){const d=g.addDecoration(h.range,h.options);c.push(this.createDecorations({id:d,editorDecoration:h,codeEditor:this.codeEditor,isHidden:h.isHidden,group:h.group,deltaData:{dispose:()=>this.delete(d),length:h.length}}))}this.deltaDecorations=c})}getDecorations(){return this.deltaDecorations}getDecorationByGroup(s){return this.deltaDecorations.find(g=>g.group===s)}getDecorationByLineNumber(s){return this.deltaDecorations.find(g=>g.getRange().startLineNumber===s)}clear(){this.codeEditor.changeDecorations(s=>{for(const g of this.deltaDecorations)s.removeDecoration(g.id);this.deltaDecorations=[]})}}t.EnhanceDecorationsCollection=p},44260:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MsgHistoryManager=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class extends o.Disposable{constructor(){super(...arguments),this.messageMap=new Map,this._onMessageChange=new o.Emitter,this.onMessageChange=this._onMessageChange.event}dispose(){this.clearMessages(),super.dispose()}clearMessages(){this.messageMap.clear()}doAddMessage(E){const p=(0,o.uuid)(6),v=this.messageMap.size,s={...E,id:p,order:v,type:E.type||"string"};return this.messageMap.set(p,s),this._onMessageChange.fire(this.getMessages()),p}getMessages(){return Array.from(this.messageMap.values()).sort((E,p)=>E.order-p.order)}addUserMessage(E){return this.doAddMessage({...E,role:1})}addAssistantMessage(E){return this.doAddMessage({...E,role:2})}updateAssistantMessage(E,p){if(!this.messageMap.has(E))return;const v=this.messageMap.get(E);this.messageMap.set(E,{...v,content:p.content})}};t.MsgHistoryManager=l,t.MsgHistoryManager=l=n.__decorate([(0,r.Injectable)({multiple:!1})],l)},3841:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AINativePreferencesContribution=void 0;const n=e(85608),r=e(41869),o=e(83854);let l=class{constructor(){this.schema=o.aiNativePreferenceSchema}};t.AINativePreferencesContribution=l,t.AINativePreferencesContribution=l=n.__decorate([(0,r.Domain)(r.PreferenceContribution)],l)},83854:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aiNativePreferenceSchema=t.EInlineDiffPreviewMode=void 0;const n=e(41869),r=e(43718);var o;(function(l){l.inlineLive="inlineLive",l.sideBySide="sideBySide"})(o||(t.EInlineDiffPreviewMode=o={})),t.aiNativePreferenceSchema={properties:{[n.AINativeSettingSectionsId.InlineDiffPreviewMode]:{type:"string",enum:[o.inlineLive,o.sideBySide],enumDescriptions:[(0,r.localize)("preference.ai.native.inlineDiff.preview.mode.inlineLive"),(0,r.localize)("preference.ai.native.inlineDiff.preview.mode.sideBySide")],default:o.inlineLive},[n.AINativeSettingSectionsId.InlineChatAutoVisible]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.InlineChatCodeActionEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.InterfaceQuickNavigationEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.ChatVisibleType]:{type:"string",enum:["never","always","default"],default:"default"},[n.AINativeSettingSectionsId.IntelligentCompletionsPromptEngineeringEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.IntelligentCompletionsDebounceTime]:{type:"number",default:150},[n.AINativeSettingSectionsId.IntelligentCompletionsCacheEnabled]:{type:"boolean",default:!0},[n.AINativeSettingSectionsId.IntelligentCompletionsAlwaysVisible]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.CodeEditsLintErrors]:{type:"boolean",default:!1},[n.AINativeSettingSectionsId.CodeEditsLineChange]:{type:"boolean",default:!1}}}},77633:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AINativeCoreContribution=t.TerminalSuggestionReadableStream=t.ERunStrategy=void 0;const n=e(93062);var r;(function(l){l.EXECUTE="EXECUTE",l.PREVIEW="PREVIEW"})(r||(t.ERunStrategy=r={}));class o extends n.SumiReadableStream{static create(){return new o}}t.TerminalSuggestionReadableStream=o,t.AINativeCoreContribution=Symbol("AINativeCoreContribution")},24522:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ttPolicy=t.renderLines=void 0;const n=e(85608),r=e(55405),o=n.__importStar(e(98236)),l=e(27357),m=e(31324),E=e(33892),p=e(24315),v=(s,g,c,h)=>{const d=h.get(m.EditorOption.disableMonospaceOptimizations),u=h.get(m.EditorOption.stopRenderingLineAfter),_="none",f=h.get(m.EditorOption.renderControlCharacters),a=h.get(m.EditorOption.fontLigatures),b=h.get(m.EditorOption.fontInfo),y=h.get(m.EditorOption.lineHeight),S=new E.StringBuilder(1e4);S.appendString('<div class="suggest-preview-text">');for(let T=0,D=c.length;T<D;T++){const I=c[T],O=I.content;S.appendString('<div class="view-line'),S.appendString('" style="top:'),S.appendString(String(T*y)),S.appendString('px;width:1000000px;">');const L=o.isBasicASCII(O),R=o.containsRTL(O);(0,p.renderViewLine)(new p.RenderLineInput(b.isMonospace&&!d,b.canUseHalfwidthRightwardsArrow,O,!1,L,R,0,I.lineTokens,I.decorations,g,0,b.spaceWidth,b.middotWidth,b.wsmiddotWidth,u,_,f,a!==m.EditorFontLigatures.OFF,null),S),S.appendString("</div>")}S.appendString("</div>"),(0,l.applyFontInfo)(s,b);const A=S.build(),w=t.ttPolicy?t.ttPolicy.createHTML(A):A;s.innerHTML=w};t.renderLines=v,t.ttPolicy=(0,r.createTrustedTypesPolicy)("editorGhostText",{createHTML:s=>s})},90614:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineResultAction=void 0;const r=e(85608).__importStar(e(14041)),o=e(66205),l=e(89195),m=e(43718),E=e(31031),p=({onResultClick:v})=>{const s=(0,r.useMemo)(()=>[{icon:"check",text:(0,m.localize)("aiNative.inline.chat.operate.check.title"),btnType:"default",onClick:()=>v(E.EResultKind.ACCEPT)},{icon:"discard",text:(0,m.localize)("aiNative.operate.discard.title"),onClick:()=>v(E.EResultKind.DISCARD)},{icon:"afresh",text:(0,m.localize)("aiNative.operate.afresh.title"),onClick:()=>v(E.EResultKind.REGENERATE)}],[v]);return r.default.createElement(o.ContentWidgetContainerPanel,{style:{transform:"translateY(4px)"}},r.default.createElement(l.AIInlineResult,{iconItems:s}))};t.InlineResultAction=p},40111:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatController=void 0;const n=e(43718),r=e(93062),o=e(98864);class l{static is(E){return E instanceof l&&typeof E.mountReadable=="function"}constructor(E){this.options=E,this._onData=new n.Emitter,this.onData=this._onData.event,this._onEnd=new n.Emitter,this.onEnd=this._onEnd.event,this._onAbort=new n.Emitter,this.onAbort=this._onAbort.event,this._onError=new n.Emitter,this.onError=this._onError.event,this._stream=null,this._listened=!1}calculateCodeBlocks(E){var p;return!((p=this.options)===null||p===void 0)&&p.enableCodeblockRender?(0,o.extractCodeBlocks)(E):E}mountReadable(E){this._stream=E}get isListened(){return this._listened}listen(){if(this._listened)return;if(!this._stream)throw new Error("No Stream mounted");this._listened=!0;const E=new n.ReplyResponse("");let p="";(0,r.listenReadable)(this._stream,{onData:v=>{p+=v.content;const s=this.calculateCodeBlocks(p);E.updateMessage(s),this._onData.fire(E)},onEnd:()=>{this._onEnd.fire()},onError:v=>{n.AbortError.is(v)?this._onAbort.fire():this._onError.fire(new n.ErrorResponse(v))}})}}t.InlineChatController=l},51221:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatEditorController=void 0;const n=e(41869),r=e(43718),o=e(66482),l=e(54414),m=e(52902),E=e(99906),p=e(89132),v=e(77633),s=e(38890),g=e(40111),c=e(31031),h=e(26664);class d extends E.BaseAIMonacoEditorController{constructor(){super(...arguments),this.aiInlineChatDisposable=new r.Disposable,this.aiInlineChatOperationDisposable=new r.Disposable,this.inlineChatInUsing=!1}static get(_){return _.getContribution(d.ID)}get aiNativeConfigService(){return this.injector.get(n.AINativeConfigService)}get aiInlineChatService(){return this.injector.get(n.IAIInlineChatService)}get inlineChatFeatureRegistry(){return this.injector.get(r.InlineChatFeatureRegistryToken)}get preferenceService(){return this.injector.get(n.PreferenceService)}get aiReporter(){return this.injector.get(r.IAIReporter)}get workbenchEditorService(){return this.injector.get(l.WorkbenchEditorService)}get codeActionService(){return this.injector.get(p.CodeActionService)}get logger(){return this.injector.get(r.ILogger)}get contextKeyService(){return this.injector.get(n.IContextKeyService)}mount(){if(this.inlineDiffController=s.InlineDiffController.get(this.monacoEditor),!this.monacoEditor)return this.featureDisposable;this.featureDisposable.addDispose(this.aiInlineChatService.onInlineChatVisible(a=>{a?this.showInlineChat(this.monacoEditor):(this.cancelToken(),this.disposeAllWidget())})),this.featureDisposable.addDispose(this.codeActionService.onCodeActionRun(({id:a,range:b})=>{const y=this.workbenchEditorService.currentEditor;y?.getId()===this.monacoEditor.getId()&&(this.monacoEditor.setSelection(b),this.showInlineChat(this.monacoEditor),this.aiInlineContentWidget&&this.aiInlineContentWidget.clickActionId(a,"codeAction"))})),this.featureDisposable.addDispose(this.monacoEditor.onWillChangeModel(()=>{this.disposeAllWidget()}));let _=!1;this.featureDisposable.addDispose(this.monacoEditor.onMouseDown(a=>{const y=a.target.detail;_=!1,!(y&&typeof y=="string"&&y===r.AIInlineChatContentWidgetId)&&this.aiInlineContentWidget&&!this.aiInlineContentWidget.isPersisted&&this.disposeAllWidget()})),this.featureDisposable.addDispose(this.monacoEditor.onMouseUp(a=>{const y=a.target.detail;y&&typeof y=="string"&&y===r.AIInlineChatContentWidgetId?_=!1:_=!0}));let f=this.preferenceService.getValid(r.AINativeSettingSectionsId.InlineChatAutoVisible,!0);return this.featureDisposable.addDispose(this.preferenceService.onSpecificPreferenceChange(r.AINativeSettingSectionsId.InlineChatAutoVisible,({newValue:a})=>{f=a})),this.featureDisposable.addDispose(r.Event.debounce(r.Event.any(this.monacoEditor.onDidChangeCursorSelection,this.monacoEditor.onMouseUp),(a,b)=>b,100)(()=>{!f||!_||this.aiInlineContentWidget&&this.aiInlineContentWidget.isPersisted||this.showInlineChat(this.monacoEditor)})),this.featureDisposable}disposeAllWidget(){[this.aiInlineContentWidget,this.aiInlineChatDisposable,this.aiInlineChatOperationDisposable].forEach(_=>{_?.dispose()}),this.inlineChatInUsing=!1,this.cancelToken()}showInlineContentWidget(_,f){this.aiInlineContentWidget&&this.aiInlineContentWidget.dispose(),this.aiInlineContentWidget=this.injector.get(h.AIInlineContentWidget,[_]),this.aiInlineContentWidget.show({selection:f})}async showInlineChat(_){if(this.contextKeyService.getContextValue(o.CONTEXT_IN_DEBUG_MODE_KEY)||!this.aiNativeConfigService.capabilities.supportsInlineChat||this.inlineChatInUsing)return;this.inlineChatInUsing=!0,this.disposeAllWidget();const a=_.getSelection();!a||a.isEmpty()||(this.showInlineContentWidget(_,a),this.aiInlineChatDisposable.addDispose(this.inlineChatFeatureRegistry.onChatClick(()=>{this.aiInlineChatService.launchInputVisible(!0)})),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.onActionClick(({actionId:b,source:y})=>{const S=this.inlineChatFeatureRegistry.getEditorHandler(b),A=this.inlineChatFeatureRegistry.getAction(b);if(!S||!A)return;const w=this.getCrossSelection(_);if(!w)return;const T=()=>{const D=S.providerDiffPreviewStrategy?S.providerDiffPreviewStrategy:S.providePreviewStrategy;if(D)return D.bind(this,_,this.token)};this.runAction({monacoEditor:_,crossSelection:w,reporterFn:()=>this.aiReporter.start(A.name,{message:A.name,type:r.AIServiceType.InlineChat,source:y,runByCodeAction:y==="codeAction",actionSource:y==="codeAction"?r.ActionSourceEnum.CodeAction:r.ActionSourceEnum.InlineChat,actionType:A.name}),execute:S.execute?S.execute.bind(this,_,this.token):void 0,providerPreview:T(),extraData:{actionSource:y==="codeAction"?r.ActionSourceEnum.CodeAction:r.ActionSourceEnum.InlineChat,actionType:A.name}})})),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.onInteractiveInputValue(async b=>{const y=this.inlineChatFeatureRegistry.getInteractiveInputHandler();if(!y)return;const S=await this.inlineChatFeatureRegistry.getInteractiveInputStrategyHandler()(_,b),A=this.getCrossSelection(_);A&&this.runAction({monacoEditor:_,crossSelection:A,reporterFn:()=>this.aiReporter.start(r.AIServiceType.InlineChatInput,{message:b,type:r.AIServiceType.InlineChatInput,source:"input",actionSource:r.ActionSourceEnum.InlineChatInput}),execute:y.execute&&S===v.ERunStrategy.EXECUTE?y.execute.bind(this,_,b,this.token):void 0,providerPreview:y.providePreviewStrategy&&S===v.ERunStrategy.PREVIEW?y.providePreviewStrategy.bind(this,_,b,this.token):void 0,extraData:{actionSource:r.ActionSourceEnum.InlineChatInput,actionType:S}})})))}getCrossSelection(_){const f=_.getSelection();if(!f){this.logger.error("No selection found, aborting inline chat action.");return}return f.setStartPosition(f.startLineNumber,1).setEndPosition(f.endLineNumber,_.getModel().getLineMaxColumn(f.endLineNumber))}convertInlineChatStatus(_,f){if(!this.aiInlineContentWidget)return;const{relationId:a,message:b,startTime:y,isRetry:S,isStop:A}=f;let w;_===c.EInlineChatStatus.DONE&&(w=this.inlineDiffController.getModifyContent()),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.launchChatStatus(_)),this.aiReporter.end(a,{message:b,success:_!==c.EInlineChatStatus.ERROR,replytime:Date.now()-y,isStop:A,isRetry:S,code:w,actionType:f?.actionType,actionSource:f?.actionSource})}visibleDiffWidget(_){const{monacoEditor:f,options:a,reportInfo:b}=_,{chatResponse:y}=a,{relationId:S,startTime:A,isRetry:w,actionType:T,actionSource:D}=b;if(g.InlineChatController.is(y))this.aiInlineChatOperationDisposable.addDispose([y.onError(O=>{this.convertInlineChatStatus(c.EInlineChatStatus.ERROR,{relationId:S,message:O.message||"",startTime:A,isRetry:w,actionSource:D,actionType:T})}),y.onAbort(()=>{this.convertInlineChatStatus(c.EInlineChatStatus.READY,{relationId:S,message:"abort",startTime:A,isRetry:w,isStop:!0,actionSource:D,actionType:T})}),y.onEnd(()=>{this.convertInlineChatStatus(c.EInlineChatStatus.DONE,{relationId:S,message:"",startTime:A,isRetry:w,actionSource:D,actionType:T})})]);else{if(this.aiInlineContentWidget&&this.aiInlineChatDisposable.disposed||r.CancelResponse.is(y)){this.convertInlineChatStatus(c.EInlineChatStatus.READY,{relationId:S,message:y.message||"",startTime:A,isRetry:w,isStop:!0,actionSource:D,actionType:T});return}if(r.ErrorResponse.is(y)){this.convertInlineChatStatus(c.EInlineChatStatus.ERROR,{relationId:S,message:y.message||"",startTime:A,isRetry:w,actionSource:D,actionType:T});return}this.convertInlineChatStatus(c.EInlineChatStatus.DONE,{relationId:S,message:"",startTime:A,isRetry:w,actionSource:D,actionType:T})}this.inlineDiffController.showPreviewerByStream(f,a).mount(this.aiInlineContentWidget)}ensureInlineChatVisible(_,f){this.aiInlineContentWidget.disposed?this.showInlineContentWidget(_,f):this.aiInlineContentWidget.isHidden&&this.aiInlineContentWidget.resume()}async handleDiffPreviewStrategy(_){if(!this.aiInlineContentWidget)return;const{monacoEditor:f,strategy:a,crossSelection:b,relationId:y,isRetry:S,actionType:A,actionSource:w}=_,T=f.getModel();this.inlineDiffController.destroyPreviewer(T.uri.toString()),this.aiInlineChatOperationDisposable.dispose(),this.ensureInlineChatVisible(f,b),this.aiInlineChatDisposable.addDispose(this.aiInlineContentWidget.launchChatStatus(c.EInlineChatStatus.THINKING));const D=Date.now();if(this.token.isCancellationRequested){this.convertInlineChatStatus(c.EInlineChatStatus.READY,{relationId:y,message:"abort",startTime:D,isRetry:S,isStop:!0,actionSource:w,actionType:A});return}const I=await a();if(r.CancelResponse.is(I)){this.convertInlineChatStatus(c.EInlineChatStatus.READY,{relationId:y,message:"abort",startTime:D,isRetry:S,isStop:!0,actionSource:w,actionType:A}),this.disposeAllWidget();return}this.visibleDiffWidget({monacoEditor:f,options:{crossSelection:b,chatResponse:I},reportInfo:{relationId:y,startTime:D,isRetry:S,actionType:A,actionSource:w}}),this.aiInlineChatOperationDisposable.addDispose([this.aiInlineContentWidget.onResultClick(O=>{const L=this.inlineDiffController.getModifyContent(),R=this.inlineDiffController.getOriginContent();this.inlineDiffController.handleAction(O),O===c.EResultKind.ACCEPT?(this.aiReporter.end(y,{message:"accept",success:!0,isReceive:!0,isDrop:!1,code:L,originCode:R,actionType:r.ActionTypeEnum.Accept}),(0,r.runWhenIdle)(()=>{this.disposeAllWidget()})):O===c.EResultKind.DISCARD?(this.aiReporter.end(y,{message:"discard",success:!0,isDrop:!0,isReceive:!1,code:L,originCode:R,actionType:r.ActionTypeEnum.Discard}),(0,r.runWhenIdle)(()=>{this.disposeAllWidget()})):O===c.EResultKind.REGENERATE&&(this.aiReporter.end(y,{message:"regenerate",success:!0,isDrop:!0,isReceive:!1,code:L,originCode:R,actionType:r.ActionTypeEnum.Regenerate}),this.handleDiffPreviewStrategy({monacoEditor:f,strategy:a,crossSelection:b,relationId:y,isRetry:!0,actionSource:w,actionType:A}))}),this.aiInlineChatService.onThumbs(O=>{this.aiReporter.end(y,{isLike:O})}),this.inlineDiffController.onMaxLineCount(O=>{requestAnimationFrame(()=>{if(b.endLineNumber===T.getLineCount()){const L=f.getOption(m.monacoApi.editor.EditorOption.lineHeight);this.aiInlineContentWidget.setOffsetTop(L*O+12)}})})])}async runAction(_){const{monacoEditor:f,crossSelection:a,reporterFn:b,execute:y,providerPreview:S,extraData:A}=_;if(y&&(await y(),this.disposeAllWidget()),S){const w=b();await this.handleDiffPreviewStrategy({monacoEditor:f,strategy:S,crossSelection:a,relationId:w,isRetry:!1,actionSource:A?.actionSource,actionType:A?.actionType})}}}t.InlineChatEditorController=d,d.ID="editor.contrib.ai.inline.chat"},2281:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineChatFeatureRegistry=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57925),m=e(83913),E=e(43718),p=e(89132),v=e(77633);class s{setHandler(h){this._handler=h}handler(){return this._handler}setStrategyHandler(h){this._strategyHandler=h}strategyHandler(){return this._strategyHandler}dispose(){this._handler=void 0}}s.ID=`${m.InteractiveInput.displayName}:${(0,E.uuid)(4)}`;let g=class extends E.Disposable{constructor(){super(...arguments),this.actionsMap=new Map,this.editorHandlerMap=new Map,this.terminalHandlerMap=new Map,this.interactiveInputModel=new s,this._onChatClick=new E.Emitter,this.onChatClick=this._onChatClick.event}dispose(){super.dispose(),this.actionsMap.clear(),this.editorHandlerMap.clear(),this.terminalHandlerMap.clear()}updateActions(h,d){this.actionsMap.set(h,d)}collectActions(h){const{id:d}=h;return this.actionsMap.has(d)?(this.logger.warn(`InlineChatFeatureRegistry: id ${d} already exists`),!1):((0,E.isUndefined)(h.renderType)&&(h.renderType="button"),(0,E.isUndefined)(h.order)&&(h.order=0),this.actionsMap.set(d,h),!0)}removeCollectedActions(h){this.actionsMap.delete(h.id),this.codeActionService.deleteCodeActionById(h.id)}getInteractiveInputId(){return s.ID}registerEditorInlineChat(h,d){return this.collectActions(h)&&(this.editorHandlerMap.set(h.id,d),this.codeActionService.registerCodeAction(h)),{dispose:()=>{this.removeCollectedActions(h)}}}unregisterEditorInlineChat(h){return this.removeCollectedActions(h)}registerTerminalInlineChat(h,d){return this.collectActions(h)&&((0,E.isUndefined)(d.triggerRules)&&(d.triggerRules="selection"),this.terminalHandlerMap.set(h.id,d)),{dispose:()=>{this.removeCollectedActions(h)}}}unregisterTerminalInlineChat(h){return this.removeCollectedActions(h)}registerInteractiveInput(h,d){this.interactiveInputModel.setHandler(d),h.handleStrategy?this.interactiveInputModel.setStrategyHandler(h.handleStrategy):this.interactiveInputModel.setStrategyHandler(()=>h.strategy||v.ERunStrategy.EXECUTE);const u=()=>{const _=String(this.getSequenceKeyString());if(_){const f={id:s.ID,name:`Chat(${_.toLocaleUpperCase()})`,renderType:"button",order:Number.MAX_SAFE_INTEGER};this.actionsMap.has(f.id)?this.updateActions(f.id,f):this.collectActions(f)}};return this.addDispose(E.Event.filter(this.keybindingRegistry.onKeybindingsChanged,({affectsCommands:_})=>_.includes(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id))(()=>u())),u(),{dispose:()=>{this.interactiveInputModel.dispose()}}}getSequenceKeyString(){var h;const u=(h=this.keybindingRegistry.getKeybindingsForCommand(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id)[0])===null||h===void 0?void 0:h.resolved;return u?this.keybindingRegistry.acceleratorForSequence(u,"+"):""}getInteractiveInputHandler(){return this.interactiveInputModel.handler()}getInteractiveInputStrategyHandler(){return this.interactiveInputModel.strategyHandler()}getEditorActionButtons(){const h=Array.from(this.editorHandlerMap.keys()).filter(d=>{const u=this.actionsMap.get(d);return u&&u.renderType==="button"}).map(d=>this.actionsMap.get(d)).sort((d,u)=>d.order-u.order);return this.actionsMap.has(s.ID)&&h.push(this.actionsMap.get(s.ID)),h}getEditorActionMenus(){return Array.from(this.editorHandlerMap.keys()).filter(h=>{const d=this.actionsMap.get(h);return d&&d.renderType==="dropdown"}).map(h=>this.actionsMap.get(h))}getEditorHandler(h){return this.editorHandlerMap.get(h)}getTerminalHandler(h){return this.terminalHandlerMap.get(h)}getTerminalActions(){return Array.from(this.terminalHandlerMap.keys()).map(h=>this.actionsMap.get(h))}getAction(h){return this.actionsMap.get(h)}};t.InlineChatFeatureRegistry=g,n.__decorate([(0,r.Autowired)(o.Logger),n.__metadata("design:type",o.Logger)],g.prototype,"logger",void 0),n.__decorate([(0,r.Autowired)(p.CodeActionService),n.__metadata("design:type",p.CodeActionService)],g.prototype,"codeActionService",void 0),n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],g.prototype,"keybindingRegistry",void 0),t.InlineChatFeatureRegistry=g=n.__decorate([(0,r.Injectable)()],g)},31031:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIInlineChatService=t.EResultKind=t.EInlineChatStatus=void 0;const n=e(85608),r=e(76003),o=e(43718);var l=e(19413);Object.defineProperty(t,"EInlineChatStatus",{enumerable:!0,get:function(){return l.EInlineChatStatus}}),Object.defineProperty(t,"EResultKind",{enumerable:!0,get:function(){return l.EResultKind}});let m=class{constructor(){this._interactiveInputVisible=!1,this._onInteractiveInputVisible=new o.Emitter,this.onInteractiveInputVisible=this._onInteractiveInputVisible.event,this._onInlineChatVisible=new o.Emitter,this.onInlineChatVisible=this._onInlineChatVisible.event,this._onThumbs=new o.Emitter,this.onThumbs=this._onThumbs.event}get interactiveInputVisible(){return this._interactiveInputVisible}fireThumbsEvent(p){this._onThumbs.fire(p)}launchInputVisible(p){return(0,o.runWhenIdle)(()=>{this._interactiveInputVisible=p,this._onInteractiveInputVisible.fire(p)})}};t.AIInlineChatService=m,t.AIInlineChatService=m=n.__decorate([(0,r.Injectable)({multiple:!1})],m)},26664:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AIInlineContentWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(76003),l=e(41869),m=e(89195),E=e(83913),p=e(64102),v=e(43718),s=n.__importStar(e(20868)),g=e(62663),c=e(52659),h=e(77659),d=e(90614),u=e(2281),_=n.__importDefault(e(26899)),f=e(31031),a=y=>{const{onClickActions:S,onClose:A,onInteractiveInputSend:w,onLayoutChange:T,onChatStatus:D,onResultClick:I}=y,O=(0,l.useInjectable)(l.IAIInlineChatService),L=(0,l.useInjectable)(v.InlineChatFeatureRegistryToken),[R,M]=(0,r.useState)(f.EInlineChatStatus.READY),[k,B]=(0,r.useState)(""),[x,N]=(0,r.useState)(!1);(0,r.useEffect)(()=>{const Z=new v.Disposable;return Z.addDispose(D(re=>M(re))),Z.addDispose(O.onInteractiveInputVisible(re=>{N(re)})),()=>{Z.dispose()}},[D,O]),(0,r.useEffect)(()=>{R===f.EInlineChatStatus.ERROR&&A?.()},[A]);const j=(0,r.useMemo)(()=>R===f.EInlineChatStatus.THINKING,[R]),K=(0,r.useMemo)(()=>R===f.EInlineChatStatus.DONE,[R]),U=(0,r.useMemo)(()=>R===f.EInlineChatStatus.ERROR,[R]),X=(0,r.useMemo)(()=>L.getEditorActionButtons(),[L]),z=(0,r.useCallback)(Z=>{S?.(Z)},[S]),Q=(0,r.useCallback)(()=>{A?.()},[A]),G=(0,r.useCallback)(Z=>{w?.(Z)},[w]),J=(0,r.useMemo)(()=>L.getEditorActionMenus().map(Z=>new p.MenuNode({id:`ai.menu.operation.${Z.id}`,label:Z.name,className:_.default.more_operation_menu_item,execute:()=>{z(Z.id)}})),[L]),Y=(0,r.useCallback)(Z=>{B(Z)},[]),H=(0,r.useMemo)(()=>x?r.default.createElement(E.InteractiveInput,{autoFocus:!0,onHeightChange:Z=>T(Z),size:"small",placeholder:(0,v.localize)("aiNative.inline.chat.input.placeholder.default"),width:320,disabled:j,value:k,onValueChange:Y,onSend:G}):null,[j,x,k]),$=(0,r.useCallback)(()=>X.length===0&&J.length===0||U?null:K?r.default.createElement(d.InlineResultAction,{onResultClick:I}):r.default.createElement(m.AIAction,{operationList:X,moreOperation:J,onClickItem:z,onClose:Q,loading:j,loadingShowOperation:x,customOperationRender:H}),[X,J,H,I,R,x]);return r.default.createElement("div",{className:_.default.inline_chat_controller_box},$())};let b=class extends c.ReactInlineContentWidget{get interactiveInputValue(){return this._interactiveInputValue}get status(){return this._status}get isPersisted(){return!this.isHidden&&this.status!==f.EInlineChatStatus.READY&&this.status!==f.EInlineChatStatus.ERROR}constructor(S){super(S),this.editor=S,this.allowEditorOverflow=!0,this._onActionClickEmitter=new v.Emitter,this.onActionClick=this._onActionClickEmitter.event,this._onInteractiveInputValue=new v.Emitter,this.onInteractiveInputValue=this._onInteractiveInputValue.event,this._onStatusChange=new v.Emitter,this.onStatusChange=this._onStatusChange.event,this._onResultClick=new v.Emitter,this.onResultClick=this._onResultClick.event,this._status=f.EInlineChatStatus.READY,this.aiNativeContextKey=this.injector.get(h.AINativeContextKey,[this.editor.contextKeyService]),this.addDispose(this.editor.onDidLayoutChange(()=>{this.isOutOfArea()&&this.dispose()}))}launchChatStatus(S){return(0,v.runWhenIdle)(()=>{this._status=S,this._onStatusChange.fire(S)})}dispose(){this.launchChatStatus(f.EInlineChatStatus.READY),super.dispose()}clickActionId(S,A){if(S===this.inlineChatFeatureRegistry.getInteractiveInputId()){this.inlineChatFeatureRegistry._onChatClick.fire();return}this._onActionClickEmitter.fire({actionId:S,source:A})}renderView(){return r.default.createElement(a,{onClickActions:S=>this.clickActionId(S,"widget"),onClose:()=>this.dispose(),onChatStatus:this.onStatusChange.bind(this),onLayoutChange:()=>{this.editor.layoutContentWidget(this)},onInteractiveInputSend:S=>{this.launchChatStatus(f.EInlineChatStatus.THINKING),this._interactiveInputValue=S,this._onInteractiveInputValue.fire(S)},onResultClick:S=>{this._onResultClick.fire(S)}})}async show(S){super.show(S),this.aiNativeContextKey.inlineChatIsVisible.set(!0)}getDomNode(){const S=super.getDomNode();return requestAnimationFrame(()=>{S.style.zIndex=(l.StackingLevel.FindWidget-1).toString()}),S}async hide(){this.aiNativeContextKey.inlineChatIsVisible.set(!1),super.hide()}setOptions(S){this.options=S}setOffsetTop(S){this.domNode.style.transform=`translateY(${S}px)`}id(){return v.AIInlineChatContentWidgetId}getPosition(){const S=super.getPosition();if(S)return S;if(!this.options)return null;const{selection:A}=this.options;if(!A)return null;const w=this.computePosition(A);return w||null}safeGetLineLastNonWhitespaceColumn(S){const A=this.editor.getModel();S<1&&(S=1);const w=A.getLineCount();return S>w&&(S=w),A.getLineLastNonWhitespaceColumn(S)}toAbovePosition(S,A){return{position:new s.Position(S,A),preference:[g.monacoBrowser.editor.ContentWidgetPositionPreference.ABOVE,g.monacoBrowser.editor.ContentWidgetPositionPreference.BELOW]}}toBelowPosition(S,A){return{position:new s.Position(S,A),preference:[g.monacoBrowser.editor.ContentWidgetPositionPreference.BELOW,g.monacoBrowser.editor.ContentWidgetPositionPreference.ABOVE]}}recheckSelection(S){const A=S.getStartPosition(),w=S.getEndPosition(),D=this.editor.getModel().getLineCount(),I=Math.max(1,w.lineNumber-1),O=Math.min(D,w.lineNumber+1),L=A.with(I,1),R=w.with(O,this.safeGetLineLastNonWhitespaceColumn(O));if(D===1)return this.toBelowPosition(O,this.safeGetLineLastNonWhitespaceColumn(O));if(R.lineNumber===1&&w.lineNumber!==A.lineNumber)return this.computePosition(s.Selection.fromPositions(L,R));const M=this.safeGetLineLastNonWhitespaceColumn(I),k=this.safeGetLineLastNonWhitespaceColumn(O),B=this.safeGetLineLastNonWhitespaceColumn(w.lineNumber);return k>B&&k>M?this.computePosition(s.Selection.fromPositions(R,L)):this.computePosition(s.Selection.fromPositions(L,R))}isProtrudeAbove(S){const A=this.safeGetLineLastNonWhitespaceColumn(S);return A>=this.safeGetLineLastNonWhitespaceColumn(S-1)&&A>=this.safeGetLineLastNonWhitespaceColumn(S-2)}isProtrudeBelow(S){const A=this.safeGetLineLastNonWhitespaceColumn(S);return A>=this.safeGetLineLastNonWhitespaceColumn(S+1)&&A>=this.safeGetLineLastNonWhitespaceColumn(S+2)}computePosition(S){let A=S.getStartPosition(),w=S.getEndPosition(),T=S.getPosition();const I=this.editor.getModel().getLineCount();if(A.lineNumber===w.lineNumber)return this.recheckSelection(S);w.lineNumber-A.lineNumber===1&&(T=w);const O=this.safeGetLineLastNonWhitespaceColumn(T.lineNumber);let L=T.lineNumber,R="below";if(T.equals(A)){if(Math.max(this.safeGetLineLastNonWhitespaceColumn(T.lineNumber-1),this.safeGetLineLastNonWhitespaceColumn(T.lineNumber-2))<=O)return this.toAbovePosition(T.lineNumber,O);for(let B=A.lineNumber;B<=w.lineNumber;B++){if(this.isProtrudeAbove(B)){L=B,R="above";break}if(this.isProtrudeBelow(B)){L=B,R="below";break}}}else if(T.equals(w)){if(Math.max(this.safeGetLineLastNonWhitespaceColumn(T.lineNumber+1),this.safeGetLineLastNonWhitespaceColumn(T.lineNumber+2))<=O)return this.toBelowPosition(T.lineNumber,O);for(let B=Math.min(I,w.lineNumber+1);B>=A.lineNumber;B--){if(this.isProtrudeBelow(B)){L=B,R="below";break}if(this.isProtrudeAbove(B)){L=B,R="above";break}}}const M=this.safeGetLineLastNonWhitespaceColumn(L)+1;return R==="below"?this.toBelowPosition(L,M):this.toAbovePosition(L,M)}};t.AIInlineContentWidget=b,n.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),n.__metadata("design:type",o.Injector)],b.prototype,"injector",void 0),n.__decorate([(0,o.Autowired)(v.InlineChatFeatureRegistryToken),n.__metadata("design:type",u.InlineChatFeatureRegistry)],b.prototype,"inlineChatFeatureRegistry",void 0),t.AIInlineContentWidget=b=n.__decorate([(0,o.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],b)},15989:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e(85608);n.__exportStar(e(38890),t),n.__exportStar(e(49444),t),n.__exportStar(e(37679),t),n.__exportStar(e(51347),t)},49444:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LiveInlineDiffPreviewer=t.SideBySideInlineDiffWidget=t.BaseInlineDiffPreviewer=void 0;const r=e(85608),o=e(76003),l=e(43718),m=e(20868),E=e(90052),p=e(77714),v=e(43255),s=e(74547),g=e(11827),c=e(9491),h=e(31031),d=e(33062),u=e(37679);let _=class extends l.Disposable{constructor(y){super(),this.monacoEditor=y,this.inlineContentWidget=null,this.model=this.monacoEditor.getModel(),this.addDispose(l.Disposable.create(()=>{this.inlineContentWidget&&this.inlineContentWidget.dispose(),this.attachNode(void 0)}))}formatIndentation(y){const S=this.selection.startLineNumber,A=(0,p.getLeadingWhitespace)(this.model.getLineContent(S));if(y===p.empty||A===p.empty)return y;const{tabSize:w,insertSpaces:T}=this.model.getOptions(),D=this.model.getEOL(),I=(0,c.getSpaceCnt)(A,w);let O=(0,c.generateIndent)(I,w,T);const L=y.split(D),R=L[0];let M=!1;if(R){const B=(0,p.getLeadingWhitespace)(R);O===B?O="":O.length>B.length?O=O.slice(B.length):(O=B.slice(O.length),M=!0)}return L.map(B=>{if(M){const x=(0,p.getLeadingWhitespace)(B);return B=O+B.substring(x.length),B}return O+B}).join(D)}getNode(){return this.node}createNodeSnapshot(){return this.node}mount(y){this.inlineContentWidget=y}layout(){var y,S;(y=this.inlineContentWidget)===null||y===void 0||y.setOptions({position:this.getPosition()}),(S=this.inlineContentWidget)===null||S===void 0||S.layoutContentWidget()}onReady(y){return y(),l.Disposable.NULL}create(y,S={disposeWhenEditorClosed:!0}){this.selection=y,this.node=this.createNode(),this.node.setPreviewerOptions(S)}attachNode(y){this.node=y}show(y,S){}onLineCount(y){return this}setValue(y){}getValue(){return""}getOriginValue(){return""}onError(y){}onAbort(){}onEnd(){}revealFirstDiff(){}isModel(y){return this.model.uri.toString()===y}};t.BaseInlineDiffPreviewer=_,r.__decorate([(0,o.Autowired)(o.INJECTOR_TOKEN),r.__metadata("design:type",o.Injector)],_.prototype,"injector",void 0),t.BaseInlineDiffPreviewer=_=r.__decorate([(0,o.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object])],_);let f=n=class extends _{createNode(){const y=this.injector.get(u.InlineDiffWidget,[n.AI_DIFF_WIDGET_ID,{editor:this.monacoEditor,selection:this.selection}]);return y.create(),this.addDispose(y),y}mount(y){super.mount(y),y.addDispose(this)}getPosition(){return m.Position.lift({lineNumber:this.selection.endLineNumber+1,column:1})}layout(){var y;(y=this.inlineContentWidget)===null||y===void 0||y.setPositionPreference([E.ContentWidgetPositionPreference.BELOW]),super.layout()}onReady(y){return this.node?this.node.onReady(y.bind(this)):l.Disposable.NULL}show(y,S){var A;(A=this.node)===null||A===void 0||A.showByLine(y,S)}setValue(y){var S;const A=(S=this.node)===null||S===void 0?void 0:S.getModifiedModel();A?.setValue(this.formatIndentation(y))}getValue(){var y;return((y=this.node)===null||y===void 0?void 0:y.getModifiedModel()).getValue()}getOriginValue(){var y;return((y=this.node)===null||y===void 0?void 0:y.getOriginModel()).getValue()||""}handleAction(y){if(y===h.EResultKind.ACCEPT){const S=this.getValue();this.model.pushEditOperations(null,[{range:this.selection,text:S}],()=>null),this.model.pushStackElement()}}onLineCount(y){var S;return(S=this.node)===null||S===void 0||S.onMaxLineCount(y.bind(this)),this}onData(y){var S,A;const{message:w}=y,T=this.formatIndentation(w),D=(S=this.node)===null||S===void 0?void 0:S.getModifiedModel(),I=D.getEOL()===`\r
|
|
28269
28269
|
`?v.DefaultEndOfLine.CRLF:v.DefaultEndOfLine.LF,{textBuffer:O,disposable:L}=(0,s.createTextBuffer)(T,I),R=g.ModelService._computeEdits(D,O);D.pushEditOperations([],R,()=>[]),L.dispose(),(A=this.node)===null||A===void 0||A.layout()}onError(y){var S;(S=this.node)===null||S===void 0||S.layout()}onAbort(){var y;(y=this.node)===null||y===void 0||y.layout()}onEnd(){var y;(y=this.node)===null||y===void 0||y.layout()}};t.SideBySideInlineDiffWidget=f,f.AI_DIFF_WIDGET_ID="AI-DIFF-WIDGET",t.SideBySideInlineDiffWidget=f=n=r.__decorate([(0,o.Injectable)({multiple:!0})],f);let a=class extends _{listenNode(y){y.addDispose(y.onDidEditChange(()=>this.layout())),y.addDispose(y.onPartialEditWidgetListChange(A=>{var w;A.every(T=>T.isHidden)&&(this.dispose(),(w=this.inlineContentWidget)===null||w===void 0||w.dispose())}));const S=y.onDispose(()=>{this.dispose(),S.dispose()});this.addDispose(y)}createNode(){const y=this.injector.get(d.InlineStreamDiffHandler,[this.monacoEditor]);return y.initialize(this.selection),this.listenNode(y),y}attachNode(y){var S;if((S=this.node)===null||S===void 0||S.dispose(),this.node=y,y){const A=y.currentSnapshotStore;A&&(this.node.restoreDecorationSnapshot(A.decorationSnapshotData),this.listenNode(y))}}createNodeSnapshot(){if(!this.node)return this.createNode();const y=this.node.createSnapshot(),S=this.injector.get(d.InlineStreamDiffHandler,[this.monacoEditor]);return S.restoreSnapshot(y),S}getPosition(){var y;const S=(y=this.node)===null||y===void 0?void 0:y.getZone();return S?m.Position.lift({lineNumber:S.startLineNumber,column:1}):m.Position.lift({lineNumber:1,column:1})}handleAction(y){var S,A;switch(y){case h.EResultKind.ACCEPT:(S=this.node)===null||S===void 0||S.acceptAll();break;case h.EResultKind.DISCARD:case h.EResultKind.REGENERATE:(A=this.node)===null||A===void 0||A.rejectAll();break;default:break}}onLineCount(){return l.Disposable.NULL}layout(){var y,S,A;(y=this.inlineContentWidget)===null||y===void 0||y.setPositionPreference([E.ContentWidgetPositionPreference.ABOVE,E.ContentWidgetPositionPreference.BELOW]),super.layout();const w=this.getPosition();if(w&&this.inlineContentWidget){const T=(S=this.node)===null||S===void 0?void 0:S.livePreviewDiffDecorationModel.getRemovedWidgets();if(T?.length){const D=w.lineNumber,I=T[0];if(I&&((A=I.getLastPosition())===null||A===void 0?void 0:A.lineNumber)<=D){const L=this.inlineContentWidget.getLineHeight(),R=I.height;this.inlineContentWidget.setOffsetTop(-L*R-4)}}}}onData(y){var S;const{message:A}=y;(S=this.node)===null||S===void 0||S.addLinesToDiff(this.formatIndentation(A))}onEnd(){var y,S;const A=(y=this.node)===null||y===void 0?void 0:y.recompute(d.EComputerMode.legacy);A&&((S=this.node)===null||S===void 0||S.pushRateFinallyDiffStack(A))}getValue(){var y;return((y=this.node)===null||y===void 0?void 0:y.getVirtualModelValue())||""}getOriginValue(){var y;return((y=this.node)===null||y===void 0?void 0:y.getOriginModelValue())||""}setValue(y){var S,A;const w=(S=this.node)===null||S===void 0?void 0:S.recompute(d.EComputerMode.legacy,this.formatIndentation(y));w&&((A=this.node)===null||A===void 0||A.finallyRender(w))}revealFirstDiff(){var y;(y=this.node)===null||y===void 0||y.revealFirstDiff()}};t.LiveInlineDiffPreviewer=a,t.LiveInlineDiffPreviewer=a=r.__decorate([(0,o.Injectable)({multiple:!0})],a)},37679:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(43144),l=n.__importDefault(e(25873)),m=e(76003),E=e(41869),p=n.__importStar(e(20868)),v=e(87822),s=e(34819),g=e(90626),c=n.__importDefault(e(69790)),h={fixedOverflowWidgets:!0,readOnly:!1,enableSplitViewResizing:!0,ignoreTrimWhitespace:!0,renderSideBySide:!0,lineNumbers:"on",glyphMargin:!0,scrollbar:{useShadows:!1,alwaysConsumeMouseWheel:!1,vertical:"hidden"},scrollBeyondLastLine:!1,renderMarginRevertIcon:!1,renderOverviewRuler:!1,rulers:void 0,overviewRulerBorder:void 0,overviewRulerLanes:0,padding:{top:0,bottom:0},folding:!1,diffCodeLens:!1,stickyScroll:{enabled:!1},minimap:{enabled:!1},automaticLayout:!0,renderIndicators:!1,inDiffEditor:!0},d=r.default.memo(_=>{const{range:f,onMaxLineCount:a,editor:b,onReady:y}=_,S=(0,E.useInjectable)(E.MonacoService),A=(0,r.useRef)(null);return(0,r.useEffect)(()=>{if(!f)return;const w=b.getModel();if(!w)return;const T=w.getValueInRange(f),D=S.createDiffEditor(A.current,{...h,lineDecorationsWidth:b.getLayoutInfo().decorationsWidth,lineNumbersMinChars:b.getOption(p.editor.EditorOption.lineNumbersMinChars)}),I=g.StandaloneServices.get(v.IModelService),O={languageId:w.getLanguageId(),onDidChange:E.Event.None},L=I.createModel(T,O,p.Uri.from({scheme:E.Schemes.inMemory,path:"inline-diff-widget/"+(0,E.randomString)(8)}),!0),R=I.createModel("",O,p.Uri.from({scheme:E.Schemes.inMemory,path:"inline-diff-widget/"+(0,E.randomString)(8)}),!0);D.setModel({original:L,modified:R}),D.revealLine(f.startLineNumber,p.editor.ScrollType.Immediate);const M=()=>{if(a){const k=L.getLineCount(),B=R.getLineCount();a(Math.max(k,B)+1)}};return y&&y({getModifiedModel:()=>R,getOriginModel:()=>L,layout:M}),M(),()=>{D&&D.dispose()}},[f,b]),r.default.createElement("div",{ref:A,className:c.default.diff_editor_widget})});let u=class extends s.ZoneWidget{setPreviewerOptions(f){this.previewerOptions=f}_fillContainer(f){this.setCssClass("inline-diff-widget"),this.root=l.default.createRoot(f);let a=null;if(this._resolveResultWidget)if(f.parentNode){const b=document.createElement("div");requestAnimationFrame(()=>{b.className=c.default.ai_diff_editor_resolve_result_widget;const y=this.editor.getLayoutInfo();b.style.width=`${y.contentWidth}px`,b.style.left=`${y.contentLeft}px`}),f.parentNode.appendChild(b),a=(0,o.createPortal)(this._resolveResultWidget,b),this.resultContainer=b}else throw new Error("[impossible path] container.parentNode is null");this.root.render(r.default.createElement(E.ConfigProvider,{value:this.configContext},r.default.createElement("div",{className:c.default.ai_diff_editor_container},r.default.createElement(d,{range:this.range,editor:this.editor,onMaxLineCount:b=>{b&&(this._relayout(b),this._onMaxLineCount.fire(b))},onReady:b=>{this.diffWidgetHandler=b,this._onReady.fire()}})),a))}computeResultWidgetWidth(){const f=this.editor.getLayoutInfo();return f.contentWidth+f.contentLeft}_onWidth(f){super._onWidth(f),requestAnimationFrame(()=>{this.resultContainer&&(this.resultContainer.style.width=`${this.computeResultWidgetWidth()}px`)})}getModifiedModel(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.getModifiedModel()}getOriginModel(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.getOriginModel()}layout(){var f;return(f=this.diffWidgetHandler)===null||f===void 0?void 0:f.layout()}constructor(f,a){super(a.editor,{showArrow:!1,showFrame:!1,arrowColor:void 0,frameColor:void 0,keepEditorSelection:!0,showInHiddenAreas:!0}),this.id=f,this._onMaxLineCount=new E.Emitter,this.onMaxLineCount=this._onMaxLineCount.event,this._onReady=new E.Emitter,this.onReady=this._onReady.event,this.diffWidgetHandler=null,this.resultContainer=null,this._resolveResultWidget=null;const{selection:b,hiddenArea:y,editor:S}=a;this.range=b,this.hiddenArea=y||b,S.setHiddenAreas([this.hiddenArea],this.id)}revealRange(f,a){}setContainerStyle(f){var a;const b=Object.keys(f);for(const y of b)Object.prototype.hasOwnProperty.call((a=this.container)===null||a===void 0?void 0:a.style,y)&&(this.container.style[y]=f[y])}addClassName(f){return this.setCssClass(f),this}dispose(){this.hide(),super.dispose()}hide(){this.editor.setHiddenAreas([],this.id),super.hide(),this.root&&this.root.unmount()}showByLine(f,a=20){this.editor._modelData.viewModel.coordinatesConverter.modelPositionIsVisible=()=>!0,super.show({startLineNumber:f,startColumn:1,endLineNumber:f,endColumn:Number.MAX_SAFE_INTEGER},a)}setResolveResultWidget(f){this._resolveResultWidget=f}};t.InlineDiffWidget=u,n.__decorate([(0,m.Autowired)(E.AppConfig),n.__metadata("design:type",Object)],u.prototype,"configContext",void 0),t.InlineDiffWidget=u=n.__decorate([(0,m.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[String,Object])],u)},38890:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffController=void 0;const n=e(41869),r=e(43718),o=e(57517),l=e(99906),m=e(83854),E=e(40111),p=e(49444);class v extends l.BaseAIMonacoEditorController{constructor(){super(...arguments),this._onMaxLineCount=new r.Emitter,this.onMaxLineCount=this._onMaxLineCount.event,this._previewerNodeStore=new Map}static get(g){return g.getContribution(v.ID)}get preferenceService(){return this.injector.get(n.PreferenceService)}get eventBus(){return this.injector.get(r.IEventBus)}mount(){return this.featureDisposable.addDispose(this.eventBus.on(o.EditorGroupCloseEvent,g=>{const c=g.payload.resource.uri.toString(),h=this.getStoredState(c);h&&h.previewerOptions.disposeWhenEditorClosed&&this.destroyPreviewer(c)})),this.registerInlineDiffFeature(this.monacoEditor),this.featureDisposable}storeState(g){if(!this.previewer)return;const c=this.previewer.createNodeSnapshot();c&&this._previewerNodeStore.set(g,c)}tryRestoreState(g,c){const h=this.getStoredState(c);if(h){if(h.disposed){this.destroyPreviewer(c);return}return this.restoreState(g,h)}}restoreState(g,c){var h;if((h=g.getModel())===null||h===void 0?void 0:h.uri){this.previewer=this.injector.get(p.LiveInlineDiffPreviewer,[g]),this.previewer.attachNode(c),this.listenPreviewer(this.previewer);const u=this.previewer.onDispose(()=>{this.destroyPreviewer(),u.dispose()})}}registerInlineDiffFeature(g){const c=g.getModel();this.featureDisposable.addDispose(g.onWillChangeModel(h=>{if(!h.oldModelUrl)return;const d=h.oldModelUrl.toString();this.storeState(d),this.destroyPreviewer()})),this.featureDisposable.addDispose(g.onDidChangeModel(h=>{h.newModelUrl&&this.tryRestoreState(g,h.newModelUrl.toString())})),c&&this.featureDisposable.addDispose(c.onWillDispose(()=>{const h=c.uri.toString();this.destroyPreviewer(h)}))}showPreviewerByStream(g,c){const{crossSelection:h,chatResponse:d}=c,u=new r.Disposable,_=this.createDiffPreviewer(g,h,c.previewerOptions),f=()=>{_.layout(),u.dispose()};return u.addDispose(_.onReady(()=>{if(E.InlineChatController.is(d)){const a=d;u.addDispose([a.onData(b=>{r.ReplyResponse.is(b)&&_.onData(b)}),a.onError(b=>{_.onError(b),f()}),a.onAbort(()=>{_.onAbort(),f()}),a.onEnd(()=>{_.onEnd(),f()})]),a.listen()}else _.setValue(d.message),f()})),_.layout(),_}createDiffPreviewer(g,c,h){const d=this.preferenceService.getValid(r.AINativeSettingSectionsId.InlineDiffPreviewMode,m.EInlineDiffPreviewMode.inlineLive);return this.destroyPreviewer(),d===m.EInlineDiffPreviewMode.sideBySide?this.previewer=this.injector.get(p.SideBySideInlineDiffWidget,[g]):this.previewer=this.injector.get(p.LiveInlineDiffPreviewer,[g]),this.previewer.create(c,h),this.previewer.show(c.startLineNumber-1,c.endLineNumber-c.startLineNumber+2),this.listenPreviewer(this.previewer),this.previewer}listenPreviewer(g){g&&g.addDispose(g.onLineCount(c=>this._onMaxLineCount.fire(c)))}getPreviewer(){return this.previewer}getStoredState(g){return this._previewerNodeStore.get(g)}handleAction(g){var c;(c=this.previewer)===null||c===void 0||c.handleAction(g)}getModifyContent(){var g;return(g=this.previewer)===null||g===void 0?void 0:g.getValue()}getOriginContent(){var g;return(g=this.previewer)===null||g===void 0?void 0:g.getOriginValue()}destroyPreviewer(g){var c;(c=this.previewer)===null||c===void 0||c.dispose(),this.previewer=void 0,g&&this._previewerNodeStore.delete(g)}revealFirstDiff(){var g;(g=this.previewer)===null||g===void 0||g.revealFirstDiff()}}t.InlineDiffController=v,v.ID="editor.contrib.ai.inline.diff"},51347:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineDiffService=void 0;const n=e(85608),r=e(76003),o=e(70392);let l=class{constructor(){this._partialEventEmitter=new o.Emitter,this.onPartialEdit=this._partialEventEmitter.event}firePartialEdit(E){this._partialEventEmitter.fire(E)}};t.InlineDiffService=l,t.InlineDiffService=l=n.__decorate([(0,r.Injectable)()],l)},53182:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineHintLineDecoration=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(57925),m=e(43718),E=e(20868),p=e(60304),v=e(52416),s=e(75189),g="inline_hint_description",c="inline_hint_description_key";let h=class extends m.Disposable{constructor(u){super(),this.monacoEditor=u,this.colorRegister=(0,v.getColorRegistry)(),p.StandaloneServices.get(s.ICodeEditorService).registerDecorationType(g,c,{isWholeLine:!0}),this.addDispose(m.Disposable.create(()=>{this.monacoEditor.setDecorationsByType(g,c,[])}))}getSequenceKeyString(){var u;const f=(u=this.keybindingRegistry.getKeybindingsForCommand(l.AI_INLINE_CHAT_INTERACTIVE_INPUT_VISIBLE.id)[0])===null||u===void 0?void 0:u.resolved;return f?this.keybindingRegistry.acceleratorForSequence(f,"+"):""}async show(u){var _;const f=(0,m.formatLocalize)("aiNative.inline.hint.widget.placeholder",this.getSequenceKeyString()),a=await this.themeService.getCurrentTheme(),b=this.colorRegister.resolveDefaultColor(v.inputPlaceholderForeground,a);this.monacoEditor.setDecorationsByType(g,c,[{range:E.Range.fromPositions(u),renderOptions:{after:{contentText:f,opacity:"0.5",color:(_=b?.toString())!==null&&_!==void 0?_:"",padding:"0 0 0 12px",width:"max-content"}}}])}};t.InlineHintLineDecoration=h,n.__decorate([(0,r.Autowired)(o.KeybindingRegistry),n.__metadata("design:type",Object)],h.prototype,"keybindingRegistry",void 0),n.__decorate([(0,r.Autowired)(v.IThemeService),n.__metadata("design:type",Object)],h.prototype,"themeService",void 0),t.InlineHintLineDecoration=h=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],h)},77886:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineHintController=void 0;const n=e(43718),r=e(77714),o=e(77659),l=e(99906),m=e(71863),E=e(74353),p=e(19520),v=e(53182);class s extends l.BaseAIMonacoEditorController{static get(c){return c.getContribution(s.ID)}get inlineCompletionsService(){return this.injector.get(m.AICompletionsService)}get inlineInputChatService(){return this.injector.get(E.InlineInputChatService)}mount(){return this.registerHintLineFeature(this.monacoEditor)}registerHintLineFeature(c){const h=new n.Disposable,d=this.injector.get(o.AINativeContextKey,[c.contextKeyService]),u=()=>{h.dispose()},_=f=>{var a;const b=c.getModel();if(!b||this.inlineCompletionsService.isVisibleCompletion)return;const y=b.getLineContent(f.lineNumber),S=b.getLineDecorations(f.lineNumber),A=y?.trim()===r.empty,w=(a=c.getSelection())===null||a===void 0?void 0:a.isEmpty(),T=S.some(D=>D.options.description===p.InlineInputPreviewDecorationID);if(A&&w&&!T){const D=this.injector.get(v.InlineHintLineDecoration,[c]);D.show(f),this.inlineInputChatService.setCurrentVisiblePosition(f),d.inlineHintWidgetIsVisible.set(!0),h.addDispose(D.onDispose(()=>{this.inlineInputChatService.setCurrentVisiblePosition(void 0),d.inlineHintWidgetIsVisible.set(!1)})),h.addDispose(D)}};return this.featureDisposable.addDispose(c.onDidChangeCursorPosition(f=>{u(),_(f.position)})),this.featureDisposable.addDispose(c.onDidFocusEditorWidget(()=>{const f=c.getPosition();f&&(u(),_(f))})),this.featureDisposable.addDispose(c.onDidBlurEditorWidget(()=>{u()})),this.featureDisposable.addDispose(this.inlineCompletionsService.onVisibleCompletion(f=>{f&&u()})),this.featureDisposable.addDispose(h),this.featureDisposable}}t.InlineHintController=s,s.ID="editor.contrib.ai.inline.hint"},32213:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputChatWidget=void 0;const n=e(85608),r=n.__importStar(e(14041)),o=e(76003),l=e(89195),m=e(43718),E=e(90052),p=e(90614),v=e(31031),s=e(26664),g=n.__importDefault(e(13185)),c=e(74353),h=u=>{const{onClose:_,onInteractiveInputSend:f,onLayoutChange:a,onChatStatus:b,onResultClick:y}=u,[S,A]=(0,r.useState)(v.EInlineChatStatus.READY),[w,T]=(0,r.useState)("");(0,r.useEffect)(()=>{const k=new m.Disposable;return k.addDispose(b(B=>A(B))),()=>{k.dispose()}},[b]);const D=(0,r.useMemo)(()=>S===v.EInlineChatStatus.THINKING,[S]),I=(0,r.useMemo)(()=>S===v.EInlineChatStatus.DONE,[S]),O=(0,r.useMemo)(()=>S===v.EInlineChatStatus.ERROR,[S]),L=(0,r.useCallback)(()=>{_?.()},[_]),R=(0,r.useCallback)(k=>{f?.(k)},[f]),M=(0,r.useCallback)(k=>{T(k)},[]);return O?null:I?r.default.createElement(p.InlineResultAction,{onResultClick:y}):r.default.createElement(l.AIAction,{loadingShowOperation:!0,onClose:L,loading:D,customOperationRender:r.default.createElement(l.InteractiveInput,{autoFocus:!0,onHeightChange:k=>a(k),size:"small",placeholder:(0,m.localize)("aiNative.inline.chat.input.placeholder.default"),width:320,value:w,onValueChange:M,disabled:D,onSend:R})})};let d=class extends s.AIInlineContentWidget{constructor(){super(...arguments),this.allowEditorOverflow=!0,this.positionPreference=[E.ContentWidgetPositionPreference.ABOVE]}dispose(){super.dispose(),this.inlineInputChatService.hide()}id(){return m.AIInlineInputChatContentWidgetId}renderView(){return r.default.createElement("div",{className:g.default.input_wrapper},r.default.createElement(h,{onClose:()=>this.dispose(),onChatStatus:this.onStatusChange.bind(this),onLayoutChange:()=>{this.editor.layoutContentWidget(this)},onInteractiveInputSend:_=>{this.launchChatStatus(v.EInlineChatStatus.THINKING),this._onInteractiveInputValue.fire(_)},onResultClick:_=>{this._onResultClick.fire(_)}}))}};t.InlineInputChatWidget=d,n.__decorate([(0,o.Autowired)(c.InlineInputChatService),n.__metadata("design:type",c.InlineInputChatService)],d.prototype,"inlineInputChatService",void 0),t.InlineInputChatWidget=d=n.__decorate([(0,o.Injectable)({multiple:!0})],d)},89060:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputController=void 0;const r=e(85608),o=e(76003),l=e(43718),m=r.__importStar(e(20868)),E=e(2261),p=e(52451),v=e(74547),s=e(77659),g=e(99906),c=e(77633),h=e(40111),d=e(31031),u=e(19520),_=e(32213),f=r.__importDefault(e(13185)),a=e(74353);let b=n=class extends g.BaseAIMonacoEditorController{static get(S){return S.getContribution(n.ID)}get inlineInputChatService(){return this.injector.get(a.InlineInputChatService)}get inlineChatFeatureRegistry(){return this.injector.get(l.InlineChatFeatureRegistryToken)}mount(){return this.registerInlineInputFeature(this.monacoEditor)}async doRequestReadable(S,A,w,T,D,I){const O=this.inlineChatFeatureRegistry.getInteractiveInputHandler(),L=w.getModel();if(!O||!L)return;A.launchChatStatus(d.EInlineChatStatus.THINKING);const R=await this.inlineChatFeatureRegistry.getInteractiveInputStrategyHandler()(w,S);if(R===c.ERunStrategy.EXECUTE&&O.execute){O.execute(w,S,this.token),A.launchChatStatus(d.EInlineChatStatus.DONE),I();return}if(R===c.ERunStrategy.PREVIEW&&O.providePreviewStrategy){const M=await O.providePreviewStrategy(w,S,this.token);if(l.CancelResponse.is(M)){A.launchChatStatus(d.EInlineChatStatus.READY),I();return}if(h.InlineChatController.is(M)){const k=M;let B;const x=this.registerDispose(new l.RunOnceScheduler(()=>{const N=D.getRange(0);N&&B&&L.pushEditOperations(null,[E.EditOperation.replace(N,B)],()=>null)},16*12.5));T.addDispose([k.onData(async N=>{l.ReplyResponse.is(N)&&(B=N.message,x.isScheduled()||x.schedule())}),k.onError(N=>{A.launchChatStatus(d.EInlineChatStatus.ERROR)}),k.onAbort(()=>{A.launchChatStatus(d.EInlineChatStatus.READY)}),k.onEnd(()=>{L.pushStackElement(),A.launchChatStatus(d.EInlineChatStatus.DONE)})]),k.listen()}}}registerInlineInputFeature(S){const A=new l.Disposable,w=this.injector.get(s.AINativeContextKey,[S.contextKeyService]),T=()=>{A.dispose()};this.featureDisposable.addDispose(this.inlineInputChatService.onInteractiveInputVisibleInPosition(I=>{T(),I&&D(I,S)}));const D=(I,O)=>{this.featureDisposable.addDispose(O.onWillChangeModel(()=>{T()}));const L=O.getModel();if(!L||!O.hasTextFocus())return;const M=this.injector.get(_.InlineInputChatWidget,[O]),k=O.createDecorationsCollection();k.append([{range:m.Range.fromPositions(I),options:v.ModelDecorationOptions.register({description:u.InlineInputPreviewDecorationID,isWholeLine:!0,className:f.default.input_decoration_readable_container,inlineClassName:f.default.inline_chat_inserted_range})}]);const B=k.getRange(0);let x=p.LineRange.fromRange(B);M.show({position:B.getStartPosition()}),w.inlineInputWidgetIsVisible.set(!0),A.addDispose(M.onDispose(()=>{this.cancelToken(),k.clear(),w.inlineInputWidgetIsVisible.set(!1)})),A.addDispose(M.onResultClick(async N=>{const j=()=>{const K=k.getRange(0);L.pushStackElement(),L.pushEditOperations(null,[E.EditOperation.delete(K)],()=>null),L.pushStackElement()};switch(N){case d.EResultKind.ACCEPT:T();break;case d.EResultKind.DISCARD:j(),T();break;case d.EResultKind.REGENERATE:j(),await this.doRequestReadable(M.interactiveInputValue,M,O,A,k,T);break;default:break}})),A.addDispose(l.Event.debounce(k.onDidChange.bind(k),()=>{},l.FRAME_THREE)(()=>{if(!k.getRange(0))return;const N=k.getRange(0),j=p.LineRange.fromRange(N);x.equals(j)||(M.setOptions({position:N.getStartPosition()}),M.layoutContentWidget()),x=j})),A.addDispose(M.onInteractiveInputValue(async N=>{await this.doRequestReadable(N,M,O,A,k,T)})),A.addDispose(M)};return this.featureDisposable.addDispose(A),this.featureDisposable}};t.InlineInputController=b,b.ID="editor.contrib.ai.inline.input",t.InlineInputController=b=n=r.__decorate([(0,o.Injectable)()],b)},74353:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineInputChatService=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class{constructor(){this._onInteractiveInputVisibleInPosition=new o.Emitter,this.onInteractiveInputVisibleInPosition=this._onInteractiveInputVisibleInPosition.event}get currentVisiblePosition(){return this._currentVisiblePosition}setCurrentVisiblePosition(E){this._currentVisiblePosition=E}visible(){this._onInteractiveInputVisibleInPosition.fire(this._currentVisiblePosition)}hide(){this._onInteractiveInputVisibleInPosition.fire(void 0)}};t.InlineInputChatService=l,t.InlineInputChatService=l=n.__decorate([(0,r.Injectable)()],l)},76755:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineStreamDiffComputer=void 0;const n=e(9514),r=e(52451),o=e(37348),l=e(44781),m=e(68450),E=e(56702),p=e(89216),v=e(10438),s=e(30861),g=e(46739),c=(d,u,_=m.InfiniteTimeout.instance)=>{if(!d.length||!u.length)return m.DiffAlgorithmResult.trivial(d,u);const f=new v.Array2D(2*d.length+1,u.length+1),a=new v.Array2D(2*d.length+1,u.length+1);for(let D=0;D<=u.length;D++)f.set(0,D,D),a.set(0,D,D>0);for(let D=0;D<=2*d.length;D++)f.set(D,0,Math.floor((D+1)/2)),a.set(D,0,!1);for(let D=1;D<=u.length;D++)for(let I=1;I<=2*d.length;I++){if(!_.isValid())return m.DiffAlgorithmResult.trivialTimedOut(d,u);if(I%2===0){const O=f.get(I,D-1)+1,L=f.get(I-1,D),R=O<L;f.set(I,D,R?O:L),a.set(I,D,R)}else{const O=f.get(I-1,D)+.4,L=d.getElement(Math.floor(I/2))===u.getElement(D-1)?f.get(I-1,D-1):Number.MAX_VALUE,R=L<O;f.set(I,D,R?L:O),a.set(I,D,R)}}let b=Number.MAX_VALUE,y=-1;for(let D=0;D<=2*d.length;D++){const I=f.get(D,u.length);I<b&&(b=I,y=D)}const S=[];let A=y,w=u.length;A<=2*d.length-2&&S.push(new m.SequenceDiff(new o.OffsetRange(Math.floor((A+1)/2),d.length),new o.OffsetRange(w,w)));let T;for(;A>=0&&w>=0;)a.get(A,w)?(A%2===0?T===void 0&&(T={originalLineIndex:Math.floor(A/2),modifiedLineIndex:w}):(T!==void 0&&((T.originalLineIndex!==Math.floor(A/2)+1||T.modifiedLineIndex!==w)&&S.push(new m.SequenceDiff(new o.OffsetRange(Math.floor(A/2)+1,T.originalLineIndex),new o.OffsetRange(w,T.modifiedLineIndex))),T=void 0),A-=1),w-=1):(T=T||{originalLineIndex:Math.floor((A+1)/2),modifiedLineIndex:w},A-=1);return T!==void 0&&((T.originalLineIndex!==Math.floor(A/2)+1||T.modifiedLineIndex!==w)&&S.push(new m.SequenceDiff(new o.OffsetRange(Math.floor(A/2)+1,T.originalLineIndex),new o.OffsetRange(w,T.modifiedLineIndex))),T=void 0),S.reverse(),new m.DiffAlgorithmResult(S,!1)};class h extends E.DefaultLinesDiffComputer{computeDiff(u,_,f){if(u.length<=1&&(0,n.equals)(u,_,(M,k)=>M===k))return new s.LinesDiff([],[],!1);if(u.length===1&&u[0].length===0||_.length===1&&_[0].length===0)return new s.LinesDiff([new g.DetailedLineRangeMapping(new r.LineRange(1,u.length+1),new r.LineRange(1,_.length+1),[new g.RangeMapping(new l.Range(1,1,u.length,u[u.length-1].length+1),new l.Range(1,1,_.length,_[_.length-1].length+1))])],[],!1);const a=f.maxComputationTimeMs===0?m.InfiniteTimeout.instance:new m.DateTimeout(f.maxComputationTimeMs),b=new Map;function y(M){let k=b.get(M);return k===void 0&&(k=b.size,b.set(M,k)),k}const S=u.length*_.length<1e6&&f.onlyCareAboutPrefixOfOriginalLines,A=u.map(M=>y(S?M:M.trim())),w=_.map(M=>y(S?M:M.trim())),T=new p.LineSequence(A,u),D=new p.LineSequence(w,_),I=u.every(M=>M.trim().length===0);let O;S?I?O=m.DiffAlgorithmResult.trivial(T,D):O=c(T,D,a):T.length+D.length<1700?O=this.dynamicProgrammingDiffing.compute(T,D,a,(M,k)=>u[M]===_[k]?_[k].length===0?.1:1+Math.log(1+_[k].length):.99):O=this.myersDiffingAlgorithm.compute(T,D,a);const L=O.diffs,R=O.hitTimeout;if(S){const M=L.map(k=>new g.DetailedLineRangeMapping(new r.LineRange(k.seq1Range.start+1,k.seq1Range.endExclusive+1),new r.LineRange(k.seq2Range.start+1,k.seq2Range.endExclusive+1),[]));return new s.LinesDiff(M,[],R)}return super.computeDiff(u,_,f)}}t.InlineStreamDiffComputer=h},33062:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineStreamDiffHandler=t.EComputerMode=void 0;const n=e(85608),r=e(76003),o=e(41869),l=e(20868),m=e(60304),E=e(52451),p=e(84968),v=e(46739),s=e(87822),g=e(25539),c=e(76755),h=e(80715);var d;(function(f){f.legacy="legacy",f.default="default"})(d||(t.EComputerMode=d={}));const u=new c.InlineStreamDiffComputer;let _=class extends o.Disposable{constructor(a){super(),this.monacoEditor=a,this._onDidEditChange=this.registerDispose(new o.Emitter),this.onDidEditChange=this._onDidEditChange.event,this.rawOriginalTextLinesTokens=[],this.currentEditLine=0,this.finallyDiffModel=null,this.isEditing=!1,this.undoRedoGroup=new g.UndoRedoGroup;const b=m.StandaloneServices.get(s.IModelService);this.virtualModel=b.createModel("",null,o.Uri.from({scheme:o.Schemes.inMemory,path:"inline-stream-diff/"+(0,o.randomString)(8)}),!0),this.originalModel=this.monacoEditor.getModel(),this.livePreviewDiffDecorationModel=this.injector.get(h.LivePreviewDiffDecorationModel,[this.monacoEditor]),this.addDispose(this.livePreviewDiffDecorationModel),this.addDispose(this.virtualModel);const y=this.livePreviewDiffDecorationModel.onDispose(()=>{this.dispose(),y.dispose()})}setPreviewerOptions(a){this.previewerOptions=a,this.livePreviewDiffDecorationModel.setPreviewerOptions({partialEditWidgetOptions:{hideAcceptPartialEditWidget:a.hideAcceptPartialEditWidget},renderRemovedWidgetImmediately:a.renderRemovedWidgetImmediately})}initialize(a){const b=this.originalModel.getEOL(),y=a.getStartPosition(),S=a.getEndPosition();this.rawOriginalTextLines=this.originalModel.getValueInRange(l.Range.fromPositions(y,S)).split(b),this.rawOriginalTextLinesTokens=this.rawOriginalTextLines.map((w,T)=>{const D=y.lineNumber+T;return this.originalModel.tokenization.forceTokenization(D),this.originalModel.tokenization.getLineTokens(D)});const A=E.LineRange.fromRangeInclusive(l.Range.fromPositions({lineNumber:a.startLineNumber,column:1},{lineNumber:a.endLineNumber,column:Number.MAX_SAFE_INTEGER}));this.livePreviewDiffDecorationModel.initialize(A)}restoreSnapshot(a){this._snapshotStore=a;const{rawOriginalTextLines:b,rawOriginalTextLinesTokens:y,undoRedoGroup:S,decorationSnapshotData:A,previewerOptions:w}=a;this.setPreviewerOptions(w),this.rawOriginalTextLines=b,this.rawOriginalTextLinesTokens=y,this.undoRedoGroup=S,this.livePreviewDiffDecorationModel.initialize(A.zone)}get currentSnapshotStore(){return this._snapshotStore}restoreDecorationSnapshot(a){this.livePreviewDiffDecorationModel.restoreSnapshot(a)}createSnapshot(){return{rawOriginalTextLines:this.rawOriginalTextLines,rawOriginalTextLinesTokens:this.rawOriginalTextLinesTokens,undoRedoGroup:this.undoRedoGroup,decorationSnapshotData:this.livePreviewDiffDecorationModel.createSnapshot(),previewerOptions:this.previewerOptions}}getVirtualModelValue(){return this.virtualModel.getValue()}getOriginModelValue(){return this.rawOriginalTextLines.join(`
|
|
28270
28270
|
`)}get onPartialEditWidgetListChange(){return this.livePreviewDiffDecorationModel.onPartialEditWidgetListChange}computeDiff(a,b,y=d.default){const S=(y===d.default?u:p.linesDiffComputers.getLegacy()).computeDiff(a,b,{computeMoves:!1,maxComputationTimeMs:200,ignoreTrimWhitespace:!1,onlyCareAboutPrefixOfOriginalLines:!0});let A=S.changes;S.hitTimeout&&(A=[new v.DetailedLineRangeMapping(new E.LineRange(1,a.length+1),new E.LineRange(1,b.length+1),void 0)]);const w=[];let T=[];for(const L of A)if(L.modified.endLineNumberExclusive===b.length+1&&y===d.default){if(T=a.slice(L.original.startLineNumber-1,L.original.endLineNumberExclusive-1),L.modified.isEmpty)continue;w.push({removedTextLines:[],removedLinesOriginalRange:new E.LineRange(L.original.startLineNumber,L.original.startLineNumber),addedRange:L.modified,relativeInnerChanges:void 0})}else w.push({removedTextLines:a.slice(L.original.startLineNumber-1,L.original.endLineNumberExclusive-1),removedLinesOriginalRange:L.original,addedRange:L.modified,relativeInnerChanges:L.innerChanges?L.innerChanges.map(R=>({originalRange:R.originalRange.delta(-L.original.startLineNumber+1),modifiedRange:R.modifiedRange.delta(-L.modified.startLineNumber+1)})):void 0});const D=[...b,...T];let I=0,O=new E.LineRange(1,1);return T.length>0&&(I=b.length+1,O=new E.LineRange(b.length+1,b.length+1+T.length)),{changes:w,newFullRangeTextLines:D,activeLine:I,pendingRange:O}}calculateAddedDecorationCollectionState(a){const b=this.getZone();return a.changes.map(S=>{const A=S.addedRange,w={lineNumber:b.startLineNumber+A.startLineNumber-1,column:1},T={lineNumber:b.startLineNumber+A.endLineNumberExclusive-2,column:1};return{startPosition:w,endPosition:T,len:A.endLineNumberExclusive-A.startLineNumber}})}renderPartialEditWidgets(a){const b=this.calculateAddedDecorationCollectionState(a);this.livePreviewDiffDecorationModel.touchPartialEditWidgets(b.map(y=>y.startPosition.lineNumber))}renderAddedRangeDecoration(a){const b=this.calculateAddedDecorationCollectionState(a);this.livePreviewDiffDecorationModel.touchAddedRange(b)}renderRemovedRangeDecoration(a){const{changes:b}=a,y=this.getZone();let S=0;const A=[];for(const w of b){const{removedTextLines:T,removedLinesOriginalRange:D,addedRange:I}=w;T.length>0&&A.push({position:{column:1,lineNumber:y.startLineNumber+D.startLineNumber-2-S},textLines:T.map((O,L)=>({text:O,lineTokens:this.rawOriginalTextLinesTokens[D.startLineNumber-1+L]}))}),S+=D.length-I.length}this.livePreviewDiffDecorationModel.touchRemovedWidget(A)}pushStackElement(){const a=this.livePreviewDiffDecorationModel.createEditStackElement(this.undoRedoGroup);a.attachModel(this.livePreviewDiffDecorationModel),a.registerUndo(b=>{b.dispose()})}handleEdits(a){const{activeLine:b,newFullRangeTextLines:y,pendingRange:S}=a,A=this.originalModel.getEOL(),w=this.getZone(),T=w.startLineNumber<w.endLineNumberExclusive?new l.Range(w.startLineNumber,1,w.endLineNumberExclusive-1,this.originalModel.getLineMaxColumn(w.endLineNumberExclusive-1)):new l.Range(w.startLineNumber,1,w.startLineNumber,1),D=this.originalModel.getValueInRange(T).split(A),I=p.linesDiffComputers.getDefault().computeDiff(D,y,{computeMoves:!1,maxComputationTimeMs:200,ignoreTrimWhitespace:!1}),O=[];if(I.hitTimeout){let L=y.join(A);T.isEmpty()&&(L+=A);const R={range:T,text:L,forceMoveMarkers:!1};O.push(R)}else for(const L of I.changes){let R=y.slice(L.modified.startLineNumber-1,L.modified.endLineNumberExclusive-1).join(A),M;L.original.isEmpty?(M=new l.Range(T.startLineNumber+L.original.startLineNumber-1,1,T.startLineNumber+L.original.startLineNumber-1,1),R+=A):L.modified.isEmpty?(M=new l.Range(T.startLineNumber+L.original.startLineNumber-1,1,T.startLineNumber+L.original.endLineNumberExclusive-1,1),R=null):M=new l.Range(T.startLineNumber+L.original.startLineNumber-1,1,T.startLineNumber+L.original.endLineNumberExclusive-2,this.originalModel.getLineMaxColumn(T.startLineNumber+L.original.endLineNumberExclusive-2));const k={range:M,text:R,forceMoveMarkers:!1};O.push(k)}this.originalModel.pushEditOperations(null,O,()=>null,this.undoRedoGroup),this.livePreviewDiffDecorationModel.updateZone(new E.LineRange(w.startLineNumber,w.startLineNumber+y.length)),b>0?this.livePreviewDiffDecorationModel.touchActiveLine(b):this.livePreviewDiffDecorationModel.clearActiveLine(),this.renderAddedRangeDecoration(a),S.length>0?this.livePreviewDiffDecorationModel.touchPendingRange(S):this.livePreviewDiffDecorationModel.clearPendingLine(),this.renderRemovedRangeDecoration(a),this._onDidEditChange.fire()}recompute(a,b){b&&this.virtualModel.setValue(b);const y=this.virtualModel.getLinesContent();return this.computeDiff(this.rawOriginalTextLines,y,a)}async rateEditController(){if(this.isEditing===!1){for(this.isEditing=!0;this.currentEditLine<=this.virtualModel.getLinesContent().length;){if(this.disposed)return;const b=this.virtualModel.getLinesContent().slice(0,this.currentEditLine),y=this.computeDiff(this.rawOriginalTextLines,b);this.handleEdits(y),this.currentEditLine+=1,await(0,o.sleep)(o.FRAME_THREE)}this.finallyDiffModel&&this.finallyRender(this.finallyDiffModel),this.isEditing=!1}}addLinesToDiff(a,b=d.default){this.recompute(b,a),this.rateEditController()}pushRateFinallyDiffStack(a){this.finallyDiffModel=a,this.isEditing===!1&&this.finallyRender(this.finallyDiffModel)}finallyRender(a){this.renderPartialEditWidgets(a),this.handleEdits(a),this.pushStackElement(),this.monacoEditor.focus()}acceptAll(){this.livePreviewDiffDecorationModel.acceptUnProcessed(),this.dispose()}rejectAll(){this.livePreviewDiffDecorationModel.discardUnProcessed(),this.dispose()}revealFirstDiff(){this.livePreviewDiffDecorationModel.revealFirstDiff()}getZone(){return this.livePreviewDiffDecorationModel.getZone()}getTotalCodeInfo(){return this.livePreviewDiffDecorationModel.getTotalCodeInfo()}};t.InlineStreamDiffHandler=_,n.__decorate([(0,r.Autowired)(r.INJECTOR_TOKEN),n.__metadata("design:type",r.Injector)],_.prototype,"injector",void 0),t.InlineStreamDiffHandler=_=n.__decorate([(0,r.Injectable)({multiple:!0}),n.__metadata("design:paramtypes",[Object])],_)},22169:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineStreamDiffService=void 0;const n=e(85608),r=e(76003),o=e(43718);let l=class{constructor(){this._onAcceptDiscardPartialEdit=new o.Emitter,this.onAcceptDiscardPartialEdit=this._onAcceptDiscardPartialEdit.event}launchAcceptDiscardPartialEdit(E){this._onAcceptDiscardPartialEdit.fire(E)}};t.InlineStreamDiffService=l,t.InlineStreamDiffService=l=n.__decorate([(0,r.Injectable)()],l)},54362:(P,t,e)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LivePreviewUndoRedoStackElement=void 0;const n=e(25539);class r{get type(){return n.UndoRedoElementType.Resource}get label(){return"Live.Preview.UndoRedo"}get code(){return"Live.Preview.UndoRedo"}get resource(){return this.model.uri}constructor(l){this.model=l,this.confirmBeforeUndo=!1}attachModel(l){this.decorationModel=l}registerUndo(l){this._undo=l}undo(){var l;(l=this._undo)===null||l===void 0||l.call(this,this.decorationModel)}registerRedo(l){this._redo=l}redo(){var l;(l=this._redo)===null||l===void 0||l.call(this,this.decorationModel)}}t.LivePreviewUndoRedoStackElement=r},8106:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.RemovedZoneWidget=t.AcceptPartialEditWidget=t.EPartialEdit=t.PendingRangeDecoration=t.AddedRangeDecoration=t.ActiveLineDecoration=void 0;const r=e(85608),o=r.__importDefault(e(53373)),l=r.__importStar(e(14041)),m=r.__importDefault(e(25873)),E=e(76003),p=e(41869),v=e(57925),s=e(43718),g=e(52659),c=e(90052),h=e(31324),d=e(34819),u=e(24522),_=r.__importDefault(e(71749));t.ActiveLineDecoration="activeLine-decoration",t.AddedRangeDecoration="added-range-decoration",t.PendingRangeDecoration="pending-range-decoration";var f;(function(A){A.accept="accept",A.discard="discard"})(f||(t.EPartialEdit=f={}));const a=A=>{const{keyStrings:w,onAccept:T,onDiscard:D,editor:I}=A,[O,L]=l.default.useState(0),R=(0,l.useCallback)(()=>{T?.()},[T]),M=(0,l.useCallback)(()=>{D?.()},[D]);return(0,p.useDisposable)(()=>I.onDidScrollChange(k=>{const{scrollLeftChanged:B,scrollLeft:x}=k;B&&L(x)}),[I]),l.default.createElement("div",{className:(0,o.default)("kt-inline-diff-accept-partial-widget-container",_.default.inline_diff_accept_partial_widget_container),style:{marginLeft:O}},l.default.createElement("div",{className:_.default.content},l.default.createElement("span",{className:(0,o.default)(_.default.accept_btn,_.default.btn),onClick:R},(0,s.localize)("aiNative.inline.diff.accept"),l.default.createElement("span",null,w.acceptSequence)),l.default.createElement("span",{className:(0,o.default)(_.default.discard_btn,_.default.btn),onClick:M},(0,s.localize)("aiNative.inline.diff.reject"),l.default.createElement("span",null,w.discardSequence))))};let b=n=class extends g.ReactInlineContentWidget{constructor(w,T){super(w),this.editor=w,this.editWidgetOptions=T,this._onAccept=this.registerDispose(new s.Emitter),this.onAccept=this._onAccept.event,this._onDiscard=this.registerDispose(new s.Emitter),this.onDiscard=this._onDiscard.event,this.positionPreference=[c.ContentWidgetPositionPreference.EXACT],this.addedLinesCount=0,this.deletedLinesCount=0,this.status="pending"}get group(){return this._group}getSequenceKeyStrings(){let w=this.keybindingRegistry.getKeybindingsForCommand(v.AI_INLINE_DIFF_PARTIAL_EDIT.id);if(w=w.sort((T,D)=>D.args-T.args),!(!w||w.length!==2&&w.some(T=>(0,s.isUndefined)(T.resolved))))return{acceptSequence:this.keybindingRegistry.acceleratorForSequence(w[0].resolved,"")[0],discardSequence:this.keybindingRegistry.acceleratorForSequence(w[1].resolved,"")[0]}}renderView(){var w;if(!((w=this.editWidgetOptions)===null||w===void 0)&&w.hideAcceptPartialEditWidget)return;const T=this.getSequenceKeyStrings();if(T)return l.default.createElement(a,{keyStrings:T,onAccept:()=>this._onAccept.fire(),onDiscard:()=>this._onDiscard.fire(),editor:this.editor})}id(){return this._id||(this._id=`${n.ID}_${(0,s.uuid)(4)}`),this._id}getClassName(){return _.default.accept_partial_edit_widget_id}recordDecorationId(w){this._decorationId=w}getDecorationId(){return this._decorationId}resume(){this.status="pending",this.addedLinesCount=0,this.deletedLinesCount=0,super.resume()}setGroup(w){this._group=w}get isPending(){return this.status==="pending"}accept(w,T){this.status="accept",this.addedLinesCount=w,this.deletedLinesCount=T,super.hide()}get isAccepted(){return this.status==="accept"}discard(w,T){this.status="discard",this.addedLinesCount=w,this.deletedLinesCount=T,super.hide()}get isRejected(){return this.status==="discard"}};t.AcceptPartialEditWidget=b,b.ID="AcceptPartialEditWidgetID",r.__decorate([(0,E.Autowired)(p.KeybindingRegistry),r.__metadata("design:type",Object)],b.prototype,"keybindingRegistry",void 0),t.AcceptPartialEditWidget=b=n=r.__decorate([(0,E.Injectable)({multiple:!0}),r.__metadata("design:paramtypes",[Object,Object])],b);const y=({dom:A,editor:w})=>{const T=l.default.useRef(null),[D,I]=l.default.useState(0),[O,L]=l.default.useState(0);return(0,l.useEffect)(()=>{A&&T&&T.current&&T.current.appendChild(A)},[A,T]),(0,p.useDisposable)(()=>w.onDidScrollChange(R=>{const{scrollLeftChanged:M,scrollLeft:k}=R;M&&I(k)}),[w]),(0,p.useDisposable)(()=>(L(w.getOption(h.EditorOption.layoutInfo).contentLeft),w.onDidChangeConfiguration(R=>{R.hasChanged(h.EditorOption.layoutInfo)&&L(w.getOption(h.EditorOption.layoutInfo).contentLeft)})),[w]),l.default.createElement("div",{className:_.default.inline_diff_remove_zone_fixed_box,style:{marginLeft:O+"px"}},l.default.createElement("div",{className:_.default.inline_diff_remove_zone,ref:T,style:{marginLeft:-D+"px"}}))};class S extends d.ZoneWidget{get isHidden(){return this._hidden}get group(){return this._group}constructor(w,T,D){super(w,D),this.textLines=T,this._hidden=!1,(0,s.isDefined)(D.isHidden)&&(this._hidden=D.isHidden),(0,s.isDefined)(D.recordPosition)&&(this._recordPosition=D.recordPosition),(0,s.isDefined)(D.undoRedoGroup)&&(this._group=D.undoRedoGroup);const I=this._positionMarkerId;this._disposables.add(I.onDidChange(O=>{const L=I.getRange(0);L&&(this._recordPosition=L.getStartPosition())}))}setGroup(w){this._group=w}_fillContainer(w){w.classList.add(_.default.inline_diff_remove_zone_widget_container),this.root=m.default.createRoot(w)}getRemovedTextLines(){return this.textLines.map(w=>w.text)}get height(){return this.textLines.length}getLastPosition(){return this.position||this._recordPosition}hide(){this._hidden=!0,super.hide()}resume(){const w=this.getLastPosition();w&&this.show(w,this.height)}show(w,T){this._hidden=!1,super.show(w,T)}revealRange(){}create(){super.create(),this.mountRender()}mountRender(){const w=document.createElement("div");(0,u.renderLines)(w,this.editor.getOption(h.EditorOption.tabIndex),this.textLines.map(({text:T,lineTokens:D})=>({content:T,decorations:[],lineTokens:D})),this.editor.getOptions()),this.root.render(l.default.createElement(y,{dom:w,editor:this.editor}))}dispose(){this.root.unmount(),super.dispose()}}t.RemovedZoneWidget=S},80715:(P,t,e)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.LivePreviewDiffDecorationModel=void 0;const r=e(85608),o=e(76003),l=e(41869),m=e(43718),E=e(20868),p=e(60304),v=e(2261),s=e(74547),g=e(25539),c=e(77659),h=e(53617),d=e(15989),u=r.__importDefault(e(71749)),_=e(22169),f=e(54362),a=e(8106);let b=n=class extends m.Disposable{constructor(S){super(),this.monacoEditor=S,this._onPartialEditWidgetListChange=this.registerDispose(new m.Emitter),this.onPartialEditWidgetListChange=this._onPartialEditWidgetListChange.event,this.options={partialEditWidgetOptions:{}},this.partialEditWidgetList=[],this.removedZoneWidgets=[],this.model=this.monacoEditor.getModel(),this.undoRedoService=p.StandaloneServices.get(g.IUndoRedoService),this.activeLineDec=this.monacoEditor.createDecorationsCollection(),this.pendingRangeDec=this.monacoEditor.createDecorationsCollection(),this.aiNativeContextKey=this.injector.get(c.AINativeContextKey,[this.monacoEditor.contextKeyService]),this.addDispose(this.inlineStreamDiffService.onAcceptDiscardPartialEdit(A=>{const w=this.monacoEditor.getPosition(),T=this.partialEditWidgetList.filter(D=>!D.isHidden).sort((D,I)=>{var O,L,R,M;const k=((L=(O=D.getPosition())===null||O===void 0?void 0:O.position)===null||L===void 0?void 0:L.lineNumber)||1,B=((M=(R=I.getPosition())===null||R===void 0?void 0:R.position)===null||M===void 0?void 0:M.lineNumber)||1,x=Math.abs(w.lineNumber-k),N=Math.abs(w.lineNumber-B);return x-N});T.length>0&&this.handlePartialEditAction(A?a.EPartialEdit.accept:a.EPartialEdit.discard,T[0])})),this.addedRangeDec=new h.EnhanceDecorationsCollection(this.monacoEditor),this.addDispose(this.addedRangeDec.onDidDecorationsChange(A=>{this.aiNativeContextKey.inlineDiffPartialEditsIsVisible.get()&&this.partialEditWidgetList.forEach(T=>{const D=A.find(I=>T.getDecorationId()===I.id);if(D){const I=D.getRange();T.setOptions({position:{lineNumber:I.startLineNumber,column:1}}),T.layoutContentWidget()}})})),this.addDispose(m.Disposable.create(()=>{this.clear()}))}clear(){this.clearPendingLine(),this.clearActiveLine(),this.clearAddedLine(),this.clearRemovedWidgets(),this.clearPartialEditWidgetList()}initialize(S){this.updateZone(S)}getRemovedWidgets(){return this.removedZoneWidgets}restoreSnapshot(S){const{addedDecList:A,removedWidgetList:w,zone:T,editStackSnapshot:D,partialEditWidgetList:I}=S;this.updateZone(T),this.addedRangeDec.set(A),this.clearRemovedWidgets(),w.forEach(R=>{const M=R.getLastPosition();M&&this.showRemovedWidgetByLineNumber(M.lineNumber,R.textLines,{isHidden:R.isHidden,recordPosition:R.getLastPosition(),undoRedoGroup:R.group})}),this.clearPartialEditWidgetList(),I.forEach(R=>{var M,k;const B=(k=(M=R.getPosition())===null||M===void 0?void 0:M.position)===null||k===void 0?void 0:k.lineNumber;if(B){const x=this.createPartialEditWidget(B);R.status==="accept"?x.accept(R.addedLinesCount,R.deletedLinesCount):R.status==="discard"&&x.discard(R.addedLinesCount,R.deletedLinesCount),x.setGroup(R.group),this.partialEditWidgetList.push(x)}}),this.firePartialEditWidgetList(),this.recordPartialEditWidgetWithAddedDec();const O=this.model.uri;this.undoRedoService.restoreSnapshot(D);const L=this.undoRedoService.getElements(O);L.future.concat(L.past).forEach(R=>{R instanceof f.LivePreviewUndoRedoStackElement&&R.attachModel(this)})}createSnapshot(){return{addedDecList:this.addedRangeDec.getDecorations(),partialEditWidgetList:this.partialEditWidgetList,removedWidgetList:this.removedZoneWidgets,editStackSnapshot:this.undoRedoService.createSnapshot(this.model.uri),zone:this.zone}}showRemovedWidgetByLineNumber(S,A,w){const T=new E.Position(S,1),D=A.length,I=new a.RemovedZoneWidget(this.monacoEditor,A,{...w,showInHiddenAreas:!0,showFrame:!1,showArrow:!1});I.create(),this.removedZoneWidgets.push(I),w.isHidden?I.hide():I.show(T,D)}updateZone(S){this.zone=S}getZone(){return this.zone}touchActiveLine(S){const A=this.getZone();this.activeLineDec.set([{range:E.Range.fromPositions({lineNumber:A.startLineNumber+S-1,column:0}),options:s.ModelDecorationOptions.register({description:a.ActiveLineDecoration,isWholeLine:!0,className:u.default.inline_diff_current,zIndex:l.StackingLevel.Workbench})}])}doDiscardPartialWidget(S,A,w){let T=null,D=0,I=0;if(A&&A.length>0){const O=A.getRange();T=v.EditOperation.delete(E.Range.lift({startLineNumber:O.startLineNumber,startColumn:O.startColumn,endLineNumber:O.endLineNumber+1,endColumn:1})),D=A.length,A.hide()}if(w){const O=w.getLastPosition(),L=this.model.getEOL(),R=w.getRemovedTextLines();I=R.length;const M=R.join(L)+L;T?T=v.EditOperation.replace(E.Range.lift(T.range),M):T=v.EditOperation.insert(O.delta(1),M),w.hide()}return S.discard(D,I),T}handlePartialEditAction(S,A,w=!0,T=!1){const D=A.getPosition().position,I=this.aiReporter.getRelationId(),O=this.model,L=this.removedZoneWidgets.find(Y=>Y.getLastPosition().lineNumber===Math.max(1,D.lineNumber-1)),R=this.addedRangeDec.getDecorationByLineNumber(D.lineNumber),M=R?.length||0,k=L?.height||0,B=new g.UndoRedoGroup;A.setGroup(B),L?.setGroup(B),R?.setGroup(B);const x=Y=>Y.partialEditWidgetList.find(H=>H.group===B),N=Y=>Y.removedZoneWidgets.find(H=>H.group===B),j=Y=>Y.addedRangeDec.getDecorationByGroup(B);let K;const U=L?.getRemovedTextLines().join(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opensumi/cli-engine",
|
|
3
|
-
"version": "3.6.5-next-
|
|
3
|
+
"version": "3.6.5-next-1735612114.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.6.5-next-
|
|
30
|
-
"@opensumi/ide-core-common": "3.6.5-next-
|
|
31
|
-
"@opensumi/ide-core-node": "3.6.5-next-
|
|
32
|
-
"@opensumi/ide-express-file-server": "3.6.5-next-
|
|
33
|
-
"@opensumi/ide-extension": "3.6.5-next-
|
|
34
|
-
"@opensumi/ide-i18n": "3.6.5-next-
|
|
35
|
-
"@opensumi/ide-main-layout": "3.6.5-next-
|
|
36
|
-
"@opensumi/ide-startup": "3.6.5-next-
|
|
29
|
+
"@opensumi/ide-core-browser": "3.6.5-next-1735612114.0",
|
|
30
|
+
"@opensumi/ide-core-common": "3.6.5-next-1735612114.0",
|
|
31
|
+
"@opensumi/ide-core-node": "3.6.5-next-1735612114.0",
|
|
32
|
+
"@opensumi/ide-express-file-server": "3.6.5-next-1735612114.0",
|
|
33
|
+
"@opensumi/ide-extension": "3.6.5-next-1735612114.0",
|
|
34
|
+
"@opensumi/ide-i18n": "3.6.5-next-1735612114.0",
|
|
35
|
+
"@opensumi/ide-main-layout": "3.6.5-next-1735612114.0",
|
|
36
|
+
"@opensumi/ide-startup": "3.6.5-next-1735612114.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": "9353d777b789b177dbf86a8ab26dd2c684ef9b64"
|
|
76
76
|
}
|