src/repo/a/very/long/path/of/the/service/at/here/comp.tsx
src/service/b.tsx
src/service/c.tsx
This repo is used for ... I am not sure.'),createAssistantMessage("```tsx\nconst a = 1\nconst b = 2\nconst c = a + b\n```"),createAssistantMessage("...",!0)]}const mockedPlugin={type:"mocked",config:{theme:"light",locale:"en",username:"MockUser",loggedIn:!0,repo:{name:"xpilot",embedding:!0}}};function getPlugin(){var a,et,rt,ht;if(window.devpilot&&(window.devpilot.type!=="mocked"||window.devpilot.type==="mocked"&&!(window.acquireVsCodeApi||window.sendToIntelliJ)))return window.devpilot;const o={handlers:[],receiveFromPlugin(mt,dt){const Tt=bt=>{bt.command===mt&&dt(bt.payload)};return this.handlers.push(Tt),Tt},disposeHandler(mt){this.handlers=this.handlers.filter(dt=>dt!==mt)}};if(window.acquireVsCodeApi){const mt=window.acquireVsCodeApi();return window.devpilot={...o,type:"vscode",config:{theme:document.body.classList.contains("vscode-light")?"light":"dark",locale:"en",username:"User",loggedIn:!0,repo:{name:"repo",embedding:!1}},sendToPlugin(dt){mt.postMessage(dt)}},window.addEventListener("message",dt=>{window.devpilot.handlers.forEach(Tt=>Tt(dt.data))}),window.devpilot}return window.sendToIntelliJ?(window.receiveFromIntelliJ=function(mt){window.devpilot.handlers.forEach(dt=>{dt(mt)})},window.devpilot={...o,type:"intellij",config:{theme:((a=window.intellijConfig)==null?void 0:a.theme)??"light",locale:((et=window.intellijConfig)==null?void 0:et.locale)??"en",username:((rt=window.intellijConfig)==null?void 0:rt.username)??"User",loggedIn:((ht=window.intellijConfig)==null?void 0:ht.loggedIn)??!1,repo:{name:"",embedding:!1}},sendToPlugin(mt){window.sendToIntelliJ(JSON.stringify(mt))}},window.devpilot):(window.devpilot={...o,...mockedPlugin,handlers:[],sendToPlugin(mt){console.log("Message to plugin:",mt)}},window.devpilot)}function isStandardalone(){return getPlugin().type==="mocked"}function sendToPlugin(o,a={}){return getPlugin().sendToPlugin({command:o,payload:a})}function receiveFromPlugin(o,a){return getPlugin().receiveFromPlugin(o,a)}function disposeHandler(o){o&&window.devpilot&&window.devpilot.disposeHandler(o)}function usePluginState(o){const[a,et]=reactExports.useState(getPlugin().config[o]);return reactExports.useEffect(()=>{let rt;o==="theme"?rt=getPlugin().receiveFromPlugin(PluginCommand.ThemeChanged,mt=>{getPlugin().config.theme=mt.theme,et(mt.theme)}):o==="locale"?rt=getPlugin().receiveFromPlugin(PluginCommand.LocaleChanged,mt=>{getPlugin().config.locale=mt.locale,et(mt.locale)}):o==="repo"&&(rt=getPlugin().receiveFromPlugin(PluginCommand.PresentCodeEmbeddedState,mt=>{getPlugin().config.repo={name:mt.repoName,embedding:mt.repoEmbedded},et({name:mt.repoName,embedding:mt.repoEmbedded})}));let ht=getPlugin().receiveFromPlugin(PluginCommand.ConfigurationChanged,mt=>{mt[o]!==void 0&&(getPlugin().config[o]=mt[o],et(mt[o]))});return()=>{disposeHandler(rt),disposeHandler(ht)}},[]),a}const lightTheme={text:"#363537",textFaint:"#999",background:"#F0F0F0",border:"solid 1px #f2f2f2",msgBoxBG:"#FFF",inputBG:"#FFF",stopStreamBG:"linear-gradient(355deg, #f3f3f3, #FFF)",inputFieldBG:"var(--vscode-input-background, #FFF)",inputFieldOutline:"#535bf2 solid 1px",btnBG:"#535bf2",btnText:"#FFF",primary:"#48a4ff",codeBG:"#F0F0F0",highlightBG:"#48a4ff",hoverBG:"#d1e8ff",contextMenuShadow:"0px 4px 6px rgba(100,100,100,0.1)",ragFileListBG:"#f3f3f3",ragFileListTitleBG:"#f3f3f3",ragFileListItemFG:"#0884ff",ragFileListItemHoverFG:"#48a4ff"},darkTheme={text:"var(--vscode-foreground, #ccc)",textFaint:"#999",background:"#181818",border:"solid 1px #717171",msgBoxBG:"#242424",inputBG:"#2E2E2F",stopStreamBG:"linear-gradient(355deg, #454545, #5e5e5e)",inputFieldBG:"var(--vscode-input-background, #333)",inputFieldOutline:"#999 solid 1px",btnBG:"#535bf2",btnText:"#FFF",primary:"#48a4ff",codeBG:"#282c34",highlightBG:"#48a4ff",hoverBG:"#295582",contextMenuShadow:"0px 4px 6px rgba(0,0,0,0.1)",ragFileListBG:"#191919",ragFileListTitleBG:"#191919",ragFileListItemFG:"#0884ff",ragFileListItemHoverFG:"#48a4ff"};function useTheme(){return usePluginState("theme")}const min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=o=>({x:o,y:o}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"},oppositeAlignmentMap={start:"end",end:"start"};function clamp(o,a,et){return max(o,min(a,et))}function evaluate(o,a){return typeof o=="function"?o(a):o}function getSide(o){return o.split("-")[0]}function getAlignment(o){return o.split("-")[1]}function getOppositeAxis(o){return o==="x"?"y":"x"}function getAxisLength(o){return o==="y"?"height":"width"}function getSideAxis(o){return["top","bottom"].includes(getSide(o))?"y":"x"}function getAlignmentAxis(o){return getOppositeAxis(getSideAxis(o))}function getAlignmentSides(o,a,et){et===void 0&&(et=!1);const rt=getAlignment(o),ht=getAlignmentAxis(o),mt=getAxisLength(ht);let dt=ht==="x"?rt===(et?"end":"start")?"right":"left":rt==="start"?"bottom":"top";return a.reference[mt]>a.floating[mt]&&(dt=getOppositePlacement(dt)),[dt,getOppositePlacement(dt)]}function getExpandedPlacements(o){const a=getOppositePlacement(o);return[getOppositeAlignmentPlacement(o),a,getOppositeAlignmentPlacement(a)]}function getOppositeAlignmentPlacement(o){return o.replace(/start|end/g,a=>oppositeAlignmentMap[a])}function getSideList(o,a,et){const rt=["left","right"],ht=["right","left"],mt=["top","bottom"],dt=["bottom","top"];switch(o){case"top":case"bottom":return et?a?ht:rt:a?rt:ht;case"left":case"right":return a?mt:dt;default:return[]}}function getOppositeAxisPlacements(o,a,et,rt){const ht=getAlignment(o);let mt=getSideList(getSide(o),et==="start",rt);return ht&&(mt=mt.map(dt=>dt+"-"+ht),a&&(mt=mt.concat(mt.map(getOppositeAlignmentPlacement)))),mt}function getOppositePlacement(o){return o.replace(/left|right|bottom|top/g,a=>oppositeSideMap[a])}function expandPaddingObject(o){return{top:0,right:0,bottom:0,left:0,...o}}function getPaddingObject(o){return typeof o!="number"?expandPaddingObject(o):{top:o,right:o,bottom:o,left:o}}function rectToClientRect(o){const{x:a,y:et,width:rt,height:ht}=o;return{width:rt,height:ht,top:et,left:a,right:a+rt,bottom:et+ht,x:a,y:et}}function computeCoordsFromPlacement(o,a,et){let{reference:rt,floating:ht}=o;const mt=getSideAxis(a),dt=getAlignmentAxis(a),Tt=getAxisLength(dt),bt=getSide(a),kt=mt==="y",$t=rt.x+rt.width/2-ht.width/2,Ct=rt.y+rt.height/2-ht.height/2,Ot=rt[Tt]/2-ht[Tt]/2;let xt;switch(bt){case"top":xt={x:$t,y:rt.y-ht.height};break;case"bottom":xt={x:$t,y:rt.y+rt.height};break;case"right":xt={x:rt.x+rt.width,y:Ct};break;case"left":xt={x:rt.x-ht.width,y:Ct};break;default:xt={x:rt.x,y:rt.y}}switch(getAlignment(a)){case"start":xt[dt]-=Ot*(et&&kt?-1:1);break;case"end":xt[dt]+=Ot*(et&&kt?-1:1);break}return xt}const computePosition$1=async(o,a,et)=>{const{placement:rt="bottom",strategy:ht="absolute",middleware:mt=[],platform:dt}=et,Tt=mt.filter(Boolean),bt=await(dt.isRTL==null?void 0:dt.isRTL(a));let kt=await dt.getElementRects({reference:o,floating:a,strategy:ht}),{x:$t,y:Ct}=computeCoordsFromPlacement(kt,rt,bt),Ot=rt,xt={},Pt=0;for(let Dt=0;Dt