@loicngr/kobo 1.4.11 → 1.4.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/index.js +105 -1
- package/dist/server/routes/workspaces.js +13 -0
- package/dist/server/services/terminal-service.js +44 -0
- package/package.json +2 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CahLjg_a.js → ActivityFeed-CgZWB0-0.js} +4 -4
- package/src/client/dist/spa/assets/ActivityFeed-ko_rO-2M.css +1 -0
- package/src/client/dist/spa/assets/{CreatePage-DvenHBbs.js → CreatePage-PV9pH1-i.js} +1 -1
- package/src/client/dist/spa/assets/{DiffViewer-BNB89NC_.js → DiffViewer-eROI3K7I.js} +2 -2
- package/src/client/dist/spa/assets/MainLayout-BKRJcjMN.css +1 -0
- package/src/client/dist/spa/assets/MainLayout-w7f2vykG.js +37 -0
- package/src/client/dist/spa/assets/{QExpansionItem-D6zpEqBV.js → QExpansionItem-KaA2BBuV.js} +1 -1
- package/src/client/dist/spa/assets/{QList-oHuiVWr0.js → QList-lLY9TMz0.js} +1 -1
- package/src/client/dist/spa/assets/{QMenu-67GqYx0C.js → QMenu-IaCFq9U1.js} +1 -1
- package/src/client/dist/spa/assets/{QPage-DE75SzRI.js → QPage-D5bnOxz0.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-BIAu1N7t.js → SettingsPage-tK2WhdGt.js} +1 -1
- package/src/client/dist/spa/assets/WorkspacePage-B7LByhzW.js +4 -0
- package/src/client/dist/spa/assets/WorkspacePage-XUHKUmuQ.css +1 -0
- package/src/client/dist/spa/assets/{cssMode-CLNBNUPN.js → cssMode-DxID_rwU.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-BOAfcnN4.js → editor.api-6HHa4uDw.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-DHOeskpn.js → editor.main-BY_NEoTM.js} +3 -3
- package/src/client/dist/spa/assets/{freemarker2-BtrSj5Xy.js → freemarker2-ChUzpgbV.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-Dc1FuhPx.js → handlebars-BEqiXFje.js} +1 -1
- package/src/client/dist/spa/assets/{html-CRa_T0ab.js → html-BMS_L0RV.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-DiZaznA3.js → htmlMode-C68CMSi2.js} +1 -1
- package/src/client/dist/spa/assets/i18n-C9sStiuf.js +1 -0
- package/src/client/dist/spa/assets/i18n-DAQcMG9d.js +1 -0
- package/src/client/dist/spa/assets/index-DSx45TKH.js +5 -0
- package/src/client/dist/spa/assets/{javascript-BmWQzw3l.js → javascript-BKkV2qqm.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-CxTgSexO.js → jsonMode-Bk1XwYG8.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-BUs2kSUC.js → liquid-QLO1u8by.js} +1 -1
- package/src/client/dist/spa/assets/{marked.esm-BjjOHIBz.js → marked.esm-CtWESN18.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-Cnd0lVUN.js → mdx-Cgznl219.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-DdEdriCG.js → monaco.contribution-CDhgtrdW.js} +2 -2
- package/src/client/dist/spa/assets/{python-DEYsKpRr.js → python-DCFlVqvF.js} +1 -1
- package/src/client/dist/spa/assets/{razor-D5u_QaVY.js → razor-BHddvwQ2.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-DWHAMuFy.js → tsMode-BZkc6l5_.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-miqJki5_.js → typescript-B0g45tCE.js} +1 -1
- package/src/client/dist/spa/assets/{xml-TsOUFKqU.js → xml-CfmQqdO8.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-Bn4aEJci.js → yaml-B1F9_T4A.js} +1 -1
- package/src/client/dist/spa/index.html +2 -2
- package/src/client/dist/spa/assets/ActivityFeed-C8UZFjUM.css +0 -1
- package/src/client/dist/spa/assets/MainLayout-8hdHhbFX.css +0 -1
- package/src/client/dist/spa/assets/MainLayout-CRZ_pSUI.js +0 -2
- package/src/client/dist/spa/assets/WorkspacePage-ZtCuDedw.js +0 -4
- package/src/client/dist/spa/assets/WorkspacePage-l-yPyCj4.css +0 -1
- package/src/client/dist/spa/assets/i18n-Chh7fA86.js +0 -1
- package/src/client/dist/spa/assets/i18n-EPkNuLUF.js +0 -1
- package/src/client/dist/spa/assets/index-BIsYlO92.js +0 -5
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-6HHa4uDw.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],l=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],u={close:`>`,id:`angle`,open:`<`},d={close:`\\]`,id:`bracket`,open:`\\[`},f={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},p={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},m={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function h(e){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:`
|
|
2
2
|
\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`${e.open}#(?:${l.join(`|`)})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:RegExp(`${e.open}/#(?:${l.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`${e.open}#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`${e.open}#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:s.languages.IndentAction.Indent}}]}}function g(){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoCloseBefore:`
|
|
3
3
|
\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`[<\\[]#(?:${l.join(`|`)})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:RegExp(`[<\\[]/#(?:${l.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`[<\\[]#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`[<\\[]#(?!(?:${c.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:s.languages.IndentAction.Indent}}]}}function _(e,t){let n=`_${e.id}_${t.id}`,r=e=>e.replace(/__id__/g,n),i=e=>{let t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:r(`default__id__`),ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],[r(`open__id__`)]:new RegExp(e.open),[r(`close__id__`)]:new RegExp(e.close),[r(`iOpen1__id__`)]:new RegExp(t.open1),[r(`iOpen2__id__`)]:new RegExp(t.open2),[r(`iClose__id__`)]:new RegExp(t.close),[r(`startTag__id__`)]:i(/(@open__id__)(#)/),[r(`endTag__id__`)]:i(/(@open__id__)(\/#)/),[r(`startOrEndTag__id__`)]:i(/(@open__id__)(\/?#)/),[r(`closeTag1__id__`)]:i(/((?:@blank)*)(@close__id__)/),[r(`closeTag2__id__`)]:i(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:[`false`,`true`,`in`,`as`,`using`],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:[`->`,`->`],delimiters:[`;`,`:`,`,`,`.`],stringOperators:[`lte`,`lt`,`gte`,`gt`],noParseTags:[`noparse`,`noParse`,`comment`],tokenizer:{[r(`default__id__`)]:[{include:r(`@directive_token__id__`)},{include:r(`@interpolation_and_text_token__id__`)}],[r(`fmExpression__id__.directive`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`fmExpression__id__.interpolation`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`inParen__id__.plain`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`inParen__id__.gt`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`noSpaceExpression__id__`)]:[{include:r(`@no_space_expression_end_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`unifiedCall__id__`)]:[{include:r(`@unified_call_token__id__`)}],[r(`singleString__id__`)]:[{include:r(`@string_single_token__id__`)}],[r(`doubleString__id__`)]:[{include:r(`@string_double_token__id__`)}],[r(`rawSingleString__id__`)]:[{include:r(`@string_single_raw_token__id__`)}],[r(`rawDoubleString__id__`)]:[{include:r(`@string_double_raw_token__id__`)}],[r(`expressionComment__id__`)]:[{include:r(`@expression_comment_token__id__`)}],[r(`noParse__id__`)]:[{include:r(`@no_parse_token__id__`)}],[r(`terseComment__id__`)]:[{include:r(`@terse_comment_token__id__`)}],[r(`directive_token__id__`)]:[[i(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{cases:{"@noParseTags":{token:`tag`,next:r(`@noParse__id__.$3`)},"@default":{token:`tag`}}},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)(@)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`,next:r(`@unifiedCall__id__`)}]],[i(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)#--/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:{token:`comment`,next:r(`@terseComment__id__`)}],[i(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag.invalid`,next:r(`@fmExpression__id__.directive`)}]]],[r(`interpolation_and_text_token__id__`)]:[[i(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:t.id===`bracket`?`@brackets.interpolation`:`delimiter.interpolation`},{token:t.id===`bracket`?`delimiter.interpolation`:`@brackets.interpolation`,next:r(`@fmExpression__id__.interpolation`)}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:`source`}]],[r(`string_single_token__id__`)]:[[/[^'\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/'/,{token:`string`,next:`@pop`}]],[r(`string_double_token__id__`)]:[[/[^"\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/"/,{token:`string`,next:`@pop`}]],[r(`string_single_raw_token__id__`)]:[[/[^']+/,{token:`string.raw`}],[/'/,{token:`string.raw`,next:`@pop`}]],[r(`string_double_raw_token__id__`)]:[[/[^"]+/,{token:`string.raw`}],[/"/,{token:`string.raw`,next:`@pop`}]],[r(`expression_token__id__`)]:[[/(r?)(['"])/,{cases:{"r'":[{token:`keyword`},{token:`string.raw`,next:r(`@rawSingleString__id__`)}],'r"':[{token:`keyword`},{token:`string.raw`,next:r(`@rawDoubleString__id__`)}],"'":[{token:`source`},{token:`string`,next:r(`@singleString__id__`)}],'"':[{token:`source`},{token:`string`,next:r(`@doubleString__id__`)}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:`number`},"@default":{token:`number.float`}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:`delimiter`},{token:``},{token:`identifier`}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:`meta.arrow`},"@delimiters":{token:`delimiter`},"@default":{token:`operators`}}}],[/@id/,{cases:{"@keywords":{token:`keyword.$0`},"@stringOperators":{token:`operators`},"@default":{token:`identifier`}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\]":{cases:{...t.id===`bracket`?{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}}:{},...e.id===`bracket`?{"$S2==directive":{token:`@brackets.directive`,next:`@popall`}}:{},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\(":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"\\)":{cases:{[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\{":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\}":{cases:{...t.id===`bracket`?{}:{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}}}}],[/\$\{/,{token:`delimiter.invalid`}]],[r(`blank_and_expression_comment_token__id__`)]:[[/(?:@blank)+/,{token:``}],[/[<\[][#!]--/,{token:`comment`,next:r(`@expressionComment__id__`)}]],[r(`directive_end_token__id__`)]:[[/>/,e.id===`bracket`?{token:`operators`}:{token:`@brackets.directive`,next:`@popall`}],[i(/(\/)(@close__id__)/),[{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]]],[r(`greater_operators_token__id__`)]:[[/>/,{token:`operators`}],[/>=/,{token:`operators`}]],[r(`no_space_expression_end_token__id__`)]:[[/(?:@blank)+/,{token:``,switchTo:r(`@fmExpression__id__.directive`)}]],[r(`unified_call_token__id__`)]:[[/(@id)((?:@blank)+)/,[{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(@id)(\/?)(@close__id__)/),[{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]],[/./,{token:`@rematch`,next:r(`@noSpaceExpression__id__`)}]],[r(`no_parse_token__id__`)]:[[i(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``},{token:`@brackets.directive`,next:`@popall`}],"$S2==comment":[{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`}],"@default":[{token:`source`},{token:`source`},{token:`source`},{token:`source`},{token:`source`}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:`comment`},"@default":{token:`source`}}}]],[r(`expression_comment_token__id__`)]:[[/--[>\]]/,{token:`comment`,next:`@pop`}],[/[^\->\]]+|[>\]\-]/,{token:`comment`}]],[r(`terse_comment_token__id__`)]:[[i(/--(?:@close__id__)/),{token:`comment`,next:`@popall`}],[/[^<\[\-]+|[<\[\-]/,{token:`comment`}]]}}}function v(e){let t=_(u,e),n=_(d,e),r=_(f,e);return{...t,...n,...r,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{...t.tokenizer,...n.tokenizer,...r.tokenizer}}}var y={conf:h(u),language:_(u,p)},b={conf:h(d),language:_(d,p)},x={conf:h(u),language:_(u,m)},S={conf:h(d),language:_(d,m)},C={conf:g(),language:v(p)},w={conf:g(),language:v(m)};export{x as TagAngleInterpolationBracket,y as TagAngleInterpolationDollar,w as TagAutoInterpolationBracket,C as TagAutoInterpolationDollar,S as TagBracketInterpolationBracket,b as TagBracketInterpolationDollar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-6HHa4uDw.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},u={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/<!DOCTYPE/,`metatag.html`,`@doctype`],[/<!--/,`comment.html`,`@commentHtml`],[/(<)(\w+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/</,`delimiter.html`],[/\{/,`delimiter.html`],[/[^<{]+/]],doctype:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/[^>]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{l as conf,u as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-6HHa4uDw.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],l={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<!--`,`-->`],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${c.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*<!--\\s*#region\\b.*-->`),end:RegExp(`^\\s*<!--\\s*#endregion\\b.*-->`)}}},u={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/<!DOCTYPE/,`metatag`,`@doctype`],[/<!--/,`comment`,`@comment`],[/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/</,`delimiter`],[/[^<]+/]],doctype:[[/[^>]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{l as conf,u as language};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-BOAfcnN4.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);function c(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var l=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:c(`defaultWorkerFactory`,{createScriptURL:e=>e});function ee(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(l?l.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function u(e){let t=Promise.resolve(ee({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return s.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var d=120*1e3,f=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>d&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=u({moduleId:`vs/language/html/htmlWorker`,createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},te;(function(e){function t(e){return typeof e==`string`}e.is=t})(te||={});var p;(function(e){function t(e){return typeof e==`string`}e.is=t})(p||={});var ne;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(ne||={});var m;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(m||={});var h;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=m.MAX_VALUE),t===Number.MAX_VALUE&&(t=m.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.uinteger(t.line)&&I.uinteger(t.character)}e.is=n})(h||={});var g;(function(e){function t(e,t,n,r){if(I.uinteger(e)&&I.uinteger(t)&&I.uinteger(n)&&I.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)}e.is=n})(g||={});var _;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.range)&&(I.string(t.uri)||I.undefined(t.uri))}e.is=n})(_||={});var re;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.targetRange)&&I.string(t.targetUri)&&g.is(t.targetSelectionRange)&&(g.is(t.originSelectionRange)||I.undefined(t.originSelectionRange))}e.is=n})(re||={});var v;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.numberRange(t.red,0,1)&&I.numberRange(t.green,0,1)&&I.numberRange(t.blue,0,1)&&I.numberRange(t.alpha,0,1)}e.is=n})(v||={});var ie;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.range)&&v.is(t.color)}e.is=n})(ie||={});var ae;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.string(t.label)&&(I.undefined(t.textEdit)||w.is(t))&&(I.undefined(t.additionalTextEdits)||I.typedArray(t.additionalTextEdits,w.is))}e.is=n})(ae||={});var y;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(y||={});var oe;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return I.defined(n)&&(o.startCharacter=n),I.defined(r)&&(o.endCharacter=r),I.defined(i)&&(o.kind=i),I.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.uinteger(t.startLine)&&I.uinteger(t.startLine)&&(I.undefined(t.startCharacter)||I.uinteger(t.startCharacter))&&(I.undefined(t.endCharacter)||I.uinteger(t.endCharacter))&&(I.undefined(t.kind)||I.string(t.kind))}e.is=n})(oe||={});var b;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&_.is(t.location)&&I.string(t.message)}e.is=n})(b||={});var x;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(x||={});var se;(function(e){e.Unnecessary=1,e.Deprecated=2})(se||={});var ce;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&I.string(t.href)}e.is=t})(ce||={});var S;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return I.defined(n)&&(o.severity=n),I.defined(r)&&(o.code=r),I.defined(i)&&(o.source=i),I.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&I.string(t.message)&&(I.number(t.severity)||I.undefined(t.severity))&&(I.integer(t.code)||I.string(t.code)||I.undefined(t.code))&&(I.undefined(t.codeDescription)||I.string(t.codeDescription?.href))&&(I.string(t.source)||I.undefined(t.source))&&(I.undefined(t.relatedInformation)||I.typedArray(t.relatedInformation,b.is))}e.is=n})(S||={});var C;(function(e){function t(e,t,...n){let r={title:e,command:t};return I.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.title)&&I.string(t.command)}e.is=n})(C||={});var w;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return I.objectLiteral(t)&&I.string(t.newText)&&g.is(t.range)}e.is=i})(w||={});var le;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.string(t.label)&&(I.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(I.string(t.description)||t.description===void 0)}e.is=n})(le||={});var T;(function(e){function t(e){let t=e;return I.string(t)}e.is=t})(T||={});var ue;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return w.is(t)&&(le.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(ue||={});var de;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&E.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(de||={});var fe;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&I.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||I.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||I.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(fe||={});var pe;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&I.string(t.oldUri)&&I.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||I.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||I.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(pe||={});var me;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&I.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||I.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||I.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(me||={});var he;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>I.string(e.kind)?fe.is(e)||pe.is(e)||me.is(e):de.is(e)))}e.is=t})(he||={});var ge;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)}e.is=n})(ge||={});var _e;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&I.integer(t.version)}e.is=n})(_e||={});var E;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&(t.version===null||I.integer(t.version))}e.is=n})(E||={});var ve;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&I.string(t.languageId)&&I.integer(t.version)&&I.string(t.text)}e.is=n})(ve||={});var ye;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(ye||={});var D;(function(e){function t(e){let t=e;return I.objectLiteral(e)&&ye.is(t.kind)&&I.string(t.value)}e.is=t})(D||={});var O;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(O||={});var k;(function(e){e.PlainText=1,e.Snippet=2})(k||={});var be;(function(e){e.Deprecated=1})(be||={});var xe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&I.string(t.newText)&&g.is(t.insert)&&g.is(t.replace)}e.is=n})(xe||={});var Se;(function(e){e.asIs=1,e.adjustIndentation=2})(Se||={});var Ce;(function(e){function t(e){let t=e;return t&&(I.string(t.detail)||t.detail===void 0)&&(I.string(t.description)||t.description===void 0)}e.is=t})(Ce||={});var we;(function(e){function t(e){return{label:e}}e.create=t})(we||={});var Te;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(Te||={});var A;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return I.string(t)||I.objectLiteral(t)&&I.string(t.language)&&I.string(t.value)}e.is=n})(A||={});var Ee;(function(e){function t(e){let t=e;return!!t&&I.objectLiteral(t)&&(D.is(t.contents)||A.is(t.contents)||I.typedArray(t.contents,A.is))&&(e.range===void 0||g.is(e.range))}e.is=t})(Ee||={});var De;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(De||={});var Oe;(function(e){function t(e,t,...n){let r={label:e};return I.defined(t)&&(r.documentation=t),I.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(Oe||={});var j;(function(e){e.Text=1,e.Read=2,e.Write=3})(j||={});var ke;(function(e){function t(e,t){let n={range:e};return I.number(t)&&(n.kind=t),n}e.create=t})(ke||={});var M;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(M||={});var Ae;(function(e){e.Deprecated=1})(Ae||={});var je;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(je||={});var Me;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Me||={});var Ne;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&I.string(t.name)&&I.number(t.kind)&&g.is(t.range)&&g.is(t.selectionRange)&&(t.detail===void 0||I.string(t.detail))&&(t.deprecated===void 0||I.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(Ne||={});var Pe;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Pe||={});var N;(function(e){e.Invoked=1,e.Automatic=2})(N||={});var Fe;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return I.defined(t)&&I.typedArray(t.diagnostics,S.is)&&(t.only===void 0||I.typedArray(t.only,I.string))&&(t.triggerKind===void 0||t.triggerKind===N.Invoked||t.triggerKind===N.Automatic)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):C.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&I.string(t.title)&&(t.diagnostics===void 0||I.typedArray(t.diagnostics,S.is))&&(t.kind===void 0||I.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||C.is(t.command))&&(t.isPreferred===void 0||I.boolean(t.isPreferred))&&(t.edit===void 0||he.is(t.edit))}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){let n={range:e};return I.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&(I.undefined(t.command)||C.is(t.command))}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.uinteger(t.tabSize)&&I.boolean(t.insertSpaces)}e.is=n})(Re||={});var ze;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&(I.undefined(t.target)||I.string(t.target))}e.is=n})(ze||={});var Be;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return I.objectLiteral(n)&&g.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(Be||={});var Ve;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Ve||={});var He;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(He||={});var Ue;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&I.string(t.text)}e.is=n})(We||={});var Ge;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&I.boolean(t.caseSensitiveLookup)&&(I.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ge||={});var Ke;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&(I.string(t.expression)||t.expression===void 0)}e.is=n})(Ke||={});var qe;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(e.stoppedLocation)}e.is=n})(qe||={});var P;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(P||={});var F;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&(t.tooltip===void 0||I.string(t.tooltip)||D.is(t.tooltip))&&(t.location===void 0||_.is(t.location))&&(t.command===void 0||C.is(t.command))}e.is=n})(F||={});var Je;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&h.is(t.position)&&(I.string(t.label)||I.typedArray(t.label,F.is))&&(t.kind===void 0||P.is(t.kind))&&t.textEdits===void 0||I.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||I.string(t.tooltip)||D.is(t.tooltip))&&(t.paddingLeft===void 0||I.boolean(t.paddingLeft))&&(t.paddingRight===void 0||I.boolean(t.paddingRight))}e.is=n})(Je||={});var Ye;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ye||={});var Xe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Xe||={});var Ze;(function(e){function t(e){return{items:e}}e.create=t})(Ze||={});var Qe;(function(e){e.Invoked=0,e.Automatic=1})(Qe||={});var $e;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})($e||={});var et;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(et||={});var tt;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&p.is(t.uri)&&I.string(t.name)}e.is=t})(tt||={});var nt;(function(e){function t(e,t,n,r){return new rt(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(I.defined(t)&&I.string(t.uri)&&(I.undefined(t.languageId)||I.string(t.languageId))&&I.uinteger(t.lineCount)&&I.func(t.getText)&&I.func(t.positionAt)&&I.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(nt||={});var rt=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
1
|
+
import{m as e}from"./editor.api-6HHa4uDw.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);function c(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var l=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:c(`defaultWorkerFactory`,{createScriptURL:e=>e});function ee(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(l?l.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function u(e){let t=Promise.resolve(ee({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return s.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var d=120*1e3,f=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>d&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=u({moduleId:`vs/language/html/htmlWorker`,createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},te;(function(e){function t(e){return typeof e==`string`}e.is=t})(te||={});var p;(function(e){function t(e){return typeof e==`string`}e.is=t})(p||={});var ne;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(ne||={});var m;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(m||={});var h;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=m.MAX_VALUE),t===Number.MAX_VALUE&&(t=m.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.uinteger(t.line)&&I.uinteger(t.character)}e.is=n})(h||={});var g;(function(e){function t(e,t,n,r){if(I.uinteger(e)&&I.uinteger(t)&&I.uinteger(n)&&I.uinteger(r))return{start:h.create(e,t),end:h.create(n,r)};if(h.is(e)&&h.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&h.is(t.start)&&h.is(t.end)}e.is=n})(g||={});var _;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.range)&&(I.string(t.uri)||I.undefined(t.uri))}e.is=n})(_||={});var re;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.targetRange)&&I.string(t.targetUri)&&g.is(t.targetSelectionRange)&&(g.is(t.originSelectionRange)||I.undefined(t.originSelectionRange))}e.is=n})(re||={});var v;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.numberRange(t.red,0,1)&&I.numberRange(t.green,0,1)&&I.numberRange(t.blue,0,1)&&I.numberRange(t.alpha,0,1)}e.is=n})(v||={});var ie;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&g.is(t.range)&&v.is(t.color)}e.is=n})(ie||={});var ae;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.string(t.label)&&(I.undefined(t.textEdit)||w.is(t))&&(I.undefined(t.additionalTextEdits)||I.typedArray(t.additionalTextEdits,w.is))}e.is=n})(ae||={});var y;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(y||={});var oe;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return I.defined(n)&&(o.startCharacter=n),I.defined(r)&&(o.endCharacter=r),I.defined(i)&&(o.kind=i),I.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.uinteger(t.startLine)&&I.uinteger(t.startLine)&&(I.undefined(t.startCharacter)||I.uinteger(t.startCharacter))&&(I.undefined(t.endCharacter)||I.uinteger(t.endCharacter))&&(I.undefined(t.kind)||I.string(t.kind))}e.is=n})(oe||={});var b;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&_.is(t.location)&&I.string(t.message)}e.is=n})(b||={});var x;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(x||={});var se;(function(e){e.Unnecessary=1,e.Deprecated=2})(se||={});var ce;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&I.string(t.href)}e.is=t})(ce||={});var S;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return I.defined(n)&&(o.severity=n),I.defined(r)&&(o.code=r),I.defined(i)&&(o.source=i),I.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&I.string(t.message)&&(I.number(t.severity)||I.undefined(t.severity))&&(I.integer(t.code)||I.string(t.code)||I.undefined(t.code))&&(I.undefined(t.codeDescription)||I.string(t.codeDescription?.href))&&(I.string(t.source)||I.undefined(t.source))&&(I.undefined(t.relatedInformation)||I.typedArray(t.relatedInformation,b.is))}e.is=n})(S||={});var C;(function(e){function t(e,t,...n){let r={title:e,command:t};return I.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.title)&&I.string(t.command)}e.is=n})(C||={});var w;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return I.objectLiteral(t)&&I.string(t.newText)&&g.is(t.range)}e.is=i})(w||={});var le;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&I.string(t.label)&&(I.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&(I.string(t.description)||t.description===void 0)}e.is=n})(le||={});var T;(function(e){function t(e){let t=e;return I.string(t)}e.is=t})(T||={});var ue;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return w.is(t)&&(le.is(t.annotationId)||T.is(t.annotationId))}e.is=i})(ue||={});var de;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&E.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(de||={});var fe;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&I.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||I.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||I.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(fe||={});var pe;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&I.string(t.oldUri)&&I.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||I.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||I.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(pe||={});var me;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&I.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||I.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||I.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||T.is(t.annotationId))}e.is=n})(me||={});var he;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>I.string(e.kind)?fe.is(e)||pe.is(e)||me.is(e):de.is(e)))}e.is=t})(he||={});var ge;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)}e.is=n})(ge||={});var _e;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&I.integer(t.version)}e.is=n})(_e||={});var E;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&(t.version===null||I.integer(t.version))}e.is=n})(E||={});var ve;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.string(t.uri)&&I.string(t.languageId)&&I.integer(t.version)&&I.string(t.text)}e.is=n})(ve||={});var ye;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(ye||={});var D;(function(e){function t(e){let t=e;return I.objectLiteral(e)&&ye.is(t.kind)&&I.string(t.value)}e.is=t})(D||={});var O;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(O||={});var k;(function(e){e.PlainText=1,e.Snippet=2})(k||={});var be;(function(e){e.Deprecated=1})(be||={});var xe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&I.string(t.newText)&&g.is(t.insert)&&g.is(t.replace)}e.is=n})(xe||={});var Se;(function(e){e.asIs=1,e.adjustIndentation=2})(Se||={});var Ce;(function(e){function t(e){let t=e;return t&&(I.string(t.detail)||t.detail===void 0)&&(I.string(t.description)||t.description===void 0)}e.is=t})(Ce||={});var we;(function(e){function t(e){return{label:e}}e.create=t})(we||={});var Te;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(Te||={});var A;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return I.string(t)||I.objectLiteral(t)&&I.string(t.language)&&I.string(t.value)}e.is=n})(A||={});var Ee;(function(e){function t(e){let t=e;return!!t&&I.objectLiteral(t)&&(D.is(t.contents)||A.is(t.contents)||I.typedArray(t.contents,A.is))&&(e.range===void 0||g.is(e.range))}e.is=t})(Ee||={});var De;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(De||={});var Oe;(function(e){function t(e,t,...n){let r={label:e};return I.defined(t)&&(r.documentation=t),I.defined(n)?r.parameters=n:r.parameters=[],r}e.create=t})(Oe||={});var j;(function(e){e.Text=1,e.Read=2,e.Write=3})(j||={});var ke;(function(e){function t(e,t){let n={range:e};return I.number(t)&&(n.kind=t),n}e.create=t})(ke||={});var M;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(M||={});var Ae;(function(e){e.Deprecated=1})(Ae||={});var je;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(je||={});var Me;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(Me||={});var Ne;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&I.string(t.name)&&I.number(t.kind)&&g.is(t.range)&&g.is(t.selectionRange)&&(t.detail===void 0||I.string(t.detail))&&(t.deprecated===void 0||I.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(Ne||={});var Pe;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(Pe||={});var N;(function(e){e.Invoked=1,e.Automatic=2})(N||={});var Fe;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return I.defined(t)&&I.typedArray(t.diagnostics,S.is)&&(t.only===void 0||I.typedArray(t.only,I.string))&&(t.triggerKind===void 0||t.triggerKind===N.Invoked||t.triggerKind===N.Automatic)}e.is=n})(Fe||={});var Ie;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):C.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&I.string(t.title)&&(t.diagnostics===void 0||I.typedArray(t.diagnostics,S.is))&&(t.kind===void 0||I.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||C.is(t.command))&&(t.isPreferred===void 0||I.boolean(t.isPreferred))&&(t.edit===void 0||he.is(t.edit))}e.is=n})(Ie||={});var Le;(function(e){function t(e,t){let n={range:e};return I.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&(I.undefined(t.command)||C.is(t.command))}e.is=n})(Le||={});var Re;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&I.uinteger(t.tabSize)&&I.boolean(t.insertSpaces)}e.is=n})(Re||={});var ze;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(t.range)&&(I.undefined(t.target)||I.string(t.target))}e.is=n})(ze||={});var Be;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return I.objectLiteral(n)&&g.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(Be||={});var Ve;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(Ve||={});var He;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(He||={});var Ue;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(Ue||={});var We;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&I.string(t.text)}e.is=n})(We||={});var Ge;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&I.boolean(t.caseSensitiveLookup)&&(I.string(t.variableName)||t.variableName===void 0)}e.is=n})(Ge||={});var Ke;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&g.is(t.range)&&(I.string(t.expression)||t.expression===void 0)}e.is=n})(Ke||={});var qe;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return I.defined(t)&&g.is(e.stoppedLocation)}e.is=n})(qe||={});var P;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(P||={});var F;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&(t.tooltip===void 0||I.string(t.tooltip)||D.is(t.tooltip))&&(t.location===void 0||_.is(t.location))&&(t.command===void 0||C.is(t.command))}e.is=n})(F||={});var Je;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return I.objectLiteral(t)&&h.is(t.position)&&(I.string(t.label)||I.typedArray(t.label,F.is))&&(t.kind===void 0||P.is(t.kind))&&t.textEdits===void 0||I.typedArray(t.textEdits,w.is)&&(t.tooltip===void 0||I.string(t.tooltip)||D.is(t.tooltip))&&(t.paddingLeft===void 0||I.boolean(t.paddingLeft))&&(t.paddingRight===void 0||I.boolean(t.paddingRight))}e.is=n})(Je||={});var Ye;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(Ye||={});var Xe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(Xe||={});var Ze;(function(e){function t(e){return{items:e}}e.create=t})(Ze||={});var Qe;(function(e){e.Invoked=0,e.Automatic=1})(Qe||={});var $e;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})($e||={});var et;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(et||={});var tt;(function(e){function t(e){let t=e;return I.objectLiteral(t)&&p.is(t.uri)&&I.string(t.name)}e.is=t})(tt||={});var nt;(function(e){function t(e,t,n,r){return new rt(e,t,n,r)}e.create=t;function n(e){let t=e;return!!(I.defined(t)&&I.string(t.uri)&&(I.undefined(t.languageId)||I.string(t.languageId))&&I.uinteger(t.lineCount)&&I.func(t.getText)&&I.func(t.positionAt)&&I.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(nt||={});var rt=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
|
|
2
2
|
`,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
|
|
3
3
|
`&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return h.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return h.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},I;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function ee(e){return t.call(e)===`[object Function]`}e.func=ee;function u(e){return typeof e==`object`&&!!e}e.objectLiteral=u;function d(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=d})(I||={});var it=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let r=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},i=e=>{s.editor.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(s.editor.onDidCreateModel(r)),this._disposables.push(s.editor.onWillDisposeModel(i)),this._disposables.push(s.editor.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{s.editor.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{s.editor.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),s.editor.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let r=n.map(t=>ot(e,t)),i=s.editor.getModel(e);i&&i.getLanguageId()===t&&s.editor.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function at(e){switch(e){case x.Error:return s.MarkerSeverity.Error;case x.Warning:return s.MarkerSeverity.Warning;case x.Information:return s.MarkerSeverity.Info;case x.Hint:return s.MarkerSeverity.Hint;default:return s.MarkerSeverity.Info}}function ot(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:at(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var L=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),R(t))).then(n=>{if(!n)return;let r=e.getWordUntilPosition(t),i=new s.Range(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),a=n.items.map(e=>{let t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:lt(e.command),range:i,kind:ct(e.kind)};return e.textEdit&&(st(e.textEdit)?t.range={insert:B(e.textEdit.insert),replace:B(e.textEdit.replace)}:t.range=B(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(V)),e.insertTextFormat===k.Snippet&&(t.insertTextRules=s.languages.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:a}})}};function R(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function z(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function B(e){if(e)return new s.Range(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function st(e){return e.insert!==void 0&&e.replace!==void 0}function ct(e){let t=s.languages.CompletionItemKind;switch(e){case O.Text:return t.Text;case O.Method:return t.Method;case O.Function:return t.Function;case O.Constructor:return t.Constructor;case O.Field:return t.Field;case O.Variable:return t.Variable;case O.Class:return t.Class;case O.Interface:return t.Interface;case O.Module:return t.Module;case O.Property:return t.Property;case O.Unit:return t.Unit;case O.Value:return t.Value;case O.Enum:return t.Enum;case O.Keyword:return t.Keyword;case O.Snippet:return t.Snippet;case O.Color:return t.Color;case O.File:return t.File;case O.Reference:return t.Reference}return t.Property}function V(e){if(e)return{range:B(e.range),text:e.newText}}function lt(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var H=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),R(t))).then(e=>{if(e)return{range:B(e.range),contents:dt(e.contents)}})}};function ut(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function U(e){return typeof e==`string`?{value:e}:ut(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
|
|
4
4
|
`+e.value+"\n```\n"}}function dt(e){if(e)return Array.isArray(e)?e.map(U):[U(e)]}var W=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),R(t))).then(e=>{if(e)return e.map(e=>({range:B(e.range),kind:ft(e.kind)}))})}};function ft(e){switch(e){case j.Read:return s.languages.DocumentHighlightKind.Read;case j.Write:return s.languages.DocumentHighlightKind.Write;case j.Text:return s.languages.DocumentHighlightKind.Text}return s.languages.DocumentHighlightKind.Text}var pt=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),R(t))).then(e=>{if(e)return[mt(e)]})}};function mt(e){return{uri:s.Uri.parse(e.uri),range:B(e.range)}}var ht=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),R(t))).then(e=>{if(e)return e.map(mt)})}},G=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),R(t),n)).then(e=>gt(e))}};function gt(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=s.Uri.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:B(i.range),text:i.newText}})}return{edits:t}}var K=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>_t(e)?vt(e):{name:e.name,detail:``,containerName:e.containerName,kind:q(e.kind),range:B(e.location.range),selectionRange:B(e.location.range),tags:[]})})}};function _t(e){return`children`in e}function vt(e){return{name:e.name,detail:e.detail??``,kind:q(e.kind),range:B(e.range),selectionRange:B(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>vt(e))}}function q(e){let t=s.languages.SymbolKind;switch(e){case M.File:return t.File;case M.Module:return t.Module;case M.Namespace:return t.Namespace;case M.Package:return t.Package;case M.Class:return t.Class;case M.Method:return t.Method;case M.Property:return t.Property;case M.Field:return t.Field;case M.Constructor:return t.Constructor;case M.Enum:return t.Enum;case M.Interface:return t.Interface;case M.Function:return t.Function;case M.Variable:return t.Variable;case M.Constant:return t.Constant;case M.String:return t.String;case M.Number:return t.Number;case M.Boolean:return t.Boolean;case M.Array:return t.Array}return t.Function}var J=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:B(e.range),url:e.target}))}})}},Y=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,yt(t)).then(e=>{if(!(!e||e.length===0))return e.map(V)}))}},X=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),z(t),yt(n)).then(e=>{if(!(!e||e.length===0))return e.map(V)}))}};function yt(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var bt=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:B(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,z(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=V(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(V)),t})})}},Z=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=xt(e.kind)),t})})}};function xt(e){switch(e){case y.Comment:return s.languages.FoldingRangeKind.Comment;case y.Imports:return s.languages.FoldingRangeKind.Imports;case y.Region:return s.languages.FoldingRangeKind.Region}}var Q=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(R))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:B(e.range)}),e=e.parent;return t})})}},St=class extends L{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function Ct(e){let t=new f(e),n=(...e)=>t.getLanguageServiceWorker(...e),r=e.languageId;s.languages.registerCompletionItemProvider(r,new St(n)),s.languages.registerHoverProvider(r,new H(n)),s.languages.registerDocumentHighlightProvider(r,new W(n)),s.languages.registerLinkProvider(r,new J(n)),s.languages.registerFoldingRangeProvider(r,new Z(n)),s.languages.registerDocumentSymbolProvider(r,new K(n)),s.languages.registerSelectionRangeProvider(r,new Q(n)),s.languages.registerRenameProvider(r,new G(n)),r===`html`&&(s.languages.registerDocumentFormattingEditProvider(r,new Y(n)),s.languages.registerDocumentRangeFormattingEditProvider(r,new X(n)))}function wt(e){let t=[],n=[],r=new f(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;$(n),r.completionItems&&n.push(s.languages.registerCompletionItemProvider(t,new St(i))),r.hovers&&n.push(s.languages.registerHoverProvider(t,new H(i))),r.documentHighlights&&n.push(s.languages.registerDocumentHighlightProvider(t,new W(i))),r.links&&n.push(s.languages.registerLinkProvider(t,new J(i))),r.documentSymbols&&n.push(s.languages.registerDocumentSymbolProvider(t,new K(i))),r.rename&&n.push(s.languages.registerRenameProvider(t,new G(i))),r.foldingRanges&&n.push(s.languages.registerFoldingRangeProvider(t,new Z(i))),r.selectionRanges&&n.push(s.languages.registerSelectionRangeProvider(t,new Q(i))),r.documentFormattingEdits&&n.push(s.languages.registerDocumentFormattingEditProvider(t,new Y(i))),r.documentRangeFormattingEdits&&n.push(s.languages.registerDocumentRangeFormattingEditProvider(t,new X(i)))}return a(),t.push(Tt(n)),Tt(t)}function Tt(e){return{dispose:()=>$(e)}}function $(e){for(;e.length;)e.pop().dispose()}export{L as CompletionAdapter,pt as DefinitionAdapter,it as DiagnosticsAdapter,bt as DocumentColorAdapter,Y as DocumentFormattingEditProvider,W as DocumentHighlightAdapter,J as DocumentLinkAdapter,X as DocumentRangeFormattingEditProvider,K as DocumentSymbolAdapter,Z as FoldingRangeAdapter,H as HoverAdapter,ht as ReferenceAdapter,G as RenameAdapter,Q as SelectionRangeAdapter,f as WorkerManager,R as fromPosition,z as fromRange,wt as setupMode,Ct as setupMode1,B as toRange,V as toTextEdit};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./i18n-DAQcMG9d.js";import{T as t}from"./index-DSx45TKH.js";var n=t(({app:t})=>{t.use(e)});export{n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./vue-i18n-nv59vAyH.js";var t={"common.save":`Speichern`,"common.cancel":`Abbrechen`,"common.delete":`Löschen`,"common.close":`Schließen`,"common.loading":`Laden...`,"common.search":`Suchen...`,"common.refresh":`Aktualisieren`,"common.start":`Starten`,"common.stop":`Stoppen`,"common.archive":`Archivieren`,"common.unarchive":`Wiederherstellen`,"common.selectWorkspace":`Arbeitsbereich auswählen`,"common.noResults":`Keine Ergebnisse für „{query}"`,"common.send":`senden`,"common.newLine":`neue Zeile`,"common.history":`Verlauf`,"common.justNow":`gerade eben`,"common.minutesAgo":`vor {count}m`,"common.hoursAgo":`vor {count}h`,"common.daysAgo":`vor {count}T`,"model.auto":`Auto`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.haiku":`Haiku 4.5`,"permissionMode.autoAccept":`Auto-accept`,"permissionMode.plan":`Plan`,"workspaceList.title":`Arbeitsbereiche`,"workspaceList.needsAttention":`Aufmerksamkeit erforderlich`,"workspaceList.running":`Aktiv`,"workspaceList.idle":`Inaktiv`,"workspaceList.archived":`Archiviert`,"workspaceList.noWorkspaces":`Noch keine Arbeitsbereiche`,"workspaceList.footer":`{count} Arbeitsbereich | {count} Arbeitsbereiche`,"workspaceList.footerRunning":`{count} aktiv`,"workspaceList.deleteDialog.title":`Arbeitsbereich löschen?`,"workspaceList.deleteDialog.deleteLocal":`Lokalen Branch löschen`,"workspaceList.deleteDialog.deleteRemote":`Remote-Branch löschen`,"workspaceList.deleteDialog.warning":`Achtung: Diese Aktion ist auf dem Remote unwiderruflich.`,"workspacePage.selectWorkspace":`Arbeitsbereich auswählen, um zu beginnen`,"workspacePage.session":`Sitzung #{n}`,"workspacePage.newSession":`+ Neue Sitzung`,"workspacePage.renameSession":`Umbenennen`,"workspacePage.renameSessionTitle":`Sitzung umbenennen`,"workspacePage.sessionNameLabel":`Sitzungsname`,"workspacePage.sessionEndedNotice":`Diese Sitzung ist beendet. Erstelle eine neue Sitzung um fortzufahren.`,"workspacePage.renameFailed":`Umbenennung fehlgeschlagen`,"workspacePage.createSessionFailed":`Sitzung konnte nicht erstellt werden`,"workspacePage.startFailed":`Start fehlgeschlagen`,"workspacePage.stopFailed":`Stopp fehlgeschlagen`,"workspacePage.interrupt":`Unterbrechen`,"workspacePage.interrupted":`Agent unterbrochen — wartet auf Ihre nächste Nachricht`,"workspacePage.interruptFailed":`Unterbrechung fehlgeschlagen`,"workspacePage.interruptTooltip":`Sanfte Unterbrechung (wie Escape) — stoppt das aktuelle Tool, hält die Sitzung aktiv`,"activityFeed.empty":`Noch keine Aktivität`,"activityFeed.emptyHint":`Starten Sie einen Arbeitsbereich, um die Agentenausgabe hier zu sehen`,"activityFeed.initialPrompt":`Initialer Prompt`,"activityFeed.you":`Sie`,"activityFeed.agent":`Agent`,"activityFeed.question":`Frage`,"activityFeed.goToPrevious":`Zur vorherigen Nachricht`,"activityFeed.scrollToBottom":`Nach unten scrollen`,"activityFeed.sendAnswers":`Antworten senden`,"agentBusy.banner":`Agent ist beschäftigt`,"agentBusy.subagentsRunning":`1 Sub-Agent aktiv | {n} Sub-Agents aktiv`,"agentBusy.viewSubagents":`Sub-Agents anzeigen`,"agentBusy.pendingMessage":`Warten — Agent ist beschäftigt`,"terminal.title":`Terminal`,"terminal.open":`Terminal öffnen`,"terminal.close":`Terminal schließen`,"terminal.noWorkspace":`Workspace auswählen`,"terminal.noWorktree":`Worktree noch nicht erstellt`,"terminal.error":`Terminalfehler`,"terminal.exited":`Terminal beendet`,"chatInput.placeholder":`Nachricht... (/ für Skills)`,"chatInput.skills":`Skills`,"chatInput.attachImage":`Bild anhängen`,"chatInput.queueBanner":`Nachricht in Warteschlange — wird gesendet, wenn der Agent fertig ist`,"chatInput.cancelQueue":`Warteschlange abbrechen`,"koboCommand.checkProgressDesc":`Fortschritt bei Aufgaben und Akzeptanzkriterien prüfen`,"chatInput.uploading":`Wird hochgeladen...`,"createPage.title":`Woran möchten Sie arbeiten?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion aktiviert`,"createPage.importNotion":`Aus Notion importieren`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`Die URL muss mit https://www.notion.so/ beginnen`,"createPage.notionAutoExtract":`Unteraufgaben und Akzeptanzkriterien werden automatisch extrahiert.`,"createPage.workspaceName":`Name des Arbeitsbereichs (Standard: Notion-Seitentitel)`,"createPage.workspaceNamePlaceholder":`Name des Arbeitsbereichs...`,"createPage.instructions":`Zusätzliche Anweisungen (optional)...`,"createPage.instructionsPlaceholder":`Aufgabe beschreiben...`,"createPage.manualHint":`Kein Notion-Ticket? Fügen Sie Ihre Aufgaben und Akzeptanzkriterien manuell hinzu — sie werden dem Claude-Agent als Kontext mitgegeben.`,"createPage.tasks":`Aufgaben ({count})`,"createPage.addTask":`Aufgabe hinzufügen...`,"createPage.acceptanceCriteria":`Akzeptanzkriterien ({count})`,"createPage.addCriterion":`Kriterium hinzufügen...`,"createPage.projectPath":`Projektpfad eingeben`,"createPage.branch":`Branch`,"createPage.noBranches":`Keine Branches gefunden`,"createPage.enterPath":`Projektpfad eingeben`,"createPage.create":`Erstellen`,"createPage.skipSetupScript":`Setup-Skript überspringen`,"createPage.notionExtractHint":`Unteraufgaben und Akzeptanzkriterien werden aus der Notion-Seite extrahiert.`,"createPage.notionImportHint":`Klicken Sie auf „Aus Notion importieren", um Unteraufgaben automatisch aus einem Ticket zu extrahieren.`,"createPage.errorCreating":`Fehler beim Erstellen des Arbeitsbereichs.`,"createPage.validationNotionUrl":`Bitte eine gültige Notion-URL einfügen (https://www.notion.so/...).`,"createPage.validationDescription":`Bitte beschreiben Sie die Aufgabe.`,"createPage.validationName":`Bitte geben Sie einen Arbeitsbereichnamen an.`,"createPage.validationPath":`Bitte geben Sie den Projektpfad ein.`,"createPage.validationBranch":`Bitte wählen Sie einen Branch aus.`,"settings.title":`Einstellungen`,"settings.language":`Sprache`,"settings.global":`Allgemein`,"settings.projects":`Projekte`,"settings.globalSettings":`Allgemeine Einstellungen`,"settings.defaultModel":`Standardmodell`,"settings.agentPermissions":`Agentenberechtigungen`,"settings.skipPermissions":`Berechtigungsabfragen überspringen (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Achtung: Wird diese Option deaktiviert, werden alle Tool-Berechtigungen (Write, Edit, Bash...) im Headless-Modus automatisch abgelehnt. Der Agent kann dann nur lesen.`,"settings.notifications":`Benachrichtigungen`,"settings.browserNotifications":`Browser-Benachrichtigung wenn Agent fertig ist`,"settings.audioNotifications":`Ton-Benachrichtigung wenn Agent fertig ist`,"settings.defaultPermissionMode":`Standard-Berechtigungsmodus`,"settings.defaultPermissionModeHint":`Modus bei der Erstellung eines neuen Workspaces. Plan = Nur-Lesen-Brainstorming zuerst, Auto-accept = sofortige vollständige Ausführung.`,"settings.activityFeed":`Aktivitätsfeed`,"settings.verboseMessages":`Ausführliche Systemnachrichten anzeigen (task_progress, task_started)`,"settings.availableVariables":`Verfügbare Variablen in der PR-Prompt-Vorlage`,"settings.prPromptTemplate":`PR-Prompt-Vorlage`,"settings.prPromptPlaceholder":`Anweisungen für den Agenten bei der Erstellung von GitHub-PRs...`,"settings.prPromptHint":`Verwenden Sie die oben aufgeführten Platzhalter (doppelte geschweifte Klammern).`,"settings.var.prNumber":`PR-Nummer (z. B. 42)`,"settings.var.prUrl":`Vollständige URL der erstellten PR`,"settings.var.branchName":`Name des Arbeitsbranches`,"settings.var.sourceBranch":`Quellbranch, auf den die PR abzielt`,"settings.var.workspaceName":`Workspace-Name`,"settings.var.projectName":`Letztes Segment des Projektpfads`,"settings.var.notionUrl":`Notion-URL falls gesetzt, sonst leer`,"settings.var.commits":`Aufzählung der Commits zwischen Source und Head`,"settings.var.diffStats":`Git-Shortstat-Zusammenfassung (Dateien, Einfügungen, Löschungen)`,"settings.var.tasks":`Reguläre Aufgaben als Checkliste`,"settings.var.acceptanceCriteria":`Akzeptanzkriterien als Checkliste`,"settings.gitConventions":`Git-Konventionen (global)`,"settings.gitConventionsPlaceholder":`# Git-Konventionen...`,"settings.gitConventionsHint":`Diese Konventionen werden in .ai/.git-conventions.md jedes neuen Arbeitsbereichs geschrieben und müssen vom Agenten vor jeder Git-Operation eingehalten werden. Werden durch projektspezifische Konventionen überschrieben, falls definiert.`,"settings.setupScript":`Setup-Skript`,"settings.setupScriptPlaceholder":`npm install`,"settings.setupScriptHint":`Wird mit bash im Worktree nach der Erstellung ausgeführt, bevor der Agent startet. Kein Shebang erforderlich. Bei Fehler wird der Workspace auf Fehler gesetzt. Timeout: 5 Minuten.`,"settings.editorCommand":`Editor-Befehl`,"settings.editorCommandPlaceholder":`code, phpstorm, subl, vim...`,"settings.editorCommandHint":`Befehl zum Öffnen des Worktrees in Ihrem Editor. Der Worktree-Pfad wird als Argument übergeben.`,"settings.configuredProjects":`Konfigurierte Projekte`,"settings.noProjects":`Keine Projekte konfiguriert`,"settings.addProject":`Projekt hinzufügen`,"settings.newProject":`Neues Projekt`,"settings.editProject":`Projekt bearbeiten`,"settings.projectPath":`Projektpfad`,"settings.projectPathPlaceholder":`/pfad/zum/projekt`,"settings.displayName":`Anzeigename`,"settings.displayNamePlaceholder":`Mein Projekt`,"settings.defaultSourceBranch":`Standard-Quellbranch`,"settings.defaultModel.project":`Standardmodell`,"settings.skipPermissions.project":`Berechtigungsabfragen überspringen`,"settings.prPromptTemplate.project":`PR-Prompt-Vorlage`,"settings.prPromptPlaceholder.project":`Projektspezifische Anweisungen für PR-Erstellung...`,"settings.gitConventions.project":`Git-Konventionen (Projekt)`,"settings.gitConventionsEmpty":`Leer lassen, um die globalen Konventionen zu verwenden.`,"settings.notionStatus":`Notion-Ticket-Status`,"settings.notionStatusProperty":`Eigenschaftsname`,"settings.notionStatusPropertyPlaceholder":`État, Status...`,"settings.notionInProgressStatus":`Zu setzender Wert`,"settings.notionInProgressStatusPlaceholder":`In Bearbeitung, In progress...`,"settings.notionStatusHint":`Wenn ein Workspace mit einem Notion-Ticket erstellt wird, wird die angegebene Eigenschaft auf diesen Wert gesetzt. Beide Felder sind erforderlich. Leer lassen zum Deaktivieren.`,"settings.devServer":`Dev-Server`,"settings.devServerStart":`Startskript`,"settings.devServerStartPlaceholder":`npm run dev`,"settings.devServerStop":`Stoppskript`,"settings.devServerStopPlaceholder":`Optional — der Prozess wird automatisch beendet, wenn leer`,"settings.selectProject":`Projekt auswählen oder neues hinzufügen`,"settings.useGlobal":`Global verwenden`,"settings.saved":`Allgemeine Einstellungen gespeichert.`,"settings.saveError":`Fehler beim Speichern der Einstellungen.`,"settings.projectSaved":`Projekt gespeichert.`,"settings.projectSaveError":`Fehler beim Speichern des Projekts.`,"settings.projectDeleted":`Projekt gelöscht.`,"settings.projectDeleteError":`Fehler beim Löschen des Projekts.`,"settings.projectPathRequired":`Projektpfad ist erforderlich.`,"templates.title":`Vorlagen`,"templates.newTemplate":`Neue Vorlage`,"templates.editTemplate":`Vorlage bearbeiten`,"templates.deleteTemplate":`Vorlage löschen`,"templates.deleteConfirm":`Vorlage '/{slug}' löschen?`,"templates.deleteConfirmMessage":`Dies kann nicht rückgängig gemacht werden.`,"templates.slug":`Slug`,"templates.slugHint":`Kleinbuchstaben, Ziffern, Bindestriche. Max. 64 Zeichen.`,"templates.slugInvalid":`Slug darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten`,"templates.slugDuplicate":`Eine Vorlage mit diesem Slug existiert bereits`,"templates.description":`Beschreibung`,"templates.descriptionHint":`Kurzes Label, das im Dropdown angezeigt wird.`,"templates.descriptionRequired":`Beschreibung ist erforderlich`,"templates.contentRequired":`Inhalt ist erforderlich`,"templates.content":`Inhalt`,"templates.contentHint":`Vorlageninhalt. Verwende {variable_name} für Substitutionen.`,"templates.availableVars":`Verfügbare Variablen`,"templates.filePath":`Datei: {path}`,"templates.empty":`Noch keine Vorlagen.`,"templates.createFailed":`Vorlage konnte nicht erstellt werden`,"templates.updateFailed":`Vorlage konnte nicht aktualisiert werden`,"templates.deleteFailed":`Vorlage konnte nicht gelöscht werden`,"templates.save":`Speichern`,"templates.create":`Erstellen`,"chatInput.dropdownSkills":`Claude-Skills`,"chatInput.dropdownKobo":`Kōbō-Befehle`,"chatInput.dropdownTemplates":`Vorlagen`,"plans.title":`Pläne`,"plans.empty":`Keine Pläne gefunden`,"plans.refresh":`Aktualisieren`,"plans.back":`Zurück`,"plans.loadFailed":`Plan konnte nicht geladen werden`,"git.title":`Git`,"git.localOnly":`nur lokal`,"git.pushed":`gepusht`,"git.unpushed":`{count} nicht gepusht`,"git.commits":`{count} Commit | {count} Commits`,"git.files":`{count} Datei | {count} Dateien`,"git.staged":`{count} vorgemerkt`,"git.modified":`{count} geändert`,"git.untracked":`{count} nicht verfolgt`,"git.viewPr":`PR anzeigen`,"git.createPr":`PR erstellen`,"git.push":`Push`,"git.pull":`Pull`,"git.createPrNoRemote":`Branch zuerst pushen`,"git.pullConfirmTitle":`Branch pullen?`,"git.pullConfirmMessage":`{branch} vom Remote pullen (nur Fast-Forward).`,"git.branchPulled":`Branch gepullt`,"git.pullFailed":`Pull fehlgeschlagen`,"git.diff":`Diff`,"git.rebase":`Rebase`,"git.rebaseConfirmTitle":`Branch rebasen?`,"git.rebaseConfirmMessage":`Rebase auf {branch}. Es können Konflikte auftreten.`,"git.rebaseSuccess":`Rebase abgeschlossen`,"git.rebaseFailed":`Rebase fehlgeschlagen`,"git.pushConfirmTitle":`Branch pushen?`,"git.pushConfirmMessage":`{branch} zum Remote pushen.`,"git.changePrBase":`PR-Zielbranch ändern`,"git.changePrBaseTitle":`Zielbranch ändern`,"git.changePrBaseMessage":`Geben Sie den neuen Zielbranch für den Pull Request ein.`,"git.changePrBaseSuccess":`PR-Zielbranch aktualisiert`,"git.changePrBaseFailed":`PR-Zielbranch konnte nicht geändert werden`,"git.openEditor":`Im Editor öffnen`,"git.openEditorFailed":`Editor konnte nicht geöffnet werden`,"git.branchPushed":`Branch gepusht`,"git.pushFirst":`Der Branch ist nicht auf dem Remote. Klicken Sie zuerst auf Push.`,"git.unpushedCommits":`Lokale Commits sind nicht gepusht. Klicken Sie zuerst auf Push.`,"git.from":`von`,"git.prCreated":`PR #{n} erstellt`,"devServer.title":`Dev-Server`,"devServer.noWorkspace":`Kein Arbeitsbereich ausgewählt`,"devServer.notConfigured":`Nicht konfiguriert —`,"devServer.goToSettings":`Einstellungen`,"devServer.logs":`Logs`,"devServer.running":`Läuft`,"devServer.starting":`Startet`,"devServer.stopping":`Wird gestoppt`,"devServer.error":`Fehler`,"devServer.stopped":`Gestoppt`,"devServer.unknown":`Unbekannt`,"devServer.containers":`{count} Container | {count} Container`,"devServer.logDialog.title":`Dev-Server-Logs`,"devServer.logDialog.empty":`Keine Logs verfügbar`,"notion.title":`Notion`,"notion.addTask":`Aufgabe hinzufügen`,"notion.openInNotion":`In Notion öffnen`,"notion.noUrl":`Keine Notion-URL`,"notion.subtasks":`{done}/{total} Unteraufgaben`,"notion.noTasks":`Keine Aufgaben`,"notion.newTask":`Neue Aufgabe... (Enter zum Hinzufügen, Esc zum Abbrechen)`,"acceptance.title":`Akzeptanzkriterien`,"acceptance.addCriterion":`Kriterium hinzufügen`,"acceptance.newCriterion":`Neues Kriterium... (Enter zum Hinzufügen, Esc zum Abbrechen)`,"acceptance.empty":`Keine Akzeptanzkriterien`,"tasks.askProgress":`Agent auffordern, Fortschritt zu prüfen`,"agentTodos.title":`Agent-Todos`,"agentTodos.empty":`Keine Agent-Todos`,"subagents.title":`Sub-Agents`,"subagents.empty":`Noch keine Sub-Agent-Aktivität`,"subagents.tools":`{count} Tools`,"subagents.running":`Aktiv: `,"stats.title":`Statistiken`,"stats.info":`Info`,"stats.status":`Status`,"stats.model":`Modell`,"stats.branch":`Branch`,"stats.sessions":`Sitzungen`,"stats.duration":`Dauer`,"stats.timeline":`Zeitverlauf`,"stats.created":`Erstellt`,"stats.firstSession":`Erste Sitzung`,"stats.lastPrompt":`Letzter Prompt`,"stats.lastResponse":`Letzte Antwort`,"stats.updated":`Aktualisiert`,"stats.activity":`Aktivität`,"stats.agentMessages":`Agent-Nachrichten`,"stats.userMessages":`Benutzernachrichten`,"stats.toolCalls":`Tool-Aufrufe`,"stats.errors":`Fehler`,"stats.usage":`Verbrauch`,"stats.inputTokens":`Eingabe-Tokens`,"stats.outputTokens":`Ausgabe-Tokens`,"stats.totalTokens":`Tokens gesamt`,"stats.cost":`Kosten`,"stats.subagents":`Sub-Agents`,"stats.completed":`Abgeschlossen`,"stats.tokens":`Tokens`,"stats.progress":`Fortschritt`,"stats.tasks":`Aufgaben`,"stats.acceptanceCriteria":`Akzeptanzkriterien`,"tooltip.addTask":`Aufgabe hinzufügen`,"tooltip.removeTask":`Aufgabe entfernen`,"tooltip.addCriterion":`Kriterium hinzufügen`,"tooltip.removeCriterion":`Kriterium entfernen`,"tooltip.startDevServer":`Dev-Server starten`,"tooltip.stopDevServer":`Dev-Server stoppen`,"tooltip.closeDiffViewer":`Diff schließen`,"tooltip.refreshLogs":`Logs aktualisieren`,"tooltip.closeDialog":`Schließen`,"tooltip.refreshGitStats":`Git-Statistiken aktualisieren`,"tooltip.removeImage":`Bild entfernen`,"tooltip.sendMessage":`Nachricht senden`,"tooltip.addNotionTask":`Aufgabe hinzufügen`,"tooltip.removeNotionTask":`Aufgabe entfernen`,"tooltip.refreshStats":`Statistiken aktualisieren`,"tools.title":`Werkzeuge`,"tools.runSetupScript":`Setup-Skript erneut ausführen`,"tools.runSetupScriptTooltip":`Das Setup-Skript des Projekts im Worktree ausführen`,"tools.noSetupScript":`Kein Setup-Skript konfiguriert —`,"tools.setupScriptSuccess":`Setup-Skript erfolgreich abgeschlossen.`,"tools.setupScriptFailed":`Setup-Skript fehlgeschlagen.`,"diff.title":`Diff`,"diff.side":`Nebeneinander`,"diff.inline":`Inline`,"diff.noChanges":`Keine Änderungen`,"diff.selectFile":`Datei auswählen, um den Diff anzuzeigen`,"diff.addToChat":`Zum Chat hinzufügen`,"notification.agentFinished":`{name} — Agent fertig`,"notification.agentError":`{name} — Agent-Fehler`,"contextMenu.copyPath":`Worktree-Pfad kopieren`,"contextMenu.openEditor":`Im Editor öffnen`,"contextMenu.runSetup":`Setup-Skript ausführen`},n={"common.save":`Save`,"common.cancel":`Cancel`,"common.delete":`Delete`,"common.close":`Close`,"common.loading":`Loading...`,"common.search":`Search...`,"common.refresh":`Refresh`,"common.start":`Start`,"common.stop":`Stop`,"common.archive":`Archive`,"common.unarchive":`Unarchive`,"common.selectWorkspace":`Select a workspace`,"common.noResults":`No results for "{query}"`,"common.send":`send`,"common.newLine":`new line`,"common.history":`history`,"common.justNow":`just now`,"common.minutesAgo":`{count}m ago`,"common.hoursAgo":`{count}h ago`,"common.daysAgo":`{count}d ago`,"model.auto":`Auto`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.haiku":`Haiku 4.5`,"permissionMode.autoAccept":`Auto-accept`,"permissionMode.plan":`Plan`,"workspaceList.title":`Workspaces`,"workspaceList.needsAttention":`Needs Attention`,"workspaceList.running":`Running`,"workspaceList.idle":`Idle`,"workspaceList.archived":`Archived`,"workspaceList.noWorkspaces":`No workspaces yet`,"workspaceList.footer":`{count} workspace | {count} workspaces`,"workspaceList.footerRunning":`{count} running`,"workspaceList.deleteDialog.title":`Delete workspace?`,"workspaceList.deleteDialog.deleteLocal":`Delete local branch`,"workspaceList.deleteDialog.deleteRemote":`Delete remote branch`,"workspaceList.deleteDialog.warning":`Warning: this action is irreversible on the remote.`,"workspacePage.selectWorkspace":`Select a workspace to begin`,"workspacePage.session":`Session #{n}`,"workspacePage.newSession":`+ New session`,"workspacePage.renameSession":`Rename`,"workspacePage.renameSessionTitle":`Rename session`,"workspacePage.sessionNameLabel":`Session name`,"workspacePage.sessionEndedNotice":`This session has ended. Create a new session to continue.`,"workspacePage.renameFailed":`Rename failed`,"workspacePage.createSessionFailed":`Failed to create session`,"workspacePage.startFailed":`Start failed`,"workspacePage.stopFailed":`Stop failed`,"workspacePage.interrupt":`Interrupt`,"workspacePage.interrupted":`Agent interrupted — waiting for your next message`,"workspacePage.interruptFailed":`Interrupt failed`,"workspacePage.interruptTooltip":`Soft interrupt (like Escape) — stops the current tool but keeps the session alive`,"activityFeed.empty":`No activity yet`,"activityFeed.emptyHint":`Start a workspace to see agent output here`,"activityFeed.initialPrompt":`Initial Prompt`,"activityFeed.you":`You`,"activityFeed.agent":`Agent`,"activityFeed.question":`Question`,"activityFeed.goToPrevious":`Go to previous message`,"activityFeed.scrollToBottom":`Scroll to bottom`,"activityFeed.sendAnswers":`Send answers`,"agentBusy.banner":`Agent is busy`,"agentBusy.subagentsRunning":`1 sub-agent running | {n} sub-agents running`,"agentBusy.viewSubagents":`View sub-agents`,"agentBusy.pendingMessage":`Waiting — agent is busy`,"terminal.title":`Terminal`,"terminal.open":`Open terminal`,"terminal.close":`Close terminal`,"terminal.noWorkspace":`Select a workspace`,"terminal.noWorktree":`Worktree not created yet`,"terminal.error":`Terminal error`,"terminal.exited":`Terminal exited`,"chatInput.placeholder":`Message... (/ for skills)`,"chatInput.skills":`Skills`,"chatInput.attachImage":`Attach image`,"chatInput.queueBanner":`Message queued — will be sent when the agent finishes`,"chatInput.cancelQueue":`Cancel Queue`,"koboCommand.checkProgressDesc":`Verify progress on tasks and acceptance criteria`,"chatInput.uploading":`Uploading...`,"createPage.title":`What would you like to work on?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion enabled`,"createPage.importNotion":`Import from Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`URL must start with https://www.notion.so/`,"createPage.notionAutoExtract":`Subtasks and acceptance criteria will be extracted automatically.`,"createPage.workspaceName":`Workspace name (defaults to Notion page title)`,"createPage.workspaceNamePlaceholder":`Workspace name...`,"createPage.instructions":`Additional instructions (optional)...`,"createPage.instructionsPlaceholder":`Describe the task...`,"createPage.manualHint":`No Notion ticket? Add your tasks and acceptance criteria manually — they'll be sent to the Claude agent as context.`,"createPage.tasks":`Tasks ({count})`,"createPage.addTask":`Add a task...`,"createPage.acceptanceCriteria":`Acceptance Criteria ({count})`,"createPage.addCriterion":`Add a criterion...`,"createPage.projectPath":`Enter the project path`,"createPage.branch":`Branch`,"createPage.noBranches":`No branches found`,"createPage.enterPath":`Enter a project path`,"createPage.create":`Create`,"createPage.skipSetupScript":`Skip setup script`,"createPage.notionExtractHint":`Subtasks and acceptance criteria will be extracted from the Notion page.`,"createPage.notionImportHint":`Click "Import from Notion" to automatically extract subtasks from a ticket.`,"createPage.errorCreating":`Error creating workspace.`,"createPage.validationNotionUrl":`Please paste a valid Notion URL (https://www.notion.so/...).`,"createPage.validationDescription":`Please describe the task.`,"createPage.validationName":`Please provide a workspace name.`,"createPage.validationPath":`Please enter the project path.`,"createPage.validationBranch":`Please select a branch.`,"settings.title":`Settings`,"settings.language":`Language`,"settings.global":`Global`,"settings.projects":`Projects`,"settings.globalSettings":`Global Settings`,"settings.defaultModel":`Default model`,"settings.agentPermissions":`Agent permissions`,"settings.skipPermissions":`Skip permission prompts (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Warning: disabling this will cause all tool permissions (Write, Edit, Bash...) to be auto-denied in headless mode. The agent will only be able to read.`,"settings.notifications":`Notifications`,"settings.browserNotifications":`Browser notifications when agent finishes`,"settings.audioNotifications":`Sound notification when agent finishes`,"settings.defaultPermissionMode":`Default permission mode`,"settings.defaultPermissionModeHint":`Permission mode applied when creating a new workspace. Plan = read-only brainstorming first, Auto-accept = full execution immediately.`,"settings.activityFeed":`Activity feed`,"settings.verboseMessages":`Show verbose system messages (task_progress, task_started)`,"settings.availableVariables":`Available variables in PR prompt template`,"settings.prPromptTemplate":`PR prompt template`,"settings.prPromptPlaceholder":`Instructions for the agent when creating GitHub PRs...`,"settings.prPromptHint":`Use the template variables listed above (double curly brace syntax).`,"settings.var.prNumber":`PR number (e.g., 42)`,"settings.var.prUrl":`Full URL of the created PR`,"settings.var.branchName":`Working branch name`,"settings.var.sourceBranch":`Source branch the PR targets`,"settings.var.workspaceName":`Workspace name`,"settings.var.projectName":`Last segment of the project path`,"settings.var.notionUrl":`Notion URL if set, empty otherwise`,"settings.var.commits":`Bulleted commit list between source and head`,"settings.var.diffStats":`Git shortstat summary (files, insertions, deletions)`,"settings.var.tasks":`Regular tasks as a checkbox list`,"settings.var.acceptanceCriteria":`Acceptance criteria as a checkbox list`,"settings.gitConventions":`Git conventions (global)`,"settings.gitConventionsPlaceholder":`# Git conventions...`,"settings.gitConventionsHint":`These conventions are written to .ai/.git-conventions.md in each new workspace and must be followed by the agent before any git operation. Overridden by per-project conventions if defined.`,"settings.setupScript":`Setup script`,"settings.setupScriptPlaceholder":`npm install`,"settings.setupScriptHint":`Executed with bash in the worktree after creation, before the agent starts. No shebang needed. If it fails, the workspace is set to error. Timeout: 5 minutes.`,"settings.editorCommand":`Editor command`,"settings.editorCommandPlaceholder":`code, phpstorm, subl, vim...`,"settings.editorCommandHint":`Command used to open the worktree in your editor. The worktree path is passed as argument.`,"settings.configuredProjects":`Configured projects`,"settings.noProjects":`No projects configured`,"settings.addProject":`Add project`,"settings.newProject":`New project`,"settings.editProject":`Edit project`,"settings.projectPath":`Project path`,"settings.projectPathPlaceholder":`/path/to/project`,"settings.displayName":`Display name`,"settings.displayNamePlaceholder":`My project`,"settings.defaultSourceBranch":`Default source branch`,"settings.defaultModel.project":`Default model`,"settings.skipPermissions.project":`Skip permission prompts`,"settings.prPromptTemplate.project":`PR prompt template`,"settings.prPromptPlaceholder.project":`Project-specific instructions for PR creation...`,"settings.gitConventions.project":`Git conventions (project override)`,"settings.gitConventionsEmpty":`Leave empty to use the global conventions.`,"settings.notionStatus":`Notion ticket status`,"settings.notionStatusProperty":`Property name`,"settings.notionStatusPropertyPlaceholder":`État, Status...`,"settings.notionInProgressStatus":`Value to set`,"settings.notionInProgressStatusPlaceholder":`In progress, En cours...`,"settings.notionStatusHint":`When a workspace is created with a Notion ticket, the specified property is set to this value. Both fields are required. Leave empty to disable.`,"settings.devServer":`Dev server`,"settings.devServerStart":`Script start`,"settings.devServerStartPlaceholder":`npm run dev`,"settings.devServerStop":`Script stop`,"settings.devServerStopPlaceholder":`Optional — the process will be killed automatically if empty`,"settings.selectProject":`Select a project or add a new one`,"settings.projectPathRequired":`Project path is required.`,"settings.useGlobal":`Use global`,"settings.saved":`Global settings saved.`,"settings.saveError":`Error saving settings.`,"settings.projectSaved":`Project saved.`,"settings.projectSaveError":`Error saving project.`,"settings.projectDeleted":`Project deleted.`,"settings.projectDeleteError":`Error deleting project.`,"templates.title":`Templates`,"templates.newTemplate":`New template`,"templates.editTemplate":`Edit template`,"templates.deleteTemplate":`Delete template`,"templates.deleteConfirm":`Delete template '/{slug}'?`,"templates.deleteConfirmMessage":`This cannot be undone.`,"templates.slug":`Slug`,"templates.slugHint":`Lowercase letters, digits, hyphens. Max 64 chars.`,"templates.slugInvalid":`Slug must contain only lowercase letters, digits, and hyphens`,"templates.slugDuplicate":`A template with this slug already exists`,"templates.description":`Description`,"templates.descriptionHint":`Short label shown in the dropdown.`,"templates.descriptionRequired":`Description is required`,"templates.contentRequired":`Content is required`,"templates.content":`Content`,"templates.contentHint":`Template content. Use {variable_name} for substitutions.`,"templates.availableVars":`Available variables`,"templates.filePath":`File: {path}`,"templates.empty":`No templates yet.`,"templates.createFailed":`Failed to create template`,"templates.updateFailed":`Failed to update template`,"templates.deleteFailed":`Failed to delete template`,"templates.save":`Save`,"templates.create":`Create`,"chatInput.dropdownSkills":`Claude skills`,"chatInput.dropdownKobo":`Kōbō commands`,"chatInput.dropdownTemplates":`Templates`,"plans.title":`Plans`,"plans.empty":`No plans found`,"plans.refresh":`Refresh`,"plans.back":`Back`,"plans.loadFailed":`Failed to load plan`,"git.title":`Git`,"git.localOnly":`local only`,"git.pushed":`pushed`,"git.unpushed":`{count} unpushed`,"git.commits":`{count} commit | {count} commits`,"git.files":`{count} file | {count} files`,"git.staged":`{count} staged`,"git.modified":`{count} modified`,"git.untracked":`{count} untracked`,"git.viewPr":`View PR`,"git.createPr":`Create PR`,"git.push":`Push`,"git.pull":`Pull`,"git.createPrNoRemote":`Push the branch first`,"git.pullConfirmTitle":`Pull branch?`,"git.pullConfirmMessage":`Pull {branch} from remote (fast-forward only).`,"git.branchPulled":`Branch pulled`,"git.pullFailed":`Pull failed`,"git.diff":`Diff`,"git.rebase":`Rebase`,"git.rebaseConfirmTitle":`Rebase branch?`,"git.rebaseConfirmMessage":`Rebase onto {branch}. This may cause conflicts.`,"git.rebaseSuccess":`Rebase completed`,"git.rebaseFailed":`Rebase failed`,"git.pushConfirmTitle":`Push branch?`,"git.pushConfirmMessage":`Push {branch} to remote.`,"git.changePrBase":`Change PR base branch`,"git.changePrBaseTitle":`Change base branch`,"git.changePrBaseMessage":`Enter the new target branch for the pull request.`,"git.changePrBaseSuccess":`PR base branch updated`,"git.changePrBaseFailed":`Failed to change PR base branch`,"git.openEditor":`Open in editor`,"git.openEditorFailed":`Failed to open editor`,"git.branchPushed":`Branch pushed`,"git.pushFirst":`Branch is not on remote. Click Push first.`,"git.unpushedCommits":`Local commits are not pushed. Click Push first.`,"git.from":`from`,"git.prCreated":`PR #{n} created`,"devServer.title":`Dev Server`,"devServer.noWorkspace":`No workspace selected`,"devServer.notConfigured":`Not configured —`,"devServer.goToSettings":`Settings`,"devServer.logs":`Logs`,"devServer.running":`Running`,"devServer.starting":`Starting`,"devServer.stopping":`Stopping`,"devServer.error":`Error`,"devServer.stopped":`Stopped`,"devServer.unknown":`Unknown`,"devServer.containers":`{count} container | {count} containers`,"devServer.logDialog.title":`Logs Dev Server`,"devServer.logDialog.empty":`No logs available`,"notion.title":`Notion`,"notion.addTask":`Add task`,"notion.openInNotion":`Open in Notion`,"notion.noUrl":`No Notion URL`,"notion.subtasks":`{done}/{total} subtasks`,"notion.noTasks":`No tasks`,"notion.newTask":`New task... (Enter to add, Esc to cancel)`,"acceptance.title":`Acceptance Criteria`,"acceptance.addCriterion":`Add criterion`,"acceptance.newCriterion":`New criterion... (Enter to add, Esc to cancel)`,"acceptance.empty":`No acceptance criteria`,"tasks.askProgress":`Ask agent to review progress`,"agentTodos.title":`Agent Todos`,"agentTodos.empty":`No agent todos`,"subagents.title":`Sub-agents`,"subagents.empty":`No sub-agent activity yet`,"subagents.tools":`{count} tools`,"subagents.running":`Running: `,"stats.title":`Statistics`,"stats.info":`Info`,"stats.status":`Status`,"stats.model":`Model`,"stats.branch":`Branch`,"stats.sessions":`Sessions`,"stats.duration":`Duration`,"stats.timeline":`Timeline`,"stats.created":`Created`,"stats.firstSession":`First session`,"stats.lastPrompt":`Last prompt`,"stats.lastResponse":`Last response`,"stats.updated":`Updated`,"stats.activity":`Activity`,"stats.agentMessages":`Agent messages`,"stats.userMessages":`User messages`,"stats.toolCalls":`Tool calls`,"stats.errors":`Errors`,"stats.usage":`Usage`,"stats.inputTokens":`Input tokens`,"stats.outputTokens":`Output tokens`,"stats.totalTokens":`Total tokens`,"stats.cost":`Cost`,"stats.subagents":`Sub-agents`,"stats.completed":`Completed`,"stats.tokens":`Tokens`,"stats.progress":`Progress`,"stats.tasks":`Tasks`,"stats.acceptanceCriteria":`Acceptance criteria`,"tooltip.addTask":`Add task`,"tooltip.removeTask":`Remove task`,"tooltip.addCriterion":`Add criterion`,"tooltip.removeCriterion":`Remove criterion`,"tooltip.startDevServer":`Start dev server`,"tooltip.stopDevServer":`Stop dev server`,"tooltip.closeDiffViewer":`Close diff viewer`,"tooltip.refreshLogs":`Refresh logs`,"tooltip.closeDialog":`Close`,"tooltip.refreshGitStats":`Refresh Git stats`,"tooltip.removeImage":`Remove image`,"tooltip.sendMessage":`Send message`,"tooltip.addNotionTask":`Add task`,"tooltip.removeNotionTask":`Remove task`,"tooltip.refreshStats":`Refresh statistics`,"tools.title":`Tools`,"tools.runSetupScript":`Re-run setup script`,"tools.runSetupScriptTooltip":`Execute the project setup script in the worktree`,"tools.noSetupScript":`No setup script configured —`,"tools.setupScriptSuccess":`Setup script completed successfully.`,"tools.setupScriptFailed":`Setup script failed.`,"diff.title":`Diff`,"diff.side":`Side`,"diff.inline":`Inline`,"diff.noChanges":`No changes`,"diff.selectFile":`Select a file to view diff`,"diff.addToChat":`Add to chat`,"notification.agentFinished":`{name} — Agent finished`,"notification.agentError":`{name} — Agent error`,"contextMenu.copyPath":`Copy worktree path`,"contextMenu.openEditor":`Open in editor`,"contextMenu.runSetup":`Run setup script`},r={"common.save":`Guardar`,"common.cancel":`Cancelar`,"common.delete":`Eliminar`,"common.close":`Cerrar`,"common.loading":`Cargando...`,"common.search":`Buscar...`,"common.refresh":`Actualizar`,"common.start":`Iniciar`,"common.stop":`Detener`,"common.archive":`Archivar`,"common.unarchive":`Desarchivar`,"common.selectWorkspace":`Selecciona un workspace`,"common.noResults":`Sin resultados para "{query}"`,"common.send":`enviar`,"common.newLine":`nueva línea`,"common.history":`historial`,"common.justNow":`ahora mismo`,"common.minutesAgo":`hace {count}m`,"common.hoursAgo":`hace {count}h`,"common.daysAgo":`hace {count}d`,"model.auto":`Auto`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.haiku":`Haiku 4.5`,"permissionMode.autoAccept":`Aceptación automática`,"permissionMode.plan":`Plan`,"workspaceList.title":`Workspaces`,"workspaceList.needsAttention":`Requiere atención`,"workspaceList.running":`En ejecución`,"workspaceList.idle":`Inactivo`,"workspaceList.archived":`Archivados`,"workspaceList.noWorkspaces":`Aún no hay workspaces`,"workspaceList.footer":`{count} workspace | {count} workspaces`,"workspaceList.footerRunning":`{count} en ejecución`,"workspaceList.deleteDialog.title":`¿Eliminar workspace?`,"workspaceList.deleteDialog.deleteLocal":`Eliminar rama local`,"workspaceList.deleteDialog.deleteRemote":`Eliminar rama remota`,"workspaceList.deleteDialog.warning":`Advertencia: esta acción es irreversible en el remoto.`,"workspacePage.selectWorkspace":`Selecciona un workspace para comenzar`,"workspacePage.session":`Sesión #{n}`,"workspacePage.newSession":`+ Nueva sesión`,"workspacePage.renameSession":`Renombrar`,"workspacePage.renameSessionTitle":`Renombrar sesión`,"workspacePage.sessionNameLabel":`Nombre de sesión`,"workspacePage.sessionEndedNotice":`Esta sesión ha terminado. Crea una nueva sesión para continuar.`,"workspacePage.renameFailed":`Error al renombrar`,"workspacePage.createSessionFailed":`Error al crear la sesión`,"workspacePage.startFailed":`Error al iniciar`,"workspacePage.stopFailed":`Error al detener`,"workspacePage.interrupt":`Interrumpir`,"workspacePage.interrupted":`Agente interrumpido — esperando tu próximo mensaje`,"workspacePage.interruptFailed":`Error al interrumpir`,"workspacePage.interruptTooltip":`Interrupción suave (como Escape) — detiene la herramienta actual pero mantiene la sesión activa`,"activityFeed.empty":`Aún no hay actividad`,"activityFeed.emptyHint":`Inicia un workspace para ver la salida del agente aquí`,"activityFeed.initialPrompt":`Prompt inicial`,"activityFeed.you":`Tú`,"activityFeed.agent":`Agente`,"activityFeed.question":`Pregunta`,"activityFeed.goToPrevious":`Ir al mensaje anterior`,"activityFeed.scrollToBottom":`Ir al final`,"activityFeed.sendAnswers":`Enviar respuestas`,"agentBusy.banner":`El agente está ocupado`,"agentBusy.subagentsRunning":`1 sub-agente en ejecución | {n} sub-agentes en ejecución`,"agentBusy.viewSubagents":`Ver sub-agentes`,"agentBusy.pendingMessage":`Esperando — el agente está ocupado`,"terminal.title":`Terminal`,"terminal.open":`Abrir terminal`,"terminal.close":`Cerrar terminal`,"terminal.noWorkspace":`Seleccione un espacio de trabajo`,"terminal.noWorktree":`Worktree aún no creado`,"terminal.error":`Error del terminal`,"terminal.exited":`Terminal cerrado`,"chatInput.placeholder":`Mensaje... (/ para skills)`,"chatInput.skills":`Skills`,"chatInput.attachImage":`Adjuntar imagen`,"chatInput.queueBanner":`Mensaje en cola — se enviará cuando el agente termine`,"chatInput.cancelQueue":`Cancelar cola`,"koboCommand.checkProgressDesc":`Verificar el progreso de las tareas y criterios de aceptación`,"chatInput.uploading":`Subiendo...`,"createPage.title":`¿En qué te gustaría trabajar?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion activado`,"createPage.importNotion":`Importar desde Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`La URL debe empezar por https://www.notion.so/`,"createPage.notionAutoExtract":`Las subtareas y criterios de aceptación se extraerán automáticamente.`,"createPage.workspaceName":`Nombre del workspace (por defecto el título de la página Notion)`,"createPage.workspaceNamePlaceholder":`Nombre del workspace...`,"createPage.instructions":`Instrucciones adicionales (opcional)...`,"createPage.instructionsPlaceholder":`Describe la tarea...`,"createPage.manualHint":`¿Sin ticket Notion? Añade tus tareas y criterios de aceptación manualmente — se enviarán al agente Claude como contexto.`,"createPage.tasks":`Tareas ({count})`,"createPage.addTask":`Añadir una tarea...`,"createPage.acceptanceCriteria":`Criterios de aceptación ({count})`,"createPage.addCriterion":`Añadir un criterio...`,"createPage.projectPath":`Introduce la ruta del proyecto`,"createPage.branch":`Rama`,"createPage.noBranches":`No se encontraron ramas`,"createPage.enterPath":`Introduce la ruta del proyecto`,"createPage.create":`Crear`,"createPage.skipSetupScript":`Omitir script de setup`,"createPage.notionExtractHint":`Las subtareas y criterios de aceptación se extraerán de la página Notion.`,"createPage.notionImportHint":`Haz clic en "Importar desde Notion" para extraer automáticamente las subtareas de un ticket.`,"createPage.errorCreating":`Error al crear el workspace.`,"createPage.validationNotionUrl":`Introduce una URL de Notion válida (https://www.notion.so/...).`,"createPage.validationDescription":`Describe la tarea.`,"createPage.validationName":`Indica un nombre para el workspace.`,"createPage.validationPath":`Introduce la ruta del proyecto.`,"createPage.validationBranch":`Selecciona una rama.`,"settings.title":`Ajustes`,"settings.language":`Idioma`,"settings.global":`Global`,"settings.projects":`Proyectos`,"settings.globalSettings":`Ajustes globales`,"settings.defaultModel":`Modelo por defecto`,"settings.agentPermissions":`Permisos del agente`,"settings.skipPermissions":`Omitir solicitudes de permisos (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Advertencia: desactivar esto hará que todos los permisos de herramientas (Write, Edit, Bash...) se denieguen automáticamente en modo headless. El agente solo podrá leer.`,"settings.notifications":`Notificaciones`,"settings.browserNotifications":`Notificación del navegador cuando el agente termina`,"settings.audioNotifications":`Notificación sonora cuando el agente termina`,"settings.defaultPermissionMode":`Modo de permisos por defecto`,"settings.defaultPermissionModeHint":`Modo aplicado al crear un workspace. Plan = brainstorming de solo lectura primero, Auto-accept = ejecución completa inmediatamente.`,"settings.activityFeed":`Feed de actividad`,"settings.verboseMessages":`Mostrar mensajes detallados del sistema (task_progress, task_started)`,"settings.availableVariables":`Variables disponibles en la plantilla de prompt PR`,"settings.prPromptTemplate":`Plantilla de prompt PR`,"settings.prPromptPlaceholder":`Instrucciones para el agente al crear PRs en GitHub...`,"settings.prPromptHint":`Usa las variables listadas arriba (sintaxis de dobles llaves).`,"settings.var.prNumber":`Número de PR (ej: 42)`,"settings.var.prUrl":`URL completa de la PR creada`,"settings.var.branchName":`Nombre de la rama de trabajo`,"settings.var.sourceBranch":`Rama fuente a la que apunta la PR`,"settings.var.workspaceName":`Nombre del workspace`,"settings.var.projectName":`Último segmento de la ruta del proyecto`,"settings.var.notionUrl":`URL de Notion si está definida, vacía en caso contrario`,"settings.var.commits":`Lista de commits entre source y head`,"settings.var.diffStats":`Resumen shortstat de Git (archivos, inserciones, eliminaciones)`,"settings.var.tasks":`Tareas regulares como lista de verificación`,"settings.var.acceptanceCriteria":`Criterios de aceptación como lista de verificación`,"settings.gitConventions":`Convenciones Git (global)`,"settings.gitConventionsPlaceholder":`# Convenciones Git...`,"settings.gitConventionsHint":`Estas convenciones se escriben en .ai/.git-conventions.md en cada nuevo workspace y deben ser seguidas por el agente antes de cualquier operación Git. Se anulan con convenciones por proyecto si están definidas.`,"settings.setupScript":`Script de setup`,"settings.setupScriptPlaceholder":`npm install`,"settings.setupScriptHint":`Se ejecuta con bash en el worktree después de su creación, antes de que el agente inicie. No necesita shebang. Si falla, el workspace se establece en error. Timeout: 5 minutos.`,"settings.editorCommand":`Comando del editor`,"settings.editorCommandPlaceholder":`code, phpstorm, subl, vim...`,"settings.editorCommandHint":`Comando para abrir el worktree en su editor. La ruta del worktree se pasa como argumento.`,"settings.configuredProjects":`Proyectos configurados`,"settings.noProjects":`No hay proyectos configurados`,"settings.addProject":`Añadir proyecto`,"settings.newProject":`Nuevo proyecto`,"settings.editProject":`Editar proyecto`,"settings.projectPath":`Ruta del proyecto`,"settings.projectPathPlaceholder":`/ruta/al/proyecto`,"settings.displayName":`Nombre para mostrar`,"settings.displayNamePlaceholder":`Mi proyecto`,"settings.defaultSourceBranch":`Rama fuente por defecto`,"settings.defaultModel.project":`Modelo por defecto`,"settings.skipPermissions.project":`Omitir solicitudes de permisos`,"settings.prPromptTemplate.project":`Plantilla de prompt PR`,"settings.prPromptPlaceholder.project":`Instrucciones específicas del proyecto para la creación de PRs...`,"settings.gitConventions.project":`Convenciones Git (por proyecto)`,"settings.gitConventionsEmpty":`Dejar vacío para usar las convenciones globales.`,"settings.notionStatus":`Estado ticket Notion`,"settings.notionStatusProperty":`Nombre de la propiedad`,"settings.notionStatusPropertyPlaceholder":`État, Status...`,"settings.notionInProgressStatus":`Valor a establecer`,"settings.notionInProgressStatusPlaceholder":`En progreso, In progress...`,"settings.notionStatusHint":`Cuando se crea un workspace con un ticket Notion, la propiedad especificada se establece a este valor. Ambos campos son obligatorios. Dejar vacío para desactivar.`,"settings.devServer":`Servidor de desarrollo`,"settings.devServerStart":`Script de inicio`,"settings.devServerStartPlaceholder":`npm run dev`,"settings.devServerStop":`Script de parada`,"settings.devServerStopPlaceholder":`Opcional — el proceso se cerrará automáticamente si está vacío`,"settings.selectProject":`Selecciona un proyecto o añade uno nuevo`,"settings.projectPathRequired":`La ruta del proyecto es obligatoria.`,"settings.useGlobal":`Usar global`,"settings.saved":`Ajustes globales guardados.`,"settings.saveError":`Error al guardar los ajustes.`,"settings.projectSaved":`Proyecto guardado.`,"settings.projectSaveError":`Error al guardar el proyecto.`,"settings.projectDeleted":`Proyecto eliminado.`,"settings.projectDeleteError":`Error al eliminar el proyecto.`,"templates.title":`Plantillas`,"templates.newTemplate":`Nueva plantilla`,"templates.editTemplate":`Editar plantilla`,"templates.deleteTemplate":`Eliminar plantilla`,"templates.deleteConfirm":`¿Eliminar la plantilla '/{slug}'?`,"templates.deleteConfirmMessage":`Esta acción no se puede deshacer.`,"templates.slug":`Slug`,"templates.slugHint":`Minúsculas, dígitos, guiones. Máx. 64 caracteres.`,"templates.slugInvalid":`El slug solo puede contener minúsculas, dígitos y guiones`,"templates.slugDuplicate":`Ya existe una plantilla con este slug`,"templates.description":`Descripción`,"templates.descriptionHint":`Etiqueta corta mostrada en el dropdown.`,"templates.descriptionRequired":`La descripción es obligatoria`,"templates.contentRequired":`El contenido es obligatorio`,"templates.content":`Contenido`,"templates.contentHint":`Contenido de la plantilla. Usa {variable_name} para las sustituciones.`,"templates.availableVars":`Variables disponibles`,"templates.filePath":`Archivo: {path}`,"templates.empty":`Aún no hay plantillas.`,"templates.createFailed":`Error al crear la plantilla`,"templates.updateFailed":`Error al actualizar la plantilla`,"templates.deleteFailed":`Error al eliminar la plantilla`,"templates.save":`Guardar`,"templates.create":`Crear`,"chatInput.dropdownSkills":`Skills de Claude`,"chatInput.dropdownKobo":`Comandos Kōbō`,"chatInput.dropdownTemplates":`Plantillas`,"plans.title":`Planes`,"plans.empty":`No se encontraron planes`,"plans.refresh":`Actualizar`,"plans.back":`Volver`,"plans.loadFailed":`Error al cargar el plan`,"git.title":`Git`,"git.localOnly":`solo local`,"git.pushed":`pushed`,"git.unpushed":`{count} sin push`,"git.commits":`{count} commit | {count} commits`,"git.files":`{count} archivo | {count} archivos`,"git.staged":`{count} staged`,"git.modified":`{count} modificados`,"git.untracked":`{count} sin seguimiento`,"git.viewPr":`Ver PR`,"git.createPr":`Crear PR`,"git.push":`Push`,"git.pull":`Pull`,"git.createPrNoRemote":`Push la rama primero`,"git.pullConfirmTitle":`¿Pull la rama?`,"git.pullConfirmMessage":`Pull {branch} desde el remoto (solo fast-forward).`,"git.branchPulled":`Rama actualizada`,"git.pullFailed":`Error al hacer pull`,"git.diff":`Diff`,"git.rebase":`Rebase`,"git.rebaseConfirmTitle":`¿Rebase de la rama?`,"git.rebaseConfirmMessage":`Rebase sobre {branch}. Pueden surgir conflictos.`,"git.rebaseSuccess":`Rebase completado`,"git.rebaseFailed":`Rebase fallido`,"git.pushConfirmTitle":`¿Pushar la rama?`,"git.pushConfirmMessage":`Pushar {branch} al remoto.`,"git.changePrBase":`Cambiar rama base de la PR`,"git.changePrBaseTitle":`Cambiar rama base`,"git.changePrBaseMessage":`Ingrese la nueva rama destino para el pull request.`,"git.changePrBaseSuccess":`Rama base de la PR actualizada`,"git.changePrBaseFailed":`No se pudo cambiar la rama base de la PR`,"git.openEditor":`Abrir en editor`,"git.openEditorFailed":`No se pudo abrir el editor`,"git.branchPushed":`Rama enviada`,"git.pushFirst":`La rama no está en el remoto. Haz Push primero.`,"git.unpushedCommits":`Los commits locales no están enviados. Haz Push primero.`,"git.from":`desde`,"git.prCreated":`PR #{n} creada`,"devServer.title":`Servidor de desarrollo`,"devServer.noWorkspace":`Ningún workspace seleccionado`,"devServer.notConfigured":`No configurado —`,"devServer.goToSettings":`Ajustes`,"devServer.logs":`Logs`,"devServer.running":`En ejecución`,"devServer.starting":`Iniciando`,"devServer.stopping":`Deteniendo`,"devServer.error":`Error`,"devServer.stopped":`Detenido`,"devServer.unknown":`Desconocido`,"devServer.containers":`{count} contenedor | {count} contenedores`,"devServer.logDialog.title":`Logs del servidor de desarrollo`,"devServer.logDialog.empty":`No hay logs disponibles`,"notion.title":`Notion`,"notion.addTask":`Añadir tarea`,"notion.openInNotion":`Abrir en Notion`,"notion.noUrl":`Sin URL de Notion`,"notion.subtasks":`{done}/{total} subtareas`,"notion.noTasks":`Sin tareas`,"notion.newTask":`Nueva tarea... (Enter para añadir, Esc para cancelar)`,"acceptance.title":`Criterios de aceptación`,"acceptance.addCriterion":`Añadir criterio`,"acceptance.newCriterion":`Nuevo criterio... (Enter para añadir, Esc para cancelar)`,"acceptance.empty":`Sin criterios de aceptación`,"tasks.askProgress":`Pedir al agente que revise el progreso`,"agentTodos.title":`Tareas del agente`,"agentTodos.empty":`Sin tareas del agente`,"subagents.title":`Sub-agentes`,"subagents.empty":`Aún no hay actividad de sub-agentes`,"subagents.tools":`{count} herramientas`,"subagents.running":`En ejecución: `,"stats.title":`Estadísticas`,"stats.info":`Info`,"stats.status":`Estado`,"stats.model":`Modelo`,"stats.branch":`Rama`,"stats.sessions":`Sesiones`,"stats.duration":`Duración`,"stats.timeline":`Cronología`,"stats.created":`Creado`,"stats.firstSession":`Primera sesión`,"stats.lastPrompt":`Último prompt`,"stats.lastResponse":`Última respuesta`,"stats.updated":`Actualizado`,"stats.activity":`Actividad`,"stats.agentMessages":`Mensajes del agente`,"stats.userMessages":`Mensajes del usuario`,"stats.toolCalls":`Llamadas a herramientas`,"stats.errors":`Errores`,"stats.usage":`Consumo`,"stats.inputTokens":`Tokens de entrada`,"stats.outputTokens":`Tokens de salida`,"stats.totalTokens":`Tokens totales`,"stats.cost":`Coste`,"stats.subagents":`Sub-agentes`,"stats.completed":`Completados`,"stats.tokens":`Tokens`,"stats.progress":`Progreso`,"stats.tasks":`Tareas`,"stats.acceptanceCriteria":`Criterios de aceptación`,"tooltip.addTask":`Añadir tarea`,"tooltip.removeTask":`Eliminar tarea`,"tooltip.addCriterion":`Añadir criterio`,"tooltip.removeCriterion":`Eliminar criterio`,"tooltip.startDevServer":`Iniciar servidor de desarrollo`,"tooltip.stopDevServer":`Detener servidor de desarrollo`,"tooltip.closeDiffViewer":`Cerrar visor de diff`,"tooltip.refreshLogs":`Actualizar logs`,"tooltip.closeDialog":`Cerrar`,"tooltip.refreshGitStats":`Actualizar estadísticas Git`,"tooltip.removeImage":`Eliminar imagen`,"tooltip.sendMessage":`Enviar mensaje`,"tooltip.addNotionTask":`Añadir tarea`,"tooltip.removeNotionTask":`Eliminar tarea`,"tooltip.refreshStats":`Actualizar estadísticas`,"tools.title":`Herramientas`,"tools.runSetupScript":`Volver a ejecutar script de setup`,"tools.runSetupScriptTooltip":`Ejecutar el script de setup del proyecto en el worktree`,"tools.noSetupScript":`Ningún script de setup configurado —`,"tools.setupScriptSuccess":`Script de setup completado con éxito.`,"tools.setupScriptFailed":`Falló el script de setup.`,"diff.title":`Diff`,"diff.side":`Lado a lado`,"diff.inline":`En línea`,"diff.noChanges":`Sin cambios`,"diff.selectFile":`Selecciona un archivo para ver el diff`,"diff.addToChat":`Añadir al chat`,"notification.agentFinished":`{name} — Agente terminado`,"notification.agentError":`{name} — Error del agente`,"contextMenu.copyPath":`Copiar ruta del worktree`,"contextMenu.openEditor":`Abrir en editor`,"contextMenu.runSetup":`Ejecutar script de setup`},i={"common.save":`Enregistrer`,"common.cancel":`Annuler`,"common.delete":`Supprimer`,"common.close":`Fermer`,"common.loading":`Chargement...`,"common.search":`Rechercher...`,"common.refresh":`Actualiser`,"common.start":`Démarrer`,"common.stop":`Arrêter`,"common.archive":`Archiver`,"common.unarchive":`Désarchiver`,"common.selectWorkspace":`Sélectionnez un espace de travail`,"common.noResults":`Aucun résultat pour « {query} »`,"common.send":`envoyer`,"common.newLine":`nouvelle ligne`,"common.history":`historique`,"common.justNow":`a l'instant`,"common.minutesAgo":`il y a {count}m`,"common.hoursAgo":`il y a {count}h`,"common.daysAgo":`il y a {count}j`,"model.auto":`Auto`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.haiku":`Haiku 4.5`,"permissionMode.autoAccept":`Auto-accept`,"permissionMode.plan":`Plan`,"workspaceList.title":`Espaces de travail`,"workspaceList.needsAttention":`Attention requise`,"workspaceList.running":`En cours`,"workspaceList.idle":`Inactif`,"workspaceList.archived":`Archivés`,"workspaceList.noWorkspaces":`Aucun espace de travail`,"workspaceList.footer":`{count} espace de travail | {count} espaces de travail`,"workspaceList.footerRunning":`{count} en cours`,"workspaceList.deleteDialog.title":`Supprimer l'espace de travail ?`,"workspaceList.deleteDialog.deleteLocal":`Supprimer la branche locale`,"workspaceList.deleteDialog.deleteRemote":`Supprimer la branche distante`,"workspaceList.deleteDialog.warning":`Attention : cette action est irréversible sur le dépôt distant.`,"workspacePage.selectWorkspace":`Sélectionnez un espace de travail pour commencer`,"workspacePage.session":`Session #{n}`,"workspacePage.newSession":`+ Nouvelle session`,"workspacePage.renameSession":`Renommer`,"workspacePage.renameSessionTitle":`Renommer la session`,"workspacePage.sessionNameLabel":`Nom de la session`,"workspacePage.sessionEndedNotice":`Cette session est terminée. Crée une nouvelle session pour continuer.`,"workspacePage.renameFailed":`Échec du renommage`,"workspacePage.createSessionFailed":`Échec de la création de la session`,"workspacePage.startFailed":`Échec du démarrage`,"workspacePage.stopFailed":`Échec de l'arrêt`,"workspacePage.interrupt":`Interrompre`,"workspacePage.interrupted":`Agent interrompu — en attente de votre prochain message`,"workspacePage.interruptFailed":`Échec de l'interruption`,"workspacePage.interruptTooltip":`Interruption douce (comme Escape) — arrête le tool en cours mais garde la session active`,"activityFeed.empty":`Aucune activité`,"activityFeed.emptyHint":`Démarrez un espace de travail pour voir la sortie de l'agent ici`,"activityFeed.initialPrompt":`Prompt initial`,"activityFeed.you":`Vous`,"activityFeed.agent":`Agent`,"activityFeed.question":`Question`,"activityFeed.goToPrevious":`Aller au message précédent`,"activityFeed.scrollToBottom":`Défiler vers le bas`,"activityFeed.sendAnswers":`Envoyer les réponses`,"agentBusy.banner":`L'agent est occupé`,"agentBusy.subagentsRunning":`1 sub-agent en cours | {n} sub-agents en cours`,"agentBusy.viewSubagents":`Voir les sub-agents`,"agentBusy.pendingMessage":`En attente — l'agent est occupé`,"terminal.title":`Terminal`,"terminal.open":`Ouvrir le terminal`,"terminal.close":`Fermer le terminal`,"terminal.noWorkspace":`Sélectionnez un espace de travail`,"terminal.noWorktree":`Worktree pas encore créé`,"terminal.error":`Erreur du terminal`,"terminal.exited":`Terminal fermé`,"chatInput.placeholder":`Message... (/ pour les skills)`,"chatInput.skills":`Skills`,"chatInput.attachImage":`Joindre une image`,"chatInput.queueBanner":`Message en file d'attente — sera envoyé quand l'agent aura terminé`,"chatInput.cancelQueue":`Annuler la file d'attente`,"koboCommand.checkProgressDesc":`Vérifier la progression des tâches et critères d'acceptation`,"chatInput.uploading":`Envoi en cours...`,"createPage.title":`Sur quoi souhaitez-vous travailler ?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion activé`,"createPage.importNotion":`Importer depuis Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`L'URL doit commencer par https://www.notion.so/`,"createPage.notionAutoExtract":`Les sous-tâches et critères d'acceptation seront extraits automatiquement.`,"createPage.workspaceName":`Nom de l'espace de travail (par défaut le titre de la page Notion)`,"createPage.workspaceNamePlaceholder":`Nom de l'espace de travail...`,"createPage.instructions":`Instructions supplémentaires (optionnel)...`,"createPage.instructionsPlaceholder":`Décrivez la tâche...`,"createPage.manualHint":`Pas de ticket Notion ? Ajoutez vos tâches et critères d'acceptation manuellement — ils seront envoyés à l'agent Claude comme contexte.`,"createPage.tasks":`Tâches ({count})`,"createPage.addTask":`Ajouter une tâche...`,"createPage.acceptanceCriteria":`Critères d'acceptation ({count})`,"createPage.addCriterion":`Ajouter un critère...`,"createPage.projectPath":`Chemin du projet`,"createPage.branch":`Branche`,"createPage.noBranches":`Aucune branche trouvée`,"createPage.enterPath":`Entrez le chemin du projet`,"createPage.create":`Créer`,"createPage.skipSetupScript":`Ignorer le script de setup`,"createPage.notionExtractHint":`Les sous-tâches et critères d'acceptation seront extraits de la page Notion.`,"createPage.notionImportHint":`Cliquez sur « Importer depuis Notion » pour extraire automatiquement les sous-tâches d'un ticket.`,"createPage.errorCreating":`Erreur lors de la création de l'espace de travail.`,"createPage.validationNotionUrl":`Veuillez coller une URL Notion valide (https://www.notion.so/...).`,"createPage.validationDescription":`Veuillez décrire la tâche.`,"createPage.validationName":`Veuillez fournir un nom d'espace de travail.`,"createPage.validationPath":`Veuillez entrer le chemin du projet.`,"createPage.validationBranch":`Veuillez sélectionner une branche.`,"settings.title":`Paramètres`,"settings.language":`Langue`,"settings.global":`Général`,"settings.projects":`Projets`,"settings.globalSettings":`Paramètres généraux`,"settings.defaultModel":`Modèle par défaut`,"settings.agentPermissions":`Permissions de l'agent`,"settings.skipPermissions":`Ignorer les invites de permission (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Attention : désactiver cette option entraînera le refus automatique de toutes les permissions d'outils (Write, Edit, Bash...) en mode headless. L'agent ne pourra que lire.`,"settings.notifications":`Notifications`,"settings.browserNotifications":`Notification navigateur quand l'agent termine`,"settings.audioNotifications":`Notification sonore quand l'agent termine`,"settings.defaultPermissionMode":`Mode de permission par défaut`,"settings.defaultPermissionModeHint":`Mode appliqué à la création d'un workspace. Plan = brainstorming lecture seule d'abord, Auto-accept = exécution complète immédiatement.`,"settings.activityFeed":`Flux d'activité`,"settings.verboseMessages":`Afficher les messages système détaillés (task_progress, task_started)`,"settings.availableVariables":`Variables disponibles dans le modèle de prompt PR`,"settings.prPromptTemplate":`Modèle de prompt PR`,"settings.prPromptPlaceholder":`Instructions pour l'agent lors de la création de PR GitHub...`,"settings.prPromptHint":`Utilisez les variables listées ci-dessus (syntaxe doubles accolades).`,"settings.var.prNumber":`Numéro de PR (ex : 42)`,"settings.var.prUrl":`URL complète de la PR créée`,"settings.var.branchName":`Nom de la branche de travail`,"settings.var.sourceBranch":`Branche source ciblée par la PR`,"settings.var.workspaceName":`Nom du workspace`,"settings.var.projectName":`Dernier segment du chemin du projet`,"settings.var.notionUrl":`URL Notion si définie, vide sinon`,"settings.var.commits":`Liste à puces des commits entre source et head`,"settings.var.diffStats":`Résumé shortstat Git (fichiers, insertions, suppressions)`,"settings.var.tasks":`Tâches classiques en liste à cocher`,"settings.var.acceptanceCriteria":`Critères d'acceptation en liste à cocher`,"settings.gitConventions":`Conventions Git (global)`,"settings.gitConventionsPlaceholder":`# Conventions Git...`,"settings.gitConventionsHint":`Ces conventions sont écrites dans .ai/.git-conventions.md pour chaque nouvel espace de travail et doivent être respectées par l'agent avant toute opération Git. Remplacées par les conventions par projet si définies.`,"settings.setupScript":`Script de setup`,"settings.setupScriptPlaceholder":`npm install`,"settings.setupScriptHint":`Exécuté avec bash dans le worktree après sa création, avant le démarrage de l'agent. Pas besoin de shebang. En cas d'échec, le workspace passe en erreur. Timeout : 5 minutes.`,"settings.editorCommand":`Commande éditeur`,"settings.editorCommandPlaceholder":`code, phpstorm, subl, vim...`,"settings.editorCommandHint":`Commande utilisée pour ouvrir le worktree dans votre éditeur. Le chemin du worktree est passé en argument.`,"settings.configuredProjects":`Projets configurés`,"settings.noProjects":`Aucun projet configuré`,"settings.addProject":`Ajouter un projet`,"settings.newProject":`Nouveau projet`,"settings.editProject":`Modifier le projet`,"settings.projectPath":`Chemin du projet`,"settings.projectPathPlaceholder":`/chemin/vers/le/projet`,"settings.displayName":`Nom affiché`,"settings.displayNamePlaceholder":`Mon projet`,"settings.defaultSourceBranch":`Branche source par défaut`,"settings.defaultModel.project":`Modèle par défaut`,"settings.skipPermissions.project":`Ignorer les invites de permission`,"settings.prPromptTemplate.project":`Modèle de prompt PR`,"settings.prPromptPlaceholder.project":`Instructions spécifiques au projet pour la création de PR...`,"settings.gitConventions.project":`Conventions Git (projet)`,"settings.gitConventionsEmpty":`Laisser vide pour utiliser les conventions globales.`,"settings.notionStatus":`Statut ticket Notion`,"settings.notionStatusProperty":`Nom de la propriété`,"settings.notionStatusPropertyPlaceholder":`État, Status...`,"settings.notionInProgressStatus":`Valeur à définir`,"settings.notionInProgressStatusPlaceholder":`En cours, In progress...`,"settings.notionStatusHint":`Quand un workspace est créé avec un ticket Notion, la propriété spécifiée est mise à cette valeur. Les deux champs sont requis. Laisser vide pour désactiver.`,"settings.devServer":`Serveur de dev`,"settings.devServerStart":`Script de démarrage`,"settings.devServerStartPlaceholder":`npm run dev`,"settings.devServerStop":`Script d'arrêt`,"settings.devServerStopPlaceholder":`Optionnel — le processus sera tué automatiquement si vide`,"settings.selectProject":`Sélectionnez un projet ou ajoutez-en un nouveau`,"settings.useGlobal":`Utiliser le global`,"settings.saved":`Paramètres généraux enregistrés.`,"settings.saveError":`Erreur lors de l'enregistrement des paramètres.`,"settings.projectSaved":`Projet enregistré.`,"settings.projectSaveError":`Erreur lors de l'enregistrement du projet.`,"settings.projectDeleted":`Projet supprimé.`,"settings.projectDeleteError":`Erreur lors de la suppression du projet.`,"settings.projectPathRequired":`Le chemin du projet est requis.`,"templates.title":`Modèles`,"templates.newTemplate":`Nouveau modèle`,"templates.editTemplate":`Modifier le modèle`,"templates.deleteTemplate":`Supprimer le modèle`,"templates.deleteConfirm":`Supprimer le modèle '/{slug}' ?`,"templates.deleteConfirmMessage":`Cette action est irréversible.`,"templates.slug":`Slug`,"templates.slugHint":`Lettres minuscules, chiffres, tirets. Max 64 caractères.`,"templates.slugInvalid":`Le slug ne peut contenir que des lettres minuscules, chiffres et tirets`,"templates.slugDuplicate":`Un modèle avec ce slug existe déjà`,"templates.description":`Description`,"templates.descriptionHint":`Libellé court affiché dans le dropdown.`,"templates.descriptionRequired":`La description est requise`,"templates.contentRequired":`Le contenu est requis`,"templates.content":`Contenu`,"templates.contentHint":`Contenu du modèle. Utilise {variable_name} pour les substitutions.`,"templates.availableVars":`Variables disponibles`,"templates.filePath":`Fichier : {path}`,"templates.empty":`Aucun modèle pour l'instant.`,"templates.createFailed":`Échec de la création du modèle`,"templates.updateFailed":`Échec de la modification du modèle`,"templates.deleteFailed":`Échec de la suppression du modèle`,"templates.save":`Enregistrer`,"templates.create":`Créer`,"chatInput.dropdownSkills":`Skills Claude`,"chatInput.dropdownKobo":`Commandes Kōbō`,"chatInput.dropdownTemplates":`Modèles`,"plans.title":`Plans`,"plans.empty":`Aucun plan trouvé`,"plans.refresh":`Actualiser`,"plans.back":`Retour`,"plans.loadFailed":`Échec du chargement du plan`,"git.title":`Git`,"git.localOnly":`local uniquement`,"git.pushed":`pushé`,"git.unpushed":`{count} non pushé`,"git.commits":`{count} commit | {count} commits`,"git.files":`{count} fichier | {count} fichiers`,"git.staged":`{count} indexé`,"git.modified":`{count} modifié`,"git.untracked":`{count} non suivi`,"git.viewPr":`Voir la PR`,"git.createPr":`Créer une PR`,"git.push":`Push`,"git.pull":`Pull`,"git.createPrNoRemote":`Push la branche d'abord`,"git.pullConfirmTitle":`Pull la branche ?`,"git.pullConfirmMessage":`Pull {branch} depuis la remote (fast-forward uniquement).`,"git.branchPulled":`Branche pull`,"git.pullFailed":`Échec du pull`,"git.diff":`Diff`,"git.rebase":`Rebase`,"git.rebaseConfirmTitle":`Rebase la branche ?`,"git.rebaseConfirmMessage":`Rebase sur {branch}. Des conflits peuvent survenir.`,"git.rebaseSuccess":`Rebase terminé`,"git.rebaseFailed":`Rebase échoué`,"git.pushConfirmTitle":`Pusher la branche ?`,"git.pushConfirmMessage":`Pusher {branch} vers le dépôt distant.`,"git.changePrBase":`Changer la branche cible de la PR`,"git.changePrBaseTitle":`Changer la branche cible`,"git.changePrBaseMessage":`Entrez la nouvelle branche cible pour la pull request.`,"git.changePrBaseSuccess":`Branche cible de la PR mise à jour`,"git.changePrBaseFailed":`Impossible de changer la branche cible de la PR`,"git.openEditor":`Ouvrir dans l'éditeur`,"git.openEditorFailed":`Impossible d'ouvrir l'éditeur`,"git.branchPushed":`Branche pushée`,"git.pushFirst":`La branche n'est pas sur le dépôt distant. Cliquez d'abord sur Push.`,"git.unpushedCommits":`Les commits locaux ne sont pas pushés. Cliquez d'abord sur Push.`,"git.from":`depuis`,"git.prCreated":`PR #{n} créée`,"devServer.title":`Serveur de dev`,"devServer.noWorkspace":`Aucun espace de travail sélectionné`,"devServer.notConfigured":`Non configuré —`,"devServer.goToSettings":`Paramètres`,"devServer.logs":`Logs`,"devServer.running":`En cours`,"devServer.starting":`Démarrage`,"devServer.stopping":`Arrêt`,"devServer.error":`Erreur`,"devServer.stopped":`Arrêté`,"devServer.unknown":`Inconnu`,"devServer.containers":`{count} conteneur | {count} conteneurs`,"devServer.logDialog.title":`Logs du serveur de dev`,"devServer.logDialog.empty":`Aucun log disponible`,"notion.title":`Notion`,"notion.addTask":`Ajouter une tâche`,"notion.openInNotion":`Ouvrir dans Notion`,"notion.noUrl":`Aucune URL Notion`,"notion.subtasks":`{done}/{total} sous-tâches`,"notion.noTasks":`Aucune tâche`,"notion.newTask":`Nouvelle tâche... (Entrée pour ajouter, Échap pour annuler)`,"acceptance.title":`Critères d'acceptation`,"acceptance.addCriterion":`Ajouter un critère`,"acceptance.newCriterion":`Nouveau critère... (Entrée pour ajouter, Échap pour annuler)`,"acceptance.empty":`Aucun critère d'acceptation`,"tasks.askProgress":`Demander à l'agent de vérifier sa progression`,"agentTodos.title":`Todos de l'agent`,"agentTodos.empty":`Aucun todo de l'agent`,"subagents.title":`Sub-agents`,"subagents.empty":`Aucune activité de sub-agent`,"subagents.tools":`{count} outils`,"subagents.running":`En cours : `,"stats.title":`Statistiques`,"stats.info":`Info`,"stats.status":`Statut`,"stats.model":`Modèle`,"stats.branch":`Branche`,"stats.sessions":`Sessions`,"stats.duration":`Durée`,"stats.timeline":`Chronologie`,"stats.created":`Créé`,"stats.firstSession":`Première session`,"stats.lastPrompt":`Dernier prompt`,"stats.lastResponse":`Dernière réponse`,"stats.updated":`Mis à jour`,"stats.activity":`Activité`,"stats.agentMessages":`Messages de l'agent`,"stats.userMessages":`Messages utilisateur`,"stats.toolCalls":`Appels d'outils`,"stats.errors":`Erreurs`,"stats.usage":`Utilisation`,"stats.inputTokens":`Tokens en entrée`,"stats.outputTokens":`Tokens en sortie`,"stats.totalTokens":`Tokens totaux`,"stats.cost":`Coût`,"stats.subagents":`Sub-agents`,"stats.completed":`Terminés`,"stats.tokens":`Tokens`,"stats.progress":`Progression`,"stats.tasks":`Tâches`,"stats.acceptanceCriteria":`Critères d'acceptation`,"tooltip.addTask":`Ajouter une tâche`,"tooltip.removeTask":`Supprimer la tâche`,"tooltip.addCriterion":`Ajouter un critère`,"tooltip.removeCriterion":`Supprimer le critère`,"tooltip.startDevServer":`Démarrer le serveur de dev`,"tooltip.stopDevServer":`Arrêter le serveur de dev`,"tooltip.closeDiffViewer":`Fermer le diff`,"tooltip.refreshLogs":`Actualiser les logs`,"tooltip.closeDialog":`Fermer`,"tooltip.refreshGitStats":`Actualiser les stats Git`,"tooltip.removeImage":`Supprimer l'image`,"tooltip.sendMessage":`Envoyer le message`,"tooltip.addNotionTask":`Ajouter une tâche`,"tooltip.removeNotionTask":`Supprimer la tâche`,"tooltip.refreshStats":`Actualiser les statistiques`,"tools.title":`Outils`,"tools.runSetupScript":`Relancer le script de setup`,"tools.runSetupScriptTooltip":`Exécuter le script de setup du projet dans le worktree`,"tools.noSetupScript":`Aucun script de setup configuré —`,"tools.setupScriptSuccess":`Script de setup terminé avec succès.`,"tools.setupScriptFailed":`Échec du script de setup.`,"diff.title":`Diff`,"diff.side":`Côte à côte`,"diff.inline":`En ligne`,"diff.noChanges":`Aucun changement`,"diff.selectFile":`Sélectionnez un fichier pour voir le diff`,"diff.addToChat":`Ajouter au chat`,"notification.agentFinished":`{name} — Agent terminé`,"notification.agentError":`{name} — Erreur agent`,"contextMenu.copyPath":`Copier le chemin du worktree`,"contextMenu.openEditor":`Ouvrir dans l'éditeur`,"contextMenu.runSetup":`Lancer le script de setup`},a={"common.save":`Salva`,"common.cancel":`Annulla`,"common.delete":`Elimina`,"common.close":`Chiudi`,"common.loading":`Caricamento...`,"common.search":`Cerca...`,"common.refresh":`Aggiorna`,"common.start":`Avvia`,"common.stop":`Arresta`,"common.archive":`Archivia`,"common.unarchive":`Ripristina`,"common.selectWorkspace":`Seleziona un workspace`,"common.noResults":`Nessun risultato per "{query}"`,"common.send":`invia`,"common.newLine":`nuova riga`,"common.history":`cronologia`,"common.justNow":`adesso`,"common.minutesAgo":`{count}m fa`,"common.hoursAgo":`{count}h fa`,"common.daysAgo":`{count}g fa`,"model.auto":`Auto`,"model.opus":`Opus 4.6`,"model.sonnet":`Sonnet 4.6`,"model.haiku":`Haiku 4.5`,"permissionMode.autoAccept":`Accettazione automatica`,"permissionMode.plan":`Piano`,"workspaceList.title":`Workspace`,"workspaceList.needsAttention":`Richiede attenzione`,"workspaceList.running":`In esecuzione`,"workspaceList.idle":`Inattivo`,"workspaceList.archived":`Archiviati`,"workspaceList.noWorkspaces":`Nessun workspace ancora`,"workspaceList.footer":`{count} workspace | {count} workspace`,"workspaceList.footerRunning":`{count} in esecuzione`,"workspaceList.deleteDialog.title":`Eliminare il workspace?`,"workspaceList.deleteDialog.deleteLocal":`Elimina branch locale`,"workspaceList.deleteDialog.deleteRemote":`Elimina branch remoto`,"workspaceList.deleteDialog.warning":`Attenzione: questa azione è irreversibile sul remoto.`,"workspacePage.selectWorkspace":`Seleziona un workspace per iniziare`,"workspacePage.session":`Sessione #{n}`,"workspacePage.newSession":`+ Nuova sessione`,"workspacePage.renameSession":`Rinomina`,"workspacePage.renameSessionTitle":`Rinomina sessione`,"workspacePage.sessionNameLabel":`Nome sessione`,"workspacePage.sessionEndedNotice":`Questa sessione è terminata. Crea una nuova sessione per continuare.`,"workspacePage.renameFailed":`Rinomina fallita`,"workspacePage.createSessionFailed":`Creazione sessione fallita`,"workspacePage.startFailed":`Avvio fallito`,"workspacePage.stopFailed":`Arresto fallito`,"workspacePage.interrupt":`Interrompi`,"workspacePage.interrupted":`Agente interrotto — in attesa del tuo prossimo messaggio`,"workspacePage.interruptFailed":`Interruzione fallita`,"workspacePage.interruptTooltip":`Interruzione leggera (come Escape) — ferma lo strumento corrente ma mantiene la sessione attiva`,"activityFeed.empty":`Nessuna attività ancora`,"activityFeed.emptyHint":`Avvia un workspace per vedere l'output dell'agente qui`,"activityFeed.initialPrompt":`Prompt iniziale`,"activityFeed.you":`Tu`,"activityFeed.agent":`Agente`,"activityFeed.question":`Domanda`,"activityFeed.goToPrevious":`Vai al messaggio precedente`,"activityFeed.scrollToBottom":`Vai in fondo`,"activityFeed.sendAnswers":`Invia risposte`,"agentBusy.banner":`L'agente è occupato`,"agentBusy.subagentsRunning":`1 sub-agente in esecuzione | {n} sub-agenti in esecuzione`,"agentBusy.viewSubagents":`Vedi sub-agenti`,"agentBusy.pendingMessage":`In attesa — l'agente è occupato`,"terminal.title":`Terminale`,"terminal.open":`Apri terminale`,"terminal.close":`Chiudi terminale`,"terminal.noWorkspace":`Seleziona un workspace`,"terminal.noWorktree":`Worktree non ancora creato`,"terminal.error":`Errore del terminale`,"terminal.exited":`Terminale chiuso`,"chatInput.placeholder":`Messaggio... (/ per le skill)`,"chatInput.skills":`Skill`,"chatInput.attachImage":`Allega immagine`,"chatInput.queueBanner":`Messaggio in coda — verrà inviato quando l'agente avrà terminato`,"chatInput.cancelQueue":`Annulla coda`,"koboCommand.checkProgressDesc":`Verificare il progresso delle attività e dei criteri di accettazione`,"chatInput.uploading":`Caricamento...`,"createPage.title":`Su cosa vorresti lavorare?`,"createPage.claudeCode":`Claude Code`,"createPage.notionEnabled":`Notion attivato`,"createPage.importNotion":`Importa da Notion`,"createPage.notionPlaceholder":`https://www.notion.so/workspace/Page-title-abc123...`,"createPage.notionValidation":`L'URL deve iniziare con https://www.notion.so/`,"createPage.notionAutoExtract":`Le sottotask e i criteri di accettazione verranno estratti automaticamente.`,"createPage.workspaceName":`Nome del workspace (predefinito: titolo della pagina Notion)`,"createPage.workspaceNamePlaceholder":`Nome del workspace...`,"createPage.instructions":`Istruzioni aggiuntive (opzionale)...`,"createPage.instructionsPlaceholder":`Descrivi il task...`,"createPage.manualHint":`Nessun ticket Notion? Aggiungi i tuoi task e criteri di accettazione manualmente — verranno inviati all'agente Claude come contesto.`,"createPage.tasks":`Task ({count})`,"createPage.addTask":`Aggiungi un task...`,"createPage.acceptanceCriteria":`Criteri di accettazione ({count})`,"createPage.addCriterion":`Aggiungi un criterio...`,"createPage.projectPath":`Inserisci il percorso del progetto`,"createPage.branch":`Branch`,"createPage.noBranches":`Nessun branch trovato`,"createPage.enterPath":`Inserisci il percorso del progetto`,"createPage.create":`Crea`,"createPage.skipSetupScript":`Salta script di setup`,"createPage.notionExtractHint":`Le sottotask e i criteri di accettazione verranno estratti dalla pagina Notion.`,"createPage.notionImportHint":`Clicca su "Importa da Notion" per estrarre automaticamente le sottotask da un ticket.`,"createPage.errorCreating":`Errore durante la creazione del workspace.`,"createPage.validationNotionUrl":`Inserisci un URL Notion valido (https://www.notion.so/...).`,"createPage.validationDescription":`Descrivi il task.`,"createPage.validationName":`Indica un nome per il workspace.`,"createPage.validationPath":`Inserisci il percorso del progetto.`,"createPage.validationBranch":`Seleziona un branch.`,"settings.title":`Impostazioni`,"settings.language":`Lingua`,"settings.global":`Globale`,"settings.projects":`Progetti`,"settings.globalSettings":`Impostazioni globali`,"settings.defaultModel":`Modello predefinito`,"settings.agentPermissions":`Permessi dell'agente`,"settings.skipPermissions":`Salta le richieste di permesso (--dangerously-skip-permissions)`,"settings.skipPermissionsWarning":`Attenzione: disattivando questa opzione, tutti i permessi degli strumenti (Write, Edit, Bash...) verranno negati automaticamente in modalità headless. L'agente potrà solo leggere.`,"settings.notifications":`Notifiche`,"settings.browserNotifications":`Notifica browser quando l'agente termina`,"settings.audioNotifications":`Notifica sonora quando l'agente termina`,"settings.defaultPermissionMode":`Modalità permessi predefinita`,"settings.defaultPermissionModeHint":`Modalità applicata alla creazione di un workspace. Plan = brainstorming in sola lettura prima, Auto-accept = esecuzione completa immediata.`,"settings.activityFeed":`Feed attività`,"settings.verboseMessages":`Mostra messaggi di sistema dettagliati (task_progress, task_started)`,"settings.availableVariables":`Variabili disponibili nel template del prompt PR`,"settings.prPromptTemplate":`Template del prompt PR`,"settings.prPromptPlaceholder":`Istruzioni per l'agente durante la creazione di PR su GitHub...`,"settings.prPromptHint":`Usa le variabili elencate sopra (sintassi doppia parentesi graffa).`,"settings.var.prNumber":`Numero della PR (es: 42)`,"settings.var.prUrl":`URL completo della PR creata`,"settings.var.branchName":`Nome del branch di lavoro`,"settings.var.sourceBranch":`Branch sorgente a cui punta la PR`,"settings.var.workspaceName":`Nome del workspace`,"settings.var.projectName":`Ultimo segmento del percorso del progetto`,"settings.var.notionUrl":`URL Notion se impostato, vuoto altrimenti`,"settings.var.commits":`Elenco puntato dei commit tra source e head`,"settings.var.diffStats":`Riepilogo shortstat Git (file, inserimenti, eliminazioni)`,"settings.var.tasks":`Attività regolari come lista di controllo`,"settings.var.acceptanceCriteria":`Criteri di accettazione come lista di controllo`,"settings.gitConventions":`Convenzioni Git (globale)`,"settings.gitConventionsPlaceholder":`# Convenzioni Git...`,"settings.gitConventionsHint":`Queste convenzioni vengono scritte in .ai/.git-conventions.md in ogni nuovo workspace e devono essere seguite dall'agente prima di qualsiasi operazione Git. Sovrascritte dalle convenzioni per progetto se definite.`,"settings.setupScript":`Script di setup`,"settings.setupScriptPlaceholder":`npm install`,"settings.setupScriptHint":`Eseguito con bash nel worktree dopo la creazione, prima dell'avvio dell'agente. Nessun shebang necessario. In caso di errore, il workspace viene impostato su errore. Timeout: 5 minuti.`,"settings.editorCommand":`Comando editor`,"settings.editorCommandPlaceholder":`code, phpstorm, subl, vim...`,"settings.editorCommandHint":`Comando per aprire il worktree nel proprio editor. Il percorso del worktree viene passato come argomento.`,"settings.configuredProjects":`Progetti configurati`,"settings.noProjects":`Nessun progetto configurato`,"settings.addProject":`Aggiungi progetto`,"settings.newProject":`Nuovo progetto`,"settings.editProject":`Modifica progetto`,"settings.projectPath":`Percorso del progetto`,"settings.projectPathPlaceholder":`/percorso/del/progetto`,"settings.displayName":`Nome visualizzato`,"settings.displayNamePlaceholder":`Il mio progetto`,"settings.defaultSourceBranch":`Branch sorgente predefinito`,"settings.defaultModel.project":`Modello predefinito`,"settings.skipPermissions.project":`Salta le richieste di permesso`,"settings.prPromptTemplate.project":`Template del prompt PR`,"settings.prPromptPlaceholder.project":`Istruzioni specifiche del progetto per la creazione di PR...`,"settings.gitConventions.project":`Convenzioni Git (per progetto)`,"settings.gitConventionsEmpty":`Lascia vuoto per usare le convenzioni globali.`,"settings.notionStatus":`Stato ticket Notion`,"settings.notionStatusProperty":`Nome della proprietà`,"settings.notionStatusPropertyPlaceholder":`État, Status...`,"settings.notionInProgressStatus":`Valore da impostare`,"settings.notionInProgressStatusPlaceholder":`In corso, In progress...`,"settings.notionStatusHint":`Quando un workspace viene creato con un ticket Notion, la proprietà specificata viene impostata a questo valore. Entrambi i campi sono obbligatori. Lasciare vuoto per disattivare.`,"settings.devServer":`Server di sviluppo`,"settings.devServerStart":`Script di avvio`,"settings.devServerStartPlaceholder":`npm run dev`,"settings.devServerStop":`Script di arresto`,"settings.devServerStopPlaceholder":`Opzionale — il processo verrà terminato automaticamente se vuoto`,"settings.selectProject":`Seleziona un progetto o aggiungine uno nuovo`,"settings.projectPathRequired":`Il percorso del progetto è obbligatorio.`,"settings.useGlobal":`Usa globale`,"settings.saved":`Impostazioni globali salvate.`,"settings.saveError":`Errore durante il salvataggio delle impostazioni.`,"settings.projectSaved":`Progetto salvato.`,"settings.projectSaveError":`Errore durante il salvataggio del progetto.`,"settings.projectDeleted":`Progetto eliminato.`,"settings.projectDeleteError":`Errore durante l'eliminazione del progetto.`,"templates.title":`Template`,"templates.newTemplate":`Nuovo template`,"templates.editTemplate":`Modifica template`,"templates.deleteTemplate":`Elimina template`,"templates.deleteConfirm":`Eliminare il template '/{slug}'?`,"templates.deleteConfirmMessage":`Questa azione non può essere annullata.`,"templates.slug":`Slug`,"templates.slugHint":`Minuscole, cifre, trattini. Max 64 caratteri.`,"templates.slugInvalid":`Lo slug può contenere solo minuscole, cifre e trattini`,"templates.slugDuplicate":`Un template con questo slug esiste già`,"templates.description":`Descrizione`,"templates.descriptionHint":`Etichetta breve mostrata nel dropdown.`,"templates.descriptionRequired":`La descrizione è obbligatoria`,"templates.contentRequired":`Il contenuto è obbligatorio`,"templates.content":`Contenuto`,"templates.contentHint":`Contenuto del template. Usa {variable_name} per le sostituzioni.`,"templates.availableVars":`Variabili disponibili`,"templates.filePath":`File: {path}`,"templates.empty":`Nessun template ancora.`,"templates.createFailed":`Creazione del template fallita`,"templates.updateFailed":`Aggiornamento del template fallito`,"templates.deleteFailed":`Eliminazione del template fallita`,"templates.save":`Salva`,"templates.create":`Crea`,"chatInput.dropdownSkills":`Skill Claude`,"chatInput.dropdownKobo":`Comandi Kōbō`,"chatInput.dropdownTemplates":`Template`,"plans.title":`Piani`,"plans.empty":`Nessun piano trovato`,"plans.refresh":`Aggiorna`,"plans.back":`Indietro`,"plans.loadFailed":`Caricamento del piano fallito`,"git.title":`Git`,"git.localOnly":`solo locale`,"git.pushed":`pushed`,"git.unpushed":`{count} non pushati`,"git.commits":`{count} commit | {count} commit`,"git.files":`{count} file | {count} file`,"git.staged":`{count} staged`,"git.modified":`{count} modificati`,"git.untracked":`{count} non tracciati`,"git.viewPr":`Vedi PR`,"git.createPr":`Crea PR`,"git.push":`Push`,"git.pull":`Pull`,"git.createPrNoRemote":`Push del branch prima`,"git.pullConfirmTitle":`Pull della branch?`,"git.pullConfirmMessage":`Pull {branch} dal remoto (solo fast-forward).`,"git.branchPulled":`Branch aggiornata`,"git.pullFailed":`Pull fallito`,"git.diff":`Diff`,"git.rebase":`Rebase`,"git.rebaseConfirmTitle":`Rebase del branch?`,"git.rebaseConfirmMessage":`Rebase su {branch}. Potrebbero verificarsi conflitti.`,"git.rebaseSuccess":`Rebase completato`,"git.rebaseFailed":`Rebase fallito`,"git.pushConfirmTitle":`Push del branch?`,"git.pushConfirmMessage":`Push di {branch} al remoto.`,"git.changePrBase":`Cambiare branch base della PR`,"git.changePrBaseTitle":`Cambiare branch base`,"git.changePrBaseMessage":`Inserire il nuovo branch destinazione per la pull request.`,"git.changePrBaseSuccess":`Branch base della PR aggiornato`,"git.changePrBaseFailed":`Impossibile cambiare il branch base della PR`,"git.openEditor":`Apri nell'editor`,"git.openEditorFailed":`Impossibile aprire l'editor`,"git.branchPushed":`Branch pushato`,"git.pushFirst":`Il branch non è sul remoto. Fai Push prima.`,"git.unpushedCommits":`I commit locali non sono pushati. Fai Push prima.`,"git.from":`da`,"git.prCreated":`PR #{n} creata`,"devServer.title":`Server di sviluppo`,"devServer.noWorkspace":`Nessun workspace selezionato`,"devServer.notConfigured":`Non configurato —`,"devServer.goToSettings":`Impostazioni`,"devServer.logs":`Log`,"devServer.running":`In esecuzione`,"devServer.starting":`Avvio in corso`,"devServer.stopping":`Arresto in corso`,"devServer.error":`Errore`,"devServer.stopped":`Arrestato`,"devServer.unknown":`Sconosciuto`,"devServer.containers":`{count} container | {count} container`,"devServer.logDialog.title":`Log del server di sviluppo`,"devServer.logDialog.empty":`Nessun log disponibile`,"notion.title":`Notion`,"notion.addTask":`Aggiungi task`,"notion.openInNotion":`Apri in Notion`,"notion.noUrl":`Nessun URL Notion`,"notion.subtasks":`{done}/{total} sottotask`,"notion.noTasks":`Nessun task`,"notion.newTask":`Nuovo task... (Invio per aggiungere, Esc per annullare)`,"acceptance.title":`Criteri di accettazione`,"acceptance.addCriterion":`Aggiungi criterio`,"acceptance.newCriterion":`Nuovo criterio... (Invio per aggiungere, Esc per annullare)`,"acceptance.empty":`Nessun criterio di accettazione`,"tasks.askProgress":`Chiedere all'agente di verificare il progresso`,"agentTodos.title":`Todo dell'agente`,"agentTodos.empty":`Nessun todo dell'agente`,"subagents.title":`Sub-agenti`,"subagents.empty":`Nessuna attività dei sub-agenti ancora`,"subagents.tools":`{count} strumenti`,"subagents.running":`In esecuzione: `,"stats.title":`Statistiche`,"stats.info":`Info`,"stats.status":`Stato`,"stats.model":`Modello`,"stats.branch":`Branch`,"stats.sessions":`Sessioni`,"stats.duration":`Durata`,"stats.timeline":`Cronologia`,"stats.created":`Creato`,"stats.firstSession":`Prima sessione`,"stats.lastPrompt":`Ultimo prompt`,"stats.lastResponse":`Ultima risposta`,"stats.updated":`Aggiornato`,"stats.activity":`Attività`,"stats.agentMessages":`Messaggi dell'agente`,"stats.userMessages":`Messaggi dell'utente`,"stats.toolCalls":`Chiamate agli strumenti`,"stats.errors":`Errori`,"stats.usage":`Consumo`,"stats.inputTokens":`Token in ingresso`,"stats.outputTokens":`Token in uscita`,"stats.totalTokens":`Token totali`,"stats.cost":`Costo`,"stats.subagents":`Sub-agenti`,"stats.completed":`Completati`,"stats.tokens":`Token`,"stats.progress":`Progresso`,"stats.tasks":`Task`,"stats.acceptanceCriteria":`Criteri di accettazione`,"tooltip.addTask":`Aggiungi task`,"tooltip.removeTask":`Rimuovi task`,"tooltip.addCriterion":`Aggiungi criterio`,"tooltip.removeCriterion":`Rimuovi criterio`,"tooltip.startDevServer":`Avvia server di sviluppo`,"tooltip.stopDevServer":`Arresta server di sviluppo`,"tooltip.closeDiffViewer":`Chiudi diff`,"tooltip.refreshLogs":`Aggiorna log`,"tooltip.closeDialog":`Chiudi`,"tooltip.refreshGitStats":`Aggiorna statistiche Git`,"tooltip.removeImage":`Rimuovi immagine`,"tooltip.sendMessage":`Invia messaggio`,"tooltip.addNotionTask":`Aggiungi task`,"tooltip.removeNotionTask":`Rimuovi task`,"tooltip.refreshStats":`Aggiorna statistiche`,"tools.title":`Strumenti`,"tools.runSetupScript":`Rieseguire script di setup`,"tools.runSetupScriptTooltip":`Eseguire lo script di setup del progetto nel worktree`,"tools.noSetupScript":`Nessun script di setup configurato —`,"tools.setupScriptSuccess":`Script di setup completato con successo.`,"tools.setupScriptFailed":`Script di setup fallito.`,"diff.title":`Diff`,"diff.side":`Affiancato`,"diff.inline":`In linea`,"diff.noChanges":`Nessuna modifica`,"diff.selectFile":`Seleziona un file per visualizzare il diff`,"diff.addToChat":`Aggiungi alla chat`,"notification.agentFinished":`{name} — Agente terminato`,"notification.agentError":`{name} — Errore agente`,"contextMenu.copyPath":`Copia percorso worktree`,"contextMenu.openEditor":`Apri nell'editor`,"contextMenu.runSetup":`Esegui script di setup`},o=`kobo:locale`,s=[`en`,`fr`,`de`,`es`,`it`];function c(e){return s.includes(e)}function l(){let e=localStorage.getItem(o);if(e&&c(e))return e;let t=navigator.language.split(`-`)[0];return t&&c(t)?(localStorage.setItem(o,t),t):(localStorage.setItem(o,`en`),`en`)}var u=e({legacy:!1,locale:l(),fallbackLocale:`en`,messages:{en:n,fr:i,de:t,es:r,it:a}});export{u as t};
|