@loicngr/kobo 1.7.10 → 1.7.11
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/routes/workspaces.js +13 -2
- package/dist/server/services/settings-service.js +14 -0
- package/dist/server/services/skill-suite-prompts.js +78 -2
- package/dist/shared/skill-suite-prompts.js +5 -1
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CKjFT9t6.js → ActivityFeed-BAASG3py.js} +1 -1
- package/src/client/dist/spa/assets/{ClosePopup-DMnQG6nw.js → ClosePopup-Bs-9Klyd.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-BhFrUkEN.js → CreatePage-D9AbgeOT.js} +1 -1
- package/src/client/dist/spa/assets/{DiffViewer-BSnvba7W.js → DiffViewer-xnpaPL3h.js} +3 -3
- package/src/client/dist/spa/assets/{HealthPage-DZYZWGHp.js → HealthPage-DWNcejdz.js} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-C45J7rSF.css → MainLayout-CQRtNn82.css} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-CMuiNpet.js → MainLayout-DZCswY_D.js} +2 -2
- package/src/client/dist/spa/assets/QChip-CQZIeDHV.js +36 -0
- package/src/client/dist/spa/assets/{QExpansionItem-Fij7yBbG.js → QExpansionItem-DQ66zLAu.js} +1 -1
- package/src/client/dist/spa/assets/{QMenu-CMoolewZ.js → QMenu-pgVPfC7Y.js} +1 -1
- package/src/client/dist/spa/assets/{QTooltip-CbLXk2Bs.js → QTooltip-CTNw68oZ.js} +1 -1
- package/src/client/dist/spa/assets/{SearchPage-CBSgEvVF.js → SearchPage-B3emm2UD.js} +1 -1
- package/src/client/dist/spa/assets/SettingsPage-B3Kn6fwZ.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-j5vhq9YJ.js +9 -0
- package/src/client/dist/spa/assets/{TouchPan-DiBNjOPH.js → TouchPan-SGRB-xYE.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-BTHvQga-.js → WorkspacePage-DmoPjAV6.js} +3 -3
- package/src/client/dist/spa/assets/{build-path-tree-BmBqRiCQ.js → build-path-tree-DGuSpWFG.js} +1 -1
- package/src/client/dist/spa/assets/{cssMode-ypFF7quM.js → cssMode-BSeHrn8-.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-DtpZuH_B.js → editor.api-Dgjer8XO.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-C7a7L2WP.js → editor.main-DbnmDA5w.js} +3 -3
- package/src/client/dist/spa/assets/{engineFeatures-BxAOQcPU.js → engineFeatures-BqiWw0xn.js} +1 -1
- package/src/client/dist/spa/assets/{expand-template-GaEux9_o.js → expand-template-_Y9C3CjP.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-DUBmhe3W.js → freemarker2-C1QMrvUv.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-_XEXkADl.js → handlebars-DgiZwx-t.js} +1 -1
- package/src/client/dist/spa/assets/{html-D8gmyhgI.js → html-CiU03AFd.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-B84S5YOM.js → htmlMode-lj6pNn2T.js} +1 -1
- package/src/client/dist/spa/assets/i18n-KyQESqOg.js +1 -0
- package/src/client/dist/spa/assets/index-ABhgwrBB.js +2 -0
- package/src/client/dist/spa/assets/{javascript-500DcdS9.js → javascript-Bf_RmvhA.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-DmrWg6b7.js → jsonMode-DkzIh92L.js} +1 -1
- package/src/client/dist/spa/assets/{kobo-commands-DCoQW_NQ.js → kobo-commands-thKpumUN.js} +1 -1
- package/src/client/dist/spa/assets/{liquid-CfPJszlt.js → liquid-Cg7OHXeJ.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-DtjLwENT.js → mdx-l_W5gHfE.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-CxiO5UJd.js → monaco.contribution-DBBmYj6f.js} +2 -2
- package/src/client/dist/spa/assets/{notifications-CEyiPnmw.js → notifications-C4jB7A2f.js} +1 -1
- package/src/client/dist/spa/assets/{permissionModes-CPZlEHoF.js → permissionModes-CRue7srp.js} +1 -1
- package/src/client/dist/spa/assets/{project-color-C4vMEn4C.js → project-color-5UmDpA6C.js} +1 -1
- package/src/client/dist/spa/assets/{purify.es-C92_EGvT.js → purify.es-BYydQXtR.js} +1 -1
- package/src/client/dist/spa/assets/{python-BS46_AMt.js → python-BEqDMyrj.js} +1 -1
- package/src/client/dist/spa/assets/{razor-Ce9zcIFo.js → razor-CG3ZSgSC.js} +1 -1
- package/src/client/dist/spa/assets/{render-chat-markdown-BvJwlMiW.js → render-chat-markdown-C9L-kzlg.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-Cr9FJjYY.js → tsMode-CWoApSbW.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-Ov3wChBg.js → typescript-CTk1WfV6.js} +1 -1
- package/src/client/dist/spa/assets/{use-panel-lBh91vcW.js → use-panel-CZnY7pfY.js} +1 -1
- package/src/client/dist/spa/assets/{xml-euA4jBI1.js → xml-CSZMdRGt.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-BuPSq_BT.js → yaml-tWozZ5pP.js} +1 -1
- package/src/client/dist/spa/index.html +2 -2
- package/src/client/dist/spa/assets/QChip-BgzxI33B.js +0 -36
- package/src/client/dist/spa/assets/SettingsPage-C7TkcKXU.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-pY-zbPxn.js +0 -9
- package/src/client/dist/spa/assets/i18n-DLoe3l25.js +0 -1
- package/src/client/dist/spa/assets/index-Dx_W9yYo.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,Q as t,S as n,k as r,l as i,y as ee}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as a,P as o,R as s,k as te,n as ne,r as c,s as re}from"./QIcon-qfJNZLIW.js";import{o as ie}from"./use-id-_7wiRcgb.js";import{A as l,M as u,N as d,O as f,P as p,S as m,d as h,f as g,j as _,k as v,l as ae,m as oe,u as se,v as y,x as ce}from"./notifications-
|
|
1
|
+
import{H as e,Q as t,S as n,k as r,l as i,y as ee}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as a,P as o,R as s,k as te,n as ne,r as c,s as re}from"./QIcon-qfJNZLIW.js";import{o as ie}from"./use-id-_7wiRcgb.js";import{A as l,M as u,N as d,O as f,P as p,S as m,d as h,f as g,j as _,k as v,l as ae,m as oe,u as se,v as y,x as ce}from"./notifications-C4jB7A2f.js";import{l as le}from"./QBtn-CaJSOyt8.js";import{a as b,c as ue,i as x,l as de,n as S,o as fe,r as C,s as w,u as T}from"./QTooltip-CTNw68oZ.js";var E=o({name:`QMenu`,inheritAttrs:!1,props:{...T,...u,...c,...v,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:b},self:{type:String,validator:b},offset:{type:Array,validator:x},scrollTarget:y,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[..._,`click`,`escapeKey`],setup(o,{slots:c,emit:u,attrs:_}){let v=null,y,b,x,T=ee(),{proxy:E}=T,{$q:D}=E,O=t(null),k=t(!1),A=i(()=>o.persistent!==!0&&o.noRouteDismiss!==!0),j=ne(o,D),{registerTick:M,removeTick:N}=d(),{registerTimeout:P}=p(),{transitionProps:F,transitionStyle:I}=f(o),{localScrollTarget:L,changeScrollEvent:R,unconfigureScrollTarget:pe}=ue(o,X),{anchorEl:z,canShow:B}=de({showing:k}),{hide:V}=l({showing:k,canShow:B,handleShow:ve,handleHide:J,hideOnRouteChange:A,processOnMount:!0}),{showPortal:H,hidePortal:U,renderPortal:me}=ce(T,O,be,`menu`),W={anchorEl:z,innerRef:O,onClickOutside(e){if(o.persistent!==!0&&k.value===!0)return V(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&a(e),!0}},G=i(()=>S(o.anchor||(o.cover===!0?`center middle`:`bottom start`),D.lang.rtl)),he=i(()=>o.cover===!0?G.value:S(o.self||`top start`,D.lang.rtl)),ge=i(()=>(o.square===!0?` q-menu--square`:``)+(j.value===!0?` q-menu--dark q-dark`:``)),_e=i(()=>o.autoClose===!0?{onClick:ye}:{}),K=i(()=>k.value===!0&&o.persistent!==!0);e(K,e=>{e===!0?(h(Q),fe(W)):(g(Q),w(W))});function q(){ie(()=>{let e=O.value;e&&e.contains(document.activeElement)!==!0&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function ve(t){if(v=o.noRefocus===!1?document.activeElement:null,ae(Z),H(),X(),y=void 0,t!==void 0&&(o.touchPosition||o.contextMenu)){let e=te(t);if(e.left!==void 0){let{top:t,left:n}=z.value.getBoundingClientRect();y={left:e.left-n,top:e.top-t}}}b===void 0&&(b=e(()=>D.screen.width+`|`+D.screen.height+`|`+o.self+`|`+o.anchor+`|`+D.lang.rtl,$)),o.noFocus!==!0&&document.activeElement.blur(),M(()=>{$(),o.noFocus!==!0&&q()}),P(()=>{D.platform.is.ios===!0&&(x=o.autoClose,O.value.click()),$(),H(!0),u(`show`,t)},o.transitionDuration)}function J(e){N(),U(),Y(!0),v!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?v.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||v).focus(),v=null),P(()=>{U(!0),u(`hide`,e)},o.transitionDuration)}function Y(e){y=void 0,b!==void 0&&(b(),b=void 0),(e===!0||k.value===!0)&&(se(Z),pe(),w(W),g(Q)),e!==!0&&(v=null)}function X(){(z.value!==null||o.scrollTarget!==void 0)&&(L.value=oe(z.value,o.scrollTarget),R(L.value,$))}function ye(e){x===!0?x=!1:(m(E,e),u(`click`,e))}function Z(e){K.value===!0&&o.noFocus!==!0&&le(O.value,e.target)!==!0&&q()}function Q(e){o.noEscDismiss!==!0&&(u(`escapeKey`),V(e))}function $(){C({targetEl:O.value,offset:o.offset,anchorEl:z.value,anchorOrigin:G.value,selfOrigin:he.value,absoluteOffset:y,fit:o.fit,cover:o.cover,maxHeight:o.maxHeight,maxWidth:o.maxWidth})}function be(){return n(s,F.value,()=>k.value===!0?n(`div`,{role:`menu`,..._,ref:O,tabindex:-1,class:[`q-menu q-position-engine scroll`+ge.value,_.class],style:[_.style,I.value],..._e.value},re(c.default)):null)}return r(Y),Object.assign(E,{focus:q,updatePosition:$}),me}});export{E as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,H as t,M as n,Q as r,S as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{A as c,C as l,D as u,N as d,P as f,R as p,b as m,s as h,w as g}from"./QIcon-qfJNZLIW.js";import{d as _,f as v}from"./use-id-_7wiRcgb.js";import{A as y,M as b,N as x,O as S,P as ee,T as C,h as w,j as T,k as E,m as te,v as D,x as ne}from"./notifications-CEyiPnmw.js";var O=f({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let r=!1,o,s,c=null,l=null,u,d;function f(){o?.(),o=null,r=!1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null),s?.removeEventListener(`transitionend`,u),u=null}function m(t,n,i){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,r=!0,o=i}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,f(),t!==d&&n(t)}function g(t,n){let i=0;s=t,r===!0?(f(),i=t.offsetHeight===t.scrollHeight?0:void 0):(d=`hide`,t.style.overflowY=`hidden`),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}function _(t,n){let i;s=t,r===!0?f():(d=`show`,t.style.overflowY=`hidden`,i=t.scrollHeight),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=0,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}return a(()=>{r===!0&&f()}),()=>i(p,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}});function k(){if(window.getSelection!==void 0){let e=window.getSelection();e.empty===void 0?e.removeAllRanges!==void 0&&(e.removeAllRanges(),_.is.mobile!==!0&&e.addRange(document.createRange())):e.empty()}else document.selection!==void 0&&document.selection.empty()}function A(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function j(e,t,n){if(n<=t)return t;let r=n-t+1,i=t+(e-t)%r;return i<t&&(i=r+i),i===0?0:i}var M={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},N={...M,contextMenu:Boolean};function P({showing:i,avoidEmit:o,configureAnchorEl:u}){let{props:d,proxy:f,emit:p}=s(),h=r(null),_=null;function v(e){return h.value===null?!1:e===void 0||e.touches===void 0||e.touches.length<=1}let y={};u===void 0&&(Object.assign(y,{hide(e){f.hide(e)},toggle(e){f.toggle(e),e.qAnchorHandled=!0},toggleKey(e){m(e,13)===!0&&y.toggle(e)},contextClick(t){f.hide(t),c(t),e(()=>{f.show(t),t.qAnchorHandled=!0})},prevent:c,mobileTouch(e){if(y.mobileCleanup(e),v(e)!==!0)return;f.hide(e),h.value.classList.add(`non-selectable`);let t=e.target;l(y,`anchor`,[[t,`touchmove`,`mobileCleanup`,`passive`],[t,`touchend`,`mobileCleanup`,`passive`],[t,`touchcancel`,`mobileCleanup`,`passive`],[h.value,`contextmenu`,`prevent`,`notPassive`]]),_=setTimeout(()=>{_=null,f.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(e){h.value.classList.remove(`non-selectable`),_!==null&&(clearTimeout(_),_=null),i.value===!0&&e!==void 0&&k()}}),u=function(e=d.contextMenu){if(d.noParentEvent===!0||h.value===null)return;let t;t=e===!0?f.$q.platform.is.mobile===!0?[[h.value,`touchstart`,`mobileTouch`,`passive`]]:[[h.value,`mousedown`,`hide`,`passive`],[h.value,`contextmenu`,`contextClick`,`notPassive`]]:[[h.value,`click`,`toggle`,`passive`],[h.value,`keyup`,`toggleKey`,`passive`]],l(y,`anchor`,t)});function b(){g(y,`anchor`)}function x(e){for(h.value=e;h.value.classList.contains(`q-anchor--skip`);)h.value=h.value.parentNode;u()}function S(){if(d.target===!1||d.target===``||f.$el.parentNode===null)h.value=null;else if(d.target===!0)x(f.$el.parentNode);else{let e=d.target;if(typeof d.target==`string`)try{e=document.querySelector(d.target)}catch{e=void 0}e==null?(h.value=null,console.error(`Anchor: target "${d.target}" not found`)):(h.value=e.$el||e,u())}}return t(()=>d.contextMenu,e=>{h.value!==null&&(b(),u(e))}),t(()=>d.target,()=>{h.value!==null&&b(),S()}),t(()=>d.noParentEvent,e=>{h.value!==null&&(e===!0?b():u())}),n(()=>{S(),o!==!0&&d.modelValue===!0&&h.value===null&&p(`update:modelValue`,!1)}),a(()=>{_!==null&&clearTimeout(_),b()}),{anchorEl:h,canShow:v,anchorEvents:y}}function F(e,n){let i=r(null),o;function s(e,t){let n=`${t===void 0?`remove`:`add`}EventListener`,r=t===void 0?o:t;e!==window&&e[n](`scroll`,r,u.passive),window[n](`scroll`,r,u.passive),o=t}function c(){i.value!==null&&(s(i.value),i.value=null)}return a(t(()=>e.noParentEvent,()=>{i.value!==null&&(c(),n())})),{localScrollTarget:i,unconfigureScrollTarget:c,changeScrollEvent:s}}var I=null,{notPassiveCapture:L}=u,R=[];function z(e){I!==null&&(clearTimeout(I),I=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`)===!0)return;let n=C.length-1;for(;n>=0;){let e=C[n].$;if(e.type.name===`QTooltip`){n--;continue}if(e.type.name!==`QDialog`)break;if(e.props.seamless!==!0)return;n--}for(let n=R.length-1;n>=0;n--){let r=R[n];if((r.anchorEl.value===null||r.anchorEl.value.contains(t)===!1)&&(t===document.body||r.innerRef.value!==null&&r.innerRef.value.contains(t)===!1))e.qClickOutside=!0,r.onClickOutside(e);else return}}function B(e){R.push(e),R.length===1&&(document.addEventListener(`mousedown`,z,L),document.addEventListener(`touchstart`,z,L))}function V(e){let t=R.findIndex(t=>t===e);t!==-1&&(R.splice(t,1),R.length===0&&(I!==null&&(clearTimeout(I),I=null),document.removeEventListener(`mousedown`,z,L),document.removeEventListener(`touchstart`,z,L)))}var H,U;function W(e){let t=e.split(` `);return t.length===2?[`top`,`center`,`bottom`].includes(t[0])===!0?[`left`,`middle`,`right`,`start`,`end`].includes(t[1])===!0?!0:(console.error(`Anchor/Self position must end with one of left/middle/right/start/end`),!1):(console.error(`Anchor/Self position must start with one of top/center/bottom`),!1):!1}function G(e){return e?!(e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`):!0}var K={"start#ltr":`left`,"start#rtl":`right`,"end#ltr":`right`,"end#rtl":`left`};[`left`,`middle`,`right`].forEach(e=>{K[`${e}#ltr`]=e,K[`${e}#rtl`]=e});function q(e,t){let n=e.split(` `);return{vertical:n[0],horizontal:K[`${n[1]}#${t===!0?`rtl`:`ltr`}`]}}function J(e,t){let{top:n,left:r,right:i,bottom:a,width:o,height:s}=e.getBoundingClientRect();return t!==void 0&&(n-=t[1],r-=t[0],a+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:a,height:s,left:r,right:i,width:o,middle:r+(i-r)/2,center:n+(a-n)/2}}function Y(e,t,n){let{top:r,left:i}=e.getBoundingClientRect();return r+=t.top,i+=t.left,n!==void 0&&(r+=n[1],i+=n[0]),{top:r,bottom:r+1,height:1,left:i,right:i+1,width:1,middle:i,center:r}}function X(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function Z(e,t,n,r){return{top:e[n.vertical]-t[r.vertical],left:e[n.horizontal]-t[r.horizontal]}}function Q(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{Q(e,t+1)},10);return}let{targetEl:n,offset:r,anchorEl:i,anchorOrigin:a,selfOrigin:o,absoluteOffset:s,fit:c,cover:l,maxHeight:u,maxWidth:d}=e;if(v.is.ios===!0&&window.visualViewport!==void 0){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==H&&(e.setProperty(`--q-pe-left`,t+`px`),H=t),n!==U&&(e.setProperty(`--q-pe-top`,n+`px`),U=n)}let{scrollLeft:f,scrollTop:p}=n,m=s===void 0?J(i,l===!0?[0,0]:r):Y(i,s,r);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:u,visibility:`visible`});let{offsetWidth:h,offsetHeight:g}=n,{elWidth:_,elHeight:y}=c===!0||l===!0?{elWidth:Math.max(m.width,h),elHeight:l===!0?Math.max(m.height,g):g}:{elWidth:h,elHeight:g},b={maxWidth:d,maxHeight:u};(c===!0||l===!0)&&(b.minWidth=m.width+`px`,l===!0&&(b.minHeight=m.height+`px`)),Object.assign(n.style,b);let x=X(_,y),S=Z(m,x,a,o);if(s===void 0||r===void 0)$(S,m,x,a,o);else{let{top:e,left:t}=S;$(S,m,x,a,o);let n=!1;if(S.top!==e){n=!0;let e=2*r[1];m.center=m.top-=e,m.bottom-=e+2}if(S.left!==t){n=!0;let e=2*r[0];m.middle=m.left-=e,m.right-=e+2}n===!0&&(S=Z(m,x,a,o),$(S,m,x,a,o))}b={top:S.top+`px`,left:S.left+`px`},S.maxHeight!==void 0&&(b.maxHeight=S.maxHeight+`px`,m.height>S.maxHeight&&(b.minHeight=b.maxHeight)),S.maxWidth!==void 0&&(b.maxWidth=S.maxWidth+`px`,m.width>S.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==f&&(n.scrollLeft=f)}function $(e,t,n,r,i){let a=n.bottom,o=n.right,s=w(),c=window.innerHeight-s,l=document.body.clientWidth;if(e.top<0||e.top+a>c)if(i.vertical===`center`)e.top=t[r.vertical]>c/2?Math.max(0,c-a):0,e.maxHeight=Math.min(a,c);else if(t[r.vertical]>c/2){let n=Math.min(c,r.vertical===`center`?t.center:r.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(a,n),e.top=Math.max(0,n-a)}else e.top=Math.max(0,r.vertical===`center`?t.center:r.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(a,c-e.top);if(e.left<0||e.left+o>l)if(e.maxWidth=Math.min(o,l),i.horizontal===`middle`)e.left=t[r.horizontal]>l/2?Math.max(0,l-o):0;else if(t[r.horizontal]>l/2){let n=Math.min(l,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,l-e.left)}var re=f({name:`QTooltip`,inheritAttrs:!1,props:{...M,...b,...E,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...E.transitionShow,default:`jump-down`},transitionHide:{...E.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:W},self:{type:String,default:`top middle`,validator:W},offset:{type:Array,default:()=>[14,14],validator:G},scrollTarget:D,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...T],setup(e,{slots:n,emit:c,attrs:u}){let f,m,_=s(),{proxy:{$q:v}}=_,b=r(null),C=r(!1),w=o(()=>q(e.anchor,v.lang.rtl)),T=o(()=>q(e.self,v.lang.rtl)),E=o(()=>e.persistent!==!0),{registerTick:D,removeTick:O}=x(),{registerTimeout:A}=ee(),{transitionProps:j,transitionStyle:M}=S(e),{localScrollTarget:N,changeScrollEvent:I,unconfigureScrollTarget:L}=F(e,oe),{anchorEl:R,canShow:z,anchorEvents:H}=P({showing:C,configureAnchorEl:ae}),{show:U,hide:W}=y({showing:C,canShow:z,handleShow:Y,handleHide:X,hideOnRouteChange:E,processOnMount:!0});Object.assign(H,{delayShow:re,delayHide:ie});let{showPortal:G,hidePortal:K,renderPortal:J}=ne(_,b,ce,`tooltip`);if(v.platform.is.mobile===!0){let n={anchorEl:R,innerRef:b,onClickOutside(e){return W(e),e.target.classList.contains(`q-dialog__backdrop`)&&d(e),!0}};t(o(()=>e.modelValue===null&&e.persistent!==!0&&C.value===!0),e=>{(e===!0?B:V)(n)}),a(()=>{V(n)})}function Y(n){G(),D(()=>{m=new MutationObserver(()=>$()),m.observe(b.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),$(),oe()}),f===void 0&&(f=t(()=>v.screen.width+`|`+v.screen.height+`|`+e.self+`|`+e.anchor+`|`+v.lang.rtl,$)),A(()=>{G(!0),c(`show`,n)},e.transitionDuration)}function X(t){O(),K(),Z(),A(()=>{K(!0),c(`hide`,t)},e.transitionDuration)}function Z(){m!==void 0&&(m.disconnect(),m=void 0),f!==void 0&&(f(),f=void 0),L(),g(H,`tooltipTemp`)}function $(){Q({targetEl:b.value,offset:e.offset,anchorEl:R.value,anchorOrigin:w.value,selfOrigin:T.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function re(t){if(v.platform.is.mobile===!0){k(),document.body.classList.add(`non-selectable`);let e=R.value;l(H,`tooltipTemp`,[`touchmove`,`touchcancel`,`touchend`,`click`].map(t=>[e,t,`delayHide`,`passiveCapture`]))}A(()=>{U(t)},e.delay)}function ie(t){v.platform.is.mobile===!0&&(g(H,`tooltipTemp`),k(),setTimeout(()=>{document.body.classList.remove(`non-selectable`)},10)),A(()=>{W(t)},e.hideDelay)}function ae(){e.noParentEvent===!0||R.value===null||l(H,`anchor`,v.platform.is.mobile===!0?[[R.value,`touchstart`,`delayShow`,`passive`]]:[[R.value,`mouseenter`,`delayShow`,`passive`],[R.value,`mouseleave`,`delayHide`,`passive`]])}function oe(){if(R.value!==null||e.scrollTarget!==void 0){N.value=te(R.value,e.scrollTarget);let t=e.noParentEvent===!0?$:W;I(N.value,t)}}function se(){return C.value===!0?i(`div`,{...u,ref:b,class:[`q-tooltip q-tooltip--style q-position-engine no-pointer-events`,u.class],style:[u.style,M.value],role:`tooltip`},h(n.default)):null}function ce(){return i(p,j.value,se)}return a(Z),Object.assign(_.proxy,{updatePosition:$}),J}});export{W as a,F as c,A as d,j as f,G as i,P as l,O as m,q as n,B as o,k as p,Q as r,V as s,re as t,N as u};
|
|
1
|
+
import{E as e,H as t,M as n,Q as r,S as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{A as c,C as l,D as u,N as d,P as f,R as p,b as m,s as h,w as g}from"./QIcon-qfJNZLIW.js";import{d as _,f as v}from"./use-id-_7wiRcgb.js";import{A as y,M as b,N as x,O as S,P as ee,T as C,h as w,j as T,k as E,m as te,v as D,x as ne}from"./notifications-C4jB7A2f.js";var O=f({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(e,{slots:t,emit:n}){let r=!1,o,s,c=null,l=null,u,d;function f(){o?.(),o=null,r=!1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null),s?.removeEventListener(`transitionend`,u),u=null}function m(t,n,i){n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,r=!0,o=i}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,f(),t!==d&&n(t)}function g(t,n){let i=0;s=t,r===!0?(f(),i=t.offsetHeight===t.scrollHeight?0:void 0):(d=`hide`,t.style.overflowY=`hidden`),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=`${t.scrollHeight}px`,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`show`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}function _(t,n){let i;s=t,r===!0?f():(d=`show`,t.style.overflowY=`hidden`,i=t.scrollHeight),m(t,i,n),c=setTimeout(()=>{c=null,t.style.height=0,u=e=>{l=null,(Object(e)!==e||e.target===t)&&h(t,`hide`)},t.addEventListener(`transitionend`,u),l=setTimeout(u,e.duration*1.1)},100)}return a(()=>{r===!0&&f()}),()=>i(p,{css:!1,appear:e.appear,onEnter:g,onLeave:_},t.default)}});function k(){if(window.getSelection!==void 0){let e=window.getSelection();e.empty===void 0?e.removeAllRanges!==void 0&&(e.removeAllRanges(),_.is.mobile!==!0&&e.addRange(document.createRange())):e.empty()}else document.selection!==void 0&&document.selection.empty()}function A(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function j(e,t,n){if(n<=t)return t;let r=n-t+1,i=t+(e-t)%r;return i<t&&(i=r+i),i===0?0:i}var M={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},N={...M,contextMenu:Boolean};function P({showing:i,avoidEmit:o,configureAnchorEl:u}){let{props:d,proxy:f,emit:p}=s(),h=r(null),_=null;function v(e){return h.value===null?!1:e===void 0||e.touches===void 0||e.touches.length<=1}let y={};u===void 0&&(Object.assign(y,{hide(e){f.hide(e)},toggle(e){f.toggle(e),e.qAnchorHandled=!0},toggleKey(e){m(e,13)===!0&&y.toggle(e)},contextClick(t){f.hide(t),c(t),e(()=>{f.show(t),t.qAnchorHandled=!0})},prevent:c,mobileTouch(e){if(y.mobileCleanup(e),v(e)!==!0)return;f.hide(e),h.value.classList.add(`non-selectable`);let t=e.target;l(y,`anchor`,[[t,`touchmove`,`mobileCleanup`,`passive`],[t,`touchend`,`mobileCleanup`,`passive`],[t,`touchcancel`,`mobileCleanup`,`passive`],[h.value,`contextmenu`,`prevent`,`notPassive`]]),_=setTimeout(()=>{_=null,f.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(e){h.value.classList.remove(`non-selectable`),_!==null&&(clearTimeout(_),_=null),i.value===!0&&e!==void 0&&k()}}),u=function(e=d.contextMenu){if(d.noParentEvent===!0||h.value===null)return;let t;t=e===!0?f.$q.platform.is.mobile===!0?[[h.value,`touchstart`,`mobileTouch`,`passive`]]:[[h.value,`mousedown`,`hide`,`passive`],[h.value,`contextmenu`,`contextClick`,`notPassive`]]:[[h.value,`click`,`toggle`,`passive`],[h.value,`keyup`,`toggleKey`,`passive`]],l(y,`anchor`,t)});function b(){g(y,`anchor`)}function x(e){for(h.value=e;h.value.classList.contains(`q-anchor--skip`);)h.value=h.value.parentNode;u()}function S(){if(d.target===!1||d.target===``||f.$el.parentNode===null)h.value=null;else if(d.target===!0)x(f.$el.parentNode);else{let e=d.target;if(typeof d.target==`string`)try{e=document.querySelector(d.target)}catch{e=void 0}e==null?(h.value=null,console.error(`Anchor: target "${d.target}" not found`)):(h.value=e.$el||e,u())}}return t(()=>d.contextMenu,e=>{h.value!==null&&(b(),u(e))}),t(()=>d.target,()=>{h.value!==null&&b(),S()}),t(()=>d.noParentEvent,e=>{h.value!==null&&(e===!0?b():u())}),n(()=>{S(),o!==!0&&d.modelValue===!0&&h.value===null&&p(`update:modelValue`,!1)}),a(()=>{_!==null&&clearTimeout(_),b()}),{anchorEl:h,canShow:v,anchorEvents:y}}function F(e,n){let i=r(null),o;function s(e,t){let n=`${t===void 0?`remove`:`add`}EventListener`,r=t===void 0?o:t;e!==window&&e[n](`scroll`,r,u.passive),window[n](`scroll`,r,u.passive),o=t}function c(){i.value!==null&&(s(i.value),i.value=null)}return a(t(()=>e.noParentEvent,()=>{i.value!==null&&(c(),n())})),{localScrollTarget:i,unconfigureScrollTarget:c,changeScrollEvent:s}}var I=null,{notPassiveCapture:L}=u,R=[];function z(e){I!==null&&(clearTimeout(I),I=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`)===!0)return;let n=C.length-1;for(;n>=0;){let e=C[n].$;if(e.type.name===`QTooltip`){n--;continue}if(e.type.name!==`QDialog`)break;if(e.props.seamless!==!0)return;n--}for(let n=R.length-1;n>=0;n--){let r=R[n];if((r.anchorEl.value===null||r.anchorEl.value.contains(t)===!1)&&(t===document.body||r.innerRef.value!==null&&r.innerRef.value.contains(t)===!1))e.qClickOutside=!0,r.onClickOutside(e);else return}}function B(e){R.push(e),R.length===1&&(document.addEventListener(`mousedown`,z,L),document.addEventListener(`touchstart`,z,L))}function V(e){let t=R.findIndex(t=>t===e);t!==-1&&(R.splice(t,1),R.length===0&&(I!==null&&(clearTimeout(I),I=null),document.removeEventListener(`mousedown`,z,L),document.removeEventListener(`touchstart`,z,L)))}var H,U;function W(e){let t=e.split(` `);return t.length===2?[`top`,`center`,`bottom`].includes(t[0])===!0?[`left`,`middle`,`right`,`start`,`end`].includes(t[1])===!0?!0:(console.error(`Anchor/Self position must end with one of left/middle/right/start/end`),!1):(console.error(`Anchor/Self position must start with one of top/center/bottom`),!1):!1}function G(e){return e?!(e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`):!0}var K={"start#ltr":`left`,"start#rtl":`right`,"end#ltr":`right`,"end#rtl":`left`};[`left`,`middle`,`right`].forEach(e=>{K[`${e}#ltr`]=e,K[`${e}#rtl`]=e});function q(e,t){let n=e.split(` `);return{vertical:n[0],horizontal:K[`${n[1]}#${t===!0?`rtl`:`ltr`}`]}}function J(e,t){let{top:n,left:r,right:i,bottom:a,width:o,height:s}=e.getBoundingClientRect();return t!==void 0&&(n-=t[1],r-=t[0],a+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:a,height:s,left:r,right:i,width:o,middle:r+(i-r)/2,center:n+(a-n)/2}}function Y(e,t,n){let{top:r,left:i}=e.getBoundingClientRect();return r+=t.top,i+=t.left,n!==void 0&&(r+=n[1],i+=n[0]),{top:r,bottom:r+1,height:1,left:i,right:i+1,width:1,middle:i,center:r}}function X(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function Z(e,t,n,r){return{top:e[n.vertical]-t[r.vertical],left:e[n.horizontal]-t[r.horizontal]}}function Q(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{Q(e,t+1)},10);return}let{targetEl:n,offset:r,anchorEl:i,anchorOrigin:a,selfOrigin:o,absoluteOffset:s,fit:c,cover:l,maxHeight:u,maxWidth:d}=e;if(v.is.ios===!0&&window.visualViewport!==void 0){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==H&&(e.setProperty(`--q-pe-left`,t+`px`),H=t),n!==U&&(e.setProperty(`--q-pe-top`,n+`px`),U=n)}let{scrollLeft:f,scrollTop:p}=n,m=s===void 0?J(i,l===!0?[0,0]:r):Y(i,s,r);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:u,visibility:`visible`});let{offsetWidth:h,offsetHeight:g}=n,{elWidth:_,elHeight:y}=c===!0||l===!0?{elWidth:Math.max(m.width,h),elHeight:l===!0?Math.max(m.height,g):g}:{elWidth:h,elHeight:g},b={maxWidth:d,maxHeight:u};(c===!0||l===!0)&&(b.minWidth=m.width+`px`,l===!0&&(b.minHeight=m.height+`px`)),Object.assign(n.style,b);let x=X(_,y),S=Z(m,x,a,o);if(s===void 0||r===void 0)$(S,m,x,a,o);else{let{top:e,left:t}=S;$(S,m,x,a,o);let n=!1;if(S.top!==e){n=!0;let e=2*r[1];m.center=m.top-=e,m.bottom-=e+2}if(S.left!==t){n=!0;let e=2*r[0];m.middle=m.left-=e,m.right-=e+2}n===!0&&(S=Z(m,x,a,o),$(S,m,x,a,o))}b={top:S.top+`px`,left:S.left+`px`},S.maxHeight!==void 0&&(b.maxHeight=S.maxHeight+`px`,m.height>S.maxHeight&&(b.minHeight=b.maxHeight)),S.maxWidth!==void 0&&(b.maxWidth=S.maxWidth+`px`,m.width>S.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==f&&(n.scrollLeft=f)}function $(e,t,n,r,i){let a=n.bottom,o=n.right,s=w(),c=window.innerHeight-s,l=document.body.clientWidth;if(e.top<0||e.top+a>c)if(i.vertical===`center`)e.top=t[r.vertical]>c/2?Math.max(0,c-a):0,e.maxHeight=Math.min(a,c);else if(t[r.vertical]>c/2){let n=Math.min(c,r.vertical===`center`?t.center:r.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(a,n),e.top=Math.max(0,n-a)}else e.top=Math.max(0,r.vertical===`center`?t.center:r.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(a,c-e.top);if(e.left<0||e.left+o>l)if(e.maxWidth=Math.min(o,l),i.horizontal===`middle`)e.left=t[r.horizontal]>l/2?Math.max(0,l-o):0;else if(t[r.horizontal]>l/2){let n=Math.min(l,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,l-e.left)}var re=f({name:`QTooltip`,inheritAttrs:!1,props:{...M,...b,...E,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...E.transitionShow,default:`jump-down`},transitionHide:{...E.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:W},self:{type:String,default:`top middle`,validator:W},offset:{type:Array,default:()=>[14,14],validator:G},scrollTarget:D,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...T],setup(e,{slots:n,emit:c,attrs:u}){let f,m,_=s(),{proxy:{$q:v}}=_,b=r(null),C=r(!1),w=o(()=>q(e.anchor,v.lang.rtl)),T=o(()=>q(e.self,v.lang.rtl)),E=o(()=>e.persistent!==!0),{registerTick:D,removeTick:O}=x(),{registerTimeout:A}=ee(),{transitionProps:j,transitionStyle:M}=S(e),{localScrollTarget:N,changeScrollEvent:I,unconfigureScrollTarget:L}=F(e,oe),{anchorEl:R,canShow:z,anchorEvents:H}=P({showing:C,configureAnchorEl:ae}),{show:U,hide:W}=y({showing:C,canShow:z,handleShow:Y,handleHide:X,hideOnRouteChange:E,processOnMount:!0});Object.assign(H,{delayShow:re,delayHide:ie});let{showPortal:G,hidePortal:K,renderPortal:J}=ne(_,b,ce,`tooltip`);if(v.platform.is.mobile===!0){let n={anchorEl:R,innerRef:b,onClickOutside(e){return W(e),e.target.classList.contains(`q-dialog__backdrop`)&&d(e),!0}};t(o(()=>e.modelValue===null&&e.persistent!==!0&&C.value===!0),e=>{(e===!0?B:V)(n)}),a(()=>{V(n)})}function Y(n){G(),D(()=>{m=new MutationObserver(()=>$()),m.observe(b.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),$(),oe()}),f===void 0&&(f=t(()=>v.screen.width+`|`+v.screen.height+`|`+e.self+`|`+e.anchor+`|`+v.lang.rtl,$)),A(()=>{G(!0),c(`show`,n)},e.transitionDuration)}function X(t){O(),K(),Z(),A(()=>{K(!0),c(`hide`,t)},e.transitionDuration)}function Z(){m!==void 0&&(m.disconnect(),m=void 0),f!==void 0&&(f(),f=void 0),L(),g(H,`tooltipTemp`)}function $(){Q({targetEl:b.value,offset:e.offset,anchorEl:R.value,anchorOrigin:w.value,selfOrigin:T.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function re(t){if(v.platform.is.mobile===!0){k(),document.body.classList.add(`non-selectable`);let e=R.value;l(H,`tooltipTemp`,[`touchmove`,`touchcancel`,`touchend`,`click`].map(t=>[e,t,`delayHide`,`passiveCapture`]))}A(()=>{U(t)},e.delay)}function ie(t){v.platform.is.mobile===!0&&(g(H,`tooltipTemp`),k(),setTimeout(()=>{document.body.classList.remove(`non-selectable`)},10)),A(()=>{W(t)},e.hideDelay)}function ae(){e.noParentEvent===!0||R.value===null||l(H,`anchor`,v.platform.is.mobile===!0?[[R.value,`touchstart`,`delayShow`,`passive`]]:[[R.value,`mouseenter`,`delayShow`,`passive`],[R.value,`mouseleave`,`delayHide`,`passive`]])}function oe(){if(R.value!==null||e.scrollTarget!==void 0){N.value=te(R.value,e.scrollTarget);let t=e.noParentEvent===!0?$:W;I(N.value,t)}}function se(){return C.value===!0?i(`div`,{...u,ref:b,class:[`q-tooltip q-tooltip--style q-position-engine no-pointer-events`,u.class],style:[u.style,M.value],role:`tooltip`},h(n.default)):null}function ce(){return i(p,j.value,se)}return a(Z),Object.assign(_.proxy,{updatePosition:$}),J}});export{W as a,F as c,A as d,j as f,G as i,P as l,O as m,q as n,B as o,k as p,Q as r,V as s,re as t,N as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{t as m}from"./QIcon-qfJNZLIW.js";import{a as h,r as g}from"./use-id-_7wiRcgb.js";import{n as _}from"./vue-i18n-CKCtKE87.js";import{t as v}from"./QInput-DCJEwE8V.js";import{t as y}from"./QToggle-DNOTC_3a.js";import{i as b}from"./index-
|
|
1
|
+
import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{t as m}from"./QIcon-qfJNZLIW.js";import{a as h,r as g}from"./use-id-_7wiRcgb.js";import{n as _}from"./vue-i18n-CKCtKE87.js";import{t as v}from"./QInput-DCJEwE8V.js";import{t as y}from"./QToggle-DNOTC_3a.js";import{i as b}from"./index-ABhgwrBB.js";import{t as x}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as S}from"./QBadge-C7r6oPSi.js";import{t as C}from"./QSpace-DKIph84L.js";import{t as w}from"./formatters-h0XBETG5.js";import{t as T}from"./QPage-Co2h9wd_.js";var E=h(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let h=E(),x=b(),{t:B}=_(),{timeAgo:V}=w(),H=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{h.search()},250)}t(()=>h.includeArchived,()=>{h.query.trim().length>0&&h.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(h).query,"onUpdate:modelValue":[r[0]||=e=>d(h).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(h).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(y,{modelValue:d(h).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(h).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(h).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(h).results.length})),1)):s(``,!0)])]),c(g,{dark:``,class:`q-my-md`}),d(h).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(h).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(h).error})),1)):d(h).query.trim().length>0&&d(h).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(h).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(h).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.settings-page[data-v-489498dd]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-489498dd]{width:100%;max-width:900px;margin:0 auto;padding-bottom:88px}.settings-header[data-v-489498dd]{min-height:48px}.settings-tabs[data-v-489498dd] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-489498dd] .q-tab--active{color:#6c63ff}.settings-panels[data-v-489498dd]{background:0 0}.settings-card[data-v-489498dd]{background:#224;border:1px solid #2a2a4a}.settings-subcard[data-v-489498dd]{background:#1a1a30;border:1px solid #3a3a5e}.template-card[data-v-489498dd]{background:#1a1a2e;border:1px solid #2a2a4a}.settings-input[data-v-489498dd] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-489498dd] .q-field__native,.settings-input[data-v-489498dd] input,.settings-input[data-v-489498dd] textarea{color:#e0e0e0}.settings-input[data-v-489498dd] .q-field__label{color:#888}.mono-textarea[data-v-489498dd] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.mono-guide[data-v-489498dd]{white-space:pre-wrap;color:#c9c9e8;background:#1a1a2e;border:1px solid #2a2a4a;border-radius:6px;margin:0;padding:8px 10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:12px;line-height:1.35}.readonly-input[data-v-489498dd] .q-field__control{background:#16162a}.readonly-input[data-v-489498dd] input{color:#888}.project-list-col[data-v-489498dd]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-489498dd]{flex:1;min-width:0}.project-item[data-v-489498dd]:hover{background-color:#ffffff08}.settings-sticky-actions[data-v-489498dd]{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#222244f0;border:1px solid #2a2a4a;border-radius:8px;padding:8px 10px;position:fixed;bottom:14px;right:20px;box-shadow:0 6px 16px #00000040}.project-item--active[data-v-489498dd]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}.save-btn--dirty[data-v-489498dd]{border-radius:4px;transition:box-shadow .12s ease-in-out;box-shadow:0 0 0 2px #f59e0b!important}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{F as e,H as t,L as n,M as r,N as i,Q as a,S as o,U as s,W as c,_t as l,bt as u,d,f,g as p,h as m,k as h,l as g,p as _,r as v,rt as y,u as b,v as x,y as ee}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{N as S,P as C,i as te,k as ne,n as re,r as w,t as ie}from"./QIcon-qfJNZLIW.js";import{r as ae}from"./use-id-_7wiRcgb.js";import{I as T,L as E,a as oe,c as se,i as ce,n as le,o as ue,s as de}from"./notifications-C4jB7A2f.js";import{t as D}from"./QBtn-CaJSOyt8.js";import{n as fe}from"./vue-i18n-CKCtKE87.js";import{n as pe}from"./QRadio-4HnR_A-K.js";import{i as me,o as O,r as k,t as A}from"./QInput-DCJEwE8V.js";import{t as j}from"./QToggle-DNOTC_3a.js";import{b as he,h as ge,m as _e,t as ve,v as ye}from"./index-ABhgwrBB.js";import{n as be,t as xe}from"./QItemSection-Bz1ZDJO5.js";import{t as Se}from"./QItemLabel-CHkgkZVj.js";import{d as M,t as Ce}from"./QTooltip-CTNw68oZ.js";import{t as we}from"./QExpansionItem-DQ66zLAu.js";import{t as N}from"./TouchPan-SGRB-xYE.js";import{t as P}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as F}from"./QSpace-DKIph84L.js";import{t as Te}from"./QList-BbnN_oNX.js";import{t as Ee}from"./ClosePopup-Bs-9Klyd.js";import{t as De}from"./use-quasar-DQYS47mh.js";import{c as Oe,l as ke,o as Ae,s as je,t as Me}from"./project-color-5UmDpA6C.js";import{a as Ne,i as Pe,n as Fe,o as Ie,r as Le,t as Re}from"./QChip-CQZIeDHV.js";import{a as I,n as ze,r as Be,t as Ve}from"./permissionModes-CRue7srp.js";import{t as He}from"./QPage-Co2h9wd_.js";var Ue=`q-slider__marker-labels`,L=e=>({value:e}),R=({marker:e})=>o(`div`,{key:e.value,style:e.style,class:e.classes},e.label),z=[34,37,40,33,39,38],B={...w,...O,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:`20px`},trackSize:{type:String,default:`4px`},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:`M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0`}},V=[`pan`,`update:modelValue`,`change`];function We({updateValue:e,updatePosition:t,getDragging:n,formAttrs:r}){let{props:i,emit:s,slots:c,proxy:{$q:l}}=ee(),u=re(i,l),d=me(r),f=a(!1),p=a(!1),m=a(!1),_=a(!1),v=g(()=>i.vertical===!0?`--v`:`--h`),y=g(()=>`-`+(i.switchLabelSide===!0?`switched`:`standard`)),b=g(()=>i.vertical===!0?i.reverse===!0:i.reverse!==(l.lang.rtl===!0)),x=g(()=>isNaN(i.innerMin)===!0||i.innerMin<i.min?i.min:i.innerMin),S=g(()=>isNaN(i.innerMax)===!0||i.innerMax>i.max?i.max:i.innerMax),C=g(()=>i.disable!==!0&&i.readonly!==!0&&x.value<S.value),w=g(()=>{if(i.step===0)return e=>e;let e=(String(i.step).trim().split(`.`)[1]||``).length;return t=>parseFloat(t.toFixed(e))}),ie=g(()=>i.step===0?1:i.step),ae=g(()=>C.value===!0?i.tabindex||0:-1),oe=g(()=>i.max-i.min),se=g(()=>S.value-x.value),ce=g(()=>F(x.value)),le=g(()=>F(S.value)),ue=g(()=>i.vertical===!0?b.value===!0?`bottom`:`top`:b.value===!0?`right`:`left`),de=g(()=>i.vertical===!0?`height`:`width`),D=g(()=>i.vertical===!0?`width`:`height`),fe=g(()=>i.vertical===!0?`vertical`:`horizontal`),pe=g(()=>{let e={role:`slider`,"aria-valuemin":x.value,"aria-valuemax":S.value,"aria-orientation":fe.value,"data-step":i.step};return i.disable===!0?e[`aria-disabled`]=`true`:i.readonly===!0&&(e[`aria-readonly`]=`true`),e}),O=g(()=>`q-slider q-slider${v.value} q-slider--${f.value===!0?``:`in`}active inline no-wrap `+(i.vertical===!0?`row`:`column`)+(i.disable===!0?` disabled`:` q-slider--enabled`+(C.value===!0?` q-slider--editable`:``))+(m.value===`both`?` q-slider--focus`:``)+(i.label||i.labelAlways===!0?` q-slider--label`:``)+(i.labelAlways===!0?` q-slider--label-always`:``)+(u.value===!0?` q-slider--dark`:``)+(i.dense===!0?` q-slider--dense q-slider--dense`+v.value:``));function k(e){let t=`q-slider__`+e;return`${t} ${t}${v.value} ${t}${v.value}${y.value}`}function A(e){let t=`q-slider__`+e;return`${t} ${t}${v.value}`}let j=g(()=>{let e=i.selectionColor||i.color;return`q-slider__selection absolute`+(e===void 0?``:` text-${e}`)}),he=g(()=>A(`markers`)+` absolute overflow-hidden`),ge=g(()=>A(`track-container`)),_e=g(()=>k(`pin`)),ve=g(()=>k(`label`)),ye=g(()=>k(`text-container`)),be=g(()=>k(`marker-labels-container`)+(i.markerLabelsClass===void 0?``:` ${i.markerLabelsClass}`)),xe=g(()=>`q-slider__track relative-position no-outline`+(i.trackColor===void 0?``:` bg-${i.trackColor}`)),Se=g(()=>{let e={[D.value]:i.trackSize};return i.trackImg!==void 0&&(e.backgroundImage=`url(${i.trackImg}) !important`),e}),Ce=g(()=>`q-slider__inner absolute`+(i.innerTrackColor===void 0?``:` bg-${i.innerTrackColor}`)),we=g(()=>{let e=le.value-ce.value,t={[ue.value]:`${100*ce.value}%`,[de.value]:e===0?`2px`:`${100*e}%`};return i.innerTrackImg!==void 0&&(t.backgroundImage=`url(${i.innerTrackImg}) !important`),t});function P(e){let{min:t,max:n,step:r}=i,a=t+e*(n-t);if(r>0){let e=(a-x.value)%r;a+=(Math.abs(e)>=r/2?(e<0?-1:1)*r:0)-e}return a=w.value(a),M(a,x.value,S.value)}function F(e){return oe.value===0?0:(e-i.min)/oe.value}function Te(e,t){let n=ne(e),r=i.vertical===!0?M((n.top-t.top)/t.height,0,1):M((n.left-t.left)/t.width,0,1);return M(b.value===!0?1-r:r,ce.value,le.value)}let Ee=g(()=>T(i.markers)===!0?i.markers:ie.value),De=g(()=>{let e=[],t=Ee.value,n=i.max,r=i.min;do e.push(r),r+=t;while(r<n);return e.push(n),e}),Oe=g(()=>{let e=` ${Ue}${v.value}-`;return`q-slider__marker-labels${e}${i.switchMarkerLabelsSide===!0?`switched`:`standard`}${e}${b.value===!0?`rtl`:`ltr`}`}),ke=g(()=>i.markerLabels===!1?null:Me(i.markerLabels).map((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:Oe.value+(e.classes===void 0?``:` `+e.classes),style:{...Ne(e.value),...e.style||{}}}))),Ae=g(()=>({markerList:ke.value,markerMap:Pe.value,classes:Oe.value,getStyle:Ne})),je=g(()=>{let e=se.value===0?`2px`:100*Ee.value/se.value;return{...we.value,backgroundSize:i.vertical===!0?`2px ${e}%`:`${e}% 2px`}});function Me(e){if(e===!1)return null;if(e===!0)return De.value.map(L);if(typeof e==`function`)return De.value.map(t=>{let n=e(t);return E(n)===!0?{...n,value:t}:{value:t,label:n}});let t=({value:e})=>e>=i.min&&e<=i.max;return Array.isArray(e)===!0?e.map(e=>E(e)===!0?e:{value:e}).filter(t):Object.keys(e).map(t=>{let n=e[t],r=Number(t);return E(n)===!0?{...n,value:r}:{value:r,label:n}}).filter(t)}function Ne(e){return{[ue.value]:`${100*(e-i.min)/oe.value}%`}}let Pe=g(()=>{if(i.markerLabels===!1)return null;let e={};return ke.value.forEach(t=>{e[t.value]=t}),e});function Fe(){if(c[`marker-label-group`]!==void 0)return c[`marker-label-group`](Ae.value);let e=c[`marker-label`]||R;return ke.value.map(t=>e({marker:t,...Ae.value}))}let Ie=g(()=>[[N,Le,void 0,{[fe.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]);function Le(r){r.isFinal===!0?(_.value!==void 0&&(t(r.evt),r.touch===!0&&e(!0),_.value=void 0,s(`pan`,`end`)),f.value=!1,m.value=!1):r.isFirst===!0?(_.value=n(r.evt),t(r.evt),e(),f.value=!0,s(`pan`,`start`)):(t(r.evt),e())}function Re(){m.value=!1}function I(r){t(r,n(r)),e(),p.value=!0,f.value=!0,document.addEventListener(`mouseup`,ze,!0)}function ze(){p.value=!1,f.value=!1,e(!0),Re(),document.removeEventListener(`mouseup`,ze,!0)}function Be(r){t(r,n(r)),e(!0)}function Ve(t){z.includes(t.keyCode)&&e(!0)}function He(e){if(i.vertical===!0)return null;let t=l.lang.rtl===i.reverse?e:1-e;return{transform:`translateX(calc(${2*t-1} * ${i.thumbSize} / 2 + ${50-100*t}%))`}}function B(e){let t=g(()=>p.value===!1&&(m.value===e.focusValue||m.value===`both`)?` q-slider--focus`:``),n=g(()=>`q-slider__thumb q-slider__thumb${v.value} q-slider__thumb${v.value}-${b.value===!0?`rtl`:`ltr`} absolute non-selectable`+t.value+(e.thumbColor.value===void 0?``:` text-${e.thumbColor.value}`)),r=g(()=>({width:i.thumbSize,height:i.thumbSize,[ue.value]:`${100*e.ratio.value}%`,zIndex:m.value===e.focusValue?2:void 0})),a=g(()=>e.labelColor.value===void 0?``:` text-${e.labelColor.value}`),s=g(()=>He(e.ratio.value)),c=g(()=>`q-slider__text`+(e.labelTextColor.value===void 0?``:` text-${e.labelTextColor.value}`));return()=>{let t=[o(`svg`,{class:`q-slider__thumb-shape absolute-full`,viewBox:`0 0 20 20`,"aria-hidden":`true`},[o(`path`,{d:i.thumbPath})]),o(`div`,{class:`q-slider__focus-ring fit`})];return(i.label===!0||i.labelAlways===!0)&&(t.push(o(`div`,{class:_e.value+` absolute fit no-pointer-events`+a.value},[o(`div`,{class:ve.value,style:{minWidth:i.thumbSize}},[o(`div`,{class:ye.value,style:s.value},[o(`span`,{class:c.value},e.label.value)])])])),i.name!==void 0&&i.disable!==!0&&d(t,`push`)),o(`div`,{class:n.value,style:r.value,...e.getNodeData()},t)}}function V(e,t,n,r){let a=[];i.innerTrackColor!==`transparent`&&a.push(o(`div`,{key:`inner`,class:Ce.value,style:we.value})),i.selectionColor!==`transparent`&&a.push(o(`div`,{key:`selection`,class:j.value,style:e.value})),i.markers!==!1&&a.push(o(`div`,{key:`marker`,class:he.value,style:je.value})),r(a);let s=[te(`div`,{key:`trackC`,class:ge.value,tabindex:t.value,...n.value},[o(`div`,{class:xe.value,style:Se.value},a)],`slide`,C.value,()=>Ie.value)];return i.markerLabels!==!1&&s[i.switchMarkerLabelsSide===!0?`unshift`:`push`](o(`div`,{key:`markerL`,class:be.value},Fe())),s}return h(()=>{document.removeEventListener(`mouseup`,ze,!0)}),{state:{active:f,focus:m,preventFocus:p,dragging:_,editable:C,classes:O,tabindex:ae,attributes:pe,roundValueFn:w,keyStep:ie,trackLen:oe,innerMin:x,innerMinRatio:ce,innerMax:S,innerMaxRatio:le,positionProp:ue,sizeProp:de,isReversed:b},methods:{onActivate:I,onMobileClick:Be,onBlur:Re,onKeyup:Ve,getContent:V,getThumbRenderFn:B,convertRatioToModel:P,convertModelToRatio:F,getDraggingRatio:Te}}}var Ge=()=>({}),Ke=C({name:`QSlider`,props:{...B,modelValue:{required:!0,default:null,validator:e=>typeof e==`number`||e===null},labelValue:[String,Number]},emits:V,setup(e,{emit:n}){let{proxy:{$q:r}}=ee(),{state:i,methods:s}=We({updateValue:v,updatePosition:b,getDragging:y,formAttrs:k(e)}),c=a(null),l=a(0),u=a(0);function d(){u.value=e.modelValue===null?i.innerMin.value:M(e.modelValue,i.innerMin.value,i.innerMax.value)}t(()=>`${e.modelValue}|${i.innerMin.value}|${i.innerMax.value}`,d),d();let f=g(()=>s.convertModelToRatio(u.value)),p=g(()=>i.active.value===!0?l.value:f.value),m=g(()=>{let t={[i.positionProp.value]:`${100*i.innerMinRatio.value}%`,[i.sizeProp.value]:`${100*(p.value-i.innerMinRatio.value)}%`};return e.selectionImg!==void 0&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t}),h=s.getThumbRenderFn({focusValue:!0,getNodeData:Ge,ratio:p,label:g(()=>e.labelValue===void 0?u.value:e.labelValue),thumbColor:g(()=>e.thumbColor||e.color),labelColor:g(()=>e.labelColor),labelTextColor:g(()=>e.labelTextColor)}),_=g(()=>i.editable.value===!0?r.platform.is.mobile===!0?{onClick:s.onMobileClick}:{onMousedown:s.onActivate,onFocus:x,onBlur:s.onBlur,onKeydown:C,onKeyup:s.onKeyup}:{});function v(t){u.value!==e.modelValue&&n(`update:modelValue`,u.value),t===!0&&n(`change`,u.value)}function y(){return c.value.getBoundingClientRect()}function b(t,n=i.dragging.value){let r=s.getDraggingRatio(t,n);u.value=s.convertRatioToModel(r),l.value=e.snap!==!0||e.step===0?r:s.convertModelToRatio(u.value)}function x(){i.focus.value=!0}function C(t){if(z.includes(t.keyCode)===!1)return;S(t);let n=([34,33].includes(t.keyCode)?10:1)*i.keyStep.value,r=([34,37,40].includes(t.keyCode)?-1:1)*(i.isReversed.value===!0?-1:1)*(e.vertical===!0?-1:1)*n;u.value=M(i.roundValueFn.value(u.value+r),i.innerMin.value,i.innerMax.value),v()}return()=>{let t=s.getContent(m,i.tabindex,_,e=>{e.push(h())});return o(`div`,{ref:c,class:i.classes.value+(e.modelValue===null?` q-slider--no-value`:``),...i.attributes.value,"aria-valuenow":e.modelValue},t)}}}),qe={class:`settings-inner`},Je={class:`settings-header row items-center q-mb-lg`},Ye={class:`text-h5 text-weight-medium text-grey-3`},Xe={class:`settings-card rounded-borders q-pa-lg`},Ze={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},Qe={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},$e={class:`text-subtitle2 q-mb-sm`},et={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},tt={class:`text-subtitle2 q-mb-sm`},nt={class:`text-caption text-grey-7 q-mt-xs`},rt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},it={class:`text-subtitle2 q-mb-sm`},at={class:`text-caption text-grey-6 q-mt-xs`},ot={key:0,class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},st={class:`text-subtitle2 q-mb-sm`},ct={class:`text-caption text-grey-6 q-mb-xs q-mt-sm`},lt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},ut={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},dt={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},ft={class:`text-caption text-grey-6 q-mt-md q-mb-xs`},pt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},mt={class:`text-subtitle2 q-mb-sm`},ht={class:`text-subtitle2 q-mb-sm q-mt-md`},gt={class:`text-subtitle2 q-mb-sm q-mt-md`},_t={class:`text-caption text-grey-7 q-mb-sm`},vt={class:`text-subtitle2 q-mb-sm q-mt-md`},yt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},bt={class:`text-subtitle2 q-mb-sm`},xt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},St={class:`text-subtitle2 q-mb-sm`},Ct={class:`column q-gutter-xs`},wt={class:`row items-center q-gutter-sm q-mt-sm`},Tt={class:`row items-center q-gutter-sm q-mt-sm`},Et={class:`text-grey-5 text-caption`,style:{"min-width":`80px`}},Dt={class:`text-grey-5 text-caption`,style:{"min-width":`40px`,"text-align":`right`}},Ot={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},kt={class:`text-subtitle2 q-mb-sm`},At={class:`column q-gutter-sm`},jt={class:`row items-center q-gutter-sm`},Mt={class:`text-caption text-grey-5`},Nt={class:`text-caption text-grey-5`,style:{"min-width":`40px`,"text-align":`right`}},Pt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Ft={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},It={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Lt={class:`text-caption text-grey-7 q-mt-xs q-mb-sm`},Rt={class:`row q-gutter-sm items-center`},zt={class:`row items-center q-mt-sm`},Bt={class:`row items-center q-mt-xs`},Vt={class:`q-pa-sm text-caption text-grey-5`},Ht={class:`q-mb-sm`},Ut={class:`q-mb-sm`},Wt={href:`https://github.com/ggml-org/whisper.cpp`,target:`_blank`,rel:`noopener noreferrer`,class:`text-indigo-4`},Gt={class:`q-mb-xs text-grey-4`},Kt={class:`q-mb-sm`},qt={class:`q-mb-xs text-grey-4`},Jt={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Yt={class:`row items-center q-mb-sm`},Xt={class:`text-subtitle2`},Zt={class:`text-caption text-grey-7 q-mb-sm`},Qt={class:`q-mb-sm`},$t={class:`row items-center q-mb-sm q-mt-md`},en={class:`text-subtitle2`},tn={class:`text-caption text-grey-7 q-mb-sm`},nn={class:`row items-center q-mb-sm q-mt-md`},rn={class:`text-subtitle2`},an={class:`text-caption text-grey-7 q-mb-sm`},on={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},sn={class:`text-subtitle2 q-mb-sm`},cn={class:`text-caption text-grey-7 q-mb-sm`},ln={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},un={class:`text-subtitle2 q-mb-sm`},dn={class:`text-caption text-grey-7 q-mb-sm`},fn={class:`q-mb-sm`},pn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},mn={class:`q-mb-sm`},hn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},gn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},_n={class:`text-subtitle2 q-mb-sm`},vn={class:`text-caption text-grey-7 q-mb-sm`},yn={class:`q-mb-sm`},bn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},xn={class:`q-mb-sm`},Sn={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Cn={class:`row items-center q-mb-sm`},wn={class:`text-subtitle2`},Tn={class:`text-caption text-grey-7 q-mb-xs`},En={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Dn={class:`text-subtitle2 q-mb-sm`},On={class:`row items-center q-mb-sm`},kn={class:`text-subtitle2`},An={class:`text-caption text-grey-7 q-mb-xs`},jn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Mn={class:`text-subtitle2 q-mb-sm`},Nn={class:`text-caption text-grey-7 q-mb-sm`},Pn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},Fn={class:`text-subtitle2 q-mb-sm`},In={class:`text-caption text-grey-7 q-mb-sm`},Ln={class:`text-caption text-grey-7 q-mt-xs`},Rn={class:`settings-subcard q-pa-md rounded-borders q-pb-sm q-mb-md`},zn={class:`text-subtitle2 q-mb-sm`},Bn={class:`text-caption text-grey-7 q-mb-sm`},Vn={class:`row q-gutter-sm`},Hn={class:`row justify-end settings-sticky-actions`},Un={class:`row q-gutter-md`,style:{"min-height":`500px`}},Wn={class:`project-list-col`},Gn={class:`settings-card rounded-borders`,style:{height:`100%`}},Kn={class:`q-pa-sm`},qn={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Jn={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Yn={class:`q-pa-sm`},Xn={class:`project-form-col`},Zn={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},Qn={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},$n={key:0,class:`q-mb-md`},er={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},tr={class:`text-caption text-grey-7 q-mt-xs`},nr={class:`q-mb-md`},rr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},ir={class:`q-mb-md`},ar={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},or={class:`q-mb-md`},sr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},cr={class:`row items-center q-gutter-xs`},lr={class:`text-caption text-grey-6 q-mt-xs`},ur={class:`q-mb-md`},dr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},fr={class:`q-mb-md`},pr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},mr={class:`q-mb-md`},hr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},gr={class:`q-mb-md`},_r={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},vr={class:`q-mb-md`},yr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},br={class:`text-caption text-grey-7 q-mb-xs`},xr={class:`q-mb-md`},Sr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Cr={class:`text-caption text-grey-7 q-mb-xs`},wr={class:`q-mb-md`},Tr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Er={class:`text-caption text-grey-7 q-mt-xs`},Dr={class:`q-mb-lg`},Or={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},kr={class:`text-caption text-grey-7 q-mt-xs`},Ar={class:`q-mb-lg`},jr={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},Mr={class:`q-mb-md`},Nr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Pr={class:`field-label-sub text-caption q-mb-xs text-grey-7`},Fr={class:`q-mb-lg`},Ir={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Lr={class:`text-caption text-grey-7 q-mb-sm`},Rr={class:`q-mb-lg`},zr={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Br={class:`text-caption text-grey-7 q-mb-sm`},Vr={class:`row items-center q-gutter-sm settings-sticky-actions`},Hr={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},Ur={class:`text-body2 text-grey-8`},Wr={class:`settings-card rounded-borders q-pa-lg`},Gr={class:`row items-center justify-between q-mb-md`},Kr={class:`text-subtitle1 text-weight-medium text-grey-3`},qr={key:0,class:`text-grey-6 q-py-lg text-center`},Jr={key:1,class:`column q-gutter-sm`},Yr={class:`row items-start justify-between no-wrap`},Xr={class:`col`},Zr={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},Qr={class:`text-caption text-grey-5 q-mt-xs`},$r={class:`row no-wrap q-gutter-xs`},ei={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},ti={class:`text-subtitle1`},ni={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},ri={key:0,class:`text-negative text-caption`},ii=P(x({__name:`SettingsPage`,setup(o){let h=De(),x=de(),ee=_e(),{t:S,locale:C}=fe(),te=a(`global`),ne=a(`auto`),re=a(`auto`),w=a(``),T=a(``),E=a(``),me=a(``),O=a(!0),k=a(!0),M=a(ce),N=a(1),P=a(``),Ue=a(``),L=a(``),R=a(``),z=a(null),B=a(`bypass`),V=a(`bypass`),We=a(``),Ge=a(``),ii=a([]),ai=a(se),oi=a(null),si=a(!0),ci=a(!1),H=a(`superpowers`),li=g(()=>{switch(H.value){case`gstack`:return`settings.skillSuite.gstackHint`;case`superpowers+gstack`:return`settings.skillSuite.superpowersGstackHint`;case`custom`:return`settings.skillSuite.customHint`;default:return`settings.skillSuite.superpowersHint`}}),ui=a(``),di=a(``),fi=a(``),pi=a(``),mi=a(``),hi=a(!1),gi=a(`alt`),_i=a(`auto`),U=a(null),vi=a(``),yi=a(``),W=a(0),bi=a(``),xi=a(!1),Si=a(!0),Ci=a(null),wi=a(!1);function Ti(){h.dialog({title:S(`settings.skillSuite.reloadDefaults`),message:S(`settings.skillSuite.reloadDefaultsConfirm`),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ui.value=Ie,di.value=Le,fi.value=Fe,pi.value=Ne,mi.value=Pe})}function Ei(e){return!e||e===`tiny`||e===`base`?.1:.2}let Di=[e=>e.trim().length>0||S(`settings.worktreesPathRequired`)],Oi=a(!1),G=a(-1),K=a(!1),q=a({path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),ki=[`defaultModel`,`prPromptTemplate`,`reviewPromptTemplate`,`notionInitialPromptTemplate`,`sentryInitialPromptTemplate`,`gitConventions`,`setupScript`,`devServer`,`e2e`,`finalization`],J=a(null),Y=a(null),Ai=g(()=>x.projects.map(e=>({value:e.path,label:Na(e)||e.path})));function ji(e){let t=x.projects.find(t=>t.path===e);t&&(q.value.defaultModel=t.defaultModel??``,q.value.prPromptTemplate=t.prPromptTemplate??``,q.value.reviewPromptTemplate=t.reviewPromptTemplate??``,q.value.notionInitialPromptTemplate=t.notionInitialPromptTemplate??``,q.value.sentryInitialPromptTemplate=t.sentryInitialPromptTemplate??``,q.value.gitConventions=t.gitConventions??``,q.value.setupScript=t.setupScript??``,q.value.devServer={startCommand:t.devServer?.startCommand??``,stopCommand:t.devServer?.stopCommand??``},q.value.e2e={framework:t.e2e?.framework??``,skill:t.e2e?.skill??``,prompt:t.e2e?.prompt??``},q.value.finalization={prompt:t.finalization?.prompt??``})}function Mi(){let e={defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}};return ki.every(t=>JSON.stringify(q.value[t])===JSON.stringify(e[t]))}function Ni(e){if(e===null){J.value=null,Y.value=null;return}if(Y.value===null&&Mi()){ji(e),J.value=e,Y.value=e;return}let t=x.projects.find(t=>t.path===e),n=t&&Na(t)||e;h.dialog({title:S(`settings.copyFromConfirmTitle`),message:S(`settings.copyFromConfirm`,{project:n}),cancel:!0,persistent:!0,dark:!0}).onOk(()=>{ji(e),J.value=e,Y.value=e}).onCancel(()=>{J.value=Y.value})}let Pi=a([]),Fi=a([]);async function Ii(){try{let e=await fetch(`/api/skills`);e.ok&&(Pi.value=await e.json())}catch{}}function Li(e,t){t(()=>{let t=e.trim().toLowerCase();Fi.value=t?Pi.value.filter(e=>e.toLowerCase().includes(t)):Pi.value.slice()})}let X=a([]),Ri=a(!1),zi=a(!1),Bi=a(!1),Vi=a(!1),Z=a(null),Hi=a(``),Ui=a(``),Q=a(``),$=a(``),Wi=a(!1),Gi=g(()=>[...ee.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Ki=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function qi(){Z.value=null,Hi.value=``,Ui.value=``,Q.value=``,$.value=``,Vi.value=!0}function Ji(e){Z.value=e.slug,Hi.value=e.slug,Ui.value=e.description,Q.value=e.content,$.value=``,Vi.value=!0}async function Yi(){$.value=``;let e=Hi.value.trim(),t=Ui.value.trim();if(Z.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){$.value=S(`templates.slugInvalid`);return}if(!t){$.value=S(`templates.descriptionRequired`);return}if(!Q.value.trim()){$.value=S(`templates.contentRequired`);return}Wi.value=!0;try{Z.value===null?await ee.createTemplate({slug:e,description:t,content:Q.value}):await ee.updateTemplate(Z.value,{description:t,content:Q.value}),Vi.value=!1}catch(e){$.value=e instanceof Error?e.message:S(`templates.createFailed`)}finally{Wi.value=!1}}async function Xi(e){h.dialog({title:S(`templates.deleteTemplate`),message:`${S(`templates.deleteConfirm`,{slug:e.slug})}\n\n${S(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:S(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:S(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await ee.deleteTemplate(e.slug)}catch(e){h.notify({type:`negative`,message:e instanceof Error?e.message:S(`templates.deleteFailed`),position:`top`})}})}let Zi=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Qi(e){C.value=e,localStorage.setItem(`kobo:locale`,e)}let $i=g(()=>[...Be.map(e=>({label:S(e.i18nLabelKey),value:e.value}))]),ea=g(()=>[...ze.map(e=>({label:S(e.i18nLabelKey),value:e.value}))]),ta=g(()=>[{label:S(`settings.useGlobal`),value:``},...$i.value]),na=g(()=>Ve[`claude-code`].map(e=>({label:S(`agentPermissionMode.${e}`),value:e}))),ra=g(()=>Ve.codex.map(e=>({label:S(`agentPermissionMode.${e}`),value:e}))),ia=g(()=>[{name:`{{pr_number}}`,description:S(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:S(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:S(`settings.var.branchName`)},{name:`{{source_branch}}`,description:S(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:S(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:S(`settings.var.projectName`)},{name:`{{notion_url}}`,description:S(`settings.var.notionUrl`)},{name:`{{commits}}`,description:S(`settings.var.commits`)},{name:`{{diff_stats}}`,description:S(`settings.var.diffStats`)},{name:`{{tasks}}`,description:S(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:S(`settings.var.acceptanceCriteria`)}]),aa=g(()=>[{label:S(`settings.mcpAutoSelect`),value:``},...x.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),oa=g(()=>oe.map(e=>({label:S(e.labelKey),value:e.id}))),sa=g(()=>[{label:S(`voice.noneModel`),value:null}].concat(x.voiceModels.map(e=>({label:e.installed?`${e.name}`:`${e.name} (${S(`voice.notInstalled`)})`,value:e.name})))),ca=[{label:`auto`,value:`auto`},{label:`ar`,value:`ar`},{label:`de`,value:`de`},{label:`en`,value:`en`},{label:`es`,value:`es`},{label:`fr`,value:`fr`},{label:`hi`,value:`hi`},{label:`it`,value:`it`},{label:`ja`,value:`ja`},{label:`ko`,value:`ko`},{label:`nl`,value:`nl`},{label:`pl`,value:`pl`},{label:`pt`,value:`pt`},{label:`ru`,value:`ru`},{label:`tr`,value:`tr`},{label:`uk`,value:`uk`},{label:`vi`,value:`vi`},{label:`zh`,value:`zh`}];function la(){le(M.value,N.value)}let ua=g(()=>G.value<0||G.value>=x.projects.length?null:x.projects[G.value]??null),da=a(``),fa=a(``);function pa(){return JSON.stringify({claudeModel:ne.value,codexModel:re.value,prPrompt:w.value,reviewPrompt:T.value,gitConventions:E.value,editorCommand:me.value,browserNotifications:O.value,audioNotifications:k.value,audioNotificationSound:M.value,audioNotificationVolume:N.value,notionStatusProperty:P.value,notionStatus:Ue.value,notionInitialPrompt:L.value,sentryInitialPrompt:R.value,claudePermissionMode:B.value,codexPermissionMode:V.value,notionMcpKey:We.value,sentryMcpKey:Ge.value,tags:ii.value,worktreesPath:ai.value,worktreesPrefixByProject:si.value,flattenWorkspaceList:ci.value,skillSuite:H.value,customReviewTemplate:ui.value,customAutoLoopReviewGate:di.value,customAutoLoopGroomingIntro:fi.value,customQaPromptTemplate:pi.value,customBrainstormingInstruction:mi.value,voiceEnabled:hi.value,voicePttKey:gi.value,voiceLanguage:_i.value,voiceModel:U.value,voiceCommandPath:vi.value,voiceFfmpegPath:yi.value,voiceTemperature:W.value,voicePrompt:bi.value,voiceTranslateToEnglish:xi.value,voiceSuppressNst:Si.value})}function ma(){return JSON.stringify(q.value)}let ha=g(()=>pa()!==da.value),ga=g(()=>ma()!==fa.value);function _a(){wi.value=!0;let e=x.global.defaultModelByEngine??{};ne.value=e[`claude-code`]??`auto`,re.value=e.codex??`auto`,w.value=x.global.prPromptTemplate,T.value=x.global.reviewPromptTemplate??``,E.value=x.global.gitConventions,me.value=x.global.editorCommand??``,O.value=x.global.browserNotifications??!0,k.value=x.global.audioNotifications??!0,M.value=ue(x.global.audioNotificationSound);let t=x.global.audioNotificationVolume;N.value=typeof t==`number`&&Number.isFinite(t)?Math.max(0,Math.min(1,t)):1,P.value=x.global.notionStatusProperty??``,Ue.value=x.global.notionInProgressStatus??``,L.value=x.global.notionInitialPromptTemplate??``,R.value=x.global.sentryInitialPromptTemplate??``;{let e=x.global.defaultPermissionModeByEngine??{},t=e=>e===`plan`||e===`bypass`||e===`strict`||e===`interactive`,n=e[`claude-code`];B.value=t(n)?n:`bypass`;let r=e.codex;V.value=t(r)?r:`bypass`}We.value=x.global.notionMcpKey??``,Ge.value=x.global.sentryMcpKey??``,ii.value=Array.isArray(x.global.tags)?[...x.global.tags]:[],ai.value=x.global.worktreesPath??`.worktrees`,si.value=x.global.worktreesPrefixByProject??!1,ci.value=x.global.flattenWorkspaceList??!1,H.value=x.global.skillSuite??`superpowers`,ui.value=x.global.customReviewTemplate??``,di.value=x.global.customAutoLoopReviewGate??``,fi.value=x.global.customAutoLoopGroomingIntro??``,pi.value=x.global.customQaPromptTemplate??``,mi.value=x.global.customBrainstormingInstruction??``,hi.value=x.global.voiceEnabled??!1,gi.value=x.global.voicePttKey===`ctrl+space`?`ctrl+space`:`alt`,_i.value=x.global.voiceLanguage??`auto`,U.value=x.global.voiceModel??null,vi.value=x.global.voiceCommandPath??``,yi.value=x.global.voiceFfmpegPath??``,W.value=typeof x.global.voiceTemperature==`number`?x.global.voiceTemperature:0,bi.value=x.global.voicePrompt??``,xi.value=x.global.voiceTranslateToEnglish??!1,Si.value=x.global.voiceSuppressNonSpeechTokens??!0,wi.value=!1,da.value=pa()}t(()=>U.value,(e,t)=>{wi.value||e!==t&&(W.value=Ei(e))});function va(e){if(!e){q.value={path:``,displayName:``,color:null,defaultSourceBranch:``,defaultModel:``,prPromptTemplate:``,reviewPromptTemplate:``,notionInitialPromptTemplate:``,sentryInitialPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},X.value=[],fa.value=ma();return}q.value={path:e.path,displayName:e.displayName,color:e.color??null,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,prPromptTemplate:e.prPromptTemplate,reviewPromptTemplate:e.reviewPromptTemplate??``,notionInitialPromptTemplate:e.notionInitialPromptTemplate??``,sentryInitialPromptTemplate:e.sentryInitialPromptTemplate??``,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},fa.value=ma(),e.path&&ya(e.path)}async function ya(e){if(!e.trim()){X.value=[];return}Ri.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();X.value=n.local??n.branches??[]}catch{X.value=[]}finally{Ri.value=!1}}let ba=null;t(()=>q.value.path,e=>{ba&&clearTimeout(ba),ba=setTimeout(()=>{ya(e)},500)}),t(G,()=>{K.value=!1,va(ua.value)});let xa=a(null);async function Sa(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),h.notify({type:`positive`,message:S(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Ca(){xa.value?.click()}async function wa(e){let t=e.target,n=t.files?.[0];if(n)try{h.dialog({title:S(`settings.importConfirmTitle`),message:S(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await x.fetchSettings(),_a(),h.notify({type:`positive`,message:S(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){h.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function Ta(e){if(z.value===null){z.value=e;try{let t=await x.fetchGlobalDefaults(),n={prPromptTemplate:w,reviewPromptTemplate:T,gitConventions:E,notionInitialPromptTemplate:L,sentryInitialPromptTemplate:R};n[e].value=t[e]}catch(e){console.error(`[SettingsPage] resetFieldToDefault failed:`,e),h.notify({type:`negative`,message:S(`settings.resetFailed`),position:`top`})}finally{z.value=null}}}async function Ea(){if(await oi.value?.validate()!==!1){Oi.value=!0;try{await x.updateGlobal({defaultModelByEngine:{"claude-code":ne.value,codex:re.value},prPromptTemplate:w.value,reviewPromptTemplate:T.value,gitConventions:E.value,editorCommand:me.value,browserNotifications:O.value,audioNotifications:k.value,audioNotificationSound:M.value,audioNotificationVolume:N.value,notionStatusProperty:P.value,notionInProgressStatus:Ue.value,notionInitialPromptTemplate:L.value,sentryInitialPromptTemplate:R.value,defaultPermissionModeByEngine:{"claude-code":B.value,codex:V.value},notionMcpKey:We.value,sentryMcpKey:Ge.value,tags:ii.value,worktreesPath:ai.value,worktreesPrefixByProject:si.value,flattenWorkspaceList:ci.value,skillSuite:H.value,customReviewTemplate:ui.value,customAutoLoopReviewGate:di.value,customAutoLoopGroomingIntro:fi.value,customQaPromptTemplate:pi.value,customBrainstormingInstruction:mi.value,voiceEnabled:hi.value,voicePttKey:gi.value,voiceLanguage:_i.value,voiceModel:U.value,voiceCommandPath:vi.value.trim(),voiceFfmpegPath:yi.value.trim(),voiceTemperature:W.value,voicePrompt:bi.value,voiceTranslateToEnglish:xi.value,voiceSuppressNonSpeechTokens:Si.value}),da.value=pa(),h.notify({type:`positive`,message:S(`settings.saved`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.saveError`),position:`top`})}finally{Oi.value=!1}}}async function Da(e){Ci.value=e;try{await x.downloadVoiceModel(e)}catch{h.notify({type:`negative`,message:S(`voice.downloadFailed`),position:`top`})}finally{Ci.value=null}}async function Oa(e){Ci.value=e;try{await x.deleteVoiceModel(e),U.value===e&&(U.value=null)}catch{h.notify({type:`negative`,message:S(`voice.deleteFailed`),position:`top`})}finally{Ci.value=null}}async function ka(){if(!q.value.path.trim()){h.notify({type:`negative`,message:S(`settings.projectPathRequired`),position:`top`});return}zi.value=!0;try{await x.upsertProject(q.value.path.trim(),{displayName:q.value.displayName,color:q.value.color,defaultSourceBranch:q.value.defaultSourceBranch,defaultModel:q.value.defaultModel,prPromptTemplate:q.value.prPromptTemplate,reviewPromptTemplate:q.value.reviewPromptTemplate,notionInitialPromptTemplate:q.value.notionInitialPromptTemplate,sentryInitialPromptTemplate:q.value.sentryInitialPromptTemplate,gitConventions:q.value.gitConventions,setupScript:q.value.setupScript,devServer:q.value.devServer,e2e:q.value.e2e,finalization:q.value.finalization}),K.value=!1;let e=x.projects.findIndex(e=>e.path===q.value.path.trim());e>=0&&(G.value=e),fa.value=ma(),h.notify({type:`positive`,message:S(`settings.projectSaved`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.projectSaveError`),position:`top`})}finally{zi.value=!1}}async function Aa(){if(ua.value){Bi.value=!0;try{await x.deleteProject(ua.value.path),G.value=-1,K.value=!1,va(null),h.notify({type:`positive`,message:S(`settings.projectDeleted`),position:`top`})}catch{h.notify({type:`negative`,message:S(`settings.projectDeleteError`),position:`top`})}finally{Bi.value=!1}}}function ja(){G.value=-1,K.value=!0,va(null),J.value=null,Y.value=null}function Ma(e){K.value=!1,G.value=e,J.value=null,Y.value=null}function Na(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let Pa=a([]);function Fa(e,t){t(()=>{Pa.value=e?X.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):X.value})}return r(async()=>{await Promise.all([x.fetchSettings(),x.fetchActiveMcpServers(),Ii()]),await x.fetchVoiceModels(),await x.fetchVoiceRuntime(),_a()}),i(()=>{ba&&clearTimeout(ba)}),(t,r)=>(e(),d(He,{class:`settings-page`},{default:s(()=>[b(`div`,qe,[b(`div`,Je,[p(ie,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),b(`span`,Ye,u(t.$t(`settings.title`)),1)]),p(Oe,{modelValue:te.value,"onUpdate:modelValue":r[0]||=e=>te.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:s(()=>[p(ke,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),p(ke,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),p(ke,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),p(Ae,{modelValue:te.value,"onUpdate:modelValue":r[63]||=e=>te.value=e,animated:``,class:`settings-panels`},{default:s(()=>[p(je,{name:`global`,class:`q-pa-none`},{default:s(()=>[b(`div`,Xe,[b(`div`,Ze,u(t.$t(`settings.globalSettings`)),1),p(ae,{dark:``,class:`q-mb-md`}),b(`div`,Qe,[b(`div`,$e,u(t.$t(`settings.language`)),1),p(I,{"model-value":y(C),options:Zi,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Qi},null,8,[`model-value`])]),b(`div`,et,[b(`div`,tt,u(t.$t(`settings.workspaceListSection`)),1),p(j,{modelValue:ci.value,"onUpdate:modelValue":r[1]||=e=>ci.value=e,label:t.$t(`settings.flattenWorkspaceList`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,nt,u(t.$t(`settings.flattenWorkspaceListHint`)),1)]),b(`div`,rt,[b(`div`,it,u(t.$t(`settings.skillSuite.section`)),1),p(ve,{modelValue:H.value,"onUpdate:modelValue":r[2]||=e=>H.value=e,options:[{label:t.$t(`settings.skillSuite.superpowers`),value:`superpowers`},{label:t.$t(`settings.skillSuite.gstack`),value:`gstack`},{label:t.$t(`settings.skillSuite.superpowersGstack`),value:`superpowers+gstack`},{label:t.$t(`settings.skillSuite.custom`),value:`custom`}],type:`radio`,color:`indigo-4`,dense:``,dark:``,inline:``},null,8,[`modelValue`,`options`]),b(`div`,at,u(t.$t(li.value)),1),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:t.$t(`settings.skillSuite.reloadDefaults`),disable:H.value!==`custom`,class:`q-mt-sm`,onClick:Ti},null,8,[`label`,`disable`])]),H.value===`custom`?(e(),_(`div`,ot,[b(`div`,st,u(t.$t(`settings.skillSuite.customPrompts`)),1),b(`div`,ct,u(t.$t(`settings.skillSuite.reviewTemplate`)),1),p(A,{modelValue:ui.value,"onUpdate:modelValue":r[3]||=e=>ui.value=e,type:`textarea`,filled:``,dense:``,rows:`8`,dark:``},null,8,[`modelValue`]),b(`div`,lt,u(t.$t(`settings.skillSuite.autoLoopReviewGate`)),1),p(A,{modelValue:di.value,"onUpdate:modelValue":r[4]||=e=>di.value=e,type:`textarea`,filled:``,dense:``,rows:`6`,dark:``},null,8,[`modelValue`]),b(`div`,ut,u(t.$t(`settings.skillSuite.autoLoopGroomingIntro`)),1),p(A,{modelValue:fi.value,"onUpdate:modelValue":r[5]||=e=>fi.value=e,type:`textarea`,filled:``,dense:``,rows:`4`,dark:``},null,8,[`modelValue`]),b(`div`,dt,u(t.$t(`settings.skillSuite.qaTemplate`)),1),p(A,{modelValue:pi.value,"onUpdate:modelValue":r[6]||=e=>pi.value=e,type:`textarea`,filled:``,dense:``,rows:`6`,dark:``},null,8,[`modelValue`]),b(`div`,ft,u(t.$t(`settings.skillSuite.brainstormingInstruction`)),1),p(A,{modelValue:mi.value,"onUpdate:modelValue":r[7]||=e=>mi.value=e,type:`textarea`,filled:``,dense:``,rows:`6`,dark:``},null,8,[`modelValue`])])):f(``,!0),b(`div`,pt,[b(`div`,mt,u(t.$t(`settings.defaultModelClaude`)),1),p(I,{modelValue:ne.value,"onUpdate:modelValue":r[8]||=e=>ne.value=e,options:$i.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,ht,u(t.$t(`settings.defaultModelCodex`)),1),p(I,{modelValue:re.value,"onUpdate:modelValue":r[9]||=e=>re.value=e,options:ea.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,gt,u(t.$t(`settings.defaultPermissionModeClaude`)),1),b(`div`,_t,u(t.$t(`settings.defaultPermissionModeHint`)),1),p(I,{modelValue:B.value,"onUpdate:modelValue":r[10]||=e=>B.value=e,options:na.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-md`},null,8,[`modelValue`,`options`]),b(`div`,vt,u(t.$t(`settings.defaultPermissionModeCodex`)),1),p(I,{modelValue:V.value,"onUpdate:modelValue":r[11]||=e=>V.value=e,options:ra.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,yt,[b(`div`,bt,u(t.$t(`settings.activityFeed`)),1),p(j,{"model-value":y(x).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[12]||=e=>y(x).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),b(`div`,xt,[b(`div`,St,u(t.$t(`settings.notifications`)),1),b(`div`,Ct,[p(j,{modelValue:O.value,"onUpdate:modelValue":r[13]||=e=>O.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),p(j,{modelValue:k.value,"onUpdate:modelValue":r[14]||=e=>k.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),b(`div`,wt,[p(I,{modelValue:M.value,"onUpdate:modelValue":r[15]||=e=>M.value=e,options:oa.value,label:t.$t(`settings.notificationSound`),disable:!k.value,dark:``,dense:``,outlined:``,"emit-value":``,"map-options":``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`options`,`label`,`disable`]),p(D,{flat:``,dense:``,color:`indigo-4`,icon:`play_arrow`,label:t.$t(`settings.notificationSoundPreview`),disable:!k.value,onClick:la},null,8,[`label`,`disable`])]),b(`div`,Tt,[b(`div`,Et,u(t.$t(`settings.notificationVolume`)),1),p(Ke,{modelValue:N.value,"onUpdate:modelValue":r[16]||=e=>N.value=e,min:0,max:1,step:.05,disable:!k.value,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`,`disable`]),b(`div`,Dt,u(Math.round(N.value*100))+`% `,1)])]),b(`div`,Ot,[b(`div`,kt,u(t.$t(`voice.title`)),1),b(`div`,At,[p(j,{modelValue:hi.value,"onUpdate:modelValue":r[17]||=e=>hi.value=e,label:t.$t(`voice.enabled`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),p(I,{modelValue:gi.value,"onUpdate:modelValue":r[18]||=e=>gi.value=e,label:t.$t(`voice.pttKey`),options:[{label:t.$t(`voice.pttAlt`),value:`alt`},{label:t.$t(`voice.pttCtrlSpace`),value:`ctrl+space`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`]),p(I,{modelValue:_i.value,"onUpdate:modelValue":r[19]||=e=>_i.value=e,label:t.$t(`voice.language`),options:ca,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),p(I,{modelValue:U.value,"onUpdate:modelValue":r[20]||=e=>U.value=e,label:t.$t(`voice.model`),options:sa.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`,`options`]),p(A,{modelValue:vi.value,"onUpdate:modelValue":r[21]||=e=>vi.value=e,label:t.$t(`voice.commandPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),p(A,{modelValue:yi.value,"onUpdate:modelValue":r[22]||=e=>yi.value=e,label:t.$t(`voice.ffmpegPath`),dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`label`]),b(`div`,jt,[b(`div`,Mt,u(t.$t(`voice.temperature`)),1),p(Ke,{modelValue:W.value,"onUpdate:modelValue":r[23]||=e=>W.value=e,min:0,max:1,step:.05,dark:``,dense:``,color:`indigo-4`,class:`col`},null,8,[`modelValue`]),b(`div`,Nt,u(W.value.toFixed(2)),1)]),b(`div`,Pt,u(t.$t(`voice.temperatureHint`)),1),p(A,{modelValue:bi.value,"onUpdate:modelValue":r[24]||=e=>bi.value=e,label:t.$t(`voice.initialPrompt`),type:`textarea`,dense:``,dark:``,outlined:``,rows:2,class:`settings-input`},null,8,[`modelValue`,`label`]),b(`div`,Ft,u(t.$t(`voice.initialPromptHint`)),1),p(j,{modelValue:xi.value,"onUpdate:modelValue":r[25]||=e=>xi.value=e,label:t.$t(`voice.translateToEnglish`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,It,u(t.$t(`voice.translateToEnglishHint`)),1),p(j,{modelValue:Si.value,"onUpdate:modelValue":r[26]||=e=>Si.value=e,label:t.$t(`voice.suppressNst`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),b(`div`,Lt,u(t.$t(`voice.suppressNstHint`)),1),b(`div`,Rt,[(e(!0),_(v,null,n(y(x).voiceModels,n=>(e(),d(D,{key:n.name,flat:``,dense:``,"no-caps":``,size:`sm`,color:n.installed?`red-5`:`indigo-4`,label:n.installed?`${t.$t(`voice.delete`)} ${n.name}`:`${t.$t(`voice.download`)} ${n.name}`,loading:Ci.value===n.name,onClick:e=>n.installed?Oa(n.name):Da(n.name)},null,8,[`color`,`label`,`loading`,`onClick`]))),128))]),b(`div`,zt,[b(`span`,{class:l([`text-caption`,y(x).voiceRuntime?.available?`text-green-5`:`text-red-5`])},u(y(x).voiceRuntime?.available?y(S)(`voice.runtimeReady`,{command:y(x).voiceRuntime?.command??`whisper-cli`}):y(S)(`voice.runtimeMissing`,{command:y(x).voiceRuntime?.command??`whisper-cli`})),3),p(F),p(D,{flat:``,dense:``,size:`sm`,icon:`refresh`,color:`grey-5`,label:y(S)(`common.refresh`),onClick:r[27]||=e=>y(x).fetchVoiceRuntime()},null,8,[`label`])]),b(`div`,Bt,[b(`span`,{class:l([`text-caption`,y(x).voiceRuntime?.ffmpegAvailable?`text-green-5`:`text-red-5`])},u(y(x).voiceRuntime?.ffmpegAvailable?y(S)(`voice.ffmpegReady`):y(S)(`voice.ffmpegMissing`)),3)]),p(we,{dense:``,dark:``,icon:`help_outline`,label:t.$t(`voice.installGuideTitle`),class:`variables-panel rounded-borders q-mt-sm`},{default:s(()=>[b(`div`,Vt,[b(`div`,Ht,u(t.$t(`voice.installGuideIntro`)),1),b(`div`,Ut,[b(`a`,Wt,u(t.$t(`voice.installLink`)),1)]),b(`div`,Gt,u(t.$t(`voice.installGuideUbuntuTitle`)),1),r[68]||=b(`pre`,{class:`mono-guide q-mb-sm`},`sudo apt update
|
|
2
|
+
sudo apt install -y cmake build-essential ffmpeg
|
|
3
|
+
git clone https://github.com/ggml-org/whisper.cpp.git
|
|
4
|
+
cd whisper.cpp
|
|
5
|
+
cmake -B build
|
|
6
|
+
cmake --build build -j`,-1),b(`div`,Kt,u(t.$t(`voice.installGuideBinaryPathHint`)),1),b(`div`,qt,u(t.$t(`voice.installGuideWindowsTitle`)),1),r[69]||=b(`pre`,{class:`mono-guide q-mb-sm`},`# Install CMake + Visual Studio Build Tools (C/C++)
|
|
7
|
+
# Install ffmpeg (choco/scoop)
|
|
8
|
+
where whisper-cli
|
|
9
|
+
where ffmpeg`,-1),b(`div`,null,u(t.$t(`voice.installGuideSettingsHint`)),1)])]),_:1},8,[`label`])])]),b(`div`,Jt,[b(`div`,Yt,[b(`div`,Xt,u(t.$t(`settings.prPromptTemplate`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`prPromptTemplate`,disable:z.value!==null&&z.value!==`prPromptTemplate`,onClick:r[28]||=e=>Ta(`prPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Zt,u(t.$t(`settings.prPromptHint`)),1),p(A,{modelValue:w.value,"onUpdate:modelValue":r[29]||=e=>w.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,Qt,[p(we,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:s(()=>[p(Te,{dense:``,dark:``,class:`q-pa-sm`},{default:s(()=>[(e(!0),_(v,null,n(ia.value,t=>(e(),d(be,{key:t.name,dense:``},{default:s(()=>[p(xe,null,{default:s(()=>[p(Se,{class:`text-caption`,style:{"font-family":`monospace`}},{default:s(()=>[m(u(t.name),1)]),_:2},1024),p(Se,{caption:``,class:`text-grey-7`},{default:s(()=>[m(u(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),b(`div`,$t,[b(`div`,en,u(t.$t(`settings.reviewPromptTemplate`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`reviewPromptTemplate`,disable:z.value!==null&&z.value!==`reviewPromptTemplate`,onClick:r[30]||=e=>Ta(`reviewPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,tn,u(t.$t(`settings.prPromptHint`)),1),p(A,{modelValue:T.value,"onUpdate:modelValue":r[31]||=e=>T.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea q-mb-md`},null,8,[`modelValue`,`placeholder`]),b(`div`,nn,[b(`div`,rn,u(t.$t(`settings.gitConventions`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`gitConventions`,disable:z.value!==null&&z.value!==`gitConventions`,onClick:r[32]||=e=>Ta(`gitConventions`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,an,u(t.$t(`settings.gitConventionsHint`)),1),p(A,{modelValue:E.value,"onUpdate:modelValue":r[33]||=e=>E.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,on,[b(`div`,sn,u(t.$t(`settings.editorCommand`)),1),b(`div`,cn,u(t.$t(`settings.editorCommandHint`)),1),p(A,{modelValue:me.value,"onUpdate:modelValue":r[34]||=e=>me.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,ln,[b(`div`,un,u(t.$t(`settings.mcpSelection`)),1),b(`div`,dn,u(t.$t(`settings.mcpSelectionHint`)),1),b(`div`,fn,[b(`div`,pn,u(t.$t(`settings.notionMcp`)),1),p(I,{modelValue:We.value,"onUpdate:modelValue":r[35]||=e=>We.value=e,options:aa.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,mn,[b(`div`,hn,u(t.$t(`settings.sentryMcp`)),1),p(I,{modelValue:Ge.value,"onUpdate:modelValue":r[36]||=e=>Ge.value=e,options:aa.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])])]),b(`div`,gn,[b(`div`,_n,u(t.$t(`settings.notionStatus`)),1),b(`div`,vn,u(t.$t(`settings.notionStatusHint`)),1),b(`div`,yn,[b(`div`,bn,u(t.$t(`settings.notionStatusProperty`)),1),p(A,{modelValue:P.value,"onUpdate:modelValue":r[37]||=e=>P.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,xn,[b(`div`,Sn,u(t.$t(`settings.notionInProgressStatus`)),1),p(A,{modelValue:Ue.value,"onUpdate:modelValue":r[38]||=e=>Ue.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,Cn,[b(`div`,wn,u(y(S)(`settings.notionInitialPrompt`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`notionInitialPromptTemplate`,disable:z.value!==null&&z.value!==`notionInitialPromptTemplate`,onClick:r[39]||=e=>Ta(`notionInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,Tn,u(y(S)(`settings.notionInitialPrompt.help`,{variables:`{ticket_id}, {notion_url}, {notion_file_path}`})),1),p(A,{modelValue:L.value,"onUpdate:modelValue":r[40]||=e=>L.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,En,[b(`div`,Dn,u(y(S)(`settings.sentryIntegration`)),1),b(`div`,On,[b(`div`,kn,u(y(S)(`settings.sentryInitialPrompt`)),1),p(F),p(D,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-5`,icon:`restart_alt`,label:y(S)(`settings.resetToDefault`),loading:z.value===`sentryInitialPromptTemplate`,disable:z.value!==null&&z.value!==`sentryInitialPromptTemplate`,onClick:r[41]||=e=>Ta(`sentryInitialPromptTemplate`)},null,8,[`label`,`loading`,`disable`])]),b(`div`,An,u(y(S)(`settings.sentryInitialPrompt.help`,{variables:`{issue_id}, {sentry_url}, {sentry_file_path}`})),1),p(A,{modelValue:R.value,"onUpdate:modelValue":r[42]||=e=>R.value=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,jn,[b(`div`,Mn,u(t.$t(`settings.tagsTitle`)),1),b(`div`,Nn,u(t.$t(`settings.tagsHint`)),1),p(I,{modelValue:ii.value,"onUpdate:modelValue":r[43]||=e=>ii.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])]),b(`div`,Pn,[b(`div`,Fn,u(t.$t(`settings.worktreesTitle`)),1),b(`div`,In,u(t.$t(`settings.worktreesHint`)),1),p(A,{ref_key:`globalWorktreesPathInput`,ref:oi,modelValue:ai.value,"onUpdate:modelValue":r[44]||=e=>ai.value=e,label:t.$t(`settings.worktreesPathLabel`),dense:``,dark:``,outlined:``,placeholder:y(se),rules:Di,"lazy-rules":``,class:`settings-input`},null,8,[`modelValue`,`label`,`placeholder`]),p(j,{modelValue:si.value,"onUpdate:modelValue":r[45]||=e=>si.value=e,label:t.$t(`settings.worktreesPrefixByProject`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption q-mt-sm`},null,8,[`modelValue`,`label`]),b(`div`,Ln,u(t.$t(`settings.worktreesPrefixByProjectHint`)),1)]),b(`div`,Rn,[b(`div`,zn,u(t.$t(`settings.shareTitle`)),1),b(`div`,Bn,u(t.$t(`settings.shareHint`)),1),b(`div`,Vn,[p(D,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:Sa},null,8,[`label`]),p(D,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:Ca},null,8,[`label`]),b(`input`,{ref_key:`importFileInput`,ref:xa,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:wa},null,544)])]),b(`div`,Hn,[p(D,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:Oi.value,class:l({"save-btn--dirty":ha.value}),onClick:Ea},null,8,[`label`,`loading`,`class`])])])]),_:1}),p(je,{name:`projects`,class:`q-pa-none`},{default:s(()=>[b(`div`,Un,[b(`div`,Wn,[b(`div`,Gn,[b(`div`,Kn,[b(`div`,qn,u(t.$t(`settings.configuredProjects`)),1)]),p(ae,{dark:``}),p(Te,{dark:``,dense:``,class:`q-py-xs`},{default:s(()=>[(e(!0),_(v,null,n(y(x).projects,(t,n)=>(e(),d(be,{key:t.path,clickable:``,active:G.value===n&&!K.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>Ma(n)},{default:s(()=>[p(xe,null,{default:s(()=>[p(Se,{class:`text-body2 text-grey-3`},{default:s(()=>[m(u(Na(t)),1)]),_:2},1024),p(Se,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:s(()=>[m(u(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),y(x).projects.length===0&&!y(x).loading?(e(),_(`div`,Jn,u(t.$t(`settings.noProjects`)),1)):f(``,!0),p(ae,{dark:``}),b(`div`,Yn,[p(D,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:ja},null,8,[`label`])])])]),b(`div`,Xn,[b(`div`,Zn,[ua.value||K.value?(e(),_(v,{key:0},[b(`div`,Qn,u(K.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),p(ae,{dark:``,class:`q-mb-md`}),K.value&&y(x).projects.length>0?(e(),_(`div`,$n,[b(`div`,er,u(t.$t(`settings.copyFrom`)),1),p(I,{"model-value":J.value,options:Ai.value,"option-value":`value`,"option-label":`label`,"emit-value":``,"map-options":``,clearable:``,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.copyFromPlaceholder`),class:`settings-input`,"onUpdate:modelValue":Ni},null,8,[`model-value`,`options`,`placeholder`]),b(`div`,tr,u(t.$t(`settings.copyFromHint`)),1)])):f(``,!0),b(`div`,nr,[b(`div`,rr,u(t.$t(`settings.projectPath`)),1),p(A,{modelValue:q.value.path,"onUpdate:modelValue":r[46]||=e=>q.value.path=e,dense:``,dark:``,outlined:``,readonly:!K.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:l([`settings-input`,{"readonly-input":!K.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),b(`div`,ir,[b(`div`,ar,u(t.$t(`settings.displayName`)),1),p(A,{modelValue:q.value.displayName,"onUpdate:modelValue":r[47]||=e=>q.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),b(`div`,or,[b(`div`,sr,u(t.$t(`settings.projectColor`)),1),b(`div`,cr,[(e(!0),_(v,null,n(y(Me),t=>(e(),d(Re,{key:t,dense:``,clickable:``,color:t,icon:q.value.color===t?`check`:void 0,"text-color":`white`,onClick:e=>q.value.color=t},null,8,[`color`,`icon`,`onClick`]))),128)),p(D,{flat:``,dense:``,"no-caps":``,size:`xs`,label:t.$t(`settings.projectColorClear`),color:`grey-5`,disable:!q.value.color,onClick:r[48]||=e=>q.value.color=null},null,8,[`label`,`disable`])]),b(`div`,lr,u(q.value.color??t.$t(`settings.projectColorDefault`)),1)]),b(`div`,ur,[b(`div`,dr,u(t.$t(`settings.defaultSourceBranch`)),1),p(I,{modelValue:q.value.defaultSourceBranch,"onUpdate:modelValue":r[49]||=e=>q.value.defaultSourceBranch=e,options:Pa.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:Ri.value,class:`settings-input`,placeholder:`main`,onFilter:Fa},{"no-option":s(()=>[p(be,null,{default:s(()=>[p(xe,{class:`text-grey-6 text-caption`},{default:s(()=>[m(u(q.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),b(`div`,fr,[b(`div`,pr,u(t.$t(`settings.defaultModel.project`)),1),p(I,{modelValue:q.value.defaultModel,"onUpdate:modelValue":r[50]||=e=>q.value.defaultModel=e,options:ta.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),b(`div`,mr,[b(`div`,hr,u(t.$t(`settings.prPromptTemplate.project`)),1),p(A,{modelValue:q.value.prPromptTemplate,"onUpdate:modelValue":r[51]||=e=>q.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,gr,[b(`div`,_r,u(t.$t(`settings.reviewPromptTemplate.project`)),1),p(A,{modelValue:q.value.reviewPromptTemplate,"onUpdate:modelValue":r[52]||=e=>q.value.reviewPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.reviewPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,vr,[b(`div`,yr,u(y(S)(`settings.notionInitialPrompt.project`)),1),b(`div`,br,u(y(S)(`settings.initialPrompt.inheritHint`)),1),p(A,{modelValue:q.value.notionInitialPromptTemplate,"onUpdate:modelValue":r[53]||=e=>q.value.notionInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,xr,[b(`div`,Sr,u(y(S)(`settings.sentryInitialPrompt.project`)),1),b(`div`,Cr,u(y(S)(`settings.initialPrompt.inheritHint`)),1),p(A,{modelValue:q.value.sentryInitialPromptTemplate,"onUpdate:modelValue":r[54]||=e=>q.value.sentryInitialPromptTemplate=e,type:`textarea`,outlined:``,autogrow:``,class:`settings-input mono-textarea`},null,8,[`modelValue`])]),b(`div`,wr,[b(`div`,Tr,u(t.$t(`settings.gitConventions.project`)),1),p(A,{modelValue:q.value.gitConventions,"onUpdate:modelValue":r[55]||=e=>q.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,Er,u(t.$t(`settings.gitConventionsEmpty`)),1)]),b(`div`,Dr,[b(`div`,Or,u(t.$t(`settings.setupScript`)),1),p(A,{modelValue:q.value.setupScript,"onUpdate:modelValue":r[56]||=e=>q.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),b(`div`,kr,u(t.$t(`settings.setupScriptHint`)),1)]),b(`div`,Ar,[b(`div`,jr,u(t.$t(`settings.devServer`)),1),b(`div`,Mr,[b(`div`,Nr,u(t.$t(`settings.devServerStart`)),1),p(A,{modelValue:q.value.devServer.startCommand,"onUpdate:modelValue":r[57]||=e=>q.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),b(`div`,null,[b(`div`,Pr,u(t.$t(`settings.devServerStop`)),1),p(A,{modelValue:q.value.devServer.stopCommand,"onUpdate:modelValue":r[58]||=e=>q.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),b(`div`,Fr,[b(`div`,Ir,u(t.$t(`settings.e2e.title`)),1),b(`div`,Lr,u(t.$t(`settings.e2e.helpText`)),1),p(I,{modelValue:q.value.e2e.framework,"onUpdate:modelValue":r[59]||=e=>q.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),q.value.e2e.framework?(e(),_(v,{key:0},[p(I,{modelValue:q.value.e2e.skill,"onUpdate:modelValue":r[60]||=e=>q.value.e2e.skill=e,options:Fi.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:Li},null,8,[`modelValue`,`options`,`label`,`placeholder`]),p(A,{modelValue:q.value.e2e.prompt,"onUpdate:modelValue":r[61]||=e=>q.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):f(``,!0)]),b(`div`,Rr,[b(`div`,zr,u(t.$t(`settings.finalization.title`)),1),b(`div`,Br,u(t.$t(`settings.finalization.helpText`)),1),p(A,{modelValue:q.value.finalization.prompt,"onUpdate:modelValue":r[62]||=e=>q.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),b(`div`,Vr,[K.value?f(``,!0):(e(),d(D,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,size:`sm`,color:`red-5`,loading:Bi.value,onClick:Aa},null,8,[`label`,`loading`])),p(F),p(D,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,size:`sm`,color:`primary`,loading:zi.value,class:l({"save-btn--dirty":ga.value}),onClick:ka},null,8,[`label`,`loading`,`class`])])],64)):(e(),_(`div`,Hr,[p(ie,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),b(`div`,Ur,u(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),p(je,{name:`templates`,class:`q-pa-none`},{default:s(()=>[b(`div`,Wr,[b(`div`,Gr,[b(`div`,Kr,u(t.$t(`templates.title`)),1),p(D,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:qi},null,8,[`label`])]),p(ae,{dark:``,class:`q-mb-md`}),Gi.value.length===0?(e(),_(`div`,qr,u(t.$t(`templates.empty`)),1)):(e(),_(`div`,Jr,[(e(!0),_(v,null,n(Gi.value,n=>(e(),d(ye,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:s(()=>[b(`div`,Yr,[b(`div`,Xr,[b(`div`,Zr,` /`+u(n.slug),1),b(`div`,Qr,u(n.description),1)]),b(`div`,$r,[p(D,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>Ji(n)},{default:s(()=>[p(Ce,null,{default:s(()=>[m(u(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),p(D,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>Xi(n)},{default:s(()=>[p(Ce,null,{default:s(()=>[m(u(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),b(`div`,ei,u(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),p(ge,{modelValue:Vi.value,"onUpdate:modelValue":r[67]||=e=>Vi.value=e,persistent:``},{default:s(()=>[p(ye,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:s(()=>[p(he,null,{default:s(()=>[b(`div`,ti,u(Z.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),p(he,{class:`q-gutter-md`},{default:s(()=>[p(A,{modelValue:Hi.value,"onUpdate:modelValue":r[64]||=e=>Hi.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:Z.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),p(A,{modelValue:Ui.value,"onUpdate:modelValue":r[65]||=e=>Ui.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(A,{modelValue:Q.value,"onUpdate:modelValue":r[66]||=e=>Q.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),p(we,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:s(()=>[b(`div`,ni,[(e(),_(v,null,n(Ki,e=>b(`div`,{key:e,class:`text-grey-5 q-mb-xs`},u(e),1)),64))])]),_:1},8,[`label`]),$.value?(e(),_(`div`,ri,u($.value),1)):f(``,!0)]),_:1}),p(pe,{align:`right`},{default:s(()=>[c(p(D,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[Ee]]),p(D,{flat:``,color:`primary`,label:Z.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Wi.value,onClick:Yi},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-489498dd`]]);export{ii as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,M as t,Q as n,S as r,k as i,y as a}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{A as o,C as s,D as c,E as l,F as u,M as d,N as f,O as p,P as m,j as h,k as g,w as _}from"./QIcon-qfJNZLIW.js";import{f as v,p as y}from"./use-id-_7wiRcgb.js";import{p as b}from"./QTooltip-
|
|
1
|
+
import{E as e,M as t,Q as n,S as r,k as i,y as a}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{A as o,C as s,D as c,E as l,F as u,M as d,N as f,O as p,P as m,j as h,k as g,w as _}from"./QIcon-qfJNZLIW.js";import{f as v,p as y}from"./use-id-_7wiRcgb.js";import{p as b}from"./QTooltip-CTNw68oZ.js";import{n as x,t as S}from"./touch-HRdTUO2o.js";function C(){let e=n(!y.value);return e.value===!1&&t(()=>{e.value=!0}),{isHydrated:e}}var w=typeof ResizeObserver<`u`,T=w===!0?{}:{style:`display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;`,url:`about:blank`},E=m({name:`QResizeObserver`,props:{debounce:{type:[String,Number],default:100}},emits:[`resize`],setup(n,{emit:o}){let s=null,l,u={width:-1,height:-1};function d(e){e===!0||n.debounce===0||n.debounce===`0`?f():s===null&&(s=setTimeout(f,n.debounce))}function f(){if(s!==null&&(clearTimeout(s),s=null),l){let{offsetWidth:e,offsetHeight:t}=l;(e!==u.width||t!==u.height)&&(u={width:e,height:t},o(`resize`,u))}}let{proxy:m}=a();if(m.trigger=d,w===!0){let n,r=t=>{l=m.$el.parentNode,l?(n=new ResizeObserver(d),n.observe(l),f()):t!==!0&&e(()=>{r(!0)})};return t(()=>{r()}),i(()=>{s!==null&&clearTimeout(s),n!==void 0&&(n.disconnect===void 0?l&&n.unobserve(l):n.disconnect())}),p}else{let{isHydrated:n}=C(),a;function o(){s!==null&&(clearTimeout(s),s=null),a!==void 0&&(a.removeEventListener!==void 0&&a.removeEventListener(`resize`,d,c.passive),a=void 0)}function u(){o(),l?.contentDocument&&(a=l.contentDocument.defaultView,a.addEventListener(`resize`,d,c.passive),f())}return t(()=>{e(()=>{l=m.$el,l&&u()})}),i(o),()=>{if(n.value===!0)return r(`object`,{class:`q--avoid-card-border`,style:T.style,tabindex:-1,type:`text/html`,data:T.url,"aria-hidden":`true`,onLoad:u})}}}});function D(e,t,n){let r=g(e),i,a=r.left-t.event.x,o=r.top-t.event.y,s=Math.abs(a),c=Math.abs(o),l=t.direction;l.horizontal===!0&&l.vertical!==!0?i=a<0?`left`:`right`:l.horizontal!==!0&&l.vertical===!0?i=o<0?`up`:`down`:l.up===!0&&o<0?(i=`up`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.down===!0&&o>0?(i=`down`,s>c&&(l.left===!0&&a<0?i=`left`:l.right===!0&&a>0&&(i=`right`))):l.left===!0&&a<0?(i=`left`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`))):l.right===!0&&a>0&&(i=`right`,s<c&&(l.up===!0&&o<0?i=`up`:l.down===!0&&o>0&&(i=`down`)));let u=!1;if(i===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};i=t.event.lastDir,u=!0,i===`left`||i===`right`?(r.left-=a,s=0,a=0):(r.top-=o,c=0,o=0)}return{synthetic:u,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:i,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:s,y:c},offset:{x:a,y:o},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var O=0,k=u({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&v.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?f(e):(n.stop===!0&&d(e),n.prevent===!0&&o(e))}let i={uid:`qvtp_`+ O++,handler:t,modifiers:n,direction:S(n),noop:p,mouseStart(e){x(e,i)&&l(e)&&(s(i,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),i.start(e,!0))},touchStart(e){if(x(e,i)){let t=e.target;s(i,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),i.start(e)}},start(t,r){if(v.is.firefox===!0&&h(e,!0),i.lastEvt=t,r===!0||n.stop===!0){if(i.direction.all!==!0&&(r!==!0||i.modifiers.mouseAllDir!==!0&&i.modifiers.mousealldir!==!0)){let e=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&o(e),t.cancelBubble===!0&&d(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[i.uid]:t.qClonedBy.concat(i.uid)}),i.initialEvent={target:t.target,event:e}}d(t)}let{left:a,top:s}=g(t);i.event={x:a,y:s,time:Date.now(),mouse:r===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:a,lastY:s}},move(e){if(i.event===void 0)return;let t=g(e),a=t.left-i.event.x,o=t.top-i.event.y;if(a===0&&o===0)return;i.lastEvt=e;let s=i.event.mouse===!0,c=()=>{r(e,s);let t;n.preserveCursor!==!0&&n.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),s===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),b(),i.styleCleanup=e=>{if(i.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),s===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(i.event.detected===!0){i.event.isFirst!==!0&&r(e,i.event.mouse);let{payload:t,synthetic:n}=D(e,i,!1);t!==void 0&&(i.handler(t)===!1?i.end(e):(i.styleCleanup===void 0&&i.event.isFirst===!0&&c(),i.event.lastX=t.position.left,i.event.lastY=t.position.top,i.event.lastDir=n===!0?void 0:t.direction,i.event.isFirst=!1));return}if(i.direction.all===!0||s===!0&&(i.modifiers.mouseAllDir===!0||i.modifiers.mousealldir===!0)){c(),i.event.detected=!0,i.move(e);return}let l=Math.abs(a),u=Math.abs(o);l!==u&&(i.direction.horizontal===!0&&l>u||i.direction.vertical===!0&&l<u||i.direction.up===!0&&l<u&&o<0||i.direction.down===!0&&l<u&&o>0||i.direction.left===!0&&l>u&&a<0||i.direction.right===!0&&l>u&&a>0?(i.event.detected=!0,i.move(e)):i.end(e,!0))},end(t,n){if(i.event!==void 0){if(_(i,`temp`),v.is.firefox===!0&&h(e,!1),n===!0)i.styleCleanup?.(),i.event.detected!==!0&&i.initialEvent!==void 0&&i.initialEvent.target.dispatchEvent(i.initialEvent.event);else if(i.event.detected===!0){i.event.isFirst===!0&&i.handler(D(t===void 0?i.lastEvt:t,i).payload);let{payload:e}=D(t===void 0?i.lastEvt:t,i,!0),n=()=>{i.handler(e)};i.styleCleanup===void 0?n():i.styleCleanup(n)}i.event=void 0,i.initialEvent=void 0,i.lastEvt=void 0}}};e.__qtouchpan=i,n.mouse===!0&&s(i,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),v.has.touch===!0&&s(i,`main`,[[e,`touchstart`,`touchStart`,`passive${n.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=S(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),_(t,`main`),_(t,`temp`),v.is.firefox===!0&&h(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}});export{E as n,k as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-
|
|
2
|
-
import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,S as c,T as l,U as u,W as d,_ as f,_t as p,a as m,bt as h,d as g,f as _,g as v,h as y,i as b,k as x,l as S,p as C,r as w,rt as T,u as E,v as D,w as ee,y as O}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{H as te,P as k,U as A,a as j,i as ne,m as M,n as N,r as re,s as P,t as F,v as ie}from"./QIcon-qfJNZLIW.js";import{r as ae}from"./use-id-_7wiRcgb.js";import{s as oe}from"./notifications-CEyiPnmw.js";import{c as se,t as I}from"./QBtn-CaJSOyt8.js";import{n as L}from"./vue-i18n-CKCtKE87.js";import{n as ce,t as le}from"./QRadio-4HnR_A-K.js";import{t as ue}from"./QInput-DCJEwE8V.js";import{t as R}from"./QCheckbox-BvHfXBFY.js";import{b as z,c as B,f as de,h as fe,i as V,m as pe,n as H,o as U,r as me,u as W,v as he,y as G}from"./index-Dx_W9yYo.js";import{t as ge}from"./QSpinnerDots-Bfl2RMy4.js";import{n as _e,t as ve}from"./QItemSection-Bz1ZDJO5.js";import{t as ye}from"./QItemLabel-CHkgkZVj.js";import{m as be,t as K}from"./QTooltip-CbLXk2Bs.js";import{t as q}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as xe}from"./QBadge-C7r6oPSi.js";import{t as J}from"./QSpace-DKIph84L.js";import{t as Y}from"./QMenu-CMoolewZ.js";import{t as Se}from"./ClosePopup-DMnQG6nw.js";import{t as Ce}from"./use-quasar-DQYS47mh.js";import{a as we,i as Te,n as Ee,r as De,t as Oe}from"./use-panel-lBh91vcW.js";import{t as X}from"./kobo-commands-DCoQW_NQ.js";import{r as ke,t as Ae}from"./engineFeatures-BxAOQcPU.js";import{t as je}from"./formatters-h0XBETG5.js";import{a as Me,i as Ne,r as Pe,t as Fe}from"./permissionModes-CPZlEHoF.js";import{t as Ie}from"./QPage-Co2h9wd_.js";import{a as Le,i as Re,n as ze,r as Be,t as Ve}from"./expand-template-GaEux9_o.js";var He={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},Ue={key:0,class:`q-ml-xs`},Z=D({__name:`AgentBusyBanner`,setup(e){let{t:n}=L(),r=B(),i=ee(`openDrawerTab`),a=S(()=>r.currentSubagents.filter(e=>e.status===`running`).length),o=S(()=>{let e=r.selectedWorkspace;return e?W(e.status):!1});function s(){i?.(`subagents`)}return(e,r)=>o.value?(t(),C(`div`,He,[v(ge,{size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,null,h(T(n)(`agentBusy.banner`)),1),a.value>0?(t(),C(`span`,Ue,` — `+h(T(n)(`agentBusy.subagentsRunning`,{n:a.value},a.value)),1)):_(``,!0),a.value>0?(t(),C(w,{key:1},[v(J),E(`span`,{class:`text-indigo-4 cursor-pointer`,style:{"text-decoration":`underline`},onClick:s},h(T(n)(`agentBusy.viewSubagents`)),1)],64)):_(``,!0)])):_(``,!0)}}),Q=k({name:`QBanner`,props:{...re,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){let{proxy:{$q:n}}=O(),r=N(e,n),i=S(()=>`q-banner row items-center`+(e.dense===!0?` q-banner--dense`:``)+(r.value===!0?` q-banner--dark q-dark`:``)+(e.rounded===!0?` rounded-borders`:``)),a=S(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?`auto`:`all`}`);return()=>{let n=[c(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},P(t.avatar)),c(`div`,{class:`q-banner__content col text-body2`},P(t.default))],r=P(t.action);return r!==void 0&&n.push(c(`div`,{class:a.value},r)),c(`div`,{class:i.value+(e.inlineActions===!1&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},n)}}}),We={class:`text-subtitle2`},Ge={class:`text-caption`},Ke=D({__name:`AgentErrorBanner`,props:{workspaceId:{}},setup(e){let n=e,{t:r}=L(),i=de();async function a(){let e=c.value;if(e){i.removeByEventId(n.workspaceId,e);try{await fetch(`/api/workspaces/${n.workspaceId}/events/${e}`,{method:`DELETE`})}catch(e){console.warn(`[agent-error-banner] failed to persist dismiss:`,e)}}}function o(e){let t=e.replace(/\u001b\[\d+m/g,``).trim();return/^warning:/i.test(t)}let s=S(()=>{let e=i.eventsFor(n.workspaceId);for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`error`||n.category===`quota`)&&!(n.category===`other`&&o(n.message)))return n}return null}),c=S(()=>{let e=i.eventsFor(n.workspaceId),t=i.eventIdsFor(n.workspaceId);for(let n=e.length-1;n>=0;n--){let r=e[n];if(!(r.kind!==`error`||r.category===`quota`)&&!(r.category===`other`&&o(r.message)))return t[n]??null}return null}),l=s;return(e,n)=>T(l)?(t(),g(Q,{key:0,class:`bg-negative text-white q-ma-sm`},{avatar:u(()=>[v(F,{name:`error_outline`})]),action:u(()=>[v(I,{flat:``,dense:``,round:``,icon:`close`,"aria-label":T(r)(`common.close`),onClick:a},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(r)(`common.close`)),1)]),_:1})]),_:1},8,[`aria-label`])]),default:u(()=>[E(`div`,We,h(T(r)(`agent.error.${T(l).category}`)),1),E(`div`,Ge,h(T(l).message),1)]),_:1})):_(``,!0)}}),qe=k({name:`StepHeader`,props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:t}){let{proxy:{$q:n}}=O(),r=s(null),i=S(()=>e.stepper.modelValue===e.step.name),a=S(()=>{let t=e.step.disable;return t===!0||t===``}),o=S(()=>{let t=e.step.error;return t===!0||t===``}),l=S(()=>{let t=e.step.done;return a.value===!1&&(t===!0||t===``)}),u=S(()=>{let t=e.step.headerNav,n=t===!0||t===``||t===void 0;return a.value===!1&&e.stepper.headerNav&&n}),f=S(()=>e.step.prefix&&(i.value===!1||e.stepper.activeIcon===`none`)&&(o.value===!1||e.stepper.errorIcon===`none`)&&(l.value===!1||e.stepper.doneIcon===`none`)),p=S(()=>{let t=e.step.icon||e.stepper.inactiveIcon;if(i.value===!0){let r=e.step.activeIcon||e.stepper.activeIcon;return r===`none`?t:r||n.iconSet.stepper.active}if(o.value===!0){let r=e.step.errorIcon||e.stepper.errorIcon;return r===`none`?t:r||n.iconSet.stepper.error}if(a.value===!1&&l.value===!0){let r=e.step.doneIcon||e.stepper.doneIcon;return r===`none`?t:r||n.iconSet.stepper.done}return t}),m=S(()=>{let t=o.value===!0?e.step.errorColor||e.stepper.errorColor:void 0;if(i.value===!0){let n=e.step.activeColor||e.stepper.activeColor||e.step.color;return n===void 0?t:n}return t===void 0?a.value===!1&&l.value===!0?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor:t}),h=S(()=>`q-stepper__tab col-grow flex items-center no-wrap relative-position`+(m.value===void 0?``:` text-${m.value}`)+(o.value===!0?` q-stepper__tab--error q-stepper__tab--error-with-`+(f.value===!0?`prefix`:`icon`):``)+(i.value===!0?` q-stepper__tab--active`:``)+(l.value===!0?` q-stepper__tab--done`:``)+(u.value===!0?` q-stepper__tab--navigation q-focusable q-hoverable`:``)+(a.value===!0?` q-stepper__tab--disabled`:``)),g=S(()=>e.stepper.headerNav===!0?u.value:!1);function _(){r.value?.focus(),i.value===!1&&e.goToPanel(e.step.name)}function v(t){t.keyCode===13&&i.value===!1&&e.goToPanel(e.step.name)}return()=>{let n={class:h.value};u.value===!0&&(n.onClick=_,n.onKeyup=v,Object.assign(n,a.value===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:t.tabindex||0}));let i=[c(`div`,{class:`q-focus-helper`,tabindex:-1,ref:r}),c(`div`,{class:`q-stepper__dot row flex-center q-stepper__line relative-position`},[c(`span`,{class:`row flex-center`},[f.value===!0?e.step.prefix:c(F,{name:p.value})])])];if(e.step.title!==void 0&&e.step.title!==null){let t=[c(`div`,{class:`q-stepper__title`},e.step.title)];e.step.caption!==void 0&&e.step.caption!==null&&t.push(c(`div`,{class:`q-stepper__caption`},e.step.caption)),i.push(c(`div`,{class:`q-stepper__label q-stepper__line relative-position`},t))}return d(c(`div`,n,i),[[se,g.value]])}}});function Je(e){return c(`div`,{class:`q-stepper__step-content`},[c(`div`,{class:`q-stepper__step-inner`},P(e.default))])}var $={setup(e,{slots:t}){return()=>Je(t)}},Ye=k({name:`QStep`,props:{...Ee,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:t,emit:n}){let{proxy:{$q:r}}=O(),i=ee(ie,M);if(i===M)return console.error(`QStep needs to be a child of QStepper`),M;let{getCache:a}=we(),o=s(null),l=S(()=>i.value.modelValue===e.name),u=S(()=>r.platform.is.ios!==!0&&r.platform.is.chrome===!0||l.value!==!0||i.value.vertical!==!0?{}:{onScroll(t){let{target:r}=t;r.scrollTop>0&&(r.scrollTop=0),e.onScroll!==void 0&&n(`scroll`,t)}}),d=S(()=>typeof e.name==`string`||typeof e.name==`number`?e.name:String(e.name));function f(){let e=i.value.vertical;return e===!0&&i.value.keepAlive===!0?c(b,i.value.keepAliveProps.value,l.value===!0?[c(i.value.needsUniqueKeepAliveWrapper.value===!0?a(d.value,()=>({...$,name:d.value})):$,{key:d.value},t.default)]:void 0):e!==!0||l.value===!0?Je(t):void 0}return()=>c(`div`,{ref:o,class:`q-stepper__step`,role:`tabpanel`,...u.value},i.value.vertical===!0?[c(qe,{stepper:i.value,step:e,goToPanel:i.value.goToPanel}),i.value.animated===!0?c(be,f):f()]:[f()])}}),Xe=k({name:`QStepperNavigation`,setup(e,{slots:t}){return()=>c(`div`,{class:`q-stepper__nav`},P(t.default))}}),Ze=/(-\w)/g;function Qe(e){let t={};for(let n in e){let r=n.replace(Ze,e=>e[1].toUpperCase());t[r]=e[n]}return t}var $e=k({name:`QStepper`,props:{...re,...Te,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:De,setup(e,{slots:t}){let n=N(e,O().proxy.$q),{updatePanelsList:i,isValidPanelName:a,updatePanelIndex:o,getPanelContent:s,getPanels:l,panelDirectives:u,goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p}=Oe();r(ie,S(()=>({goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p,...e})));let m=S(()=>`q-stepper q-stepper--${e.vertical===!0?`vertical`:`horizontal`}`+(e.flat===!0?` q-stepper--flat`:``)+(e.bordered===!0?` q-stepper--bordered`:``)+(n.value===!0?` q-stepper--dark q-dark`:``)),h=S(()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${e.alternativeLabels===!0?`alternative`:`standard`}-labels`+(e.flat===!1||e.bordered===!0?` q-stepper__header--border`:``)+(e.contracted===!0?` q-stepper__header--contracted`:``)+(e.headerClass===void 0?``:` ${e.headerClass}`));function g(){let n=P(t.message,[]);if(e.vertical===!0){a(e.modelValue)&&o();let r=c(`div`,{class:`q-stepper__content`},P(t.default));return n===void 0?[r]:n.concat(r)}return[c(`div`,{class:h.value},l().map(t=>{let n=Qe(t.props);return c(qe,{key:n.name,stepper:e,step:n,goToPanel:d})})),n,ne(`div`,{class:`q-stepper__content q-panel-parent`},s(),`cont`,e.swipeable,()=>u.value)]}return()=>(i(t),c(`div`,{class:m.value},j(t.navigation,g())))}}),et=`__KOBO_OTHER__`,tt=`Other — the user will provide a free-form clarification in their next message. Please wait for their input before proceeding.`;function nt(e,t){if(t)return(Array.isArray(e)?e:[]).map(e=>e===`__KOBO_OTHER__`?tt:e).join(`, `);let n=Array.isArray(e)?e[0]??``:e;return n===`__KOBO_OTHER__`?tt:n}var rt={class:`text-grey-3`},it={key:0,class:`text-grey-6 q-ml-xs`},at={key:1,class:`text-grey-6 q-ml-xs`},ot=D({__name:`AukqOptionLabel`,props:{label:{},description:{}},setup(e){let n=e,{t:r}=L(),i=S(()=>n.label===et);return(n,a)=>(t(),C(w,null,[E(`span`,rt,h(i.value?T(r)(`askUserQuestion.otherOption`):e.label),1),i.value?(t(),C(`span`,it,`— `+h(T(r)(`askUserQuestion.otherOptionHint`)),1)):e.description?(t(),C(`span`,at,`— `+h(e.description),1)):_(``,!0)],64))}}),st={key:0,class:`ask-user-question-panel q-pa-sm bg-dark text-grey-3`},ct={class:`row items-center q-mb-xs`},lt={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},ut={key:0,class:`text-caption text-grey-6`},dt={class:`text-body2 text-grey-2 q-mb-sm`},ft={key:0,class:`text-caption text-grey-6 q-mb-xs`},pt={class:`aukq-options column q-gutter-xs`},mt={class:`row items-center q-gutter-sm`},ht={key:3,class:`text-negative text-caption`},gt=q(D({__name:`AskUserQuestionPanel`,props:{workspaceId:{}},setup(e){let r=e,{t:a}=L(),o=B(),c=S(()=>{let e=o.peekPending(r.workspaceId);if(!(!e||e.kind!==`question`))return e}),l=S(()=>c.value?(c.value.input?.questions??[]).map(e=>({...e,options:[...e.options,{label:et}]})):[]),d=S(()=>l.value[x.value]),f=s({}),p=s({}),m=s(!1),b=s(null),x=s(0);n(l,e=>{f.value=Object.fromEntries(e.map(e=>[e.question,[]])),p.value=Object.fromEntries(e.map(e=>[e.question,``])),b.value=null,x.value=0,m.value=!1},{immediate:!0});function D(e,t){return e.header?e.header:`Q${t+1}`}function ee(e){return te(e)?`check`:`help_outline`}function O(e){let t=l.value[e];return t?t.multiSelect?(f.value[t.question]??[]).length>0:!!p.value[t.question]:!1}function te(e){return O(e)&&e<x.value}let k=S(()=>x.value===l.value.length-1),A=S(()=>l.value.every((e,t)=>O(t)));function j(){x.value<l.value.length-1&&(x.value+=1)}function ne(){x.value>0&&--x.value}async function M(){if(!m.value){m.value=!0,b.value=null;try{let e={};for(let t of l.value)t.multiSelect?e[t.question]=nt(f.value[t.question]??[],!0):e[t.question]=nt(p.value[t.question]??``,!1);await o.submitDeferredAnswer(r.workspaceId,e,c.value?.toolCallId)}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{m.value=!1}}}async function N(){if(!m.value){m.value=!0,b.value=null;try{await o.cancelDeferredAnswer(r.workspaceId,`User cancelled the question via the UI`,c.value?.toolCallId)}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{m.value=!1}}}return(e,n)=>c.value?(t(),C(`div`,st,[E(`div`,ct,[v(F,{name:`question_answer`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,lt,h(T(a)(`askUserQuestion.title`)),1),v(J),l.value.length>1?(t(),C(`span`,ut,h(x.value+1)+` / `+h(l.value.length),1)):_(``,!0)]),d.value?(t(),g($e,{key:0,ref:`stepperRef`,modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,flat:``,dark:``,animated:``,"header-nav":``,class:`aukq-stepper bg-transparent`,color:`amber-5`,"active-color":`amber-4`,"done-color":`amber-5`},{navigation:u(()=>[v(Xe,null,{default:u(()=>[E(`div`,mt,[x.value>0?(t(),g(I,{key:0,flat:``,dense:``,color:`grey-4`,label:T(a)(`askUserQuestion.previous`),disable:m.value,onClick:ne},null,8,[`label`,`disable`])):_(``,!0),k.value?(t(),g(I,{key:2,label:T(a)(`askUserQuestion.submit`),color:`indigo-5`,dense:``,unelevated:``,loading:m.value,disable:!A.value||m.value,onClick:M},null,8,[`label`,`loading`,`disable`])):(t(),g(I,{key:1,label:T(a)(`askUserQuestion.next`),color:`indigo-5`,dense:``,unelevated:``,disable:!O(x.value)||m.value,onClick:j},null,8,[`label`,`disable`])),v(I,{label:T(a)(`askUserQuestion.cancel`),flat:``,dense:``,color:`grey-4`,disable:m.value,onClick:N},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(a)(`askUserQuestion.cancelTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),v(J),b.value?(t(),C(`span`,ht,h(b.value),1)):_(``,!0)])]),_:1})]),default:u(()=>[(t(!0),C(w,null,i(l.value,(e,n)=>(t(),g(Ye,{key:n,name:n,title:D(e,n),icon:ee(n),"active-icon":`edit`,done:te(n),"header-nav":te(n)||n===x.value},{default:u(()=>[E(`div`,dt,h(e.question),1),e.multiSelect?(t(),C(`div`,ft,h(T(a)(`askUserQuestion.multiSelectHint`)),1)):_(``,!0),E(`div`,pt,[e.multiSelect?(t(!0),C(w,{key:0},i(e.options,n=>(t(),g(R,{key:n.label,modelValue:f.value[e.question],"onUpdate:modelValue":t=>f.value[e.question]=t,val:n.label,dark:``,dense:``,color:`indigo-4`,disable:m.value},{default:u(()=>[v(ot,{label:n.label,description:n.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128)):(t(!0),C(w,{key:1},i(e.options,n=>(t(),g(le,{key:n.label,modelValue:p.value[e.question],"onUpdate:modelValue":t=>p.value[e.question]=t,val:n.label,dark:``,dense:``,color:`indigo-4`,disable:m.value},{default:u(()=>[v(ot,{label:n.label,description:n.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128))])]),_:2},1032,[`name`,`title`,`icon`,`done`,`header-nav`]))),128))]),_:1},8,[`modelValue`])):_(``,!0)])):_(``,!0)}}),[[`__scopeId`,`data-v-ab068179`]]);function _t(e,t){return e===`five_hour`?t(`rateLimitType.fiveHour`):e===`seven_day`?t(`rateLimitType.sevenDay`):e}function vt(e,t){try{let n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleTimeString(t?.locale,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:t?.timeZone})}catch{return e}}function yt(e,t,n){return e.id===`text-detected`&&e.resetAt?n(`stats.resetsAt`,{value:vt(e.resetAt)}):!e.label||e.label.trim().length===0?n(`stats.usageBucket`,{n:t+1}):_t(e.label,n)}function bt(e){return e<50?`positive`:e<75?`warning`:e<90?`orange`:`negative`}var xt={class:`quota-footer`},St={key:0,class:`text-grey-7`},Ct={class:`text-negative text-weight-medium`},wt={class:`text-weight-medium q-mb-sm`},Tt={class:`text-caption q-mb-sm`},Et={class:`text-orange text-weight-medium`},Dt={class:`text-weight-medium q-mb-sm`},Ot={class:`text-caption text-orange q-mb-sm`},kt={class:`text-grey-8`},At={class:`text-weight-medium q-mb-sm`},jt={class:`row items-center justify-between q-mb-xs`},Mt={key:0,class:`text-caption q-mt-xs`},Nt={class:`text-caption q-mt-sm`},Pt={class:`row q-gutter-sm q-mt-sm`},Ft=q(D({__name:`QuotaFooter`,setup(e){let n=B(),{t:r}=L(),a=S(()=>n.currentProviderUsage),o=s(!1),c=S(()=>{let e=a.value;if(!e)return``;try{return new Date(e.fetchedAt).toLocaleTimeString()}catch{return e.fetchedAt}});function l(e,t){let n=a.value?.buckets[t];return n?yt({id:n.id,label:e,usedPct:n.usedPct,resetAt:n.resetsAt},t,r):r(`stats.usageBucket`,{n:t+1})}async function d(){if(!o.value){o.value=!0;try{await n.requestUsageRefresh(`claude-code`)}finally{o.value=!1}}}return(e,n)=>(t(),C(`span`,xt,[a.value?a.value.status===`unauthenticated`?(t(),C(w,{key:1},[v(F,{name:`warning`,color:`negative`,size:`14px`,class:`q-mr-xs`}),E(`span`,Ct,h(e.$t(`quotaFooter.popover.unauthenticated`)),1),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,wt,h(e.$t(`quotaFooter.popover.title`)),1),E(`div`,Tt,h(e.$t(`quotaFooter.popover.unauthenticatedHint`)),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):a.value.status===`error`?(t(),C(w,{key:2},[v(F,{name:`error_outline`,color:`orange`,size:`14px`,class:`q-mr-xs`}),E(`span`,Et,h(e.$t(`quotaFooter.popover.error`)),1),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,Dt,h(e.$t(`quotaFooter.popover.title`)),1),E(`div`,Ot,h(a.value.errorMessage),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):(t(),C(w,{key:3},[(t(!0),C(w,null,i(a.value.buckets,(e,n)=>(t(),C(`span`,{key:e.id,class:`quota-bucket-compact`},[E(`span`,kt,h(l(e.label,n)),1),v(G,{value:Math.max(0,Math.min(1,e.usedPct/100)),color:T(bt)(e.usedPct),"track-color":`grey-9`,class:`quota-bar`},null,8,[`value`,`color`]),E(`span`,{class:p([`bucket-pct`,`text-${T(bt)(e.usedPct)}`])},h(e.usedPct.toFixed(0))+`%`,3)]))),128)),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,At,h(e.$t(`quotaFooter.popover.title`)),1),(t(!0),C(w,null,i(a.value.buckets,(n,r)=>(t(),C(`div`,{key:n.id,class:`q-mb-sm`},[E(`div`,jt,[E(`span`,null,h(l(n.label,r)),1),E(`span`,{class:p(`text-${T(bt)(n.usedPct)}`)},h(n.usedPct.toFixed(0))+`%`,3)]),v(G,{value:Math.max(0,Math.min(1,n.usedPct/100)),color:T(bt)(n.usedPct),"track-color":`grey-9`,class:`full-bar`},null,8,[`value`,`color`]),n.resetsAt?(t(),C(`div`,Mt,h(e.$t(`quotaFooter.popover.resetsIn`,{value:T(vt)(n.resetsAt)})),1)):_(``,!0)]))),128)),E(`div`,Nt,h(e.$t(`quotaFooter.lastUpdated`,{time:c.value})),1),E(`div`,Pt,[v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])])]),_:1})],64)):(t(),C(`span`,St,h(e.$t(`quotaFooter.empty`)),1))]))}}),[[`__scopeId`,`data-v-2edf9322`]]),It={key:0,class:`row items-center q-gutter-xs q-mb-xs q-px-xs`,style:{"flex-wrap":`wrap`}},Lt={class:`text-caption image-tag-label`},Rt={key:2,class:`queue-banner row items-center q-pa-xs q-px-sm text-caption text-amber-6`},zt={key:3,class:`autoloop-banner row items-center no-wrap q-pa-xs q-px-sm text-caption text-indigo-3`},Bt={class:`col`},Vt={key:4,class:`awaiting-user-banner row items-center q-pa-xs q-px-sm text-caption text-amber-5`},Ht={class:`row items-center q-gutter-sm`},Ut={class:`chat-hint row items-center text-caption text-grey-8`},Wt={key:0,class:`row items-center text-caption text-amber-6 q-mr-sm`},Gt=6e4,Kt=q(D({__name:`ChatInput`,props:{workspaceId:{}},setup(r){let a=r,{t:c}=L(),l=Ce(),d=B(),f=oe(),m=U(),b=pe(),x=s(``),D=s(!1),ee=S(()=>W(d.selectedWorkspace?.status)),O=S(()=>Ae(d.selectedWorkspace?.engine));async function te(){if(a.workspaceId){D.value=!0;try{await d.interruptAgent(a.workspaceId),l.notify({type:`info`,message:c(`workspacePage.interrupted`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:c(`workspacePage.interruptFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}}let k=S(()=>W(d.selectedWorkspace?.status)),j=S(()=>!!d.queuedMessages[a.workspaceId]),ne=s(null);function M(){let e=ne.value;return e?e.getNativeElement?.()??null:null}let{showSkills:N,skillFilter:re,selectedSkillIndex:P,groupedDropdown:ie,flatDropdown:ae,fetchSkills:se,detectSlashFragment:ce,replaceFragmentWith:le,closeDropdown:R}=Re(x,()=>M()),z=s([]),de=s(null),fe=s(!1),V=s(!1),H=s(!1),me=s(null),he=s(null),G=s([]),_e=s(null),ve=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`];function ye(t){let n=M(),r=n?.selectionStart??x.value.length,i=x.value.slice(0,r),a=x.value.slice(r);x.value=i+t+a,e(()=>{if(n){let e=r+t.length;n.focus(),n.setSelectionRange(e,e)}})}function be(){let e=`[image: ${c(`chatInput.uploading`)}]`,t=new Set(z.value.map(e=>e.placeholder));if(!t.has(e))return e;let n=2;for(;t.has(`[image: ${c(`chatInput.uploading`)} ${n}]`);)n++;return`[image: ${c(`chatInput.uploading`)} ${n}]`}async function q(e){if(!ve.includes(e.type))return;let t=crypto.randomUUID(),n=e.name||`pasted-image.png`,r=be(),i={tempId:t,originalName:n,placeholder:r,status:`uploading`};z.value.push(i),ye(r);try{let n=new FormData;n.append(`image`,e);let r=await fetch(`/api/workspaces/${a.workspaceId}/images`,{method:`POST`,body:n});if(!r.ok){let e=await r.json();throw Error(e.error||`Upload failed`)}let i=await r.json(),o=z.value.find(e=>e.tempId===t);if(o){o.uid=i.uid,o.path=i.path,o.status=`ready`;let e=`[image: ${i.path}]`;e!==o.placeholder&&(x.value=x.value.split(o.placeholder).join(e),o.placeholder=e)}}catch{let e=z.value.find(e=>e.tempId===t);e&&(e.status=`error`)}}function xe(e,t){fetch(`/api/workspaces/${e}/images/${t}`,{method:`DELETE`}).catch(()=>{})}function Y(e){let t=z.value.find(t=>t.tempId===e);if(t){z.value=z.value.filter(t=>t.tempId!==e);{let e=t.placeholder.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);x.value=x.value.replace(RegExp(`${e}\\s?`,`g`),``)}t.uid&&xe(a.workspaceId,t.uid)}}function Se(e){if(e.clipboardData){for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&q(e)}}}function we(e){if(e.preventDefault(),fe.value=!1,e.dataTransfer)for(let t of Array.from(e.dataTransfer.files))ve.includes(t.type)&&q(t)}function Te(e){e.preventDefault(),fe.value=!0}function Ee(){fe.value=!1}function De(e){let t=e.target;if(t.files){for(let e of Array.from(t.files))q(e);t.value=``}}let Oe=S(()=>z.value.some(e=>e.status===`uploading`)),ke=S(()=>d.sessions.find(e=>e.id===d.selectedSessionId)??null);se(),n(()=>d.chatDraft,e=>{e&&(x.value=x.value?`${x.value}\n${e}`:e,d.chatDraft=``)});let je=!1;function Me(){je=!0,d.cancelQueuedMessage(a.workspaceId)}n(j,(e,t)=>{t&&!e&&!je&&(x.value=``),je=!1}),n(()=>a.workspaceId,e=>{let t=d.queuedMessages[e];x.value=t?t.content:``,V.value&&$()}),n(x,async()=>{await e(),await ce();let t=[];for(let e of z.value)x.value.includes(e.placeholder)||t.push(e.tempId);for(let e of t)Y(e)}),window.addEventListener(`keydown`,Xe),window.addEventListener(`keyup`,Ze),window.addEventListener(`blur`,Qe),document.addEventListener(`visibilitychange`,$e),o(()=>{window.removeEventListener(`keydown`,Xe),window.removeEventListener(`keyup`,Ze),window.removeEventListener(`blur`,Qe),document.removeEventListener(`visibilitychange`,$e),_e.value&&=(clearTimeout(_e.value),null),V.value&&$()});function Ne(e){if(!e)return;if(e.type===`template`){let t=b.templates.find(t=>t.slug===e.name);if(!t)return;let n=d.workspaces.find(e=>e.id===a.workspaceId)??null,r=d.gitStatsCache[a.workspaceId]??null,i=d.sessions.find(e=>e.id===d.selectedSessionId)??null,o=null;if(i)if(i.name)o=i.name;else{let e=d.sessions.findIndex(e=>e.id===i.id);o=c(`workspacePage.session`,{n:d.sessions.length-e})}let s;if(r?.prUrl){let e=r.prUrl.match(/\/pull\/(\d+)/);e&&(s=parseInt(e[1],10))}let l=Ve({workspace:n?{name:n.name,workingBranch:n.workingBranch,sourceBranch:n.sourceBranch,projectPath:n.projectPath}:null,gitStats:r?{commitCount:r.commitCount,unpushedCount:r.unpushedCount,filesChanged:r.filesChanged,insertions:r.insertions,deletions:r.deletions,prNumber:s,prUrl:r.prUrl,prState:r.prState}:null,sessionName:o});le(ze(t.content,l)),R();return}let t=`/${e.name}`;if(e.type===`kobo`&&X[t]){x.value=t,R(),qe();return}le(`${t} `),R()}let Pe=S(()=>{let e=a.workspaceId;if(!e)return!1;let t=d.autoLoopStates[e];return t?.auto_loop===!0&&t?.auto_loop_ready===!0}),Fe=S(()=>d.selectedWorkspace?.status===`awaiting-user`),Ie=S(()=>!a.workspaceId||Pe.value||Fe.value),Be=S(()=>f.global.voiceEnabled&&!Ie.value),He=s(!1);async function Ue(){if(!(!a.workspaceId||He.value)){He.value=!0;try{await d.disableAutoLoop(a.workspaceId)}finally{He.value=!1}}}let Z=s(JSON.parse(localStorage.getItem(`kobo:chatHistory`)??`[]`)),Q=s(-1),We=s(``);function Ge(e){e&&Z.value[0]!==e&&(Z.value.unshift(e),Z.value.length>50&&Z.value.pop(),localStorage.setItem(`kobo:chatHistory`,JSON.stringify(Z.value)))}function Ke(){Q.value=-1,We.value=``}async function qe(){let e=x.value.trim();if(!e&&z.value.length===0||Ie.value||Oe.value)return;let t=ke.value,n=X[e];if(n){m.sendChatMessage(a.workspaceId,n.prompt,d.selectedSessionId??void 0),d.markRead(a.workspaceId),d.addActivityItem(a.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:n.prompt,timestamp:new Date().toISOString(),sessionId:d.selectedSessionId??void 0,meta:{sender:`user`,pending:!0}}),Ge(e),Ke(),x.value=``;return}if(k.value){d.queueMessage(a.workspaceId,e,d.selectedSessionId??void 0);return}d.cancelQueuedMessage(a.workspaceId);let r=e,i=z.value.filter(e=>e.status===`ready`&&e.path&&!r.includes(`[image: ${e.path}]`)).map(e=>`[image: ${e.path}]`).join(` `);i&&(r=`${r} ${i}`.trim());let o=d.selectedSessionId??void 0;if((t?.status===`completed`||t?.status===`error`)&&!t.engineSessionId){l.notify({type:`warning`,message:c(`workspacePage.sessionEndedNotice`),position:`top`,timeout:5e3});return}let s=`user-${Date.now()}`;d.markRead(a.workspaceId),d.addActivityItem(a.workspaceId,{id:s,type:`text`,content:r,timestamp:new Date().toISOString(),sessionId:o,meta:{sender:`user`,pending:!0}});let u=e;Ge(e),Ke(),x.value=``,z.value=[];let f=(e,t)=>{console.error(`[ChatInput] ${t} failed:`,e),d.removeActivityItem(a.workspaceId,s),x.value=u;let n=e instanceof Error?e.message:null;l.notify({type:`negative`,message:n??c(`workspacePage.startFailed`),position:`top`,timeout:6e3})};if(t?.status===`idle`)try{await d.startWorkspace(a.workspaceId,r,t.id),await d.fetchSessions(a.workspaceId)}catch(e){f(e,`startWorkspace`)}else if(t?.status===`completed`||t?.status===`error`)try{await d.startWorkspace(a.workspaceId,r,t.id,!0),await d.fetchSessions(a.workspaceId)}catch(e){f(e,`resume session`)}else m.sendChatMessage(a.workspaceId,r,d.selectedSessionId??void 0)}async function Je(){if(!(!Be.value||V.value||H.value)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){l.notify({type:`warning`,message:c(`voice.notSupported`),position:`top`,timeout:4e3});return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});he.value=e,G.value=[];let t=MediaRecorder.isTypeSupported(`audio/webm`)?`audio/webm`:``,n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e);n.ondataavailable=e=>{e.data&&e.data.size>0&&G.value.push(e.data)},n.start(),me.value=n,V.value=!0,_e.value=setTimeout(()=>{$(),l.notify({type:`info`,message:c(`voice.maxDurationReached`),position:`top`,timeout:3500})},Gt)}catch{l.notify({type:`negative`,message:c(`voice.errorMicPermission`),position:`top`,timeout:5e3})}}}async function $(){if(!V.value)return;let e=me.value;if(!e)return;V.value=!1,H.value=!0,_e.value&&=(clearTimeout(_e.value),null);let t=await new Promise(t=>{e.onstop=()=>t(new Blob(G.value,{type:`audio/webm`})),e.stop()});try{if(t.size===0)throw Error(`MIC_AUDIO_INVALID`);let e=new FormData;e.append(`audio`,t,`voice.webm`),e.append(`language`,f.global.voiceLanguage||`auto`);let n=await fetch(`/api/voice/workspaces/${encodeURIComponent(a.workspaceId)}/transcribe`,{method:`POST`,body:e});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(String(e.code??e.error??`HTTP_${n.status}`))}let r=await n.json();r.text?.trim()&&(x.value=x.value?`${x.value.trimEnd()} ${r.text.trim()}`:r.text.trim())}catch(e){let t=e instanceof Error?e.message:`TRANSCRIPTION_FAILED`;l.notify({type:`negative`,message:c({VOICE_DISABLED:`voice.errorDisabled`,MODEL_NOT_CONFIGURED:`voice.errorModelMissing`,MODEL_NOT_INSTALLED:`voice.errorModelNotInstalled`,VOICE_RUNTIME_MISSING:`voice.errorRuntimeMissing`,MIC_AUDIO_INVALID:`voice.errorAudioInvalid`,LANGUAGE_INVALID:`voice.errorLanguageInvalid`,TRANSCRIPTION_TIMEOUT:`voice.errorTranscription`}[t]??`voice.errorTranscription`),position:`top`,timeout:5e3})}finally{me.value=null,G.value=[],he.value?.getTracks().forEach(e=>{e.stop()}),he.value=null,H.value=!1}}function Ye(e){return Be.value?f.global.voicePttKey===`ctrl+space`?e.ctrlKey&&e.code===`Space`:e.key===`Alt`:!1}function Xe(e){!Ye(e)||e.repeat||(e.preventDefault(),Je())}function Ze(e){Ye(e)&&(e.preventDefault(),$())}function Qe(){V.value&&$()}function $e(){document.visibilityState!==`visible`&&V.value&&$()}function et(e){if(N.value&&ae.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),P.value=Math.min(P.value+1,ae.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),P.value=Math.max(P.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),Ne(ae.value[P.value]);return}if(e.key===`Escape`){e.preventDefault(),R();return}}if(e.key===`ArrowUp`&&Z.value.length>0){let t=e.target;if(!(!t||t.selectionStart<=(x.value.indexOf(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-BAASG3py.js","assets/index-ABhgwrBB.js","assets/vue-i18n-CKCtKE87.js","assets/runtime-core.esm-bundler-9Z0QAO_7.js","assets/QIcon-qfJNZLIW.js","assets/use-id-_7wiRcgb.js","assets/QBtn-CaJSOyt8.js","assets/QRadio-4HnR_A-K.js","assets/use-checkbox-y_fOkYZN.js","assets/QInput-DCJEwE8V.js","assets/QCheckbox-BvHfXBFY.js","assets/QToggle-DNOTC_3a.js","assets/notifications-C4jB7A2f.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-Cj6tcsj6.js","assets/purify.es-BYydQXtR.js","assets/QExpansionItem-DQ66zLAu.js","assets/QItemSection-Bz1ZDJO5.js","assets/QItemLabel-CHkgkZVj.js","assets/QTooltip-CTNw68oZ.js","assets/render-chat-markdown-C9L-kzlg.js","assets/TouchPan-SGRB-xYE.js","assets/touch-HRdTUO2o.js","assets/QSpinnerDots-Bfl2RMy4.js","assets/documents-soWtna0O.js","assets/ActivityFeed-WjiQ9716.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{E as e,F as t,H as n,I as r,L as i,M as a,N as o,Q as s,S as c,T as l,U as u,W as d,_ as f,_t as p,a as m,bt as h,d as g,f as _,g as v,h as y,i as b,k as x,l as S,p as C,r as w,rt as T,u as E,v as D,w as ee,y as O}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{H as te,P as k,U as A,a as j,i as ne,m as M,n as N,r as re,s as P,t as F,v as ie}from"./QIcon-qfJNZLIW.js";import{r as ae}from"./use-id-_7wiRcgb.js";import{s as oe}from"./notifications-C4jB7A2f.js";import{c as se,t as I}from"./QBtn-CaJSOyt8.js";import{n as L}from"./vue-i18n-CKCtKE87.js";import{n as ce,t as le}from"./QRadio-4HnR_A-K.js";import{t as ue}from"./QInput-DCJEwE8V.js";import{t as R}from"./QCheckbox-BvHfXBFY.js";import{b as z,c as B,f as de,h as fe,i as V,m as pe,n as H,o as U,r as me,u as W,v as he,y as G}from"./index-ABhgwrBB.js";import{t as ge}from"./QSpinnerDots-Bfl2RMy4.js";import{n as _e,t as ve}from"./QItemSection-Bz1ZDJO5.js";import{t as ye}from"./QItemLabel-CHkgkZVj.js";import{m as be,t as K}from"./QTooltip-CTNw68oZ.js";import{t as q}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as xe}from"./QBadge-C7r6oPSi.js";import{t as J}from"./QSpace-DKIph84L.js";import{t as Y}from"./QMenu-pgVPfC7Y.js";import{t as Se}from"./ClosePopup-Bs-9Klyd.js";import{t as Ce}from"./use-quasar-DQYS47mh.js";import{a as we,i as Te,n as Ee,r as De,t as Oe}from"./use-panel-CZnY7pfY.js";import{t as X}from"./kobo-commands-thKpumUN.js";import{r as ke,t as Ae}from"./engineFeatures-BqiWw0xn.js";import{t as je}from"./formatters-h0XBETG5.js";import{a as Me,i as Ne,r as Pe,t as Fe}from"./permissionModes-CRue7srp.js";import{t as Ie}from"./QPage-Co2h9wd_.js";import{a as Le,i as Re,n as ze,r as Be,t as Ve}from"./expand-template-_Y9C3CjP.js";var He={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},Ue={key:0,class:`q-ml-xs`},Z=D({__name:`AgentBusyBanner`,setup(e){let{t:n}=L(),r=B(),i=ee(`openDrawerTab`),a=S(()=>r.currentSubagents.filter(e=>e.status===`running`).length),o=S(()=>{let e=r.selectedWorkspace;return e?W(e.status):!1});function s(){i?.(`subagents`)}return(e,r)=>o.value?(t(),C(`div`,He,[v(ge,{size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,null,h(T(n)(`agentBusy.banner`)),1),a.value>0?(t(),C(`span`,Ue,` — `+h(T(n)(`agentBusy.subagentsRunning`,{n:a.value},a.value)),1)):_(``,!0),a.value>0?(t(),C(w,{key:1},[v(J),E(`span`,{class:`text-indigo-4 cursor-pointer`,style:{"text-decoration":`underline`},onClick:s},h(T(n)(`agentBusy.viewSubagents`)),1)],64)):_(``,!0)])):_(``,!0)}}),Q=k({name:`QBanner`,props:{...re,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){let{proxy:{$q:n}}=O(),r=N(e,n),i=S(()=>`q-banner row items-center`+(e.dense===!0?` q-banner--dense`:``)+(r.value===!0?` q-banner--dark q-dark`:``)+(e.rounded===!0?` rounded-borders`:``)),a=S(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?`auto`:`all`}`);return()=>{let n=[c(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},P(t.avatar)),c(`div`,{class:`q-banner__content col text-body2`},P(t.default))],r=P(t.action);return r!==void 0&&n.push(c(`div`,{class:a.value},r)),c(`div`,{class:i.value+(e.inlineActions===!1&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},n)}}}),We={class:`text-subtitle2`},Ge={class:`text-caption`},Ke=D({__name:`AgentErrorBanner`,props:{workspaceId:{}},setup(e){let n=e,{t:r}=L(),i=de();async function a(){let e=c.value;if(e){i.removeByEventId(n.workspaceId,e);try{await fetch(`/api/workspaces/${n.workspaceId}/events/${e}`,{method:`DELETE`})}catch(e){console.warn(`[agent-error-banner] failed to persist dismiss:`,e)}}}function o(e){let t=e.replace(/\u001b\[\d+m/g,``).trim();return/^warning:/i.test(t)}let s=S(()=>{let e=i.eventsFor(n.workspaceId);for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`error`||n.category===`quota`)&&!(n.category===`other`&&o(n.message)))return n}return null}),c=S(()=>{let e=i.eventsFor(n.workspaceId),t=i.eventIdsFor(n.workspaceId);for(let n=e.length-1;n>=0;n--){let r=e[n];if(!(r.kind!==`error`||r.category===`quota`)&&!(r.category===`other`&&o(r.message)))return t[n]??null}return null}),l=s;return(e,n)=>T(l)?(t(),g(Q,{key:0,class:`bg-negative text-white q-ma-sm`},{avatar:u(()=>[v(F,{name:`error_outline`})]),action:u(()=>[v(I,{flat:``,dense:``,round:``,icon:`close`,"aria-label":T(r)(`common.close`),onClick:a},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(r)(`common.close`)),1)]),_:1})]),_:1},8,[`aria-label`])]),default:u(()=>[E(`div`,We,h(T(r)(`agent.error.${T(l).category}`)),1),E(`div`,Ge,h(T(l).message),1)]),_:1})):_(``,!0)}}),qe=k({name:`StepHeader`,props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:t}){let{proxy:{$q:n}}=O(),r=s(null),i=S(()=>e.stepper.modelValue===e.step.name),a=S(()=>{let t=e.step.disable;return t===!0||t===``}),o=S(()=>{let t=e.step.error;return t===!0||t===``}),l=S(()=>{let t=e.step.done;return a.value===!1&&(t===!0||t===``)}),u=S(()=>{let t=e.step.headerNav,n=t===!0||t===``||t===void 0;return a.value===!1&&e.stepper.headerNav&&n}),f=S(()=>e.step.prefix&&(i.value===!1||e.stepper.activeIcon===`none`)&&(o.value===!1||e.stepper.errorIcon===`none`)&&(l.value===!1||e.stepper.doneIcon===`none`)),p=S(()=>{let t=e.step.icon||e.stepper.inactiveIcon;if(i.value===!0){let r=e.step.activeIcon||e.stepper.activeIcon;return r===`none`?t:r||n.iconSet.stepper.active}if(o.value===!0){let r=e.step.errorIcon||e.stepper.errorIcon;return r===`none`?t:r||n.iconSet.stepper.error}if(a.value===!1&&l.value===!0){let r=e.step.doneIcon||e.stepper.doneIcon;return r===`none`?t:r||n.iconSet.stepper.done}return t}),m=S(()=>{let t=o.value===!0?e.step.errorColor||e.stepper.errorColor:void 0;if(i.value===!0){let n=e.step.activeColor||e.stepper.activeColor||e.step.color;return n===void 0?t:n}return t===void 0?a.value===!1&&l.value===!0?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor:t}),h=S(()=>`q-stepper__tab col-grow flex items-center no-wrap relative-position`+(m.value===void 0?``:` text-${m.value}`)+(o.value===!0?` q-stepper__tab--error q-stepper__tab--error-with-`+(f.value===!0?`prefix`:`icon`):``)+(i.value===!0?` q-stepper__tab--active`:``)+(l.value===!0?` q-stepper__tab--done`:``)+(u.value===!0?` q-stepper__tab--navigation q-focusable q-hoverable`:``)+(a.value===!0?` q-stepper__tab--disabled`:``)),g=S(()=>e.stepper.headerNav===!0?u.value:!1);function _(){r.value?.focus(),i.value===!1&&e.goToPanel(e.step.name)}function v(t){t.keyCode===13&&i.value===!1&&e.goToPanel(e.step.name)}return()=>{let n={class:h.value};u.value===!0&&(n.onClick=_,n.onKeyup=v,Object.assign(n,a.value===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:t.tabindex||0}));let i=[c(`div`,{class:`q-focus-helper`,tabindex:-1,ref:r}),c(`div`,{class:`q-stepper__dot row flex-center q-stepper__line relative-position`},[c(`span`,{class:`row flex-center`},[f.value===!0?e.step.prefix:c(F,{name:p.value})])])];if(e.step.title!==void 0&&e.step.title!==null){let t=[c(`div`,{class:`q-stepper__title`},e.step.title)];e.step.caption!==void 0&&e.step.caption!==null&&t.push(c(`div`,{class:`q-stepper__caption`},e.step.caption)),i.push(c(`div`,{class:`q-stepper__label q-stepper__line relative-position`},t))}return d(c(`div`,n,i),[[se,g.value]])}}});function Je(e){return c(`div`,{class:`q-stepper__step-content`},[c(`div`,{class:`q-stepper__step-inner`},P(e.default))])}var $={setup(e,{slots:t}){return()=>Je(t)}},Ye=k({name:`QStep`,props:{...Ee,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:t,emit:n}){let{proxy:{$q:r}}=O(),i=ee(ie,M);if(i===M)return console.error(`QStep needs to be a child of QStepper`),M;let{getCache:a}=we(),o=s(null),l=S(()=>i.value.modelValue===e.name),u=S(()=>r.platform.is.ios!==!0&&r.platform.is.chrome===!0||l.value!==!0||i.value.vertical!==!0?{}:{onScroll(t){let{target:r}=t;r.scrollTop>0&&(r.scrollTop=0),e.onScroll!==void 0&&n(`scroll`,t)}}),d=S(()=>typeof e.name==`string`||typeof e.name==`number`?e.name:String(e.name));function f(){let e=i.value.vertical;return e===!0&&i.value.keepAlive===!0?c(b,i.value.keepAliveProps.value,l.value===!0?[c(i.value.needsUniqueKeepAliveWrapper.value===!0?a(d.value,()=>({...$,name:d.value})):$,{key:d.value},t.default)]:void 0):e!==!0||l.value===!0?Je(t):void 0}return()=>c(`div`,{ref:o,class:`q-stepper__step`,role:`tabpanel`,...u.value},i.value.vertical===!0?[c(qe,{stepper:i.value,step:e,goToPanel:i.value.goToPanel}),i.value.animated===!0?c(be,f):f()]:[f()])}}),Xe=k({name:`QStepperNavigation`,setup(e,{slots:t}){return()=>c(`div`,{class:`q-stepper__nav`},P(t.default))}}),Ze=/(-\w)/g;function Qe(e){let t={};for(let n in e){let r=n.replace(Ze,e=>e[1].toUpperCase());t[r]=e[n]}return t}var $e=k({name:`QStepper`,props:{...re,...Te,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:De,setup(e,{slots:t}){let n=N(e,O().proxy.$q),{updatePanelsList:i,isValidPanelName:a,updatePanelIndex:o,getPanelContent:s,getPanels:l,panelDirectives:u,goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p}=Oe();r(ie,S(()=>({goToPanel:d,keepAliveProps:f,needsUniqueKeepAliveWrapper:p,...e})));let m=S(()=>`q-stepper q-stepper--${e.vertical===!0?`vertical`:`horizontal`}`+(e.flat===!0?` q-stepper--flat`:``)+(e.bordered===!0?` q-stepper--bordered`:``)+(n.value===!0?` q-stepper--dark q-dark`:``)),h=S(()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${e.alternativeLabels===!0?`alternative`:`standard`}-labels`+(e.flat===!1||e.bordered===!0?` q-stepper__header--border`:``)+(e.contracted===!0?` q-stepper__header--contracted`:``)+(e.headerClass===void 0?``:` ${e.headerClass}`));function g(){let n=P(t.message,[]);if(e.vertical===!0){a(e.modelValue)&&o();let r=c(`div`,{class:`q-stepper__content`},P(t.default));return n===void 0?[r]:n.concat(r)}return[c(`div`,{class:h.value},l().map(t=>{let n=Qe(t.props);return c(qe,{key:n.name,stepper:e,step:n,goToPanel:d})})),n,ne(`div`,{class:`q-stepper__content q-panel-parent`},s(),`cont`,e.swipeable,()=>u.value)]}return()=>(i(t),c(`div`,{class:m.value},j(t.navigation,g())))}}),et=`__KOBO_OTHER__`,tt=`Other — the user will provide a free-form clarification in their next message. Please wait for their input before proceeding.`;function nt(e,t){if(t)return(Array.isArray(e)?e:[]).map(e=>e===`__KOBO_OTHER__`?tt:e).join(`, `);let n=Array.isArray(e)?e[0]??``:e;return n===`__KOBO_OTHER__`?tt:n}var rt={class:`text-grey-3`},it={key:0,class:`text-grey-6 q-ml-xs`},at={key:1,class:`text-grey-6 q-ml-xs`},ot=D({__name:`AukqOptionLabel`,props:{label:{},description:{}},setup(e){let n=e,{t:r}=L(),i=S(()=>n.label===et);return(n,a)=>(t(),C(w,null,[E(`span`,rt,h(i.value?T(r)(`askUserQuestion.otherOption`):e.label),1),i.value?(t(),C(`span`,it,`— `+h(T(r)(`askUserQuestion.otherOptionHint`)),1)):e.description?(t(),C(`span`,at,`— `+h(e.description),1)):_(``,!0)],64))}}),st={key:0,class:`ask-user-question-panel q-pa-sm bg-dark text-grey-3`},ct={class:`row items-center q-mb-xs`},lt={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},ut={key:0,class:`text-caption text-grey-6`},dt={class:`text-body2 text-grey-2 q-mb-sm`},ft={key:0,class:`text-caption text-grey-6 q-mb-xs`},pt={class:`aukq-options column q-gutter-xs`},mt={class:`row items-center q-gutter-sm`},ht={key:3,class:`text-negative text-caption`},gt=q(D({__name:`AskUserQuestionPanel`,props:{workspaceId:{}},setup(e){let r=e,{t:a}=L(),o=B(),c=S(()=>{let e=o.peekPending(r.workspaceId);if(!(!e||e.kind!==`question`))return e}),l=S(()=>c.value?(c.value.input?.questions??[]).map(e=>({...e,options:[...e.options,{label:et}]})):[]),d=S(()=>l.value[x.value]),f=s({}),p=s({}),m=s(!1),b=s(null),x=s(0);n(l,e=>{f.value=Object.fromEntries(e.map(e=>[e.question,[]])),p.value=Object.fromEntries(e.map(e=>[e.question,``])),b.value=null,x.value=0,m.value=!1},{immediate:!0});function D(e,t){return e.header?e.header:`Q${t+1}`}function ee(e){return te(e)?`check`:`help_outline`}function O(e){let t=l.value[e];return t?t.multiSelect?(f.value[t.question]??[]).length>0:!!p.value[t.question]:!1}function te(e){return O(e)&&e<x.value}let k=S(()=>x.value===l.value.length-1),A=S(()=>l.value.every((e,t)=>O(t)));function j(){x.value<l.value.length-1&&(x.value+=1)}function ne(){x.value>0&&--x.value}async function M(){if(!m.value){m.value=!0,b.value=null;try{let e={};for(let t of l.value)t.multiSelect?e[t.question]=nt(f.value[t.question]??[],!0):e[t.question]=nt(p.value[t.question]??``,!1);await o.submitDeferredAnswer(r.workspaceId,e,c.value?.toolCallId)}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{m.value=!1}}}async function N(){if(!m.value){m.value=!0,b.value=null;try{await o.cancelDeferredAnswer(r.workspaceId,`User cancelled the question via the UI`,c.value?.toolCallId)}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{m.value=!1}}}return(e,n)=>c.value?(t(),C(`div`,st,[E(`div`,ct,[v(F,{name:`question_answer`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,lt,h(T(a)(`askUserQuestion.title`)),1),v(J),l.value.length>1?(t(),C(`span`,ut,h(x.value+1)+` / `+h(l.value.length),1)):_(``,!0)]),d.value?(t(),g($e,{key:0,ref:`stepperRef`,modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,flat:``,dark:``,animated:``,"header-nav":``,class:`aukq-stepper bg-transparent`,color:`amber-5`,"active-color":`amber-4`,"done-color":`amber-5`},{navigation:u(()=>[v(Xe,null,{default:u(()=>[E(`div`,mt,[x.value>0?(t(),g(I,{key:0,flat:``,dense:``,color:`grey-4`,label:T(a)(`askUserQuestion.previous`),disable:m.value,onClick:ne},null,8,[`label`,`disable`])):_(``,!0),k.value?(t(),g(I,{key:2,label:T(a)(`askUserQuestion.submit`),color:`indigo-5`,dense:``,unelevated:``,loading:m.value,disable:!A.value||m.value,onClick:M},null,8,[`label`,`loading`,`disable`])):(t(),g(I,{key:1,label:T(a)(`askUserQuestion.next`),color:`indigo-5`,dense:``,unelevated:``,disable:!O(x.value)||m.value,onClick:j},null,8,[`label`,`disable`])),v(I,{label:T(a)(`askUserQuestion.cancel`),flat:``,dense:``,color:`grey-4`,disable:m.value,onClick:N},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(a)(`askUserQuestion.cancelTooltip`)),1)]),_:1})]),_:1},8,[`label`,`disable`]),v(J),b.value?(t(),C(`span`,ht,h(b.value),1)):_(``,!0)])]),_:1})]),default:u(()=>[(t(!0),C(w,null,i(l.value,(e,n)=>(t(),g(Ye,{key:n,name:n,title:D(e,n),icon:ee(n),"active-icon":`edit`,done:te(n),"header-nav":te(n)||n===x.value},{default:u(()=>[E(`div`,dt,h(e.question),1),e.multiSelect?(t(),C(`div`,ft,h(T(a)(`askUserQuestion.multiSelectHint`)),1)):_(``,!0),E(`div`,pt,[e.multiSelect?(t(!0),C(w,{key:0},i(e.options,n=>(t(),g(R,{key:n.label,modelValue:f.value[e.question],"onUpdate:modelValue":t=>f.value[e.question]=t,val:n.label,dark:``,dense:``,color:`indigo-4`,disable:m.value},{default:u(()=>[v(ot,{label:n.label,description:n.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128)):(t(!0),C(w,{key:1},i(e.options,n=>(t(),g(le,{key:n.label,modelValue:p.value[e.question],"onUpdate:modelValue":t=>p.value[e.question]=t,val:n.label,dark:``,dense:``,color:`indigo-4`,disable:m.value},{default:u(()=>[v(ot,{label:n.label,description:n.description},null,8,[`label`,`description`])]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`val`,`disable`]))),128))])]),_:2},1032,[`name`,`title`,`icon`,`done`,`header-nav`]))),128))]),_:1},8,[`modelValue`])):_(``,!0)])):_(``,!0)}}),[[`__scopeId`,`data-v-ab068179`]]);function _t(e,t){return e===`five_hour`?t(`rateLimitType.fiveHour`):e===`seven_day`?t(`rateLimitType.sevenDay`):e}function vt(e,t){try{let n=new Date(e);return Number.isNaN(n.getTime())?e:n.toLocaleTimeString(t?.locale,{hour:`2-digit`,minute:`2-digit`,hour12:!1,timeZone:t?.timeZone})}catch{return e}}function yt(e,t,n){return e.id===`text-detected`&&e.resetAt?n(`stats.resetsAt`,{value:vt(e.resetAt)}):!e.label||e.label.trim().length===0?n(`stats.usageBucket`,{n:t+1}):_t(e.label,n)}function bt(e){return e<50?`positive`:e<75?`warning`:e<90?`orange`:`negative`}var xt={class:`quota-footer`},St={key:0,class:`text-grey-7`},Ct={class:`text-negative text-weight-medium`},wt={class:`text-weight-medium q-mb-sm`},Tt={class:`text-caption q-mb-sm`},Et={class:`text-orange text-weight-medium`},Dt={class:`text-weight-medium q-mb-sm`},Ot={class:`text-caption text-orange q-mb-sm`},kt={class:`text-grey-8`},At={class:`text-weight-medium q-mb-sm`},jt={class:`row items-center justify-between q-mb-xs`},Mt={key:0,class:`text-caption q-mt-xs`},Nt={class:`text-caption q-mt-sm`},Pt={class:`row q-gutter-sm q-mt-sm`},Ft=q(D({__name:`QuotaFooter`,setup(e){let n=B(),{t:r}=L(),a=S(()=>n.currentProviderUsage),o=s(!1),c=S(()=>{let e=a.value;if(!e)return``;try{return new Date(e.fetchedAt).toLocaleTimeString()}catch{return e.fetchedAt}});function l(e,t){let n=a.value?.buckets[t];return n?yt({id:n.id,label:e,usedPct:n.usedPct,resetAt:n.resetsAt},t,r):r(`stats.usageBucket`,{n:t+1})}async function d(){if(!o.value){o.value=!0;try{await n.requestUsageRefresh(`claude-code`)}finally{o.value=!1}}}return(e,n)=>(t(),C(`span`,xt,[a.value?a.value.status===`unauthenticated`?(t(),C(w,{key:1},[v(F,{name:`warning`,color:`negative`,size:`14px`,class:`q-mr-xs`}),E(`span`,Ct,h(e.$t(`quotaFooter.popover.unauthenticated`)),1),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,wt,h(e.$t(`quotaFooter.popover.title`)),1),E(`div`,Tt,h(e.$t(`quotaFooter.popover.unauthenticatedHint`)),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):a.value.status===`error`?(t(),C(w,{key:2},[v(F,{name:`error_outline`,color:`orange`,size:`14px`,class:`q-mr-xs`}),E(`span`,Et,h(e.$t(`quotaFooter.popover.error`)),1),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,Dt,h(e.$t(`quotaFooter.popover.title`)),1),E(`div`,Ot,h(a.value.errorMessage),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):(t(),C(w,{key:3},[(t(!0),C(w,null,i(a.value.buckets,(e,n)=>(t(),C(`span`,{key:e.id,class:`quota-bucket-compact`},[E(`span`,kt,h(l(e.label,n)),1),v(G,{value:Math.max(0,Math.min(1,e.usedPct/100)),color:T(bt)(e.usedPct),"track-color":`grey-9`,class:`quota-bar`},null,8,[`value`,`color`]),E(`span`,{class:p([`bucket-pct`,`text-${T(bt)(e.usedPct)}`])},h(e.usedPct.toFixed(0))+`%`,3)]))),128)),v(Y,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:u(()=>[E(`div`,At,h(e.$t(`quotaFooter.popover.title`)),1),(t(!0),C(w,null,i(a.value.buckets,(n,r)=>(t(),C(`div`,{key:n.id,class:`q-mb-sm`},[E(`div`,jt,[E(`span`,null,h(l(n.label,r)),1),E(`span`,{class:p(`text-${T(bt)(n.usedPct)}`)},h(n.usedPct.toFixed(0))+`%`,3)]),v(G,{value:Math.max(0,Math.min(1,n.usedPct/100)),color:T(bt)(n.usedPct),"track-color":`grey-9`,class:`full-bar`},null,8,[`value`,`color`]),n.resetsAt?(t(),C(`div`,Mt,h(e.$t(`quotaFooter.popover.resetsIn`,{value:T(vt)(n.resetsAt)})),1)):_(``,!0)]))),128)),E(`div`,Nt,h(e.$t(`quotaFooter.lastUpdated`,{time:c.value})),1),E(`div`,Pt,[v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:o.value,disable:o.value,onClick:d},null,8,[`label`,`loading`,`disable`])])]),_:1})],64)):(t(),C(`span`,St,h(e.$t(`quotaFooter.empty`)),1))]))}}),[[`__scopeId`,`data-v-2edf9322`]]),It={key:0,class:`row items-center q-gutter-xs q-mb-xs q-px-xs`,style:{"flex-wrap":`wrap`}},Lt={class:`text-caption image-tag-label`},Rt={key:2,class:`queue-banner row items-center q-pa-xs q-px-sm text-caption text-amber-6`},zt={key:3,class:`autoloop-banner row items-center no-wrap q-pa-xs q-px-sm text-caption text-indigo-3`},Bt={class:`col`},Vt={key:4,class:`awaiting-user-banner row items-center q-pa-xs q-px-sm text-caption text-amber-5`},Ht={class:`row items-center q-gutter-sm`},Ut={class:`chat-hint row items-center text-caption text-grey-8`},Wt={key:0,class:`row items-center text-caption text-amber-6 q-mr-sm`},Gt=6e4,Kt=q(D({__name:`ChatInput`,props:{workspaceId:{}},setup(r){let a=r,{t:c}=L(),l=Ce(),d=B(),f=oe(),m=U(),b=pe(),x=s(``),D=s(!1),ee=S(()=>W(d.selectedWorkspace?.status)),O=S(()=>Ae(d.selectedWorkspace?.engine));async function te(){if(a.workspaceId){D.value=!0;try{await d.interruptAgent(a.workspaceId),l.notify({type:`info`,message:c(`workspacePage.interrupted`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:c(`workspacePage.interruptFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}}let k=S(()=>W(d.selectedWorkspace?.status)),j=S(()=>!!d.queuedMessages[a.workspaceId]),ne=s(null);function M(){let e=ne.value;return e?e.getNativeElement?.()??null:null}let{showSkills:N,skillFilter:re,selectedSkillIndex:P,groupedDropdown:ie,flatDropdown:ae,fetchSkills:se,detectSlashFragment:ce,replaceFragmentWith:le,closeDropdown:R}=Re(x,()=>M()),z=s([]),de=s(null),fe=s(!1),V=s(!1),H=s(!1),me=s(null),he=s(null),G=s([]),_e=s(null),ve=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`];function ye(t){let n=M(),r=n?.selectionStart??x.value.length,i=x.value.slice(0,r),a=x.value.slice(r);x.value=i+t+a,e(()=>{if(n){let e=r+t.length;n.focus(),n.setSelectionRange(e,e)}})}function be(){let e=`[image: ${c(`chatInput.uploading`)}]`,t=new Set(z.value.map(e=>e.placeholder));if(!t.has(e))return e;let n=2;for(;t.has(`[image: ${c(`chatInput.uploading`)} ${n}]`);)n++;return`[image: ${c(`chatInput.uploading`)} ${n}]`}async function q(e){if(!ve.includes(e.type))return;let t=crypto.randomUUID(),n=e.name||`pasted-image.png`,r=be(),i={tempId:t,originalName:n,placeholder:r,status:`uploading`};z.value.push(i),ye(r);try{let n=new FormData;n.append(`image`,e);let r=await fetch(`/api/workspaces/${a.workspaceId}/images`,{method:`POST`,body:n});if(!r.ok){let e=await r.json();throw Error(e.error||`Upload failed`)}let i=await r.json(),o=z.value.find(e=>e.tempId===t);if(o){o.uid=i.uid,o.path=i.path,o.status=`ready`;let e=`[image: ${i.path}]`;e!==o.placeholder&&(x.value=x.value.split(o.placeholder).join(e),o.placeholder=e)}}catch{let e=z.value.find(e=>e.tempId===t);e&&(e.status=`error`)}}function xe(e,t){fetch(`/api/workspaces/${e}/images/${t}`,{method:`DELETE`}).catch(()=>{})}function Y(e){let t=z.value.find(t=>t.tempId===e);if(t){z.value=z.value.filter(t=>t.tempId!==e);{let e=t.placeholder.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);x.value=x.value.replace(RegExp(`${e}\\s?`,`g`),``)}t.uid&&xe(a.workspaceId,t.uid)}}function Se(e){if(e.clipboardData){for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&q(e)}}}function we(e){if(e.preventDefault(),fe.value=!1,e.dataTransfer)for(let t of Array.from(e.dataTransfer.files))ve.includes(t.type)&&q(t)}function Te(e){e.preventDefault(),fe.value=!0}function Ee(){fe.value=!1}function De(e){let t=e.target;if(t.files){for(let e of Array.from(t.files))q(e);t.value=``}}let Oe=S(()=>z.value.some(e=>e.status===`uploading`)),ke=S(()=>d.sessions.find(e=>e.id===d.selectedSessionId)??null);se(),n(()=>d.chatDraft,e=>{e&&(x.value=x.value?`${x.value}\n${e}`:e,d.chatDraft=``)});let je=!1;function Me(){je=!0,d.cancelQueuedMessage(a.workspaceId)}n(j,(e,t)=>{t&&!e&&!je&&(x.value=``),je=!1}),n(()=>a.workspaceId,e=>{let t=d.queuedMessages[e];x.value=t?t.content:``,V.value&&$()}),n(x,async()=>{await e(),await ce();let t=[];for(let e of z.value)x.value.includes(e.placeholder)||t.push(e.tempId);for(let e of t)Y(e)}),window.addEventListener(`keydown`,Xe),window.addEventListener(`keyup`,Ze),window.addEventListener(`blur`,Qe),document.addEventListener(`visibilitychange`,$e),o(()=>{window.removeEventListener(`keydown`,Xe),window.removeEventListener(`keyup`,Ze),window.removeEventListener(`blur`,Qe),document.removeEventListener(`visibilitychange`,$e),_e.value&&=(clearTimeout(_e.value),null),V.value&&$()});function Ne(e){if(!e)return;if(e.type===`template`){let t=b.templates.find(t=>t.slug===e.name);if(!t)return;let n=d.workspaces.find(e=>e.id===a.workspaceId)??null,r=d.gitStatsCache[a.workspaceId]??null,i=d.sessions.find(e=>e.id===d.selectedSessionId)??null,o=null;if(i)if(i.name)o=i.name;else{let e=d.sessions.findIndex(e=>e.id===i.id);o=c(`workspacePage.session`,{n:d.sessions.length-e})}let s;if(r?.prUrl){let e=r.prUrl.match(/\/pull\/(\d+)/);e&&(s=parseInt(e[1],10))}let l=Ve({workspace:n?{name:n.name,workingBranch:n.workingBranch,sourceBranch:n.sourceBranch,projectPath:n.projectPath}:null,gitStats:r?{commitCount:r.commitCount,unpushedCount:r.unpushedCount,filesChanged:r.filesChanged,insertions:r.insertions,deletions:r.deletions,prNumber:s,prUrl:r.prUrl,prState:r.prState}:null,sessionName:o});le(ze(t.content,l)),R();return}let t=`/${e.name}`;if(e.type===`kobo`&&X[t]){x.value=t,R(),qe();return}le(`${t} `),R()}let Pe=S(()=>{let e=a.workspaceId;if(!e)return!1;let t=d.autoLoopStates[e];return t?.auto_loop===!0&&t?.auto_loop_ready===!0}),Fe=S(()=>d.selectedWorkspace?.status===`awaiting-user`),Ie=S(()=>!a.workspaceId||Pe.value||Fe.value),Be=S(()=>f.global.voiceEnabled&&!Ie.value),He=s(!1);async function Ue(){if(!(!a.workspaceId||He.value)){He.value=!0;try{await d.disableAutoLoop(a.workspaceId)}finally{He.value=!1}}}let Z=s(JSON.parse(localStorage.getItem(`kobo:chatHistory`)??`[]`)),Q=s(-1),We=s(``);function Ge(e){e&&Z.value[0]!==e&&(Z.value.unshift(e),Z.value.length>50&&Z.value.pop(),localStorage.setItem(`kobo:chatHistory`,JSON.stringify(Z.value)))}function Ke(){Q.value=-1,We.value=``}async function qe(){let e=x.value.trim();if(!e&&z.value.length===0||Ie.value||Oe.value)return;let t=ke.value,n=X[e];if(n){m.sendChatMessage(a.workspaceId,n.prompt,d.selectedSessionId??void 0),d.markRead(a.workspaceId),d.addActivityItem(a.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:n.prompt,timestamp:new Date().toISOString(),sessionId:d.selectedSessionId??void 0,meta:{sender:`user`,pending:!0}}),Ge(e),Ke(),x.value=``;return}if(k.value){d.queueMessage(a.workspaceId,e,d.selectedSessionId??void 0);return}d.cancelQueuedMessage(a.workspaceId);let r=e,i=z.value.filter(e=>e.status===`ready`&&e.path&&!r.includes(`[image: ${e.path}]`)).map(e=>`[image: ${e.path}]`).join(` `);i&&(r=`${r} ${i}`.trim());let o=d.selectedSessionId??void 0;if((t?.status===`completed`||t?.status===`error`)&&!t.engineSessionId){l.notify({type:`warning`,message:c(`workspacePage.sessionEndedNotice`),position:`top`,timeout:5e3});return}let s=`user-${Date.now()}`;d.markRead(a.workspaceId),d.addActivityItem(a.workspaceId,{id:s,type:`text`,content:r,timestamp:new Date().toISOString(),sessionId:o,meta:{sender:`user`,pending:!0}});let u=e;Ge(e),Ke(),x.value=``,z.value=[];let f=(e,t)=>{console.error(`[ChatInput] ${t} failed:`,e),d.removeActivityItem(a.workspaceId,s),x.value=u;let n=e instanceof Error?e.message:null;l.notify({type:`negative`,message:n??c(`workspacePage.startFailed`),position:`top`,timeout:6e3})};if(t?.status===`idle`)try{await d.startWorkspace(a.workspaceId,r,t.id),await d.fetchSessions(a.workspaceId)}catch(e){f(e,`startWorkspace`)}else if(t?.status===`completed`||t?.status===`error`)try{await d.startWorkspace(a.workspaceId,r,t.id,!0),await d.fetchSessions(a.workspaceId)}catch(e){f(e,`resume session`)}else m.sendChatMessage(a.workspaceId,r,d.selectedSessionId??void 0)}async function Je(){if(!(!Be.value||V.value||H.value)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){l.notify({type:`warning`,message:c(`voice.notSupported`),position:`top`,timeout:4e3});return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});he.value=e,G.value=[];let t=MediaRecorder.isTypeSupported(`audio/webm`)?`audio/webm`:``,n=t?new MediaRecorder(e,{mimeType:t}):new MediaRecorder(e);n.ondataavailable=e=>{e.data&&e.data.size>0&&G.value.push(e.data)},n.start(),me.value=n,V.value=!0,_e.value=setTimeout(()=>{$(),l.notify({type:`info`,message:c(`voice.maxDurationReached`),position:`top`,timeout:3500})},Gt)}catch{l.notify({type:`negative`,message:c(`voice.errorMicPermission`),position:`top`,timeout:5e3})}}}async function $(){if(!V.value)return;let e=me.value;if(!e)return;V.value=!1,H.value=!0,_e.value&&=(clearTimeout(_e.value),null);let t=await new Promise(t=>{e.onstop=()=>t(new Blob(G.value,{type:`audio/webm`})),e.stop()});try{if(t.size===0)throw Error(`MIC_AUDIO_INVALID`);let e=new FormData;e.append(`audio`,t,`voice.webm`),e.append(`language`,f.global.voiceLanguage||`auto`);let n=await fetch(`/api/voice/workspaces/${encodeURIComponent(a.workspaceId)}/transcribe`,{method:`POST`,body:e});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(String(e.code??e.error??`HTTP_${n.status}`))}let r=await n.json();r.text?.trim()&&(x.value=x.value?`${x.value.trimEnd()} ${r.text.trim()}`:r.text.trim())}catch(e){let t=e instanceof Error?e.message:`TRANSCRIPTION_FAILED`;l.notify({type:`negative`,message:c({VOICE_DISABLED:`voice.errorDisabled`,MODEL_NOT_CONFIGURED:`voice.errorModelMissing`,MODEL_NOT_INSTALLED:`voice.errorModelNotInstalled`,VOICE_RUNTIME_MISSING:`voice.errorRuntimeMissing`,MIC_AUDIO_INVALID:`voice.errorAudioInvalid`,LANGUAGE_INVALID:`voice.errorLanguageInvalid`,TRANSCRIPTION_TIMEOUT:`voice.errorTranscription`}[t]??`voice.errorTranscription`),position:`top`,timeout:5e3})}finally{me.value=null,G.value=[],he.value?.getTracks().forEach(e=>{e.stop()}),he.value=null,H.value=!1}}function Ye(e){return Be.value?f.global.voicePttKey===`ctrl+space`?e.ctrlKey&&e.code===`Space`:e.key===`Alt`:!1}function Xe(e){!Ye(e)||e.repeat||(e.preventDefault(),Je())}function Ze(e){Ye(e)&&(e.preventDefault(),$())}function Qe(){V.value&&$()}function $e(){document.visibilityState!==`visible`&&V.value&&$()}function et(e){if(N.value&&ae.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),P.value=Math.min(P.value+1,ae.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),P.value=Math.max(P.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),Ne(ae.value[P.value]);return}if(e.key===`Escape`){e.preventDefault(),R();return}}if(e.key===`ArrowUp`&&Z.value.length>0){let t=e.target;if(!(!t||t.selectionStart<=(x.value.indexOf(`
|
|
3
3
|
`)===-1?x.value.length:x.value.indexOf(`
|
|
4
|
-
`)))&&Q.value===-1)return;e.preventDefault(),Q.value===-1&&(We.value=x.value),Q.value<Z.value.length-1&&(Q.value++,x.value=Z.value[Q.value]);return}if(e.key===`ArrowDown`&&Q.value>=0){e.preventDefault(),Q.value--,x.value=Q.value>=0?Z.value[Q.value]:We.value;return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),qe())}return(e,n)=>(t(),C(`div`,{class:p([`chat-input-container column q-pa-sm`,{"chat-input-dragging":fe.value}]),onDragover:Te,onDragleave:Ee,onDrop:we},[z.value.length>0?(t(),C(`div`,It,[(t(!0),C(w,null,i(z.value,n=>(t(),C(`div`,{key:n.tempId,class:p([`image-tag row items-center q-px-sm q-py-xs rounded-borders`,{"image-tag--uploading":n.status===`uploading`,"image-tag--ready":n.status===`ready`,"image-tag--error":n.status===`error`}])},[n.status===`uploading`?(t(),g(ge,{key:0,size:`14px`,color:`grey-6`,class:`q-mr-xs`})):n.status===`ready`?(t(),g(F,{key:1,name:`image`,size:`14px`,color:`green-6`,class:`q-mr-xs`})):(t(),g(F,{key:2,name:`error`,size:`14px`,color:`red-6`,class:`q-mr-xs`})),E(`span`,Lt,h(n.status===`uploading`?e.$t(`chatInput.uploading`):n.path||n.originalName),1),v(I,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,class:`q-ml-xs image-tag-close`,onClick:e=>Y(n.tempId)},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`tooltip.removeImage`)),1)]),_:1})]),_:1},8,[`onClick`])],2))),128))])):_(``,!0),T(N)&&T(ae).length>0?(t(),g(Le,{key:1,class:`chat-slash-popup`,"grouped-dropdown":T(ie),"flat-dropdown":T(ae),"selected-index":T(P),onSelect:Ne},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):_(``,!0),j.value?(t(),C(`div`,Rt,[v(F,{name:`schedule`,size:`14px`,color:`amber-6`,class:`q-mr-sm`}),E(`span`,null,h(e.$t(`chatInput.queueBanner`)),1)])):_(``,!0),Pe.value?(t(),C(`div`,zt,[v(F,{name:`all_inclusive`,size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,Bt,h(e.$t(`chatInput.autoLoopBanner`)),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`stop_circle`,color:`orange-4`,label:e.$t(`chatInput.autoLoopStop`),loading:He.value,disable:He.value,onClick:Ue},null,8,[`label`,`loading`,`disable`])])):_(``,!0),Fe.value&&!Pe.value?(t(),C(`div`,Vt,[v(F,{name:`question_answer`,size:`14px`,color:`amber-5`,class:`q-mr-sm`}),E(`span`,null,h(e.$t(`chatInput.awaitingUserBanner`)),1)])):_(``,!0),E(`div`,Ht,[v(ue,{ref_key:`chatInputRef`,ref:ne,modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,dense:``,dark:``,borderless:``,autogrow:``,readonly:j.value,placeholder:e.$t(`chatInput.placeholder`),"input-style":{maxHeight:`200px`,overflowY:`auto`},class:`chat-input col rounded-borders`,disable:Ie.value,onKeydown:et,onPaste:Se},null,8,[`modelValue`,`readonly`,`placeholder`,`disable`]),E(`input`,{ref_key:`fileInputRef`,ref:de,type:`file`,accept:`image/png,image/jpeg,image/gif,image/webp`,multiple:``,style:{display:`none`},onChange:De},null,544),v(I,{flat:``,dense:``,icon:`attach_file`,color:`grey-6`,disable:Ie.value,onClick:n[1]||=e=>de.value?.click()},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`chatInput.attachImage`)),1)]),_:1})]),_:1},8,[`disable`]),v(I,{flat:``,dense:``,icon:H.value?`hourglass_top`:V.value?`mic`:`mic_none`,color:V.value?`red-5`:H.value?`amber-6`:`grey-6`,disable:!Be.value||H.value,class:p({"voice-btn--recording":V.value}),onMousedown:A(Je,[`prevent`]),onMouseup:A($,[`prevent`]),onMouseleave:A($,[`prevent`]),onTouchstart:A(Je,[`prevent`]),onTouchend:A($,[`prevent`])},{default:u(()=>[v(K,null,{default:u(()=>[y(h(H.value?e.$t(`voice.transcribing`):V.value?e.$t(`voice.recording`):e.$t(`voice.holdToTalk`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`disable`,`class`]),j.value?(t(),g(I,{key:0,flat:``,dense:``,icon:`cancel`,color:`orange`,onClick:Me},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`chatInput.cancelQueue`)),1)]),_:1})]),_:1})):(t(),g(I,{key:1,flat:``,dense:``,icon:`send`,color:`primary`,disable:Ie.value||!x.value.trim()&&z.value.length===0||Oe.value,onClick:qe},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`tooltip.sendMessage`)),1)]),_:1})]),_:1},8,[`disable`]))]),E(`div`,Ut,[E(`div`,null,[n[2]||=E(`kbd`,null,`Enter`,-1),y(` `+h(e.$t(`common.send`))+` `,1),n[3]||=E(`span`,{class:`q-mx-xs`},`·`,-1),n[4]||=y(),n[5]||=E(`kbd`,null,`Shift+Enter`,-1),y(` `+h(e.$t(`common.newLine`))+` `,1),n[6]||=E(`span`,{class:`q-mx-xs`},`·`,-1),n[7]||=y(),n[8]||=E(`kbd`,null,`↑↓`,-1),y(` `+h(e.$t(`common.history`)),1)]),v(J),H.value?(t(),C(`div`,Wt,[v(ge,{size:`14px`,color:`amber-6`,class:`q-mr-xs`}),E(`span`,null,h(e.$t(`voice.transcribing`)),1)])):_(``,!0),O.value?(t(),g(Ft,{key:1,class:`q-mr-md`})):_(``,!0),ee.value?(t(),g(I,{key:2,flat:``,dense:``,"no-caps":``,size:`sm`,color:`orange-4`,icon:`pause`,label:e.$t(`workspacePage.interrupt`),loading:D.value,disable:D.value,onClick:te},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.interruptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],34))}}),[[`__scopeId`,`data-v-f074ca82`]]),qt={key:0,class:`permission-request-panel q-pa-sm bg-dark text-grey-3`},Jt={class:`row items-center q-mb-sm`},Yt={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},Xt={class:`text-body2 text-grey-2 q-mb-xs`},Zt={class:`text-weight-medium`},Qt={class:`q-ml-xs`},$t={class:`text-caption text-grey-6 q-mb-xs`},en={class:`permission-input-pre`},tn={class:`row items-center q-gutter-sm q-mt-sm`},nn={key:0,class:`text-negative text-caption`},rn=q(D({__name:`PermissionRequestPanel`,props:{workspaceId:{}},setup(e){let r=e,{t:i}=L(),a=B(),o=S(()=>{let e=a.peekPending(r.workspaceId);if(!(!e||e.kind!==`permission`))return e}),c=S(()=>{if(!o.value)return``;try{return JSON.stringify(o.value.toolInput,null,2)}catch{return String(o.value.toolInput)}}),l=s(!1),u=s(null);n(()=>o.value?.toolCallId??null,()=>{l.value=!1,u.value=null});async function d(e){if(o.value&&!l.value){l.value=!0,u.value=null;try{await a.submitDeferredPermission(r.workspaceId,o.value.toolCallId,e,e===`deny`?i(`permissionRequest.denied`):void 0)}catch(e){u.value=e instanceof Error?e.message:String(e)}finally{l.value=!1}}}return(e,n)=>o.value?(t(),C(`div`,qt,[E(`div`,Jt,[v(F,{name:`security`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,Yt,h(T(i)(`permissionRequest.title`)),1)]),E(`div`,Xt,[E(`span`,Zt,h(T(i)(`permissionRequest.tool`))+`:`,1),E(`code`,Qt,h(o.value.toolName),1)]),E(`div`,$t,h(T(i)(`permissionRequest.input`)),1),E(`pre`,en,h(c.value),1),E(`div`,tn,[v(I,{label:T(i)(`permissionRequest.allow`),color:`indigo-5`,dense:``,unelevated:``,loading:l.value,disable:l.value,onClick:n[0]||=e=>d(`allow`)},null,8,[`label`,`loading`,`disable`]),v(I,{label:T(i)(`permissionRequest.deny`),flat:``,dense:``,color:`grey-4`,disable:l.value,onClick:n[1]||=e=>d(`deny`)},null,8,[`label`,`disable`]),v(J),u.value?(t(),C(`span`,nn,h(u.value),1)):_(``,!0)])])):_(``,!0)}}),[[`__scopeId`,`data-v-12227c33`]]),an={key:0,class:`quota-backoff-banner row items-center q-px-md q-py-sm`,style:{"background-color":`#b87333`,color:`#f0f0f0`}},on={class:`text-body2`},sn=D({__name:`QuotaBackoffBanner`,props:{workspaceId:{}},setup(e){let n=e,{t:r}=L(),i=Ce(),a=B(),o=s(!1),c=S(()=>a.pendingQuotaBackoffs[n.workspaceId]),l=S(()=>a.workspaces.find(e=>e.id===n.workspaceId)),d=S(()=>a.autoLoopStates[n.workspaceId]),f=S(()=>l.value?.status===`quota`&&d.value?.auto_loop===!0&&c.value!==void 0),p=S(()=>{let e=c.value?.targetAt;return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`}):``}),m=S(()=>{let e=c.value?.resetsAt;return e?new Date(e).toLocaleString():``});async function b(){if(!o.value){o.value=!0;try{await a.cancelQuotaBackoff(n.workspaceId),i.notify({type:`info`,message:r(`quotaBackoff.cancelled`),position:`top`,timeout:4e3})}catch(e){i.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{o.value=!1}}}return(e,n)=>f.value?(t(),C(`div`,an,[v(F,{name:`hourglass_top`,size:`18px`,class:`q-mr-sm`}),E(`span`,on,h(T(r)(`quotaBackoff.banner.title`,{time:p.value})),1),c.value?.resetsAt?(t(),g(K,{key:0},{default:u(()=>[y(h(T(r)(`quotaBackoff.banner.tooltip`,{resets_at:m.value})),1)]),_:1})):_(``,!0),v(J),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-3`,label:T(r)(`quotaBackoff.banner.cancel`),loading:o.value,onClick:b},null,8,[`label`,`loading`])])):_(``,!0)}}),cn={class:`text-subtitle2`},ln={class:`text-caption`},un=D({__name:`StaleSessionBanner`,props:{workspaceId:{}},setup(e){let n=e,r=B(),i=S(()=>{if(!r.selectedSessionId||r.sessions.length<2)return!1;let e=r.sessions[0];if(!e||e.id===r.selectedSessionId)return!1;let t=r.workspaces.find(e=>e.id===n.workspaceId);return!t||!W(t.status)?!1:r.autoLoopStates[n.workspaceId]?.auto_loop===!0});function a(){let e=r.sessions[0];e&&r.selectSession(e.id)}return(e,n)=>i.value?(t(),g(Q,{key:0,class:`bg-indigo-9 text-white q-ma-sm`,rounded:``},{avatar:u(()=>[v(F,{name:`loop`})]),action:u(()=>[v(I,{flat:``,dense:``,"no-caps":``,label:e.$t(`staleSessionBanner.switchToCurrent`),onClick:a},null,8,[`label`])]),default:u(()=>[E(`div`,cn,h(e.$t(`staleSessionBanner.title`)),1),E(`div`,ln,h(e.$t(`staleSessionBanner.message`)),1)]),_:1})):_(``,!0)}}),dn={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},fn=D({__name:`WakeupBanner`,setup(e){let{t:n}=L(),r=B(),i=s(Date.now()),o=null;a(()=>{o=setInterval(()=>{i.value=Date.now()},1e3)}),x(()=>{o&&clearInterval(o)});let c=S(()=>{let e=r.selectedWorkspace;return e?r.pendingWakeups[e.id]??null:null}),l=S(()=>r.selectedWorkspace?!!c.value:!1),d=S(()=>{if(!c.value)return 0;let e=Math.ceil((new Date(c.value.targetAt).getTime()-i.value)/1e3);return Math.max(0,e)}),f=S(()=>d.value===0?n(`wakeup.firing`):n(`wakeup.scheduledIn`,{n:d.value}));function p(){let e=r.selectedWorkspace;e&&r.cancelPendingWakeup(e.id)}return(e,r)=>l.value?(t(),C(`div`,dn,[v(F,{name:`schedule`,size:`14px`,color:`amber-4`,class:`q-mr-sm`}),E(`span`,null,[y(h(f.value)+` `,1),c.value?.reason?(t(),g(K,{key:0,anchor:`top middle`,self:`bottom middle`,offset:[0,6]},{default:u(()=>[y(h(T(n)(`wakeup.reason`,{reason:c.value.reason})),1)]),_:1})):_(``,!0)]),v(J),v(I,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-5`,"aria-label":T(n)(`wakeup.cancel`),onClick:p},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(n)(`wakeup.cancel`)),1)]),_:1})]),_:1},8,[`aria-label`])])):_(``,!0)}}),pn={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},mn={class:`text-body1 text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`480px`}},hn={class:`row items-center no-wrap text-caption text-grey-5`},gn={class:`row items-center no-wrap text-caption text-grey-5`},_n={class:`row items-center no-wrap text-caption text-grey-5`},vn={key:1,class:`text-body2 text-grey-8`},yn={key:0,class:`wp-subheader column q-px-md q-pb-sm`},bn=[`title`],xn={class:`col column items-center justify-center`},Sn={class:`text-grey-6 text-caption q-mt-sm`},Cn={class:`text-subtitle1`},wn=q(D({__name:`WorkspacePage`,setup(e){let r=f(()=>Promise.all([H(()=>import(`./ActivityFeed-CKjFT9t6.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),i=Ce(),o=B(),{t:c}=L(),{timeAgo:b}=je();function x(e){return e===`awaiting-user`?c(`workspaceStatus.awaitingUser`):e}s(!1);let D=s(!1),ee=new Set,O=s(``);n(()=>o.selectedWorkspace?.description??``,e=>{O.value=e},{immediate:!0});async function k(){if(!o.selectedWorkspace)return;let e=O.value.trim();if(e!==(o.selectedWorkspace.description??``)){if(e.length>200){i.notify({type:`negative`,message:c(`workspace.descriptionTooLong`),position:`top`});return}try{await o.updateWorkspaceDescription(o.selectedWorkspace.id,e.length>0?e:null)}catch(e){let t=e instanceof Error?e.message:c(`workspace.descriptionSaveFailed`);i.notify({type:`negative`,message:t,position:`top`})}}}let j=s(new Set),ne=S(()=>W(o.selectedWorkspace?.status));n(ne,e=>{e||(j.value=new Set)}),n(()=>o.selectedWorkspaceId,e=>{j.value=new Set,e&&o.fetchPendingWakeup(e)},{immediate:!0});function M(e){if(!ne.value)return;let t=new Set(j.value);t.add(e),j.value=t}function N(e){ee.add(e),e.finally(()=>{ee.delete(e)})}s(!1);async function re(){if(o.selectedWorkspaceId){D.value=!0;try{await o.stopWorkspace(o.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:c(`workspacePage.stopFailed`);i.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}}let P=S(()=>o.selectedWorkspace?.engine??`claude-code`),ie=S(()=>(Ne[P.value]??Pe).map(e=>({label:c(e.i18nLabelKey),value:e.value}))),oe=S(()=>(Be[P.value]??Be[`claude-code`]).map(e=>({label:de(c(e.i18nLabelKey)),value:e.value}))),se=S(()=>{let e=o.selectedWorkspace,t=e?o.autoLoopStates[e.id]?.auto_loop??e.autoLoop:!1;return(Fe[P.value]??Fe[`claude-code`]).map(e=>({label:c(`agentPermissionMode.${e}`),value:e,disable:e===`plan`&&t}))}),le=S({get:()=>o.selectedWorkspace?.model??`auto`,set:e=>{o.selectedWorkspaceId&&(M(`model`),N(o.updateModel(o.selectedWorkspaceId,e)))}}),R=S({get:()=>o.selectedWorkspace?.reasoningEffort??`auto`,set:e=>{o.selectedWorkspaceId&&(M(`reasoningEffort`),N(o.updateReasoningEffort(o.selectedWorkspaceId,e)))}});function de(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}function pe(e){return oe.value.find(t=>t.value===e)?.label??e}let U=S({get:()=>o.selectedWorkspace?.agentPermissionMode??`bypass`,set:e=>{o.selectedWorkspaceId&&(M(`agentPermissionMode`),N(o.updateAgentPermissionMode(o.selectedWorkspaceId,e)))}}),G=me(),be=V(),q=S(()=>o.selectedWorkspaceId),Y=S(()=>o.selectedWorkspace),we=S(()=>o.sessions),Te=S({get:()=>o.selectedSessionId,set:e=>{if(e===`__new__`){ze();return}if(!e)return;o.selectSession(e);let t={...G.query};t.session=e,be.replace({query:t})}}),Ee=S(()=>[...o.sessions.map((e,t)=>({label:e.name??c(`workspacePage.session`,{n:o.sessions.length-t}),value:e.id,caption:b(e.startedAt),isSession:!0})),{label:c(`workspacePage.newSession`),value:`__new__`,caption:``,isSession:!1}]),De=s(!1),Oe=s(null),X=s(``),Ae=s(!1);function Le(e,t){let n=o.sessions.find(t=>t.id===e);n&&(Oe.value={id:e},X.value=n.name??t,De.value=!0)}async function Re(){if(!(!Oe.value||!o.selectedWorkspaceId))try{await o.renameSession(o.selectedWorkspaceId,Oe.value.id,X.value.trim())}catch(e){console.error(`[WorkspacePage] renameSession failed:`,e),i.notify({type:`negative`,message:c(`workspacePage.renameFailed`),position:`top`})}finally{De.value=!1}}async function ze(){if(o.selectedWorkspaceId){Ae.value=!0;try{await o.createSession(o.selectedWorkspaceId)}catch(e){console.error(`[WorkspacePage] createSession failed:`,e);let t=e instanceof Error?e.message:null;i.notify({type:`negative`,message:t??c(`workspacePage.createSessionFailed`),position:`top`,timeout:6e3})}finally{Ae.value=!1}}}return a(()=>{let e=G.params.id;e&&(o.selectWorkspace(e),o.fetchPendingWakeup(e));let t=G.query.session;t&&o.selectSession(t)}),n(()=>G.params.id,e=>{e&&e!==o.selectedWorkspaceId&&o.selectWorkspace(e)}),n(()=>o.selectedWorkspaceId,e=>{e===null&&G.params.id&&be.push({name:`workspace`})}),(e,n)=>(t(),g(Ie,{class:`column no-wrap`,style:{height:`100vh`}},{default:u(()=>[E(`div`,pn,[Y.value?(t(),C(w,{key:0},[E(`span`,mn,[y(h(Y.value.name)+` `,1),v(K,null,{default:u(()=>[y(h(Y.value.name),1)]),_:1})]),v(xe,{label:x(Y.value.status),color:[`error`,`quota`].includes(Y.value.status)?`red-9`:Y.value.status===`awaiting-user`?`amber-9`:T(W)(Y.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),v(ke),we.value.length>0?(t(),g(Me,{key:0,modelValue:Te.value,"onUpdate:modelValue":n[0]||=e=>Te.value=e,options:Ee.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,loading:Ae.value,disable:Ae.value,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},{option:u(e=>[e.opt.isSession?_(``,!0):(t(),g(ae,{key:0,spaced:``})),v(_e,l(e.itemProps,{clickable:``,dense:``,class:`row items-center no-wrap`}),{default:u(()=>[v(ve,null,{default:u(()=>[v(ye,{class:p(e.opt.isSession?``:`text-grey-5`)},{default:u(()=>[y(h(e.opt.label),1)]),_:2},1032,[`class`]),e.opt.caption?(t(),g(ye,{key:0,caption:``},{default:u(()=>[y(h(e.opt.caption),1)]),_:2},1024)):_(``,!0)]),_:2},1024),e.opt.isSession?(t(),g(ve,{key:0,side:``},{default:u(()=>[v(I,{icon:`more_vert`,flat:``,dense:``,round:``,size:`xs`,color:`grey-6`,onClick:A(t=>Le(e.opt.value,e.opt.label),[`stop`])},null,8,[`onClick`])]),_:2},1024)):_(``,!0)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])):_(``,!0),v(J),v(Me,{modelValue:U.value,"onUpdate:modelValue":n[1]||=e=>U.value=e,options:se.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:u(()=>[E(`span`,hn,[v(F,{name:U.value===`plan`?`visibility`:U.value===`strict`?`lock`:U.value===`interactive`?`security`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),y(` `+h(se.value.find(e=>e.value===U.value)?.label??U.value)+` `,1),j.value.has(`agentPermissionMode`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),v(Me,{modelValue:le.value,"onUpdate:modelValue":n[2]||=e=>le.value=e,options:ie.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:u(()=>[E(`span`,gn,[v(F,{name:`auto_awesome`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),y(` `+h(ie.value.find(e=>e.value===le.value)?.label??le.value)+` `,1),j.value.has(`model`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),v(Me,{modelValue:R.value,"onUpdate:modelValue":n[3]||=e=>R.value=e,options:oe.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:u(()=>[E(`span`,_n,[v(F,{name:`psychology`,size:`12px`,color:`amber-6`,class:`q-mr-xs`}),y(` `+h(pe(R.value))+` `,1),j.value.has(`reasoningEffort`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),T(W)(Y.value.status)?(t(),g(I,{key:1,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:e.$t(`common.stop`),class:`q-mr-xs`,loading:D.value,disable:D.value,onClick:re},null,8,[`label`,`loading`,`disable`])):_(``,!0)],64)):(t(),C(`span`,vn,h(e.$t(`workspacePage.selectWorkspace`)),1))]),Y.value?(t(),C(`div`,yn,[v(ue,{modelValue:O.value,"onUpdate:modelValue":n[4]||=e=>O.value=e,dense:``,dark:``,borderless:``,placeholder:T(c)(`workspace.descriptionPlaceholder`),maxlength:200,"input-class":`text-caption text-grey-5`,class:`workspace-description-input`,style:{width:`100%`,"max-width":`960px`},onBlur:k,onKeydown:te(A(k,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),Y.value?.agentDescription?(t(),C(`div`,{key:0,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-style":`italic`,"max-width":`960px`},title:T(c)(`workspace.agentDescriptionTooltip`)},h(Y.value.agentDescription),9,bn)):_(``,!0)])):_(``,!0),v(ae,{dark:``}),q.value?(t(),g(Ke,{key:1,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(un,{key:2,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(sn,{key:3,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(m,{key:4},{fallback:u(()=>[E(`div`,xn,[v(ge,{size:`40px`,color:`indigo-4`}),E(`div`,Sn,h(e.$t(`common.loading`)),1)])]),default:u(()=>[v(T(r),{class:`col`,style:{"min-height":`0`},"workspace-id":q.value},null,8,[`workspace-id`])]),_:1})):_(``,!0),v(Z),v(fn),q.value?(t(),g(gt,{key:5,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(rn,{key:6,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(Kt,{key:7,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),v(fe,{modelValue:De.value,"onUpdate:modelValue":n[6]||=e=>De.value=e,persistent:``},{default:u(()=>[v(he,{dark:``,style:{"min-width":`320px`}},{default:u(()=>[v(z,null,{default:u(()=>[E(`div`,Cn,h(T(c)(`workspacePage.renameSessionTitle`)),1)]),_:1}),v(z,null,{default:u(()=>[v(ue,{modelValue:X.value,"onUpdate:modelValue":n[5]||=e=>X.value=e,label:T(c)(`workspacePage.sessionNameLabel`),dark:``,dense:``,autofocus:``,onKeyup:te(Re,[`enter`])},null,8,[`modelValue`,`label`])]),_:1}),v(ce,{align:`right`},{default:u(()=>[d(v(I,{flat:``,label:T(c)(`common.cancel`)},null,8,[`label`]),[[Se]]),v(I,{flat:``,color:`primary`,label:T(c)(`workspacePage.renameSession`),disable:!X.value.trim(),onClick:Re},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-953138be`]]);export{wn as default};
|
|
4
|
+
`)))&&Q.value===-1)return;e.preventDefault(),Q.value===-1&&(We.value=x.value),Q.value<Z.value.length-1&&(Q.value++,x.value=Z.value[Q.value]);return}if(e.key===`ArrowDown`&&Q.value>=0){e.preventDefault(),Q.value--,x.value=Q.value>=0?Z.value[Q.value]:We.value;return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),qe())}return(e,n)=>(t(),C(`div`,{class:p([`chat-input-container column q-pa-sm`,{"chat-input-dragging":fe.value}]),onDragover:Te,onDragleave:Ee,onDrop:we},[z.value.length>0?(t(),C(`div`,It,[(t(!0),C(w,null,i(z.value,n=>(t(),C(`div`,{key:n.tempId,class:p([`image-tag row items-center q-px-sm q-py-xs rounded-borders`,{"image-tag--uploading":n.status===`uploading`,"image-tag--ready":n.status===`ready`,"image-tag--error":n.status===`error`}])},[n.status===`uploading`?(t(),g(ge,{key:0,size:`14px`,color:`grey-6`,class:`q-mr-xs`})):n.status===`ready`?(t(),g(F,{key:1,name:`image`,size:`14px`,color:`green-6`,class:`q-mr-xs`})):(t(),g(F,{key:2,name:`error`,size:`14px`,color:`red-6`,class:`q-mr-xs`})),E(`span`,Lt,h(n.status===`uploading`?e.$t(`chatInput.uploading`):n.path||n.originalName),1),v(I,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,class:`q-ml-xs image-tag-close`,onClick:e=>Y(n.tempId)},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`tooltip.removeImage`)),1)]),_:1})]),_:1},8,[`onClick`])],2))),128))])):_(``,!0),T(N)&&T(ae).length>0?(t(),g(Le,{key:1,class:`chat-slash-popup`,"grouped-dropdown":T(ie),"flat-dropdown":T(ae),"selected-index":T(P),onSelect:Ne},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):_(``,!0),j.value?(t(),C(`div`,Rt,[v(F,{name:`schedule`,size:`14px`,color:`amber-6`,class:`q-mr-sm`}),E(`span`,null,h(e.$t(`chatInput.queueBanner`)),1)])):_(``,!0),Pe.value?(t(),C(`div`,zt,[v(F,{name:`all_inclusive`,size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),E(`span`,Bt,h(e.$t(`chatInput.autoLoopBanner`)),1),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`stop_circle`,color:`orange-4`,label:e.$t(`chatInput.autoLoopStop`),loading:He.value,disable:He.value,onClick:Ue},null,8,[`label`,`loading`,`disable`])])):_(``,!0),Fe.value&&!Pe.value?(t(),C(`div`,Vt,[v(F,{name:`question_answer`,size:`14px`,color:`amber-5`,class:`q-mr-sm`}),E(`span`,null,h(e.$t(`chatInput.awaitingUserBanner`)),1)])):_(``,!0),E(`div`,Ht,[v(ue,{ref_key:`chatInputRef`,ref:ne,modelValue:x.value,"onUpdate:modelValue":n[0]||=e=>x.value=e,dense:``,dark:``,borderless:``,autogrow:``,readonly:j.value,placeholder:e.$t(`chatInput.placeholder`),"input-style":{maxHeight:`200px`,overflowY:`auto`},class:`chat-input col rounded-borders`,disable:Ie.value,onKeydown:et,onPaste:Se},null,8,[`modelValue`,`readonly`,`placeholder`,`disable`]),E(`input`,{ref_key:`fileInputRef`,ref:de,type:`file`,accept:`image/png,image/jpeg,image/gif,image/webp`,multiple:``,style:{display:`none`},onChange:De},null,544),v(I,{flat:``,dense:``,icon:`attach_file`,color:`grey-6`,disable:Ie.value,onClick:n[1]||=e=>de.value?.click()},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`chatInput.attachImage`)),1)]),_:1})]),_:1},8,[`disable`]),v(I,{flat:``,dense:``,icon:H.value?`hourglass_top`:V.value?`mic`:`mic_none`,color:V.value?`red-5`:H.value?`amber-6`:`grey-6`,disable:!Be.value||H.value,class:p({"voice-btn--recording":V.value}),onMousedown:A(Je,[`prevent`]),onMouseup:A($,[`prevent`]),onMouseleave:A($,[`prevent`]),onTouchstart:A(Je,[`prevent`]),onTouchend:A($,[`prevent`])},{default:u(()=>[v(K,null,{default:u(()=>[y(h(H.value?e.$t(`voice.transcribing`):V.value?e.$t(`voice.recording`):e.$t(`voice.holdToTalk`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`disable`,`class`]),j.value?(t(),g(I,{key:0,flat:``,dense:``,icon:`cancel`,color:`orange`,onClick:Me},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`chatInput.cancelQueue`)),1)]),_:1})]),_:1})):(t(),g(I,{key:1,flat:``,dense:``,icon:`send`,color:`primary`,disable:Ie.value||!x.value.trim()&&z.value.length===0||Oe.value,onClick:qe},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`tooltip.sendMessage`)),1)]),_:1})]),_:1},8,[`disable`]))]),E(`div`,Ut,[E(`div`,null,[n[2]||=E(`kbd`,null,`Enter`,-1),y(` `+h(e.$t(`common.send`))+` `,1),n[3]||=E(`span`,{class:`q-mx-xs`},`·`,-1),n[4]||=y(),n[5]||=E(`kbd`,null,`Shift+Enter`,-1),y(` `+h(e.$t(`common.newLine`))+` `,1),n[6]||=E(`span`,{class:`q-mx-xs`},`·`,-1),n[7]||=y(),n[8]||=E(`kbd`,null,`↑↓`,-1),y(` `+h(e.$t(`common.history`)),1)]),v(J),H.value?(t(),C(`div`,Wt,[v(ge,{size:`14px`,color:`amber-6`,class:`q-mr-xs`}),E(`span`,null,h(e.$t(`voice.transcribing`)),1)])):_(``,!0),O.value?(t(),g(Ft,{key:1,class:`q-mr-md`})):_(``,!0),ee.value?(t(),g(I,{key:2,flat:``,dense:``,"no-caps":``,size:`sm`,color:`orange-4`,icon:`pause`,label:e.$t(`workspacePage.interrupt`),loading:D.value,disable:D.value,onClick:te},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.interruptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):_(``,!0)])],34))}}),[[`__scopeId`,`data-v-f074ca82`]]),qt={key:0,class:`permission-request-panel q-pa-sm bg-dark text-grey-3`},Jt={class:`row items-center q-mb-sm`},Yt={class:`text-caption text-uppercase text-weight-bold text-amber-4`,style:{"letter-spacing":`0.05em`}},Xt={class:`text-body2 text-grey-2 q-mb-xs`},Zt={class:`text-weight-medium`},Qt={class:`q-ml-xs`},$t={class:`text-caption text-grey-6 q-mb-xs`},en={class:`permission-input-pre`},tn={class:`row items-center q-gutter-sm q-mt-sm`},nn={key:0,class:`text-negative text-caption`},rn=q(D({__name:`PermissionRequestPanel`,props:{workspaceId:{}},setup(e){let r=e,{t:i}=L(),a=B(),o=S(()=>{let e=a.peekPending(r.workspaceId);if(!(!e||e.kind!==`permission`))return e}),c=S(()=>{if(!o.value)return``;try{return JSON.stringify(o.value.toolInput,null,2)}catch{return String(o.value.toolInput)}}),l=s(!1),u=s(null);n(()=>o.value?.toolCallId??null,()=>{l.value=!1,u.value=null});async function d(e){if(o.value&&!l.value){l.value=!0,u.value=null;try{await a.submitDeferredPermission(r.workspaceId,o.value.toolCallId,e,e===`deny`?i(`permissionRequest.denied`):void 0)}catch(e){u.value=e instanceof Error?e.message:String(e)}finally{l.value=!1}}}return(e,n)=>o.value?(t(),C(`div`,qt,[E(`div`,Jt,[v(F,{name:`security`,size:`16px`,color:`amber-4`,class:`q-mr-sm`}),E(`div`,Yt,h(T(i)(`permissionRequest.title`)),1)]),E(`div`,Xt,[E(`span`,Zt,h(T(i)(`permissionRequest.tool`))+`:`,1),E(`code`,Qt,h(o.value.toolName),1)]),E(`div`,$t,h(T(i)(`permissionRequest.input`)),1),E(`pre`,en,h(c.value),1),E(`div`,tn,[v(I,{label:T(i)(`permissionRequest.allow`),color:`indigo-5`,dense:``,unelevated:``,loading:l.value,disable:l.value,onClick:n[0]||=e=>d(`allow`)},null,8,[`label`,`loading`,`disable`]),v(I,{label:T(i)(`permissionRequest.deny`),flat:``,dense:``,color:`grey-4`,disable:l.value,onClick:n[1]||=e=>d(`deny`)},null,8,[`label`,`disable`]),v(J),u.value?(t(),C(`span`,nn,h(u.value),1)):_(``,!0)])])):_(``,!0)}}),[[`__scopeId`,`data-v-12227c33`]]),an={key:0,class:`quota-backoff-banner row items-center q-px-md q-py-sm`,style:{"background-color":`#b87333`,color:`#f0f0f0`}},on={class:`text-body2`},sn=D({__name:`QuotaBackoffBanner`,props:{workspaceId:{}},setup(e){let n=e,{t:r}=L(),i=Ce(),a=B(),o=s(!1),c=S(()=>a.pendingQuotaBackoffs[n.workspaceId]),l=S(()=>a.workspaces.find(e=>e.id===n.workspaceId)),d=S(()=>a.autoLoopStates[n.workspaceId]),f=S(()=>l.value?.status===`quota`&&d.value?.auto_loop===!0&&c.value!==void 0),p=S(()=>{let e=c.value?.targetAt;return e?new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`}):``}),m=S(()=>{let e=c.value?.resetsAt;return e?new Date(e).toLocaleString():``});async function b(){if(!o.value){o.value=!0;try{await a.cancelQuotaBackoff(n.workspaceId),i.notify({type:`info`,message:r(`quotaBackoff.cancelled`),position:`top`,timeout:4e3})}catch(e){i.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}finally{o.value=!1}}}return(e,n)=>f.value?(t(),C(`div`,an,[v(F,{name:`hourglass_top`,size:`18px`,class:`q-mr-sm`}),E(`span`,on,h(T(r)(`quotaBackoff.banner.title`,{time:p.value})),1),c.value?.resetsAt?(t(),g(K,{key:0},{default:u(()=>[y(h(T(r)(`quotaBackoff.banner.tooltip`,{resets_at:m.value})),1)]),_:1})):_(``,!0),v(J),v(I,{flat:``,dense:``,"no-caps":``,size:`sm`,color:`grey-3`,label:T(r)(`quotaBackoff.banner.cancel`),loading:o.value,onClick:b},null,8,[`label`,`loading`])])):_(``,!0)}}),cn={class:`text-subtitle2`},ln={class:`text-caption`},un=D({__name:`StaleSessionBanner`,props:{workspaceId:{}},setup(e){let n=e,r=B(),i=S(()=>{if(!r.selectedSessionId||r.sessions.length<2)return!1;let e=r.sessions[0];if(!e||e.id===r.selectedSessionId)return!1;let t=r.workspaces.find(e=>e.id===n.workspaceId);return!t||!W(t.status)?!1:r.autoLoopStates[n.workspaceId]?.auto_loop===!0});function a(){let e=r.sessions[0];e&&r.selectSession(e.id)}return(e,n)=>i.value?(t(),g(Q,{key:0,class:`bg-indigo-9 text-white q-ma-sm`,rounded:``},{avatar:u(()=>[v(F,{name:`loop`})]),action:u(()=>[v(I,{flat:``,dense:``,"no-caps":``,label:e.$t(`staleSessionBanner.switchToCurrent`),onClick:a},null,8,[`label`])]),default:u(()=>[E(`div`,cn,h(e.$t(`staleSessionBanner.title`)),1),E(`div`,ln,h(e.$t(`staleSessionBanner.message`)),1)]),_:1})):_(``,!0)}}),dn={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},fn=D({__name:`WakeupBanner`,setup(e){let{t:n}=L(),r=B(),i=s(Date.now()),o=null;a(()=>{o=setInterval(()=>{i.value=Date.now()},1e3)}),x(()=>{o&&clearInterval(o)});let c=S(()=>{let e=r.selectedWorkspace;return e?r.pendingWakeups[e.id]??null:null}),l=S(()=>r.selectedWorkspace?!!c.value:!1),d=S(()=>{if(!c.value)return 0;let e=Math.ceil((new Date(c.value.targetAt).getTime()-i.value)/1e3);return Math.max(0,e)}),f=S(()=>d.value===0?n(`wakeup.firing`):n(`wakeup.scheduledIn`,{n:d.value}));function p(){let e=r.selectedWorkspace;e&&r.cancelPendingWakeup(e.id)}return(e,r)=>l.value?(t(),C(`div`,dn,[v(F,{name:`schedule`,size:`14px`,color:`amber-4`,class:`q-mr-sm`}),E(`span`,null,[y(h(f.value)+` `,1),c.value?.reason?(t(),g(K,{key:0,anchor:`top middle`,self:`bottom middle`,offset:[0,6]},{default:u(()=>[y(h(T(n)(`wakeup.reason`,{reason:c.value.reason})),1)]),_:1})):_(``,!0)]),v(J),v(I,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-5`,"aria-label":T(n)(`wakeup.cancel`),onClick:p},{default:u(()=>[v(K,null,{default:u(()=>[y(h(T(n)(`wakeup.cancel`)),1)]),_:1})]),_:1},8,[`aria-label`])])):_(``,!0)}}),pn={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},mn={class:`text-body1 text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`480px`}},hn={class:`row items-center no-wrap text-caption text-grey-5`},gn={class:`row items-center no-wrap text-caption text-grey-5`},_n={class:`row items-center no-wrap text-caption text-grey-5`},vn={key:1,class:`text-body2 text-grey-8`},yn={key:0,class:`wp-subheader column q-px-md q-pb-sm`},bn=[`title`],xn={class:`col column items-center justify-center`},Sn={class:`text-grey-6 text-caption q-mt-sm`},Cn={class:`text-subtitle1`},wn=q(D({__name:`WorkspacePage`,setup(e){let r=f(()=>Promise.all([H(()=>import(`./ActivityFeed-BAASG3py.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),i=Ce(),o=B(),{t:c}=L(),{timeAgo:b}=je();function x(e){return e===`awaiting-user`?c(`workspaceStatus.awaitingUser`):e}s(!1);let D=s(!1),ee=new Set,O=s(``);n(()=>o.selectedWorkspace?.description??``,e=>{O.value=e},{immediate:!0});async function k(){if(!o.selectedWorkspace)return;let e=O.value.trim();if(e!==(o.selectedWorkspace.description??``)){if(e.length>200){i.notify({type:`negative`,message:c(`workspace.descriptionTooLong`),position:`top`});return}try{await o.updateWorkspaceDescription(o.selectedWorkspace.id,e.length>0?e:null)}catch(e){let t=e instanceof Error?e.message:c(`workspace.descriptionSaveFailed`);i.notify({type:`negative`,message:t,position:`top`})}}}let j=s(new Set),ne=S(()=>W(o.selectedWorkspace?.status));n(ne,e=>{e||(j.value=new Set)}),n(()=>o.selectedWorkspaceId,e=>{j.value=new Set,e&&o.fetchPendingWakeup(e)},{immediate:!0});function M(e){if(!ne.value)return;let t=new Set(j.value);t.add(e),j.value=t}function N(e){ee.add(e),e.finally(()=>{ee.delete(e)})}s(!1);async function re(){if(o.selectedWorkspaceId){D.value=!0;try{await o.stopWorkspace(o.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:c(`workspacePage.stopFailed`);i.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{D.value=!1}}}let P=S(()=>o.selectedWorkspace?.engine??`claude-code`),ie=S(()=>(Ne[P.value]??Pe).map(e=>({label:c(e.i18nLabelKey),value:e.value}))),oe=S(()=>(Be[P.value]??Be[`claude-code`]).map(e=>({label:de(c(e.i18nLabelKey)),value:e.value}))),se=S(()=>{let e=o.selectedWorkspace,t=e?o.autoLoopStates[e.id]?.auto_loop??e.autoLoop:!1;return(Fe[P.value]??Fe[`claude-code`]).map(e=>({label:c(`agentPermissionMode.${e}`),value:e,disable:e===`plan`&&t}))}),le=S({get:()=>o.selectedWorkspace?.model??`auto`,set:e=>{o.selectedWorkspaceId&&(M(`model`),N(o.updateModel(o.selectedWorkspaceId,e)))}}),R=S({get:()=>o.selectedWorkspace?.reasoningEffort??`auto`,set:e=>{o.selectedWorkspaceId&&(M(`reasoningEffort`),N(o.updateReasoningEffort(o.selectedWorkspaceId,e)))}});function de(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}function pe(e){return oe.value.find(t=>t.value===e)?.label??e}let U=S({get:()=>o.selectedWorkspace?.agentPermissionMode??`bypass`,set:e=>{o.selectedWorkspaceId&&(M(`agentPermissionMode`),N(o.updateAgentPermissionMode(o.selectedWorkspaceId,e)))}}),G=me(),be=V(),q=S(()=>o.selectedWorkspaceId),Y=S(()=>o.selectedWorkspace),we=S(()=>o.sessions),Te=S({get:()=>o.selectedSessionId,set:e=>{if(e===`__new__`){ze();return}if(!e)return;o.selectSession(e);let t={...G.query};t.session=e,be.replace({query:t})}}),Ee=S(()=>[...o.sessions.map((e,t)=>({label:e.name??c(`workspacePage.session`,{n:o.sessions.length-t}),value:e.id,caption:b(e.startedAt),isSession:!0})),{label:c(`workspacePage.newSession`),value:`__new__`,caption:``,isSession:!1}]),De=s(!1),Oe=s(null),X=s(``),Ae=s(!1);function Le(e,t){let n=o.sessions.find(t=>t.id===e);n&&(Oe.value={id:e},X.value=n.name??t,De.value=!0)}async function Re(){if(!(!Oe.value||!o.selectedWorkspaceId))try{await o.renameSession(o.selectedWorkspaceId,Oe.value.id,X.value.trim())}catch(e){console.error(`[WorkspacePage] renameSession failed:`,e),i.notify({type:`negative`,message:c(`workspacePage.renameFailed`),position:`top`})}finally{De.value=!1}}async function ze(){if(o.selectedWorkspaceId){Ae.value=!0;try{await o.createSession(o.selectedWorkspaceId)}catch(e){console.error(`[WorkspacePage] createSession failed:`,e);let t=e instanceof Error?e.message:null;i.notify({type:`negative`,message:t??c(`workspacePage.createSessionFailed`),position:`top`,timeout:6e3})}finally{Ae.value=!1}}}return a(()=>{let e=G.params.id;e&&(o.selectWorkspace(e),o.fetchPendingWakeup(e));let t=G.query.session;t&&o.selectSession(t)}),n(()=>G.params.id,e=>{e&&e!==o.selectedWorkspaceId&&o.selectWorkspace(e)}),n(()=>o.selectedWorkspaceId,e=>{e===null&&G.params.id&&be.push({name:`workspace`})}),(e,n)=>(t(),g(Ie,{class:`column no-wrap`,style:{height:`100vh`}},{default:u(()=>[E(`div`,pn,[Y.value?(t(),C(w,{key:0},[E(`span`,mn,[y(h(Y.value.name)+` `,1),v(K,null,{default:u(()=>[y(h(Y.value.name),1)]),_:1})]),v(xe,{label:x(Y.value.status),color:[`error`,`quota`].includes(Y.value.status)?`red-9`:Y.value.status===`awaiting-user`?`amber-9`:T(W)(Y.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),v(ke),we.value.length>0?(t(),g(Me,{key:0,modelValue:Te.value,"onUpdate:modelValue":n[0]||=e=>Te.value=e,options:Ee.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,loading:Ae.value,disable:Ae.value,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},{option:u(e=>[e.opt.isSession?_(``,!0):(t(),g(ae,{key:0,spaced:``})),v(_e,l(e.itemProps,{clickable:``,dense:``,class:`row items-center no-wrap`}),{default:u(()=>[v(ve,null,{default:u(()=>[v(ye,{class:p(e.opt.isSession?``:`text-grey-5`)},{default:u(()=>[y(h(e.opt.label),1)]),_:2},1032,[`class`]),e.opt.caption?(t(),g(ye,{key:0,caption:``},{default:u(()=>[y(h(e.opt.caption),1)]),_:2},1024)):_(``,!0)]),_:2},1024),e.opt.isSession?(t(),g(ve,{key:0,side:``},{default:u(()=>[v(I,{icon:`more_vert`,flat:``,dense:``,round:``,size:`xs`,color:`grey-6`,onClick:A(t=>Le(e.opt.value,e.opt.label),[`stop`])},null,8,[`onClick`])]),_:2},1024)):_(``,!0)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])):_(``,!0),v(J),v(Me,{modelValue:U.value,"onUpdate:modelValue":n[1]||=e=>U.value=e,options:se.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:u(()=>[E(`span`,hn,[v(F,{name:U.value===`plan`?`visibility`:U.value===`strict`?`lock`:U.value===`interactive`?`security`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),y(` `+h(se.value.find(e=>e.value===U.value)?.label??U.value)+` `,1),j.value.has(`agentPermissionMode`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),v(Me,{modelValue:le.value,"onUpdate:modelValue":n[2]||=e=>le.value=e,options:ie.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:u(()=>[E(`span`,gn,[v(F,{name:`auto_awesome`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),y(` `+h(ie.value.find(e=>e.value===le.value)?.label??le.value)+` `,1),j.value.has(`model`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),v(Me,{modelValue:R.value,"onUpdate:modelValue":n[3]||=e=>R.value=e,options:oe.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:u(()=>[E(`span`,_n,[v(F,{name:`psychology`,size:`12px`,color:`amber-6`,class:`q-mr-xs`}),y(` `+h(pe(R.value))+` `,1),j.value.has(`reasoningEffort`)?(t(),g(F,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:u(()=>[v(K,null,{default:u(()=>[y(h(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):_(``,!0)])]),_:1},8,[`modelValue`,`options`]),T(W)(Y.value.status)?(t(),g(I,{key:1,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:e.$t(`common.stop`),class:`q-mr-xs`,loading:D.value,disable:D.value,onClick:re},null,8,[`label`,`loading`,`disable`])):_(``,!0)],64)):(t(),C(`span`,vn,h(e.$t(`workspacePage.selectWorkspace`)),1))]),Y.value?(t(),C(`div`,yn,[v(ue,{modelValue:O.value,"onUpdate:modelValue":n[4]||=e=>O.value=e,dense:``,dark:``,borderless:``,placeholder:T(c)(`workspace.descriptionPlaceholder`),maxlength:200,"input-class":`text-caption text-grey-5`,class:`workspace-description-input`,style:{width:`100%`,"max-width":`960px`},onBlur:k,onKeydown:te(A(k,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),Y.value?.agentDescription?(t(),C(`div`,{key:0,class:`text-caption text-grey-7 q-mt-xs ellipsis`,style:{"font-style":`italic`,"max-width":`960px`},title:T(c)(`workspace.agentDescriptionTooltip`)},h(Y.value.agentDescription),9,bn)):_(``,!0)])):_(``,!0),v(ae,{dark:``}),q.value?(t(),g(Ke,{key:1,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(un,{key:2,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(sn,{key:3,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(m,{key:4},{fallback:u(()=>[E(`div`,xn,[v(ge,{size:`40px`,color:`indigo-4`}),E(`div`,Sn,h(e.$t(`common.loading`)),1)])]),default:u(()=>[v(T(r),{class:`col`,style:{"min-height":`0`},"workspace-id":q.value},null,8,[`workspace-id`])]),_:1})):_(``,!0),v(Z),v(fn),q.value?(t(),g(gt,{key:5,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(rn,{key:6,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),q.value?(t(),g(Kt,{key:7,"workspace-id":q.value},null,8,[`workspace-id`])):_(``,!0),v(fe,{modelValue:De.value,"onUpdate:modelValue":n[6]||=e=>De.value=e,persistent:``},{default:u(()=>[v(he,{dark:``,style:{"min-width":`320px`}},{default:u(()=>[v(z,null,{default:u(()=>[E(`div`,Cn,h(T(c)(`workspacePage.renameSessionTitle`)),1)]),_:1}),v(z,null,{default:u(()=>[v(ue,{modelValue:X.value,"onUpdate:modelValue":n[5]||=e=>X.value=e,label:T(c)(`workspacePage.sessionNameLabel`),dark:``,dense:``,autofocus:``,onKeyup:te(Re,[`enter`])},null,8,[`modelValue`,`label`])]),_:1}),v(ce,{align:`right`},{default:u(()=>[d(v(I,{flat:``,label:T(c)(`common.cancel`)},null,8,[`label`]),[[Se]]),v(I,{flat:``,color:`primary`,label:T(c)(`workspacePage.renameSession`),disable:!X.value.trim(),onClick:Re},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-953138be`]]);export{wn as default};
|