@loicngr/kobo 1.11.41 → 1.11.42

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.
Files changed (80) hide show
  1. package/AGENTS.md +21 -0
  2. package/CHANGELOG.md +4 -0
  3. package/dist/server/routes/workspaces.js +4 -3
  4. package/dist/server/services/activity-service.js +3 -0
  5. package/dist/server/services/agent/engines/claude-code/engine.js +1 -0
  6. package/dist/server/services/settings-service.js +13 -0
  7. package/package.json +1 -1
  8. package/src/client/dist/pwa/assets/{ActivityFeed-DTIe6O9o.js → ActivityFeed-CyCGH0Zr.js} +1 -1
  9. package/src/client/dist/pwa/assets/{ChangelogPage-BWeu0YeI.js → ChangelogPage-B6xjI-I4.js} +1 -1
  10. package/src/client/dist/pwa/assets/{ComparisonPanel-o_EHlTwV.js → ComparisonPanel-BmRzCu1c.js} +1 -1
  11. package/src/client/dist/pwa/assets/CreatePage-DHe0x63K.js +2 -0
  12. package/src/client/dist/pwa/assets/CreatePage-TY9g3hZb.css +1 -0
  13. package/src/client/dist/pwa/assets/{DashboardPage-CIo_gesD.js → DashboardPage-CRTkx9P-.js} +1 -1
  14. package/src/client/dist/pwa/assets/{DiffViewer-DEcf48KI.js → DiffViewer-BJfLiYGs.js} +3 -3
  15. package/src/client/dist/pwa/assets/{DocumentsPanel-D9vcB91W.js → DocumentsPanel-B9jjzoqY.js} +1 -1
  16. package/src/client/dist/pwa/assets/{DrawerToggleButton-Ca0_CxSl.js → DrawerToggleButton-CBZpPa30.js} +1 -1
  17. package/src/client/dist/pwa/assets/GitPanel-gqySqt7G.js +3 -0
  18. package/src/client/dist/pwa/assets/{HealthPage-_q3vy_xn.js → HealthPage-9VEvoR_4.js} +1 -1
  19. package/src/client/dist/pwa/assets/MainLayout-BM14JTBB.js +2 -0
  20. package/src/client/dist/pwa/assets/{MainLayout-DxMVVA6f.css → MainLayout-Dhj28mOe.css} +1 -1
  21. package/src/client/dist/pwa/assets/{QBtnDropdown-BeiZIHVA.js → QBtnDropdown-Cnkq_5eu.js} +1 -1
  22. package/src/client/dist/pwa/assets/{QDrawer-Fj3M9QGD.js → QDrawer-C3b-lbmv.js} +1 -1
  23. package/src/client/dist/pwa/assets/{QSelect-DtSUuK8t.js → QSelect-DJL6yy1E.js} +1 -1
  24. package/src/client/dist/pwa/assets/{QTooltip-DwkX8eQ6.js → QTooltip-WIoDeLoZ.js} +1 -1
  25. package/src/client/dist/pwa/assets/{SchedulePanel-BlZDd7TK.js → SchedulePanel-tVggDx-C.js} +1 -1
  26. package/src/client/dist/pwa/assets/{SearchPage-BGi1yRxU.js → SearchPage-l4m1qxKs.js} +1 -1
  27. package/src/client/dist/pwa/assets/SettingsPage-W6N01tGz.css +1 -0
  28. package/src/client/dist/pwa/assets/SettingsPage-msHMBS7q.js +9 -0
  29. package/src/client/dist/pwa/assets/{SplitWorkspacePage-vz6jN1DM.js → SplitWorkspacePage-AXMYd-9b.js} +1 -1
  30. package/src/client/dist/pwa/assets/{TerminalPanel-IdPIGp2_.js → TerminalPanel-CENXl8po.js} +1 -1
  31. package/src/client/dist/pwa/assets/{TouchPan-DTJqxVp9.js → TouchPan-DaEpS0Vf.js} +1 -1
  32. package/src/client/dist/pwa/assets/{TourReplayButton-Bj2GGyhU.js → TourReplayButton-U3mwT0fV.js} +1 -1
  33. package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-BBaGZlwv.js → WorkspaceAttentionLabels-CpTA6VGb.js} +1 -1
  34. package/src/client/dist/pwa/assets/{WorkspacePage-Dy0spsfi.js → WorkspacePage-DE6-wlf7.js} +3 -3
  35. package/src/client/dist/pwa/assets/{browser-BFj5wwbS.js → browser-B4pgwnXH.js} +1 -1
  36. package/src/client/dist/pwa/assets/{build-path-tree-C-HSiySk.js → build-path-tree-6ENXqh7O.js} +1 -1
  37. package/src/client/dist/pwa/assets/{de-BdLe7apJ.js → de-D9gPXN_a.js} +1 -1
  38. package/src/client/dist/pwa/assets/{documents-C2Xnjh9Z.js → documents-D88lOIxR.js} +1 -1
  39. package/src/client/dist/pwa/assets/{editor.api-BbKfnNmv.js → editor.api-qQNqM6Y6.js} +1 -1
  40. package/src/client/dist/pwa/assets/{efforts-BM7fdaaL.js → efforts-CMQi0Rp2.js} +1 -1
  41. package/src/client/dist/pwa/assets/{engineFeatures-b74YRODT.js → engineFeatures-BPcXoXFd.js} +1 -1
  42. package/src/client/dist/pwa/assets/{es-C1LM-3aq.js → es-B4Q1ncyP.js} +1 -1
  43. package/src/client/dist/pwa/assets/{expand-template-DiDWiIkx.js → expand-template-DuMdsD-k.js} +1 -1
  44. package/src/client/dist/pwa/assets/{format-CnbUxAmw.js → format-BVgznNN8.js} +1 -1
  45. package/src/client/dist/pwa/assets/{formatters-B2uUIbAY.js → formatters-DV1VAk5B.js} +1 -1
  46. package/src/client/dist/pwa/assets/{fr-KCK6r5ga.js → fr-Qv-edVJn.js} +1 -1
  47. package/src/client/dist/pwa/assets/{freemarker2-Cu1vGY0x.js → freemarker2-Nt_Z9A9p.js} +1 -1
  48. package/src/client/dist/pwa/assets/{handlebars-CETuqLyz.js → handlebars-sJjXCA98.js} +1 -1
  49. package/src/client/dist/pwa/assets/{html-BTNpr39P.js → html-B2wF0NKO.js} +1 -1
  50. package/src/client/dist/pwa/assets/i18n-eiyc92m_.js +1 -0
  51. package/src/client/dist/pwa/assets/{index-mvh5w1cM.js → index-DtsrXdzx.js} +2 -2
  52. package/src/client/dist/pwa/assets/{it-BM6t0IGU.js → it-D-qzfo9T.js} +1 -1
  53. package/src/client/dist/pwa/assets/{javascript-C7Ncb6V7.js → javascript-BPbCoYVZ.js} +1 -1
  54. package/src/client/dist/pwa/assets/{liquid-D0hUdg4x.js → liquid-DBwLDEnw.js} +1 -1
  55. package/src/client/dist/pwa/assets/{mdx-BK5H1Xst.js → mdx-D_Sphj-P.js} +1 -1
  56. package/src/client/dist/pwa/assets/{monaco-contributions-BBW6JNgz.js → monaco-contributions-BBjimLYs.js} +1 -1
  57. package/src/client/dist/pwa/assets/monaco.contribution-DNP7HNKq.js +2 -0
  58. package/src/client/dist/pwa/assets/{network-auth-CVGS__6a.js → network-auth-BLGlHVxR.js} +1 -1
  59. package/src/client/dist/pwa/assets/{notify-theme-DIKLxr8F.js → notify-theme-tvaTlaFw.js} +1 -1
  60. package/src/client/dist/pwa/assets/{pending-diff-open-B02zuH1j.js → pending-diff-open-CxtcrwVN.js} +1 -1
  61. package/src/client/dist/pwa/assets/{permissionModes-C3otN1Vk.js → permissionModes-CESk18Vk.js} +1 -1
  62. package/src/client/dist/pwa/assets/{project-color-BUcW_eZA.js → project-color-D75XmBNA.js} +1 -1
  63. package/src/client/dist/pwa/assets/{python-DEeUVvnp.js → python-BdBTal4f.js} +1 -1
  64. package/src/client/dist/pwa/assets/{razor-CG6cL8ya.js → razor-gJNlRRte.js} +1 -1
  65. package/src/client/dist/pwa/assets/{render-chat-markdown-Ct_T5TPN.js → render-chat-markdown-K3tUW_1p.js} +1 -1
  66. package/src/client/dist/pwa/assets/{typescript-CSQAg5UC.js → typescript-DAGixRVW.js} +1 -1
  67. package/src/client/dist/pwa/assets/{use-tours-_6HwJ_Rp.js → use-tours-CS5oBFk6.js} +1 -1
  68. package/src/client/dist/pwa/assets/{workspace-templates-B8WWsWEI.js → workspace-templates-BoGUaV1C.js} +1 -1
  69. package/src/client/dist/pwa/assets/{xml-BSB4-DXR.js → xml-BC9pt2ZZ.js} +1 -1
  70. package/src/client/dist/pwa/assets/{yaml-CSGKph85.js → yaml-CQpOdW-l.js} +1 -1
  71. package/src/client/dist/pwa/index.html +1 -1
  72. package/src/client/dist/pwa/sw.js +1 -1
  73. package/src/client/dist/pwa/assets/CreatePage-CGi88k6z.css +0 -1
  74. package/src/client/dist/pwa/assets/CreatePage-DbY5gBv8.js +0 -2
  75. package/src/client/dist/pwa/assets/GitPanel-DCmB2R5i.js +0 -3
  76. package/src/client/dist/pwa/assets/MainLayout-Duwnq3cc.js +0 -2
  77. package/src/client/dist/pwa/assets/SettingsPage-DnO-ImWE.js +0 -9
  78. package/src/client/dist/pwa/assets/SettingsPage-sVlsJQ0b.css +0 -1
  79. package/src/client/dist/pwa/assets/i18n-BkUirOzl.js +0 -1
  80. package/src/client/dist/pwa/assets/monaco.contribution-1LZrAlY4.js +0 -2
