@loicngr/kobo 2.1.21 → 2.1.22
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/AGENTS.md +22 -4
- package/CHANGELOG.md +5 -0
- package/CONFIGURATION.md +23 -2
- package/dist/server/services/agent/engines/claude-code/engine.js +5 -2
- package/dist/server/services/agent/engines/codex/engine.js +3 -0
- package/dist/server/services/agent/orchestrator.js +1 -0
- package/dist/server/services/agent/turn-liveness.js +1 -1
- package/dist/server/services/settings-service.js +30 -0
- package/docs/deployment-vps.md +25 -10
- package/docs/getting-started.md +11 -0
- package/package.json +1 -1
- package/scripts/kobo-update +19 -11
- package/src/client/dist/pwa/assets/{ActivityFeed-DiUxnmGJ.js → ActivityFeed-2wu6qXx1.js} +1 -1
- package/src/client/dist/pwa/assets/{AutoLoopFinalReviewSettings-f4VDR5dd.js → AutoLoopFinalReviewSettings-CwnNUWCh.js} +1 -1
- package/src/client/dist/pwa/assets/{ChangelogPage-dEWpjTlp.js → ChangelogPage-D9ke0TYz.js} +1 -1
- package/src/client/dist/pwa/assets/{ComparisonPanel-Bwbqgvr4.js → ComparisonPanel-ytDu1L7a.js} +1 -1
- package/src/client/dist/pwa/assets/{CreatePage-CCCCAhrx.js → CreatePage-YQ_jGilf.js} +1 -1
- package/src/client/dist/pwa/assets/{DashboardPage-3byhBITf.js → DashboardPage-C-PyArla.js} +1 -1
- package/src/client/dist/pwa/assets/{DiffViewer-Bj_NTfCF.js → DiffViewer-CPobwSwm.js} +3 -3
- package/src/client/dist/pwa/assets/{DocumentsPanel-xyLDV3T1.js → DocumentsPanel-BjZGNI-p.js} +1 -1
- package/src/client/dist/pwa/assets/{DrawerToggleButton-pwBSstQP.js → DrawerToggleButton-Dtd6fhYu.js} +1 -1
- package/src/client/dist/pwa/assets/{GitPanel-DvIdrkVw.js → GitPanel-BHJ3lpJZ.js} +3 -3
- package/src/client/dist/pwa/assets/{HealthPage-BSwhZQRo.js → HealthPage-Lv_IdF1l.js} +1 -1
- package/src/client/dist/pwa/assets/{MainLayout-DZJ9BvZw.js → MainLayout-DYumlWcP.js} +2 -2
- package/src/client/dist/pwa/assets/{MemoryPanel-ChR032zP.js → MemoryPanel-DS2F3x-S.js} +1 -1
- package/src/client/dist/pwa/assets/{MemoryProposalList-BRKSoS4K.js → MemoryProposalList-D_KDS3uX.js} +1 -1
- package/src/client/dist/pwa/assets/{QBtnDropdown-o3QH0Bb8.js → QBtnDropdown-XkBxmJO9.js} +1 -1
- package/src/client/dist/pwa/assets/{QExpansionItem-BhFHiyq9.js → QExpansionItem-B5vbHxJ2.js} +1 -1
- package/src/client/dist/pwa/assets/{QScrollArea-BsNY6slB.js → QScrollArea-BE_fAg20.js} +1 -1
- package/src/client/dist/pwa/assets/{QSelect-bEq3g_io.js → QSelect-BjZk4-r8.js} +1 -1
- package/src/client/dist/pwa/assets/{QTooltip-xYZ6KNu2.js → QTooltip-Dhn6VXWR.js} +1 -1
- package/src/client/dist/pwa/assets/{SchedulePanel-DIFv_FTY.js → SchedulePanel-BDhIt9pX.js} +1 -1
- package/src/client/dist/pwa/assets/{SearchPage-BqTBIt5E.js → SearchPage-CJrtIenZ.js} +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-BSwN45zt.js +9 -0
- package/src/client/dist/pwa/assets/{SettingsPage-BRvUAZ5r.css → SettingsPage-CNIpxG-U.css} +1 -1
- package/src/client/dist/pwa/assets/{SplitWorkspacePage-D6r2pl5g.js → SplitWorkspacePage-BV62otQw.js} +1 -1
- package/src/client/dist/pwa/assets/{TerminalPanel-CladK9Vv.js → TerminalPanel-TQUHtZ-q.js} +1 -1
- package/src/client/dist/pwa/assets/{ToolCallItem-CdzEME4w.js → ToolCallItem-DxdYefuz.js} +1 -1
- package/src/client/dist/pwa/assets/{TouchPan-B4gQPwGN.js → TouchPan-CtwfZgkX.js} +1 -1
- package/src/client/dist/pwa/assets/{TourReplayButton-B0j6AZwU.js → TourReplayButton-DEC_Yt6E.js} +1 -1
- package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-CeVhoidC.js → WorkspaceAttentionLabels-BehGsWhI.js} +1 -1
- package/src/client/dist/pwa/assets/{WorkspacePage-w2bF8wTd.css → WorkspacePage-Bk-WWOYM.css} +1 -1
- package/src/client/dist/pwa/assets/{WorkspacePage-CK5XCuG_.js → WorkspacePage-CQz6QL5L.js} +3 -3
- package/src/client/dist/pwa/assets/{browser-B8tNScg1.js → browser-B3bGJv7H.js} +1 -1
- package/src/client/dist/pwa/assets/{build-path-tree-kmVAcvs_.js → build-path-tree-Bwwe_8vU.js} +1 -1
- package/src/client/dist/pwa/assets/{custom-sounds-CJwd-8TL.js → custom-sounds-1Rb1a5LA.js} +1 -1
- package/src/client/dist/pwa/assets/{de-BaO6kbdO.js → de-bfOiFUu1.js} +1 -1
- package/src/client/dist/pwa/assets/{editor.api-CgbPVW9s.js → editor.api-D2PTZoSF.js} +1 -1
- package/src/client/dist/pwa/assets/{efforts-y7Wf_Rgd.js → efforts-JkWc_mU5.js} +1 -1
- package/src/client/dist/pwa/assets/{es-DTvSsbD0.js → es-C5Sk8pec.js} +1 -1
- package/src/client/dist/pwa/assets/{expand-template-BFbbjj7X.js → expand-template-C-aGZz7k.js} +1 -1
- package/src/client/dist/pwa/assets/{format-BETfc4z9.js → format-BbXB3nKS.js} +1 -1
- package/src/client/dist/pwa/assets/{formatters-C22K9vlC.js → formatters-Bu3lC0Jk.js} +1 -1
- package/src/client/dist/pwa/assets/{fr-BH7V66Yz.js → fr-BNVJp67K.js} +1 -1
- package/src/client/dist/pwa/assets/{freemarker2-DiRVvp9O.js → freemarker2-qq6O820q.js} +1 -1
- package/src/client/dist/pwa/assets/{handlebars-BLYRroSQ.js → handlebars-nXATCa7t.js} +1 -1
- package/src/client/dist/pwa/assets/{html-DAW2vteY.js → html-ZSNyTQeY.js} +1 -1
- package/src/client/dist/pwa/assets/i18n-B_b02gtS.js +1 -0
- package/src/client/dist/pwa/assets/{index-CbyHfF8I.js → index-BZKHE14f.js} +3 -3
- package/src/client/dist/pwa/assets/{it-DZGbkkoy.js → it-B9g24VRZ.js} +1 -1
- package/src/client/dist/pwa/assets/{javascript-Bb5J8n0k.js → javascript-B3Elzrc0.js} +1 -1
- package/src/client/dist/pwa/assets/{liquid-Dqx3adnJ.js → liquid-CrMGh9mA.js} +1 -1
- package/src/client/dist/pwa/assets/{mdx-D_7igLV3.js → mdx-C6nxSGQ5.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco-contributions-C-0CbrAy.js → monaco-contributions-WtuTHJJ8.js} +1 -1
- package/src/client/dist/pwa/assets/{monaco.contribution-c6JPBEZI.js → monaco.contribution--KeSH1BU.js} +2 -2
- package/src/client/dist/pwa/assets/{network-auth-BE4qbvWm.js → network-auth-DknPaiQS.js} +1 -1
- package/src/client/dist/pwa/assets/{notify-theme-BVFBBGrJ.js → notify-theme-DTaB0RsK.js} +1 -1
- package/src/client/dist/pwa/assets/{project-color-CHOR2jB5.js → project-color-bm_jpHka.js} +1 -1
- package/src/client/dist/pwa/assets/{python-Dqubw1F5.js → python-CQI_FwfK.js} +1 -1
- package/src/client/dist/pwa/assets/{razor-BQphc9Kt.js → razor-BT2wh4_7.js} +1 -1
- package/src/client/dist/pwa/assets/{typescript-Dep00l0X.js → typescript-D3ibItMf.js} +1 -1
- package/src/client/dist/pwa/assets/{use-search-index-status-CQHHvHwM.js → use-search-index-status-BnFR-_2l.js} +1 -1
- package/src/client/dist/pwa/assets/{use-tours-IVbXTmz2.js → use-tours-CsPhvrxf.js} +2 -2
- package/src/client/dist/pwa/assets/{use-worktree-restore-B3s5xDGR.js → use-worktree-restore-B5s0BuHk.js} +1 -1
- package/src/client/dist/pwa/assets/{workspace-templates-CyuTpztP.js → workspace-templates-GLO1mBlj.js} +1 -1
- package/src/client/dist/pwa/assets/{xml-BMS2dvaF.js → xml-EIEQlO3Y.js} +1 -1
- package/src/client/dist/pwa/assets/{yaml-CYw92aic.js → yaml-CJdHLr6G.js} +1 -1
- package/src/client/dist/pwa/index.html +1 -1
- package/src/client/dist/pwa/sw.js +1 -1
- package/src/client/dist/pwa/assets/SettingsPage-BLD0xWFB.js +0 -9
- package/src/client/dist/pwa/assets/i18n-DnuTmw3O.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{M as e,O as t,S as n,lt as r,n as i,pt as a,v as o}from"./reactivity.esm-bundler-DY1JkAEA.js";import{J as s,L as c,P as l,Y as u,_ as d,b as f,d as p,f as m,g as h,j as g,l as _,p as v,r as y,u as b,w as x,y as S,z as C}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{$ as w,M as T,c as E,d as D}from"./dom-BtYTvLeN.js";import{l as O,t as k,u as A}from"./QBtn-BUSdPaf4.js";import{$t as j,Kt as M,P as N,Qt as P,Ut as F,at as I,cn as L,ft as ee,mt as R,pt as z,sn as te,un as ne}from"./index-
|
|
1
|
+
import{M as e,O as t,S as n,lt as r,n as i,pt as a,v as o}from"./reactivity.esm-bundler-DY1JkAEA.js";import{J as s,L as c,P as l,Y as u,_ as d,b as f,d as p,f as m,g as h,j as g,l as _,p as v,r as y,u as b,w as x,y as S,z as C}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{$ as w,M as T,c as E,d as D}from"./dom-BtYTvLeN.js";import{l as O,t as k,u as A}from"./QBtn-BUSdPaf4.js";import{$t as j,Kt as M,P as N,Qt as P,Ut as F,at as I,cn as L,ft as ee,mt as R,pt as z,sn as te,un as ne}from"./index-BZKHE14f.js";import{a as B}from"./use-tours-CsPhvrxf.js";import{t as re}from"./QTooltip-Dhn6VXWR.js";import{i as ie,o as ae,r as oe,t as V}from"./render-chat-markdown-CafzCcmu.js";function H(e){let r=n({width:0,height:0}),a=f(),o=null,s=null,c=null,u=0,d,p={width:-1,height:-1};function m(){c!==null&&(clearTimeout(c),c=null)}function h(){if(m(),s===null)return;let{offsetWidth:e,offsetHeight:t}=o;(e!==p.width||t!==p.height)&&(p={width:e,height:t},r.value=p,d?.(p))}function _(){u>0?c===null&&(c=setTimeout(h,u)):h()}function v(){m(),s!==null&&(s.disconnect(),s=null)}let y=new i(()=>{let n=t(e)??{},r=E(n.target,a);if(u=Number(n.debounce)||0,d=n.onResize,r!==o&&(v(),o=r,p={width:-1,height:-1}),n.disabled===!0||o===null){v();return}s===null&&(s=new ResizeObserver(_),s.observe(o,{box:`border-box`}),h())});return y.scheduler=()=>{y.run()},a===null?y.run():(l(()=>{y.run()}),g(v)),{elementSize:r,refreshElementSize:h,stopElementSize(){v(),o=null,y.stop()}}}var{passive:U}=T;function W(e){let r=n({top:0,left:0}),a=o(`down`),s=o(!1),c=n({top:0,left:0}),u=n({top:0,left:0}),d={scrollPosition:r,scrollDirection:a,scrollDirectionChanged:s,scrollDelta:c,scrollInflectionPoint:u},p=f(),m=p!==null||x()?D():void 0,h=null,_=!1,v=null,y=`vertical`,b,S,C,w=0,T=0,O=`down`,k={top:0,left:0};function A(){v!==null&&(v(),v=null)}function j(){if(A(),h===null)return;let e=Math.max(0,ne(h)),t=te(h),n=e-w,i=t-T;if(y===`vertical`&&n===0||y===`horizontal`&&i===0||n===0&&i===0)return;let o=Math.abs(n)>=Math.abs(i)?n<0?`up`:`down`:i<0?`left`:`right`,l=O!==o,d={top:e,left:t},f={top:n,left:i};w=e,T=t,r.value=d,c.value=f,s.value=l,l&&(O=o,k=d,a.value=o,u.value=d),C?.({position:d,direction:o,directionChanged:l,delta:f,inflectionPoint:k})}function M(){if(b===0)j();else if(v===null){if(b===void 0){let e=requestAnimationFrame(j);v=()=>{cancelAnimationFrame(e)}}else{let e=setTimeout(j,b);v=()=>{clearTimeout(e)}}}}function N(){A(),_&&=(h.removeEventListener(`scroll`,M,U),!1)}let P=new i(()=>{let n=t(e)??{},i=t(n.scrollTarget),o=E(n.target,p),l=i==null?o===null?null:L(o):L(o,i);y=n.axis??`vertical`,b=n.debounce===void 0||n.debounce===null?void 0:Number(n.debounce)||0,C=n.onScroll,l!==h&&(N(),h=l,(w!==0||T!==0)&&(w=T=0,r.value={top:w,left:T},c.value={top:w,left:T}),O!==`down`&&(O=`down`,a.value=O),s.value&&=!1,(k.top!==0||k.left!==0)&&(k={top:0,left:0},u.value=k));let d=m?.lang.rtl===!0,f=S!==void 0&&S!==d;if(S=d,n.disabled===!0||h===null){N();return}_?f&&j():(h.addEventListener(`scroll`,M,U),_=!0,j())});return P.scheduler=()=>{P.run()},p===null?P.run():(l(()=>{P.run()}),g(N)),{...d,refreshScroll:j,stopScroll(){N(),h=null,P.stop()}}}function G(e,t,n){if(e?.kind!==`subagent`)return;let r=t.filter(ee);return(n?r.find(e=>e.toolUseId===n||e.taskId===n):void 0)||r.find(t=>{let n=new Set([t.toolUseId,...t.taskId?[t.taskId]:[]]);return e.toolCallId!==void 0&&n.has(e.toolCallId)||e.threadId!==void 0&&(t.threadIds??[]).includes(e.threadId)})}function K(e,t){if(!(`origin`in e)||!e.origin||e.origin.kind!==`subagent`)return!1;let n=new Set([t.toolUseId,...t.taskId?[t.taskId]:[]]);return(e.kind===`tool:call`||e.kind===`tool:result`)&&n.has(e.toolCallId)||e.origin.toolCallId!==void 0&&n.has(e.origin.toolCallId)||e.origin.threadId!==void 0&&(t.threadIds??[]).includes(e.origin.threadId)}function q(e,t,n){return e.filter((e,r)=>(!n.sessionId||t[r]===n.sessionId)&&K(e,n))}var se=Symbol(`openSubagentActivity`),ce=Symbol(`subagentActivityTarget`),J=j(`documents`,()=>{let e=o({}),t=o(!1),n=o(!1),r=o(null),i=o(0),a=z();function s(t){return e.value[t]??[]}async function c(n){t.value=!0;try{let t=await F(`/api/workspaces/${n}/documents`);if(!t.ok)throw await M(t);let r=await t.json();e.value[n]=r.documents}catch(t){console.error(`[documents-store] fetchDocuments failed:`,t),e.value[n]=[]}finally{t.value=!1}}async function l(e,t){await u(e,t,a.begin())}async function u(e,t,i){n.value=!0;try{let n=await F(`/api/workspaces/${e}/document?path=${encodeURIComponent(t.path)}`,{signal:i});if(!n.ok)throw await M(n);let o=await n.json();return a.isCurrent(i)?(r.value={path:o.path,name:t.name,content:o.content},!0):!1}catch(e){if(R(e)||!a.isCurrent(i))return!1;throw console.error(`[documents-store] openDocument failed:`,e),e}finally{a.isCurrent(i)&&(n.value=!1)}}async function d(t,r){let o=a.begin();try{let n=()=>(e.value[t]??[]).find(e=>e.path===r)??null,s=n();return s||=(await c(t),n()),!s||!a.isCurrent(o)||!await u(t,s,o)||!a.isCurrent(o)?!1:(i.value++,!0)}finally{a.isCurrent(o)&&(n.value=!1)}}function f(){a.abort(),n.value=!1,r.value=null}function p(t){delete e.value[t],f()}return{documentsByWorkspace:e,loadingList:t,loadingContent:n,selected:r,requestOpen:i,documentsFor:s,fetchDocuments:c,openDocument:l,openDocumentByPath:d,closeDocument:f,clearForWorkspace:p}});function le(e,t){if(t.length===0||e.length===0)return e;let n=[...t].sort((e,t)=>t.length-e.length),r=new DOMParser().parseFromString(`<div>${e}</div>`,`text/html`),i=r.body.firstChild;if(!i)return e;function a(e){if(e.nodeType===Node.TEXT_NODE){ue(e,n,r);return}if(e.nodeName===`A`)return;let t=Array.from(e.childNodes);for(let e of t)a(e)}return a(i),i.innerHTML}function ue(e,t,n){let r=e.textContent??``;if(!t.some(e=>r.includes(e)))return;let i=n.createDocumentFragment(),a=0;for(;a<r.length;){let e=de(r,a,t);if(!e){i.appendChild(n.createTextNode(r.slice(a)));break}e.index>a&&i.appendChild(n.createTextNode(r.slice(a,e.index)));let o=n.createElement(`a`);o.className=`document-link`,o.setAttribute(`data-document-path`,e.path),o.setAttribute(`href`,`#`),o.textContent=e.path,i.appendChild(o),a=e.index+e.path.length}e.parentNode?.replaceChild(i,e)}function de(e,t,n){let r=null;for(let i of n){let n=e.indexOf(i,t);n<0||(!r||n<r.index||n===r.index&&i.length>r.path.length)&&(r={index:n,path:i})}return r}var fe=[`innerHTML`],pe=B(S({__name:`TextMessageItem`,props:{item:{}},setup(e){let t=e,n=J(),r=I(),i=D(),{t:a}=P(),o=_(()=>{let e=r.selectedWorkspaceId;return e?n.documentsFor(e).map(e=>e.path):[]}),s=_(()=>{let e=t.item;if(e.streaming)return V(e.text);let n=o.value;return oe(`${e.messageId}|${n.join(`,`)}`,e.text,e=>{let t=le(ae.parse(e,{async:!1,breaks:!0,gfm:!0}),n);return ie(t,{addAttr:[`data-document-path`]})})});function l(e){let t=e.target?.closest(`.document-link`);if(!t)return;e.preventDefault();let o=t.getAttribute(`data-document-path`),s=r.selectedWorkspaceId;o&&s&&n.openDocumentByPath(s,o).catch(e=>{console.error(`[TextMessageItem] openDocumentByPath failed:`,e),i.notify({type:`negative`,message:a(`documents.loadFailed`),position:`top`})})}return(t,n)=>(c(),v(`div`,{class:`markdown-message`,onClick:l},[b(`div`,{innerHTML:s.value},null,8,fe),e.item.streaming?(c(),p(A,{key:0,size:`xs`,class:`q-ml-xs`})):m(``,!0)]))}}),[[`__scopeId`,`data-v-99371035`]]);function me(e,t){let n=e.split(`
|
|
2
2
|
`),r=t.split(`
|
|
3
3
|
`),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;let a=n.length,o=r.length;for(;a>i&&o>i&&n[a-1]===r[o-1];)a--,o--;let s=n.slice(0,i).map(e=>({type:`context`,content:e})),c=n.slice(a).map(e=>({type:`context`,content:e})),l=n.slice(i,a),u=r.slice(i,o);return l.length>800||u.length>800?[...s,...l.map(e=>({type:`del`,content:e})),...u.map(e=>({type:`add`,content:e})),...c]:[...s,...he(l,u),...c]}function he(e,t){let n=e.length,r=t.length;if(n===0&&r===0)return[];if(n===0)return t.map(e=>({type:`add`,content:e}));if(r===0)return e.map(e=>({type:`del`,content:e}));let i=r+1,a=new Int32Array((n+1)*i);for(let o=n-1;o>=0;o--)for(let n=r-1;n>=0;n--)a[o*i+n]=e[o]===t[n]?a[(o+1)*i+(n+1)]+1:Math.max(a[(o+1)*i+n],a[o*i+(n+1)]);let o=[],s=0,c=0;for(;s<n&&c<r;)e[s]===t[c]?(o.push({type:`context`,content:e[s]}),s++,c++):a[(s+1)*i+c]>=a[s*i+(c+1)]?(o.push({type:`del`,content:e[s]}),s++):(o.push({type:`add`,content:t[c]}),c++);for(;s<n;)o.push({type:`del`,content:e[s++]});for(;c<r;)o.push({type:`add`,content:t[c++]});return o}function ge(e){let t=e.split(`
|
|
4
4
|
`),n=[],r=!1;for(let e of t){if(e.startsWith(`@@`)){r=!0;continue}(r||!e.startsWith(`+++`)&&!e.startsWith(`---`))&&(e.startsWith(`+`)?n.push({type:`add`,content:e.slice(1)}):e.startsWith(`-`)?n.push({type:`del`,content:e.slice(1)}):e.startsWith(` `)?n.push({type:`context`,content:e.slice(1)}):e.length>0&&n.push({type:`context`,content:e}))}return n}function _e(e,t){if(!t||typeof t!=`object`)return null;let n=t;if(e===`Edit`){let e=n.file_path;if(!e)return null;let t=n.old_string??``,r=n.new_string??``,i=typeof n.diff==`string`?n.diff:``;if(!t&&!r&&i.length>0){let t=ge(i);return{toolName:`Edit`,filePath:e,additions:t.filter(e=>e.type===`add`).length,deletions:t.filter(e=>e.type===`del`).length,diffLines:t}}return{toolName:`Edit`,filePath:e,oldString:t,newString:r,replaceAll:n.replace_all??!1,additions:r?r.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,F as t,I as n,L as r,M as i,N as a,P as o,R as s,U as c,j as l}from"./dom-BtYTvLeN.js";import{a as u,o as d}from"./QSelect-
|
|
1
|
+
import{B as e,F as t,I as n,L as r,M as i,N as a,P as o,R as s,U as c,j as l}from"./dom-BtYTvLeN.js";import{a as u,o as d}from"./QSelect-BjZk4-r8.js";import{p as f}from"./use-tours-CsPhvrxf.js";var{passive:p,passiveCapture:m,notPassiveCapture:h}=i,g=0;function _(e,t,n){let r=o(e),i,a=r.left-t.event.x,s=r.top-t.event.y,c=Math.abs(a),l=Math.abs(s),u=t.direction;u.horizontal&&!u.vertical?i=a<0?`left`:`right`:!u.horizontal&&u.vertical?i=s<0?`up`:`down`:u.up&&s<0?(i=`up`,c>l&&(u.left&&a<0?i=`left`:u.right&&a>0&&(i=`right`))):u.down&&s>0?(i=`down`,c>l&&(u.left&&a<0?i=`left`:u.right&&a>0&&(i=`right`))):u.left&&a<0?(i=`left`,c<l&&(u.up&&s<0?i=`up`:u.down&&s>0&&(i=`down`))):u.right&&a>0&&(i=`right`,c<l&&(u.up&&s<0?i=`up`:u.down&&s>0&&(i=`down`)));let d=!1;if(i===void 0&&n===!1){if(t.event.isFirst||t.event.lastDir===void 0)return{};i=t.event.lastDir,d=!0,i===`left`||i===`right`?(r.left-=a,c=0,a=0):(r.top-=s,l=0,s=0)}return{synthetic:d,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:c,y:l},offset:{x:a,y:s},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}function v(e,t,n){t.modifiers=n,t.direction=u(n),t.stop=n.stop===!0,t.prevent=n.prevent===!0,t.mouseAllDir=n.mouseAllDir===!0||n.mousealldir===!0,t.preserveCursor=n.preserveCursor===!0||n.preservecursor===!0;let r=n.mouse?n.mouseCapture||n.mousecapture?m:p:null;r!==t.mouseOpts&&(t.mouseOpts!==null&&e.removeEventListener(`mousedown`,y,t.mouseOpts),r!==null&&e.addEventListener(`mousedown`,y,r),t.mouseOpts=r);let i=c.has.touch?n.capture?m:p:null;i!==t.touchOpts&&(t.touchOpts!==null&&e.removeEventListener(`touchstart`,b,t.touchOpts),i!==null&&e.addEventListener(`touchstart`,b,i),t.touchOpts=i)}function y(e){let t=e.currentTarget.__qtouchpan;d(e,t)&&l(e)&&(t.target=document,document.addEventListener(`mousemove`,t,h),document.addEventListener(`mouseup`,t,m),C(t,e,!0))}function b(e){let t=e.currentTarget.__qtouchpan;if(d(e,t)){let{target:n}=e;t.target=n,n.addEventListener(`touchmove`,t,h),n.addEventListener(`touchcancel`,t,m),n.addEventListener(`touchend`,t,m),C(t,e,!1)}}function x(e){e.type===`mousemove`||e.type===`touchmove`?E(this,e):D(this,e)}function S(e,n,i){i?s(n):(e.stop&&r(n),e.prevent&&t(n))}function C(e,i,a){if(c.is.firefox&&n(e.el,!0),e.lastEvt=i,a||e.stop){if(!e.direction.all&&(!a||!e.mouseAllDir)){let n=i.type.includes(`mouse`)?new MouseEvent(i.type,i):new TouchEvent(i.type,i);i.defaultPrevented&&t(n),i.cancelBubble&&r(n),Object.assign(n,{qKeyEvent:i.qKeyEvent,qClickOutside:i.qClickOutside,qAnchorHandled:i.qAnchorHandled,qClonedBy:i.qClonedBy===void 0?[e.uid]:i.qClonedBy.concat(e.uid)}),e.initialEvent={target:i.target,event:n}}r(i)}let{left:s,top:l}=o(i);e.event={x:s,y:l,time:Date.now(),mouse:a,detected:!1,isFirst:!0,isFinal:!1,lastX:s,lastY:l,lastDir:void 0}}function w(e,t,n){S(e,t,n),e.styled=!0,e.preserveCursor||(e.cursor=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),n&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),f()}function T(e,t){e.styled=!1,e.cursor!==void 0&&(document.documentElement.style.cursor=e.cursor,e.cursor=void 0),document.body.classList.remove(`non-selectable`),t&&document.body.classList.remove(`no-pointer-events--children`)}function E(e,t){let{event:n}=e;if(n===void 0)return;let r=o(t),i=r.left-n.x,a=r.top-n.y;if(i===0&&a===0)return;e.lastEvt=t;let{mouse:s}=n;if(n.detected){n.isFirst||S(e,t,s);let{payload:r,synthetic:i}=_(t,e,!1);r!==void 0&&(e.handler(r)===!1?D(e,t):(!e.styled&&n.isFirst&&w(e,t,s),n.lastX=r.position.left,n.lastY=r.position.top,n.lastDir=i?void 0:r.direction,n.isFirst=!1));return}let{direction:c}=e;if(c.all||s&&e.mouseAllDir){w(e,t,s),n.detected=!0,E(e,t);return}let l=Math.abs(i),u=Math.abs(a);l!==u&&(c.horizontal&&l>u||c.vertical&&l<u||c.up&&l<u&&a<0||c.down&&l<u&&a>0||c.left&&l>u&&i<0||c.right&&l>u&&i>0?(n.detected=!0,E(e,t)):D(e,t,!0))}function D(e,t,r){let{event:i,target:a}=e;if(i===void 0)return;let{mouse:o}=i;if(o?(a.removeEventListener(`mousemove`,e,h),a.removeEventListener(`mouseup`,e,m)):(a.removeEventListener(`touchmove`,e,h),a.removeEventListener(`touchcancel`,e,m),a.removeEventListener(`touchend`,e,m)),c.is.firefox&&n(e.el,!1),r)e.styled&&T(e,o),!i.detected&&e.initialEvent!==void 0&&e.initialEvent.target.dispatchEvent(e.initialEvent.event);else if(i.detected){t===void 0&&(t=e.lastEvt),i.isFirst&&e.handler(_(t,e).payload);let{payload:n}=_(t,e,!0),{handler:r}=e;e.styled?(T(e,o),o?setTimeout(r,50,n):r(n)):r(n)}e.event=void 0,e.initialEvent=void 0,e.lastEvt=void 0,e.target=null}var O=e({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){let r={handleEvent:x,el:e,uid:`qvtp_`+g++,handler:t,modifiers:void 0,direction:void 0,stop:!1,prevent:!1,mouseAllDir:!1,preserveCursor:!1,mouseOpts:null,touchOpts:null,target:null,event:void 0,initialEvent:void 0,lastEvt:void 0,styled:!1,cursor:void 0};e.__qtouchpan=r,v(e,r,n),r.touchOpts!==null&&e.addEventListener(`touchmove`,a,h)},updated(e,{oldValue:t,value:n,modifiers:r}){let i=e.__qtouchpan;i!==void 0&&(t!==n&&(typeof n!=`function`&&D(i),i.handler=n),r!==i.modifiers&&v(e,i,r))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(D(t),t.mouseOpts!==null&&e.removeEventListener(`mousedown`,y,t.mouseOpts),t.touchOpts!==null&&(e.removeEventListener(`touchstart`,b,t.touchOpts),e.removeEventListener(`touchmove`,a,h)),e.__qtouchpan=void 0)}});export{O as t};
|
package/src/client/dist/pwa/assets/{TourReplayButton-B0j6AZwU.js → TourReplayButton-DEC_Yt6E.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{pt as e}from"./reactivity.esm-bundler-DY1JkAEA.js";import{L as t,Y as n,_ as r,d as i,g as a,y as o}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{t as s}from"./QBtn-BUSdPaf4.js";import{n as c}from"./use-tours-
|
|
1
|
+
import{pt as e}from"./reactivity.esm-bundler-DY1JkAEA.js";import{L as t,Y as n,_ as r,d as i,g as a,y as o}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{t as s}from"./QBtn-BUSdPaf4.js";import{n as c}from"./use-tours-CsPhvrxf.js";import{t as l}from"./QTooltip-Dhn6VXWR.js";var u=o({__name:`TourReplayButton`,props:{tourId:{}},setup(o){let u=o,{runTour:d}=c();function f(){d(u.tourId)}return(o,c)=>(t(),i(s,{flat:``,round:``,dense:``,icon:`help_outline`,size:`sm`,color:`kobo-2`,"aria-label":o.$t(`help.replayThis`),onClick:f},{default:n(()=>[r(l,null,{default:n(()=>[a(e(o.$t(`help.replayThis`)),1)]),_:1})]),_:1},8,[`aria-label`]))}});export{u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{M as e,lt as t,pt as n,v as r}from"./reactivity.esm-bundler-DY1JkAEA.js";import{L as i,Y as a,_ as o,d as s,f as c,g as l,l as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{$ as g,d as _}from"./dom-BtYTvLeN.js";import{l as v,t as y}from"./QBtn-BUSdPaf4.js";import{Qt as b,Ut as x,at as S,dt as C,st as w,ut as T}from"./index-
|
|
1
|
+
import{M as e,lt as t,pt as n,v as r}from"./reactivity.esm-bundler-DY1JkAEA.js";import{L as i,Y as a,_ as o,d as s,f as c,g as l,l as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-Bqg71Vll.js";import{$ as g,d as _}from"./dom-BtYTvLeN.js";import{l as v,t as y}from"./QBtn-BUSdPaf4.js";import{Qt as b,Ut as x,at as S,dt as C,st as w,ut as T}from"./index-BZKHE14f.js";import{a as E}from"./use-tours-CsPhvrxf.js";import{t as D}from"./QTooltip-Dhn6VXWR.js";import{t as O}from"./formatters-Bu3lC0Jk.js";function k(e){let t=[],n=[],r=[],i=[];for(let a of e){if(a.status!==`COMPLETED`){n.push(a);continue}a.conclusion===`FAILURE`||a.conclusion===`CANCELLED`||a.conclusion===`TIMED_OUT`?t.push(a):a.conclusion===`SUCCESS`?r.push(a):i.push(a)}let a=(e,t)=>e.name.localeCompare(t.name);return t.sort(a),n.sort(a),r.sort(a),i.sort(a),{failed:t,pending:n,passed:r,skipped:i}}var A={"awaiting-user":{kind:`awaiting-user`,icon:`help`,color:`amber-5`},error:{kind:`error`,icon:`warning`,color:`red-5`},quota:{kind:`quota`,icon:`warning`,color:`red-5`}};function j(e,t,n){let r=[];if(e.status===`quota`&&n===`transient`)r.push({kind:`quota-retry`,icon:`autorenew`,color:`amber-5`});else{let t=A[e.status];t&&r.push(t)}return t&&C(t)&&!M(e.prCiFailureDismissedAt,t)&&r.push({kind:`ci-failed`,icon:`cancel`,color:`red-5`}),t&&T(t)&&!M(e.prChangesDismissedAt,t)&&r.push({kind:`changes-requested`,icon:`rate_review`,color:`red-5`}),t?.readyToMerge&&!w(e.status)&&r.push({kind:`ready-to-merge`,icon:`check_circle`,color:`green-5`}),r}function M(e,t){return e?t.updatedAt<=e:!1}var N={key:0,class:`text-caption q-mt-xs`},P={key:1,class:`q-ml-xs text-kobo-3`},F={key:1,class:`row items-center no-wrap ci-recap`},I={class:`text-amber-5`},L={class:`text-kobo-2`},R={class:`text-kobo-3`},z={class:`text-red-5`},B={class:`text-weight-medium text-amber-4 q-mb-xs row items-center no-wrap`},V={key:0,class:`text-red-4 q-mt-xs`},H={class:`text-kobo-2 q-mt-xs`},U=E(m({__name:`WorkspaceAttentionLabels`,props:{workspace:{},ciRecapOnly:{type:Boolean}},setup(m){let C=m,w=S(),T=_(),{t:E}=b(),{timeAgo:A}=O(),M=u(()=>j(C.workspace,w.prSnapshots[C.workspace.id],w.pendingQuotaBackoffs[C.workspace.id]?.reason===`transient`?`transient`:`quota`)),U=u(()=>k(w.prSnapshots[C.workspace.id]?.ci.checks??[])),W=u(()=>U.value.pending.length>0),G=r(!1);async function K(){if(!G.value){G.value=!0;try{let e=await x(`/api/workspaces/${C.workspace.id}/start-ci-fix`,{method:`POST`}),t=await e.json().catch(()=>({}));if(!e.ok){T.notify({type:`negative`,message:t.error??E(`tools.fixCiFailed`),position:`top`,timeout:0});return}T.notify({type:`positive`,message:E(`tools.fixCiLaunched`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:E(`tools.fixCiFailed`);T.notify({type:`negative`,message:t,position:`top`,timeout:0})}finally{G.value=!1}}}function q(e){switch(e){case`awaiting-user`:return E(`workspaceStatus.awaitingUser`);case`error`:return E(`workspaceStatus.error`);case`quota`:return E(`workspaceStatus.quota`);case`quota-retry`:return E(`workspaceStatus.retrying`);case`ci-failed`:return E(`workspaceList.attentionCiFailed`);case`changes-requested`:return E(`workspaceList.attentionChangesRequested`);case`ready-to-merge`:return E(`workspaceList.attentionReadyToMerge`)}}return(r,u)=>!m.ciRecapOnly&&M.value.length>0||W.value?(i(),d(`div`,N,[m.ciRecapOnly?c(``,!0):(i(!0),d(f,{key:0},h(M.value,(r,u)=>(i(),d(`div`,{key:r.kind,class:`row items-center no-wrap`},[o(v,{name:r.icon,size:`xs`,color:r.color,class:`q-mr-xs`},null,8,[`name`,`color`]),p(`span`,{class:t(`text-${r.color}`)},n(q(r.kind)),3),r.kind===`ci-failed`&&!m.workspace.archivedAt?(i(),s(y,{key:0,flat:``,dense:``,round:``,size:`xs`,color:`red-4`,icon:`build_circle`,class:`q-ml-xs`,loading:G.value,disable:G.value,onClick:g(K,[`stop`])},{default:a(()=>[o(D,null,{default:a(()=>[l(n(e(E)(`tools.fixCiTooltip`)),1)]),_:1})]),_:1},8,[`loading`,`disable`])):c(``,!0),u===M.value.length-1?(i(),d(`span`,P,` · `+n(e(A)(m.workspace.updatedAt)),1)):c(``,!0)]))),128)),W.value?(i(),d(`div`,F,[o(v,{name:`hourglass_empty`,size:`12px`,color:`amber-5`,class:`q-mr-xs`}),p(`span`,I,n(e(E)(`git.pr.ci.pendingCount`,{n:U.value.pending.length})),1),u[2]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(v,{name:`check_circle`,size:`12px`,color:`green-5`,class:`q-mr-xs`}),p(`span`,L,n(U.value.passed.length),1),U.value.skipped.length>0?(i(),d(f,{key:0},[u[0]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(v,{name:`remove_circle_outline`,size:`12px`,color:`kobo-3`,class:`q-mr-xs`}),p(`span`,R,n(U.value.skipped.length),1)],64)):c(``,!0),U.value.failed.length>0?(i(),d(f,{key:1},[u[1]||=p(`span`,{class:`q-mx-xs text-kobo-3`},`·`,-1),o(v,{name:`cancel`,size:`12px`,color:`red-5`,class:`q-mr-xs`}),p(`span`,z,n(U.value.failed.length),1)],64)):c(``,!0),o(D,{anchor:`bottom start`,self:`top start`,class:`ci-recap-tooltip`},{default:a(()=>[p(`div`,B,[o(v,{name:`hourglass_empty`,size:`13px`,class:`q-mr-xs`}),l(` `+n(e(E)(`git.pr.ci.pendingCount`,{n:U.value.pending.length})),1)]),(i(!0),d(f,null,h(U.value.pending,e=>(i(),d(`div`,{key:e.name,class:`ci-recap-tooltip__job`},n(e.name),1))),128)),U.value.failed.length>0?(i(),d(`div`,V,n(e(E)(`git.pr.ci.failedCount`,{n:U.value.failed.length})),1)):c(``,!0),p(`div`,H,n(e(E)(`git.pr.ci.passedCount`,{n:U.value.passed.length}))+` · `+n(e(E)(`git.pr.ci.skippedCount`,{n:U.value.skipped.length})),1)]),_:1})])):c(``,!0)])):c(``,!0)}}),[[`__scopeId`,`data-v-7bb2dad6`]]);export{j as n,k as r,U as t};
|
package/src/client/dist/pwa/assets/{WorkspacePage-w2bF8wTd.css → WorkspacePage-Bk-WWOYM.css}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
.markdown-thinking[data-v-c2dfdaf1] p{margin:0 0 .4em}.markdown-thinking[data-v-c2dfdaf1] p:last-child{margin-bottom:0}.markdown-thinking[data-v-c2dfdaf1] code{background:#ffffff14;border-radius:3px;padding:.1em .3em}.thinking-expansion[data-v-c2dfdaf1] .q-item__section--side{margin-left:auto}.thinking-inline[data-v-c2dfdaf1]{min-height:20px;line-height:20px}.ask-user-question-panel[data-v-33b0d3cb]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;max-height:38vh;overflow-y:auto}.ask-user-question-panel.collapsed[data-v-33b0d3cb]{max-height:none;overflow-y:visible}.ask-user-question-panel.collapsed .row[data-v-33b0d3cb]{margin-bottom:0}.aukq-stepper[data-v-33b0d3cb] .q-stepper__header{min-height:56px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__tab{padding:8px 12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__title{white-space:nowrap;font-size:12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__caption{display:none}.aukq-stepper[data-v-33b0d3cb] .q-stepper__step-inner{padding:12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__nav{padding-top:8px}.aukq-options[data-v-33b0d3cb]{margin-bottom:4px}.auto-loop-panel[data-v-e4848b57]{padding:var(--kobo-space-sm);color:var(--kobo-text-2);border-bottom:1px solid var(--kobo-border-subtle)}.auto-loop-panel__heading[data-v-e4848b57],.auto-loop-panel__status[data-v-e4848b57],.auto-loop-panel__actions[data-v-e4848b57]{align-items:center;gap:var(--kobo-space-sm);flex-wrap:wrap;display:flex}.auto-loop-panel__heading[data-v-e4848b57]{justify-content:space-between}.auto-loop-panel__status--blocked[data-v-e4848b57]{color:var(--kobo-warning)}.auto-loop-panel__detail[data-v-e4848b57]{margin:var(--kobo-space-xs) 0}.auto-loop-panel__error[data-v-e4848b57]{color:var(--kobo-danger);margin:var(--kobo-space-xs) 0}.auto-loop-panel__messages[data-v-e4848b57]{margin-top:var(--kobo-space-sm)}.auto-loop-panel__messages summary[data-v-e4848b57]{cursor:pointer}.auto-loop-panel__messages ol[data-v-e4848b57]{margin:var(--kobo-space-sm) 0;padding-left:var(--kobo-space-xl);max-height:calc(var(--kobo-space-4xl) * 4);overflow-y:auto}.auto-loop-panel__messages li+li[data-v-e4848b57]{margin-top:var(--kobo-space-sm)}.auto-loop-panel__message-state[data-v-e4848b57]{color:var(--kobo-text-3)}.auto-loop-panel__content[data-v-e4848b57]{margin:var(--kobo-space-xs) 0;white-space:pre-wrap;overflow-wrap:anywhere}.quota-footer[data-v-cb0734fe]{white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.quota-bucket-compact[data-v-cb0734fe]{align-items:center;gap:.3rem;display:inline-flex}.bucket-pct[data-v-cb0734fe]{font-variant-numeric:tabular-nums}.quota-bar[data-v-cb0734fe]{border:1px solid var(--kobo-border-strong);border-radius:4px;width:48px;height:7px}.full-bar[data-v-cb0734fe]{border-radius:3px;height:6px}.quota-menu[data-v-cb0734fe]{min-width:240px}.review-return-panel[data-v-582748c8]{padding:var(--kobo-space-sm);color:var(--kobo-text-2);border-bottom:1px solid var(--kobo-border-subtle)}.review-return-panel p[data-v-582748c8]{margin:var(--kobo-space-xs) 0}.review-return-panel__actions[data-v-582748c8]{gap:var(--kobo-space-sm);flex-wrap:wrap;display:flex}.review-return-panel__error[data-v-582748c8]{color:var(--kobo-danger)}.chat-input-container[data-v-4a1108f9]{background-color:var(--kobo-bg-deep);border-top:1px solid var(--kobo-border-subtle);min-height:48px;position:relative}.chat-input-container.chat-input-dragging[data-v-4a1108f9]{outline:2px dashed var(--kobo-accent);outline-offset:-2px}.chat-input[data-v-4a1108f9]{background-color:var(--kobo-surface);padding:4px 12px}.chat-input[data-v-4a1108f9] .q-field__control{min-height:32px}.chat-input[data-v-4a1108f9] textarea,.chat-input[data-v-4a1108f9] input{color:var(--kobo-text-2);font-size:13px}.chat-slash-popup[data-v-4a1108f9]{z-index:9999;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px}.chat-file-popup[data-v-4a1108f9]{background-color:var(--kobo-surface);border:1px solid #ffffff1a;border-radius:6px;max-height:300px;overflow-y:auto}.chat-file-popup .chat-file-path[data-v-4a1108f9]{font-family:var(--kobo-font-mono);word-break:break-all;font-size:12px}.chat-file-popup .chat-file-item--active[data-v-4a1108f9]{background-color:#665fdd26}.attachment-tag[data-v-4a1108f9]{font-family:var(--kobo-font-mono);font-size:12px;line-height:1}.attachment-tag--uploading[data-v-4a1108f9]{background-color:var(--kobo-hover);border:1px solid var(--kobo-border);color:var(--kobo-text-3)}.attachment-tag--ready[data-v-4a1108f9]{color:var(--kobo-success);background-color:#34d3991f;border:1px solid #34d39959}.attachment-tag--error[data-v-4a1108f9]{color:var(--kobo-danger);background-color:#f871711f;border:1px solid #f8717159}.attachment-tag-label[data-v-4a1108f9]{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.chat-hint[data-v-4a1108f9]{text-align:left;min-width:0;padding:2px 4px 0;font-size:10px}.chat-hint__shortcuts[data-v-4a1108f9]{flex:auto;min-width:0;overflow:hidden}.chat-hint__primary[data-v-4a1108f9]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-hint__status[data-v-4a1108f9],.chat-hint__interrupt[data-v-4a1108f9]{flex:none}.chat-hint kbd[data-v-4a1108f9]{background-color:var(--kobo-hover);font-family:var(--kobo-font-mono);border-radius:3px;padding:1px 4px;font-size:9px}.chat-shortcuts-menu[data-v-4a1108f9]{min-width:190px;font-size:12px}.queue-banner[data-v-4a1108f9]{background-color:#fbbf241f;border-bottom:1px solid #fbbf2459}.autoloop-banner[data-v-4a1108f9]{background-color:var(--kobo-surface-2);border-top:1px solid #665fdd66;border-bottom:1px solid #665fdd66}.voice-btn--recording[data-v-4a1108f9]{animation:1.1s ease-in-out infinite voice-pulse-4a1108f9}@keyframes voice-pulse-4a1108f9{0%{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.attachment-tag-close[data-v-4a1108f9]{color:var(--kobo-danger);opacity:.7}.attachment-tag-close[data-v-4a1108f9]:hover{opacity:1}.latest-thinking-panel[data-v-680337f1]{border-top:1px solid #ffffff0f}.permission-request-panel[data-v-7fa3c38b]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14}.permission-request-panel.collapsed .row[data-v-7fa3c38b]{margin-bottom:0}.permission-input-pre[data-v-7fa3c38b]{white-space:pre-wrap;word-break:break-word;background:#00000059;border-radius:4px;max-height:30vh;margin:0;padding:.5em .75em;font-size:12px;overflow-y:auto}.permission-file-path[data-v-7fa3c38b]{font-family:var(--kobo-font-mono);color:var(--kobo-text-2);word-break:break-all;margin-bottom:.4em;font-size:12px}.session-progress[data-v-79001747]{border-top:1px solid var(--kobo-border-subtle);min-width:0;padding:var(--kobo-space-xs) var(--kobo-space-sm);color:var(--kobo-text-2);background:var(--kobo-bg);flex:none;font-size:13px}.progress-rows[data-v-79001747]{overscroll-behavior:contain;max-height:min(30vh,240px);overflow-y:auto}.progress-row[data-v-79001747]{align-items:center;gap:var(--kobo-space-sm);padding:var(--kobo-space-xs) 0;display:flex}.progress-row+.progress-row[data-v-79001747]{border-top:1px solid var(--kobo-border-subtle)}.progress-content[data-v-79001747]{flex:1;min-width:0}.progress-heading[data-v-79001747]{gap:var(--kobo-space-xs) var(--kobo-space-sm);flex-wrap:wrap;display:flex}.progress-label[data-v-79001747]{overflow-wrap:anywhere;color:var(--kobo-text);font-weight:500}.progress-status[data-v-79001747]{color:var(--kobo-text-3);margin-left:auto}.progress-step[data-v-79001747]{overflow-wrap:anywhere;color:var(--kobo-text-3)}.progress-meter-row[data-v-79001747]{align-items:center;gap:var(--kobo-space-sm);margin-top:var(--kobo-space-xs);display:flex}.progress-track[data-v-79001747]{height:var(--kobo-space-xs);background:var(--kobo-border);flex:1;overflow:hidden}.progress-track.indeterminate[data-v-79001747]{border:1px solid var(--kobo-text-3);background:var(--kobo-surface-2)}.progress-fill[data-v-79001747]{background:var(--kobo-text-2);height:100%}.progress-values[data-v-79001747]{font-variant-numeric:tabular-nums;font-size:12px}[data-status=succeeded] .progress-status[data-v-79001747]{color:var(--kobo-success)}[data-status=failed] .progress-status[data-v-79001747]{color:var(--kobo-danger)}[data-status=interrupted] .progress-status[data-v-79001747]{color:var(--kobo-warning)}.progress-dismiss[data-v-79001747],.progress-overflow[data-v-79001747]{font:inherit;color:var(--kobo-text-2);border-radius:var(--kobo-radius-sm);cursor:pointer;background:0 0;border:0}.progress-dismiss[data-v-79001747]:hover,.progress-overflow[data-v-79001747]:hover{background:var(--kobo-hover)}:is(.progress-dismiss[data-v-79001747]:focus-visible,.progress-overflow[data-v-79001747]:focus-visible){outline:2px solid var(--kobo-accent);outline-offset:-2px}.progress-dismiss[data-v-79001747]{flex:0 0 44px;place-items:center;width:44px;min-height:44px;display:grid}.progress-dismiss .material-icons[data-v-79001747]{font-size:16px}.progress-overflow[data-v-79001747]{min-height:44px;padding:var(--kobo-space-xs) var(--kobo-space-sm);overflow-wrap:anywhere;max-width:100%}.progress-error[data-v-79001747]{color:var(--kobo-danger);overflow-wrap:anywhere}.progress-announcement[data-v-79001747]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.history-results[data-v-b57fddbc]{border:1px solid var(--kobo-border);background:var(--kobo-bg-deep);max-height:360px;overflow-y:auto}.history-result[data-v-b57fddbc]{border-left:2px solid #0000;min-height:62px;padding:9px 12px}.history-result+.history-result[data-v-b57fddbc]{border-top:1px solid #ffffff0f}.history-result[data-v-b57fddbc]:hover{border-left-color:var(--kobo-accent);background:#818cf81a}.history-result-avatar[data-v-b57fddbc]{min-width:32px;padding-right:4px}.history-result-snippet[data-v-b57fddbc]{color:var(--kobo-text-2);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.whip-overlay{z-index:10000;cursor:none;touch-action:none;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}.whip-canvas{display:block}.wp-title[data-v-4bc5c8fa]{flex:1 1 0;justify-content:flex-start;min-width:0}.wp-title[data-v-4bc5c8fa] .q-btn__content{flex-wrap:nowrap;justify-content:flex-start;min-width:0}.wp-status[data-v-4bc5c8fa],.wp-configure[data-v-4bc5c8fa]{white-space:nowrap;flex-shrink:0}.wp-status[data-v-4bc5c8fa],.wp-active-model[data-v-4bc5c8fa]{font-size:10px}.wp-active-model[data-v-4bc5c8fa]{min-width:0;max-width:180px}.wp-toolbar-menu[data-v-4bc5c8fa]{width:300px;max-width:calc(100vw - 24px)}.wp-header>.q-btn[data-v-4bc5c8fa]{flex-shrink:0}.wp-header>.wp-title[data-v-4bc5c8fa]{flex-shrink:1}.wp-header[data-v-4bc5c8fa]{background-color:var(--kobo-bg-deep);border-bottom:1px solid var(--kobo-border-subtle);min-height:48px}.command-palette-card[data-v-4bc5c8fa]{width:min(520px,100vw - 32px)}.palette-hint[data-v-4bc5c8fa]{font-family:var(--kobo-font-mono);color:var(--kobo-text-3);font-size:11px}.palette-shortcut-hint[data-v-4bc5c8fa]{font-family:var(--kobo-font-mono);color:var(--kobo-text-3);background-color:var(--kobo-surface-2);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-sm);font-size:11px}.wp-archived-banner[data-v-4bc5c8fa]{background-color:#ffffff08;border-bottom:1px solid #ffffff0f}.wp-purged-banner[data-v-4bc5c8fa]{background-color:#f59e0b14;border-bottom:1px solid #f59e0b2e}.wp-pending-prompt-banner[data-v-4bc5c8fa]{background-color:#f59e0b14;border-bottom:1px solid #f59e0b26}
|
|
1
|
+
.markdown-thinking[data-v-c2dfdaf1] p{margin:0 0 .4em}.markdown-thinking[data-v-c2dfdaf1] p:last-child{margin-bottom:0}.markdown-thinking[data-v-c2dfdaf1] code{background:#ffffff14;border-radius:3px;padding:.1em .3em}.thinking-expansion[data-v-c2dfdaf1] .q-item__section--side{margin-left:auto}.thinking-inline[data-v-c2dfdaf1]{min-height:20px;line-height:20px}.ask-user-question-panel[data-v-33b0d3cb]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;max-height:38vh;overflow-y:auto}.ask-user-question-panel.collapsed[data-v-33b0d3cb]{max-height:none;overflow-y:visible}.ask-user-question-panel.collapsed .row[data-v-33b0d3cb]{margin-bottom:0}.aukq-stepper[data-v-33b0d3cb] .q-stepper__header{min-height:56px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__tab{padding:8px 12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__title{white-space:nowrap;font-size:12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__caption{display:none}.aukq-stepper[data-v-33b0d3cb] .q-stepper__step-inner{padding:12px}.aukq-stepper[data-v-33b0d3cb] .q-stepper__nav{padding-top:8px}.aukq-options[data-v-33b0d3cb]{margin-bottom:4px}.auto-loop-panel[data-v-e4848b57]{padding:var(--kobo-space-sm);color:var(--kobo-text-2);border-bottom:1px solid var(--kobo-border-subtle)}.auto-loop-panel__heading[data-v-e4848b57],.auto-loop-panel__status[data-v-e4848b57],.auto-loop-panel__actions[data-v-e4848b57]{align-items:center;gap:var(--kobo-space-sm);flex-wrap:wrap;display:flex}.auto-loop-panel__heading[data-v-e4848b57]{justify-content:space-between}.auto-loop-panel__status--blocked[data-v-e4848b57]{color:var(--kobo-warning)}.auto-loop-panel__detail[data-v-e4848b57]{margin:var(--kobo-space-xs) 0}.auto-loop-panel__error[data-v-e4848b57]{color:var(--kobo-danger);margin:var(--kobo-space-xs) 0}.auto-loop-panel__messages[data-v-e4848b57]{margin-top:var(--kobo-space-sm)}.auto-loop-panel__messages summary[data-v-e4848b57]{cursor:pointer}.auto-loop-panel__messages ol[data-v-e4848b57]{margin:var(--kobo-space-sm) 0;padding-left:var(--kobo-space-xl);max-height:calc(var(--kobo-space-4xl) * 4);overflow-y:auto}.auto-loop-panel__messages li+li[data-v-e4848b57]{margin-top:var(--kobo-space-sm)}.auto-loop-panel__message-state[data-v-e4848b57]{color:var(--kobo-text-3)}.auto-loop-panel__content[data-v-e4848b57]{margin:var(--kobo-space-xs) 0;white-space:pre-wrap;overflow-wrap:anywhere}.quota-footer[data-v-cb0734fe]{white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.quota-bucket-compact[data-v-cb0734fe]{align-items:center;gap:.3rem;display:inline-flex}.bucket-pct[data-v-cb0734fe]{font-variant-numeric:tabular-nums}.quota-bar[data-v-cb0734fe]{border:1px solid var(--kobo-border-strong);border-radius:4px;width:48px;height:7px}.full-bar[data-v-cb0734fe]{border-radius:3px;height:6px}.quota-menu[data-v-cb0734fe]{min-width:240px}.review-return-panel[data-v-582748c8]{padding:var(--kobo-space-sm);color:var(--kobo-text-2);border-bottom:1px solid var(--kobo-border-subtle)}.review-return-panel p[data-v-582748c8]{margin:var(--kobo-space-xs) 0}.review-return-panel__actions[data-v-582748c8]{gap:var(--kobo-space-sm);flex-wrap:wrap;display:flex}.review-return-panel__error[data-v-582748c8]{color:var(--kobo-danger)}.chat-input-container[data-v-4a1108f9]{background-color:var(--kobo-bg-deep);border-top:1px solid var(--kobo-border-subtle);min-height:48px;position:relative}.chat-input-container.chat-input-dragging[data-v-4a1108f9]{outline:2px dashed var(--kobo-accent);outline-offset:-2px}.chat-input[data-v-4a1108f9]{background-color:var(--kobo-surface);padding:4px 12px}.chat-input[data-v-4a1108f9] .q-field__control{min-height:32px}.chat-input[data-v-4a1108f9] textarea,.chat-input[data-v-4a1108f9] input{color:var(--kobo-text-2);font-size:13px}.chat-slash-popup[data-v-4a1108f9]{z-index:9999;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px}.chat-file-popup[data-v-4a1108f9]{background-color:var(--kobo-surface);border:1px solid #ffffff1a;border-radius:6px;max-height:300px;overflow-y:auto}.chat-file-popup .chat-file-path[data-v-4a1108f9]{font-family:var(--kobo-font-mono);word-break:break-all;font-size:12px}.chat-file-popup .chat-file-item--active[data-v-4a1108f9]{background-color:#665fdd26}.attachment-tag[data-v-4a1108f9]{font-family:var(--kobo-font-mono);font-size:12px;line-height:1}.attachment-tag--uploading[data-v-4a1108f9]{background-color:var(--kobo-hover);border:1px solid var(--kobo-border);color:var(--kobo-text-3)}.attachment-tag--ready[data-v-4a1108f9]{color:var(--kobo-success);background-color:#34d3991f;border:1px solid #34d39959}.attachment-tag--error[data-v-4a1108f9]{color:var(--kobo-danger);background-color:#f871711f;border:1px solid #f8717159}.attachment-tag-label[data-v-4a1108f9]{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.chat-hint[data-v-4a1108f9]{text-align:left;min-width:0;padding:2px 4px 0;font-size:10px}.chat-hint__shortcuts[data-v-4a1108f9]{flex:auto;min-width:0;overflow:hidden}.chat-hint__primary[data-v-4a1108f9]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-hint__status[data-v-4a1108f9],.chat-hint__interrupt[data-v-4a1108f9]{flex:none}.chat-hint kbd[data-v-4a1108f9]{background-color:var(--kobo-hover);font-family:var(--kobo-font-mono);border-radius:3px;padding:1px 4px;font-size:9px}.chat-shortcuts-menu[data-v-4a1108f9]{min-width:190px;font-size:12px}.queue-banner[data-v-4a1108f9]{background-color:#fbbf241f;border-bottom:1px solid #fbbf2459}.autoloop-banner[data-v-4a1108f9]{background-color:var(--kobo-surface-2);border-top:1px solid #665fdd66;border-bottom:1px solid #665fdd66}.voice-btn--recording[data-v-4a1108f9]{animation:1.1s ease-in-out infinite voice-pulse-4a1108f9}@keyframes voice-pulse-4a1108f9{0%{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.attachment-tag-close[data-v-4a1108f9]{color:var(--kobo-danger);opacity:.7}.attachment-tag-close[data-v-4a1108f9]:hover{opacity:1}.latest-thinking-panel[data-v-680337f1]{border-top:1px solid #ffffff0f}.permission-request-panel[data-v-7fa3c38b]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14}.permission-request-panel.collapsed .row[data-v-7fa3c38b]{margin-bottom:0}.permission-input-pre[data-v-7fa3c38b]{white-space:pre-wrap;word-break:break-word;background:#00000059;border-radius:4px;max-height:30vh;margin:0;padding:.5em .75em;font-size:12px;overflow-y:auto}.permission-file-path[data-v-7fa3c38b]{font-family:var(--kobo-font-mono);color:var(--kobo-text-2);word-break:break-all;margin-bottom:.4em;font-size:12px}.session-progress[data-v-0f3e43f1]{border-top:1px solid var(--kobo-border-subtle);min-width:0;padding:var(--kobo-space-xs) var(--kobo-space-sm);color:var(--kobo-text-2);background:var(--kobo-bg);flex:none;font-size:13px}.progress-rows[data-v-0f3e43f1]{overscroll-behavior:contain;max-height:min(30vh,240px);overflow-y:auto}.progress-row[data-v-0f3e43f1]{align-items:center;gap:var(--kobo-space-sm);padding:var(--kobo-space-xs) 0;display:flex}.progress-row+.progress-row[data-v-0f3e43f1]{border-top:1px solid var(--kobo-border-subtle)}.progress-content[data-v-0f3e43f1]{flex:1;min-width:0}.progress-heading[data-v-0f3e43f1]{gap:var(--kobo-space-xs) var(--kobo-space-sm);flex-wrap:wrap;display:flex}.progress-label[data-v-0f3e43f1]{overflow-wrap:anywhere;color:var(--kobo-text);font-weight:500}.progress-status[data-v-0f3e43f1]{color:var(--kobo-text-3);margin-left:auto}.progress-step[data-v-0f3e43f1]{overflow-wrap:anywhere;color:var(--kobo-text-3)}.progress-meter-row[data-v-0f3e43f1]{align-items:center;gap:var(--kobo-space-sm);margin-top:var(--kobo-space-xs);display:flex}.progress-track[data-v-0f3e43f1]{height:var(--kobo-space-xs);background:var(--kobo-border);flex:1;overflow:hidden}.progress-track.indeterminate[data-v-0f3e43f1]{border:1px solid var(--kobo-text-3);background:var(--kobo-surface-2)}.progress-fill[data-v-0f3e43f1]{background:var(--kobo-text-2);height:100%}.progress-values[data-v-0f3e43f1]{font-variant-numeric:tabular-nums;font-size:12px}[data-status=succeeded] .progress-status[data-v-0f3e43f1]{color:var(--kobo-success)}[data-status=failed] .progress-status[data-v-0f3e43f1]{color:var(--kobo-danger)}[data-status=interrupted] .progress-status[data-v-0f3e43f1]{color:var(--kobo-warning)}.progress-dismiss[data-v-0f3e43f1],.progress-overflow[data-v-0f3e43f1]{font:inherit;color:var(--kobo-text-2);border-radius:var(--kobo-radius-sm);cursor:pointer;background:0 0;border:0}.progress-dismiss[data-v-0f3e43f1]:hover,.progress-overflow[data-v-0f3e43f1]:hover{background:var(--kobo-hover)}:is(.progress-dismiss[data-v-0f3e43f1]:focus-visible,.progress-overflow[data-v-0f3e43f1]:focus-visible){outline:2px solid var(--kobo-accent);outline-offset:-2px}.progress-dismiss[data-v-0f3e43f1]{flex:0 0 44px;place-items:center;width:44px;min-height:44px;display:grid}.progress-dismiss .material-icons[data-v-0f3e43f1]{font-size:16px}.progress-overflow[data-v-0f3e43f1]{min-height:44px;padding:var(--kobo-space-xs) var(--kobo-space-sm);overflow-wrap:anywhere;max-width:100%}.progress-error[data-v-0f3e43f1]{color:var(--kobo-danger);overflow-wrap:anywhere}.progress-announcement[data-v-0f3e43f1]{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.history-results[data-v-b57fddbc]{border:1px solid var(--kobo-border);background:var(--kobo-bg-deep);max-height:360px;overflow-y:auto}.history-result[data-v-b57fddbc]{border-left:2px solid #0000;min-height:62px;padding:9px 12px}.history-result+.history-result[data-v-b57fddbc]{border-top:1px solid #ffffff0f}.history-result[data-v-b57fddbc]:hover{border-left-color:var(--kobo-accent);background:#818cf81a}.history-result-avatar[data-v-b57fddbc]{min-width:32px;padding-right:4px}.history-result-snippet[data-v-b57fddbc]{color:var(--kobo-text-2);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.whip-overlay{z-index:10000;cursor:none;touch-action:none;width:100vw;height:100vh;position:fixed;top:0;bottom:0;left:0;right:0}.whip-canvas{display:block}.wp-title[data-v-4bc5c8fa]{flex:1 1 0;justify-content:flex-start;min-width:0}.wp-title[data-v-4bc5c8fa] .q-btn__content{flex-wrap:nowrap;justify-content:flex-start;min-width:0}.wp-status[data-v-4bc5c8fa],.wp-configure[data-v-4bc5c8fa]{white-space:nowrap;flex-shrink:0}.wp-status[data-v-4bc5c8fa],.wp-active-model[data-v-4bc5c8fa]{font-size:10px}.wp-active-model[data-v-4bc5c8fa]{min-width:0;max-width:180px}.wp-toolbar-menu[data-v-4bc5c8fa]{width:300px;max-width:calc(100vw - 24px)}.wp-header>.q-btn[data-v-4bc5c8fa]{flex-shrink:0}.wp-header>.wp-title[data-v-4bc5c8fa]{flex-shrink:1}.wp-header[data-v-4bc5c8fa]{background-color:var(--kobo-bg-deep);border-bottom:1px solid var(--kobo-border-subtle);min-height:48px}.command-palette-card[data-v-4bc5c8fa]{width:min(520px,100vw - 32px)}.palette-hint[data-v-4bc5c8fa]{font-family:var(--kobo-font-mono);color:var(--kobo-text-3);font-size:11px}.palette-shortcut-hint[data-v-4bc5c8fa]{font-family:var(--kobo-font-mono);color:var(--kobo-text-3);background-color:var(--kobo-surface-2);border:1px solid var(--kobo-border-subtle);border-radius:var(--kobo-radius-sm);font-size:11px}.wp-archived-banner[data-v-4bc5c8fa]{background-color:#ffffff08;border-bottom:1px solid #ffffff0f}.wp-purged-banner[data-v-4bc5c8fa]{background-color:#f59e0b14;border-bottom:1px solid #f59e0b2e}.wp-pending-prompt-banner[data-v-4bc5c8fa]{background-color:#f59e0b14;border-bottom:1px solid #f59e0b26}
|