@loicngr/kobo 1.5.5 → 1.5.6
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/db/schema.js +1 -1
- package/dist/server/routes/workspaces.js +9 -0
- package/dist/server/services/settings-service.js +25 -4
- package/dist/server/services/workspace-service.js +1 -1
- package/dist/server/services/worktree-service.js +3 -2
- package/dist/server/utils/git-ops.js +14 -0
- package/dist/server/utils/paths.js +13 -1
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CAgtfoqj.js → ActivityFeed-BScp_ie9.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-CnsmjbZl.js → CreatePage-Cam6EJCg.js} +2 -2
- package/src/client/dist/spa/assets/CreatePage-Cy1V2bdx.css +1 -0
- package/src/client/dist/spa/assets/{DiffViewer-CwAhR0Bt.js → DiffViewer-DMa0FFUV.js} +2 -2
- package/src/client/dist/spa/assets/{MainLayout-D9UzZ0l0.js → MainLayout-DB5sQk0j.js} +2 -2
- package/src/client/dist/spa/assets/{QExpansionItem-ZAI_l6AW.js → QExpansionItem-BBe4EJ8c.js} +1 -1
- package/src/client/dist/spa/assets/{QList-aKZe9BNZ.js → QList-DJTvuGop.js} +1 -1
- package/src/client/dist/spa/assets/{QMenu-DDXq2SFM.js → QMenu-DnNUsPHb.js} +1 -1
- package/src/client/dist/spa/assets/{SettingsPage-DCgRTq-c.js → SettingsPage-BedYmy7N.js} +1 -1
- package/src/client/dist/spa/assets/WorkspacePage-Ck8G2Lhl.css +1 -0
- package/src/client/dist/spa/assets/WorkspacePage-DcVj7f0F.js +4 -0
- package/src/client/dist/spa/assets/{cssMode-CzYfUUcg.js → cssMode-TmSd3FtN.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-Do3RvGrr.js → editor.api-BYoDPXci.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-BXGLrNaH.js → editor.main-D2_WTVNi.js} +3 -3
- package/src/client/dist/spa/assets/{freemarker2-DD7dLGS5.js → freemarker2-BK0cJTj4.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-C6fNrY_c.js → handlebars-BT6xKkcN.js} +1 -1
- package/src/client/dist/spa/assets/{html-CsN_ZrNj.js → html-G6AG34m0.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-BePbSvxH.js → htmlMode-Cal36mmb.js} +1 -1
- package/src/client/dist/spa/assets/i18n-ByuXBoTq.js +1 -0
- package/src/client/dist/spa/assets/i18n-DyD-u9TB.js +1 -0
- package/src/client/dist/spa/assets/{index-BJT6ZfVp.js → index-C9F8lzbI.js} +3 -3
- package/src/client/dist/spa/assets/{javascript-CkZZHPRD.js → javascript-B-6wB4JQ.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-CsqbZ0c2.js → jsonMode-CT4pwl6t.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-CB4bbF-9.js → liquid-BneTrBrq.js} +1 -1
- package/src/client/dist/spa/assets/{marked.esm-DIsIySzr.js → marked.esm-C01v3JRg.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-goM-jFgd.js → mdx-ByZYBp9K.js} +1 -1
- package/src/client/dist/spa/assets/{models-Dwzf2zDK.js → models-C4seT9_L.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-tq8HWx81.js → monaco.contribution-B2_1EuRF.js} +2 -2
- package/src/client/dist/spa/assets/{python-BKb3PkXw.js → python-CqrolrIy.js} +1 -1
- package/src/client/dist/spa/assets/{razor-rLKJylZh.js → razor-CPg4dghH.js} +1 -1
- package/src/client/dist/spa/assets/{settings-BdrDg_dO.js → settings-DNNmyYf-.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-CjX_dUdq.js → tsMode-CRHW8cKK.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-Bg5NM6yP.js → typescript-D2lNktM6.js} +1 -1
- package/src/client/dist/spa/assets/{xml-BMWcIRqp.js → xml-C-qye9BU.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-C2uOvXS0.js → yaml-DujvOKOb.js} +1 -1
- package/src/client/dist/spa/index.html +3 -3
- package/src/client/dist/spa/assets/CreatePage-CNnVeRGC.css +0 -1
- package/src/client/dist/spa/assets/WorkspacePage-BSBiQTKy.js +0 -4
- package/src/client/dist/spa/assets/WorkspacePage-DZwv9kFd.css +0 -1
- package/src/client/dist/spa/assets/i18n-C_tQYbyT.js +0 -1
- package/src/client/dist/spa/assets/i18n-zwZDkEfm.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-BYoDPXci.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:[[/@@@@/],[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.root`}],[/<!DOCTYPE/,`metatag.html`,`@doctype`],[/<!--/,`comment.html`,`@comment`],[/(<)([\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`],[/[ \t\r\n]+/],[/[^<@]+/]],doctype:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.comment`}],[/[^>]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/@[^@]/,{token:`@rematch`,switchTo:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInSimpleState.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:`@razorInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],razorInSimpleState:[[/@\*/,`comment.cs`,`@razorBlockCommentTopLevel`],[/@[{(]/,`metatag.cs`,`@razorRootTopLevel`],[/(@)(\s*[\w]+)/,[`metatag.cs`,{token:`identifier.cs`,switchTo:`@$S2.$S3`}]],[/[})]/,{token:`metatag.cs`,switchTo:`@$S2.$S3`}],[/\*@/,{token:`comment.cs`,switchTo:`@$S2.$S3`}]],razorInEmbeddedState:[[/@\*/,`comment.cs`,`@razorBlockCommentTopLevel`],[/@[{(]/,`metatag.cs`,`@razorRootTopLevel`],[/(@)(\s*[\w]+)/,[`metatag.cs`,{token:`identifier.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}]],[/[})]/,{token:`metatag.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],[/\*@/,{token:`comment.cs`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}]],razorBlockCommentTopLevel:[[/\*@/,`@rematch`,`@pop`],[/[^*]+/,`comment.cs`],[/./,`comment.cs`]],razorBlockComment:[[/\*@/,`comment.cs`,`@pop`],[/[^*]+/,`comment.cs`],[/./,`comment.cs`]],razorRootTopLevel:[[/\{/,`delimiter.bracket.cs`,`@razorRoot`],[/\(/,`delimiter.parenthesis.cs`,`@razorRoot`],[/[})]/,`@rematch`,`@pop`],{include:`razorCommon`}],razorRoot:[[/\{/,`delimiter.bracket.cs`,`@razorRoot`],[/\(/,`delimiter.parenthesis.cs`,`@razorRoot`],[/\}/,`delimiter.bracket.cs`,`@pop`],[/\)/,`delimiter.parenthesis.cs`,`@pop`],{include:`razorCommon`}],razorCommon:[[/[a-zA-Z_]\w*/,{cases:{"@razorKeywords":{token:`keyword.cs`},"@default":`identifier.cs`}}],[/[\[\]]/,`delimiter.array.cs`],[/[ \t\r\n]+/],[/\/\/.*$/,`comment.cs`],[/@\*/,`comment.cs`,`@razorBlockComment`],[/"([^"]*)"/,`string.cs`],[/'([^']*)'/,`string.cs`],[/(<)([\w\-]+)(\/>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)([\w\-]+)(>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<\/)([\w\-]+)(>)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/[\+\-\*\%\&\|\^\~\!\=\<\>\/\?\;\:\.\,]/,`delimiter.cs`],[/\d*\d+[eE]([\-+]?\d+)?/,`number.float.cs`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float.cs`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,`number.hex.cs`],[/0[0-7']*[0-7]/,`number.octal.cs`],[/0[bB][0-1']*[0-1]/,`number.binary.cs`],[/\d[\d']*/,`number.cs`],[/\d/,`number.cs`]]},razorKeywords:`abstract.as.async.await.base.bool.break.by.byte.case.catch.char.checked.class.const.continue.decimal.default.delegate.do.double.descending.explicit.event.extern.else.enum.false.finally.fixed.float.for.foreach.from.goto.group.if.implicit.in.int.interface.internal.into.is.lock.long.nameof.new.null.namespace.object.operator.out.override.orderby.params.private.protected.public.readonly.ref.return.switch.struct.sbyte.sealed.short.sizeof.stackalloc.static.string.select.this.throw.true.try.typeof.uint.ulong.unchecked.unsafe.ushort.using.var.virtual.volatile.void.when.while.where.yield.model.inject`.split(`.`),escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/};export{l as conf,u as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,D as t,J as n,K as r,Q as i,T as a,U as o,X as s,Y as c,Z as l,nt as u,q as d,rt as f,u as p,w as m}from"./vue-i18n-CFW7O-jl.js";var h,g=e=>h=e,_=Symbol();function v(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var y;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(y||={});var b=typeof window<`u`,x=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function S(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function C(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){O(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function w(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function T(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var E=typeof navigator==`object`?navigator:{userAgent:``},D=/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent),O=b?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!D?k:`msSaveOrOpenBlob`in E?A:j:()=>{};function k(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?T(r):w(r.href)?C(e,t,n):(r.target=`_blank`,T(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){T(r)},0))}function A(e,t=`download`,n){if(typeof e==`string`)if(w(e))C(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){T(t)})}else navigator.msSaveOrOpenBlob(S(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return C(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(x.HTMLElement))||`safari`in x,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||D)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:M}=Object;function N(){let t=r(!0),n=t.run(()=>e({})),i=[],a=[],o=s({install(e){g(o),o._a=e,e.provide(_,o),e.config.globalProperties.$pinia=o,a.forEach(e=>i.push(e)),a=[]},use(e){return this._a?i.push(e):a.push(e),this},_p:i,_a:null,_e:t,_s:new Map,state:n});return o}var P=()=>{};function F(e,t,n,r=P){e.push(t);let i=()=>{let n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!n&&d()&&l(i),i}function I(e,...t){e.slice().forEach(e=>{e(...t)})}var L=e=>e(),R=Symbol(),z=Symbol();function B(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let r in t){if(!t.hasOwnProperty(r))continue;let i=t[r],a=e[r];v(a)&&v(i)&&e.hasOwnProperty(r)&&!c(i)&&!n(i)?e[r]=B(a,i):e[r]=i}return e}var V=Symbol();function H(e){return!v(e)||!e.hasOwnProperty(V)}var{assign:U}=Object;function W(e){return!!(c(e)&&e.effect)}function G(e,t,n,r){let{state:i,actions:a,getters:o}=t,c=n.state.value[e],l;function u(){return c||(n.state.value[e]=i?i():{}),U(f(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=s(p(()=>{g(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return l=K(e,u,t,n,r,!0),l}function K(a,s,l={},d,f,p){let m,h=U({actions:{}},l),_={deep:!0},v,b,x=[],S=[],C=d.state.value[a];!p&&!C&&(d.state.value[a]={}),e({});let w;function T(e){let n;v=b=!1,typeof e==`function`?(e(d.state.value[a]),n={type:y.patchFunction,storeId:a,events:void 0}):(B(d.state.value[a],e),n={type:y.patchObject,payload:e,storeId:a,events:void 0});let r=w=Symbol();t().then(()=>{w===r&&(v=!0)}),b=!0,I(x,n,d.state.value[a])}let E=p?function(){let{state:e}=l,t=e?e():{};this.$patch(e=>{U(e,t)})}:P;function D(){m.stop(),x=[],S=[],d._s.delete(a)}let O=(e,t=``)=>{if(R in e)return e[z]=t,e;let n=function(){g(d);let t=Array.from(arguments),r=[],i=[];function o(e){r.push(e)}function s(e){i.push(e)}I(S,{args:t,name:n[z],store:k,after:o,onError:s});let c;try{c=e.apply(this&&this.$id===a?this:k,t)}catch(e){throw I(i,e),e}return c instanceof Promise?c.then(e=>(I(r,e),e)).catch(e=>(I(i,e),Promise.reject(e))):(I(r,c),c)};return n[R]=!0,n[z]=t,n},k=i({_p:d,$id:a,$onAction:F.bind(null,S),$patch:T,$reset:E,$subscribe(e,t={}){let n=F(x,e,t.detached,()=>r()),r=m.run(()=>o(()=>d.state.value[a],n=>{(t.flush===`sync`?b:v)&&e({storeId:a,type:y.direct,events:void 0},n)},U({},_,t)));return n},$dispose:D});d._s.set(a,k);let A=(d._a&&d._a.runWithContext||L)(()=>d._e.run(()=>(m=r()).run(()=>s({action:O}))));for(let e in A){let t=A[e];c(t)&&!W(t)||n(t)?p||(C&&H(t)&&(c(t)?t.value=C[e]:B(t,C[e])),d.state.value[a][e]=t):typeof t==`function`&&(A[e]=O(t,e),h.actions[e]=t)}return U(k,A),U(u(k),A),Object.defineProperty(k,`$state`,{get:()=>d.state.value[a],set:e=>{T(t=>{U(t,e)})}}),d._p.forEach(e=>{U(k,m.run(()=>e({store:k,app:d._a,pinia:d,options:h})))}),C&&p&&l.hydrate&&l.hydrate(k.$state,C),v=!0,b=!0,k}function q(e,t,n){let r,i,o=typeof t==`function`;typeof e==`string`?(r=e,i=o?n:t):(i=e,r=e.id);function s(e,n){let s=m();return e||=s?a(_,null):null,e&&g(e),e=h,e._s.has(r)||(o?K(r,t,i,e):G(r,i,e)),e._s.get(r)}return s.$id=r,s}function J(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var Y=q(`settings`,{state:()=>({global:{defaultModel:`
|
|
1
|
+
import{$ as e,D as t,J as n,K as r,Q as i,T as a,U as o,X as s,Y as c,Z as l,nt as u,q as d,rt as f,u as p,w as m}from"./vue-i18n-CFW7O-jl.js";var h,g=e=>h=e,_=Symbol();function v(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var y;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(y||={});var b=typeof window<`u`,x=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function S(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function C(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){O(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function w(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function T(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=document.createEvent(`MouseEvents`);t.initMouseEvent(`click`,!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var E=typeof navigator==`object`?navigator:{userAgent:``},D=/Macintosh/.test(E.userAgent)&&/AppleWebKit/.test(E.userAgent)&&!/Safari/.test(E.userAgent),O=b?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!D?k:`msSaveOrOpenBlob`in E?A:j:()=>{};function k(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?T(r):w(r.href)?C(e,t,n):(r.target=`_blank`,T(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){T(r)},0))}function A(e,t=`download`,n){if(typeof e==`string`)if(w(e))C(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){T(t)})}else navigator.msSaveOrOpenBlob(S(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return C(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(x.HTMLElement))||`safari`in x,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||D)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:M}=Object;function N(){let t=r(!0),n=t.run(()=>e({})),i=[],a=[],o=s({install(e){g(o),o._a=e,e.provide(_,o),e.config.globalProperties.$pinia=o,a.forEach(e=>i.push(e)),a=[]},use(e){return this._a?i.push(e):a.push(e),this},_p:i,_a:null,_e:t,_s:new Map,state:n});return o}var P=()=>{};function F(e,t,n,r=P){e.push(t);let i=()=>{let n=e.indexOf(t);n>-1&&(e.splice(n,1),r())};return!n&&d()&&l(i),i}function I(e,...t){e.slice().forEach(e=>{e(...t)})}var L=e=>e(),R=Symbol(),z=Symbol();function B(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let r in t){if(!t.hasOwnProperty(r))continue;let i=t[r],a=e[r];v(a)&&v(i)&&e.hasOwnProperty(r)&&!c(i)&&!n(i)?e[r]=B(a,i):e[r]=i}return e}var V=Symbol();function H(e){return!v(e)||!e.hasOwnProperty(V)}var{assign:U}=Object;function W(e){return!!(c(e)&&e.effect)}function G(e,t,n,r){let{state:i,actions:a,getters:o}=t,c=n.state.value[e],l;function u(){return c||(n.state.value[e]=i?i():{}),U(f(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=s(p(()=>{g(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return l=K(e,u,t,n,r,!0),l}function K(a,s,l={},d,f,p){let m,h=U({actions:{}},l),_={deep:!0},v,b,x=[],S=[],C=d.state.value[a];!p&&!C&&(d.state.value[a]={}),e({});let w;function T(e){let n;v=b=!1,typeof e==`function`?(e(d.state.value[a]),n={type:y.patchFunction,storeId:a,events:void 0}):(B(d.state.value[a],e),n={type:y.patchObject,payload:e,storeId:a,events:void 0});let r=w=Symbol();t().then(()=>{w===r&&(v=!0)}),b=!0,I(x,n,d.state.value[a])}let E=p?function(){let{state:e}=l,t=e?e():{};this.$patch(e=>{U(e,t)})}:P;function D(){m.stop(),x=[],S=[],d._s.delete(a)}let O=(e,t=``)=>{if(R in e)return e[z]=t,e;let n=function(){g(d);let t=Array.from(arguments),r=[],i=[];function o(e){r.push(e)}function s(e){i.push(e)}I(S,{args:t,name:n[z],store:k,after:o,onError:s});let c;try{c=e.apply(this&&this.$id===a?this:k,t)}catch(e){throw I(i,e),e}return c instanceof Promise?c.then(e=>(I(r,e),e)).catch(e=>(I(i,e),Promise.reject(e))):(I(r,c),c)};return n[R]=!0,n[z]=t,n},k=i({_p:d,$id:a,$onAction:F.bind(null,S),$patch:T,$reset:E,$subscribe(e,t={}){let n=F(x,e,t.detached,()=>r()),r=m.run(()=>o(()=>d.state.value[a],n=>{(t.flush===`sync`?b:v)&&e({storeId:a,type:y.direct,events:void 0},n)},U({},_,t)));return n},$dispose:D});d._s.set(a,k);let A=(d._a&&d._a.runWithContext||L)(()=>d._e.run(()=>(m=r()).run(()=>s({action:O}))));for(let e in A){let t=A[e];c(t)&&!W(t)||n(t)?p||(C&&H(t)&&(c(t)?t.value=C[e]:B(t,C[e])),d.state.value[a][e]=t):typeof t==`function`&&(A[e]=O(t,e),h.actions[e]=t)}return U(k,A),U(u(k),A),Object.defineProperty(k,`$state`,{get:()=>d.state.value[a],set:e=>{T(t=>{U(t,e)})}}),d._p.forEach(e=>{U(k,m.run(()=>e({store:k,app:d._a,pinia:d,options:h})))}),C&&p&&l.hydrate&&l.hydrate(k.$state,C),v=!0,b=!0,k}function q(e,t,n){let r,i,o=typeof t==`function`;typeof e==`string`?(r=e,i=o?n:t):(i=e,r=e.id);function s(e,n){let s=m();return e||=s?a(_,null):null,e&&g(e),e=h,e._s.has(r)||(o?K(r,t,i,e):G(r,i,e)),e._s.get(r)}return s.$id=r,s}function J(e){return btoa(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var Y=q(`settings`,{state:()=>({global:{defaultModel:`claude-opus-4-7`,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,editorCommand:``,browserNotifications:!0,audioNotifications:!0,notionStatusProperty:``,notionInProgressStatus:``,defaultPermissionMode:`plan`,notionMcpKey:``,sentryMcpKey:``},activeMcpServers:[],projects:[],loading:!1,showVerboseSystemMessages:localStorage.getItem(`kobo:showVerboseSystemMessages`)===`true`}),getters:{getProjectByPath:e=>t=>e.projects.find(e=>e.path===t)??null,projectPaths:e=>e.projects.map(e=>e.path)},actions:{async fetchSettings(){this.loading=!0;try{let e=await fetch(`/api/settings`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json();this.global=t.global,this.projects=t.projects}catch(e){console.error(`[settings store] fetchSettings failed:`,e)}finally{this.loading=!1}},async fetchActiveMcpServers(){try{let e=await fetch(`/api/settings/mcp-servers`);if(!e.ok)throw Error(`HTTP ${e.status}`);this.activeMcpServers=await e.json()}catch(e){console.error(`[settings store] fetchActiveMcpServers failed:`,e),this.activeMcpServers=[]}},async updateGlobal(e){try{let t=await fetch(`/api/settings/global`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)});if(!t.ok)throw Error(`HTTP ${t.status}`);this.global=await t.json()}catch(e){throw console.error(`[settings store] updateGlobal failed:`,e),e}},async upsertProject(e,t){try{let n=J(e),r=await fetch(`/api/settings/projects/${n}`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok)throw Error(`HTTP ${r.status}`);let i=await r.json(),a=this.projects.findIndex(t=>t.path===e);a>=0?this.projects[a]=i:this.projects.push(i)}catch(e){throw console.error(`[settings store] upsertProject failed:`,e),e}},toggleVerboseSystemMessages(){this.showVerboseSystemMessages=!this.showVerboseSystemMessages,localStorage.setItem(`kobo:showVerboseSystemMessages`,String(this.showVerboseSystemMessages))},async deleteProject(e){try{let t=J(e),n=await fetch(`/api/settings/projects/${t}`,{method:`DELETE`});if(!n.ok)throw Error(`HTTP ${n.status}`);this.projects=this.projects.filter(t=>t.path!==e)}catch(e){throw console.error(`[settings store] deleteProject failed:`,e),e}}}});export{N as n,q as r,Y as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-BYoDPXci.js";import{t}from"./monaco.contribution-B2_1EuRF.js";var n,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},c=(e,t,n)=>(s(e,t,`default`),n&&s(n,t,`default`)),l={};c(l,e);function u(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 d=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:u(`defaultWorkerFactory`,{createScriptURL:e=>e});function f(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(d?d.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function p(e){let t=Promise.resolve(f({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return l.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var m=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=p({moduleId:`vs/language/typescript/tsWorker`,label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(l.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},h={};h[`lib.d.ts`]=!0,h[`lib.decorators.d.ts`]=!0,h[`lib.decorators.legacy.d.ts`]=!0,h[`lib.dom.asynciterable.d.ts`]=!0,h[`lib.dom.d.ts`]=!0,h[`lib.dom.iterable.d.ts`]=!0,h[`lib.es2015.collection.d.ts`]=!0,h[`lib.es2015.core.d.ts`]=!0,h[`lib.es2015.d.ts`]=!0,h[`lib.es2015.generator.d.ts`]=!0,h[`lib.es2015.iterable.d.ts`]=!0,h[`lib.es2015.promise.d.ts`]=!0,h[`lib.es2015.proxy.d.ts`]=!0,h[`lib.es2015.reflect.d.ts`]=!0,h[`lib.es2015.symbol.d.ts`]=!0,h[`lib.es2015.symbol.wellknown.d.ts`]=!0,h[`lib.es2016.array.include.d.ts`]=!0,h[`lib.es2016.d.ts`]=!0,h[`lib.es2016.full.d.ts`]=!0,h[`lib.es2016.intl.d.ts`]=!0,h[`lib.es2017.d.ts`]=!0,h[`lib.es2017.date.d.ts`]=!0,h[`lib.es2017.full.d.ts`]=!0,h[`lib.es2017.intl.d.ts`]=!0,h[`lib.es2017.object.d.ts`]=!0,h[`lib.es2017.sharedmemory.d.ts`]=!0,h[`lib.es2017.string.d.ts`]=!0,h[`lib.es2017.typedarrays.d.ts`]=!0,h[`lib.es2018.asyncgenerator.d.ts`]=!0,h[`lib.es2018.asynciterable.d.ts`]=!0,h[`lib.es2018.d.ts`]=!0,h[`lib.es2018.full.d.ts`]=!0,h[`lib.es2018.intl.d.ts`]=!0,h[`lib.es2018.promise.d.ts`]=!0,h[`lib.es2018.regexp.d.ts`]=!0,h[`lib.es2019.array.d.ts`]=!0,h[`lib.es2019.d.ts`]=!0,h[`lib.es2019.full.d.ts`]=!0,h[`lib.es2019.intl.d.ts`]=!0,h[`lib.es2019.object.d.ts`]=!0,h[`lib.es2019.string.d.ts`]=!0,h[`lib.es2019.symbol.d.ts`]=!0,h[`lib.es2020.bigint.d.ts`]=!0,h[`lib.es2020.d.ts`]=!0,h[`lib.es2020.date.d.ts`]=!0,h[`lib.es2020.full.d.ts`]=!0,h[`lib.es2020.intl.d.ts`]=!0,h[`lib.es2020.number.d.ts`]=!0,h[`lib.es2020.promise.d.ts`]=!0,h[`lib.es2020.sharedmemory.d.ts`]=!0,h[`lib.es2020.string.d.ts`]=!0,h[`lib.es2020.symbol.wellknown.d.ts`]=!0,h[`lib.es2021.d.ts`]=!0,h[`lib.es2021.full.d.ts`]=!0,h[`lib.es2021.intl.d.ts`]=!0,h[`lib.es2021.promise.d.ts`]=!0,h[`lib.es2021.string.d.ts`]=!0,h[`lib.es2021.weakref.d.ts`]=!0,h[`lib.es2022.array.d.ts`]=!0,h[`lib.es2022.d.ts`]=!0,h[`lib.es2022.error.d.ts`]=!0,h[`lib.es2022.full.d.ts`]=!0,h[`lib.es2022.intl.d.ts`]=!0,h[`lib.es2022.object.d.ts`]=!0,h[`lib.es2022.regexp.d.ts`]=!0,h[`lib.es2022.sharedmemory.d.ts`]=!0,h[`lib.es2022.string.d.ts`]=!0,h[`lib.es2023.array.d.ts`]=!0,h[`lib.es2023.collection.d.ts`]=!0,h[`lib.es2023.d.ts`]=!0,h[`lib.es2023.full.d.ts`]=!0,h[`lib.es5.d.ts`]=!0,h[`lib.es6.d.ts`]=!0,h[`lib.esnext.collection.d.ts`]=!0,h[`lib.esnext.d.ts`]=!0,h[`lib.esnext.decorators.d.ts`]=!0,h[`lib.esnext.disposable.d.ts`]=!0,h[`lib.esnext.full.d.ts`]=!0,h[`lib.esnext.intl.d.ts`]=!0,h[`lib.esnext.object.d.ts`]=!0,h[`lib.esnext.promise.d.ts`]=!0,h[`lib.scripthost.d.ts`]=!0,h[`lib.webworker.asynciterable.d.ts`]=!0,h[`lib.webworker.d.ts`]=!0,h[`lib.webworker.importscripts.d.ts`]=!0,h[`lib.webworker.iterable.d.ts`]=!0;function g(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=g(i,t,n);return r}function _(e){return e?e.map(e=>e.text).join(``):``}var v=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},y=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!h[e.path.slice(1)]:!1}getOrCreateModel(e){let n=l.Uri.parse(e),r=l.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return l.editor.createModel(this._libFiles[n.path.slice(1)],`typescript`,n);let i=t.getExtraLibs()[e];return i?l.editor.createModel(i.content,`typescript`,n):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},b=class extends v{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():l.editor.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{l.editor.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(l.editor.onDidCreateModel(e=>i(e))),this._disposables.push(l.editor.onWillDisposeModel(a)),this._disposables.push(l.editor.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of l.editor.getModels())a(e)}});let o=()=>{for(let e of l.editor.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),l.editor.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?l.Uri.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&l.editor.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(l.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(l.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:g(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:g(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return l.MarkerSeverity.Error;case 3:return l.MarkerSeverity.Info;case 0:return l.MarkerSeverity.Warning;case 2:return l.MarkerSeverity.Hint}return l.MarkerSeverity.Info}},x=class e extends v{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new l.Range(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),u=await this._worker(s);if(t.isDisposed())return;let d=await u.getCompletionsAtPosition(s.toString(),c);if(!(!d||t.isDisposed()))return{suggestions:d.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new l.Range(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(l.languages.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:_(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case k.primitiveType:case k.keyword:return l.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return l.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return l.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return l.languages.CompletionItemKind.Function;case k.enum:return l.languages.CompletionItemKind.Enum;case k.module:return l.languages.CompletionItemKind.Module;case k.class:return l.languages.CompletionItemKind.Class;case k.interface:return l.languages.CompletionItemKind.Interface;case k.warning:return l.languages.CompletionItemKind.File}return l.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-BYoDPXci.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={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:s.languages.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:s.languages.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:s.languages.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:s.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},l={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{c as conf,l as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-BYoDPXci.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={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},l={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{c as conf,l as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-BYoDPXci.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={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:s.languages.IndentAction.Indent}}]},l={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{c as conf,l as language};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-C9F8lzbI.js"></script>
|
|
2
2
|
<link rel="modulepreload" crossorigin href="/assets/vue-i18n-CFW7O-jl.js">
|
|
3
3
|
<link rel="modulepreload" crossorigin href="/assets/scroll-CHtHNzvE.js">
|
|
4
|
-
<link rel="modulepreload" crossorigin href="/assets/settings-
|
|
4
|
+
<link rel="modulepreload" crossorigin href="/assets/settings-DNNmyYf-.js">
|
|
5
5
|
<link rel="modulepreload" crossorigin href="/assets/private.use-form-BWfHn8G9.js">
|
|
6
6
|
<link rel="modulepreload" crossorigin href="/assets/use-checkbox-By4PLtaB.js">
|
|
7
|
-
<link rel="modulepreload" crossorigin href="/assets/i18n-
|
|
7
|
+
<link rel="modulepreload" crossorigin href="/assets/i18n-DyD-u9TB.js">
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-eX_lKHSg.css">
|
|
9
9
|
</head><body><div id=q-app></div></body></html>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.create-page[data-v-9808a4a1]{background-color:#1a1a2e;min-height:100%;padding:48px 24px}.create-inner[data-v-9808a4a1]{width:100%;max-width:700px}.create-title[data-v-9808a4a1]{font-size:24px;line-height:1.3}.create-card[data-v-9808a4a1]{background:#224;border:1px solid #444;overflow:hidden}.card-top-bar[data-v-9808a4a1]{background:#1e1e3a;min-height:36px}.card-name-wrap[data-v-9808a4a1]{background:#224;padding:8px 16px 4px}.card-name-wrap[data-v-9808a4a1] .q-field__control{height:32px;min-height:32px;padding:0}.card-name-wrap[data-v-9808a4a1] input{color:#e0e0e0;font-size:15px;font-weight:500}.card-name-wrap[data-v-9808a4a1] input::placeholder{color:#555}.card-textarea-wrap[data-v-9808a4a1]{background:#224}.repo-select[data-v-9808a4a1]{min-width:160px;max-width:260px}.repo-select[data-v-9808a4a1] .q-field__prepend{align-items:center;height:auto;padding-top:0}.create-textarea[data-v-9808a4a1]{color:#d0d0d0;width:100%;padding:12px 16px 4px}.create-textarea[data-v-9808a4a1] .q-field__control{padding:0}.create-textarea[data-v-9808a4a1] textarea{color:#d0d0d0;resize:none;min-height:100px;font-size:14px;line-height:1.6}.create-textarea[data-v-9808a4a1] textarea::placeholder{color:#666}.notion-toggle-btn[data-v-9808a4a1]{background:#333;padding:2px 10px}.notion-url-wrap[data-v-9808a4a1]{background:#1e1e3a;padding:8px 0 0}.notion-url-input[data-v-9808a4a1]{padding:0 12px}.notion-url-input[data-v-9808a4a1] .q-field__control{height:36px;min-height:36px;padding:0}.notion-url-input[data-v-9808a4a1] input{color:#d0d0d0;font-size:13px}.notion-url-input[data-v-9808a4a1] input::placeholder{color:#555;font-size:12px}.notion-error[data-v-9808a4a1],.notion-valid[data-v-9808a4a1]{padding-bottom:6px}.sentry-toggle-btn[data-v-9808a4a1]{background:#333;padding:2px 10px}.sentry-url-wrap[data-v-9808a4a1]{background:#1e1e3a;padding:8px 0 0}.sentry-url-input[data-v-9808a4a1]{padding:0 12px}.sentry-url-input[data-v-9808a4a1] .q-field__control{height:36px;min-height:36px;padding:0}.sentry-url-input[data-v-9808a4a1] input{color:#d0d0d0;font-size:13px}.sentry-url-input[data-v-9808a4a1] input::placeholder{color:#555;font-size:12px}.sentry-error[data-v-9808a4a1],.sentry-valid[data-v-9808a4a1]{padding-bottom:6px}.slide-enter-active[data-v-9808a4a1],.slide-leave-active[data-v-9808a4a1]{transition:all .2s;overflow:hidden}.slide-enter-from[data-v-9808a4a1],.slide-leave-to[data-v-9808a4a1]{opacity:0;max-height:0}.slide-enter-to[data-v-9808a4a1],.slide-leave-from[data-v-9808a4a1]{opacity:1;max-height:120px}.card-bottom-bar[data-v-9808a4a1]{background:#1e1e3a;min-height:40px}.bottom-select[data-v-9808a4a1]{background:#333;min-width:60px;height:28px;padding:0 6px}.bottom-select[data-v-9808a4a1] .q-field__control{height:28px;min-height:28px;padding:0}.bottom-select[data-v-9808a4a1] .q-field__native{min-height:unset;padding:0}.bottom-select-label[data-v-9808a4a1]{color:#bbb;gap:2px;font-size:11px}.bottom-sep[data-v-9808a4a1]{color:#555;padding:0 2px;font-size:12px;line-height:1}.repo-path-wrap[data-v-9808a4a1]{background:#333;border-radius:6px;height:28px;padding:0 8px}.repo-input[data-v-9808a4a1]{min-width:140px}.repo-input[data-v-9808a4a1] .q-field__control{height:28px;min-height:28px;padding:0}.repo-input[data-v-9808a4a1] input{color:#bbb;font-size:11px}.repo-input[data-v-9808a4a1] input::placeholder{color:#666;font-size:11px}.branch-select[data-v-9808a4a1]{min-width:80px}.create-btn[data-v-9808a4a1]{color:#fff;background:#4f46e5;height:28px;padding:0 14px;font-size:12px}.create-btn[data-v-9808a4a1] .q-btn__content{height:28px}.create-hint[data-v-9808a4a1]{line-height:1.5}.fade-enter-active[data-v-9808a4a1],.fade-leave-active[data-v-9808a4a1]{transition:opacity .2s}.fade-enter-from[data-v-9808a4a1],.fade-leave-to[data-v-9808a4a1]{opacity:0}.manual-hint[data-v-9808a4a1]{background:#1e1e3a;line-height:1.4}.manual-expansion[data-v-9808a4a1]{background:#1e1e3a;border:1px solid #333;border-radius:4px;margin-top:6px;overflow:hidden}.manual-expansion[data-v-9808a4a1] .manual-expansion-header{min-height:32px;padding:4px 10px;font-size:12px}.manual-expansion[data-v-9808a4a1] .q-expansion-item__content,.manual-section-body[data-v-9808a4a1]{background:#1a1a2e}.manual-input[data-v-9808a4a1] .q-field__control{height:26px;min-height:26px;padding:0}.manual-input[data-v-9808a4a1] input{color:#e0e0e0;font-size:12px}.manual-input[data-v-9808a4a1] input::placeholder{color:#555}.manual-item[data-v-9808a4a1]{border-top:1px solid #ffffff0a}.manual-item[data-v-9808a4a1]:first-child{border-top:none}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-CAgtfoqj.js","assets/index-BJT6ZfVp.js","assets/vue-i18n-CFW7O-jl.js","assets/scroll-CHtHNzvE.js","assets/settings-BdrDg_dO.js","assets/use-checkbox-By4PLtaB.js","assets/private.use-form-BWfHn8G9.js","assets/i18n-zwZDkEfm.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-DkL3SKZ8.js","assets/marked.esm-DIsIySzr.js","assets/QSpinnerDots-DytntAbf.js","assets/ActivityFeed-CfsKExt9.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{$ as e,D as t,E as n,G as r,I as i,N as a,R as o,T as s,U as c,W as l,_ as u,a as d,d as f,f as p,g as m,it as h,m as g,n as ee,p as _,s as v,u as y,v as te,vt as b,xt as x,y as S}from"./vue-i18n-CFW7O-jl.js";import{L as C,T as w,bt as T,yt as E}from"./scroll-CHtHNzvE.js";import{i as D}from"./private.use-form-BWfHn8G9.js";import{C as ne,E as O,O as re,S as ie,f as ae,h as k,j as oe,m as se,p as A,r as ce,w as le}from"./index-BJT6ZfVp.js";import{t as ue}from"./QSpinnerDots-DytntAbf.js";import{n as j,p as de,t as M}from"./_plugin-vue_export-helper-DkL3SKZ8.js";import{t as fe}from"./QBadge-DENdn6Dv.js";import{a as pe,i as N,n as P,r as F}from"./QMenu-DDXq2SFM.js";import{n as I,t as L}from"./formatters-hnFdqDO2.js";import{t as me}from"./ClosePopup-BfANRQ7n.js";import{i as R,n as he,r as z,t as ge}from"./models-Dwzf2zDK.js";var B={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},V={key:0,class:`q-ml-xs`},_e=S({__name:`AgentBusyBanner`,setup(e){let{t}=ee(),n=re(),r=s(`openDrawerTab`),a=y(()=>n.currentSubagents.filter(e=>e.status===`running`).length),o=y(()=>{let e=n.selectedWorkspace;return e?e.status===`executing`||a.value>0:!1});function c(){r?.(`subagents`)}return(e,n)=>o.value?(i(),g(`div`,B,[u(ue,{size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),f(`span`,null,x(h(t)(`agentBusy.banner`)),1),a.value>0?(i(),g(`span`,V,` — `+x(h(t)(`agentBusy.subagentsRunning`,{n:a.value},a.value)),1)):_(``,!0),a.value>0?(i(),g(d,{key:1},[u(de),f(`span`,{class:`text-indigo-4 cursor-pointer`,style:{"text-decoration":`underline`},onClick:c},x(h(t)(`agentBusy.viewSubagents`)),1)],64)):_(``,!0)])):_(``,!0)}});function ve(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r==null?e:String(r)})}function ye(e){let t={};return e.workspace&&(t.workspace_name=e.workspace.name,t.working_branch=e.workspace.workingBranch,t.source_branch=e.workspace.sourceBranch,t.project_path=e.workspace.projectPath,t.worktree_path=`${e.workspace.projectPath}/.worktrees/${e.workspace.workingBranch}`),e.gitStats&&(t.commit_count=e.gitStats.commitCount,t.unpushed_count=e.gitStats.unpushedCount,t.files_changed=e.gitStats.filesChanged,t.insertions=e.gitStats.insertions,t.deletions=e.gitStats.deletions,e.gitStats.prNumber!=null&&(t.pr_number=e.gitStats.prNumber),e.gitStats.prUrl&&(t.pr_url=e.gitStats.prUrl),e.gitStats.prState&&(t.pr_state=e.gitStats.prState)),e.sessionName&&(t.session_name=e.sessionName),t}var be={key:0,class:`row items-center q-gutter-xs q-mb-xs q-px-xs`,style:{"flex-wrap":`wrap`}},xe={class:`text-caption image-tag-label`},Se={key:1,class:`skills-popup rounded-borders`},Ce={class:`skills-section-header`},H=[`onMousedown`],we={class:`skill-name text-caption`},U={class:`skills-section-header`},Te=[`onMousedown`],W={class:`skill-name text-caption`},G={key:0,class:`skill-description text-caption text-grey-7 q-ml-xs`},Ee={class:`skills-section-header`},K=[`onMousedown`],De={class:`skill-name text-caption`},Oe={key:0,class:`skill-description text-caption text-grey-7 q-ml-xs`},q={key:2,class:`queue-banner row items-center q-pa-xs q-px-sm text-caption text-amber-6`},ke={class:`row items-center q-gutter-sm`},Ae={class:`chat-hint row items-center text-caption text-grey-8`},je=M(S({__name:`ChatInput`,props:{workspaceId:{}},setup(n){let r=n,{t:s}=ee(),h=pe(),v=re(),te=O(),S=oe(),E=e(``),D=e(!1),ne=y(()=>{let e=v.selectedWorkspace;return e?[`executing`,`extracting`,`brainstorming`].includes(e.status):!1});async function ie(){if(r.workspaceId){D.value=!0;try{await v.interruptAgent(r.workspaceId),h.notify({type:`info`,message:s(`workspacePage.interrupted`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:s(`workspacePage.interruptFailed`);h.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}}let ae=y(()=>{let e=v.selectedWorkspace;return e?[`executing`,`extracting`,`brainstorming`].includes(e.status):!1}),k=y(()=>!!v.queuedMessages[r.workspaceId]),se=e(null);function A(){let e=se.value;return e?e.getNativeElement?.()??null:null}let le=e([]),M=e(!1),fe=e(``),N=e(0),P=y(()=>{let e=fe.value.toLowerCase(),t=t=>e===``?!0:t.toLowerCase().includes(e);return{skills:le.value.filter(e=>t(e)).map(e=>({type:`skill`,name:e})),kobo:Object.keys(I).map(e=>e.replace(/^\//,``)).filter(e=>t(e)).map(e=>({type:`kobo`,name:e})),templates:S.templates.filter(e=>t(e.slug)).map(e=>({type:`template`,name:e.slug,description:e.description}))}}),F=y(()=>[...P.value.skills,...P.value.kobo,...P.value.templates]);c(()=>F.value.length,e=>{if(e===0){N.value=0;return}N.value>=e&&(N.value=e-1)});let L=e([]),me=e(null),R=e(!1),he=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`];function z(e){let n=A(),r=n?.selectionStart??E.value.length,i=E.value.slice(0,r),a=E.value.slice(r);E.value=i+e+a,t(()=>{if(n){let t=r+e.length;n.focus(),n.setSelectionRange(t,t)}})}function ge(){let e=`[image: ${s(`chatInput.uploading`)}]`,t=new Set(L.value.map(e=>e.placeholder));if(!t.has(e))return e;let n=2;for(;t.has(`[image: ${s(`chatInput.uploading`)} ${n}]`);)n++;return`[image: ${s(`chatInput.uploading`)} ${n}]`}async function B(e){if(!he.includes(e.type))return;let t=crypto.randomUUID(),n=e.name||`pasted-image.png`,i=ge(),a={tempId:t,originalName:n,placeholder:i,status:`uploading`};L.value.push(a),z(i);try{let n=new FormData;n.append(`image`,e);let i=await fetch(`/api/workspaces/${r.workspaceId}/images`,{method:`POST`,body:n});if(!i.ok){let e=await i.json();throw Error(e.error||`Upload failed`)}let a=await i.json(),o=L.value.find(e=>e.tempId===t);if(o){o.uid=a.uid,o.path=a.path,o.status=`ready`;let e=`[image: ${a.path}]`;e!==o.placeholder&&(E.value=E.value.split(o.placeholder).join(e),o.placeholder=e)}}catch{let e=L.value.find(e=>e.tempId===t);e&&(e.status=`error`)}}function V(e,t){fetch(`/api/workspaces/${e}/images/${t}`,{method:`DELETE`}).catch(()=>{})}function _e(e){let t=L.value.find(t=>t.tempId===e);if(t){L.value=L.value.filter(t=>t.tempId!==e);{let e=t.placeholder.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);E.value=E.value.replace(RegExp(`${e}\\s?`,`g`),``)}t.uid&&V(r.workspaceId,t.uid)}}function je(e){if(e.clipboardData){for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&B(e)}}}function Me(e){if(e.preventDefault(),R.value=!1,e.dataTransfer)for(let t of Array.from(e.dataTransfer.files))he.includes(t.type)&&B(t)}function Ne(e){e.preventDefault(),R.value=!0}function Pe(){R.value=!1}function Fe(e){let t=e.target;if(t.files){for(let e of Array.from(t.files))B(e);t.value=``}}let Ie=y(()=>L.value.some(e=>e.status===`uploading`)),Le=y(()=>v.sessions.find(e=>e.id===v.selectedSessionId)??null),Re=0;async function ze(){let e=Date.now();if(!(e-Re<5e3)){Re=e;try{let e=await fetch(`/api/skills`);e.ok&&(le.value=await e.json())}catch{}}}a(ze),c(()=>v.chatDraft,e=>{e&&(E.value=E.value?`${E.value}\n${e}`:e,v.chatDraft=``)});let Be=!1;function Ve(){Be=!0,v.cancelQueuedMessage(r.workspaceId)}c(k,(e,t)=>{t&&!e&&!Be&&(E.value=``),Be=!1}),c(()=>r.workspaceId,e=>{let t=v.queuedMessages[e];E.value=t?t.content:``});function J(){let e=A();if(!e)return null;let t=e.selectionStart??E.value.length,n=E.value.slice(0,t).match(/\/([\w:.-]*)$/);return n?n[1]:null}c(E,async()=>{await t();let e=J();e===null?M.value=!1:(await ze(),fe.value=e,M.value=!0,N.value=0);let n=[];for(let e of L.value)E.value.includes(e.placeholder)||n.push(e.tempId);for(let e of n)_e(e)});function Y(e){let n=A();if(!n){E.value=e;return}let r=n.selectionStart??E.value.length,i=E.value.slice(0,r),a=E.value.slice(r),o=i.match(/\/[\w-]*$/);if(!o){E.value=e;return}let s=o.index??r;E.value=E.value.slice(0,s)+e+a,t(()=>{let t=s+e.length;n.focus(),n.setSelectionRange(t,t)})}function X(e){if(!e)return;if(e.type===`template`){let t=S.templates.find(t=>t.slug===e.name);if(!t)return;let n=v.workspaces.find(e=>e.id===r.workspaceId)??null,i=v.gitStatsCache[r.workspaceId]??null,a=v.sessions.find(e=>e.id===v.selectedSessionId)??null,o=null;if(a)if(a.name)o=a.name;else{let e=v.sessions.findIndex(e=>e.id===a.id);o=s(`workspacePage.session`,{n:v.sessions.length-e})}let c;if(i?.prUrl){let e=i.prUrl.match(/\/pull\/(\d+)/);e&&(c=parseInt(e[1],10))}let l=ye({workspace:n?{name:n.name,workingBranch:n.workingBranch,sourceBranch:n.sourceBranch,projectPath:n.projectPath}:null,gitStats:i?{commitCount:i.commitCount,unpushedCount:i.unpushedCount,filesChanged:i.filesChanged,insertions:i.insertions,deletions:i.deletions,prNumber:c,prUrl:i.prUrl,prState:i.prState}:null,sessionName:o});Y(ve(t.content,l)),M.value=!1;return}let t=`/${e.name}`;if(e.type===`kobo`&&I[t]){E.value=t,M.value=!1,Ke();return}Y(`${t} `),M.value=!1}let Z=y(()=>!r.workspaceId),Q=e(JSON.parse(localStorage.getItem(`kobo:chatHistory`)??`[]`)),$=e(-1),He=e(``);function Ue(e){e&&Q.value[0]!==e&&(Q.value.unshift(e),Q.value.length>50&&Q.value.pop(),localStorage.setItem(`kobo:chatHistory`,JSON.stringify(Q.value)))}function We(){$.value=-1,He.value=``}function Ge(e){let t=I[`/${e}`]?.descriptionKey;return t?s(t):``}async function Ke(){let e=E.value.trim();if(!e&&L.value.length===0||Z.value||Ie.value)return;let t=Le.value,n=I[e];if(n){te.sendChatMessage(r.workspaceId,n.prompt,v.selectedSessionId??void 0),v.markRead(r.workspaceId),v.addActivityItem(r.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:n.prompt,timestamp:new Date().toISOString(),sessionId:v.selectedSessionId??void 0,meta:{sender:`user`,pending:!0}}),Ue(e),We(),E.value=``;return}if(ae.value){v.queueMessage(r.workspaceId,e,v.selectedSessionId??void 0);return}v.cancelQueuedMessage(r.workspaceId);let i=e,a=L.value.filter(e=>e.status===`ready`&&e.path&&!i.includes(`[image: ${e.path}]`)).map(e=>`[image: ${e.path}]`).join(` `);a&&(i=`${i} ${a}`.trim());let o=v.selectedSessionId??void 0;if((t?.status===`completed`||t?.status===`error`)&&!t.claudeSessionId){h.notify({type:`warning`,message:s(`workspacePage.sessionEndedNotice`),position:`top`,timeout:5e3});return}let c=`user-${Date.now()}`;v.markRead(r.workspaceId),v.addActivityItem(r.workspaceId,{id:c,type:`text`,content:i,timestamp:new Date().toISOString(),sessionId:o,meta:{sender:`user`,pending:!0}});let l=e;Ue(e),We(),E.value=``,L.value=[];let u=(e,t)=>{console.error(`[ChatInput] ${t} failed:`,e),v.removeActivityItem(r.workspaceId,c),E.value=l;let n=e instanceof Error?e.message:null;h.notify({type:`negative`,message:n??s(`workspacePage.startFailed`),position:`top`,timeout:6e3})};if(t?.status===`idle`)try{await v.startWorkspace(r.workspaceId,i,t.id),await v.fetchSessions(r.workspaceId)}catch(e){u(e,`startWorkspace`)}else if(t?.status===`completed`||t?.status===`error`)try{await v.startWorkspace(r.workspaceId,i,t.id,!0),await v.fetchSessions(r.workspaceId)}catch(e){u(e,`resume session`)}else te.sendChatMessage(r.workspaceId,i,v.selectedSessionId??void 0)}function qe(e){if(M.value&&F.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),N.value=Math.min(N.value+1,F.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),N.value=Math.max(N.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),X(F.value[N.value]);return}if(e.key===`Escape`){e.preventDefault(),M.value=!1;return}}if(e.key===`ArrowUp`&&Q.value.length>0){let t=e.target;if(!(!t||t.selectionStart<=(E.value.indexOf(`
|
|
3
|
-
`)===-1?E.value.length:E.value.indexOf(`
|
|
4
|
-
`)))&&$.value===-1)return;e.preventDefault(),$.value===-1&&(He.value=E.value),$.value<Q.value.length-1&&($.value++,E.value=Q.value[$.value]);return}if(e.key===`ArrowDown`&&$.value>=0){e.preventDefault(),$.value--,E.value=$.value>=0?Q.value[$.value]:He.value;return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),Ke())}return(e,t)=>(i(),g(`div`,{class:b([`chat-input-container column q-pa-sm`,{"chat-input-dragging":R.value}]),onDragover:Ne,onDragleave:Pe,onDrop:Me},[L.value.length>0?(i(),g(`div`,be,[(i(!0),g(d,null,o(L.value,t=>(i(),g(`div`,{key:t.tempId,class:b([`image-tag row items-center q-px-sm q-py-xs rounded-borders`,{"image-tag--uploading":t.status===`uploading`,"image-tag--ready":t.status===`ready`,"image-tag--error":t.status===`error`}])},[t.status===`uploading`?(i(),p(ue,{key:0,size:`14px`,color:`grey-6`,class:`q-mr-xs`})):t.status===`ready`?(i(),p(C,{key:1,name:`image`,size:`14px`,color:`green-6`,class:`q-mr-xs`})):(i(),p(C,{key:2,name:`error`,size:`14px`,color:`red-6`,class:`q-mr-xs`})),f(`span`,xe,x(t.status===`uploading`?e.$t(`chatInput.uploading`):t.path||t.originalName),1),u(w,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,class:`q-ml-xs image-tag-close`,onClick:e=>_e(t.tempId)},{default:l(()=>[u(j,null,{default:l(()=>[m(x(e.$t(`tooltip.removeImage`)),1)]),_:1})]),_:1},8,[`onClick`])],2))),128))])):_(``,!0),M.value&&F.value.length>0?(i(),g(`div`,Se,[P.value.skills.length>0?(i(),g(d,{key:0},[f(`div`,Ce,x(e.$t(`chatInput.dropdownSkills`)),1),(i(!0),g(d,null,o(P.value.skills,e=>(i(),g(`div`,{key:`skill-${e.name}`,class:b([`skill-item row items-center q-px-sm q-py-xs cursor-pointer`,{"skill-item--active":F.value.indexOf(e)===N.value}]),onMousedown:T(t=>X(e),[`prevent`])},[u(C,{name:`bolt`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),f(`span`,we,x(e.name),1)],42,H))),128))],64)):_(``,!0),P.value.kobo.length>0?(i(),g(d,{key:1},[f(`div`,U,x(e.$t(`chatInput.dropdownKobo`)),1),(i(!0),g(d,null,o(P.value.kobo,e=>(i(),g(`div`,{key:`kobo-${e.name}`,class:b([`skill-item row items-center q-px-sm q-py-xs cursor-pointer`,{"skill-item--active":F.value.indexOf(e)===N.value}]),onMousedown:T(t=>X(e),[`prevent`])},[u(C,{name:`terminal`,size:`12px`,color:`teal-4`,class:`q-mr-xs`}),f(`span`,W,`/`+x(e.name),1),Ge(e.name)?(i(),g(`span`,G,`— `+x(Ge(e.name)),1)):_(``,!0)],42,Te))),128))],64)):_(``,!0),P.value.templates.length>0?(i(),g(d,{key:2},[f(`div`,Ee,x(e.$t(`chatInput.dropdownTemplates`)),1),(i(!0),g(d,null,o(P.value.templates,e=>(i(),g(`div`,{key:`tpl-${e.name}`,class:b([`skill-item row items-center q-px-sm q-py-xs cursor-pointer`,{"skill-item--active":F.value.indexOf(e)===N.value}]),onMousedown:T(t=>X(e),[`prevent`])},[u(C,{name:`description`,size:`12px`,color:`amber-4`,class:`q-mr-xs`}),f(`span`,De,`/`+x(e.name),1),e.description?(i(),g(`span`,Oe,`— `+x(e.description),1)):_(``,!0)],42,K))),128))],64)):_(``,!0)])):_(``,!0),k.value?(i(),g(`div`,q,[u(C,{name:`schedule`,size:`14px`,color:`amber-6`,class:`q-mr-sm`}),f(`span`,null,x(e.$t(`chatInput.queueBanner`)),1)])):_(``,!0),f(`div`,ke,[u(ce,{ref_key:`chatInputRef`,ref:se,modelValue:E.value,"onUpdate:modelValue":t[0]||=e=>E.value=e,dense:``,dark:``,borderless:``,autogrow:``,readonly:k.value,placeholder:e.$t(`chatInput.placeholder`),class:`chat-input col rounded-borders`,disable:Z.value,onKeydown:qe,onPaste:je},null,8,[`modelValue`,`readonly`,`placeholder`,`disable`]),f(`input`,{ref_key:`fileInputRef`,ref:me,type:`file`,accept:`image/png,image/jpeg,image/gif,image/webp`,multiple:``,style:{display:`none`},onChange:Fe},null,544),u(w,{flat:``,dense:``,icon:`attach_file`,color:`grey-6`,disable:Z.value,onClick:t[1]||=e=>me.value?.click()},{default:l(()=>[u(j,null,{default:l(()=>[m(x(e.$t(`chatInput.attachImage`)),1)]),_:1})]),_:1},8,[`disable`]),k.value?(i(),p(w,{key:0,flat:``,dense:``,icon:`cancel`,color:`orange`,onClick:Ve},{default:l(()=>[u(j,null,{default:l(()=>[m(x(e.$t(`chatInput.cancelQueue`)),1)]),_:1})]),_:1})):(i(),p(w,{key:1,flat:``,dense:``,icon:`send`,color:`primary`,disable:Z.value||!E.value.trim()&&L.value.length===0||Ie.value,onClick:Ke},{default:l(()=>[u(j,null,{default:l(()=>[m(x(e.$t(`tooltip.sendMessage`)),1)]),_:1})]),_:1},8,[`disable`]))]),f(`div`,Ae,[f(`div`,null,[t[2]||=f(`kbd`,null,`Enter`,-1),m(` `+x(e.$t(`common.send`))+` `,1),t[3]||=f(`span`,{class:`q-mx-xs`},`·`,-1),t[4]||=m(),t[5]||=f(`kbd`,null,`Shift+Enter`,-1),m(` `+x(e.$t(`common.newLine`))+` `,1),t[6]||=f(`span`,{class:`q-mx-xs`},`·`,-1),t[7]||=m(),t[8]||=f(`kbd`,null,`↑↓`,-1),m(` `+x(e.$t(`common.history`)),1)]),u(de),ne.value?(i(),p(w,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`orange-4`,icon:`pause`,label:e.$t(`workspacePage.interrupt`),loading:D.value,disable:D.value,onClick:ie},{default:l(()=>[u(j,null,{default:l(()=>[m(x(e.$t(`workspacePage.interruptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],34))}}),[[`__scopeId`,`data-v-5052bbac`]]),Me={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},Ne={class:`text-body1 text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`480px`}},Pe={class:`row items-center no-wrap text-caption text-grey-5`},Fe={class:`row items-center no-wrap text-caption text-grey-5`},Ie={class:`row items-center no-wrap text-caption text-grey-5`},Le={key:1,class:`text-body2 text-grey-8`},Re={class:`col column items-center justify-center`},ze={class:`text-grey-6 text-caption q-mt-sm`},Be={class:`text-subtitle1`},Ve=M(S({__name:`WorkspacePage`,setup(t){let o=te(()=>Promise.all([ie(()=>import(`./ActivityFeed-CAgtfoqj.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),s=pe(),S=re(),{t:O}=ee(),{timeAgo:oe}=L(),M=e(!1),I=e(!1),B=new Set;function V(e){B.add(e),e.finally(()=>{B.delete(e)})}async function ve(){B.size!==0&&await Promise.allSettled([...B])}async function ye(){if(S.selectedWorkspaceId){M.value=!0;try{await ve(),await S.startWorkspace(S.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:O(`workspacePage.startFailed`);s.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{M.value=!1}}}e(!1);async function be(){if(S.selectedWorkspaceId){I.value=!0;try{await S.stopWorkspace(S.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:O(`workspacePage.stopFailed`);s.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{I.value=!1}}}let xe=y(()=>[...ge.map(e=>({label:O(e.i18nLabelKey),value:e.value}))]),Se=y(()=>[{label:U(O(`reasoning.auto`)),value:`auto`},{label:U(O(`reasoning.low`)),value:`low`},{label:U(O(`reasoning.medium`)),value:`medium`},{label:U(O(`reasoning.high`)),value:`high`},{label:U(O(`reasoning.max`)),value:`max`}]),Ce=y(()=>[{label:O(`permissionMode.autoAccept`),value:`auto-accept`},{label:O(`permissionMode.plan`),value:`plan`}]),H=y({get:()=>S.selectedWorkspace?.model??`auto`,set:e=>{S.selectedWorkspaceId&&V(S.updateModel(S.selectedWorkspaceId,e))}}),we=y({get:()=>S.selectedWorkspace?.reasoningEffort??`auto`,set:e=>{S.selectedWorkspaceId&&V(S.updateReasoningEffort(S.selectedWorkspaceId,e))}});function U(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}function Te(e){return Se.value.find(t=>t.value===e)?.label??e}let W=y({get:()=>S.selectedWorkspace?.permissionMode??`auto-accept`,set:e=>{S.selectedWorkspaceId&&V(S.updatePermissionMode(S.selectedWorkspaceId,e))}}),G=y(()=>{let e=S.selectedWorkspaceId;if(!e)return{inputTokens:0,outputTokens:0,costUsd:0,totalTokens:0};let t=S.usageStats[e]??{inputTokens:0,outputTokens:0,costUsd:0};return{inputTokens:t.inputTokens,outputTokens:t.outputTokens,costUsd:t.costUsd,totalTokens:t.inputTokens+t.outputTokens}});function Ee(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}let K=ne(),De=le(),Oe=y(()=>S.selectedWorkspaceId),q=y(()=>S.selectedWorkspace),ke=y(()=>S.sessions),Ae=y({get:()=>S.selectedSessionId,set:e=>{if(e===`__new__`){He();return}if(!e)return;S.selectSession(e);let t={...K.query};t.session=e,De.replace({query:t})}}),Ve=y(()=>[...S.sessions.map((e,t)=>({label:e.name??O(`workspacePage.session`,{n:S.sessions.length-t}),value:e.id,caption:oe(e.startedAt),isSession:!0})),{label:O(`workspacePage.newSession`),value:`__new__`,caption:``,isSession:!1}]),J=e(!1),Y=e(null),X=e(``),Z=e(!1);function Q(e,t){let n=S.sessions.find(t=>t.id===e);n&&(Y.value={id:e},X.value=n.name??t,J.value=!0)}async function $(){if(!(!Y.value||!S.selectedWorkspaceId))try{await S.renameSession(S.selectedWorkspaceId,Y.value.id,X.value.trim())}catch(e){console.error(`[WorkspacePage] renameSession failed:`,e),s.notify({type:`negative`,message:O(`workspacePage.renameFailed`),position:`top`})}finally{J.value=!1}}async function He(){if(S.selectedWorkspaceId){Z.value=!0;try{await S.createSession(S.selectedWorkspaceId)}catch(e){console.error(`[WorkspacePage] createSession failed:`,e);let t=e instanceof Error?e.message:null;s.notify({type:`negative`,message:t??O(`workspacePage.createSessionFailed`),position:`top`,timeout:6e3})}finally{Z.value=!1}}}return a(()=>{let e=K.params.id;e&&S.selectWorkspace(e);let t=K.query.session;t&&S.selectSession(t)}),c(()=>K.params.id,e=>{e&&e!==S.selectedWorkspaceId&&S.selectWorkspace(e)}),(e,t)=>(i(),p(he,{class:`column no-wrap`,style:{height:`100vh`}},{default:l(()=>[f(`div`,Me,[q.value?(i(),g(d,{key:0},[f(`span`,Ne,[m(x(q.value.name)+` `,1),u(j,null,{default:l(()=>[m(x(q.value.name),1)]),_:1})]),u(fe,{label:q.value.status,color:[`error`,`quota`].includes(q.value.status)?`red-9`:[`extracting`,`brainstorming`,`executing`].includes(q.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),G.value.totalTokens>0?(i(),p(R,{key:0,dense:``,color:`grey-9`,"text-color":`grey-3`,class:`q-ml-sm`,style:{"font-size":`10px`}},{default:l(()=>[u(C,{name:`toll`,size:`12px`,class:`q-mr-xs`}),f(`span`,null,x(e.$t(`stats.tokens`))+`: `+x(Ee(G.value.totalTokens)),1),u(j,null,{default:l(()=>[m(x(e.$t(`stats.inputTokens`))+`: `+x(Ee(G.value.inputTokens)),1),t[6]||=f(`br`,null,null,-1),m(` `+x(e.$t(`stats.outputTokens`))+`: `+x(Ee(G.value.outputTokens)),1)]),_:1})]),_:1})):_(``,!0),G.value.costUsd>0?(i(),p(R,{key:1,dense:``,color:`grey-9`,"text-color":`grey-3`,class:`q-ml-xs`,style:{"font-size":`10px`}},{default:l(()=>[u(C,{name:`attach_money`,size:`12px`,class:`q-mr-xs`}),f(`span`,null,x(e.$t(`stats.cost`))+`: $`+x(G.value.costUsd.toFixed(4)),1)]),_:1})):_(``,!0),ke.value.length>0?(i(),p(z,{key:2,modelValue:Ae.value,"onUpdate:modelValue":t[0]||=e=>Ae.value=e,options:Ve.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,loading:Z.value,disable:Z.value,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},{option:l(e=>[e.opt.isSession?_(``,!0):(i(),p(D,{key:0,spaced:``})),u(P,n(e.itemProps,{clickable:``,dense:``,class:`row items-center no-wrap`}),{default:l(()=>[u(N,null,{default:l(()=>[u(F,{class:b(e.opt.isSession?``:`text-grey-5`)},{default:l(()=>[m(x(e.opt.label),1)]),_:2},1032,[`class`]),e.opt.caption?(i(),p(F,{key:0,caption:``},{default:l(()=>[m(x(e.opt.caption),1)]),_:2},1024)):_(``,!0)]),_:2},1024),e.opt.isSession?(i(),p(N,{key:0,side:``},{default:l(()=>[u(w,{icon:`more_vert`,flat:``,dense:``,round:``,size:`xs`,color:`grey-6`,onClick:T(t=>Q(e.opt.value,e.opt.label),[`stop`])},null,8,[`onClick`])]),_:2},1024)):_(``,!0)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])):_(``,!0),u(de),u(z,{modelValue:W.value,"onUpdate:modelValue":t[1]||=e=>W.value=e,options:Ce.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-xs`,style:{"min-width":`80px`,"max-width":`140px`,"font-size":`11px`}},{selected:l(()=>[f(`span`,Pe,[u(C,{name:W.value===`plan`?`visibility`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),m(` `+x(Ce.value.find(e=>e.value===W.value)?.label??W.value),1)])]),_:1},8,[`modelValue`,`options`]),u(z,{modelValue:H.value,"onUpdate:modelValue":t[2]||=e=>H.value=e,options:xe.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm model-select`,style:{"min-width":`100px`,"max-width":`160px`,"font-size":`11px`}},{selected:l(()=>[f(`span`,Fe,[u(C,{name:`auto_awesome`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),m(` `+x(xe.value.find(e=>e.value===H.value)?.label??H.value),1)])]),_:1},8,[`modelValue`,`options`]),u(z,{modelValue:we.value,"onUpdate:modelValue":t[3]||=e=>we.value=e,options:Se.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm`,style:{"min-width":`90px`,"max-width":`140px`,"font-size":`11px`}},{selected:l(()=>[f(`span`,Ie,[u(C,{name:`psychology`,size:`12px`,color:`amber-6`,class:`q-mr-xs`}),m(` `+x(Te(we.value)),1)])]),_:1},8,[`modelValue`,`options`]),[`created`,`idle`,`completed`,`error`,`quota`].includes(q.value.status)?(i(),p(w,{key:3,dense:``,"no-caps":``,size:`sm`,color:`positive`,icon:`play_arrow`,label:e.$t(`common.start`),class:`q-mr-xs`,loading:M.value,disable:M.value,onClick:ye},null,8,[`label`,`loading`,`disable`])):_(``,!0),[`extracting`,`brainstorming`,`executing`].includes(q.value.status)?(i(),p(w,{key:4,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:e.$t(`common.stop`),class:`q-mr-xs`,loading:I.value,disable:I.value,onClick:be},null,8,[`label`,`loading`,`disable`])):_(``,!0)],64)):(i(),g(`span`,Le,x(e.$t(`workspacePage.selectWorkspace`)),1))]),u(D,{dark:``}),(i(),p(v,null,{fallback:l(()=>[f(`div`,Re,[u(ue,{size:`40px`,color:`indigo-4`}),f(`div`,ze,x(e.$t(`common.loading`)),1)])]),default:l(()=>[u(h(o),{class:`col`,style:{"min-height":`0`}})]),_:1})),u(_e),Oe.value?(i(),p(je,{key:0,"workspace-id":Oe.value},null,8,[`workspace-id`])):_(``,!0),u(k,{modelValue:J.value,"onUpdate:modelValue":t[5]||=e=>J.value=e,persistent:``},{default:l(()=>[u(se,{dark:``,style:{"min-width":`320px`}},{default:l(()=>[u(A,null,{default:l(()=>[f(`div`,Be,x(h(O)(`workspacePage.renameSessionTitle`)),1)]),_:1}),u(A,null,{default:l(()=>[u(ce,{modelValue:X.value,"onUpdate:modelValue":t[4]||=e=>X.value=e,label:h(O)(`workspacePage.sessionNameLabel`),dark:``,dense:``,autofocus:``,onKeyup:E($,[`enter`])},null,8,[`modelValue`,`label`])]),_:1}),u(ae,{align:`right`},{default:l(()=>[r(u(w,{flat:``,label:h(O)(`common.cancel`)},null,8,[`label`]),[[me]]),u(w,{flat:``,color:`primary`,label:h(O)(`workspacePage.renameSession`),disable:!X.value.trim(),onClick:$},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-843ebcb6`]]);export{Ve as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.chat-input-container[data-v-5052bbac]{background-color:#16162a;border-top:1px solid #2a2a4a;min-height:48px;position:relative}.chat-input-container.chat-input-dragging[data-v-5052bbac]{outline-offset:-2px;outline:2px dashed #6c63ff}.chat-input[data-v-5052bbac]{background-color:#224;padding:4px 12px}.chat-input[data-v-5052bbac] .q-field__control{min-height:32px}.chat-input[data-v-5052bbac] textarea,.chat-input[data-v-5052bbac] input{color:#ccc;font-size:13px}.skills-popup[data-v-5052bbac]{z-index:9999;background-color:#1e1e3a;border:1px solid #2a2a4a;max-height:300px;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px;overflow-y:auto;box-shadow:0 -4px 16px #0006}.skills-section-header[data-v-5052bbac]{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;border-top:1px solid #ffffff0d;padding:4px 12px;font-size:10px}.skills-section-header[data-v-5052bbac]:first-child{border-top:none}.skill-item[data-v-5052bbac]{font-family:Roboto Mono,monospace}.skill-item[data-v-5052bbac]:hover,.skill-item--active[data-v-5052bbac]{background-color:#6c63ff26}.image-tag[data-v-5052bbac]{font-family:Roboto Mono,monospace;font-size:12px;line-height:1}.image-tag--uploading[data-v-5052bbac]{color:#88a;background-color:#2a2a4a;border:1px solid #3a3a5a}.image-tag--ready[data-v-5052bbac]{color:#6aaa6a;background-color:#1a2a1a;border:1px solid #2a4a2a}.image-tag--error[data-v-5052bbac]{color:#aa6a6a;background-color:#2a1a1a;border:1px solid #4a2a2a}.image-tag-label[data-v-5052bbac]{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.chat-hint[data-v-5052bbac]{text-align:left;padding:2px 4px 0;font-size:10px}.chat-hint kbd[data-v-5052bbac]{background-color:#2a2a4a;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:9px}.queue-banner[data-v-5052bbac]{background-color:#2a2a1a;border-bottom:1px solid #4a4a2a}.image-tag-close[data-v-5052bbac]{color:#a44;opacity:.7}.image-tag-close[data-v-5052bbac]:hover{opacity:1}.wp-header[data-v-843ebcb6]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./i18n-zwZDkEfm.js";import{T as t}from"./index-BJT6ZfVp.js";var n=t(({app:t})=>{t.use(e)});export{n as default};
|