@@ -1,4 +1,4 @@
1
- import{t as e}from"./SettingsPage-DnO-ImWE.js";var t=e(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),n=e((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),r=e((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),i=e(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),a=e(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),o=e((e=>{var t=n().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),s=e((e=>{var t=n().getSymbolSize,r=7;e.getPositions=function(e){let n=t(e);return[[0,0],[n-r,0],[0,n-r]]}})),c=e((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),l=e((e=>{var t=r(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return i[(e-1)*4+0];case t.M:return i[(e-1)*4+1];case t.Q:return i[(e-1)*4+2];case t.H:return i[(e-1)*4+3];default:return}}})),u=e((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),d=e((e=>{var t=u();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),f=e(((e,t)=>{var n=d();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),p=e((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),m=e((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
1
+ import{t as e}from"./SettingsPage-msHMBS7q.js";var t=e(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),n=e((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),r=e((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),i=e(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),a=e(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),o=e((e=>{var t=n().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),s=e((e=>{var t=n().getSymbolSize,r=7;e.getPositions=function(e){let n=t(e);return[[0,0],[n-r,0],[0,n-r]]}})),c=e((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),l=e((e=>{var t=r(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return i[(e-1)*4+0];case t.M:return i[(e-1)*4+1];case t.Q:return i[(e-1)*4+2];case t.H:return i[(e-1)*4+3];default:return}}})),u=e((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),d=e((e=>{var t=u();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),f=e(((e,t)=>{var n=d();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),p=e((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),m=e((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
2
2
  ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),h=e((e=>{var t=p(),n=m();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),g=e((e=>{var t=n(),i=l(),a=r(),o=h(),s=p(),c=7973,u=t.getBCHDigit(c);function d(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function f(e,t){return o.getCharCountIndicator(e,t)+4}function m(e,t){let n=0;return e.forEach(function(e){let r=f(e.mode,t);n+=r+e.getBitsLength()}),n}function g(t,n){for(let r=1;r<=40;r++)if(m(t,r)<=e.getCapacity(r,n,o.MIXED))return r}e.from=function(e,t){return s.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,n,r){if(!s.isValid(e))throw Error(`Invalid QR Code version`);r===void 0&&(r=o.BYTE);let a=(t.getSymbolTotalCodewords(e)-i.getTotalCodewordsCount(e,n))*8;if(r===o.MIXED)return a;let c=a-f(r,e);switch(r){case o.NUMERIC:return Math.floor(c/10*3);case o.ALPHANUMERIC:return Math.floor(c/11*2);case o.KANJI:return Math.floor(c/13);case o.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,r=a.from(t,a.M);if(Array.isArray(e)){if(e.length>1)return g(e,r);if(e.length===0)return 1;n=e[0]}else n=e;return d(n.mode,n.getLength(),r)},e.getEncodedBits=function(e){if(!s.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-u>=0;)n^=c<<t.getBCHDigit(n)-u;return e<<12|n}})),_=e((e=>{var t=n(),r=1335,i=21522,a=t.getBCHDigit(r);e.getEncodedBits=function(e,n){let o=e.bit<<3|n,s=o<<10;for(;t.getBCHDigit(s)-a>=0;)s^=r<<t.getBCHDigit(s)-a;return(o<<10|s)^i}})),v=e(((e,t)=>{var n=h();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),y=e(((e,t)=>{var n=h(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),b=e(((e,t)=>{var n=h();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),x=e(((e,t)=>{var r=h(),i=n();function a(e){this.mode=r.KANJI,this.data=e}a.getBitsLength=function(e){return e*13},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(e){let t=0;for(;t<this.data.length;t++){let n=i.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
3
3
  Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=a})),S=e(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),C=e((e=>{var t=h(),r=v(),i=y(),a=b(),o=x(),s=m(),c=n(),l=S();function u(e){return unescape(encodeURIComponent(e)).length}function d(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function f(e){let n=d(s.NUMERIC,t.NUMERIC,e),r=d(s.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return c.isKanjiModeEnabled()?(i=d(s.BYTE,t.BYTE,e),a=d(s.KANJI,t.KANJI,e)):(i=d(s.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function p(e,n){switch(n){case t.NUMERIC:return r.getBitsLength(e);case t.ALPHANUMERIC:return i.getBitsLength(e);case t.KANJI:return o.getBitsLength(e);case t.BYTE:return a.getBitsLength(e)}}function g(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function _(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:u(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:u(i.data)}])}}return n}function C(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=p(r[o].lastCount+l.length,l.mode)-p(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=p(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function w(e,n){let s,l=t.getBestModeForData(e);if(s=t.from(n,l),s!==t.BYTE&&s.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(s)+`.
4
4
  Suggested mode is: `+t.toString(l));switch(s===t.KANJI&&!c.isKanjiModeEnabled()&&(s=t.BYTE),s){case t.NUMERIC:return new r(e);case t.ALPHANUMERIC:return new i(e);case t.KANJI:return new o(e);case t.BYTE:return new a(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(w(t,null)):t.data&&e.push(w(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=C(_(f(t,c.isKanjiModeEnabled())),n),i=l.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(g(a))},e.rawSplit=function(t){return e.fromArray(f(t,c.isKanjiModeEnabled()))}})),w=e((e=>{var t=n(),u=r(),d=i(),p=a(),m=o(),v=s(),y=c(),b=l(),x=f(),S=g(),w=_(),T=h(),E=C();function D(e,t){let n=e.size,r=v.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function O(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function k(e,t){let n=m.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function A(e,t){let n=e.size,r=S.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function j(e,t,n){let r=e.size,i=w.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function M(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function N(e,n,r){let i=new d;r.forEach(function(t){i.put(t.mode.bit,4),i.put(t.getLength(),T.getCharCountIndicator(t.mode,e)),t.write(i)});let a=(t.getSymbolTotalCodewords(e)-b.getTotalCodewordsCount(e,n))*8;for(i.getLengthInBits()+4<=a&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(0);let o=(a-i.getLengthInBits())/8;for(let e=0;e<o;e++)i.put(e%2?17:236,8);return P(i,e,n)}function P(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-b.getTotalCodewordsCount(n,r),o=b.getBlocksCount(n,r),s=o-i%o,c=Math.floor(i/o),l=Math.floor(a/o),u=l+1,d=c-l,f=new x(d),p=0,m=Array(o),h=Array(o),g=0,_=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?l:u;m[e]=_.slice(p,p+t),h[e]=f.encode(m[e]),p+=t,g=Math.max(g,t)}let v=new Uint8Array(i),y=0,S,C;for(S=0;S<g;S++)for(C=0;C<o;C++)S<m[C].length&&(v[y++]=m[C][S]);for(S=0;S<d;S++)for(C=0;C<o;C++)v[y++]=h[C][S];return v}function F(e,n,r,i){let a;if(Array.isArray(e))a=E.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=E.rawSplit(e);t=S.getBestVersionForData(n,r)}a=E.fromString(e,t||40)}else throw Error(`Invalid data`);let o=S.getBestVersionForData(a,r);if(!o)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=o;else if(n<o)throw Error(`
@@ -1 +1 @@
1
- import{S as e,v as t}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as n,J as r,N as i,O as a,P as o,R as s,T as c,X as l,b as u,j as d,k as f,l as p}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as ee,U as te,dt as ne,et as m,l as re,st as h,tt as g,w as ie,y as ae}from"./QBtn-CZaBclNw.js";import{a as _,i as oe}from"./pinia-BKqmoVru.js";import{Lt as v,Pt as se,s as ce}from"./index-mvh5w1cM.js";import{c as le,l as y}from"./QSelect-DtSUuK8t.js";import{f as ue}from"./permissionModes-C3otN1Vk.js";var b=[`none`,`strict`,`leaf`,`leaf-filtered`],de=Symbol(`QTree`),fe=g({name:`QTreeNode`,props:{node:{type:Object,required:!0}},setup(e){let t=c(de);return()=>t.renderNode(e.node)}});function x(e){let n=new Map,i=new Set(e());return r(e,e=>{let t=new Set(e);i.forEach(e=>{if(!t.has(e)){let t=n.get(e);t!==void 0&&(t.value=!1)}}),t.forEach(e=>{if(!i.has(e)){let t=n.get(e);t!==void 0&&(t.value=!0)}}),i=t},{flush:`sync`}),{has(e){let r=n.get(e);return r===void 0&&(r=t(i.has(e)),n.set(e,r)),r.value},prune(e){n.forEach((t,r)=>{e.has(r)||n.delete(r)})}}}function pe(e,t){if(e.depth===0)return[];let r=e.lines.map(e=>n(`div`,{class:`q-tree__vguide`+(e?` q-tree__vguide--line`:``)}));return r.push(n(`div`,{class:`q-tree__vguide`+(t?` q-tree__vguide--connector`:``)+(e.cont?` q-tree__vguide--line`:``)})),r}function me(e){if(e.icon!==void 0)return n(re,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return n(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var S=g({name:`QTree`,props:{..._,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>b.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,virtualScroll:Boolean,virtualScrollTarget:v,virtualScrollItemSize:y.virtualScrollItemSize.type,virtualScrollSliceSize:y.virtualScrollSliceSize,virtualScrollSliceRatioBefore:y.virtualScrollSliceRatioBefore,virtualScrollSliceRatioAfter:y.virtualScrollSliceRatioAfter,virtualScrollStickySizeStart:y.virtualScrollStickySizeStart,virtualScrollStickySizeEnd:y.virtualScrollStickySizeEnd,onVirtualScroll:Function,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(c,{slots:g,emit:_}){let{proxy:v}=u(),y=ae(),b=oe(c,y),S=t({}),C=t(c.ticked||[]),w=t(c.expanded||[]),T=p(()=>new Set(w.value)),E=null,D=null,O=new Set,k={},A={},he=p(()=>`q-tree q-tree--${c.dense?`dense`:`standard`}`+(c.noConnectors?` q-tree--no-connectors`:``)+(b()?` q-tree--dark`:``)+(c.color===void 0?``:` text-${c.color}`)),j=t(c.selected!==void 0);r(()=>c.selected!==void 0,e=>{j.value=e},{flush:`sync`});let ge=p(()=>c.icon||y.iconSet.tree.icon),_e=p(()=>c.controlColor||c.color),M=p(()=>c.textColor===void 0?``:` text-${c.textColor}`),ve=p(()=>{let e=c.selectedColor||c.color;return e?` text-${e}`:``}),ye=p(()=>c.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[c.labelKey]&&e[c.labelKey].toLowerCase().includes(n)}:c.filterMethod),N=p(()=>{let e=new Map,t=[],n=(t,r,i)=>{let a=t.tickStrategy||(i===null?c.tickStrategy:i.tickStrategy),o=t[c.nodeKey],s=t[c.childrenKey],l=Array.isArray(s)&&s.length!==0,u=a===`strict`,d=t.lazy;d===!0&&S.value[o]!==void 0&&Array.isArray(s)&&(d=S.value[o]);let f={key:o,node:t,parentKey:r,childKeys:[],isParent:l,lazy:d,disabled:t.disabled,expandable:!t.disabled&&t.expandable!==!1,selectableBase:t.selectable!==!1,tickableBase:!t.disabled&&t.tickable!==!1,noTickBase:t.noTick===!0||!u&&d&&d!==`loaded`,tickStrategy:a,hasTicking:a!==`none`,strictTicking:u,leafFilteredTicking:a===`leaf-filtered`,leafTicking:a===`leaf`||a===`leaf-filtered`};return e.set(o,f),l&&s.forEach(e=>{f.childKeys.push(n(e,o,f).key)}),f};return c.nodes.forEach(e=>{t.push(n(e,null,null).key)}),{map:e,rootKeys:t}}),P=p(()=>{if(!c.filter)return null;let e=new Set,t=new Set,n=r=>{let i=r[c.nodeKey],a=!!ye.value(r,c.filter);return a&&e.add(i),Array.isArray(r[c.childrenKey])&&r[c.childrenKey].forEach(e=>{n(e)&&(a=!0)}),a&&t.add(i),a};return c.nodes.forEach(n),{own:e,visible:t}});function be(e){let t=P.value;return t===null||t.visible.has(e)}let F=new Map,I=new Map,L=new Map,R=new Map,xe=x(()=>C.value),Se=x(()=>w.value),Ce=x(()=>c.selected!==void 0&&c.selected!==null?[c.selected]:[]);function we(e){let t=F.get(e);return t===void 0&&(t=p(()=>{let t=N.value.map.get(e);return t===void 0||!t.tickableBase?!1:!t.leafTicking||t.parentKey===null||we(t.parentKey).value}),F.set(e,t)),t}function z(e){let t=I.get(e);if(t===void 0){let n;t=p(()=>{let t=N.value.map.get(e);if(t===void 0){n=void 0;return}let r=t.noTickBase,i=we(e).value,a=t.strictTicking||!t.isParent?xe.has(e):!1,o,s;if(t.isParent){let n=t.childKeys.map(e=>z(e).value),c=P.value,l=c===null||c.visible.has(e);if(c!==null&&c.own.has(e)&&r!==!0&&t.disabled!==!0&&i&&t.leafFilteredTicking&&t.childKeys.every((e,t)=>!c.visible.has(e)||n[t].noTick===!0||!n[t].tickable)&&(i=!1),l&&(r!==!0&&!t.strictTicking&&n.every(e=>e.noTick)&&(r=!0),t.leafTicking)){if(a=!1,o=n.some(e=>e.indeterminate===!0),i&&=n.some(e=>e.tickable),!o){let e=n.reduce((e,t)=>t.ticked?e+1:e,0);e===n.length?a=!0:e>0&&(o=!0)}o&&(s=n.every(e=>!e.tickable||!e.ticked))}}return n!==void 0&&n.noTick===r&&n.tickable===i&&n.ticked===a&&n.indeterminate===o&&n.indeterminateNextState===s||(n={noTick:r,tickable:i,ticked:a,indeterminate:o,indeterminateNextState:s}),n}),I.set(e,t)}return t}function B(e){let t=L.get(e);if(t===void 0){let n,r,i;t=p(()=>{let t=N.value.map.get(e);if(t===void 0){n=r=i=void 0;return}let a=z(e).value,o=P.value,s=!t.disabled&&j.value&&t.selectableBase,c=!t.disabled&&(s||t.expandable&&(t.isParent||t.lazy===!0)),l=o===null||o.visible.has(e),u=Ce.has(e)&&s,d=t.isParent?Se.has(e):!1,f=t.isParent&&(o===null||t.childKeys.some(e=>o.visible.has(e)));return n!==void 0&&r===t&&i===a&&n.link===c&&n.matchesFilter===l&&n.selected===u&&n.selectable===s&&n.expanded===d&&n.hasVisibleChildren===f?n:(r=t,i=a,n={key:e,isParent:t.isParent,lazy:t.lazy,disabled:t.disabled,link:c,matchesFilter:l,selected:u,selectable:s,expanded:d,expandable:t.expandable,noTick:a.noTick,tickable:a.tickable,tickStrategy:t.tickStrategy,hasTicking:t.hasTicking,strictTicking:t.strictTicking,leafFilteredTicking:t.leafFilteredTicking,leafTicking:t.leafTicking,ticked:a.ticked,indeterminate:a.indeterminate,indeterminateNextState:a.indeterminateNextState,hasVisibleChildren:f},n)}),L.set(e,t)}return t}function V(e){return B(e).value}function Te(e){let t=R.get(e);return t===void 0&&(t=p(()=>be(e)),R.set(e,t)),t}r(N,({map:e})=>{let t=t=>{t.forEach((n,r)=>{e.has(r)||t.delete(r)})};t(F),t(I),t(L),t(R),xe.prune(e),Se.prune(e),Ce.prune(e),O.forEach(t=>{e.has(t)||O.delete(t)})},{flush:`post`});let H=p(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=T.value,a=(n,o,s,c)=>{let l=r===null?n:n.filter(e=>r.visible.has(e)),u=l.length-1;l.forEach((n,r)=>{let l=t.get(n),d=r<u;e.push({key:n,node:l.node,depth:o,lines:s,cont:d,posinset:r+1,setsize:u+1,parentDisabled:c}),l.isParent&&i.has(n)&&a(l.childKeys,o+1,o===0?s:[...s,d],c||l.disabled===!0)})};return a(n,0,[],!1),e}),Ee=p(()=>c.virtualScroll?H.value.length:0),De=p(()=>c.virtualScrollItemSize===void 0?c.dense?23:35:c.virtualScrollItemSize),U=e(null),W;function Oe(){return U.value}function ke(){return W}let{virtualScrollSliceRange:Ae,localResetVirtualScroll:G,padVirtualScroll:je,onVirtualScrollEvt:Me,scrollTo:Ne}=le({virtualScrollLength:Ee,getVirtualScrollTarget:ke,getVirtualScrollEl:Oe,virtualScrollItemSizeComputed:De});function K(){c.virtualScroll&&U.value!==null&&(W=se(U.value,c.virtualScrollTarget),W.addEventListener(`scroll`,Me,ee.passive))}function q(){W!==void 0&&(W.removeEventListener(`scroll`,Me,ee.passive),W=void 0)}r(Ee,()=>{c.virtualScroll&&G()}),r(()=>c.virtualScroll,e=>{q(),e&&(G(),a(K))}),r(()=>c.virtualScrollTarget,()=>{q(),K()}),o(K),f(K),i(q),d(q);let Pe=p(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=n=>{if(r!==null&&!r.visible.has(n))return;e.push(n);let a=t.get(n);a.isParent&&T.value.has(n)&&a.childKeys.forEach(i)};return n.forEach(i),e});function Fe(){let e=Pe.value;return E!==null&&e.includes(E)?E:c.selected!==void 0&&c.selected!==null&&e.includes(c.selected)&&V(c.selected)?.selected===!0?c.selected:e[0]}function J(e){e!==D&&(D!=null&&A[D]?.setAttribute(`tabindex`,-1),A[e]?.setAttribute(`tabindex`,0),D=e)}r(()=>c.ticked,e=>{C.value=e}),r(()=>c.expanded,e=>{w.value=e});function Ie(e){let t=(n,r)=>{if(n||!r)return n;if(Array.isArray(r))return r.reduce(t,n);if(r[c.nodeKey]===e)return r;if(r[c.childrenKey])return t(null,r[c.childrenKey])};return t(null,c.nodes)}function Le(e){let{map:t}=N.value,n=t.get(e);return n!==void 0&&n.parentKey!==null?t.get(n.parentKey).node:void 0}function Re(e){let{map:t}=N.value;return e.map(e=>t.get(e)?.node)}function ze(){return Re(C.value)}function Be(){let e=[];return N.value.map.forEach((t,n)=>{t.isParent&&t.leafTicking&&z(n).value.indeterminate===!0&&e.push(t.node)}),e}function Ve(){return Re(w.value)}function He(e){return e?V(e)?.expanded===!0:!1}function Ue(){c.expanded===void 0?w.value=[]:_(`update:expanded`,[])}function We(){let e=[],t=n=>{n[c.childrenKey]&&n[c.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[c.nodeKey]),n[c.childrenKey].forEach(t))};c.nodes.forEach(t),c.expanded===void 0?w.value=e:_(`update:expanded`,e)}function Y(e,t,n=Ie(e),r=V(e)){if(r.disabled!==!0){if(r.lazy&&r.lazy!==`loaded`){if(r.lazy===`loading`)return;S.value[e]=`loading`,Array.isArray(n[c.childrenKey])||(n[c.childrenKey]=[]),_(`lazyLoad`,{node:n,key:e,done:t=>{S.value[e]=`loaded`,n[c.childrenKey]=Array.isArray(t)?t:[],a(()=>{V(e)?.isParent===!0&&Ge(e,!0)})},fail:()=>{delete S.value[e],n[c.childrenKey].length===0&&delete n[c.childrenKey]}})}else r.isParent&&r.expandable&&Ge(e,t)}}function Ge(e,t){let n=w.value,r=c.expanded!==void 0;if(r&&(n=[...n]),t){let t=c.accordion?N.value.map.get(e):void 0;if(t!==void 0){let{map:r}=N.value,i=[];t.parentKey===null?N.value.rootKeys.forEach(t=>{t!==e&&i.push(t)}):r.get(t.parentKey).childKeys.forEach(t=>{t!==e&&r.get(t).expandable&&i.push(t)}),i.length!==0&&(n=n.filter(e=>!i.includes(e)))}n=[...n,e].filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r?_(`update:expanded`,n):w.value=n}function Ke(e){return e?V(e)?.ticked===!0:!1}function qe(e){return e?V(e)?.indeterminate===!0:!1}function Je(e){let t=e?V(e):void 0;return t===void 0?!1:t.indeterminate===!0?null:t.ticked}function X(e,t){let n=C.value,r=c.ticked!==void 0;r&&(n=[...n]),n=t?[...n,...e].filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>!e.includes(t)),r?_(`update:ticked`,n):C.value=n}function Ye(e,t,n){let r={tree:v,node:e,key:n,color:c.color,dark:b()};return h(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&Y(n,e)}),h(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&X([n],e)}),h(r,`indeterminate`,()=>t.indeterminate===!0),r}function Xe(e){return(c.filter?e.filter(e=>Te(e[c.nodeKey]).value):e).map(e=>n(fe,{key:e[c.nodeKey],node:e}))}function Ze(){_(`afterShow`)}function Qe(){_(`afterHide`)}function $e(e,t,r,i,a,o,s){return n(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center q-focusable`+(t.link?` q-tree__node--link q-hoverable`:``)+(t.selected?` q-tree__node--selected`:``)+(t.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{e===null?delete A[r]:A[r]=e},tabindex:r===D?0:-1,"aria-expanded":i?t.expanded?`true`:`false`:null,"aria-selected":t.selectable?t.selected?`true`:`false`:null,"aria-checked":t.hasTicking&&t.noTick!==!0?t.indeterminate===!0?`mixed`:t.ticked?`true`:`false`:null,"aria-disabled":t.disabled===!0?`true`:null,role:`treeitem`,...s,onFocus(){E=r,J(r)},onClick:t=>{ot(e,r,t)},onKeydown(n){n.target===n.currentTarget&&te(n)!==!0&&(n.keyCode===13?ot(e,r,n,!0):n.keyCode===32?t.hasTicking&&t.noTick!==!0&&t.tickable?(m(n),st(r,!t.ticked)):$(e,r,n,!0):at(r,n.keyCode)&&m(n))}},[n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{e===null?delete k[r]:k[r]=e}}),t.lazy===`loading`?n(ie,{class:`q-tree__spinner`,color:_e.value}):i?n(re,{class:`q-tree__arrow`+(t.expanded?` q-tree__arrow--rotate`:``),name:ge.value,onClick(t){$(e,r,t)}}):null,t.hasTicking&&t.noTick!==!0?n(ce,{class:`q-tree__tickbox`,modelValue:t.indeterminate===!0?null:t.ticked,color:_e.value,dark:b(),dense:!0,keepColor:!0,disable:!t.tickable,tabindex:-1,"aria-hidden":`true`,onMousedown(e){e.preventDefault(),E=r,J(r),Z(r)},"onUpdate:modelValue":e=>{st(r,e)}}):null,n(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(t.selected?ve.value:M.value)},[o?o(a):[me(e),n(`div`,e[c.labelKey])]])])}function et(e){let t=e[c.nodeKey],r=B(t).value,i=e.header&&g[`header-${e.header}`]||g[`default-header`];if(r===void 0)return null;r.expanded&&O.add(t);let a=r.expanded||c.noTransition!==!0&&O.has(t),o=r.isParent&&a?Xe(e[c.childrenKey]):[],s=r.hasVisibleChildren||r.lazy&&r.lazy!==`loaded`,u=e.body&&g[`body-${e.body}`]||g[`default-body`],d=i!==void 0||u!==void 0?Ye(e,r,t):null;return u!==void 0&&(u=n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[u(d)])])),n(`div`,{key:t,class:`q-tree__node relative-position q-tree__node--${s?`parent`:`child`}`},[$e(e,r,t,s,d,i),s?c.noTransition?r.expanded?n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${t}__q`},[u,n(`div`,{class:`q-tree__children`+(r.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]):null:n(ue,{duration:c.duration,onShow:Ze,onHide:Qe},()=>a?l(n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${t}__q`},[u,n(`div`,{class:`q-tree__children`+(r.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]),[[ne,r.expanded]]):null):u])}function tt(e){let{key:t,node:r,depth:i}=e,a=B(t).value;if(a===void 0)return null;let o=a.hasVisibleChildren||a.lazy&&a.lazy!==`loaded`,s=r.header&&g[`header-${r.header}`]||g[`default-header`],c=r.body&&g[`body-${r.body}`]||g[`default-body`],l=s!==void 0||c!==void 0?Ye(r,a,t):null;return c=c!==void 0&&(!a.isParent||a.expanded)?n(`div`,{class:`q-tree__vnode-body row no-wrap items-stretch`},[...pe(e,!1),n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[c(l)])])]):null,n(`div`,{key:t,class:`q-tree__vnode q-tree__vnode--${o?`parent`:`child`}`+(i===0?` q-tree__vnode--root`:``)+(a.disabled===!0||e.parentDisabled?` q-tree__node--disabled`:``)},[n(`div`,{class:`q-tree__vnode-header row no-wrap items-stretch`},[...pe(e,!0),$e(r,a,t,o,l,s,{"aria-level":i+1,"aria-setsize":e.setsize,"aria-posinset":e.posinset})]),c])}function nt(){let e=H.value,t;if(e.length===0)t=c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes;else{let{from:n,to:r}=Ae.value,i=e.slice(n,r),a=Fe();i.length!==0&&(a===void 0||!i.some(e=>e.key===a))&&(a=i[0].key),J(a),t=je(`div`,i.map(tt),{role:`tree`})}return n(`div`,{class:he.value+` q-tree--virtual q-virtual-scroll q-virtual-scroll--vertical`+(c.virtualScrollTarget===void 0?` scroll`:``),ref:U},t)}function rt(e,t){if(c.virtualScroll){let n=H.value.findIndex(t=>t.key===e);n!==-1&&Ne(n,t)}}function Z(e){k[e]?.focus({preventScroll:!0})}function Q(e){if(e!==void 0){E=e,J(e);let t=A[e];if(t!==void 0)t.focus();else if(c.virtualScroll){let t=H.value.findIndex(t=>t.key===e);t!==-1&&(Ne(t),a(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{A[e]?.focus()})})}))}}}function it(e){return e.find(be)}function at(e,t){let n=V(e);if(n===void 0)return!1;let r=Pe.value,i=r.indexOf(e);if(t===36)return Q(r[0]),!0;if(t===35)return Q(r.at(-1)),!0;if(t===38)return Q(r[i-1]),!0;if(t===40)return Q(r[i+1]),!0;if(t===39)return!n.isParent&&!n.lazy||(n.expanded?Q(it(N.value.map.get(e).childKeys)):Y(e,!0)),!0;if(t===37){if(n.expanded)Y(e,!1);else{let t=N.value.map.get(e).parentKey;Q(t===null?void 0:t)}return!0}return!1}function ot(e,t,n,r){let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),j.value&&i.selectable?c.noSelectionUnset?t!==c.selected&&_(`update:selected`,t===void 0?null:t):_(`update:selected`,t===c.selected?null:t):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e))}function $(e,t,n,r){n!==void 0&&m(n);let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),Y(t,!i.expanded,e,i))}function st(e,t){let n=V(e);if(n!==void 0){if(n.indeterminate===!0&&(t=n.indeterminateNextState),n.strictTicking)X([e],t);else if(n.leafTicking){let n=[],{map:r}=N.value,i=e=>{let a=V(e);a.isParent?(t!==!0&&a.noTick!==!0&&a.tickable&&n.push(e),a.leafTicking&&r.get(e).childKeys.forEach(i)):a.noTick!==!0&&a.tickable&&(!a.leafFilteredTicking||a.matchesFilter)&&n.push(e)};i(e),X(n,t)}}}return c.defaultExpandAll&&We(),c.virtualScroll&&G(),s(de,{renderNode:et}),Object.assign(v,{getNodeByKey:Ie,getParentNode:Le,getTickedNodes:ze,getIndeterminateNodes:Be,getExpandedNodes:Ve,isExpanded:He,collapseAll:Ue,expandAll:We,setExpanded:Y,isTicked:Ke,isIndeterminate:qe,getTickState:Je,setTicked:X,scrollTo:rt}),()=>{if(c.virtualScroll)return nt();J(Fe());let e=Xe(c.nodes);return n(`div`,{class:he.value,role:`tree`},e.length===0?c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes:e)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}function T(e,t=1/0){let n=[],r=(e,i)=>{if(!(i>t))for(let t of e)t.isFolder&&(n.push(t.nodeKey),t.children&&r(t.children,i+1))};return r(e,1),n}export{S as i,T as n,w as r,C as t};
1
+ import{S as e,v as t}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as n,J as r,N as i,O as a,P as o,R as s,T as c,X as l,b as u,j as d,k as f,l as p}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as ee,U as te,dt as ne,et as m,l as re,st as h,tt as g,w as ie,y as ae}from"./QBtn-CZaBclNw.js";import{a as _,i as oe}from"./pinia-BKqmoVru.js";import{Lt as v,Pt as se,s as ce}from"./index-DtsrXdzx.js";import{c as le,l as y}from"./QSelect-DJL6yy1E.js";import{f as ue}from"./permissionModes-CESk18Vk.js";var b=[`none`,`strict`,`leaf`,`leaf-filtered`],de=Symbol(`QTree`),fe=g({name:`QTreeNode`,props:{node:{type:Object,required:!0}},setup(e){let t=c(de);return()=>t.renderNode(e.node)}});function x(e){let n=new Map,i=new Set(e());return r(e,e=>{let t=new Set(e);i.forEach(e=>{if(!t.has(e)){let t=n.get(e);t!==void 0&&(t.value=!1)}}),t.forEach(e=>{if(!i.has(e)){let t=n.get(e);t!==void 0&&(t.value=!0)}}),i=t},{flush:`sync`}),{has(e){let r=n.get(e);return r===void 0&&(r=t(i.has(e)),n.set(e,r)),r.value},prune(e){n.forEach((t,r)=>{e.has(r)||n.delete(r)})}}}function pe(e,t){if(e.depth===0)return[];let r=e.lines.map(e=>n(`div`,{class:`q-tree__vguide`+(e?` q-tree__vguide--line`:``)}));return r.push(n(`div`,{class:`q-tree__vguide`+(t?` q-tree__vguide--connector`:``)+(e.cont?` q-tree__vguide--line`:``)})),r}function me(e){if(e.icon!==void 0)return n(re,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return n(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var S=g({name:`QTree`,props:{..._,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>b.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,virtualScroll:Boolean,virtualScrollTarget:v,virtualScrollItemSize:y.virtualScrollItemSize.type,virtualScrollSliceSize:y.virtualScrollSliceSize,virtualScrollSliceRatioBefore:y.virtualScrollSliceRatioBefore,virtualScrollSliceRatioAfter:y.virtualScrollSliceRatioAfter,virtualScrollStickySizeStart:y.virtualScrollStickySizeStart,virtualScrollStickySizeEnd:y.virtualScrollStickySizeEnd,onVirtualScroll:Function,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(c,{slots:g,emit:_}){let{proxy:v}=u(),y=ae(),b=oe(c,y),S=t({}),C=t(c.ticked||[]),w=t(c.expanded||[]),T=p(()=>new Set(w.value)),E=null,D=null,O=new Set,k={},A={},he=p(()=>`q-tree q-tree--${c.dense?`dense`:`standard`}`+(c.noConnectors?` q-tree--no-connectors`:``)+(b()?` q-tree--dark`:``)+(c.color===void 0?``:` text-${c.color}`)),j=t(c.selected!==void 0);r(()=>c.selected!==void 0,e=>{j.value=e},{flush:`sync`});let ge=p(()=>c.icon||y.iconSet.tree.icon),_e=p(()=>c.controlColor||c.color),M=p(()=>c.textColor===void 0?``:` text-${c.textColor}`),ve=p(()=>{let e=c.selectedColor||c.color;return e?` text-${e}`:``}),ye=p(()=>c.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[c.labelKey]&&e[c.labelKey].toLowerCase().includes(n)}:c.filterMethod),N=p(()=>{let e=new Map,t=[],n=(t,r,i)=>{let a=t.tickStrategy||(i===null?c.tickStrategy:i.tickStrategy),o=t[c.nodeKey],s=t[c.childrenKey],l=Array.isArray(s)&&s.length!==0,u=a===`strict`,d=t.lazy;d===!0&&S.value[o]!==void 0&&Array.isArray(s)&&(d=S.value[o]);let f={key:o,node:t,parentKey:r,childKeys:[],isParent:l,lazy:d,disabled:t.disabled,expandable:!t.disabled&&t.expandable!==!1,selectableBase:t.selectable!==!1,tickableBase:!t.disabled&&t.tickable!==!1,noTickBase:t.noTick===!0||!u&&d&&d!==`loaded`,tickStrategy:a,hasTicking:a!==`none`,strictTicking:u,leafFilteredTicking:a===`leaf-filtered`,leafTicking:a===`leaf`||a===`leaf-filtered`};return e.set(o,f),l&&s.forEach(e=>{f.childKeys.push(n(e,o,f).key)}),f};return c.nodes.forEach(e=>{t.push(n(e,null,null).key)}),{map:e,rootKeys:t}}),P=p(()=>{if(!c.filter)return null;let e=new Set,t=new Set,n=r=>{let i=r[c.nodeKey],a=!!ye.value(r,c.filter);return a&&e.add(i),Array.isArray(r[c.childrenKey])&&r[c.childrenKey].forEach(e=>{n(e)&&(a=!0)}),a&&t.add(i),a};return c.nodes.forEach(n),{own:e,visible:t}});function be(e){let t=P.value;return t===null||t.visible.has(e)}let F=new Map,I=new Map,L=new Map,R=new Map,xe=x(()=>C.value),Se=x(()=>w.value),Ce=x(()=>c.selected!==void 0&&c.selected!==null?[c.selected]:[]);function we(e){let t=F.get(e);return t===void 0&&(t=p(()=>{let t=N.value.map.get(e);return t===void 0||!t.tickableBase?!1:!t.leafTicking||t.parentKey===null||we(t.parentKey).value}),F.set(e,t)),t}function z(e){let t=I.get(e);if(t===void 0){let n;t=p(()=>{let t=N.value.map.get(e);if(t===void 0){n=void 0;return}let r=t.noTickBase,i=we(e).value,a=t.strictTicking||!t.isParent?xe.has(e):!1,o,s;if(t.isParent){let n=t.childKeys.map(e=>z(e).value),c=P.value,l=c===null||c.visible.has(e);if(c!==null&&c.own.has(e)&&r!==!0&&t.disabled!==!0&&i&&t.leafFilteredTicking&&t.childKeys.every((e,t)=>!c.visible.has(e)||n[t].noTick===!0||!n[t].tickable)&&(i=!1),l&&(r!==!0&&!t.strictTicking&&n.every(e=>e.noTick)&&(r=!0),t.leafTicking)){if(a=!1,o=n.some(e=>e.indeterminate===!0),i&&=n.some(e=>e.tickable),!o){let e=n.reduce((e,t)=>t.ticked?e+1:e,0);e===n.length?a=!0:e>0&&(o=!0)}o&&(s=n.every(e=>!e.tickable||!e.ticked))}}return n!==void 0&&n.noTick===r&&n.tickable===i&&n.ticked===a&&n.indeterminate===o&&n.indeterminateNextState===s||(n={noTick:r,tickable:i,ticked:a,indeterminate:o,indeterminateNextState:s}),n}),I.set(e,t)}return t}function B(e){let t=L.get(e);if(t===void 0){let n,r,i;t=p(()=>{let t=N.value.map.get(e);if(t===void 0){n=r=i=void 0;return}let a=z(e).value,o=P.value,s=!t.disabled&&j.value&&t.selectableBase,c=!t.disabled&&(s||t.expandable&&(t.isParent||t.lazy===!0)),l=o===null||o.visible.has(e),u=Ce.has(e)&&s,d=t.isParent?Se.has(e):!1,f=t.isParent&&(o===null||t.childKeys.some(e=>o.visible.has(e)));return n!==void 0&&r===t&&i===a&&n.link===c&&n.matchesFilter===l&&n.selected===u&&n.selectable===s&&n.expanded===d&&n.hasVisibleChildren===f?n:(r=t,i=a,n={key:e,isParent:t.isParent,lazy:t.lazy,disabled:t.disabled,link:c,matchesFilter:l,selected:u,selectable:s,expanded:d,expandable:t.expandable,noTick:a.noTick,tickable:a.tickable,tickStrategy:t.tickStrategy,hasTicking:t.hasTicking,strictTicking:t.strictTicking,leafFilteredTicking:t.leafFilteredTicking,leafTicking:t.leafTicking,ticked:a.ticked,indeterminate:a.indeterminate,indeterminateNextState:a.indeterminateNextState,hasVisibleChildren:f},n)}),L.set(e,t)}return t}function V(e){return B(e).value}function Te(e){let t=R.get(e);return t===void 0&&(t=p(()=>be(e)),R.set(e,t)),t}r(N,({map:e})=>{let t=t=>{t.forEach((n,r)=>{e.has(r)||t.delete(r)})};t(F),t(I),t(L),t(R),xe.prune(e),Se.prune(e),Ce.prune(e),O.forEach(t=>{e.has(t)||O.delete(t)})},{flush:`post`});let H=p(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=T.value,a=(n,o,s,c)=>{let l=r===null?n:n.filter(e=>r.visible.has(e)),u=l.length-1;l.forEach((n,r)=>{let l=t.get(n),d=r<u;e.push({key:n,node:l.node,depth:o,lines:s,cont:d,posinset:r+1,setsize:u+1,parentDisabled:c}),l.isParent&&i.has(n)&&a(l.childKeys,o+1,o===0?s:[...s,d],c||l.disabled===!0)})};return a(n,0,[],!1),e}),Ee=p(()=>c.virtualScroll?H.value.length:0),De=p(()=>c.virtualScrollItemSize===void 0?c.dense?23:35:c.virtualScrollItemSize),U=e(null),W;function Oe(){return U.value}function ke(){return W}let{virtualScrollSliceRange:Ae,localResetVirtualScroll:G,padVirtualScroll:je,onVirtualScrollEvt:Me,scrollTo:Ne}=le({virtualScrollLength:Ee,getVirtualScrollTarget:ke,getVirtualScrollEl:Oe,virtualScrollItemSizeComputed:De});function K(){c.virtualScroll&&U.value!==null&&(W=se(U.value,c.virtualScrollTarget),W.addEventListener(`scroll`,Me,ee.passive))}function q(){W!==void 0&&(W.removeEventListener(`scroll`,Me,ee.passive),W=void 0)}r(Ee,()=>{c.virtualScroll&&G()}),r(()=>c.virtualScroll,e=>{q(),e&&(G(),a(K))}),r(()=>c.virtualScrollTarget,()=>{q(),K()}),o(K),f(K),i(q),d(q);let Pe=p(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=n=>{if(r!==null&&!r.visible.has(n))return;e.push(n);let a=t.get(n);a.isParent&&T.value.has(n)&&a.childKeys.forEach(i)};return n.forEach(i),e});function Fe(){let e=Pe.value;return E!==null&&e.includes(E)?E:c.selected!==void 0&&c.selected!==null&&e.includes(c.selected)&&V(c.selected)?.selected===!0?c.selected:e[0]}function J(e){e!==D&&(D!=null&&A[D]?.setAttribute(`tabindex`,-1),A[e]?.setAttribute(`tabindex`,0),D=e)}r(()=>c.ticked,e=>{C.value=e}),r(()=>c.expanded,e=>{w.value=e});function Ie(e){let t=(n,r)=>{if(n||!r)return n;if(Array.isArray(r))return r.reduce(t,n);if(r[c.nodeKey]===e)return r;if(r[c.childrenKey])return t(null,r[c.childrenKey])};return t(null,c.nodes)}function Le(e){let{map:t}=N.value,n=t.get(e);return n!==void 0&&n.parentKey!==null?t.get(n.parentKey).node:void 0}function Re(e){let{map:t}=N.value;return e.map(e=>t.get(e)?.node)}function ze(){return Re(C.value)}function Be(){let e=[];return N.value.map.forEach((t,n)=>{t.isParent&&t.leafTicking&&z(n).value.indeterminate===!0&&e.push(t.node)}),e}function Ve(){return Re(w.value)}function He(e){return e?V(e)?.expanded===!0:!1}function Ue(){c.expanded===void 0?w.value=[]:_(`update:expanded`,[])}function We(){let e=[],t=n=>{n[c.childrenKey]&&n[c.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[c.nodeKey]),n[c.childrenKey].forEach(t))};c.nodes.forEach(t),c.expanded===void 0?w.value=e:_(`update:expanded`,e)}function Y(e,t,n=Ie(e),r=V(e)){if(r.disabled!==!0){if(r.lazy&&r.lazy!==`loaded`){if(r.lazy===`loading`)return;S.value[e]=`loading`,Array.isArray(n[c.childrenKey])||(n[c.childrenKey]=[]),_(`lazyLoad`,{node:n,key:e,done:t=>{S.value[e]=`loaded`,n[c.childrenKey]=Array.isArray(t)?t:[],a(()=>{V(e)?.isParent===!0&&Ge(e,!0)})},fail:()=>{delete S.value[e],n[c.childrenKey].length===0&&delete n[c.childrenKey]}})}else r.isParent&&r.expandable&&Ge(e,t)}}function Ge(e,t){let n=w.value,r=c.expanded!==void 0;if(r&&(n=[...n]),t){let t=c.accordion?N.value.map.get(e):void 0;if(t!==void 0){let{map:r}=N.value,i=[];t.parentKey===null?N.value.rootKeys.forEach(t=>{t!==e&&i.push(t)}):r.get(t.parentKey).childKeys.forEach(t=>{t!==e&&r.get(t).expandable&&i.push(t)}),i.length!==0&&(n=n.filter(e=>!i.includes(e)))}n=[...n,e].filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r?_(`update:expanded`,n):w.value=n}function Ke(e){return e?V(e)?.ticked===!0:!1}function qe(e){return e?V(e)?.indeterminate===!0:!1}function Je(e){let t=e?V(e):void 0;return t===void 0?!1:t.indeterminate===!0?null:t.ticked}function X(e,t){let n=C.value,r=c.ticked!==void 0;r&&(n=[...n]),n=t?[...n,...e].filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>!e.includes(t)),r?_(`update:ticked`,n):C.value=n}function Ye(e,t,n){let r={tree:v,node:e,key:n,color:c.color,dark:b()};return h(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&Y(n,e)}),h(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&X([n],e)}),h(r,`indeterminate`,()=>t.indeterminate===!0),r}function Xe(e){return(c.filter?e.filter(e=>Te(e[c.nodeKey]).value):e).map(e=>n(fe,{key:e[c.nodeKey],node:e}))}function Ze(){_(`afterShow`)}function Qe(){_(`afterHide`)}function $e(e,t,r,i,a,o,s){return n(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center q-focusable`+(t.link?` q-tree__node--link q-hoverable`:``)+(t.selected?` q-tree__node--selected`:``)+(t.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{e===null?delete A[r]:A[r]=e},tabindex:r===D?0:-1,"aria-expanded":i?t.expanded?`true`:`false`:null,"aria-selected":t.selectable?t.selected?`true`:`false`:null,"aria-checked":t.hasTicking&&t.noTick!==!0?t.indeterminate===!0?`mixed`:t.ticked?`true`:`false`:null,"aria-disabled":t.disabled===!0?`true`:null,role:`treeitem`,...s,onFocus(){E=r,J(r)},onClick:t=>{ot(e,r,t)},onKeydown(n){n.target===n.currentTarget&&te(n)!==!0&&(n.keyCode===13?ot(e,r,n,!0):n.keyCode===32?t.hasTicking&&t.noTick!==!0&&t.tickable?(m(n),st(r,!t.ticked)):$(e,r,n,!0):at(r,n.keyCode)&&m(n))}},[n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{e===null?delete k[r]:k[r]=e}}),t.lazy===`loading`?n(ie,{class:`q-tree__spinner`,color:_e.value}):i?n(re,{class:`q-tree__arrow`+(t.expanded?` q-tree__arrow--rotate`:``),name:ge.value,onClick(t){$(e,r,t)}}):null,t.hasTicking&&t.noTick!==!0?n(ce,{class:`q-tree__tickbox`,modelValue:t.indeterminate===!0?null:t.ticked,color:_e.value,dark:b(),dense:!0,keepColor:!0,disable:!t.tickable,tabindex:-1,"aria-hidden":`true`,onMousedown(e){e.preventDefault(),E=r,J(r),Z(r)},"onUpdate:modelValue":e=>{st(r,e)}}):null,n(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(t.selected?ve.value:M.value)},[o?o(a):[me(e),n(`div`,e[c.labelKey])]])])}function et(e){let t=e[c.nodeKey],r=B(t).value,i=e.header&&g[`header-${e.header}`]||g[`default-header`];if(r===void 0)return null;r.expanded&&O.add(t);let a=r.expanded||c.noTransition!==!0&&O.has(t),o=r.isParent&&a?Xe(e[c.childrenKey]):[],s=r.hasVisibleChildren||r.lazy&&r.lazy!==`loaded`,u=e.body&&g[`body-${e.body}`]||g[`default-body`],d=i!==void 0||u!==void 0?Ye(e,r,t):null;return u!==void 0&&(u=n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[u(d)])])),n(`div`,{key:t,class:`q-tree__node relative-position q-tree__node--${s?`parent`:`child`}`},[$e(e,r,t,s,d,i),s?c.noTransition?r.expanded?n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${t}__q`},[u,n(`div`,{class:`q-tree__children`+(r.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]):null:n(ue,{duration:c.duration,onShow:Ze,onHide:Qe},()=>a?l(n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${t}__q`},[u,n(`div`,{class:`q-tree__children`+(r.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]),[[ne,r.expanded]]):null):u])}function tt(e){let{key:t,node:r,depth:i}=e,a=B(t).value;if(a===void 0)return null;let o=a.hasVisibleChildren||a.lazy&&a.lazy!==`loaded`,s=r.header&&g[`header-${r.header}`]||g[`default-header`],c=r.body&&g[`body-${r.body}`]||g[`default-body`],l=s!==void 0||c!==void 0?Ye(r,a,t):null;return c=c!==void 0&&(!a.isParent||a.expanded)?n(`div`,{class:`q-tree__vnode-body row no-wrap items-stretch`},[...pe(e,!1),n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[c(l)])])]):null,n(`div`,{key:t,class:`q-tree__vnode q-tree__vnode--${o?`parent`:`child`}`+(i===0?` q-tree__vnode--root`:``)+(a.disabled===!0||e.parentDisabled?` q-tree__node--disabled`:``)},[n(`div`,{class:`q-tree__vnode-header row no-wrap items-stretch`},[...pe(e,!0),$e(r,a,t,o,l,s,{"aria-level":i+1,"aria-setsize":e.setsize,"aria-posinset":e.posinset})]),c])}function nt(){let e=H.value,t;if(e.length===0)t=c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes;else{let{from:n,to:r}=Ae.value,i=e.slice(n,r),a=Fe();i.length!==0&&(a===void 0||!i.some(e=>e.key===a))&&(a=i[0].key),J(a),t=je(`div`,i.map(tt),{role:`tree`})}return n(`div`,{class:he.value+` q-tree--virtual q-virtual-scroll q-virtual-scroll--vertical`+(c.virtualScrollTarget===void 0?` scroll`:``),ref:U},t)}function rt(e,t){if(c.virtualScroll){let n=H.value.findIndex(t=>t.key===e);n!==-1&&Ne(n,t)}}function Z(e){k[e]?.focus({preventScroll:!0})}function Q(e){if(e!==void 0){E=e,J(e);let t=A[e];if(t!==void 0)t.focus();else if(c.virtualScroll){let t=H.value.findIndex(t=>t.key===e);t!==-1&&(Ne(t),a(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{A[e]?.focus()})})}))}}}function it(e){return e.find(be)}function at(e,t){let n=V(e);if(n===void 0)return!1;let r=Pe.value,i=r.indexOf(e);if(t===36)return Q(r[0]),!0;if(t===35)return Q(r.at(-1)),!0;if(t===38)return Q(r[i-1]),!0;if(t===40)return Q(r[i+1]),!0;if(t===39)return!n.isParent&&!n.lazy||(n.expanded?Q(it(N.value.map.get(e).childKeys)):Y(e,!0)),!0;if(t===37){if(n.expanded)Y(e,!1);else{let t=N.value.map.get(e).parentKey;Q(t===null?void 0:t)}return!0}return!1}function ot(e,t,n,r){let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),j.value&&i.selectable?c.noSelectionUnset?t!==c.selected&&_(`update:selected`,t===void 0?null:t):_(`update:selected`,t===c.selected?null:t):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e))}function $(e,t,n,r){n!==void 0&&m(n);let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),Y(t,!i.expanded,e,i))}function st(e,t){let n=V(e);if(n!==void 0){if(n.indeterminate===!0&&(t=n.indeterminateNextState),n.strictTicking)X([e],t);else if(n.leafTicking){let n=[],{map:r}=N.value,i=e=>{let a=V(e);a.isParent?(t!==!0&&a.noTick!==!0&&a.tickable&&n.push(e),a.leafTicking&&r.get(e).childKeys.forEach(i)):a.noTick!==!0&&a.tickable&&(!a.leafFilteredTicking||a.matchesFilter)&&n.push(e)};i(e),X(n,t)}}}return c.defaultExpandAll&&We(),c.virtualScroll&&G(),s(de,{renderNode:et}),Object.assign(v,{getNodeByKey:Ie,getParentNode:Le,getTickedNodes:ze,getIndeterminateNodes:Be,getExpandedNodes:Ve,isExpanded:He,collapseAll:Ue,expandAll:We,setExpanded:Y,isTicked:Ke,isIndeterminate:qe,getTickState:Je,setTicked:X,scrollTo:rt}),()=>{if(c.virtualScroll)return nt();J(Fe());let e=Xe(c.nodes);return n(`div`,{class:he.value,role:`tree`},e.length===0?c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes:e)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}function T(e,t=1/0){let n=[],r=(e,i)=>{if(!(i>t))for(let t of e)t.isFolder&&(n.push(t.nodeKey),t.children&&r(t.children,i+1))};return r(e,1),n}export{S as i,T as n,w as r,C as t};
@@ -14,4 +14,4 @@ KOBO_PR_NUMBER — PR-/MR-Nummer auf der aufgelösten Forge (leer wenn kein
14
14
  # Oder direkt über git (funktioniert auf GitHub auch nach Löschen des Branches):
15
15
  git fetch origin pull/[pr-nummer]/head:[branch-name]
16
16
  git worktree add [pfad] [branch-name]`,"settings.purgeDocsRestoreFootnote":`GitHub hält den PR-Head-Ref lange nach dem Löschen des Quellbranches zugänglich (Monate / Jahre). Die automatische Erkennung läuft im 30-Sekunden-Watcher — keine UI-Aktion nötig, sobald der Ordner wieder da ist.`,"settings.purgeDocsPermissionsTitle":`Berechtigungsfehler während der Bereinigung vermeiden`,"settings.purgeDocsPermissionsIntro":`Docker hinterlässt oft root-eigene Dateien in node_modules / vendor innerhalb des Worktrees. Wenn Kōbō versucht, sie zu entfernen, erhältst du EACCES / EPERM und die Bereinigung schlägt fehl. Zwei Vorbeugemöglichkeiten:`,"settings.purgeDocsPermissionsDocker":'Konfiguriere deinen Container so, dass er als dein Host-Benutzer läuft — USER-Direktive im Dockerfile oder `user: "${UID}:${GID}"` in docker-compose (mit UID/GID in deiner Shell exportiert).',"settings.purgeDocsPermissionsAcl":`Bereite das Worktrees-Root mit einer Standard-ACL vor — Sicherheitsnetz, das in den MEISTEN Fällen funktioniert (ext4/btrfs/xfs + Standard-Docker-Bind-Mount). Jede neue Datei erbt dann einen Zugriffseintrag für deinen Benutzer, zusätzlich zum nominalen Besitzer:`,"settings.purgeDocsPermissionsAclCommand":` setfacl -d -m u:$(whoami):rwX [worktrees-root]`,"settings.purgeDocsPermissionsFootnote":"ACL-Einschränkungen: funktionieren NICHT bei benannten Docker-Volumes (nutze einen Bind-Mount), Dateisystemen ohne ACL-Unterstützung (NTFS, exFAT, tmpfs), striktem SELinux mit `:Z` oder wenn Docker `userns-remap` aktiv ist. Die zuverlässigste Lösung bleibt die Konfiguration des Benutzers im Container (Option 1). Tipp: `rwX` (großes X) fügt das Ausführungsbit nur bei Verzeichnissen und bereits ausführbaren Dateien hinzu — sauberer als `rwx`, das jede Textdatei ausführbar machen würde.","settings.purgeDocsPermissionsRecoverTitle":`Einen bereits blockierten Worktree entsperren (bestehende root-eigene Dateien)`,"settings.purgeDocsPermissionsRecoverIntro":`Wenn ein Worktree bereits voll mit root-eigenen Dateien ist (Docker hat schon gelaufen, vendor / node_modules sind blockiert), reicht die präventive ACL oben nicht — du musst die BESTEHENDEN Dateien behandeln. Zwei Ansätze, beide aus dem Worktree-Ordner heraus auszuführen:`,"settings.purgeDocsPermissionsRecoverAclIntro":`Option A — Rekursive ACL (behält root-Ownership für Audit, fügt nur Zugriff für deinen Benutzer parallel hinzu):`,"settings.purgeDocsPermissionsRecoverAclCommand":`# setze Default-ACL für zukünftige Dateien UND gewähre Zugriff auf alles Bestehende
17
- sudo setfacl -Rd -m u:$(whoami):rwX . && sudo setfacl -R -m u:$(whoami):rwX .`,"settings.purgeDocsPermissionsRecoverChownIntro":`Option B — Ownership übernehmen (einfacher, verliert die Spur "von root im Container erstellt", spielt in der Praxis selten eine Rolle):`,"settings.purgeDocsPermissionsRecoverChownCommand":` sudo chown -R $(whoami):$(whoami) .`,"settings.purgeDocsPermissionsRecoverFootnote":"Tipp: Du kannst diese Befehle direkt auf das Worktrees-Root anwenden (z. B. `~/.worktrees/`), um alle bestehenden UND zukünftigen Workspaces auf einmal abzudecken. Danach funktioniert die Kōbō-Bereinigung ohne Berechtigungsfehler.","contextMenu.runSetup":`Setup-Skript ausführen`,"contextMenu.exportEvents":`Events exportieren (CSV)`,"contextMenu.dismissChangesRequested":`Änderungen angefragt als gesehen markieren`,"contextMenu.dismissCiFailure":`CI-Fehler als gesehen markieren`,"contextMenu.restoreChangesRequested":`Änderungen angefragt als ungesehen markieren`,"contextMenu.restoreCiFailure":`CI-Fehler als ungesehen markieren`,"contextMenu.exportingEvents":`Export wird vorbereitet…`,"contextMenu.exportEventsError":`Event-Export fehlgeschlagen`,"contextMenu.openNotion":`In Notion öffnen`,"contextMenu.openSentry":`In Sentry öffnen`,"contextMenu.openPr":`PR öffnen`,"contextMenu.ignorePrWatch":`PR-Prüfungen ignorieren`,"contextMenu.resumePrWatch":`PR-Prüfungen fortsetzen`,"contextMenu.prWatchToggleFailed":`Aktualisierung der PR-Prüfungen fehlgeschlagen`,"workspace.favorite":`Als Favorit markieren`,"workspace.unfavorite":`Aus Favoriten entfernen`,"workspace.showFavoritesOnly":`Nur Favoriten anzeigen`,"workspace.searchArchivedToggle":`Auch in archivierten Workspaces suchen`,"workspace.descriptionPlaceholder":`Kurze Beschreibung hinzufügen`,"workspace.descriptionDialogHint":`Klartext, max. 200 Zeichen. Leer lassen, um zu löschen.`,"workspace.descriptionTooLong":`Die Beschreibung darf höchstens 200 Zeichen lang sein.`,"workspace.descriptionSaveFailed":`Beschreibung konnte nicht gespeichert werden.`,"workspace.agentDescriptionTooltip":`Live-Status, gepflegt vom Agent`,"mcp.tool.setWorkspaceDescription":`Setzt die Kurzbeschreibung des Workspace (≤ 200 Zeichen).`,"tags.manage":`Tags verwalten`,"tags.manageTitle":`Workspace-Tags verwalten`,"tags.noTagsDefined":`Keine Tags definiert. Füge welche in Einstellungen > Global > Tags hinzu.`,"tags.orphanedHint":`{count} Tag(s) sind nicht mehr im globalen Katalog. Abwählen zum Entfernen.`,"settings.tagsTitle":`Workspace-Tags`,"settings.tagsHint":`Definiere die Tags, die Workspaces zugewiesen werden können. Tippe zum Hinzufügen, klicke auf das Kreuz zum Entfernen.`,"settings.tagsLabel":`Verfügbare Tags`,"settings.branchPrefixesTitle":`Branch-Präfixe`,"settings.branchPrefixesHint":`Verwalten Sie die Git-Branch-Präfixe, die auf der Workspace-Erstellungsseite verfügbar sind. Das erste ist standardmäßig vorausgewählt.`,"settings.branchPrefixesEmpty":`Kein Branch-Präfix definiert. Fügen Sie unten mindestens eines hinzu.`,"settings.branchPrefixesAddLabel":`Neues Präfix`,"settings.branchPrefixesEditHint":`Zum Umbenennen klicken`,"settings.branchPrefixesMoveUp":`Nach oben`,"settings.branchPrefixesMoveDown":`Nach unten`,"settings.worktreesTitle":`Git-Worktrees`,"settings.worktreesHint":`Wähle aus, wo neue Workspace-Worktrees erstellt werden. Relative Pfade sind projektrelativ; absolute Linux/macOS- und Windows-Pfade, $HOME, ~ und %USERPROFILE% werden unterstützt.`,"settings.worktreesPathLabel":`Worktrees-Pfad`,"settings.worktreesPathRequired":`Worktrees-Pfad ist erforderlich.`,"settings.worktreesPrefixByProject":`Worktrees nach Projektname präfixen`,"settings.worktreesPrefixByProjectHint":`Legt jeden Worktree in einem nach dem Projekt benannten Unterordner ab, um Kollisionen zu vermeiden, wenn mehrere Projekte die gleiche Worktree-Wurzel teilen.`,"settings.shareTitle":`Konfiguration teilen`,"settings.shareHint":`Exportiere Einstellungen, Templates und Tags als JSON-Bundle. MCP-Keys werden aus Sicherheitsgründen nicht exportiert.`,"settings.exportConfig":`Exportieren`,"settings.importConfig":`Importieren`,"settings.exportSuccess":`Konfiguration exportiert`,"settings.importSuccess":`Konfiguration importiert`,"settings.importConfirmTitle":`Konfiguration importieren`,"settings.importConfirmMessage":`Dies ersetzt deine aktuellen Einstellungen, Templates und Tags. MCP-Keys bleiben erhalten. Fortfahren?`,"settings.mcp.title":`Externe LLM-Verbindungen (MCP)`,"settings.mcp.hint":`Verbinden Sie einen MCP-Client, um Workspace-Gespräche zu lesen, Nachrichten zu senden und Fragen zu beantworten.`,"settings.mcp.remoteDisabled":`Remote-Verbindungen benötigen Netzwerkzugriff und einen Serverneustart nach der Aktivierung.`,"settings.mcp.clientName":`Clientname (optional)`,"settings.mcp.connection":`Verbindung`,"settings.mcp.local":`Lokales HTTP`,"settings.mcp.remote":`Remote-HTTP`,"settings.mcp.proxy":`Reverse-Proxy`,"settings.mcp.stdio":`Lokales stdio`,"settings.mcp.copyUrl":`URL kopieren`,"settings.mcp.copyConfig":`Konfiguration kopieren`,"settings.mcp.copyWithToken":`Mit Token kopieren`,"settings.mcp.genericFormat":`Diese Beispiele verwenden das allgemeine mcpServers-Format. Passen Sie den Container an Ihren MCP-Client an. Die Vorschau enthält Token-Platzhalter.`,"settings.mcp.tokenUnavailable":`Kein Token verfügbar. Aktivieren Sie den Netzwerkzugriff, bevor Sie eine authentifizierte Konfiguration kopieren.`,"settings.mcp.stdioUnavailable":`Der stdio-Einstiegspunkt ist in dieser Installation nicht verfügbar. Verwenden Sie HTTP oder bauen Sie zuerst Kōbō.`,"settings.mcp.copyFailed":`Kopieren in die Zwischenablage fehlgeschlagen.`,"tours.settings.mcp.title":`Ein externes LLM verbinden`,"tours.settings.mcp.description":`Kopieren Sie eine HTTP- oder stdio-Konfiguration, damit ein externer Assistent mit Ihren Workspaces kommunizieren kann.`,"settings.network.title":`Netzwerkzugriff`,"settings.network.hint":`Steuere Kōbō von einem anderen Gerät in deinem vertrauenswürdigen LAN. Aus = nur localhost. An = im Netzwerk erreichbar, per Token geschützt. Starte Kōbō nach dem Umschalten neu.`,"settings.network.enable":`Netzwerkzugriff aktivieren`,"settings.network.behindProxy":`Hinter einem Reverse Proxy`,"settings.network.behindProxyHint":`Kōbō kann deinen eigenen Rechner nicht mehr von einer weitergeleiteten Anfrage unterscheiden — selbst localhost benötigt ab jetzt das Token. Aktiviere dies nur, wenn ein Reverse Proxy (Traefik, nginx, Caddy…) vor Kōbō steht.`,"settings.network.restartRequired":`Starte Kōbō neu, um die neue Bind-Adresse anzuwenden.`,"settings.network.token":`Zugriffstoken`,"settings.network.copy":`Kopieren`,"settings.network.copied":`Kopiert`,"settings.network.regenerate":`Neu generieren`,"settings.network.regenerateConfirm":`Token neu generieren? Verbundene Geräte benötigen das neue Token.`,"settings.network.urls":`LAN-URLs`,"settings.network.scan":`Zum Verbinden scannen`,"settings.network.noUrls":`Keine LAN-Adresse erkannt.`,"settings.network.loadFailed":`Netzwerkzugriff-Einstellungen konnten nicht geladen werden.`,"settings.network.updateFailed":`Netzwerkzugriff-Einstellungen konnten nicht aktualisiert werden.`,"settings.unsavedChanges.title":`Nicht gespeicherte Änderungen`,"settings.unsavedChanges.message":`Dieses Projekt hat nicht gespeicherte Änderungen. Ein Projektwechsel verwirft sie.`,"settings.unsavedChanges.discard":`Verwerfen und wechseln`,"settings.unsavedChanges.cancel":`Abbrechen`,"settings.loadFailed":`Einstellungen konnten nicht geladen werden`,"settings.loadFailedHint":`Speichern ist deaktiviert: das Formular zeigt Standardwerte, und sie zu schreiben würde deine echte Konfiguration überschreiben.`,"health.title":`Status`,"health.tooltip":`Systemstatus`,"changelog.title":`Änderungsprotokoll`,"changelog.tooltip":`Was ist neu in Kōbō`,"changelog.empty":`Kein Änderungsprotokoll verfügbar.`,"changelog.current":`aktuell`,"changelog.currentVersion":`Aktuelle Version: v{version}`,"health.envTitle":`Umgebung`,"health.version":`Version`,"health.koboHome":`Kōbō home`,"health.dbTitle":`Datenbank`,"health.dbPath":`Pfad`,"health.dbSize":`Größe`,"health.schemaVersion":`Schema-Version`,"health.settingsSchemaVersion":`Einstellungs-Schema`,"health.runtimesTitle":`Agent-Laufzeiten`,"health.claudeCliTitle":`Claude Code`,"health.claudeCliMissing":`claude nicht im PATH`,"health.codexCliTitle":`OpenAI Codex`,"health.codexCliMissing":`codex-Binärdatei nicht auflösbar`,"health.forgeCliTitle":`Forge-CLI (gh / glab)`,"health.forgeCliMissing":`Weder gh noch glab gefunden — Pull Requests und CI-Überwachung nicht verfügbar`,"health.workspacesTitle":`Workspaces`,"health.workspacesCount":`{total} gesamt, {archived} archiviert`,"health.worktreesMissing":`{count} Worktree(s) auf der Festplatte fehlen`,"health.sessionsTitle":`Agent-Sitzungen`,"health.sessionsOrphaned":`{n} verwaiste laufende Sitzung(en)`,"health.integrationsTitle":`Integrationen`,"health.integrationConfigured":`konfiguriert`,"health.integrationMissing":`nicht konfiguriert`,"health.integrationDisabled":`deaktiviert`,"settings.integrationEnabled":`Integration aktivieren`,"health.activeTitle":`Aktiver Zustand`,"health.activeQuotaBackoffs":`Ausstehende Quota-Backoffs`,"health.activeWakeups":`Geplante Aufweckungen`,"health.activeAutoLoop":`Auto-Loop läuft`,"health.activeAgentSessions":`Aktive Agent-Sessions`,"health.activeDevServers":`Laufende Dev-Server`,"health.noneActive":`Keine.`,"health.quotaResumeAt":`fortgesetzt um {time}`,"health.wakeupAt":`aufgeweckt um {time}`,"health.startedAgo":`gestartet vor {time}`,"health.autoLoopReady":`bereit, iteriert`,"health.autoLoopGrooming":`Grooming läuft`,"session.started":`Sitzung gestartet`,"session.ended":`Sitzung beendet`,"session.compacted":`Kontext komprimiert`,"session.endedCompleted":`Zug beendet — senden Sie eine Nachricht, um fortzufahren`,"session.endedKilled":`Sitzung gestoppt`,"session.endedError":`Sitzung mit einem Fehler beendet`,"session.endedWatchdog":`Sitzung nach einer Phase der Inaktivität zwangsweise geschlossen`,"tool.running":`Läuft...`,"activity.raw_lines":`Rohausgabezeilen ({n})`,"activity.loading_older":`Ältere Nachrichten werden geladen…`,"activity.compacting":`Kontext wird komprimiert…`,"activity.prev_user_message":`Vorherige Nachricht des Benutzers`,"activity.scroll_to_bottom":`Nach unten scrollen`,"activity.empty":`Noch nichts`,"activity.emptyHint":`Die Agentenausgabe erscheint hier, sobald eine Sitzung startet.`,"activity.a11y.region":`Ansagen zur Agentenaktivität`,"activity.a11y.agentSaid":`Agent: {text}`,"activity.a11y.toolStarted":`Werkzeug {name} gestartet`,"activity.a11y.toolFinished":`Werkzeug {name} beendet`,"activity.a11y.toolFailed":`Werkzeug {name} fehlgeschlagen`,"chat.systemPrompt":`System-Prompt`,"chat.agent":`Agent`,"chat.cleanupScript":`Cleanup-Skript`,"chat.archiveScript":`Archiv-Skript`,"chat.setupScript":`Setup-Skript`,"chat.hookScript":`Hook {event}`,"chat.scriptDone":`Fertig`,"chat.scriptComplete":`[{phase}] Abgeschlossen`,"chat.scriptError":`[{phase}] Fehler: {message}`,"chat.unknownError":`unbekannt`,"chat.you":`Du`,"chat.session":`Sitzung`,"chat.nActions":`{n} Aktion | {n} Aktionen`,"chat.lastUpdatedAt":`Zuletzt aktualisiert um {time}`,"chat.scrollToTurnTop":`Zum Nachrichtenanfang scrollen`,"migration.backing_up":`Datenbank wird gesichert…`,"migration.running":`Agent-Daten werden migriert — {processed}/{total}`,"migration.error":`Migration fehlgeschlagen`,"migration.backup_location":`Ein Backup wurde unter {path} gespeichert. Starte Kōbō neu, um erneut zu versuchen.`,"migration.retry":`Starte Kōbō neu, um erneut zu versuchen.`,"engine.select":`Engine`,"engine.model":`Modell`,"engine.effort":`Reasoning-Aufwand`,"wakeup.scheduledIn":`Nächste Weckung in {n}s`,"wakeup.scheduledAt":`Nächste Weckung um {time}`,"wakeup.firing":`Wecke auf...`,"wakeup.reason":`Grund: {reason}`,"wakeup.cancel":`Diese Weckung abbrechen`,"wakeup.pendingIndicator":`Weckung geplant`,"cron.pendingIndicator":`{n} Cron(s) geplant`,"schedule.tabLabel":`Zeitplan`,"schedule.panelTitle":`Automatisierung`,"schedule.panelDescription":`Diesen Workspace später wecken oder Anweisungen nach Zeitplan ausführen.`,"schedule.activeTitle":`Aktive Zeitpläne`,"schedule.emptyTitle":`Nichts geplant`,"schedule.emptyDescription":`Unten ein einmaliges Wakeup oder eine wiederkehrende Aufgabe erstellen.`,"schedule.cancelWakeup":`Dieses Wakeup abbrechen`,"schedule.cancelCron":`Diese wiederkehrende Aufgabe löschen`,"schedule.createTitle":`Zeitplan erstellen`,"schedule.createDescription":`Festlegen, wann und wie der Agent ausgeführt werden soll.`,"schedule.typeWakeup":`Einmaliges Wakeup`,"schedule.typeRecurring":`Wiederkehrende Aufgabe`,"schedule.wakeupDescription":`Den Prompt einmalig nach einer Verzögerung ausführen.`,"schedule.cronDescription":`Den Prompt regelmäßig nach einem festen Zeitplan ausführen.`,"schedule.promptHint":`Anweisungen, die an den Agenten gesendet werden`,"schedule.frequencyTitle":`Häufigkeit`,"schedule.advancedDescription":`Einen rohen Cron-Ausdruck verwenden`,"schedule.cronExpressionLabel":`Cron-Ausdruck`,"schedule.sessionModeTitle":`Ausführungssitzung`,"schedule.modeResume":`Sitzung fortsetzen`,"schedule.oneShotHint":`Diesen Zeitplan nach der ersten Ausführung entfernen.`,"schedule.wakeupTitle":`Wakeup ausstehend`,"schedule.cronsTitle":`Wiederkehrende Zeitpläne`,"schedule.noWakeup":`Kein Wakeup geplant`,"schedule.noCrons":`Kein Cron geplant`,"schedule.invalidCron":`Inaktiv: ungültiger Ausdruck. Diesen Zeitplan löschen und neu erstellen.`,"schedule.nextFireAt":`nächstes um {time}`,"schedule.lastFiredAt":`zuletzt vor {time}`,"schedule.addCronTitle":`Wiederkehrende Aufgabe hinzufügen`,"schedule.addWakeupTitle":`Wakeup planen`,"schedule.every":`Alle`,"schedule.unitMinutes":`Minuten`,"schedule.unitHours":`Stunden`,"schedule.unitDays":`Tage`,"schedule.daysDriftWarning":`Das Intervall kann sich am Monatsende auf 1 Tag verkürzen (Cron-Einschränkung).`,"schedule.advancedExpression":`Erweiterter Ausdruck (optional)`,"schedule.advancedHint":`Roher Cron (z. B. */15 * * * *) oder {'@'}hourly/{'@'}daily — überschreibt die Auswahl, wenn gesetzt.`,"schedule.promptLabel":`Prompt`,"schedule.labelOptional":`Bezeichnung (optional)`,"schedule.delayMinutes":`Verzögerung (Minuten)`,"schedule.modeFresh":`Neue Sitzung`,"schedule.oneShot":`Nur einmal ausführen`,"schedule.addCronBtn":`Cron hinzufügen`,"schedule.addWakeupBtn":`Wakeup planen`,"schedule.cronCreated":`Wiederkehrende Aufgabe hinzugefügt`,"schedule.wakeupCreated":`Wakeup geplant`,"askUserQuestion.title":`Der Agent stellt eine Frage`,"askUserQuestion.submit":`Antwort senden`,"askUserQuestion.multiSelectHint":`Eine oder mehrere Optionen auswählen`,"askUserQuestion.otherOption":`Sonstiges`,"askUserQuestion.otherOptionHint":`bitte in der nächsten Chat-Nachricht angeben`,"askUserQuestion.freeFormLabel":`Antwort präzisieren`,"askUserQuestion.freeFormHint":`Diese Antwort wird direkt an den Agenten gesendet.`,"askUserQuestion.noPending":`Keine offene Frage`,"askUserQuestion.next":`Weiter`,"askUserQuestion.previous":`Zurück`,"askUserQuestion.cancel":`Abbrechen`,"askUserQuestion.cancelTooltip":`Diese Frage überspringen — der Agent macht ohne Antwort weiter`,"askUserQuestion.collapse":`Fragebereich einklappen`,"askUserQuestion.expand":`Fragebereich ausklappen`,"permissionRequest.title":`Der Agent möchte ein Tool verwenden`,"permissionRequest.allow":`Erlauben`,"permissionRequest.allowOnce":`Einmal erlauben`,"permissionRequest.allowTurn":`Diesen Zug erlauben`,"permissionRequest.operationUnavailable":`Aktionsdetails fehlen; einmalig oder das gesamte Werkzeug erlauben.`,"permissionRequest.allowOperation":`Diese Aktion immer erlauben`,"permissionRequest.allowTool":`Dieses Tool immer erlauben`,"permissionRequest.deny":`Ablehnen`,"permissionRequest.tool":`Tool`,"permissionRequest.input":`Eingabe`,"permissionRequest.rawInput":`Technische Details`,"permissionRequest.collapse":`Berechtigungsfenster einklappen`,"permissionRequest.expand":`Berechtigungsfenster ausklappen`,"permissionRequest.denied":`vom Nutzer abgelehnt`,"workspaceStatus.created":`erstellt`,"workspaceStatus.extracting":`Extraktion`,"workspaceStatus.brainstorming":`Brainstorming`,"workspaceStatus.compacting":`Kontextkomprimierung`,"chatInput.compactingBanner":`Der Kontext wird komprimiert. Danach können Nachrichten wieder gesendet werden.`,"workspaceStatus.executing":`läuft`,"workspaceStatus.awaitingUser":`wartet auf deine Antwort`,"workspaceStatus.completed":`abgeschlossen`,"workspaceStatus.idle":`inaktiv`,"workspaceStatus.error":`Fehler`,"workspaceStatus.quota":`Kontingent erreicht`,"workspaceStatus.retrying":`automatische Wiederaufnahme`,"workspaceList.prOpen":`#{n} — Pull Request offen`,"workspaceList.prWatchDisabledIndicator":`PR-Prüfungen für diesen Workspace ignoriert`,"workspaceList.prChangesRequested":`#{n} — Änderungen angefordert`,"workspaceList.attentionCiFailed":`CI fehlgeschlagen`,"workspaceList.attentionChangesRequested":`Änderungen angefordert`,"workspaceList.attentionReadyToMerge":`Bereit zum Mergen`,"autoLoop.toggle":`Auto-Schleife`,"autoLoop.start":`Auto-Schleife starten`,"autoLoop.prepare":`Auto-Schleife vorbereiten`,"autoLoop.reprepare":`Auto-Schleife erneut vorbereiten`,"autoLoop.reprepareTooltip":`Grooming-Schritt erneut ausführen, um Aufgaben hinzuzufügen oder zu aktualisieren, bevor die Schleife neu gestartet wird`,"autoLoop.prepareBusy":`Warte, bis der Agent fertig ist, bevor du vorbereitest`,"autoLoop.forceReady":`Ich weiß, was ich tue — Grooming überspringen`,"autoLoop.forceReadyConfirm":`Grooming überspringen und Auto-Schleife als bereit markieren? Kann hängen bleiben, wenn Aufgaben nicht atomar sind.`,"autoLoop.stop":`Auto-Schleife stoppen`,"autoLoop.notReady":`Zuerst „Auto-Schleife vorbereiten" ausführen`,"autoLoop.noTasks":`Zuerst Aufgaben hinzufügen`,"autoLoop.progress":`Auto-Schleife · {done}/{total} Aufgaben`,"autoLoop.preparing":`Auto-Schleife · Vorbereitung`,"autoLoop.preparingTooltip":`Grooming läuft — der Agent erstellt / überprüft Aufgaben. Die Schleife startet, sobald mark_auto_loop_ready aufgerufen wird.`,"autoLoop.running":`Auto-Schleife läuft`,"autoLoop.startInMode":`Im Auto-Schleifen-Modus starten`,"autoLoop.brainstormModelPrefix":`Brainstorm:`,"autoLoop.brainstormModelTooltip":`Modell nur für die anfängliche Brainstorming-Sitzung — jede Aufgabe danach nutzt das oben gewählte Modell`,"autoLoop.brainstormReasoningPrefix":`Brainstorm:`,"autoLoop.brainstormReasoningTooltip":`Denkaufwand nur für die anfängliche Brainstorming-Sitzung`,"autoLoop.executionModelPrefix":`Loop:`,"autoLoop.executionModelTooltip":`Modell für jede Auto-Loop-Aufgabe nach der anfänglichen Brainstorming-Sitzung`,"autoLoop.sessionMode.perTask":`Neue Sitzung pro Aufgabe`,"autoLoop.sessionMode.label":`Sitzung:`,"autoLoop.sessionMode.perTaskTooltip":`Jede Aufgabe startet eine neue Claude-Code-Sitzung ohne Erinnerung an vorherige Aufgaben`,"autoLoop.sessionMode.continuous":`Durchgehende Sitzung`,"autoLoop.sessionMode.continuousTooltip":`Alle Aufgaben laufen in derselben Sitzung — der Agent behält den vollen Kontext, aber die Sitzung wird mit der Zeit länger`,"koboCommand.prepAutoloopDesc":`Aufgaben für Auto-Schleifen-Modus vorbereiten (auf Atomarität prüfen)`,"staleSessionBanner.title":`Auto-Schleife läuft`,"staleSessionBanner.message":`Du siehst eine ältere Sitzung — der Agent arbeitet gerade in der neuesten.`,"staleSessionBanner.staleTitle":`Ältere Sitzung`,"staleSessionBanner.staleMessage":`Du siehst eine ältere Sitzung — gesendete Nachrichten gehen an diese Sitzung, nicht an die neueste.`,"staleSessionBanner.switchToCurrent":`Zur aktuellen wechseln`,"network.login.title":`Netzwerkzugriff`,"network.login.description":`Dieses Kōbō benötigt ein Token, um über das Netzwerk gesteuert zu werden. Füge das in den Einstellungen auf dem Host angezeigte Token ein.`,"network.login.tokenLabel":`Token`,"network.login.tokenPlaceholder":`Token einfügen`,"network.login.connect":`Verbinden`,"network.login.invalid":`Ungültiges Token`,"network.login.serverError":`Serverfehler — bitte erneut versuchen.`,"network.login.unreachable":`Kōbō ist nicht erreichbar — prüfe deine Verbindung.`,"layout.toggleWorkspaces":`Workspaces-Leiste ein-/ausblenden`,"layout.togglePanel":`Seitenleiste ein-/ausblenden`,"unsaved.title":`Ohne Speichern verlassen?`,"unsaved.message":`Du hast ungespeicherte Änderungen. Diese Seite zu verlassen verwirft sie.`,"unsaved.leave":`Verlassen`,"unsaved.stay":`Bleiben`,"prCheckout.staleRetriesExhausted":`Der Repository-Status hat sich während der Anwendung deiner Auswahl immer wieder geändert. Schließe diesen Dialog und versuche es erneut über die Pull-Request-Auswahl.`,"prPicker.title":`Aus einer Pull Request importieren`,"prPicker.filterAll":`Alle`,"prPicker.filterMine":`Meine`,"prPicker.filterReviewRequested":`Review angefragt`,"prPicker.searchPlaceholder":`Pull Requests durchsuchen…`,"prPicker.loadMore":`Mehr laden`,"prPicker.empty":`Keine offene Pull Request passt.`,"prPicker.forkNotSupported":`Diese PR stammt von einem Fork; Kōbō kann sie nicht auschecken.`,"prPicker.loadFailed":`Pull Requests konnten nicht geladen werden.`,"prPicker.badge.workspaceExists":`Bereits in Kōbō geöffnet`,"prPicker.badge.worktreePresent":`Worktree vorhanden`,"prPicker.badge.localBranch":`Lokaler Branch`,"prPicker.badge.new":`Neu`,"prPicker.badge.draft":`Entwurf`,"prCheckout.title":`Worktree vorbereiten`,"prCheckout.apply":`Anwenden`,"prCheckout.cancel":`Abbrechen`,"prCheckout.retry":`Erneut versuchen`,"prCheckout.diagnoseFailed":`Die Diagnose des Pull Requests ist fehlgeschlagen.`,"prCheckout.resolveFailed":`Die Auflösung des Pull-Request-Checkouts ist fehlgeschlagen.`,"prCheckout.path.required":`Gib einen Worktree-Pfad ein, der noch nicht existiert.`,"prCheckout.workspace.restoreNotAvailable":"Das Wiederherstellen eines bereinigten Workspaces ist von hier aus noch nicht möglich. Lege den Worktree-Ordner auf der Festplatte neu an (z. B. mit `git worktree add`) — Kōbō verknüpft ihn innerhalb von etwa 30 Sekunden automatisch wieder.","prCheckout.staleReloaded":`Das Repository hat sich geändert; die Diagnose wurde aktualisiert.`,"prCheckout.step.blocked":`Fortfahren nicht möglich`,"prCheckout.step.path":`Worktree-Speicherort`,"prCheckout.step.workspace":`Bestehender Workspace`,"prCheckout.step.worktree":`Bestehende Worktree`,"prCheckout.step.operation":`Git-Vorgang läuft`,"prCheckout.step.changes":`Nicht committete Änderungen`,"prCheckout.step.divergence":`Lokaler Branch vs. origin`,"prCheckout.workspace.activeHint":`Ein Workspace namens „{name}" verfolgt diesen Branch bereits.`,"prCheckout.workspace.open":`Diesen Workspace öffnen`,"prCheckout.workspace.continue":`Mit einem anderen Pfad fortfahren`,"prCheckout.workspace.unarchive":`Entarchivieren und öffnen`,"prCheckout.workspace.restore":`Worktree wiederherstellen`,"prCheckout.worktree.orphanHint":`Auf diesem Branch existiert bereits eine Worktree unter {path}.`,"prCheckout.worktree.attach":`Anhängen`,"prCheckout.worktree.branchInUse":`Dieser Branch ist bereits ausgecheckt. Verwenden Sie seinen vorhandenen Worktree.`,"prCheckout.worktree.createElsewhere":`Eine neue an anderer Stelle erstellen`,"prCheckout.operation.hint":`In dieser Worktree läuft gerade ein {operation}.`,"prCheckout.operation.abort":`Abbrechen`,"prCheckout.operation.cancel":`Unangetastet lassen und hier stoppen`,"prCheckout.changes.hint":`{modified} geändert, {staged} vorgemerkt, {untracked} unverfolgt.`,"prCheckout.changes.stash":`Stashen`,"prCheckout.changes.commit":`Committen`,"prCheckout.changes.discard":`Verwerfen (als benannter Stash aufbewahrt)`,"prCheckout.changes.keepResetConflict":`Lokale Änderungen können bei einem Hard Reset nicht behalten werden. Zuerst Stash oder Commit wählen oder den Branch behalten.`,"prCheckout.changes.keep":`So belassen, wie sie sind`,"prCheckout.divergence.behindHint":`Dein Branch liegt {behind} Commit(s) hinter origin zurück.`,"prCheckout.divergence.aheadHint":`Dein Branch hat {ahead} nicht gepushte(n) Commit(s).`,"prCheckout.divergence.divergedHint":`{ahead} voraus, {behind} zurück gegenüber origin.`,"prCheckout.divergence.fastForward":`Fast-Forward auf origin`,"prCheckout.divergence.rebase":`Auf origin rebasen`,"prCheckout.divergence.resetHard":`Auf origin zurücksetzen (zuvor wird ein Backup-Branch erstellt)`,"prCheckout.divergence.keep":`Lokalen Stand beibehalten`,"prCheckout.blocked.forgeUnavailable":`Das Forge-CLI fehlt oder ist nicht authentifiziert.`,"prCheckout.blocked.forkPr":`Diese PR stammt von einem Fork; Kōbō kann sie nicht auschecken.`,"prCheckout.blocked.headBranchDeleted":`Der Branch existiert auf dem Remote nicht mehr.`,"prCheckout.blocked.indexLock":`Ein anderer Git-Prozess läuft gerade (index.lock ist vorhanden).`,"prCheckout.blocked.pathOccupied":`{path} existiert bereits und ist keine Worktree.`,"prCheckout.blocked.worktreeOtherBranch":`{path} ist eine Worktree auf einem anderen Branch ({branch}).`,"prCheckout.blocked.noCommonAncestor":`Es existiert bereits ein lokaler Branch namens {branch} mit unabhängiger Historie.`,"split.title":`Doppelte Workspace-Ansicht`,"split.open":`Nebeneinander öffnen`,"split.openBeside":`Daneben öffnen`,"split.close":`Doppelansicht schließen`,"split.left":`Linker Workspace`,"split.right":`Rechter Workspace`,"split.choose":`Workspace auswählen`,"split.recipient":`Senden an: {name}`,"absence.title":`Seit deinem letzten Besuch`,"absence.pending":`Änderungen prüfen`,"absence.retention":`Wichtige Aktivitäten der letzten 30 Tage, erfasst seit Installation dieser Funktion. Besuche werden nur in diesem Browser verfolgt.`,"absence.since":`Seit {date}`,"absence.error":`Aktivität konnte nicht geladen werden.`,"absence.retry":`Erneut versuchen`,"absence.empty":`Keine neue Aktivität.`,"absence.more":`Mehr laden`,"absence.markRead":`Angezeigte Ereignisse als gelesen markieren`,"absence.kind.question":`Frage gestellt`,"absence.kind.permission":`Genehmigung angefragt`,"absence.kind.completed":`Sitzung beendet`,"absence.kind.error":`Agent-Fehler`,"absence.kind.pr-merged":`PR gemergt`,"absence.kind.pr-approved":`PR genehmigt`,"absence.kind.pr-changes-requested":`Änderungen angefordert`,"absence.kind.pr-ci-failed":`CI fehlgeschlagen`,"absence.kind.pr-ci-recovered":`CI wieder erfolgreich`,"absence.kind.pr-merge-conflict":`Merge-Konflikt`,"absence.kind.pr-ready-to-merge":`PR bereit zum Merge`,"absence.kind.archived":`Workspace archiviert`,"absence.kind.purged":`Worktree bereinigt`,"absence.kind.restored":`Worktree wiederhergestellt`,"tours.split.controls.title":`Zwei unabhängige Workspaces`,"tours.split.controls.description":`Wähle einen Workspace pro Bereich. Verschiebe die Trennlinie; jede Unterhaltung behält ihren Empfänger und ihre Panels.`,"tours.home.sort.title":`Workspaces sortieren`,"tours.home.sort.description":`Wähle Reihenfolge und Richtung innerhalb jeder Gruppe. Deine Auswahl wird gespeichert.`,"tours.home.activity.title":`Aktivität nach Abwesenheit prüfen`,"tours.home.activity.description":`Unten in der linken Seitenleiste findest du Fragen, Sitzungsenden, Fehler und PR-Änderungen seit deinem letzten Besuch.`};export{e as default};
17
+ sudo setfacl -Rd -m u:$(whoami):rwX . && sudo setfacl -R -m u:$(whoami):rwX .`,"settings.purgeDocsPermissionsRecoverChownIntro":`Option B — Ownership übernehmen (einfacher, verliert die Spur "von root im Container erstellt", spielt in der Praxis selten eine Rolle):`,"settings.purgeDocsPermissionsRecoverChownCommand":` sudo chown -R $(whoami):$(whoami) .`,"settings.purgeDocsPermissionsRecoverFootnote":"Tipp: Du kannst diese Befehle direkt auf das Worktrees-Root anwenden (z. B. `~/.worktrees/`), um alle bestehenden UND zukünftigen Workspaces auf einmal abzudecken. Danach funktioniert die Kōbō-Bereinigung ohne Berechtigungsfehler.","contextMenu.runSetup":`Setup-Skript ausführen`,"contextMenu.exportEvents":`Events exportieren (CSV)`,"contextMenu.dismissChangesRequested":`Änderungen angefragt als gesehen markieren`,"contextMenu.dismissCiFailure":`CI-Fehler als gesehen markieren`,"contextMenu.restoreChangesRequested":`Änderungen angefragt als ungesehen markieren`,"contextMenu.restoreCiFailure":`CI-Fehler als ungesehen markieren`,"contextMenu.exportingEvents":`Export wird vorbereitet…`,"contextMenu.exportEventsError":`Event-Export fehlgeschlagen`,"contextMenu.openNotion":`In Notion öffnen`,"contextMenu.openSentry":`In Sentry öffnen`,"contextMenu.openPr":`PR öffnen`,"contextMenu.ignorePrWatch":`PR-Prüfungen ignorieren`,"contextMenu.resumePrWatch":`PR-Prüfungen fortsetzen`,"contextMenu.prWatchToggleFailed":`Aktualisierung der PR-Prüfungen fehlgeschlagen`,"workspace.favorite":`Als Favorit markieren`,"workspace.unfavorite":`Aus Favoriten entfernen`,"workspace.showFavoritesOnly":`Nur Favoriten anzeigen`,"workspace.searchArchivedToggle":`Auch in archivierten Workspaces suchen`,"workspace.descriptionPlaceholder":`Kurze Beschreibung hinzufügen`,"workspace.descriptionDialogHint":`Klartext, max. 200 Zeichen. Leer lassen, um zu löschen.`,"workspace.descriptionTooLong":`Die Beschreibung darf höchstens 200 Zeichen lang sein.`,"workspace.descriptionSaveFailed":`Beschreibung konnte nicht gespeichert werden.`,"workspace.agentDescriptionTooltip":`Live-Status, gepflegt vom Agent`,"mcp.tool.setWorkspaceDescription":`Setzt die Kurzbeschreibung des Workspace (≤ 200 Zeichen).`,"tags.manage":`Tags verwalten`,"tags.manageTitle":`Workspace-Tags verwalten`,"tags.noTagsDefined":`Keine Tags definiert. Füge welche in Einstellungen > Global > Tags hinzu.`,"tags.orphanedHint":`{count} Tag(s) sind nicht mehr im globalen Katalog. Abwählen zum Entfernen.`,"settings.tagsTitle":`Workspace-Tags`,"settings.tagsHint":`Definiere die Tags, die Workspaces zugewiesen werden können. Tippe zum Hinzufügen, klicke auf das Kreuz zum Entfernen.`,"settings.tagsLabel":`Verfügbare Tags`,"settings.branchPrefixesTitle":`Branch-Präfixe`,"settings.branchPrefixesHint":`Verwalten Sie die Git-Branch-Präfixe, die auf der Workspace-Erstellungsseite verfügbar sind. Das erste ist standardmäßig vorausgewählt.`,"settings.branchPrefixesEmpty":`Kein Branch-Präfix definiert. Fügen Sie unten mindestens eines hinzu.`,"settings.branchPrefixesAddLabel":`Neues Präfix`,"settings.branchPrefixesEditHint":`Zum Umbenennen klicken`,"settings.branchPrefixesMoveUp":`Nach oben`,"settings.branchPrefixesMoveDown":`Nach unten`,"settings.worktreesTitle":`Git-Worktrees`,"settings.worktreesHint":`Wähle aus, wo neue Workspace-Worktrees erstellt werden. Relative Pfade sind projektrelativ; absolute Linux/macOS- und Windows-Pfade, $HOME, ~ und %USERPROFILE% werden unterstützt.`,"settings.worktreesPathLabel":`Worktrees-Pfad`,"settings.worktreesPathRequired":`Worktrees-Pfad ist erforderlich.`,"settings.worktreesPrefixByProject":`Worktrees nach Projektname präfixen`,"settings.worktreesPrefixByProjectHint":`Legt jeden Worktree in einem nach dem Projekt benannten Unterordner ab, um Kollisionen zu vermeiden, wenn mehrere Projekte die gleiche Worktree-Wurzel teilen.`,"settings.shareTitle":`Konfiguration teilen`,"settings.shareHint":`Exportiere Einstellungen, Templates und Tags als JSON-Bundle. MCP-Keys werden aus Sicherheitsgründen nicht exportiert.`,"settings.exportConfig":`Exportieren`,"settings.importConfig":`Importieren`,"settings.exportSuccess":`Konfiguration exportiert`,"settings.importSuccess":`Konfiguration importiert`,"settings.importConfirmTitle":`Konfiguration importieren`,"settings.importConfirmMessage":`Dies ersetzt deine aktuellen Einstellungen, Templates und Tags. MCP-Keys bleiben erhalten. Fortfahren?`,"settings.mcp.title":`Externe LLM-Verbindungen (MCP)`,"settings.mcp.hint":`Verbinden Sie einen MCP-Client, um Workspace-Gespräche zu lesen, Nachrichten zu senden und Fragen zu beantworten.`,"settings.mcp.remoteDisabled":`Remote-Verbindungen benötigen Netzwerkzugriff und einen Serverneustart nach der Aktivierung.`,"settings.mcp.clientName":`Clientname (optional)`,"settings.mcp.connection":`Verbindung`,"settings.mcp.local":`Lokales HTTP`,"settings.mcp.remote":`Remote-HTTP`,"settings.mcp.proxy":`Reverse-Proxy`,"settings.mcp.stdio":`Lokales stdio`,"settings.mcp.copyUrl":`URL kopieren`,"settings.mcp.copyConfig":`Konfiguration kopieren`,"settings.mcp.copyWithToken":`Mit Token kopieren`,"settings.mcp.genericFormat":`Diese Beispiele verwenden das allgemeine mcpServers-Format. Passen Sie den Container an Ihren MCP-Client an. Die Vorschau enthält Token-Platzhalter.`,"settings.mcp.tokenUnavailable":`Kein Token verfügbar. Aktivieren Sie den Netzwerkzugriff, bevor Sie eine authentifizierte Konfiguration kopieren.`,"settings.mcp.stdioUnavailable":`Der stdio-Einstiegspunkt ist in dieser Installation nicht verfügbar. Verwenden Sie HTTP oder bauen Sie zuerst Kōbō.`,"settings.mcp.copyFailed":`Kopieren in die Zwischenablage fehlgeschlagen.`,"tours.settings.mcp.title":`Ein externes LLM verbinden`,"tours.settings.mcp.description":`Kopieren Sie eine HTTP- oder stdio-Konfiguration, damit ein externer Assistent mit Ihren Workspaces kommunizieren kann.`,"settings.network.title":`Netzwerkzugriff`,"settings.network.hint":`Steuere Kōbō von einem anderen Gerät in deinem vertrauenswürdigen LAN. Aus = nur localhost. An = im Netzwerk erreichbar, per Token geschützt. Starte Kōbō nach dem Umschalten neu.`,"settings.network.enable":`Netzwerkzugriff aktivieren`,"settings.network.behindProxy":`Hinter einem Reverse Proxy`,"settings.network.behindProxyHint":`Kōbō kann deinen eigenen Rechner nicht mehr von einer weitergeleiteten Anfrage unterscheiden — selbst localhost benötigt ab jetzt das Token. Aktiviere dies nur, wenn ein Reverse Proxy (Traefik, nginx, Caddy…) vor Kōbō steht.`,"settings.network.restartRequired":`Starte Kōbō neu, um die neue Bind-Adresse anzuwenden.`,"settings.network.token":`Zugriffstoken`,"settings.network.copy":`Kopieren`,"settings.network.copied":`Kopiert`,"settings.network.regenerate":`Neu generieren`,"settings.network.regenerateConfirm":`Token neu generieren? Verbundene Geräte benötigen das neue Token.`,"settings.network.urls":`LAN-URLs`,"settings.network.scan":`Zum Verbinden scannen`,"settings.network.noUrls":`Keine LAN-Adresse erkannt.`,"settings.network.loadFailed":`Netzwerkzugriff-Einstellungen konnten nicht geladen werden.`,"settings.network.updateFailed":`Netzwerkzugriff-Einstellungen konnten nicht aktualisiert werden.`,"settings.unsavedChanges.title":`Nicht gespeicherte Änderungen`,"settings.unsavedChanges.message":`Dieses Projekt hat nicht gespeicherte Änderungen. Ein Projektwechsel verwirft sie.`,"settings.unsavedChanges.discard":`Verwerfen und wechseln`,"settings.unsavedChanges.cancel":`Abbrechen`,"settings.loadFailed":`Einstellungen konnten nicht geladen werden`,"settings.loadFailedHint":`Speichern ist deaktiviert: das Formular zeigt Standardwerte, und sie zu schreiben würde deine echte Konfiguration überschreiben.`,"health.title":`Status`,"health.tooltip":`Systemstatus`,"changelog.title":`Änderungsprotokoll`,"changelog.tooltip":`Was ist neu in Kōbō`,"changelog.empty":`Kein Änderungsprotokoll verfügbar.`,"changelog.current":`aktuell`,"changelog.currentVersion":`Aktuelle Version: v{version}`,"health.envTitle":`Umgebung`,"health.version":`Version`,"health.koboHome":`Kōbō home`,"health.dbTitle":`Datenbank`,"health.dbPath":`Pfad`,"health.dbSize":`Größe`,"health.schemaVersion":`Schema-Version`,"health.settingsSchemaVersion":`Einstellungs-Schema`,"health.runtimesTitle":`Agent-Laufzeiten`,"health.claudeCliTitle":`Claude Code`,"health.claudeCliMissing":`claude nicht im PATH`,"health.codexCliTitle":`OpenAI Codex`,"health.codexCliMissing":`codex-Binärdatei nicht auflösbar`,"health.forgeCliTitle":`Forge-CLI (gh / glab)`,"health.forgeCliMissing":`Weder gh noch glab gefunden — Pull Requests und CI-Überwachung nicht verfügbar`,"health.workspacesTitle":`Workspaces`,"health.workspacesCount":`{total} gesamt, {archived} archiviert`,"health.worktreesMissing":`{count} Worktree(s) auf der Festplatte fehlen`,"health.sessionsTitle":`Agent-Sitzungen`,"health.sessionsOrphaned":`{n} verwaiste laufende Sitzung(en)`,"health.integrationsTitle":`Integrationen`,"health.integrationConfigured":`konfiguriert`,"health.integrationMissing":`nicht konfiguriert`,"health.integrationDisabled":`deaktiviert`,"settings.integrationEnabled":`Integration aktivieren`,"health.activeTitle":`Aktiver Zustand`,"health.activeQuotaBackoffs":`Ausstehende Quota-Backoffs`,"health.activeWakeups":`Geplante Aufweckungen`,"health.activeAutoLoop":`Auto-Loop läuft`,"health.activeAgentSessions":`Aktive Agent-Sessions`,"health.activeDevServers":`Laufende Dev-Server`,"health.noneActive":`Keine.`,"health.quotaResumeAt":`fortgesetzt um {time}`,"health.wakeupAt":`aufgeweckt um {time}`,"health.startedAgo":`gestartet vor {time}`,"health.autoLoopReady":`bereit, iteriert`,"health.autoLoopGrooming":`Grooming läuft`,"session.started":`Sitzung gestartet`,"session.ended":`Sitzung beendet`,"session.compacted":`Kontext komprimiert`,"session.endedCompleted":`Zug beendet — senden Sie eine Nachricht, um fortzufahren`,"session.endedKilled":`Sitzung gestoppt`,"session.endedError":`Sitzung mit einem Fehler beendet`,"session.endedWatchdog":`Sitzung nach einer Phase der Inaktivität zwangsweise geschlossen`,"tool.running":`Läuft...`,"activity.raw_lines":`Rohausgabezeilen ({n})`,"activity.loading_older":`Ältere Nachrichten werden geladen…`,"activity.compacting":`Kontext wird komprimiert…`,"activity.prev_user_message":`Vorherige Nachricht des Benutzers`,"activity.scroll_to_bottom":`Nach unten scrollen`,"activity.empty":`Noch nichts`,"activity.emptyHint":`Die Agentenausgabe erscheint hier, sobald eine Sitzung startet.`,"activity.a11y.region":`Ansagen zur Agentenaktivität`,"activity.a11y.agentSaid":`Agent: {text}`,"activity.a11y.toolStarted":`Werkzeug {name} gestartet`,"activity.a11y.toolFinished":`Werkzeug {name} beendet`,"activity.a11y.toolFailed":`Werkzeug {name} fehlgeschlagen`,"chat.systemPrompt":`System-Prompt`,"chat.agent":`Agent`,"chat.cleanupScript":`Cleanup-Skript`,"chat.archiveScript":`Archiv-Skript`,"chat.setupScript":`Setup-Skript`,"chat.hookScript":`Hook {event}`,"chat.scriptDone":`Fertig`,"chat.scriptComplete":`[{phase}] Abgeschlossen`,"chat.scriptError":`[{phase}] Fehler: {message}`,"chat.unknownError":`unbekannt`,"chat.you":`Du`,"chat.session":`Sitzung`,"chat.nActions":`{n} Aktion | {n} Aktionen`,"chat.lastUpdatedAt":`Zuletzt aktualisiert um {time}`,"chat.scrollToTurnTop":`Zum Nachrichtenanfang scrollen`,"migration.backing_up":`Datenbank wird gesichert…`,"migration.running":`Agent-Daten werden migriert — {processed}/{total}`,"migration.error":`Migration fehlgeschlagen`,"migration.backup_location":`Ein Backup wurde unter {path} gespeichert. Starte Kōbō neu, um erneut zu versuchen.`,"migration.retry":`Starte Kōbō neu, um erneut zu versuchen.`,"engine.select":`Engine`,"engine.model":`Modell`,"engine.effort":`Reasoning-Aufwand`,"wakeup.scheduledIn":`Nächste Weckung in {n}s`,"wakeup.scheduledAt":`Nächste Weckung um {time}`,"wakeup.firing":`Wecke auf...`,"wakeup.reason":`Grund: {reason}`,"wakeup.cancel":`Diese Weckung abbrechen`,"wakeup.pendingIndicator":`Weckung geplant`,"cron.pendingIndicator":`{n} Cron(s) geplant`,"schedule.tabLabel":`Zeitplan`,"schedule.panelTitle":`Automatisierung`,"schedule.panelDescription":`Diesen Workspace später wecken oder Anweisungen nach Zeitplan ausführen.`,"schedule.activeTitle":`Aktive Zeitpläne`,"schedule.emptyTitle":`Nichts geplant`,"schedule.emptyDescription":`Unten ein einmaliges Wakeup oder eine wiederkehrende Aufgabe erstellen.`,"schedule.cancelWakeup":`Dieses Wakeup abbrechen`,"schedule.cancelCron":`Diese wiederkehrende Aufgabe löschen`,"schedule.createTitle":`Zeitplan erstellen`,"schedule.createDescription":`Festlegen, wann und wie der Agent ausgeführt werden soll.`,"schedule.typeWakeup":`Einmaliges Wakeup`,"schedule.typeRecurring":`Wiederkehrende Aufgabe`,"schedule.wakeupDescription":`Den Prompt einmalig nach einer Verzögerung ausführen.`,"schedule.cronDescription":`Den Prompt regelmäßig nach einem festen Zeitplan ausführen.`,"schedule.promptHint":`Anweisungen, die an den Agenten gesendet werden`,"schedule.frequencyTitle":`Häufigkeit`,"schedule.advancedDescription":`Einen rohen Cron-Ausdruck verwenden`,"schedule.cronExpressionLabel":`Cron-Ausdruck`,"schedule.sessionModeTitle":`Ausführungssitzung`,"schedule.modeResume":`Sitzung fortsetzen`,"schedule.oneShotHint":`Diesen Zeitplan nach der ersten Ausführung entfernen.`,"schedule.wakeupTitle":`Wakeup ausstehend`,"schedule.cronsTitle":`Wiederkehrende Zeitpläne`,"schedule.noWakeup":`Kein Wakeup geplant`,"schedule.noCrons":`Kein Cron geplant`,"schedule.invalidCron":`Inaktiv: ungültiger Ausdruck. Diesen Zeitplan löschen und neu erstellen.`,"schedule.nextFireAt":`nächstes um {time}`,"schedule.lastFiredAt":`zuletzt vor {time}`,"schedule.addCronTitle":`Wiederkehrende Aufgabe hinzufügen`,"schedule.addWakeupTitle":`Wakeup planen`,"schedule.every":`Alle`,"schedule.unitMinutes":`Minuten`,"schedule.unitHours":`Stunden`,"schedule.unitDays":`Tage`,"schedule.daysDriftWarning":`Das Intervall kann sich am Monatsende auf 1 Tag verkürzen (Cron-Einschränkung).`,"schedule.advancedExpression":`Erweiterter Ausdruck (optional)`,"schedule.advancedHint":`Roher Cron (z. B. */15 * * * *) oder {'@'}hourly/{'@'}daily — überschreibt die Auswahl, wenn gesetzt.`,"schedule.promptLabel":`Prompt`,"schedule.labelOptional":`Bezeichnung (optional)`,"schedule.delayMinutes":`Verzögerung (Minuten)`,"schedule.modeFresh":`Neue Sitzung`,"schedule.oneShot":`Nur einmal ausführen`,"schedule.addCronBtn":`Cron hinzufügen`,"schedule.addWakeupBtn":`Wakeup planen`,"schedule.cronCreated":`Wiederkehrende Aufgabe hinzugefügt`,"schedule.wakeupCreated":`Wakeup geplant`,"askUserQuestion.title":`Der Agent stellt eine Frage`,"askUserQuestion.submit":`Antwort senden`,"askUserQuestion.multiSelectHint":`Eine oder mehrere Optionen auswählen`,"askUserQuestion.otherOption":`Sonstiges`,"askUserQuestion.otherOptionHint":`bitte in der nächsten Chat-Nachricht angeben`,"askUserQuestion.freeFormLabel":`Antwort präzisieren`,"askUserQuestion.freeFormHint":`Diese Antwort wird direkt an den Agenten gesendet.`,"askUserQuestion.noPending":`Keine offene Frage`,"askUserQuestion.next":`Weiter`,"askUserQuestion.previous":`Zurück`,"askUserQuestion.cancel":`Abbrechen`,"askUserQuestion.cancelTooltip":`Diese Frage überspringen — der Agent macht ohne Antwort weiter`,"askUserQuestion.collapse":`Fragebereich einklappen`,"askUserQuestion.expand":`Fragebereich ausklappen`,"permissionRequest.title":`Der Agent möchte ein Tool verwenden`,"permissionRequest.allow":`Erlauben`,"permissionRequest.allowOnce":`Einmal erlauben`,"permissionRequest.allowTurn":`Diesen Zug erlauben`,"permissionRequest.operationUnavailable":`Aktionsdetails fehlen; einmalig oder das gesamte Werkzeug erlauben.`,"permissionRequest.allowOperation":`Diese Aktion immer erlauben`,"permissionRequest.allowTool":`Dieses Tool immer erlauben`,"permissionRequest.deny":`Ablehnen`,"permissionRequest.tool":`Tool`,"permissionRequest.input":`Eingabe`,"permissionRequest.rawInput":`Technische Details`,"permissionRequest.collapse":`Berechtigungsfenster einklappen`,"permissionRequest.expand":`Berechtigungsfenster ausklappen`,"permissionRequest.denied":`vom Nutzer abgelehnt`,"workspaceStatus.created":`erstellt`,"workspaceStatus.extracting":`Extraktion`,"workspaceStatus.brainstorming":`Brainstorming`,"workspaceStatus.compacting":`Kontextkomprimierung`,"chatInput.compactingBanner":`Der Kontext wird komprimiert. Danach können Nachrichten wieder gesendet werden.`,"workspaceStatus.executing":`läuft`,"workspaceStatus.awaitingUser":`wartet auf deine Antwort`,"workspaceStatus.completed":`abgeschlossen`,"workspaceStatus.idle":`inaktiv`,"workspaceStatus.error":`Fehler`,"workspaceStatus.quota":`Kontingent erreicht`,"workspaceStatus.retrying":`automatische Wiederaufnahme`,"workspaceList.prOpen":`#{n} — Pull Request offen`,"workspaceList.prWatchDisabledIndicator":`PR-Prüfungen für diesen Workspace ignoriert`,"workspaceList.prChangesRequested":`#{n} — Änderungen angefordert`,"workspaceList.attentionCiFailed":`CI fehlgeschlagen`,"workspaceList.attentionChangesRequested":`Änderungen angefordert`,"workspaceList.attentionReadyToMerge":`Bereit zum Mergen`,"autoLoop.toggle":`Auto-Schleife`,"autoLoop.start":`Auto-Schleife starten`,"autoLoop.prepare":`Auto-Schleife vorbereiten`,"autoLoop.reprepare":`Auto-Schleife erneut vorbereiten`,"autoLoop.reprepareTooltip":`Grooming-Schritt erneut ausführen, um Aufgaben hinzuzufügen oder zu aktualisieren, bevor die Schleife neu gestartet wird`,"autoLoop.prepareBusy":`Warte, bis der Agent fertig ist, bevor du vorbereitest`,"autoLoop.forceReady":`Ich weiß, was ich tue — Grooming überspringen`,"autoLoop.forceReadyConfirm":`Grooming überspringen und Auto-Schleife als bereit markieren? Kann hängen bleiben, wenn Aufgaben nicht atomar sind.`,"autoLoop.stop":`Auto-Schleife stoppen`,"autoLoop.notReady":`Zuerst „Auto-Schleife vorbereiten" ausführen`,"autoLoop.noTasks":`Zuerst Aufgaben hinzufügen`,"autoLoop.progress":`Auto-Schleife · {done}/{total} Aufgaben`,"autoLoop.preparing":`Auto-Schleife · Vorbereitung`,"autoLoop.preparingTooltip":`Grooming läuft — der Agent erstellt / überprüft Aufgaben. Die Schleife startet, sobald mark_auto_loop_ready aufgerufen wird.`,"autoLoop.running":`Auto-Schleife läuft`,"autoLoop.startInMode":`Im Auto-Schleifen-Modus starten`,"autoLoop.brainstormModelPrefix":`Brainstorm:`,"autoLoop.brainstormModelTooltip":`Modell nur für die anfängliche Brainstorming-Sitzung — jede Aufgabe danach nutzt das oben gewählte Modell`,"autoLoop.brainstormReasoningPrefix":`Brainstorm:`,"autoLoop.brainstormReasoningTooltip":`Denkaufwand nur für die anfängliche Brainstorming-Sitzung`,"autoLoop.executionModelPrefix":`Loop:`,"autoLoop.executionModelTooltip":`Modell für jede Auto-Loop-Aufgabe nach der anfänglichen Brainstorming-Sitzung`,"autoLoop.sessionMode.perTask":`Neue Sitzung pro Aufgabe`,"autoLoop.sessionMode.label":`Sitzung:`,"autoLoop.sessionMode.perTaskTooltip":`Jede Aufgabe startet eine neue Claude-Code-Sitzung ohne Erinnerung an vorherige Aufgaben`,"autoLoop.sessionMode.continuous":`Durchgehende Sitzung`,"autoLoop.sessionMode.continuousTooltip":`Alle Aufgaben laufen in derselben Sitzung — der Agent behält den vollen Kontext, aber die Sitzung wird mit der Zeit länger`,"koboCommand.prepAutoloopDesc":`Aufgaben für Auto-Schleifen-Modus vorbereiten (auf Atomarität prüfen)`,"staleSessionBanner.title":`Auto-Schleife läuft`,"staleSessionBanner.message":`Du siehst eine ältere Sitzung — der Agent arbeitet gerade in der neuesten.`,"staleSessionBanner.staleTitle":`Ältere Sitzung`,"staleSessionBanner.staleMessage":`Du siehst eine ältere Sitzung — gesendete Nachrichten gehen an diese Sitzung, nicht an die neueste.`,"staleSessionBanner.switchToCurrent":`Zur aktuellen wechseln`,"network.login.title":`Netzwerkzugriff`,"network.login.description":`Dieses Kōbō benötigt ein Token, um über das Netzwerk gesteuert zu werden. Füge das in den Einstellungen auf dem Host angezeigte Token ein.`,"network.login.tokenLabel":`Token`,"network.login.tokenPlaceholder":`Token einfügen`,"network.login.connect":`Verbinden`,"network.login.invalid":`Ungültiges Token`,"network.login.serverError":`Serverfehler — bitte erneut versuchen.`,"network.login.unreachable":`Kōbō ist nicht erreichbar — prüfe deine Verbindung.`,"layout.toggleWorkspaces":`Workspaces-Leiste ein-/ausblenden`,"layout.togglePanel":`Seitenleiste ein-/ausblenden`,"unsaved.title":`Ohne Speichern verlassen?`,"unsaved.message":`Du hast ungespeicherte Änderungen. Diese Seite zu verlassen verwirft sie.`,"unsaved.leave":`Verlassen`,"unsaved.stay":`Bleiben`,"prCheckout.staleRetriesExhausted":`Der Repository-Status hat sich während der Anwendung deiner Auswahl immer wieder geändert. Schließe diesen Dialog und versuche es erneut über die Pull-Request-Auswahl.`,"prPicker.title":`Aus einer Pull Request importieren`,"prPicker.filterAll":`Alle`,"prPicker.filterMine":`Meine`,"prPicker.filterReviewRequested":`Review angefragt`,"prPicker.searchPlaceholder":`Pull Requests durchsuchen…`,"prPicker.loadMore":`Mehr laden`,"prPicker.empty":`Keine offene Pull Request passt.`,"prPicker.forkNotSupported":`Diese PR stammt von einem Fork; Kōbō kann sie nicht auschecken.`,"prPicker.loadFailed":`Pull Requests konnten nicht geladen werden.`,"prPicker.badge.workspaceExists":`Bereits in Kōbō geöffnet`,"prPicker.badge.worktreePresent":`Worktree vorhanden`,"prPicker.badge.localBranch":`Lokaler Branch`,"prPicker.badge.new":`Neu`,"prPicker.badge.draft":`Entwurf`,"prCheckout.title":`Worktree vorbereiten`,"prCheckout.apply":`Anwenden`,"prCheckout.cancel":`Abbrechen`,"prCheckout.retry":`Erneut versuchen`,"prCheckout.diagnoseFailed":`Die Diagnose des Pull Requests ist fehlgeschlagen.`,"prCheckout.resolveFailed":`Die Auflösung des Pull-Request-Checkouts ist fehlgeschlagen.`,"prCheckout.path.required":`Gib einen Worktree-Pfad ein, der noch nicht existiert.`,"prCheckout.workspace.restoreNotAvailable":"Das Wiederherstellen eines bereinigten Workspaces ist von hier aus noch nicht möglich. Lege den Worktree-Ordner auf der Festplatte neu an (z. B. mit `git worktree add`) — Kōbō verknüpft ihn innerhalb von etwa 30 Sekunden automatisch wieder.","prCheckout.staleReloaded":`Das Repository hat sich geändert; die Diagnose wurde aktualisiert.`,"prCheckout.step.blocked":`Fortfahren nicht möglich`,"prCheckout.step.path":`Worktree-Speicherort`,"prCheckout.step.workspace":`Bestehender Workspace`,"prCheckout.step.worktree":`Bestehende Worktree`,"prCheckout.step.operation":`Git-Vorgang läuft`,"prCheckout.step.changes":`Nicht committete Änderungen`,"prCheckout.step.divergence":`Lokaler Branch vs. origin`,"prCheckout.workspace.activeHint":`Ein Workspace namens „{name}" verfolgt diesen Branch bereits.`,"prCheckout.workspace.open":`Diesen Workspace öffnen`,"prCheckout.workspace.continue":`Mit einem anderen Pfad fortfahren`,"prCheckout.workspace.unarchive":`Entarchivieren und öffnen`,"prCheckout.workspace.restore":`Worktree wiederherstellen`,"prCheckout.worktree.orphanHint":`Auf diesem Branch existiert bereits eine Worktree unter {path}.`,"prCheckout.worktree.attach":`Anhängen`,"prCheckout.worktree.branchInUse":`Dieser Branch ist bereits ausgecheckt. Verwenden Sie seinen vorhandenen Worktree.`,"prCheckout.worktree.createElsewhere":`Eine neue an anderer Stelle erstellen`,"prCheckout.operation.hint":`In dieser Worktree läuft gerade ein {operation}.`,"prCheckout.operation.abort":`Abbrechen`,"prCheckout.operation.cancel":`Unangetastet lassen und hier stoppen`,"prCheckout.changes.hint":`{modified} geändert, {staged} vorgemerkt, {untracked} unverfolgt.`,"prCheckout.changes.stash":`Stashen`,"prCheckout.changes.commit":`Committen`,"prCheckout.changes.discard":`Verwerfen (als benannter Stash aufbewahrt)`,"prCheckout.changes.keepResetConflict":`Lokale Änderungen können bei einem Hard Reset nicht behalten werden. Zuerst Stash oder Commit wählen oder den Branch behalten.`,"prCheckout.changes.keep":`So belassen, wie sie sind`,"prCheckout.divergence.behindHint":`Dein Branch liegt {behind} Commit(s) hinter origin zurück.`,"prCheckout.divergence.aheadHint":`Dein Branch hat {ahead} nicht gepushte(n) Commit(s).`,"prCheckout.divergence.divergedHint":`{ahead} voraus, {behind} zurück gegenüber origin.`,"prCheckout.divergence.fastForward":`Fast-Forward auf origin`,"prCheckout.divergence.rebase":`Auf origin rebasen`,"prCheckout.divergence.resetHard":`Auf origin zurücksetzen (zuvor wird ein Backup-Branch erstellt)`,"prCheckout.divergence.keep":`Lokalen Stand beibehalten`,"prCheckout.blocked.forgeUnavailable":`Das Forge-CLI fehlt oder ist nicht authentifiziert.`,"prCheckout.blocked.forkPr":`Diese PR stammt von einem Fork; Kōbō kann sie nicht auschecken.`,"prCheckout.blocked.headBranchDeleted":`Der Branch existiert auf dem Remote nicht mehr.`,"prCheckout.blocked.indexLock":`Ein anderer Git-Prozess läuft gerade (index.lock ist vorhanden).`,"prCheckout.blocked.pathOccupied":`{path} existiert bereits und ist keine Worktree.`,"prCheckout.blocked.worktreeOtherBranch":`{path} ist eine Worktree auf einem anderen Branch ({branch}).`,"prCheckout.blocked.noCommonAncestor":`Es existiert bereits ein lokaler Branch namens {branch} mit unabhängiger Historie.`,"split.title":`Doppelte Workspace-Ansicht`,"split.open":`Nebeneinander öffnen`,"split.openBeside":`Daneben öffnen`,"split.close":`Doppelansicht schließen`,"split.left":`Linker Workspace`,"split.right":`Rechter Workspace`,"split.choose":`Workspace auswählen`,"split.recipient":`Senden an: {name}`,"absence.title":`Seit deinem letzten Besuch`,"settings.activityDigestHint":`Zeigt eine Übersicht der Ereignisse während deiner Abwesenheit. Deaktivieren blendet den Eintrag aus und stoppt die Erfassung neuer Ereignisse, ohne den bisherigen Verlauf zu löschen.`,"absence.pending":`Änderungen prüfen`,"absence.retention":`Wichtige Aktivitäten der letzten 30 Tage, erfasst seit Installation dieser Funktion. Besuche werden nur in diesem Browser verfolgt.`,"absence.since":`Seit {date}`,"absence.error":`Aktivität konnte nicht geladen werden.`,"absence.retry":`Erneut versuchen`,"absence.empty":`Keine neue Aktivität.`,"absence.more":`Mehr laden`,"absence.markRead":`Angezeigte Ereignisse als gelesen markieren`,"absence.kind.question":`Frage gestellt`,"absence.kind.permission":`Genehmigung angefragt`,"absence.kind.completed":`Sitzung beendet`,"absence.kind.error":`Agent-Fehler`,"absence.kind.pr-merged":`PR gemergt`,"absence.kind.pr-approved":`PR genehmigt`,"absence.kind.pr-changes-requested":`Änderungen angefordert`,"absence.kind.pr-ci-failed":`CI fehlgeschlagen`,"absence.kind.pr-ci-recovered":`CI wieder erfolgreich`,"absence.kind.pr-merge-conflict":`Merge-Konflikt`,"absence.kind.pr-ready-to-merge":`PR bereit zum Merge`,"absence.kind.archived":`Workspace archiviert`,"absence.kind.purged":`Worktree bereinigt`,"absence.kind.restored":`Worktree wiederhergestellt`,"tours.split.controls.title":`Zwei unabhängige Workspaces`,"tours.split.controls.description":`Wähle einen Workspace pro Bereich. Verschiebe die Trennlinie; jede Unterhaltung behält ihren Empfänger und ihre Panels.`,"tours.home.sort.title":`Workspaces sortieren`,"tours.home.sort.description":`Wähle Reihenfolge und Richtung innerhalb jeder Gruppe. Deine Auswahl wird gespeichert.`,"tours.home.activity.title":`Aktivität nach Abwesenheit prüfen`,"tours.home.activity.description":`Unten in der linken Seitenleiste findest du Fragen, Sitzungsenden, Fehler und PR-Änderungen seit deinem letzten Besuch.`};export{e as default};
@@ -1 +1 @@
1
- import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{J as t,O as n,P as r,b as i,j as a}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as o,Y as s,tt as c,y as l}from"./QBtn-CZaBclNw.js";import{n as u}from"./pinia-BKqmoVru.js";import{It as d,Lt as f,Nt as p,Pt as m}from"./index-mvh5w1cM.js";var h=c({name:`QResizeObserver`,props:{debounce:{type:[String,Number],default:100}},emits:[`resize`],setup(e,{emit:t}){let o=null,c,l={width:-1,height:-1};function u(t){t===!0||e.debounce===0||e.debounce===`0`?d():o===null&&(o=setTimeout(d,e.debounce))}function d(){if(o!==null&&(clearTimeout(o),o=null),c){let{offsetWidth:e,offsetHeight:n}=c;(e!==l.width||n!==l.height)&&(l={width:e,height:n},t(`resize`,l))}}let{proxy:f}=i();f.trigger=u;let p,m=!1,h=e=>{m||(c=f.$el.parentNode,c?(p=new ResizeObserver(u),p.observe(c),d()):e||n(()=>{h(!0)}))};return r(()=>{h()}),a(()=>{m=!0,o!==null&&clearTimeout(o),p&&=(p.disconnect(),null)}),s}}),{passive:g}=o,_=[`both`,`horizontal`,`vertical`],v=c({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>_.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:f},emits:[`scroll`],setup(e,{emit:n}){let o={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},c=null,u,f;t(()=>e.scrollTarget,()=>{v(),_()});function h(){c?.();let t=Math.max(0,d(u)),r=p(u),i={top:t-o.position.top,left:r-o.position.left};if(e.axis===`vertical`&&i.top===0||e.axis===`horizontal`&&i.left===0)return;let a=Math.abs(i.top)>=Math.abs(i.left)?i.top<0?`up`:`down`:i.left<0?`left`:`right`;o.position={top:t,left:r},o.directionChanged=o.direction!==a,o.delta=i,o.directionChanged&&(o.direction=a,o.inflectionPoint=o.position),n(`scroll`,{...o})}function _(){u=m(f,e.scrollTarget),u.addEventListener(`scroll`,y,g),y(!0)}function v(){u!==void 0&&(u.removeEventListener(`scroll`,y,g),u=void 0)}function y(t){if(t===!0||e.debounce===0||e.debounce===`0`)h();else if(c===null){let[t,n]=e.debounce?[setTimeout(h,e.debounce),clearTimeout]:[requestAnimationFrame(h),cancelAnimationFrame];c=()=>{n(t),c=null}}}let{proxy:b}=i(),x=l();return t(()=>x.lang.rtl,h),r(()=>{f=b.$el.parentNode,_()}),a(()=>{c?.(),v()}),Object.assign(b,{trigger:y,getPosition:()=>o}),s}});function y(){let e=null;return{begin(){return e?.abort(),e=new AbortController,e.signal},isCurrent(t){return e!==null&&e.signal===t&&!t.aborted},abort(){e?.abort(),e=null}}}function b(e){return(e instanceof DOMException||typeof e==`object`&&!!e)&&e.name===`AbortError`}var x=u(`documents`,()=>{let t=e({}),n=e(!1),r=e(!1),i=e(null),a=e(0),o=y();function s(e){return t.value[e]??[]}async function c(e){n.value=!0;try{let n=await fetch(`/api/workspaces/${e}/documents`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();t.value[e]=r.documents}catch(n){console.error(`[documents-store] fetchDocuments failed:`,n),t.value[e]=[]}finally{n.value=!1}}async function l(e,t){await u(e,t,o.begin())}async function u(e,t,n){r.value=!0;try{let r=await fetch(`/api/workspaces/${e}/document?path=${encodeURIComponent(t.path)}`,{signal:n});if(!r.ok)throw Error(`HTTP ${r.status}`);let a=await r.json();return o.isCurrent(n)?(i.value={path:a.path,name:t.name,content:a.content},!0):!1}catch(e){if(b(e)||!o.isCurrent(n))return!1;throw console.error(`[documents-store] openDocument failed:`,e),e}finally{o.isCurrent(n)&&(r.value=!1)}}async function d(e,n){let i=o.begin();try{let r=()=>(t.value[e]??[]).find(e=>e.path===n)??null,s=r();return s||=(await c(e),r()),!s||!o.isCurrent(i)||!await u(e,s,i)||!o.isCurrent(i)?!1:(a.value++,!0)}finally{o.isCurrent(i)&&(r.value=!1)}}function f(){o.abort(),r.value=!1,i.value=null}function p(e){delete t.value[e],f()}return{documentsByWorkspace:t,loadingList:n,loadingContent:r,selected:i,requestOpen:a,documentsFor:s,fetchDocuments:c,openDocument:l,openDocumentByPath:d,closeDocument:f,clearForWorkspace:p}});export{h as a,v as i,y as n,b as r,x as t};
1
+ import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{J as t,O as n,P as r,b as i,j as a}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as o,Y as s,tt as c,y as l}from"./QBtn-CZaBclNw.js";import{n as u}from"./pinia-BKqmoVru.js";import{It as d,Lt as f,Nt as p,Pt as m}from"./index-DtsrXdzx.js";var h=c({name:`QResizeObserver`,props:{debounce:{type:[String,Number],default:100}},emits:[`resize`],setup(e,{emit:t}){let o=null,c,l={width:-1,height:-1};function u(t){t===!0||e.debounce===0||e.debounce===`0`?d():o===null&&(o=setTimeout(d,e.debounce))}function d(){if(o!==null&&(clearTimeout(o),o=null),c){let{offsetWidth:e,offsetHeight:n}=c;(e!==l.width||n!==l.height)&&(l={width:e,height:n},t(`resize`,l))}}let{proxy:f}=i();f.trigger=u;let p,m=!1,h=e=>{m||(c=f.$el.parentNode,c?(p=new ResizeObserver(u),p.observe(c),d()):e||n(()=>{h(!0)}))};return r(()=>{h()}),a(()=>{m=!0,o!==null&&clearTimeout(o),p&&=(p.disconnect(),null)}),s}}),{passive:g}=o,_=[`both`,`horizontal`,`vertical`],v=c({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>_.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:f},emits:[`scroll`],setup(e,{emit:n}){let o={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},c=null,u,f;t(()=>e.scrollTarget,()=>{v(),_()});function h(){c?.();let t=Math.max(0,d(u)),r=p(u),i={top:t-o.position.top,left:r-o.position.left};if(e.axis===`vertical`&&i.top===0||e.axis===`horizontal`&&i.left===0)return;let a=Math.abs(i.top)>=Math.abs(i.left)?i.top<0?`up`:`down`:i.left<0?`left`:`right`;o.position={top:t,left:r},o.directionChanged=o.direction!==a,o.delta=i,o.directionChanged&&(o.direction=a,o.inflectionPoint=o.position),n(`scroll`,{...o})}function _(){u=m(f,e.scrollTarget),u.addEventListener(`scroll`,y,g),y(!0)}function v(){u!==void 0&&(u.removeEventListener(`scroll`,y,g),u=void 0)}function y(t){if(t===!0||e.debounce===0||e.debounce===`0`)h();else if(c===null){let[t,n]=e.debounce?[setTimeout(h,e.debounce),clearTimeout]:[requestAnimationFrame(h),cancelAnimationFrame];c=()=>{n(t),c=null}}}let{proxy:b}=i(),x=l();return t(()=>x.lang.rtl,h),r(()=>{f=b.$el.parentNode,_()}),a(()=>{c?.(),v()}),Object.assign(b,{trigger:y,getPosition:()=>o}),s}});function y(){let e=null;return{begin(){return e?.abort(),e=new AbortController,e.signal},isCurrent(t){return e!==null&&e.signal===t&&!t.aborted},abort(){e?.abort(),e=null}}}function b(e){return(e instanceof DOMException||typeof e==`object`&&!!e)&&e.name===`AbortError`}var x=u(`documents`,()=>{let t=e({}),n=e(!1),r=e(!1),i=e(null),a=e(0),o=y();function s(e){return t.value[e]??[]}async function c(e){n.value=!0;try{let n=await fetch(`/api/workspaces/${e}/documents`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();t.value[e]=r.documents}catch(n){console.error(`[documents-store] fetchDocuments failed:`,n),t.value[e]=[]}finally{n.value=!1}}async function l(e,t){await u(e,t,o.begin())}async function u(e,t,n){r.value=!0;try{let r=await fetch(`/api/workspaces/${e}/document?path=${encodeURIComponent(t.path)}`,{signal:n});if(!r.ok)throw Error(`HTTP ${r.status}`);let a=await r.json();return o.isCurrent(n)?(i.value={path:a.path,name:t.name,content:a.content},!0):!1}catch(e){if(b(e)||!o.isCurrent(n))return!1;throw console.error(`[documents-store] openDocument failed:`,e),e}finally{o.isCurrent(n)&&(r.value=!1)}}async function d(e,n){let i=o.begin();try{let r=()=>(t.value[e]??[]).find(e=>e.path===n)??null,s=r();return s||=(await c(e),r()),!s||!o.isCurrent(i)||!await u(e,s,i)||!o.isCurrent(i)?!1:(a.value++,!0)}finally{o.isCurrent(i)&&(r.value=!1)}}function f(){o.abort(),r.value=!1,i.value=null}function p(e){delete t.value[e],f()}return{documentsByWorkspace:t,loadingList:n,loadingContent:r,selected:i,requestOpen:a,documentsFor:s,fetchDocuments:c,openDocument:l,openDocumentByPath:d,closeDocument:f,clearForWorkspace:p}});export{h as a,v as i,y as n,b as r,x as t};
@@ -1,4 +1,4 @@
1
- import{$a as e,$f as t,$i as n,$l as r,$m as i,$n as a,$o as o,$p as s,$t as c,Am as l,An as u,Ap as d,Ar as f,At as ee,B as te,Ba as p,Bc as m,Bd as h,Bi as g,Bl as _,Bp as ne,Bs as v,Bu as y,Cf as re,Ch as ie,Ci as ae,Cn as oe,Cp as se,Cr as ce,Cs as le,Cu as ue,D as de,Dc as fe,Dp as pe,Ec as me,Ef as he,Eh as ge,Ei as _e,El as ve,Em as ye,En as be,Ep as xe,Es as Se,Eu as Ce,Fc as b,Fd as we,Ff as Te,Fh as Ee,Fl as De,Fm as x,Fs as Oe,Fu as S,G as ke,Gd as Ae,Gf as je,Gh as Me,Gm as Ne,Gn as Pe,Gr as Fe,Gu as Ie,H as Le,Hd as Re,Hl as ze,Hm as C,Hn as Be,Hs as Ve,Hu as He,I as Ue,Ia as We,Ic as w,If as Ge,Ih as Ke,Il as qe,Im as T,Is as Je,Iu as Ye,J as Xe,Ja as Ze,Jd as Qe,Jf as $e,Jh as et,Jl as tt,Jm as nt,Jn as rt,Jr as it,K as at,Kd as ot,Kf as st,Kh as ct,Kl as lt,Kn as ut,Kp as dt,Kr as ft,Kt as pt,Ku as mt,La as ht,Lc as gt,Ld as _t,Lf as vt,Lh as yt,Li as bt,Lm as xt,Ln as St,Ls as Ct,Lt as wt,Lu as Tt,Mc as Et,Mi as Dt,Mn as Ot,Mo as kt,Mp as At,Mr as jt,Ms as Mt,Mu as E,N as Nt,Na as Pt,Nc as D,Nh as Ft,Nm as It,Nn as Lt,Np as Rt,Nr as zt,Ns as Bt,Oc as Vt,Oi as Ht,Ol as Ut,Op as Wt,Os as Gt,Ot as Kt,Pa as qt,Pc as Jt,Pd as Yt,Pm as Xt,Pn as Zt,Pp as Qt,Ps as $t,Pt as en,Qa as tn,Qc as nn,Qf as rn,Qh as an,Qi as on,Ql as sn,Qm as cn,Qr as ln,Qt as un,Qu as dn,Ra as fn,Rc as pn,Rd as O,Rf as mn,Rh as hn,Ri as gn,Rl as k,Rm as _n,Rn as vn,Rt as yn,Ru as bn,Sf as xn,Si as Sn,Sl as Cn,Sm as wn,Sn as Tn,So as En,Sp as Dn,Sr as On,Ss as kn,Su as An,Tc as jn,Th as Mn,Ti as Nn,Tl as Pn,Tn as Fn,Tp as In,Tt as Ln,Uc as Rn,Uf as zn,Ul as Bn,Um as A,Un as Vn,Va as Hn,Vf as Un,Vl as Wn,Vm as Gn,Vn as Kn,Vs as qn,Vu as Jn,W as Yn,Wa as Xn,Wc as Zn,Wd as Qn,Wf as $n,Wl as er,Wm as tr,Wt as nr,Wu as rr,Xa as ir,Xf as ar,Xi as or,Xm as j,Xo as sr,Xp as cr,Xr as lr,Xu as ur,Y as dr,Ya as fr,Yf as pr,Yh as mr,Yi as hr,Yl as gr,Ym as _r,Yr as vr,Za as yr,Zd as br,Zf as xr,Zh as Sr,Zl as Cr,Zm as wr,Zo as Tr,Zr as Er,_c as Dr,_d as M,_h as Or,_m as kr,_n as Ar,_o as jr,_p as Mr,_r as Nr,_t as Pr,_u as Fr,ac as Ir,af as Lr,al as Rr,am as zr,an as Br,ap as Vr,ar as Hr,bc as Ur,bd as Wr,bp as Gr,bu as Kr,cf as qr,ch as Jr,ci as Yr,cl as Xr,cm as Zr,cn as Qr,cp as $r,ct as ei,cu as ti,dd as ni,df as ri,dh as ii,di as ai,dl as oi,dn as si,dp as ci,dr as li,ds as ui,dt as di,ea as fi,ed as pi,eg as mi,eh as hi,ei as gi,em as N,en as _i,eo as vi,ep as yi,er as bi,eu as P,f as xi,fd as F,ff as Si,fh as I,fi as Ci,fm as wi,fn as Ti,fp as Ei,fr as Di,ft as Oi,fu as ki,g as Ai,gc as ji,gd as Mi,gh as Ni,gm as Pi,gn as Fi,gp as Ii,gs as Li,gt as Ri,hh as zi,hm as Bi,ho as Vi,hp as Hi,hr as Ui,hs as Wi,ht as Gi,hu as L,ia as Ki,if as qi,il as Ji,im as Yi,ip as Xi,ir as Zi,is as Qi,it as $i,iu as ea,jc as ta,ji as na,jl as ra,jm as ia,jp as aa,jr as oa,jt as sa,ju as R,kc as ca,ki as la,kl as ua,kp as da,kr as fa,kt as pa,ld as ma,lf as ha,lh as ga,lm as z,ln as _a,lp as va,lr as ya,lt as ba,lu as B,m as xa,md as Sa,mh as Ca,mm as wa,mn as Ta,mp as Ea,mr as Da,ms as Oa,mt as ka,mu as Aa,na as ja,nf as Ma,nn as Na,np as Pa,nr as Fa,nt as Ia,nu as La,of as Ra,oi as za,om as Ba,op as Va,or as Ha,ot as Ua,ou as V,pc as Wa,pf as Ga,pn as Ka,po as qa,pp as Ja,pr as Ya,pt as Xa,pu as Za,q as Qa,qc as $a,qd as eo,qf as to,ql as no,qm as ro,qt as io,qu as ao,rf as oo,rh as so,ri as co,rl as lo,rp as uo,rr as fo,ru as po,sd as mo,sf as ho,sl as go,sm as _o,sp as vo,sr as H,ss as yo,su as bo,t as xo,ta as So,td as Co,th as wo,ti as To,tm as Eo,tn as Do,to as Oo,tp as ko,tt as Ao,tu as jo,u as Mo,uc as No,uf as Po,uh as Fo,ul as Io,um as Lo,un as Ro,up as zo,ur as Bo,us as Vo,ut as Ho,uu as Uo,v as Wo,vc as Go,vl as Ko,vm as qo,vn as Jo,vp as Yo,vr as Xo,vs as Zo,vu as U,wc as Qo,wf as $o,wh as es,wi as ts,wl as ns,wm as rs,wn as is,wp as as,wr as os,ws as ss,wt as cs,xf as ls,xm as us,xn as ds,xp as fs,xs as ps,xu as ms,yd as hs,yi as gs,ym as _s,yn as vs,yp as ys,yt as bs,yu as xs,za as Ss,zc as Cs,zd as ws,zf as Ts,zl as W,zm as Es,zn as Ds,zp as Os,zs as G,zt as ks,zu as As}from"./format-CnbUxAmw.js";import{n as js}from"./SettingsPage-DnO-ImWE.js";function Ms(e,t,n){return new Ns(e,t,n)}var Ns=class extends Ct{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function Ps(e){return Array.isArray(e)}function Fs(e){return!Ps(e)}function Is(e){return typeof e==`string`}function Ls(e){return!Is(e)}function Rs(e){return!e}function zs(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Bs(e){return e.replace(/[&<>'"_]/g,`-`)}function Vs(e,t){console.log(`${e.languageId}: ${t}`)}function K(e,t){return Error(`${e.languageId}: ${t}`)}function Hs(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,ee){return Rs(s)?Rs(c)?!Rs(l)&&l<r.length?zs(e,r[l]):!Rs(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Rs(u)&&u<o.length?zs(e,o[u]):``):zs(e,n):`$`})}function Us(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!Rs(r)&&r<i.length?$o(zs(e,i[r])):``})}function Ws(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Gs(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var Ks,qs,Js=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ys=function(e,t){return function(n,r){t(n,r,e)}},Xs,Zs=5,Qs=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new $s(e,t);let n=$s.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new $s(e,t),this._entries[n]=r,r)}};Ks=Qs,Ks._INSTANCE=new Ks(Zs);var $s=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return Qs.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return Qs.create(this.parent,e)}},ec=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},tc=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new nc(e,t);let n=$s.getStackElementId(e),r=this._entries[n];return r||(r=new nc(e,null),this._entries[n]=r,r)}};qs=tc,qs._INSTANCE=new qs(Zs);var nc=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:tc.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},rc=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new s(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=N.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let c=o.tokenize(e,t,a);if(r!==0)for(let e of c.tokens)this._tokens.push(new s(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(c.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,c.endState}finalize(e){return new Eo(this._tokens,e)}},ic=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=N.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new Os(e._merge(this._prependTokens,this._tokens,null),[],t)}},ac=Xs=class extends C{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(N.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,N.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=N.get(t);if(n){if(n instanceof Xs){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}N.isResolved(t)||e.push(N.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=Qs.create(null,this._lexer.start);return tc.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return $t(this._languageId,n);let r=new rc,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return Oe(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new ic(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Ws(this._lexer,t.stack.state),!n))throw K(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!Ls(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw K(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return tc.create(n.stack,new ec(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
1
+ import{$a as e,$f as t,$i as n,$l as r,$m as i,$n as a,$o as o,$p as s,$t as c,Am as l,An as u,Ap as d,Ar as f,At as ee,B as te,Ba as p,Bc as m,Bd as h,Bi as g,Bl as _,Bp as ne,Bs as v,Bu as y,Cf as re,Ch as ie,Ci as ae,Cn as oe,Cp as se,Cr as ce,Cs as le,Cu as ue,D as de,Dc as fe,Dp as pe,Ec as me,Ef as he,Eh as ge,Ei as _e,El as ve,Em as ye,En as be,Ep as xe,Es as Se,Eu as Ce,Fc as b,Fd as we,Ff as Te,Fh as Ee,Fl as De,Fm as x,Fs as Oe,Fu as S,G as ke,Gd as Ae,Gf as je,Gh as Me,Gm as Ne,Gn as Pe,Gr as Fe,Gu as Ie,H as Le,Hd as Re,Hl as ze,Hm as C,Hn as Be,Hs as Ve,Hu as He,I as Ue,Ia as We,Ic as w,If as Ge,Ih as Ke,Il as qe,Im as T,Is as Je,Iu as Ye,J as Xe,Ja as Ze,Jd as Qe,Jf as $e,Jh as et,Jl as tt,Jm as nt,Jn as rt,Jr as it,K as at,Kd as ot,Kf as st,Kh as ct,Kl as lt,Kn as ut,Kp as dt,Kr as ft,Kt as pt,Ku as mt,La as ht,Lc as gt,Ld as _t,Lf as vt,Lh as yt,Li as bt,Lm as xt,Ln as St,Ls as Ct,Lt as wt,Lu as Tt,Mc as Et,Mi as Dt,Mn as Ot,Mo as kt,Mp as At,Mr as jt,Ms as Mt,Mu as E,N as Nt,Na as Pt,Nc as D,Nh as Ft,Nm as It,Nn as Lt,Np as Rt,Nr as zt,Ns as Bt,Oc as Vt,Oi as Ht,Ol as Ut,Op as Wt,Os as Gt,Ot as Kt,Pa as qt,Pc as Jt,Pd as Yt,Pm as Xt,Pn as Zt,Pp as Qt,Ps as $t,Pt as en,Qa as tn,Qc as nn,Qf as rn,Qh as an,Qi as on,Ql as sn,Qm as cn,Qr as ln,Qt as un,Qu as dn,Ra as fn,Rc as pn,Rd as O,Rf as mn,Rh as hn,Ri as gn,Rl as k,Rm as _n,Rn as vn,Rt as yn,Ru as bn,Sf as xn,Si as Sn,Sl as Cn,Sm as wn,Sn as Tn,So as En,Sp as Dn,Sr as On,Ss as kn,Su as An,Tc as jn,Th as Mn,Ti as Nn,Tl as Pn,Tn as Fn,Tp as In,Tt as Ln,Uc as Rn,Uf as zn,Ul as Bn,Um as A,Un as Vn,Va as Hn,Vf as Un,Vl as Wn,Vm as Gn,Vn as Kn,Vs as qn,Vu as Jn,W as Yn,Wa as Xn,Wc as Zn,Wd as Qn,Wf as $n,Wl as er,Wm as tr,Wt as nr,Wu as rr,Xa as ir,Xf as ar,Xi as or,Xm as j,Xo as sr,Xp as cr,Xr as lr,Xu as ur,Y as dr,Ya as fr,Yf as pr,Yh as mr,Yi as hr,Yl as gr,Ym as _r,Yr as vr,Za as yr,Zd as br,Zf as xr,Zh as Sr,Zl as Cr,Zm as wr,Zo as Tr,Zr as Er,_c as Dr,_d as M,_h as Or,_m as kr,_n as Ar,_o as jr,_p as Mr,_r as Nr,_t as Pr,_u as Fr,ac as Ir,af as Lr,al as Rr,am as zr,an as Br,ap as Vr,ar as Hr,bc as Ur,bd as Wr,bp as Gr,bu as Kr,cf as qr,ch as Jr,ci as Yr,cl as Xr,cm as Zr,cn as Qr,cp as $r,ct as ei,cu as ti,dd as ni,df as ri,dh as ii,di as ai,dl as oi,dn as si,dp as ci,dr as li,ds as ui,dt as di,ea as fi,ed as pi,eg as mi,eh as hi,ei as gi,em as N,en as _i,eo as vi,ep as yi,er as bi,eu as P,f as xi,fd as F,ff as Si,fh as I,fi as Ci,fm as wi,fn as Ti,fp as Ei,fr as Di,ft as Oi,fu as ki,g as Ai,gc as ji,gd as Mi,gh as Ni,gm as Pi,gn as Fi,gp as Ii,gs as Li,gt as Ri,hh as zi,hm as Bi,ho as Vi,hp as Hi,hr as Ui,hs as Wi,ht as Gi,hu as L,ia as Ki,if as qi,il as Ji,im as Yi,ip as Xi,ir as Zi,is as Qi,it as $i,iu as ea,jc as ta,ji as na,jl as ra,jm as ia,jp as aa,jr as oa,jt as sa,ju as R,kc as ca,ki as la,kl as ua,kp as da,kr as fa,kt as pa,ld as ma,lf as ha,lh as ga,lm as z,ln as _a,lp as va,lr as ya,lt as ba,lu as B,m as xa,md as Sa,mh as Ca,mm as wa,mn as Ta,mp as Ea,mr as Da,ms as Oa,mt as ka,mu as Aa,na as ja,nf as Ma,nn as Na,np as Pa,nr as Fa,nt as Ia,nu as La,of as Ra,oi as za,om as Ba,op as Va,or as Ha,ot as Ua,ou as V,pc as Wa,pf as Ga,pn as Ka,po as qa,pp as Ja,pr as Ya,pt as Xa,pu as Za,q as Qa,qc as $a,qd as eo,qf as to,ql as no,qm as ro,qt as io,qu as ao,rf as oo,rh as so,ri as co,rl as lo,rp as uo,rr as fo,ru as po,sd as mo,sf as ho,sl as go,sm as _o,sp as vo,sr as H,ss as yo,su as bo,t as xo,ta as So,td as Co,th as wo,ti as To,tm as Eo,tn as Do,to as Oo,tp as ko,tt as Ao,tu as jo,u as Mo,uc as No,uf as Po,uh as Fo,ul as Io,um as Lo,un as Ro,up as zo,ur as Bo,us as Vo,ut as Ho,uu as Uo,v as Wo,vc as Go,vl as Ko,vm as qo,vn as Jo,vp as Yo,vr as Xo,vs as Zo,vu as U,wc as Qo,wf as $o,wh as es,wi as ts,wl as ns,wm as rs,wn as is,wp as as,wr as os,ws as ss,wt as cs,xf as ls,xm as us,xn as ds,xp as fs,xs as ps,xu as ms,yd as hs,yi as gs,ym as _s,yn as vs,yp as ys,yt as bs,yu as xs,za as Ss,zc as Cs,zd as ws,zf as Ts,zl as W,zm as Es,zn as Ds,zp as Os,zs as G,zt as ks,zu as As}from"./format-BVgznNN8.js";import{n as js}from"./SettingsPage-msHMBS7q.js";function Ms(e,t,n){return new Ns(e,t,n)}var Ns=class extends Ct{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function Ps(e){return Array.isArray(e)}function Fs(e){return!Ps(e)}function Is(e){return typeof e==`string`}function Ls(e){return!Is(e)}function Rs(e){return!e}function zs(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Bs(e){return e.replace(/[&<>'"_]/g,`-`)}function Vs(e,t){console.log(`${e.languageId}: ${t}`)}function K(e,t){return Error(`${e.languageId}: ${t}`)}function Hs(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,ee){return Rs(s)?Rs(c)?!Rs(l)&&l<r.length?zs(e,r[l]):!Rs(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Rs(u)&&u<o.length?zs(e,o[u]):``):zs(e,n):`$`})}function Us(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!Rs(r)&&r<i.length?$o(zs(e,i[r])):``})}function Ws(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Gs(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var Ks,qs,Js=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ys=function(e,t){return function(n,r){t(n,r,e)}},Xs,Zs=5,Qs=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new $s(e,t);let n=$s.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new $s(e,t),this._entries[n]=r,r)}};Ks=Qs,Ks._INSTANCE=new Ks(Zs);var $s=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return Qs.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return Qs.create(this.parent,e)}},ec=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},tc=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new nc(e,t);let n=$s.getStackElementId(e),r=this._entries[n];return r||(r=new nc(e,null),this._entries[n]=r,r)}};qs=tc,qs._INSTANCE=new qs(Zs);var nc=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:tc.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},rc=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new s(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=N.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let c=o.tokenize(e,t,a);if(r!==0)for(let e of c.tokens)this._tokens.push(new s(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(c.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,c.endState}finalize(e){return new Eo(this._tokens,e)}},ic=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=N.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new Os(e._merge(this._prependTokens,this._tokens,null),[],t)}},ac=Xs=class extends C{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(N.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,N.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=N.get(t);if(n){if(n instanceof Xs){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}N.isResolved(t)||e.push(N.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=Qs.create(null,this._lexer.start);return tc.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return $t(this._languageId,n);let r=new rc,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return Oe(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new ic(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Ws(this._lexer,t.stack.state),!n))throw K(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!Ls(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw K(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return tc.create(n.stack,new ec(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
2
2
  `:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,ee=l.depth,te=d?d.groups.length:0,p=l.state,m=null,h=null,g=null,_=null,ne=null;if(d){m=d.matches;let e=d.groups.shift();h=e.matched,g=e.action,_=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[p];if(!e&&(e=Ws(this._lexer,p),!e))throw K(this._lexer,`tokenizer state is not defined: `+p);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(m=t.match(n.resolveRegex(p)),m)){h=m[0],g=n.action;break}}if(m||(m=[``],h=``),g||=(u<s&&(m=[o.charAt(u)],h=m[0]),this._lexer.defaultToken),h===null)break;for(u+=h.length;Fs(g)&&Ls(g)&&g.test;)g=g.test(h,m,p,u===s);let v=null;if(typeof g==`string`||Array.isArray(g))v=g;else if(g.group)v=g.group;else if(g.token!==null&&g.token!==void 0){if(v=g.tokenSubst?Hs(this._lexer,g.token,h,m,p):g.token,g.nextEmbedded){if(g.nextEmbedded===`@pop`){if(!c)throw K(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw K(this._lexer,`cannot enter embedded language from within an embedded language`);else ne=Hs(this._lexer,g.nextEmbedded,h,m,p)}if(g.goBack&&(u=Math.max(0,u-g.goBack)),g.switchTo&&typeof g.switchTo==`string`){let e=Hs(this._lexer,g.switchTo,h,m,p);if(e[0]===`@`&&(e=e.substr(1)),Ws(this._lexer,e))l=l.switchTo(e);else throw K(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(_))}else if(g.transform&&typeof g.transform==`function`)throw K(this._lexer,`action.transform not supported`);else if(g.next){if(g.next===`@push`){if(l.depth>=this._lexer.maxStack)throw K(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(p)}else if(g.next===`@pop`){if(l.depth<=1)throw K(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(_));l=l.pop()}else if(g.next===`@popall`)l=l.popall();else{let e=Hs(this._lexer,g.next,h,m,p);if(e[0]===`@`&&(e=e.substr(1)),Ws(this._lexer,e))l=l.push(e);else throw K(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(_))}}g.log&&typeof g.log==`string`&&Vs(this._lexer,this._lexer.languageId+`: `+Hs(this._lexer,g.log,h,m,p))}if(v===null)throw K(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(_));let y=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,tc.create(l,o),r+u,i)}return tc.create(l,o)};if(Array.isArray(v)){if(d&&d.groups.length>0)throw K(this._lexer,`groups cannot be nested: `+this._safeRuleName(_));if(m.length!==v.length+1)throw K(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(_));let e=0;for(let t=1;t<m.length;t++)e+=m[t].length;if(e!==h.length)throw K(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(_));d={rule:_,matches:m,groups:[]};for(let e=0;e<v.length;e++)d.groups[e]={action:v[e],matched:m[e+1]};u-=h.length;continue}{if(v===`@rematch`&&(u-=h.length,h=``,m=null,v=``,ne!==null))return y(ne);if(h.length===0){if(s===0||ee!==l.depth||p!==l.state||(d?d.groups.length:0)!==te)continue;throw K(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(_))}let e=null;if(Is(v)&&v.indexOf(`@brackets`)===0){let t=v.substr(9),n=oc(this._lexer,h);if(!n)throw K(this._lexer,`@brackets token returned but no bracket defined as: `+h);e=Bs(n.token+t)}else e=Bs(v===``?``:v+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(ne!==null)return y(ne)}return tc.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new ec(e,Bt);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),N.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=N.get(e);return t?new ec(e,t.getInitialState()):new ec(e,Bt)}};ac=Xs=Js([Ys(4,w)],ac);function oc(e,t){if(!t)return null;t=zs(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var sc=Mt(`standaloneColorizer`,{createHTML:e=>e}),cc=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=sc?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),Ts(t)&&(t=t.substr(1));let o=mn(t);if(!e.isRegisteredLanguageId(n))return uc(o,a,i);let s=await N.getOrCreate(n);return s?lc(o,a,s,i):uc(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=le.isBasicASCII(e,t),o=le.containsRTL(e,a,n);return Se(new ss(!1,!0,e,!1,a,o,0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function lc(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=dc(e,t,n,r);if(n instanceof ac){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function uc(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new Gt(i,o,n),c=le.isBasicASCII(o,!0),l=le.containsRTL(o,c,!0),u=Se(new ss(!1,!0,o,!1,c,l,0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(u.html),r.push(`<br/>`)}return r.join(``)}function dc(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);Gt.convertToEndOffset(c.tokens,s.length);let l=new Gt(c.tokens,s,r),u=le.isBasicASCII(s,!0),d=le.containsRTL(s,u,!0),f=Se(new ss(!1,!0,s,!1,u,d,0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(f.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var fc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},pc=function(e,t){return function(n,r){t(n,r,e)}},mc=V,hc=class extends fn{get _targetWindow(){return R(this._target.targetElements[0])}get _targetDocumentElement(){return R(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle(`locked`,this._isLocked))}addMouseTrackingElement(e){return this._lockMouseTracker.addElement(e)}constructor(e,t,n,r,i){if(super(),this._keybindingService=t,this._configurationService=n,this._markdownRenderer=r,this._accessibilityService=i,this._messageListeners=new A,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new x),this._onRequestLayout=this._register(new x),this._linkHandler=e.linkHandler,this._target=`targetElements`in e.target?e.target:new _c(e.target),e.style)switch(e.style){case 1:e.appearance??={},e.appearance.compact??=!0,e.appearance.showPointer??=!0;break;case 2:e.appearance??={},e.appearance.compact??=!0}this._hoverPointer=e.appearance?.showPointer?mc(`div.workbench-hover-pointer`):void 0,this._hover=this._register(new ft(!e.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add(`workbench-hover`),e.appearance?.compact&&this._hover.containerDomNode.classList.add(`workbench-hover`,`compact`),this._hoverPointer&&this._hover.containerDomNode.classList.add(`with-pointer`),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0);let a=e.appearance?.maxHeightRatio;a!==void 0&&a>0&&a<=1&&(this._maxHeightRatioRelativeToWindow=a),this._hoverPosition=e.position?.hoverPosition===void 0?3:es(e.position.hoverPosition)?e.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,e=>e.stopPropagation()),this.onkeydown(this._hover.containerDomNode,e=>{e.equals(9)&&this.dispose()}),this._register(L(this._targetWindow,`blur`,()=>this.dispose()));let o=mc(`div.hover-row.markdown-hover`),s=mc(`div.hover-contents`);if(typeof e.content==`string`)s.textContent=e.content,s.style.whiteSpace=`pre-wrap`;else if(y(e.content)){s.appendChild(e.content),s.classList.add(`html-hover-contents`);let t=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});t.observe(s),this._register(j(()=>t.disconnect()))}else{let t=e.content,{element:n}=this._register(this._markdownRenderer.render(t,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{s.classList.add(`code-hover-contents`),this.layout(),this._onRequestLayout.fire()}}));s.appendChild(n)}if(o.appendChild(s),this._hover.contentsDomNode.appendChild(o),e.actions&&e.actions.length>0){let t=mc(`div.hover-row.status-bar`),n=mc(`div.actions`);e.actions.forEach(e=>{let t=this._keybindingService.lookupKeybinding(e.commandId),r=t?t.getLabel():null;this._register(Fe.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},r))}),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}this._hoverContainer=mc(`div.workbench-hover-container`),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let c;if(c=e.actions&&e.actions.length>0?!1:e.persistence?.hideOnHover===void 0?typeof e.content==`string`||fa(e.content)&&!e.content.value.includes(`](`)&&!e.content.value.includes(`</a>`):e.persistence.hideOnHover,e.appearance?.showHoverHint){let e=mc(`div.hover-row.status-bar`),t=mc(`div.info`);t.textContent=I(1761,`Hold {0} key to mouse over`,so?`Option`:`Alt`),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}let l=[...this._target.targetElements];c||l.push(this._hoverContainer);let u=this._mouseTracker=this._register(new gc(l));if(this._register(u.onMouseOut(()=>{this._isLocked||this.dispose()})),c){let e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new gc(e)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=u}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;let e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){let n=mt(this._hoverContainer,mc(`div`)),r=U(this._hoverContainer,mc(`div`));n.tabIndex=0,r.tabIndex=0,this._register(L(r,`focus`,t=>{e.focus(),t.preventDefault()})),this._register(L(n,`focus`,e=>{t.focus(),e.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes.item(e.childNodes.length-t-1);if(n.nodeType===n.ELEMENT_NODE){let e=n;if(typeof e.tabIndex==`number`&&e.tabIndex>=0)return e}let r=this.findLastFocusableChild(n);if(r)return r}}render(e){e.appendChild(this._hoverContainer);let t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&it(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel());t&&kn(t),this.layout(),this.addFocusTrap()}layout(){this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker&&this._lockMouseTracker?.suppressPendingMouseOut(),this._hover.containerDomNode.classList.remove(`right-aligned`),this._hover.contentsDomNode.style.maxHeight=``;let e=e=>{let t=Ce(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}},{top:t,right:n,bottom:r,left:i}=this._target.targetElements.map(t=>e(t))[0],a=n-i,o=r-t,s={top:t,right:n,bottom:r,left:i,width:a,height:o,center:{x:i+a/2,y:t+o/2}};if(this.adjustHorizontalHoverPosition(s),this.adjustVerticalHoverPosition(s),this.adjustHoverMaxHeight(s),this._hoverContainer.style.padding=``,this._hoverContainer.style.margin=``,this._hoverPointer){switch(this._hoverPosition){case 1:s.left+=3,s.right+=3,this._hoverContainer.style.paddingLeft=`3px`,this._hoverContainer.style.marginLeft=`-3px`;break;case 0:s.left-=3,s.right-=3,this._hoverContainer.style.paddingRight=`3px`,this._hoverContainer.style.marginRight=`-3px`;break;case 2:s.top+=3,s.bottom+=3,this._hoverContainer.style.paddingTop=`3px`,this._hoverContainer.style.marginTop=`-3px`;break;case 3:s.top-=3,s.bottom-=3,this._hoverContainer.style.paddingBottom=`3px`,this._hoverContainer.style.marginBottom=`-3px`}s.center.x=s.left+a/2,s.center.y=s.top+o/2}this.computeXCordinate(s),this.computeYCordinate(s),this._hoverPointer&&(this._hoverPointer.classList.remove(`top`),this._hoverPointer.classList.remove(`left`),this._hoverPointer.classList.remove(`right`),this._hoverPointer.classList.remove(`bottom`),this.setHoverPointerPosition(s)),this._hover.onContentsChanged()}computeXCordinate(e){let t=this._hover.containerDomNode.clientWidth+2;this._target.x===void 0?this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._x=this._hoverPointer?e.center.x-this._hover.containerDomNode.clientWidth/2:e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add(`right-aligned`),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))):this._x=this._target.x,this._x<this._targetDocumentElement.clientLeft&&(this._x=e.left+2)}computeYCordinate(e){this._y=this._target.y===void 0?this._hoverPosition===3?e.top:this._hoverPosition===2?e.bottom-2:this._hoverPointer?e.center.y+this._hover.containerDomNode.clientHeight/2:e.bottom:this._target.y,this._y>this._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;let t=this._hoverPointer?3:0;if(this._forcePosition){let n=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-n}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-n}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=e.left>=this._hover.containerDomNode.clientWidth+t?0:2):this._hoverPosition===0&&(e.left<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=this._targetDocumentElement.clientWidth-e.right>=this._hover.containerDomNode.clientWidth+t?1:2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;let t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.offsetHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){let n=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-n):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){let e=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==e&&(this._hover.contentsDomNode.style.paddingRight=e)}}setHoverPointerPosition(e){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?`right`:`left`);let t=this._hover.containerDomNode.clientHeight;t>e.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${Math.round(t/2)-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?`bottom`:`top`);let t=this._hover.containerDomNode.clientWidth,n=Math.round(t/2)-3,r=this._x+n;(r<e.left||r>e.right)&&(n=e.center.x-this._x-3),this._hoverPointer.style.left=`${n}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose()),this._isDisposed=!0}};hc=fc([pc(1,na),pc(2,w),pc(3,Ui),pc(4,Wi)],hc);var gc=class extends fn{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e,t=200){super(),this._elements=e,this._eventDebounceDelay=t,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new Ne),this._onMouseOut=this._register(new x);for(let e of this._elements)this.onmouseover(e,()=>this._onTargetMouseOver()),this.onmouseleave(e,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new Qe(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){!this._isMouseIn&&!this._suppressNextMouseOut&&this._onMouseOut.fire()}suppressPendingMouseOut(){this._isMouseIn||(this._suppressNextMouseOut=!0)}addElement(e){if(this._elements.includes(e))return C.None;this._elements.push(e);let t=new A;return t.add(L(e,B.MOUSE_OVER,()=>this._onTargetMouseOver())),t.add(L(e,B.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),t.add(j(()=>{let t=this._elements.indexOf(e);t>=0&&this._elements.splice(t,1)})),t}},_c=class{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}};function vc(e){let t=e;return typeof t==`object`&&`markdown`in t&&`markdownNotSupportedFallback`in t}var yc=class{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){if(this._cancellationTokenSource&&=(this._cancellationTokenSource.dispose(!0),void 0),this.isDisposed)return;let r;if(ge(e)||y(e)||e===void 0)r=e;else{this._cancellationTokenSource=new _s;let i=this._cancellationTokenSource.token,a;if(a=vc(e)?ie(e.markdown)?e.markdown(i).then(t=>t??e.markdownNotSupportedFallback):e.markdown??e.markdownNotSupportedFallback:e.element(i),a instanceof Promise?(this._hoverWidget||this.show(I(1762,`Loading...`),t,n),r=await a):r=a,this.isDisposed||i.isCancellationRequested)return}this.show(r,t,n)}show(e,t,n){let r=this._hoverWidget;if(this.hasContent(e)){let i={content:e,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement===`element`,skipFadeInAnimation:!this.fadeInAnimation||!!r,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(i,t)}r?.dispose()}hasContent(e){return e?!fa(e)||!!e.value:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}},bc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xc=function(e,t){return function(n,r){t(n,r,e)}},Sc=3,Cc=class extends C{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(e){let t=y(e)?[e]:e.targetElements;for(let e=this._hoverStack.length-1;e>=0;e--)for(let n of t)if(S(n,this._hoverStack[e].hover.domNode))return e;return-1}constructor(e,t,n,r,i,a){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=r,this._layoutService=i,this._accessibilityService=a,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(n.onDidShowContextMenu(()=>this.hideHover())),this._register(De.registerCommandAndKeybindingRule({id:`workbench.action.showHover`,weight:0,primary:Bi(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,n,r){let i=this._createHover(e,n);if(i)return this._showHover(i,e,t),i.hover}showDelayedHover(e,t){if(e.id===void 0&&(e.id=Tc(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(e.target)<0)return;if(wc(this._currentHoverOptions)===wc(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&wc(this._currentHoverOptions)===wc(e))return this._currentDelayedHover;let n=this._createHover(e,void 0);if(!n){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=n.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId;let r=t?.reducedDelay?this._configurationService.getValue(`workbench.hover.reducedDelay`):this._configurationService.getValue(`workbench.hover.delay`);return Ma(r).then(()=>{n.hover&&!n.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(n,e))}),n.hover}setupDelayedHover(e,t,n){return this._setupDelayedHover(e,n=>{let r={...typeof t==`function`?t():t,target:e};return r.style===2&&n&&(r.target=jc(e,n)),r},n)}setupDelayedHoverAtMouse(e,t,n){return this._setupDelayedHover(e,n=>({...typeof t==`function`?t():t,target:n?jc(e,n):e}),n)}_setupDelayedHover(e,t,n){let r=new A;return r.add(L(e,B.MOUSE_OVER,e=>{this.showDelayedHover(t(e),{groupId:n?.groupId,reducedDelay:n?.reducedDelay})})),n?.setupKeyboardEvents&&r.add(L(e,B.KEY_DOWN,e=>{let n=new qi(e);(n.equals(10)||n.equals(3))&&this.showInstantHover(t(),!0)})),this._delayedHovers.set(e,{show:e=>{this.showInstantHover(t(),e)}}),r.add(j(()=>this._delayedHovers.delete(e))),r}_createHover(e,t){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,e.content===``)return;if(e.id===void 0&&(e.id=Tc(e.content)),this._getContainingHoverIndex(e.target)>=0){if(this._hoverStack.length>=Sc)return}else if(this._currentHover?.isLocked||wc(this._currentHoverOptions)===wc(e))return;this._lastHoverOptions=e;let n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),r=ms(),i;t||n&&r&&(r.classList.contains(`monaco-hover`)||(i=r));let a=new A,o=this._instantiationService.createInstance(hc,e);if(e.persistence?.sticky&&(o.isLocked=!0),e.position?.hoverPosition&&!es(e.position.hoverPosition)&&(e.target={targetElements:y(e.target)?[e.target]:e.target.targetElements,x:e.position.hoverPosition.x+10}),o.onDispose(()=>{let e=this._hoverStack.findIndex(e=>e.hover===o);if(e>=0){let t=this._hoverStack[e];for(Ye(o.domNode)&&t.lastFocusedElementBeforeOpen&&t.lastFocusedElementBeforeOpen.focus();this._hoverStack.length>e+1;){let e=this._hoverStack.pop();e.contextView.dispose(),e.hover.dispose()}this._hoverStack.splice(e,1),t.contextView.dispose()}a.dispose()},void 0,a),!e.container){let t=y(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(R(t))}if(a.add(L(R(e.container).document,B.MOUSE_DOWN,e=>{S(e.target,o.domNode)||this._hideHoverAndDescendants(o)})),!e.persistence?.sticky){if(`targetElements`in e.target)for(let t of e.target.targetElements)a.add(L(t,B.CLICK,()=>this._hideHoverAndDescendants(o)));else a.add(L(e.target,B.CLICK,()=>this._hideHoverAndDescendants(o)));let t=ms();if(t){let n=R(t).document;a.add(L(t,B.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(n,B.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(t,B.KEY_UP,e=>this._keyUp(e,o))),a.add(L(n,B.KEY_UP,e=>this._keyUp(e,o)))}}if(`IntersectionObserver`in zn){let t=new IntersectionObserver(e=>this._intersectionChange(e,o),{threshold:0}),n=`targetElements`in e.target?e.target.targetElements[0]:e.target;t.observe(n),a.add(j(()=>t.disconnect()))}return{hover:o,lastFocusedElementBeforeOpen:i,store:a}}_showHover(e,t,n){let{hover:r,lastFocusedElementBeforeOpen:i,store:a}=e,o=this._getContainingHoverIndex(t.target),s=o>=0;if(!s)this._hideAllHovers();else{for(let e=this._hoverStack.length-1;e>o;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=o+1}if(s)for(let e=0;e<=o;e++)a.add(this._hoverStack[e].hover.addMouseTrackingElement(r.domNode));let c=t.container??this._layoutService.getContainer(R(y(t.target)?t.target:t.target.targetElements[0])),l=new li(c,1),u={hover:r,options:t,contextView:l,lastFocusedElementBeforeOpen:i};this._hoverStack.push(u);let d=new Oc(r,n,this._hoverStack.length);if(l.show(d),a.add(r.onRequestLayout(()=>l.layout())),n||t.persistence?.sticky){let e=R(c);a.add(L(e,B.RESIZE,()=>l.layout()))}if(t.onDidHide){let e=t.onDidHide;a.add(j(()=>e()))}t.onDidShow?.()}_hideHoverAndDescendants(e){let t=this._hoverStack.findIndex(t=>t.hover===e);if(!(t<0)){for(let e=this._hoverStack.length-1;e>=t;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=t}}_hideAllHovers(){for(let e=this._hoverStack.length-1;e>=0;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=0}hideHover(e){this._hoverStack.length!==0&&(e||!this._currentHover?.isLocked)&&this.doHideHover()}doHideHover(){let e=this._hoverStack.length;this._hoverStack[e-1]?.hover.dispose(),this._hoverStack.length=e-1}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let e=ms();for(;e;){let t=this._delayedHovers.get(e)??this._managedHovers.get(e);if(t){t.show(!0);return}e=e.parentElement}}_keyDown(e,t,n){if(e.key===`Alt`){for(let e of this._hoverStack)e.hover.isLocked=!0;return}let r=new qi(e);if(!(this._keybindingService.resolveKeyboardEvent(r).getSingleModifierDispatchChords().some(e=>!!e)||this._keybindingService.softDispatch(r,r.target).kind!==0)&&n&&(!this._currentHoverOptions?.trapFocus||e.key!==`Tab`)){let e=this._hoverStack.find(e=>e.hover===t);this._hideHoverAndDescendants(t),e?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(e,t){if(e.key===`Alt`){for(let e of this._hoverStack)e.options.persistence?.sticky||(e.hover.isLocked=!1);if(!this._hoverStack.some(e=>e.hover.isMouseIn)){let e=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),e?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(e,t,n,r){if(e.showNativeHover)return Dc(t,n);t.setAttribute(`custom-hover`,`true`),t.title!==``&&(console.warn(`HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.`),t.title=``);let i,a,o=(t,n)=>{let r=a!==void 0;t&&(a?.dispose(),a=void 0),n&&(i?.dispose(),i=void 0),r&&(e.onDidHideHover?.(),a=void 0)},s=(i,o,s,c)=>new Qe(async()=>{(!a||a.isDisposed)&&(a=new yc(e,s||t,i>0),await a.update(typeof n==`function`?n():n,o,{...r,trapFocus:c}))},i),c=new A,l=!1;c.add(L(t,B.MOUSE_DOWN,()=>{l=!0,o(!0,!0)},!0)),c.add(L(t,B.MOUSE_UP,()=>{l=!1},!0)),c.add(L(t,B.MOUSE_LEAVE,e=>{l=!1,o(!1,e.fromElement===t)},!0)),c.add(L(t,B.MOUSE_OVER,r=>{if(i)return;let a=new A,c={targetElements:[t],dispose:()=>{}};(e.placement===void 0||e.placement===`mouse`)&&a.add(L(t,B.MOUSE_MOVE,e=>{c.x=e.x+10,kc(e,t)||o(!0,!0)},!0)),i=a,kc(r,t)&&a.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c))},!0)),Tt(t)||c.add(L(t,B.FOCUS,r=>{if(l||i||(a?.isDisposed&&(a=void 0),y(r.relatedTarget)&&r.relatedTarget.closest(`.monaco-hover`)||!r.relatedTarget)||!kc(r,t))return;let c={targetElements:[t],dispose:()=>{}},u=new A;u.add(L(t,B.BLUR,()=>o(!0,!0),!0)),u.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c)),i=u},!0));let u={show:e=>{o(!1,!0),s(0,e,void 0,e)},hide:()=>{o(!0,!0)},update:async(e,t)=>{n=e,await a?.update(n,void 0,t)},dispose:()=>{this._managedHovers.delete(t),c.dispose(),o(!0,!0)}};return this._managedHovers.set(t,u),u}showManagedHover(e){let t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};Cc=bc([xc(0,P),xc(1,w),xc(2,vr),xc(3,na),xc(4,Bo),xc(5,Wi)],Cc);function wc(e){if(e!==void 0)return e?.id??e}function Tc(e){if(!y(e))return typeof e==`string`?e.toString():e.value}function Ec(e){let t=typeof e==`function`?e():e;if(ge(t))return zt(t);if(vc(t))return t.markdownNotSupportedFallback}function Dc(e,t){function n(t){t?e.setAttribute(`title`,t):e.removeAttribute(`title`)}return n(Ec(t)),{update:e=>n(Ec(e)),show:()=>{},hide:()=>{},dispose:()=>n(void 0)}}var Oc=class{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1,n=1){this._hover=e,this._focus=t,this.layer=n}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}};function kc(e,t){return y(e.target)&&Ac(e.target,t)===t}function Ac(e,t){for(t??=R(e).document.body;!e.hasAttribute(`custom-hover`)&&e!==t;)e=e.parentElement;return e}function jc(e,t){return{targetElements:[e],x:t.x+10}}D(Er,Cc,1),So((e,t)=>{let n=e.getColor(kt);n&&(t.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))});var Mc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nc=function(e,t){return function(n,r){t(n,r,e)}};function Pc(e){return e.scheme===O.file?e.fsPath:e.path}var Fc=0,Ic=class{constructor(e,t,n,r,i,a,o){this.id=++Fc,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Lc=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},Rc=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(I(2099,`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(I(2100,`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
3
3
  `)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},zc=class{constructor(e,t,n,r,i,a,o){this.id=++Fc,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==`function`}removeResource(e,t,n){this.removedResources||=new Rc,this.removedResources.has(t)||this.removedResources.set(t,new Lc(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||=new Rc,this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Lc(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?`INVALID`:` VALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Bc=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
4
4
  `)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(let n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(let n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){let t=[];for(let e=0,n=this._past.length;e<n;e++)t.push(this._past[e].id);for(let e=this._future.length-1;e>=0;e--)t.push(this._future[e].id);return new ae(e,t)}restoreSnapshot(e){let t=e.elements.length,n=!0,r=0,i=-1;for(let a=0,o=this._past.length;a<o;a++,r++){let o=this._past[a];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,i=a),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}let a=-1;for(let i=this._future.length-1;i>=0;i--,r++){let o=this._future[i];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,a=i),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}i!==-1&&(this._past=this._past.slice(0,i)),a!==-1&&(this._future=this._future.slice(a+1)),this.versionId++}getElements(){let e=[],t=[];for(let t of this._past)e.push(t.actual);for(let e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},Vc=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;e<t;e++)this._versionIds[e]=this.editStacks[e].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}},Hc=new Bc(``,``);Hc.locked=!0;var Uc=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(let t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log(`------------------------------------`),console.log(`AFTER ${e}: `);let t=[];for(let e of this._editStacks)t.push(e[1].toString());console.log(t.join(`
@@ -1,4 +1,4 @@
1
- import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as t,J as n,b as r,i,l as a}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as o,Q as s,S as c,X as l,Y as u,at as d,ct as f,et as p,h as m,nt as h,q as g,y as _}from"./QBtn-CZaBclNw.js";import{C as ee}from"./use-id-BIuaWKkB.js";import{N as v}from"./index-mvh5w1cM.js";import{a as y,o as b}from"./QSelect-DtSUuK8t.js";import{u as x}from"./permissionModes-C3otN1Vk.js";import{p as S}from"./use-tours-_6HwJ_Rp.js";x(`superpowers`);function C(e,t){let n=["1. Call `kobo__list_tasks` FIRST to inspect any pre-existing tasks (they may have been seeded from Notion, a template, or the CreatePage form).","2. If tasks already exist: DO NOT delete or recreate them from scratch. Read each one, judge whether it is atomic and implementable in one session with clear completion criteria. Improve them in place:\n - Use `kobo__update_task` to rename unclear titles, add completion criteria, or flip `is_acceptance_criterion` when needed.\n - Use `kobo__create_task` to SPLIT a task that is too large into smaller atomic pieces (keep the original only if it still makes sense, otherwise update it to one of the split pieces and create the rest).\n - Use `kobo__create_task` to ADD missing acceptance criteria or missing implementation steps the plan requires.","3. If no tasks exist:\n - If a plan file exists in `docs/superpowers/plans/` or similar, read it and derive the task list from it.\n - If no plan exists, ask the user what the workspace goal is and propose tasks accordingly.\n - Create the tasks via `kobo__create_task`. For each task, decide `is_acceptance_criterion` appropriately."],r=4;if(e.framework){let t=e.skill?`Use the \`${e.skill}\` skill for this task. `:``,i=e.prompt?`Additional guidance: ${e.prompt}`:``;n.push(`${r}. **E2E review**: walk the task list and identify which tasks produce user-visible behavior (UI flows, form submissions, page renders, etc.). For each one that warrants regression coverage, INSERT a follow-up sub-task with title prefixed \`[E2E] \` describing the test to write. Place it in \`sort_order\` directly after the parent task. Skip tasks that don't produce user-visible behavior (refactors, infra, internal services) and briefly justify your choices in chat. The project uses \`${e.framework}\`. ${t}${i}`.trim()),r++}return t.prompt&&(n.push(`${r}. **Finalization task**: create ONE task with title prefixed \`[FINAL] <descriptive title>\`. Place it at the END of the task list (sort_order = max + 1, AFTER any [E2E] tasks). The agent will execute this task using the project's finalization prompt — do NOT inline the prompt content into the task title or description.`),r++),n.push(`${r}. Call \`kobo__mark_auto_loop_ready\`. This will automatically start the auto-loop, which will pick up the tasks one by one in fresh sessions.`),n.join(`
1
+ import{v as e}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as t,J as n,b as r,i,l as a}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{J as o,Q as s,S as c,X as l,Y as u,at as d,ct as f,et as p,h as m,nt as h,q as g,y as _}from"./QBtn-CZaBclNw.js";import{C as ee}from"./use-id-BIuaWKkB.js";import{N as v}from"./index-DtsrXdzx.js";import{a as y,o as b}from"./QSelect-DJL6yy1E.js";import{u as x}from"./permissionModes-CESk18Vk.js";import{p as S}from"./use-tours-CS5oBFk6.js";x(`superpowers`);function C(e,t){let n=["1. Call `kobo__list_tasks` FIRST to inspect any pre-existing tasks (they may have been seeded from Notion, a template, or the CreatePage form).","2. If tasks already exist: DO NOT delete or recreate them from scratch. Read each one, judge whether it is atomic and implementable in one session with clear completion criteria. Improve them in place:\n - Use `kobo__update_task` to rename unclear titles, add completion criteria, or flip `is_acceptance_criterion` when needed.\n - Use `kobo__create_task` to SPLIT a task that is too large into smaller atomic pieces (keep the original only if it still makes sense, otherwise update it to one of the split pieces and create the rest).\n - Use `kobo__create_task` to ADD missing acceptance criteria or missing implementation steps the plan requires.","3. If no tasks exist:\n - If a plan file exists in `docs/superpowers/plans/` or similar, read it and derive the task list from it.\n - If no plan exists, ask the user what the workspace goal is and propose tasks accordingly.\n - Create the tasks via `kobo__create_task`. For each task, decide `is_acceptance_criterion` appropriately."],r=4;if(e.framework){let t=e.skill?`Use the \`${e.skill}\` skill for this task. `:``,i=e.prompt?`Additional guidance: ${e.prompt}`:``;n.push(`${r}. **E2E review**: walk the task list and identify which tasks produce user-visible behavior (UI flows, form submissions, page renders, etc.). For each one that warrants regression coverage, INSERT a follow-up sub-task with title prefixed \`[E2E] \` describing the test to write. Place it in \`sort_order\` directly after the parent task. Skip tasks that don't produce user-visible behavior (refactors, infra, internal services) and briefly justify your choices in chat. The project uses \`${e.framework}\`. ${t}${i}`.trim()),r++}return t.prompt&&(n.push(`${r}. **Finalization task**: create ONE task with title prefixed \`[FINAL] <descriptive title>\`. Place it at the END of the task list (sort_order = max + 1, AFTER any [E2E] tasks). The agent will execute this task using the project's finalization prompt — do NOT inline the prompt content into the task title or description.`),r++),n.push(`${r}. Call \`kobo__mark_auto_loop_ready\`. This will automatically start the auto-loop, which will pick up the tasks one by one in fresh sessions.`),n.join(`
2
2
  `)}var w=C({framework:``,skill:``,prompt:``},{prompt:``}),T="Hard rules:\n- Do NOT touch any source file. No Edit, no Write, no Bash that changes the repo.\n- Do NOT run `kill`, `pkill`, `killall`, `pgrep -k`, or any process-killing command — you may tear down the Kōbō server itself or sibling dev servers.\n- Do NOT start implementation even if a plan is ready — auto-loop will drive that afterwards, one task per iteration.\n- If the user asks for changes, re-apply via MCP and re-check. Do NOT mark ready until they approve.",E=`Review your progress on the tasks and acceptance criteria. Use the kobo-tasks MCP server: call list_tasks() to check the current status, then update any tasks you have completed using mark_task_done(). Report what is done and what remains.
3
3
 
4
4
  Then suggest concrete next actions. Format them exactly like this so I can click on them:
@@ -1 +1 @@
1
- import{j as e,ut as t}from"./reactivity.esm-bundler-DEJj9cFv.js";import{L as n,Y as r,_ as i,d as a,f as o,g as s,l as c,y as l}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{y as u}from"./QBtn-CZaBclNw.js";import{Tt as d,f,p}from"./index-mvh5w1cM.js";import{t as m}from"./QTooltip-DwkX8eQ6.js";import{t as h}from"./QChip-owciRuZu.js";var g=l({__name:`AutoLoopChip`,props:{workspace:{default:null}},setup(l){let u=l,{t:f}=d(),g=p(),_=c(()=>u.workspace??g.selectedWorkspace),v=c(()=>_.value?.id??null),y=c(()=>v.value?g.autoLoopStates[v.value]??null:null),b=c(()=>!!y.value?.auto_loop),x=c(()=>!!y.value?.auto_loop_ready),S=c(()=>v.value!==null&&g.selectedWorkspaceId===v.value),C=c(()=>S.value?g.tasks.filter(e=>e.status===`done`).length:y.value?.tasks_done??0),w=c(()=>S.value?g.tasks.length:y.value?.tasks_total??0);return(c,l)=>b.value&&!x.value?(n(),a(h,{key:0,dense:``,square:``,size:`sm`,color:`primary`,"text-color":`white`,icon:`hourglass_top`,class:`q-ml-sm`},{default:r(()=>[s(t(e(f)(`autoLoop.preparing`))+` `,1),i(m,null,{default:r(()=>[s(t(e(f)(`autoLoop.preparingTooltip`)),1)]),_:1})]),_:1})):b.value?(n(),a(h,{key:1,dense:``,square:``,size:`sm`,color:`amber-9`,"text-color":`white`,icon:`autorenew`,class:`q-ml-sm`},{default:r(()=>[s(t(e(f)(`autoLoop.progress`,{done:C.value,total:w.value})),1)]),_:1})):o(``,!0)}});function _(e,t){if(e===``)return 0;let n=e.toLowerCase(),r=t.toLowerCase(),i=0,a=0,o=-2;for(let e of n){let t=-1;for(let n=a;n<r.length;n++)if(r[n]===e){t=n;break}if(t===-1)return null;i+=t===o+1?5:1;let n=t>0?r[t-1]:``;(t===0||n===`/`||n===`-`||n===`_`||n===`.`)&&(i+=2),o=t,a=t+1}return i-t.length*.01}function v(e,t,n,r=_){if(n<=0)return[];let i=[];for(let a of t){let t=r(e,a);if(t===null||i.length===n&&t<=i[n-1].score)continue;let o=i.length;for(;o>0&&i[o-1].score<t;)o--;i.splice(o,0,{item:a,score:t}),i.length>n&&i.pop()}return i.map(e=>e.item)}var y=new Set([`not-found`,`not-purged`,`workspace-busy`,`worktree-not-owned`,`project-unavailable`,`path-conflict`,`branch-in-use`,`recovery-source-unavailable`,`git-failed`]),b=`https://github.com/loicngr/kobo/blob/develop/CONFIGURATION.md#restoring-a-purged-workspace`;function x(){let e=p(),t=u(),{t:n}=d();async function r(r){if(!e.restoringWorktreeIds.includes(r))try{await e.restoreWorktree(r),t.notify({type:`positive`,message:n(`workspacePage.worktreeRestoreSuccess`),position:`top`})}catch(e){let r=e instanceof f&&e.code&&y.has(e.code)?e.code:`git-failed`;t.notify({type:`negative`,message:n(`workspacePage.restoreError.${r}`),position:`top`,actions:[{label:n(`common.details`),handler:()=>window.open(b,`_blank`,`noopener,noreferrer`)}]})}}return{restoreWorktree:r}}var S={"claude-code":!0,codex:!0};function C(e){return e?S[e]??!0:!0}var w={"claude-code":!0,codex:!0};function T(e){return e?w[e]??!0:!0}var E={"claude-code":!0,codex:!0};function D(e){return e?E[e]??!1:!1}export{_ as a,x as i,T as n,v as o,C as r,g as s,D as t};
1
+ import{j as e,ut as t}from"./reactivity.esm-bundler-DEJj9cFv.js";import{L as n,Y as r,_ as i,d as a,f as o,g as s,l as c,y as l}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{y as u}from"./QBtn-CZaBclNw.js";import{Tt as d,f,p}from"./index-DtsrXdzx.js";import{t as m}from"./QTooltip-WIoDeLoZ.js";import{t as h}from"./QChip-owciRuZu.js";var g=l({__name:`AutoLoopChip`,props:{workspace:{default:null}},setup(l){let u=l,{t:f}=d(),g=p(),_=c(()=>u.workspace??g.selectedWorkspace),v=c(()=>_.value?.id??null),y=c(()=>v.value?g.autoLoopStates[v.value]??null:null),b=c(()=>!!y.value?.auto_loop),x=c(()=>!!y.value?.auto_loop_ready),S=c(()=>v.value!==null&&g.selectedWorkspaceId===v.value),C=c(()=>S.value?g.tasks.filter(e=>e.status===`done`).length:y.value?.tasks_done??0),w=c(()=>S.value?g.tasks.length:y.value?.tasks_total??0);return(c,l)=>b.value&&!x.value?(n(),a(h,{key:0,dense:``,square:``,size:`sm`,color:`primary`,"text-color":`white`,icon:`hourglass_top`,class:`q-ml-sm`},{default:r(()=>[s(t(e(f)(`autoLoop.preparing`))+` `,1),i(m,null,{default:r(()=>[s(t(e(f)(`autoLoop.preparingTooltip`)),1)]),_:1})]),_:1})):b.value?(n(),a(h,{key:1,dense:``,square:``,size:`sm`,color:`amber-9`,"text-color":`white`,icon:`autorenew`,class:`q-ml-sm`},{default:r(()=>[s(t(e(f)(`autoLoop.progress`,{done:C.value,total:w.value})),1)]),_:1})):o(``,!0)}});function _(e,t){if(e===``)return 0;let n=e.toLowerCase(),r=t.toLowerCase(),i=0,a=0,o=-2;for(let e of n){let t=-1;for(let n=a;n<r.length;n++)if(r[n]===e){t=n;break}if(t===-1)return null;i+=t===o+1?5:1;let n=t>0?r[t-1]:``;(t===0||n===`/`||n===`-`||n===`_`||n===`.`)&&(i+=2),o=t,a=t+1}return i-t.length*.01}function v(e,t,n,r=_){if(n<=0)return[];let i=[];for(let a of t){let t=r(e,a);if(t===null||i.length===n&&t<=i[n-1].score)continue;let o=i.length;for(;o>0&&i[o-1].score<t;)o--;i.splice(o,0,{item:a,score:t}),i.length>n&&i.pop()}return i.map(e=>e.item)}var y=new Set([`not-found`,`not-purged`,`workspace-busy`,`worktree-not-owned`,`project-unavailable`,`path-conflict`,`branch-in-use`,`recovery-source-unavailable`,`git-failed`]),b=`https://github.com/loicngr/kobo/blob/develop/CONFIGURATION.md#restoring-a-purged-workspace`;function x(){let e=p(),t=u(),{t:n}=d();async function r(r){if(!e.restoringWorktreeIds.includes(r))try{await e.restoreWorktree(r),t.notify({type:`positive`,message:n(`workspacePage.worktreeRestoreSuccess`),position:`top`})}catch(e){let r=e instanceof f&&e.code&&y.has(e.code)?e.code:`git-failed`;t.notify({type:`negative`,message:n(`workspacePage.restoreError.${r}`),position:`top`,actions:[{label:n(`common.details`),handler:()=>window.open(b,`_blank`,`noopener,noreferrer`)}]})}}return{restoreWorktree:r}}var S={"claude-code":!0,codex:!0};function C(e){return e?S[e]??!0:!0}var w={"claude-code":!0,codex:!0};function T(e){return e?w[e]??!0:!0}var E={"claude-code":!0,codex:!0};function D(e){return e?E[e]??!1:!1}export{_ as a,x as i,T as n,v as o,C as r,g as s,D as t};