@loicngr/kobo 1.7.7 → 1.7.9
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 +29 -0
- package/README.md +62 -4
- package/dist/mcp-server/kobo-tasks-server.js +27 -0
- package/dist/server/routes/health.js +14 -0
- package/dist/server/routes/workspaces.js +60 -16
- package/dist/server/services/agent/engines/claude-code/capabilities.js +7 -0
- package/dist/server/services/agent/engines/codex/capabilities.js +18 -0
- package/dist/server/services/agent/engines/codex/client.js +36 -0
- package/dist/server/services/agent/engines/codex/engine.js +276 -0
- package/dist/server/services/agent/engines/codex/event-mapper.js +473 -0
- package/dist/server/services/agent/engines/codex/jsonrpc/peer.js +60 -0
- package/dist/server/services/agent/engines/codex/jsonrpc/transport.js +31 -0
- package/dist/server/services/agent/engines/codex/options-builder.js +81 -0
- package/dist/server/services/agent/engines/codex/protocol/types.js +11 -0
- package/dist/server/services/agent/engines/codex/server-requests.js +99 -0
- package/dist/server/services/agent/engines/codex/spawn.js +27 -0
- package/dist/server/services/agent/engines/registry.js +2 -0
- package/dist/server/services/agent/orchestrator.js +1 -1
- package/dist/server/services/auto-loop-service.js +16 -2
- package/dist/server/services/pr-watcher-service.js +84 -33
- package/dist/server/services/review-template-service.js +24 -31
- package/dist/server/services/settings-service.js +140 -6
- package/dist/server/services/skill-suite-prompts.js +80 -0
- package/dist/server/utils/git-ops.js +69 -15
- package/dist/server/utils/paths.js +7 -0
- package/dist/shared/auto-loop-prompts.js +18 -1
- package/dist/shared/codex-models.js +43 -0
- package/dist/shared/project-colors.js +23 -0
- package/dist/shared/skill-suite-prompts.js +66 -0
- package/package.json +2 -1
- package/src/client/dist/spa/assets/ActivityFeed-CKjFT9t6.js +8 -0
- package/src/client/dist/spa/assets/{ActivityFeed-tE4LVYck.css → ActivityFeed-WjiQ9716.css} +1 -1
- package/src/client/dist/spa/assets/{ClosePopup-DTcbxsC0.js → ClosePopup-DMnQG6nw.js} +1 -1
- package/src/client/dist/spa/assets/CreatePage-BhFrUkEN.js +2 -0
- package/src/client/dist/spa/assets/CreatePage-ZyBHUbl0.css +1 -0
- package/src/client/dist/spa/assets/{DiffViewer-D-uNbBq0.js → DiffViewer-BSnvba7W.js} +3 -3
- package/src/client/dist/spa/assets/HealthPage-DZYZWGHp.js +1 -0
- package/src/client/dist/spa/assets/MainLayout-C45J7rSF.css +1 -0
- package/src/client/dist/spa/assets/MainLayout-CMuiNpet.js +37 -0
- package/src/client/dist/spa/assets/QChip-BgzxI33B.js +36 -0
- package/src/client/dist/spa/assets/{QExpansionItem-BGg74no1.js → QExpansionItem-Fij7yBbG.js} +1 -1
- package/src/client/dist/spa/assets/{QItemSection-CQUDd0Vg.js → QItemSection-Bz1ZDJO5.js} +1 -1
- package/src/client/dist/spa/assets/{QMenu-D6uqosRg.js → QMenu-CMoolewZ.js} +1 -1
- package/src/client/dist/spa/assets/QRadio-4HnR_A-K.js +1 -0
- package/src/client/dist/spa/assets/{QTooltip-DUGPNNeQ.js → QTooltip-CbLXk2Bs.js} +1 -1
- package/src/client/dist/spa/assets/{SearchPage-C07dgzT9.js → SearchPage-CBSgEvVF.js} +1 -1
- package/src/client/dist/spa/assets/SettingsPage-C7TkcKXU.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-pY-zbPxn.js +9 -0
- package/src/client/dist/spa/assets/{TouchPan-DvVlszwO.js → TouchPan-DiBNjOPH.js} +1 -1
- package/src/client/dist/spa/assets/{WorkspacePage-CRIcsASQ.css → WorkspacePage-B4YnZ6re.css} +1 -1
- package/src/client/dist/spa/assets/WorkspacePage-BTHvQga-.js +4 -0
- package/src/client/dist/spa/assets/{build-path-tree-CCMckvpr.js → build-path-tree-BmBqRiCQ.js} +1 -1
- package/src/client/dist/spa/assets/{cssMode-D6XTTdwy.js → cssMode-ypFF7quM.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-6hDVHddO.js → editor.api-DtpZuH_B.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-DsLU1RWu.js → editor.main-C7a7L2WP.js} +3 -3
- package/src/client/dist/spa/assets/{AutoLoopChip-CkSzkC0C.js → engineFeatures-BxAOQcPU.js} +1 -1
- package/src/client/dist/spa/assets/{expand-template-Crz1uiBt.js → expand-template-GaEux9_o.js} +1 -1
- package/src/client/dist/spa/assets/{formatters-guwb-rzl.js → formatters-h0XBETG5.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-Bn1f0t2U.js → freemarker2-DUBmhe3W.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-O92Cbq66.js → handlebars-_XEXkADl.js} +1 -1
- package/src/client/dist/spa/assets/{html-Ck95BMBU.js → html-D8gmyhgI.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-DDYhH2FJ.js → htmlMode-B84S5YOM.js} +1 -1
- package/src/client/dist/spa/assets/i18n-DLoe3l25.js +1 -0
- package/src/client/dist/spa/assets/index-Dx_W9yYo.js +2 -0
- package/src/client/dist/spa/assets/{javascript-Cy2ddqHg.js → javascript-500DcdS9.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-BIfVcp5z.js → jsonMode-DmrWg6b7.js} +1 -1
- package/src/client/dist/spa/assets/kobo-commands-DCoQW_NQ.js +9 -0
- package/src/client/dist/spa/assets/{liquid-B287eegh.js → liquid-CfPJszlt.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-B8HSzGai.js → mdx-DtjLwENT.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-CofcHzEf.js → monaco.contribution-CxiO5UJd.js} +2 -2
- package/src/client/dist/spa/assets/{notifications-BPnKFW60.js → notifications-CEyiPnmw.js} +1 -1
- package/src/client/dist/spa/assets/permissionModes-CPZlEHoF.js +1 -0
- package/src/client/dist/spa/assets/project-color-C4vMEn4C.js +1 -0
- package/src/client/dist/spa/assets/{purify.es-BCEwTYRx.js → purify.es-C92_EGvT.js} +1 -1
- package/src/client/dist/spa/assets/{python-csaKR6_U.js → python-BS46_AMt.js} +1 -1
- package/src/client/dist/spa/assets/{razor-C2wEv-nX.js → razor-Ce9zcIFo.js} +1 -1
- package/src/client/dist/spa/assets/{render-chat-markdown-Bjcei0vn.js → render-chat-markdown-BvJwlMiW.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-DGLVs57K.js → tsMode-Cr9FJjYY.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-w0GWHzZ3.js → typescript-Ov3wChBg.js} +1 -1
- package/src/client/dist/spa/assets/{use-panel-CbJ44rqY.js → use-panel-lBh91vcW.js} +1 -1
- package/src/client/dist/spa/assets/{xml-CTn-vnEd.js → xml-euA4jBI1.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-CTyUSvLZ.js → yaml-BuPSq_BT.js} +1 -1
- package/src/client/dist/spa/index.html +5 -5
- package/src/mcp-server/kobo-tasks-server.ts +27 -0
- package/src/client/dist/spa/assets/ActivityFeed-DlPVoOGb.js +0 -7
- package/src/client/dist/spa/assets/CreatePage-BoRappO3.css +0 -1
- package/src/client/dist/spa/assets/CreatePage-DpCVNwYk.js +0 -2
- package/src/client/dist/spa/assets/HealthPage-xZ0PP4F-.js +0 -1
- package/src/client/dist/spa/assets/MainLayout-DdkKM2ba.js +0 -37
- package/src/client/dist/spa/assets/MainLayout-drolsINz.css +0 -1
- package/src/client/dist/spa/assets/QChip-erWIZgxW.js +0 -1
- package/src/client/dist/spa/assets/QRadio-DJxOyOA3.js +0 -1
- package/src/client/dist/spa/assets/QTabPanels-ClPY9y4T.js +0 -1
- package/src/client/dist/spa/assets/SettingsPage-CLNmI0Rr.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-D0CZNqkA.js +0 -9
- package/src/client/dist/spa/assets/WorkspacePage-CKeCLPi0.js +0 -4
- package/src/client/dist/spa/assets/i18n-BLgknHpf.js +0 -1
- package/src/client/dist/spa/assets/index-CdHDdk1y.js +0 -2
- package/src/client/dist/spa/assets/kobo-commands-w8VepGvD.js +0 -11
- package/src/client/dist/spa/assets/models-Bd_v3W7Q.js +0 -1
- /package/src/client/dist/spa/assets/{QBtn-DEuWKHbR.js → QBtn-CaJSOyt8.js} +0 -0
- /package/src/client/dist/spa/assets/{vue-i18n-DI-gS-CC.js → vue-i18n-CKCtKE87.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as e,H as t,Q as n,S as r,W as i,j as a,k as o,l as s,y as c}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{P as l,a as u,n as d,r as f}from"./QIcon-qfJNZLIW.js";import{u as p}from"./use-id-_7wiRcgb.js";import{b as m,y as h}from"./notifications-
|
|
1
|
+
import{D as e,H as t,Q as n,S as r,W as i,j as a,k as o,l as s,y as c}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{P as l,a as u,n as d,r as f}from"./QIcon-qfJNZLIW.js";import{u as p}from"./use-id-_7wiRcgb.js";import{b as m,y as h}from"./notifications-CEyiPnmw.js";import{d as g}from"./QTooltip-CbLXk2Bs.js";import{n as _,t as v}from"./TouchPan-DiBNjOPH.js";import{n as y,r as b,t as x}from"./purify.es-C92_EGvT.js";var S=l({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[r(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),r(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),i(r(`div`,{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":`true`}),e.store.thumbVertDir),i(r(`div`,{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":`true`}),e.store.thumbHorizDir)]}}),C=[`vertical`,`horizontal`],w={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},T={prevent:!0,mouse:!0,mouseAllDir:!0},E=e=>e>=250?50:Math.ceil(e/5),D=l({name:`QScrollArea`,props:{...f,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(i,{slots:l,emit:f}){let y=n(!1),x=n(!1),D=n(!1),O={vertical:n(0),horizontal:n(0)},k={vertical:{ref:n(null),position:n(0),size:n(0)},horizontal:{ref:n(null),position:n(0),size:n(0)}},{proxy:A}=c(),j=d(i,A.$q),M=null,N,P=n(null),F=s(()=>`q-scrollarea`+(j.value===!0?` q-scrollarea--dark`:``));Object.assign(O,{verticalInner:s(()=>O.vertical.value-i.verticalOffset[0]-i.verticalOffset[1]),horizontalInner:s(()=>O.horizontal.value-i.horizontalOffset[0]-i.horizontalOffset[1])}),k.vertical.percentage=s(()=>{let e=k.vertical.size.value-O.vertical.value;if(e<=0)return 0;let t=g(k.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),k.vertical.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&y.value===!1&&x.value===!1||k.vertical.size.value<=O.vertical.value+1),k.vertical.thumbStart=s(()=>i.verticalOffset[0]+k.vertical.percentage.value*(O.verticalInner.value-k.vertical.thumbSize.value)),k.vertical.thumbSize=s(()=>Math.round(g(O.verticalInner.value*O.verticalInner.value/k.vertical.size.value,E(O.verticalInner.value),O.verticalInner.value))),k.vertical.style=s(()=>({...i.thumbStyle,...i.verticalThumbStyle,top:`${k.vertical.thumbStart.value}px`,height:`${k.vertical.thumbSize.value}px`,right:`${i.horizontalOffset[1]}px`})),k.vertical.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.vertical.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``)),k.horizontal.percentage=s(()=>{let e=k.horizontal.size.value-O.horizontal.value;if(e<=0)return 0;let t=g(Math.abs(k.horizontal.position.value)/e,0,1);return Math.round(t*1e4)/1e4}),k.horizontal.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&y.value===!1&&x.value===!1||k.horizontal.size.value<=O.horizontal.value+1),k.horizontal.thumbStart=s(()=>i.horizontalOffset[0]+k.horizontal.percentage.value*(O.horizontalInner.value-k.horizontal.thumbSize.value)),k.horizontal.thumbSize=s(()=>Math.round(g(O.horizontalInner.value*O.horizontalInner.value/k.horizontal.size.value,E(O.horizontalInner.value),O.horizontalInner.value))),k.horizontal.style=s(()=>({...i.thumbStyle,...i.horizontalThumbStyle,[A.$q.lang.rtl===!0?`right`:`left`]:`${k.horizontal.thumbStart.value}px`,width:`${k.horizontal.thumbSize.value}px`,bottom:`${i.verticalOffset[1]}px`})),k.horizontal.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.horizontal.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``));let I=s(()=>k.vertical.thumbHidden.value===!0&&k.horizontal.thumbHidden.value===!0?i.contentStyle:i.contentActiveStyle);function L(){let e={};return C.forEach(t=>{let n=k[t];Object.assign(e,{[t+`Position`]:n.position.value,[t+`Percentage`]:n.percentage.value,[t+`Size`]:n.size.value,[t+`ContainerSize`]:O[t].value,[t+`ContainerInnerSize`]:O[t+`Inner`].value})}),e}let R=p(()=>{let e=L();e.ref=A,f(`scroll`,e)},0);function z(e,t,n){if(C.includes(e)===!1){console.error(`[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)`);return}(e===`vertical`?m:h)(P.value,t,n)}function B({height:e,width:t}){let n=!1;O.vertical.value!==e&&(O.vertical.value=e,n=!0),O.horizontal.value!==t&&(O.horizontal.value=t,n=!0),n===!0&&G()}function V({position:e}){let t=!1;k.vertical.position.value!==e.top&&(k.vertical.position.value=e.top,t=!0),k.horizontal.position.value!==e.left&&(k.horizontal.position.value=e.left,t=!0),t===!0&&G()}function H({height:e,width:t}){k.horizontal.size.value!==t&&(k.horizontal.size.value=t,G()),k.vertical.size.value!==e&&(k.vertical.size.value=e,G())}function U(e,t){let n=k[t];if(e.isFirst===!0){if(n.thumbHidden.value===!0)return;N=n.position.value,x.value=!0}else if(x.value!==!0)return;e.isFinal===!0&&(x.value=!1);let r=w[t],i=(n.size.value-O[t].value)/(O[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist];K(N+(e.direction===r.dir?1:-1)*a*i,t)}function W(e,t){let n=k[t];if(n.thumbHidden.value!==!0){let r=t===`vertical`?i.verticalOffset[0]:i.horizontalOffset[0],a=e[w[t].offset]-r,o=n.thumbStart.value-r;(a<o||a>o+n.thumbSize.value)&&K(g((a-n.thumbSize.value/2)/(O[t+`Inner`].value-n.thumbSize.value),0,1)*Math.max(0,n.size.value-O[t].value),t),n.ref.value!==null&&n.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function G(){y.value=!0,M!==null&&clearTimeout(M),M=setTimeout(()=>{M=null,y.value=!1},i.delay),i.onScroll!==void 0&&R()}function K(e,t){P.value[w[t].scroll]=e}let q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,D.value=!0},A.$q.platform.is.ios?50:0)}function Y(){q!==null&&(clearTimeout(q),q=null),D.value=!1}let X=null;t(()=>A.$q.lang.rtl,e=>{P.value!==null&&h(P.value,Math.abs(k.horizontal.position.value)*(e===!0?-1:1))}),a(()=>{X={top:k.vertical.position.value,left:k.horizontal.position.value}}),e(()=>{if(X===null)return;let e=P.value;e!==null&&(h(e,X.left),m(e,X.top))}),o(R.cancel),Object.assign(A,{getScrollTarget:()=>P.value,getScroll:L,getScrollPosition:()=>({top:k.vertical.position.value,left:k.horizontal.position.value}),getScrollPercentage:()=>({top:k.vertical.percentage.value,left:k.horizontal.percentage.value}),setScrollPosition:z,setScrollPercentage(e,t,n){z(e,t*(k[e].size.value-O[e].value)*(e===`horizontal`&&A.$q.lang.rtl===!0?-1:1),n)}});let Z={scroll:k,thumbVertDir:[[v,e=>{U(e,`vertical`)},void 0,{vertical:!0,...T}]],thumbHorizDir:[[v,e=>{U(e,`horizontal`)},void 0,{horizontal:!0,...T}]],onVerticalMousedown(e){W(e,`vertical`)},onHorizontalMousedown(e){W(e,`horizontal`)}};return()=>r(`div`,{class:F.value,onMouseenter:J,onMouseleave:Y},[r(`div`,{ref:P,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:i.tabindex===void 0?void 0:i.tabindex},[r(`div`,{class:`q-scrollarea__content absolute`,style:I.value},u(l.default,[r(_,{debounce:0,onResize:H})])),r(b,{axis:`both`,onScroll:V})]),r(_,{debounce:0,onResize:B}),r(S,{store:Z,barStyle:i.barStyle,verticalBarStyle:i.verticalBarStyle,horizontalBarStyle:i.horizontalBarStyle})])}}),O=!1;function k(){O||=(x.addHook(`afterSanitizeAttributes`,e=>{if(e.nodeName===`A`){let t=e.getAttribute(`href`)??``;/^https?:\/\//i.test(t)&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer nofollow`))}}),!0)}k();function A(e,t={}){k();let n=y.parse(e,{async:!1,breaks:!0,gfm:!0});return x.sanitize(n,t.addAttr?{ADD_ATTR:t.addAttr}:void 0)}function j(e,t={}){return k(),x.sanitize(e,t.addAttr?{ADD_ATTR:t.addAttr}:void 0)}export{j as n,D as r,A as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-DtpZuH_B.js";import{t}from"./monaco.contribution-CxiO5UJd.js";var n,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},c=(e,t,n)=>(s(e,t,`default`),n&&s(n,t,`default`)),l={};c(l,e);function u(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var d=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:u(`defaultWorkerFactory`,{createScriptURL:e=>e});function f(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(d?d.createScriptURL(e):e,{name:t,type:`module`})}}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function p(e){let t=Promise.resolve(f({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return l.editor.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var m=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=p({moduleId:`vs/language/typescript/tsWorker`,label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(l.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},h={};h[`lib.d.ts`]=!0,h[`lib.decorators.d.ts`]=!0,h[`lib.decorators.legacy.d.ts`]=!0,h[`lib.dom.asynciterable.d.ts`]=!0,h[`lib.dom.d.ts`]=!0,h[`lib.dom.iterable.d.ts`]=!0,h[`lib.es2015.collection.d.ts`]=!0,h[`lib.es2015.core.d.ts`]=!0,h[`lib.es2015.d.ts`]=!0,h[`lib.es2015.generator.d.ts`]=!0,h[`lib.es2015.iterable.d.ts`]=!0,h[`lib.es2015.promise.d.ts`]=!0,h[`lib.es2015.proxy.d.ts`]=!0,h[`lib.es2015.reflect.d.ts`]=!0,h[`lib.es2015.symbol.d.ts`]=!0,h[`lib.es2015.symbol.wellknown.d.ts`]=!0,h[`lib.es2016.array.include.d.ts`]=!0,h[`lib.es2016.d.ts`]=!0,h[`lib.es2016.full.d.ts`]=!0,h[`lib.es2016.intl.d.ts`]=!0,h[`lib.es2017.d.ts`]=!0,h[`lib.es2017.date.d.ts`]=!0,h[`lib.es2017.full.d.ts`]=!0,h[`lib.es2017.intl.d.ts`]=!0,h[`lib.es2017.object.d.ts`]=!0,h[`lib.es2017.sharedmemory.d.ts`]=!0,h[`lib.es2017.string.d.ts`]=!0,h[`lib.es2017.typedarrays.d.ts`]=!0,h[`lib.es2018.asyncgenerator.d.ts`]=!0,h[`lib.es2018.asynciterable.d.ts`]=!0,h[`lib.es2018.d.ts`]=!0,h[`lib.es2018.full.d.ts`]=!0,h[`lib.es2018.intl.d.ts`]=!0,h[`lib.es2018.promise.d.ts`]=!0,h[`lib.es2018.regexp.d.ts`]=!0,h[`lib.es2019.array.d.ts`]=!0,h[`lib.es2019.d.ts`]=!0,h[`lib.es2019.full.d.ts`]=!0,h[`lib.es2019.intl.d.ts`]=!0,h[`lib.es2019.object.d.ts`]=!0,h[`lib.es2019.string.d.ts`]=!0,h[`lib.es2019.symbol.d.ts`]=!0,h[`lib.es2020.bigint.d.ts`]=!0,h[`lib.es2020.d.ts`]=!0,h[`lib.es2020.date.d.ts`]=!0,h[`lib.es2020.full.d.ts`]=!0,h[`lib.es2020.intl.d.ts`]=!0,h[`lib.es2020.number.d.ts`]=!0,h[`lib.es2020.promise.d.ts`]=!0,h[`lib.es2020.sharedmemory.d.ts`]=!0,h[`lib.es2020.string.d.ts`]=!0,h[`lib.es2020.symbol.wellknown.d.ts`]=!0,h[`lib.es2021.d.ts`]=!0,h[`lib.es2021.full.d.ts`]=!0,h[`lib.es2021.intl.d.ts`]=!0,h[`lib.es2021.promise.d.ts`]=!0,h[`lib.es2021.string.d.ts`]=!0,h[`lib.es2021.weakref.d.ts`]=!0,h[`lib.es2022.array.d.ts`]=!0,h[`lib.es2022.d.ts`]=!0,h[`lib.es2022.error.d.ts`]=!0,h[`lib.es2022.full.d.ts`]=!0,h[`lib.es2022.intl.d.ts`]=!0,h[`lib.es2022.object.d.ts`]=!0,h[`lib.es2022.regexp.d.ts`]=!0,h[`lib.es2022.sharedmemory.d.ts`]=!0,h[`lib.es2022.string.d.ts`]=!0,h[`lib.es2023.array.d.ts`]=!0,h[`lib.es2023.collection.d.ts`]=!0,h[`lib.es2023.d.ts`]=!0,h[`lib.es2023.full.d.ts`]=!0,h[`lib.es5.d.ts`]=!0,h[`lib.es6.d.ts`]=!0,h[`lib.esnext.collection.d.ts`]=!0,h[`lib.esnext.d.ts`]=!0,h[`lib.esnext.decorators.d.ts`]=!0,h[`lib.esnext.disposable.d.ts`]=!0,h[`lib.esnext.full.d.ts`]=!0,h[`lib.esnext.intl.d.ts`]=!0,h[`lib.esnext.object.d.ts`]=!0,h[`lib.esnext.promise.d.ts`]=!0,h[`lib.scripthost.d.ts`]=!0,h[`lib.webworker.asynciterable.d.ts`]=!0,h[`lib.webworker.d.ts`]=!0,h[`lib.webworker.importscripts.d.ts`]=!0,h[`lib.webworker.iterable.d.ts`]=!0;function g(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=g(i,t,n);return r}function _(e){return e?e.map(e=>e.text).join(``):``}var v=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},y=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!h[e.path.slice(1)]:!1}getOrCreateModel(e){let n=l.Uri.parse(e),r=l.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return l.editor.createModel(this._libFiles[n.path.slice(1)],`typescript`,n);let i=t.getExtraLibs()[e];return i?l.editor.createModel(i.content,`typescript`,n):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},b=class extends v{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():l.editor.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{l.editor.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(l.editor.onDidCreateModel(e=>i(e))),this._disposables.push(l.editor.onWillDisposeModel(a)),this._disposables.push(l.editor.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of l.editor.getModels())a(e)}});let o=()=>{for(let e of l.editor.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),l.editor.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?l.Uri.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&l.editor.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(l.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(l.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:g(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:g(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return l.MarkerSeverity.Error;case 3:return l.MarkerSeverity.Info;case 0:return l.MarkerSeverity.Warning;case 2:return l.MarkerSeverity.Hint}return l.MarkerSeverity.Info}},x=class e extends v{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new l.Range(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),u=await this._worker(s);if(t.isDisposed())return;let d=await u.getCompletionsAtPosition(s.toString(),c);if(!(!d||t.isDisposed()))return{suggestions:d.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new l.Range(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(l.languages.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:_(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case k.primitiveType:case k.keyword:return l.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return l.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return l.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return l.languages.CompletionItemKind.Function;case k.enum:return l.languages.CompletionItemKind.Enum;case k.module:return l.languages.CompletionItemKind.Module;case k.class:return l.languages.CompletionItemKind.Class;case k.interface:return l.languages.CompletionItemKind.Interface;case k.warning:return l.languages.CompletionItemKind.File}return l.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-DtpZuH_B.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],onEnterRules:[{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,afterText:/^\s*\*\/$/,action:{indentAction:s.languages.IndentAction.IndentOutdent,appendText:` * `}},{beforeText:/^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,action:{indentAction:s.languages.IndentAction.None,appendText:` * `}},{beforeText:/^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,action:{indentAction:s.languages.IndentAction.None,appendText:`* `}},{beforeText:/^(\t|(\ \ ))*\ \*\/\s*$/,action:{indentAction:s.languages.IndentAction.None,removeText:1}}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],folding:{markers:{start:RegExp(`^\\s*//\\s*#?region\\b`),end:RegExp(`^\\s*//\\s*#?endregion\\b`)}}},l={defaultToken:`invalid`,tokenPostfix:`.ts`,keywords:`abstract.any.as.asserts.bigint.boolean.break.case.catch.class.continue.const.constructor.debugger.declare.default.delete.do.else.enum.export.extends.false.finally.for.from.function.get.if.implements.import.in.infer.instanceof.interface.is.keyof.let.module.namespace.never.new.null.number.object.out.package.private.protected.public.override.readonly.require.global.return.satisfies.set.static.string.super.switch.symbol.this.throw.true.try.type.typeof.undefined.unique.unknown.var.void.while.with.yield.async.await.of`.split(`.`),operators:`<=.>=.==.!=.===.!==.=>.+.-.**.*./.%.++.--.<<.</.>>.>>>.&.|.^.!.~.&&.||.??.?.:.=.+=.-=.*=.**=./=.%=.<<=.>>=.>>>=.&=.|=.^=.@`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/#?[a-z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`],[/`/,`string`,`@string_backtick`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([dgimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],string_single:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]],string_backtick:[[/\$\{/,{token:`delimiter.bracket`,next:`@bracketCounting`}],[/[^\\`$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/`/,`string`,`@pop`]],bracketCounting:[[/\{/,`delimiter.bracket`,`@bracketCounting`],[/\}/,`delimiter.bracket`,`@pop`],{include:`common`}]}};export{c as conf,l as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{H as e,Q as t,S as n,i as r,l as i,y as a}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{C as o,E as s,F as c,N as l,O as u,R as d,j as f,k as p,s as m,w as h}from"./QIcon-qfJNZLIW.js";import{f as g}from"./use-id-_7wiRcgb.js";import{P as _}from"./notifications-
|
|
1
|
+
import{H as e,Q as t,S as n,i as r,l as i,y as a}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{C as o,E as s,F as c,N as l,O as u,R as d,j as f,k as p,s as m,w as h}from"./QIcon-qfJNZLIW.js";import{f as g}from"./use-id-_7wiRcgb.js";import{P as _}from"./notifications-CEyiPnmw.js";import{f as v}from"./QBtn-CaJSOyt8.js";import{p as y}from"./QTooltip-CbLXk2Bs.js";import{n as b,t as x}from"./touch-HRdTUO2o.js";function S(e){let t=[.06,6,50];return typeof e==`string`&&e.length&&e.split(`:`).forEach((e,n)=>{let r=parseFloat(e);r&&(t[n]=r)}),t}var C=c({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&g.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:S(n),direction:x(r),noop:u,mouseStart(e){b(e,a)&&s(e)&&(o(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(b(e,a)){let t=e.target;o(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){g.is.firefox===!0&&f(e,!0);let r=p(t);a.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(a.event===void 0)return;if(a.event.dir!==!1){l(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=p(e),r=n.left-a.event.x,i=Math.abs(r),o=n.top-a.event.y,s=Math.abs(o);if(a.event.mouse!==!0){if(i<a.sensitivity[1]&&s<a.sensitivity[1]){a.end(e);return}}else if(window.getSelection().toString()!==``){a.end(e);return}else if(i<a.sensitivity[2]&&s<a.sensitivity[2])return;let c=i/t,u=s/t;a.direction.vertical===!0&&i<s&&i<100&&u>a.sensitivity[0]&&(a.event.dir=o<0?`up`:`down`),a.direction.horizontal===!0&&i>s&&s<100&&c>a.sensitivity[0]&&(a.event.dir=r<0?`left`:`right`),a.direction.up===!0&&i<s&&o<0&&i<100&&u>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<s&&o>0&&i<100&&u>a.sensitivity[0]&&(a.event.dir=`down`),a.direction.left===!0&&i>s&&r<0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`left`),a.direction.right===!0&&i>s&&r>0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`right`),a.event.dir===!1?a.end(e):(l(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),y(),a.styleCleanup=e=>{a.styleCleanup=void 0,document.body.classList.remove(`non-selectable`);let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===!0?setTimeout(t,50):t()}),a.handler({evt:e,touch:a.event.mouse!==!0,mouse:a.event.mouse,direction:a.event.dir,duration:t,distance:{x:i,y:s}}))},end(t){a.event!==void 0&&(h(a,`temp`),g.is.firefox===!0&&f(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&l(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&o(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),g.has.touch===!0&&o(a,`main`,[[e,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchswipe;n!==void 0&&(t.oldValue!==t.value&&(typeof t.value!=`function`&&n.end(),n.handler=t.value),n.direction=x(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(h(t,`main`),h(t,`temp`),g.is.firefox===!0&&f(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function w(){let e=Object.create(null);return{getCache:(t,n)=>e[t]===void 0?e[t]=typeof n==`function`?n():n:e[t],setCache(t,n){e[t]=n},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t===void 0?e=Object.create(null):delete e[t]}}}var T={name:{required:!0},disable:Boolean},E={setup(e,{slots:t}){return()=>n(`div`,{class:`q-panel scroll`,role:`tabpanel`},m(t.default))}},D={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},O=[`update:modelValue`,`beforeTransition`,`transition`];function k(){let{props:o,emit:s,proxy:c}=a(),{getCache:l}=w(),{registerTimeout:u}=_(),f,p,h=t(null),g={value:null};function y(e){let t=o.vertical===!0?`up`:`left`;L((c.$q.lang.rtl===!0?-1:1)*(e.direction===t?1:-1))}let b=i(()=>[[C,y,void 0,{horizontal:o.vertical!==!0,vertical:o.vertical,mouse:!0}]]),x=i(()=>o.transitionPrev||`slide-${o.vertical===!0?`down`:`right`}`),S=i(()=>o.transitionNext||`slide-${o.vertical===!0?`up`:`left`}`),T=i(()=>`--q-transition-duration: ${o.transitionDuration}ms`),D=i(()=>typeof o.modelValue==`string`||typeof o.modelValue==`number`?o.modelValue:String(o.modelValue)),O=i(()=>({include:o.keepAliveInclude,exclude:o.keepAliveExclude,max:o.keepAliveMax})),k=i(()=>o.keepAliveInclude!==void 0||o.keepAliveExclude!==void 0);e(()=>o.modelValue,(e,t)=>{let n=N(e)===!0?P(e):-1;p!==!0&&I(n===-1?0:n<P(t)?-1:1),g.value!==n&&(g.value=n,s(`beforeTransition`,e,t),u(()=>{s(`transition`,e,t)},o.transitionDuration))});function A(){L(1)}function j(){L(-1)}function M(e){s(`update:modelValue`,e)}function N(e){return e!=null&&e!==``}function P(e){return f.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function F(){return f.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function I(e){let t=e!==0&&o.animated===!0&&g.value!==-1?`q-transition--`+(e===-1?x.value:S.value):null;h.value!==t&&(h.value=t)}function L(e,t=g.value){let n=t+e;for(;n!==-1&&n<f.length;){let t=f[n];if(t!==void 0&&t.props.disable!==``&&t.props.disable!==!0){I(e),p=!0,s(`update:modelValue`,t.props.name),setTimeout(()=>{p=!1});return}n+=e}o.infinite===!0&&f.length!==0&&t!==-1&&t!==f.length&&L(e,e===-1?f.length:-1)}function R(){let e=P(o.modelValue);return g.value!==e&&(g.value=e),!0}function z(){let e=N(o.modelValue)===!0&&R()&&f[g.value];return o.keepAlive===!0?[n(r,O.value,[n(k.value===!0?l(D.value,()=>({...E,name:D.value})):E,{key:D.value,style:T.value},()=>e)])]:[n(`div`,{class:`q-panel scroll`,style:T.value,key:D.value,role:`tabpanel`},[e])]}function B(){if(f.length!==0)return o.animated===!0?[n(d,{name:h.value},z)]:z()}function V(e){return f=v(m(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&N(e.props.name)===!0),f.length}function H(){return f}return Object.assign(c,{next:A,previous:j,goTo:M}),{panelIndex:g,panelDirectives:b,updatePanelsList:V,updatePanelIndex:R,getPanelContent:B,getEnabledPanels:F,getPanels:H,isValidPanelName:N,keepAliveProps:O,needsUniqueKeepAliveWrapper:k,goToPanelByOffset:L,goToPanel:M,nextPanel:A,previousPanel:j}}export{w as a,D as i,T as n,O as r,k as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-DtpZuH_B.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={comments:{blockComment:[`<!--`,`-->`]},brackets:[[`<`,`>`]],autoClosingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],surroundingPairs:[{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],onEnterRules:[{beforeText:RegExp(`<([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:s.languages.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:s.languages.IndentAction.Indent}}]},l={defaultToken:``,tokenPostfix:`.xml`,ignoreCase:!0,qualifiedName:/(?:[\w\.\-]+:)?[\w\.\-]+/,tokenizer:{root:[[/[^<&]+/,``],{include:`@whitespace`},[/(<)(@qualifiedName)/,[{token:`delimiter`},{token:`tag`,next:`@tag`}]],[/(<\/)(@qualifiedName)(\s*)(>)/,[{token:`delimiter`},{token:`tag`},``,{token:`delimiter`}]],[/(<\?)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/(<\!)(@qualifiedName)/,[{token:`delimiter`},{token:`metatag`,next:`@tag`}]],[/<\!\[CDATA\[/,{token:`delimiter.cdata`,next:`@cdata`}],[/&\w+;/,`string.escape`]],cdata:[[/[^\]]+/,``],[/\]\]>/,{token:`delimiter.cdata`,next:`@pop`}],[/\]/,``]],tag:[[/[ \t\r\n]+/,``],[/(@qualifiedName)(\s*=\s*)("[^"]*"|'[^']*')/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">?\/]*|'[^'>?\/]*)(?=[\?\/]\>)/,[`attribute.name`,``,`attribute.value`]],[/(@qualifiedName)(\s*=\s*)("[^">]*|'[^'>]*)/,[`attribute.name`,``,`attribute.value`]],[/@qualifiedName/,`attribute.name`],[/\?>/,{token:`delimiter`,next:`@pop`}],[/(\/)(>)/,[{token:`tag`},{token:`delimiter`,next:`@pop`}]],[/>/,{token:`delimiter`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/<!--/,{token:`comment`,next:`@comment`}]],comment:[[/[^<\-]+/,`comment.content`],[/-->/,{token:`comment`,next:`@pop`}],[/<!--/,`comment.content.invalid`],[/[<\-]/,`comment.content`]]}};export{c as conf,l as language};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{m as e}from"./editor.api-
|
|
1
|
+
import{m as e}from"./editor.api-DtpZuH_B.js";var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,a,o,s)=>{if(a&&typeof a==`object`||typeof a==`function`)for(let c of r(a))!i.call(e,c)&&c!==o&&t(e,c,{get:()=>a[c],enumerable:!(s=n(a,c))||s.enumerable});return e},o=(e,t,n)=>(a(e,t,`default`),n&&a(n,t,`default`)),s={};o(s,e);var c={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:s.languages.IndentAction.Indent}}]},l={tokenPostfix:`.yaml`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:[`true`,`True`,`TRUE`,`false`,`False`,`FALSE`,`null`,`Null`,`Null`,`~`],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/%[^ ]+.*$/,`meta.directive`],[/---/,`operators.directivesEnd`],[/\.{3}/,`operators.documentEnd`],[/[-?:](?= )/,`operators`],{include:`@anchor`},{include:`@tagHandle`},{include:`@flowCollections`},{include:`@blockStyle`},[/@numberInteger(?![ \t]*\S+)/,`number`],[/@numberFloat(?![ \t]*\S+)/,`number.float`],[/@numberOctal(?![ \t]*\S+)/,`number.octal`],[/@numberHex(?![ \t]*\S+)/,`number.hex`],[/@numberInfinity(?![ \t]*\S+)/,`number.infinity`],[/@numberNaN(?![ \t]*\S+)/,`number.nan`],[/@numberDate(?![ \t]*\S+)/,`number.date`],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,[`type`,`white`,`operators`,`white`]],{include:`@flowScalars`},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],object:[{include:`@whitespace`},{include:`@comment`},[/\}/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],[/:(?= )/,`operators`],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,`type`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\},]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],array:[{include:`@whitespace`},{include:`@comment`},[/\]/,`@brackets`,`@pop`],[/,/,`delimiter.comma`],{include:`@flowCollections`},{include:`@flowScalars`},{include:`@tagHandle`},{include:`@anchor`},{include:`@flowNumber`},[/[^\],]+/,{cases:{"@keywords":`keyword`,"@default":`string`}}]],multiString:[[/^( +).+$/,`string`,`@multiStringContinued.$1`]],multiStringContinued:[[/^( *).+$/,{cases:{"$1==$S2":`string`,"@default":{token:`@rematch`,next:`@popall`}}}]],whitespace:[[/[ \t\r\n]+/,`white`]],comment:[[/#.*$/,`comment`]],flowCollections:[[/\[/,`@brackets`,`@array`],[/\{/,`@brackets`,`@object`]],flowScalars:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'[^']*'/,`string`],[/"/,`string`,`@doubleQuotedString`]],doubleQuotedString:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],blockStyle:[[/[>|][0-9]*[+-]?$/,`operators`,`@multiString`]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,`number`],[/@numberFloat(?=[ \t]*[,\]\}])/,`number.float`],[/@numberOctal(?=[ \t]*[,\]\}])/,`number.octal`],[/@numberHex(?=[ \t]*[,\]\}])/,`number.hex`],[/@numberInfinity(?=[ \t]*[,\]\}])/,`number.infinity`],[/@numberNaN(?=[ \t]*[,\]\}])/,`number.nan`],[/@numberDate(?=[ \t]*[,\]\}])/,`number.date`]],tagHandle:[[/\![^ ]*/,`tag`]],anchor:[[/[&*][^ ]+/,`namespace`]]}};export{c as conf,l as language};
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html><head><title>Kōbō</title><link rel=icon type=image/svg+xml href=/favicon.svg><meta charset=utf-8><meta name=description content="Kōbō — multi-workspace agent manager for Claude Code"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width,height=device-height"> <script type="module" crossorigin src="/assets/index-Dx_W9yYo.js"></script>
|
|
2
2
|
<link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-9Z0QAO_7.js">
|
|
3
|
-
<link rel="modulepreload" crossorigin href="/assets/vue-i18n-
|
|
3
|
+
<link rel="modulepreload" crossorigin href="/assets/vue-i18n-CKCtKE87.js">
|
|
4
4
|
<link rel="modulepreload" crossorigin href="/assets/QIcon-qfJNZLIW.js">
|
|
5
5
|
<link rel="modulepreload" crossorigin href="/assets/use-id-_7wiRcgb.js">
|
|
6
|
-
<link rel="modulepreload" crossorigin href="/assets/QBtn-
|
|
6
|
+
<link rel="modulepreload" crossorigin href="/assets/QBtn-CaJSOyt8.js">
|
|
7
7
|
<link rel="modulepreload" crossorigin href="/assets/QInput-DCJEwE8V.js">
|
|
8
8
|
<link rel="modulepreload" crossorigin href="/assets/use-checkbox-y_fOkYZN.js">
|
|
9
|
+
<link rel="modulepreload" crossorigin href="/assets/QRadio-4HnR_A-K.js">
|
|
9
10
|
<link rel="modulepreload" crossorigin href="/assets/QCheckbox-BvHfXBFY.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/assets/QRadio-DJxOyOA3.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/QToggle-DNOTC_3a.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/notifications-
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/notifications-CEyiPnmw.js">
|
|
13
13
|
<link rel="stylesheet" crossorigin href="/assets/index-eX_lKHSg.css">
|
|
14
14
|
</head><body><div id=q-app></div></body></html>
|
|
@@ -148,6 +148,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
148
148
|
description:
|
|
149
149
|
'CALL FIRST on any non-trivial turn to know what the user wants done and what is already completed. Returns every task and acceptance criterion for the current workspace with its id and status. Re-call periodically (before marking something done, or after the user asks for a status) to stay in sync with user-added or external updates.',
|
|
150
150
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
151
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
151
152
|
},
|
|
152
153
|
{
|
|
153
154
|
name: 'mark_task_done',
|
|
@@ -160,12 +161,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
160
161
|
},
|
|
161
162
|
required: ['task_id'],
|
|
162
163
|
},
|
|
164
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
163
165
|
},
|
|
164
166
|
{
|
|
165
167
|
name: 'mark_auto_loop_ready',
|
|
166
168
|
description:
|
|
167
169
|
'CALL ONLY at the end of a `/kobo-prep-autoloop` grooming session, once all tasks look atomic and implementable in one session. Flips a flag on the workspace that unlocks the auto-loop toggle in the UI. Do NOT call during normal sessions.',
|
|
168
170
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
171
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
169
172
|
},
|
|
170
173
|
{
|
|
171
174
|
name: 'create_task',
|
|
@@ -182,6 +185,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
182
185
|
},
|
|
183
186
|
required: ['title'],
|
|
184
187
|
},
|
|
188
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
185
189
|
},
|
|
186
190
|
{
|
|
187
191
|
name: 'update_task',
|
|
@@ -204,6 +208,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
204
208
|
},
|
|
205
209
|
required: ['task_id'],
|
|
206
210
|
},
|
|
211
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
207
212
|
},
|
|
208
213
|
{
|
|
209
214
|
name: 'delete_task',
|
|
@@ -216,12 +221,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
216
221
|
},
|
|
217
222
|
required: ['task_id'],
|
|
218
223
|
},
|
|
224
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
219
225
|
},
|
|
220
226
|
{
|
|
221
227
|
name: 'get_workspace_info',
|
|
222
228
|
description:
|
|
223
229
|
'CALL EARLY in a session to confirm project path, working/source branch, worktree path, model, and notion link. Cheap read — useful when the user refers to "this workspace" or when you need the worktree path to locate files.',
|
|
224
230
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
231
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
225
232
|
},
|
|
226
233
|
{
|
|
227
234
|
name: 'set_workspace_agent_description',
|
|
@@ -237,6 +244,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
237
244
|
},
|
|
238
245
|
required: ['description'],
|
|
239
246
|
},
|
|
247
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
240
248
|
},
|
|
241
249
|
{
|
|
242
250
|
name: 'cron_create',
|
|
@@ -272,6 +280,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
272
280
|
},
|
|
273
281
|
required: ['expression', 'prompt'],
|
|
274
282
|
},
|
|
283
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
275
284
|
},
|
|
276
285
|
{
|
|
277
286
|
name: 'cron_delete',
|
|
@@ -284,17 +293,20 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
284
293
|
},
|
|
285
294
|
required: ['id'],
|
|
286
295
|
},
|
|
296
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
287
297
|
},
|
|
288
298
|
{
|
|
289
299
|
name: 'cron_list',
|
|
290
300
|
description: 'List all crons currently armed on THIS workspace, including their next and last fire times.',
|
|
291
301
|
inputSchema: { type: 'object', properties: {}, additionalProperties: false },
|
|
302
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
292
303
|
},
|
|
293
304
|
{
|
|
294
305
|
name: 'get_git_info',
|
|
295
306
|
description:
|
|
296
307
|
'CALL BEFORE creating a PR, committing in batches, or reporting progress to the user. Returns commit count ahead of source, files changed, insertions/deletions, and existing PR URL if any.',
|
|
297
308
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
309
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
298
310
|
},
|
|
299
311
|
{
|
|
300
312
|
name: 'set_workspace_status',
|
|
@@ -311,29 +323,34 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
311
323
|
},
|
|
312
324
|
required: ['status'],
|
|
313
325
|
},
|
|
326
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
314
327
|
},
|
|
315
328
|
{
|
|
316
329
|
name: 'get_notion_ticket',
|
|
317
330
|
description:
|
|
318
331
|
'CALL when the user references "the ticket", "the Notion page", or when you need the source-of-truth text for the mission. Returns the Notion URL + locally-extracted ticket content from .ai/thoughts/.',
|
|
319
332
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
333
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
320
334
|
},
|
|
321
335
|
{
|
|
322
336
|
name: 'get_dev_server_status',
|
|
323
337
|
description:
|
|
324
338
|
'CALL BEFORE asking the user whether the app is running, or when your change is dev-server-sensitive. Returns running/stopped/starting/error + URL, port, container names.',
|
|
325
339
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
340
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
326
341
|
},
|
|
327
342
|
{
|
|
328
343
|
name: 'start_dev_server',
|
|
329
344
|
description: 'CALL WHEN the user asks you to test the running app and the dev server is stopped.',
|
|
330
345
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
346
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
331
347
|
},
|
|
332
348
|
{
|
|
333
349
|
name: 'stop_dev_server',
|
|
334
350
|
description:
|
|
335
351
|
'CALL WHEN the user explicitly asks to stop the dev server, or before destructive operations that require a clean boot.',
|
|
336
352
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
353
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
337
354
|
},
|
|
338
355
|
{
|
|
339
356
|
name: 'get_dev_server_logs',
|
|
@@ -346,12 +363,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
346
363
|
},
|
|
347
364
|
required: [],
|
|
348
365
|
},
|
|
366
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
349
367
|
},
|
|
350
368
|
{
|
|
351
369
|
name: 'list_workspace_images',
|
|
352
370
|
description:
|
|
353
371
|
'CALL WHEN the user mentions "the screenshot", "the attached image", or when you need to reference a previously-uploaded image. Returns uid, originalName, relativePath, createdAt for every image in .ai/images/.',
|
|
354
372
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
373
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
355
374
|
},
|
|
356
375
|
{
|
|
357
376
|
name: 'get_settings',
|
|
@@ -367,6 +386,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
367
386
|
},
|
|
368
387
|
required: [],
|
|
369
388
|
},
|
|
389
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
370
390
|
},
|
|
371
391
|
// ── Knowledge / context tools ─────────────────────────────────────────────
|
|
372
392
|
{
|
|
@@ -374,6 +394,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
374
394
|
description:
|
|
375
395
|
'CALL EARLY on a new session to discover plans, specs, and thoughts previously written for this workspace. Recursively lists every .md under docs/plans/, docs/superpowers/, and .ai/thoughts/. Before writing a new plan, check if one already exists.',
|
|
376
396
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
397
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
377
398
|
},
|
|
378
399
|
{
|
|
379
400
|
name: 'read_document',
|
|
@@ -390,6 +411,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
390
411
|
},
|
|
391
412
|
required: ['path'],
|
|
392
413
|
},
|
|
414
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
393
415
|
},
|
|
394
416
|
{
|
|
395
417
|
name: 'log_thought',
|
|
@@ -407,6 +429,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
407
429
|
},
|
|
408
430
|
required: ['title', 'content'],
|
|
409
431
|
},
|
|
432
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
410
433
|
},
|
|
411
434
|
{
|
|
412
435
|
name: 'search_codebase',
|
|
@@ -429,12 +452,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
429
452
|
},
|
|
430
453
|
required: ['query'],
|
|
431
454
|
},
|
|
455
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
432
456
|
},
|
|
433
457
|
{
|
|
434
458
|
name: 'get_session_usage',
|
|
435
459
|
description:
|
|
436
460
|
'CALL when you need to self-regulate on long missions — returns token/cost totals for the workspace lifetime and for the currently running agent_session. Useful before spawning heavy subagents or deep reasoning on already-expensive sessions.',
|
|
437
461
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
462
|
+
annotations: { readOnlyHint: true, openWorldHint: false },
|
|
438
463
|
},
|
|
439
464
|
{
|
|
440
465
|
name: 'schedule_wakeup',
|
|
@@ -458,12 +483,14 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
458
483
|
},
|
|
459
484
|
required: ['delaySeconds', 'prompt'],
|
|
460
485
|
},
|
|
486
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
461
487
|
},
|
|
462
488
|
{
|
|
463
489
|
name: 'cancel_wakeup',
|
|
464
490
|
description:
|
|
465
491
|
'CALL to cancel any pending wakeup on this workspace (e.g. the condition you were waiting on resolved early, or you decided not to continue). Idempotent — safe to call when nothing is pending.',
|
|
466
492
|
inputSchema: { type: 'object', properties: {}, required: [] },
|
|
493
|
+
annotations: { destructiveHint: false, openWorldHint: false },
|
|
467
494
|
},
|
|
468
495
|
],
|
|
469
496
|
}))
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{E as e,F as t,H as n,L as r,M as i,Q as a,U as o,_t as s,bt as c,d as l,f as u,g as d,h as f,l as p,p as m,r as h,rt as g,u as _,v,yt as y}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{U as b,l as x,t as S}from"./QIcon-qfJNZLIW.js";import{c as C,s as w}from"./notifications-BPnKFW60.js";import{t as T}from"./QBtn-DEuWKHbR.js";import{n as E}from"./vue-i18n-DI-gS-CC.js";import{d as D,g as O,l as k,p as A}from"./index-CdHDdk1y.js";import{t as j}from"./QSpinnerDots-Bfl2RMy4.js";import{t as M}from"./QTooltip-DUGPNNeQ.js";import{t as N}from"./QExpansionItem-BGg74no1.js";import{n as ee,r as te,t as P}from"./render-chat-markdown-Bjcei0vn.js";import{n as F}from"./purify.es-BCEwTYRx.js";import{t as I}from"./documents-soWtna0O.js";import{t as L}from"./_plugin-vue_export-helper-Cj6tcsj6.js";function ne(e,t,n=!0){let r=[],i=new Map,a=new Map;for(let n=0;n<e.length;n++){let o=e[n],s=t?.[n];switch(o.kind){case`message:text`:{let e=i.get(o.messageId);if(e)e.text+=o.text,e.streaming=o.streaming;else{let e={type:`text`,messageId:o.messageId,text:o.text,streaming:o.streaming,ts:s};i.set(o.messageId,e),r.push(e)}break}case`message:end`:{let e=i.get(o.messageId);e&&(e.streaming=!1);break}case`message:thinking`:r.push({type:`thinking`,messageId:o.messageId,text:o.text,ts:s});break;case`tool:call`:{let e={type:`tool`,toolCallId:o.toolCallId,name:o.name,input:o.input,ts:s};a.set(o.toolCallId,e),r.push(e);break}case`tool:result`:{let e=a.get(o.toolCallId);e&&(e.result={output:o.output,isError:o.isError});break}case`session:started`:r.push({type:`session`,kind:`started`,detail:{engineSessionId:o.engineSessionId,model:o.model},ts:s});break;case`session:ended`:r.push({type:`session`,kind:`ended`,detail:{reason:o.reason,exitCode:o.exitCode},ts:s});break;case`session:compacted`:r.push({type:`session`,kind:`compacted`,ts:s});break;case`session:brainstorm-complete`:case`session:user-input-requested`:case`message:raw`:case`skills:discovered`:case`usage`:case`rate_limit`:case`subagent:progress`:case`error`:break;default:}}let o=null;for(let e of r)e.type===`text`&&e.streaming&&(o&&(o.streaming=!1),o=e);return o&&!n&&(o.streaming=!1),r}function re(e,t){if(t.length===0)return e;let n=t.map(e=>({type:`user`,content:e.content,sender:e.sender,ts:e.ts})),r=[...e,...n];r.sort((e,t)=>{let n=e.ts??``,r=t.ts??``;return n===r?0:n?r?n<r?-1:1:-1:1});let i;for(let e of r)e.type===`user`&&e.sender!==`system-prompt`&&e.ts&&(!i||e.ts>i)&&(i=e.ts);if(i)for(let e of r)e.type===`text`&&e.streaming&&(!e.ts||e.ts<i)&&(e.streaming=!1);return r}function R(e){switch(e.type){case`user`:return e.sender===`system-prompt`?`system-prompt`:`user`;case`session`:return`session`;default:return`agent`}}function ie(e){let t=[],n=null;for(let r of e){let e=R(r),i=e===`session`||e===`system-prompt`;!n||n.speaker!==e||i?(n={speaker:e,ts:r.ts,items:[r]},t.push(n),i&&(n=null)):n.items.push(r)}return t}var z={class:`text-caption text-grey-6`},B=v({__name:`SessionEventItem`,props:{item:{}},setup(e){let n=e,r=p(()=>{switch(n.item.kind){case`started`:return`session.started`;case`ended`:return`session.ended`;case`compacted`:return`session.compacted`;default:return`session.started`}});return(e,n)=>(t(),m(`span`,z,c(e.$t(r.value)),1))}});function V(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){ae(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 ae(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=H(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 H(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 U=[`innerHTML`],W=L(v({__name:`TextMessageItem`,props:{item:{}},setup(e){let n=e,r=I(),i=k(),a=p(()=>{let e=i.selectedWorkspaceId;return e?r.documentsFor(e).map(e=>e.path):[]}),o=p(()=>ee(V(F.parse(n.item.text,{async:!1,breaks:!0,gfm:!0}),a.value),{addAttr:[`data-document-path`]}));function s(e){let t=e.target?.closest(`.document-link`);if(!t)return;e.preventDefault();let n=t.getAttribute(`data-document-path`),a=i.selectedWorkspaceId;!n||!a||r.openDocumentByPath(a,n)}return(n,r)=>(t(),m(`div`,{class:`markdown-message`,onClick:s},[_(`div`,{innerHTML:o.value},null,8,U),e.item.streaming?(t(),l(x,{key:0,size:`xs`,class:`q-ml-xs`})):u(``,!0)]))}}),[[`__scopeId`,`data-v-1b7bd8ca`]]),oe={key:0,class:`text-caption text-grey-5`,style:{"font-style":`italic`}},G=[`innerHTML`],K={key:1,style:{"white-space":`pre-wrap`}},se=L(v({__name:`ThinkingItem`,props:{item:{}},setup(e){let n=e,r=p(()=>n.item.text.trim().slice(0,100)),i=p(()=>n.item.text.trim().length>0),a=p(()=>n.item.text.trim().length>100),s=p(()=>P(n.item.text));return(n,d)=>i.value?(t(),m(`div`,oe,[a.value?(t(),l(N,{key:0,dense:``,"dense-toggle":``,label:r.value,"header-class":`text-grey-5 text-caption`,style:{"font-style":`italic`}},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-thinking`,innerHTML:s.value},null,8,G)]),_:1},8,[`label`])):(t(),m(`span`,K,c(e.item.text),1))])):u(``,!0)}}),[[`__scopeId`,`data-v-7f45ed94`]]);function ce(e,t){let n=e.split(`
|
|
2
|
-
`),r=t.split(`
|
|
3
|
-
`),i=n.length,a=r.length,o=Array.from({length:i+1},()=>Array(a+1).fill(0));for(let e=i-1;e>=0;e--)for(let t=a-1;t>=0;t--)n[e]===r[t]?o[e][t]=o[e+1][t+1]+1:o[e][t]=Math.max(o[e+1][t],o[e][t+1]);let s=[],c=0,l=0;for(;c<i&&l<a;)n[c]===r[l]?(s.push({type:`context`,content:n[c]}),c++,l++):o[c+1][l]>=o[c][l+1]?(s.push({type:`del`,content:n[c]}),c++):(s.push({type:`add`,content:r[l]}),l++);for(;c<i;)s.push({type:`del`,content:n[c++]});for(;l<a;)s.push({type:`add`,content:r[l++]});return s}function q(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??``;return{toolName:`Edit`,filePath:e,oldString:t,newString:r,replaceAll:n.replace_all??!1,additions:r?r.split(`
|
|
4
|
-
`).length:0,deletions:t?t.split(`
|
|
5
|
-
`).length:0}}if(e===`Write`){let e=n.file_path;if(!e)return null;let t=n.content??``;return{toolName:`Write`,filePath:e,content:t,additions:t?t.split(`
|
|
6
|
-
`).length:0,deletions:0}}if(e===`Bash`){let e=(n.command??``).match(/^\s*rm\s+(?:-[a-zA-Z]*\s+)*(.+)/);if(e)return{toolName:`Bash:rm`,filePath:e[1].trim().replace(/["']/g,``),additions:0,deletions:1}}return null}function le(e,t){if(!e||!t?.projectPath)return e;let n=t.worktreePath;if(n){let t=J(e,n);if(t!==e)return t}let r=J(e,`${t.projectPath}/${C}/${t.workingBranch}`);return r===e?J(e,t.projectPath):r}function J(e,t){if(!t)return e;let n=ue(t);return n?e.replace(RegExp(`${n}[\\\\/]+`,`g`),``).replace(RegExp(`${n}(?=\\s|$|["'\`])`,`g`),`.`):e}function ue(e){let t=e.replace(/[\\/]+$/,``);return t?`${/^[\\/]+/.test(t)?`[\\\\/]+`:``}${t.split(/[\\/]+/).filter(Boolean).map(Y).join(`[\\\\/]+`)}`:``}function Y(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}var X={class:`tool-name`},de=[`title`],fe={key:0,class:`tool-stat-add`},Z={key:1,class:`tool-stat-del`},Q={class:`diff-sign`},$={class:`tool-name`},pe=[`title`],me=L(v({__name:`ToolCallItem`,props:{item:{}},setup(e){let i=e,o=a(!1),g=k(),v=p(()=>q(i.item.name,i.item.input)),y=p(()=>v.value?le(v.value.filePath,g.selectedWorkspace):``),x={Bash:`terminal`,Read:`description`,Edit:`edit`,Write:`edit_note`,MultiEdit:`edit`,Glob:`folder_open`,Grep:`manage_search`,LS:`list`,Skill:`auto_awesome`,Task:`hub`,Agent:`hub`,TodoWrite:`checklist`,TodoRead:`checklist`,ToolSearch:`search`,WebFetch:`public`,WebSearch:`travel_explore`,NotebookRead:`book`,NotebookEdit:`edit_note`,SendMessage:`send`,ExitPlanMode:`check_circle_outline`,KillShell:`stop_circle`,BashOutput:`terminal`},C=p(()=>x[i.item.name]??`build`),w=p(()=>{if(v.value)return``;let e=i.item.input,t=T(e);return t?le(t,g.selectedWorkspace):``});function T(e){if(!e||typeof e!=`object`)return typeof e==`string`?e:``;let t=e;for(let e of[`file_path`,`path`,`command`,`pattern`,`query`,`url`,`skill`,`description`,`subject`,`prompt`]){let n=t[e];if(typeof n==`string`&&n.length>0)return n}for(let e of Object.values(t))if(typeof e==`string`&&e.length>0)return e;return``}let E=p(()=>{let e=v.value;return e?e.toolName===`Edit`&&e.oldString!==void 0&&e.newString!==void 0?ce(e.oldString,e.newString):e.toolName===`Write`&&e.content!==void 0?e.content.split(`
|
|
7
|
-
`).map(e=>({type:`add`,content:e})):e.toolName===`Bash:rm`?[{type:`del`,content:`File deleted`}]:null:null}),D=p(()=>{let e=i.item.result;if(!e)return``;if(typeof e.output==`string`)return e.output;try{return JSON.stringify(e.output)}catch{return String(e.output)}}),O=new Set([`Read`]),A=p(()=>!!(i.item.result&&D.value)&&(!O.has(i.item.name)||i.item.result?.isError===!0));function j(){o.value=!o.value}return n(()=>i.item.result?.isError===!0,e=>{e&&(o.value=!0)},{immediate:!0}),(n,i)=>v.value?(t(),m(`div`,{key:0,class:s([`tool-row`,{"tool-row-expanded":o.value}])},[_(`div`,{class:`tool-header`,onClick:j},[d(S,{name:C.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,X,c(v.value.toolName===`Bash:rm`?`Bash`:v.value.toolName),1),_(`span`,{class:`tool-path`,title:v.value.filePath},c(y.value),9,de),v.value.additions>0?(t(),m(`span`,fe,`+`+c(v.value.additions),1)):u(``,!0),v.value.deletions>0?(t(),m(`span`,Z,`-`+c(v.value.deletions),1)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:2,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-xs`})):e.item.result?(t(),l(S,{key:3,name:`check`,color:`positive`,size:`xs`,class:`q-ml-xs`})):u(``,!0),d(S,{name:o.value?`expand_less`:`expand_more`,size:`xs`,class:`q-ml-auto text-grey-6`},null,8,[`name`])]),o.value&&E.value?(t(),m(`div`,{key:0,class:`tool-diff`,onClick:i[0]||=b(()=>{},[`stop`])},[(t(!0),m(h,null,r(E.value,(e,n)=>(t(),m(`div`,{key:n,class:s([`diff-line`,{"diff-del":e.type===`del`,"diff-add":e.type===`add`,"diff-context":e.type===`context`}])},[_(`span`,Q,c(e.type===`del`?`-`:e.type===`add`?`+`:` `),1),f(c(e.content),1)],2))),128))])):u(``,!0)],2)):(t(),m(`div`,{key:1,class:s([`tool-row tool-row-generic`,{"tool-row-expanded":o.value,"tool-row--toggleable":A.value}])},[_(`div`,{class:`tool-header`,onClick:i[1]||=e=>A.value&&j()},[d(S,{name:C.value,size:`14px`,class:`tool-icon`},null,8,[`name`]),_(`span`,$,c(e.item.name),1),w.value?(t(),m(`span`,{key:0,class:`tool-arg`,title:T(e.item.input)||w.value},c(w.value),9,pe)):u(``,!0),e.item.result?.isError?(t(),l(S,{key:1,name:`error_outline`,color:`negative`,size:`xs`,class:`q-ml-auto`})):e.item.result?(t(),l(S,{key:2,name:`check`,color:`positive`,size:`xs`,class:`q-ml-auto`})):u(``,!0),A.value?(t(),l(S,{key:3,name:o.value?`expand_less`:`expand_more`,size:`xs`,class:`q-ml-xs text-grey-6`},null,8,[`name`])):u(``,!0)]),o.value&&A.value?(t(),m(`div`,{key:0,class:`tool-output`,onClick:i[2]||=b(()=>{},[`stop`])},c(D.value),1)):u(``,!0)],2))}}),[[`__scopeId`,`data-v-b1fcd20d`]]);function he(e,t){return t?e.replace(/\[image:\s+([^\]]+)\]/g,(e,n)=>{let r=String(n).trim();return/^(\.ai\/images\/|images\/)/.test(r)?`}/images/file?path=${encodeURIComponent(r)}`})`:e}):e}var ge=[`innerHTML`],_e=[`innerHTML`],ve=[`src`],ye=L(v({__name:`UserMessageItem`,props:{item:{}},setup(e){let n=e,r=k(),i=p(()=>n.item.sender===`system-prompt`),s=p(()=>P(he(n.item.content,r.selectedWorkspaceId??``))),c=a(null),f=a(!1);function g(e){let t=e.target;if(t?.tagName!==`IMG`)return;let n=t;n.src&&(c.value=n.src,f.value=!0)}return(e,n)=>(t(),m(h,null,[i.value?(t(),l(N,{key:0,dense:``,"dense-toggle":``,label:e.$t(`chat.systemPrompt`),"header-class":`text-grey-5 text-caption`},{default:o(()=>[_(`div`,{class:`q-py-xs markdown-user-prompt`,innerHTML:s.value},null,8,ge)]),_:1},8,[`label`])):(t(),m(`div`,{key:1,class:`markdown-message`,onClick:g},[_(`div`,{innerHTML:s.value},null,8,_e)])),d(O,{modelValue:f.value,"onUpdate:modelValue":n[1]||=e=>f.value=e},{default:o(()=>[c.value?(t(),m(`img`,{key:0,src:c.value,alt:``,class:`image-lightbox-img`,onClick:n[0]||=e=>f.value=!1},null,8,ve)):u(``,!0)]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-f34be4c5`]]),be={class:`turn-header`},xe={key:0,class:`turn-time`},Se={class:`turn-time turn-time-updated`},Ce={key:2,class:`turn-actions`},we={class:`turn-body`},Te={key:0,class:`turn-scroll-top`},Ee=L(v({__name:`TurnCard`,props:{turn:{}},emits:[`scrollTo`],setup(e,{emit:n}){let i=e,v=n,{t:b}=E(),x=a(null);function C(){let e=x.value;if(!e)return;let t=e.closest(`.q-scrollarea`)?.querySelector(`.q-scrollarea__content`);if(!t){e.scrollIntoView({behavior:`smooth`,block:`start`});return}let n=e.getBoundingClientRect().top-t.getBoundingClientRect().top;v(`scrollTo`,Math.max(0,n-8))}let w=p(()=>{switch(i.turn.speaker){case`user`:return{label:b(`chat.you`),accent:`#ce93d8`,badgeClass:`turn-badge-user`};case`agent`:return{label:b(`chat.agent`),accent:`#7986cb`,badgeClass:`turn-badge-agent`};case`system-prompt`:return{label:b(`chat.systemPrompt`),accent:`#757575`,badgeClass:`turn-badge-system`};case`session`:return{label:b(`chat.session`),accent:`#616161`,badgeClass:`turn-badge-session`}}});function D(e,t=!1){if(!e)return``;let n=new Date(e);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(void 0,t?{hour:`2-digit`,minute:`2-digit`,second:`2-digit`}:{hour:`2-digit`,minute:`2-digit`})}let O=p(()=>D(i.turn.ts)),k=p(()=>{let e=i.turn.items;if(e.length===0)return null;for(let t=e.length-1;t>=0;t--){let n=e[t].ts;if(n)return n}return null}),A=p(()=>{let e=i.turn.ts,t=k.value;if(!t||!e||t===e)return``;let n=new Date(e).getTime(),r=new Date(t).getTime();return Number.isNaN(n)||Number.isNaN(r)||r<=n?``:D(t,r-n<6e4)}),j=p(()=>A.value!==``),N=p(()=>i.turn.items.filter(e=>e.type===`tool`).length);return(n,i)=>(t(),m(`div`,{ref_key:`cardEl`,ref:x,class:s([`turn-card`,{"turn-card--user":e.turn.speaker===`user`}]),style:y({"--turn-accent":w.value.accent})},[_(`div`,be,[_(`span`,{class:s([`turn-badge`,w.value.badgeClass])},c(w.value.label),3),O.value?(t(),m(`span`,xe,c(O.value),1)):u(``,!0),j.value?(t(),m(h,{key:1},[d(S,{name:`arrow_forward`,size:`10px`,color:`grey-7`,class:`turn-time-arrow`}),_(`span`,Se,[f(c(A.value)+` `,1),d(M,null,{default:o(()=>[f(c(g(b)(`chat.lastUpdatedAt`,{time:A.value})),1)]),_:1})])],64)):u(``,!0),N.value>0?(t(),m(`span`,Ce,` · `+c(g(b)(`chat.nActions`,{n:N.value})),1)):u(``,!0)]),_(`div`,we,[(t(!0),m(h,null,r(e.turn.items,(e,n)=>(t(),m(h,{key:n},[e.type===`text`?(t(),l(W,{key:0,item:e},null,8,[`item`])):e.type===`thinking`?(t(),l(se,{key:1,item:e},null,8,[`item`])):e.type===`tool`?(t(),l(me,{key:2,item:e},null,8,[`item`])):e.type===`user`?(t(),l(ye,{key:3,item:e},null,8,[`item`])):e.type===`session`?(t(),l(B,{key:4,item:e},null,8,[`item`])):u(``,!0)],64))),128))]),e.turn.items.length>4?(t(),m(`div`,Te,[d(T,{flat:``,round:``,dense:``,size:`xs`,icon:`arrow_upward`,color:`grey-6`,class:`turn-scroll-top-btn`,onClick:C},{default:o(()=>[d(M,null,{default:o(()=>[f(c(g(b)(`chat.scrollToTurnTop`)),1)]),_:1})]),_:1})])):u(``,!0)],6))}}),[[`__scopeId`,`data-v-4729e0cc`]]),De={key:0,class:`activity-feed-switching`},Oe={key:1,class:`activity-feed-wrap`},ke={key:0,class:`text-center q-py-sm text-caption text-grey-6`},Ae={class:`q-pa-md`},je={key:1,class:`q-px-md q-pb-md`},Me={class:`activity-feed-nav-cluster`},Ne=60,Pe=200,Fe=200,Ie=400,Le=200,Re=L(v({__name:`ActivityFeed`,props:{workspaceId:{}},setup(s){let g=s,v=A(),y=w(),b=k(),S=p(()=>b.selectedSessionId),C=p(()=>b.sessions.find(e=>e.id===S.value)?.engineSessionId??null),E=p(()=>{let e=b.sessions;return e.length===0?!1:S.value===e[e.length-1].id});function O(e){return S.value?e?e===S.value||e===C.value:E.value:!0}let M=p(()=>(b.activityFeeds[g.workspaceId]??[]).filter(e=>e.type===`text`&&typeof e.content==`string`&&O(e.sessionId)).map(e=>({content:e.content,sender:e.meta?.sender??`user`,ts:e.timestamp,sessionId:e.sessionId}))),ee=p(()=>D(b.workspaces.find(e=>e.id===g.workspaceId)?.status)),P=p(()=>{let e=v.eventsFor(g.workspaceId),t=v.timestampsFor(g.workspaceId),n=v.sessionIdsFor(g.workspaceId),r=[],i=[];for(let a=0;a<e.length;a++)O(n[a])&&(r.push(e[a]),i.push(t[a]));let a=re(ne(r,i,ee.value),M.value);return ie(y.showVerboseSystemMessages?a:a.filter(e=>e.type!==`session`))}),F=p(()=>y.showVerboseSystemMessages?v.eventsFor(g.workspaceId).filter(e=>e.kind===`message:raw`).map(e=>e.content):[]),I=a(null),L=a(!0),R=a(!1),z=!1,B=a(!0),V=a(new Map);function ae(e){L.value=e.verticalSize-e.verticalPosition-e.verticalContainerSize<=Ne,z&&e.verticalPosition<=Pe&&!R.value&&U()&&G()}function H(e,t){return`${e}:${t}`}function U(){let e=S.value;return e?V.value.get(H(g.workspaceId,e))??!0:v.hasMoreOlderFor(g.workspaceId)}function W(e,t,n){V.value.set(H(e,t),n)}function oe(e){if(!S.value)return v.oldestIdFor(e);let t=v.eventIdsFor(e),n=v.sessionIdsFor(e);for(let e=0;e<t.length;e++){if(!O(n[e]))continue;let r=t[e];if(r)return r}}async function G(){let t=g.workspaceId,n=S.value,r=oe(t);if(!r)return;R.value=!0;let i=Date.now();try{let i=I.value;await e();let a=i?.getScroll().verticalSize??0,o=i?.getScroll().verticalPosition??0,s=new URLSearchParams({before:r,limit:`200`});n&&s.set(`session`,n);let c=fetch(`/api/workspaces/${t}/events?${s.toString()}`),l=new Promise(e=>setTimeout(e,Fe)),[u]=await Promise.all([c,l]);if(!u.ok){n?W(t,n,!1):v.prepend(t,[],[],{oldestId:r,hasMoreOlder:!1});return}let d=await u.json(),f=d.events??[],p=f.filter(e=>e.type===`agent:event`&&e.workspaceId===t),m=f.filter(e=>e.type===`user:message`&&e.workspaceId===t),h=p.map(e=>e.payload),g=p.map(e=>e.createdAt),_=p.map(e=>e.sessionId??null),y=p.map(e=>e.id),x=f.length>0?f[0].id:r;n&&W(t,n,d.hasMore),v.prepend(t,h,g,{oldestId:x,hasMoreOlder:n?v.hasMoreOlderFor(t):d.hasMore,sessionIds:_,eventIds:y});for(let e of m){let n=e.payload;typeof n.content==`string`&&b.addActivityItem(t,{id:e.id,type:`text`,content:n.content,timestamp:e.createdAt,sessionId:e.sessionId??void 0,meta:{sender:n.sender??`user`}})}if(await e(),i){let e=i.getScroll().verticalSize-a;if(e>0){let t=Math.max(o+e,Pe+50);i.setScrollPosition(`vertical`,t,0)}}}catch(e){console.error(`[ActivityFeed] failed to load older events:`,e)}finally{let e=Date.now()-i,t=Math.max(0,Fe-e);await new Promise(e=>setTimeout(e,t+Ie)),R.value=!1}}async function K(t=0){await e();let n=I.value;if(!n)return;let r=n.getScroll();n.setScrollPosition(`vertical`,r.verticalSize,t)}function se(e){let t=I.value;t&&t.setScrollPosition(`vertical`,Math.max(0,e),250)}let ce=a([]),q=a(null);function le(){let e=P.value,t=ce.value,n=[];if(t.length===e.length){for(let r=0;r<e.length;r++){if(e[r].speaker!==`user`)continue;let i=t[r]?.$el;i&&n.push(i)}if(n.length>0)return n}let r=q.value?.parentElement;if(r){let e=r.querySelectorAll(`.turn-card--user`);for(let t of e)n.push(t)}return n}function J(){let e=I.value;if(!e)return null;let t=q.value;if(!t)return null;let n=e.getScroll().verticalPosition,r=t.getBoundingClientRect().top,i=null;for(let e of le()){let t=e.getBoundingClientRect().top-r;if(t<n-40)i=t;else break}return i}async function ue(){let t=I.value;if(!t)return;let n=J();if(n===null)for(let t=0;t<15&&U();t++){for(;R.value;)await new Promise(e=>setTimeout(e,50));if(await G(),await e(),n=J(),n!==null)break}n!==null&&t.setScrollPosition(`vertical`,Math.max(0,n-12),250)}async function Y(){z=!1,await e(),await K(0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{z=!0})})}let X=p(()=>{let e=v.sessionIdsFor(g.workspaceId);if(!S.value)return e.length;let t=0;for(let n of e)O(n)&&t++;return t}),de=p(()=>v.eventsFor(g.workspaceId).length);async function fe(){B.value=!0;let e=Date.now();await new Promise(e=>setTimeout(e,Le));let t=e+5e3;for(;de.value===0&&Date.now()<t;)await new Promise(e=>setTimeout(e,50));B.value=!1}n(B,async e=>{!e&&X.value>0&&await Y(),!e&&X.value===0&&S.value&&$()}),i(()=>{fe(),X.value>0&&Y(),S.value&&$()});let Z=!1;n(X,async(e,t)=>{if(!Z&&e>0){Z=!0,await Y();return}e>t&&L.value&&!R.value&&await K(180)}),n(()=>g.workspaceId,()=>{L.value=!0,Z=!1,z=!1,fe(),X.value>0&&Y()}),n(()=>b.selectedSessionId,async()=>{L.value=!0,z=!1,await Y(),$()});let Q=new Set;async function $(){let t=S.value;if(!t||X.value>0)return;let n=H(g.workspaceId,t);if(!Q.has(n)){Q.add(n);try{let n=await fetch(`/api/workspaces/${g.workspaceId}/events?session=${encodeURIComponent(t)}&limit=500`);if(!n.ok)return;let r=await n.json(),i=r.events??[];if(i.length===0)return;let a=i.filter(e=>e.type===`agent:event`&&e.workspaceId===g.workspaceId),o=i.filter(e=>e.type===`user:message`&&e.workspaceId===g.workspaceId),s=a.map(e=>e.payload),c=a.map(e=>e.createdAt),l=a.map(e=>e.sessionId??null),u=a.map(e=>e.id);W(g.workspaceId,t,r.hasMore),s.length>0&&v.prepend(g.workspaceId,s,c,{oldestId:i[0].id,hasMoreOlder:v.hasMoreOlderFor(g.workspaceId),sessionIds:l,eventIds:u});for(let e of o){let t=e.payload;typeof t.content==`string`&&b.addActivityItem(g.workspaceId,{id:e.id,type:`text`,content:t.content,timestamp:e.createdAt,sessionId:e.sessionId??void 0,meta:{sender:t.sender??`user`}})}await e(),await K(0)}catch(e){console.error(`[ActivityFeed] fetchSessionIfMissing failed:`,e),Q.delete(n)}}}n(p(()=>M.value.filter(e=>e.sender!==`system-prompt`).length),async(e,t)=>{e>t&&(L.value=!0,await K(180))});async function pe(){L.value=!0,await K(250)}return(e,n)=>B.value?(t(),m(`div`,De,[d(j,{size:`40px`,color:`indigo-4`})])):(t(),m(`div`,Oe,[d(te,{ref_key:`scrollRef`,ref:I,class:`activity-feed-scroll`,onScroll:ae},{default:o(()=>[_(`div`,{ref_key:`contentOriginRef`,ref:q,class:`content-origin-marker`},null,512),R.value?(t(),m(`div`,ke,[d(x,{size:`sm`}),f(` `+c(e.$t(`activity.loading_older`)),1)])):u(``,!0),_(`div`,Ae,[(t(!0),m(h,null,r(P.value,(e,n)=>(t(),l(Ee,{key:n,ref_for:!0,ref_key:`turnRefs`,ref:ce,turn:e,onScrollTo:se},null,8,[`turn`]))),128))]),F.value.length?(t(),m(`div`,je,[d(N,{label:e.$t(`activity.raw_lines`,{n:F.value.length}),dense:``},{default:o(()=>[(t(!0),m(h,null,r(F.value,(e,n)=>(t(),m(`div`,{key:n,class:`text-caption text-grey q-pa-xs`},c(e),1))),128))]),_:1},8,[`label`])])):u(``,!0)]),_:1},512),_(`div`,Me,[L.value?u(``,!0):(t(),l(T,{key:0,round:``,dense:``,unelevated:``,color:`grey-9`,"text-color":`grey-3`,icon:`arrow_downward`,size:`sm`,class:`activity-feed-nav-btn`,title:e.$t(`activity.scroll_to_bottom`),onClick:pe},null,8,[`title`])),d(T,{round:``,dense:``,unelevated:``,color:`grey-9`,"text-color":`grey-3`,icon:`arrow_upward`,size:`sm`,class:`activity-feed-nav-btn`,title:e.$t(`activity.prev_user_message`),onClick:ue},null,8,[`title`])])]))}}),[[`__scopeId`,`data-v-9e905178`]]);export{Re as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.create-page[data-v-f1afc3a6]{background-color:#1a1a2e;min-height:100%;padding:48px 24px}.create-inner[data-v-f1afc3a6]{width:100%;max-width:700px}.create-title[data-v-f1afc3a6]{font-size:24px;line-height:1.3}.create-card[data-v-f1afc3a6]{background:#224;border:1px solid #444;overflow:hidden}.card-top-bar[data-v-f1afc3a6]{background:#1e1e3a;min-height:36px}.card-name-wrap[data-v-f1afc3a6]{background:#224;padding:8px 16px 4px}.card-name-wrap[data-v-f1afc3a6] .q-field__control{height:32px;min-height:32px;padding:0}.card-name-wrap[data-v-f1afc3a6] input{color:#e0e0e0;font-size:15px;font-weight:500}.card-name-wrap[data-v-f1afc3a6] input::placeholder{color:#555}.card-textarea-wrap[data-v-f1afc3a6]{background:#224;position:relative}.create-slash-popup[data-v-f1afc3a6]{z-index:9999;position:absolute;top:calc(100% + 4px);left:12px;right:12px}.repo-select[data-v-f1afc3a6]{min-width:160px;max-width:260px}.repo-select[data-v-f1afc3a6] .q-field__prepend{align-items:center;height:auto;padding-top:0}.create-textarea[data-v-f1afc3a6]{color:#d0d0d0;width:100%;padding:12px 16px 4px}.create-textarea[data-v-f1afc3a6] .q-field__control{padding:0}.create-textarea[data-v-f1afc3a6] textarea{color:#d0d0d0;resize:none;min-height:100px;font-size:14px;line-height:1.6}.create-textarea[data-v-f1afc3a6] textarea::placeholder{color:#666}.voice-btn--recording[data-v-f1afc3a6]{animation:1.1s ease-in-out infinite voice-pulse-f1afc3a6}@keyframes voice-pulse-f1afc3a6{0%{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.notion-toggle-btn[data-v-f1afc3a6]{background:#333;padding:2px 10px}.notion-url-wrap[data-v-f1afc3a6]{background:#1e1e3a;padding:8px 0 0}.notion-url-input[data-v-f1afc3a6]{padding:0 12px}.notion-url-input[data-v-f1afc3a6] .q-field__control{height:36px;min-height:36px;padding:0}.notion-url-input[data-v-f1afc3a6] input{color:#d0d0d0;font-size:13px}.notion-url-input[data-v-f1afc3a6] input::placeholder{color:#555;font-size:12px}.notion-error[data-v-f1afc3a6],.notion-valid[data-v-f1afc3a6]{padding-bottom:6px}.notion-peek-choice[data-v-f1afc3a6]{padding-top:4px}.peek-card[data-v-f1afc3a6]{cursor:pointer;text-align:left;color:#e0e0e0;font-family:inherit;font-size:inherit;background:#ffffff08;border:1px solid #ffffff14;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .15s,border-color .15s,transform .1s;display:flex;position:relative}.peek-card[data-v-f1afc3a6]:hover{background:#ffffff0f;border-color:#6c63ff66}.peek-card[data-v-f1afc3a6]:active{transform:scale(.99)}.peek-card--active[data-v-f1afc3a6]{background:#6c63ff1f;border-color:#6c63ffd9;box-shadow:0 0 0 1px #6c63ff66}.peek-card--active .peek-card-icon[data-v-f1afc3a6]{color:#8a82ff}.peek-card--active .peek-card-title[data-v-f1afc3a6]{color:#fff}.peek-card-icon[data-v-f1afc3a6]{color:#999;flex-shrink:0}.peek-card-text[data-v-f1afc3a6]{flex:1;min-width:0;line-height:1.25}.peek-card-title[data-v-f1afc3a6]{color:#d0d0d0;font-size:12px;font-weight:600}.peek-card-desc[data-v-f1afc3a6]{color:#888;margin-top:2px;font-size:10.5px}.peek-card-check[data-v-f1afc3a6]{flex-shrink:0}.sentry-toggle-btn[data-v-f1afc3a6]{background:#333;padding:2px 10px}.sentry-url-wrap[data-v-f1afc3a6]{background:#1e1e3a;padding:8px 0 0}.sentry-url-input[data-v-f1afc3a6]{padding:0 12px}.sentry-url-input[data-v-f1afc3a6] .q-field__control{height:36px;min-height:36px;padding:0}.sentry-url-input[data-v-f1afc3a6] input{color:#d0d0d0;font-size:13px}.sentry-url-input[data-v-f1afc3a6] input::placeholder{color:#555;font-size:12px}.sentry-error[data-v-f1afc3a6],.sentry-valid[data-v-f1afc3a6]{padding-bottom:6px}.slide-enter-active[data-v-f1afc3a6],.slide-leave-active[data-v-f1afc3a6]{transition:all .2s;overflow:hidden}.slide-enter-from[data-v-f1afc3a6],.slide-leave-to[data-v-f1afc3a6]{opacity:0;max-height:0}.slide-enter-to[data-v-f1afc3a6],.slide-leave-from[data-v-f1afc3a6]{opacity:1;max-height:120px}.card-bottom-bar[data-v-f1afc3a6]{background:#1e1e3a}.skip-setup-btn[data-v-f1afc3a6]{min-height:28px;padding:2px 10px;font-size:11px}.skip-setup-btn[data-v-f1afc3a6] .q-btn__content{gap:4px}.skip-setup-btn[data-v-f1afc3a6] .q-icon{font-size:14px}.bottom-row-git .bottom-select-label[data-v-f1afc3a6]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-row-git .bottom-select.repo-select[data-v-f1afc3a6] input{color:#bbb;padding:0 4px;font-size:11px}.bottom-row-git .bottom-select.repo-select[data-v-f1afc3a6] input::placeholder{color:#666;font-style:italic}.bottom-select[data-v-f1afc3a6]{background:#333;height:28px;padding:0 6px}.bottom-select[data-v-f1afc3a6] .q-field__control{height:28px;min-height:28px;padding:0}.bottom-select[data-v-f1afc3a6] .q-field__native{min-height:unset;padding:0}.bottom-select-label[data-v-f1afc3a6]{color:#bbb;gap:2px;font-size:11px}.bottom-sep[data-v-f1afc3a6]{color:#555;padding:0 2px;font-size:12px;line-height:1}.repo-path-wrap[data-v-f1afc3a6]{background:#333;border-radius:6px;height:28px;padding:0 8px}.repo-input[data-v-f1afc3a6]{min-width:140px}.repo-input[data-v-f1afc3a6] .q-field__control{height:28px;min-height:28px;padding:0}.repo-input[data-v-f1afc3a6] input{color:#bbb;font-size:11px}.repo-input[data-v-f1afc3a6] input::placeholder{color:#666;font-size:11px}.branch-select[data-v-f1afc3a6]{min-width:80px}.create-btn[data-v-f1afc3a6]{color:#fff;background:#4f46e5;min-width:220px;height:32px;padding:0 32px;font-size:13px}.create-btn[data-v-f1afc3a6] .q-btn__content{height:32px}.create-hint[data-v-f1afc3a6]{line-height:1.5}.fade-enter-active[data-v-f1afc3a6],.fade-leave-active[data-v-f1afc3a6]{transition:opacity .2s}.fade-enter-from[data-v-f1afc3a6],.fade-leave-to[data-v-f1afc3a6]{opacity:0}.manual-hint[data-v-f1afc3a6]{background:#1e1e3a;line-height:1.4}.manual-expansion[data-v-f1afc3a6]{background:#1e1e3a;border:1px solid #333;border-radius:4px;margin-top:6px;overflow:hidden}.manual-expansion[data-v-f1afc3a6] .manual-expansion-header{min-height:32px;padding:4px 10px;font-size:12px}.manual-expansion[data-v-f1afc3a6] .q-expansion-item__content,.manual-section-body[data-v-f1afc3a6]{background:#1a1a2e}.manual-input[data-v-f1afc3a6] .q-field__control{height:26px;min-height:26px;padding:0}.manual-input[data-v-f1afc3a6] input{color:#e0e0e0;font-size:12px}.manual-input[data-v-f1afc3a6] input::placeholder{color:#555}.manual-item[data-v-f1afc3a6]{border-top:1px solid #ffffff0a}.manual-item[data-v-f1afc3a6]:first-child{border-top:none}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{E as e,F as t,H as n,L as r,M as ee,N as te,Q as i,T as ne,U as a,_t as re,bt as o,d as s,f as c,g as l,h as u,l as d,p as f,r as ie,rt as p,u as m,v as ae,vt as oe,x as se}from"./runtime-core.esm-bundler-9Z0QAO_7.js";import{H as ce,R as le,U as h,t as g}from"./QIcon-qfJNZLIW.js";import{r as _}from"./use-id-_7wiRcgb.js";import{s as ue}from"./notifications-BPnKFW60.js";import{t as v}from"./QBtn-DEuWKHbR.js";import{n as de}from"./vue-i18n-DI-gS-CC.js";import{t as y}from"./QInput-DCJEwE8V.js";import{a as fe,h as pe,l as me,s as he}from"./index-CdHDdk1y.js";import{t as ge}from"./QSpinnerDots-Bfl2RMy4.js";import{n as b,t as x}from"./QItemSection-CQUDd0Vg.js";import{t as S}from"./QItemLabel-CHkgkZVj.js";import{t as C}from"./QTooltip-DUGPNNeQ.js";import{t as _e}from"./QExpansionItem-BGg74no1.js";import{t as ve}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as ye}from"./QSpace-DKIph84L.js";import{t as be}from"./use-quasar-DQYS47mh.js";import{n as w,t as xe}from"./models-Bd_v3W7Q.js";import{t as Se}from"./QPage-Co2h9wd_.js";import{i as Ce,n as we,r as Te,t as Ee}from"./expand-template-Crz1uiBt.js";var T=`kobo:create-page-prefs`;function De(){try{let e=localStorage.getItem(T);return e===null?void 0:JSON.parse(e)}catch{return}}function E(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Oe(){let e=De();if(!E(e))return{};let t={};return typeof e.projectPath==`string`&&e.projectPath.length>0&&(t.projectPath=e.projectPath),typeof e.autoLoop==`boolean`&&(t.autoLoop=e.autoLoop),t}function ke(e){try{localStorage.setItem(T,JSON.stringify(e))}catch{}}var Ae={class:`create-inner`},je={class:`create-title text-center text-weight-bold q-mb-lg text-grey-3`},Me={class:`create-card rounded-borders`},Ne={class:`card-top-bar row items-center q-px-md q-py-xs`},Pe={class:`model-badge cursor-default row items-center q-gutter-xs`},Fe={class:`text-indigo-3 text-weight-medium text-caption`},Ie={key:0,class:`notion-url-wrap`},Le={key:0,class:`notion-error text-caption q-px-md q-pb-xs text-red-5`},Re={key:1,class:`notion-valid text-caption q-px-md q-pb-xs text-green-4`},ze={key:2,class:`notion-peek-choice q-px-md q-pb-sm`},Be={class:`text-caption text-grey-4 q-mb-sm`},Ve={class:`row q-gutter-sm`},He={class:`peek-card-text`},Ue={class:`peek-card-title`},We={class:`peek-card-desc`},Ge={class:`peek-card-text`},Ke={class:`peek-card-title`},qe={class:`peek-card-desc`},Je={key:0,class:`sentry-url-wrap`},Ye={key:0,class:`sentry-error text-caption q-px-md q-pb-xs text-red-5`},Xe={key:1,class:`sentry-valid text-caption q-px-md q-pb-xs text-red-4`},Ze={class:`card-name-wrap`},Qe={class:`card-textarea-wrap`},$e={class:`row items-center justify-end q-px-sm q-pb-xs q-gutter-sm`},et={key:0,class:`row items-center text-caption text-amber-6`},tt={class:`manual-hint q-px-md q-py-sm text-caption text-grey-6`},nt={class:`q-pa-sm manual-section-body`},rt={class:`row items-center q-gutter-sm q-mb-sm`},it={class:`col text-caption text-grey-4`},at={class:`q-pa-sm manual-section-body`},ot={class:`row items-center q-gutter-sm q-mb-sm`},st={class:`col text-caption text-grey-4`},ct={class:`card-bottom-bar`},lt={class:`row q-col-gutter-xs q-px-xs`},ut={key:0,class:`col-12 col-sm-6 col-md-3`},dt={class:`bottom-select-label row items-center no-wrap`},ft={class:`col-12 col-sm-6 col-md-3`},pt={class:`bottom-select-label row items-center no-wrap`},mt={class:`col-12 col-sm-6 col-md-3`},ht={class:`bottom-select-label row items-center no-wrap`},gt={class:`col-12 col-md-3`},_t={class:`bottom-select-label row items-center no-wrap`},vt={class:`row q-col-gutter-xs q-pa-xs col-12 items-center justify-center`},yt={class:`col-12 col-md-auto`},bt={class:`col-12 col-md-auto`},xt={class:`col-12 col-md-auto`},St={class:`row q-col-gutter-xs q-px-xs bottom-row-git`},Ct={class:`col-12 col-md-4`},wt={key:0,class:`col-12 col-md-4`},Tt={class:`bottom-select-label row items-center no-wrap`},Et={key:1,class:`col-12 col-md-4`},Dt={class:`bottom-select-label row items-center no-wrap`},Ot={class:`col-12 col-md-4`},kt={class:`bottom-select-label row items-center no-wrap`},At={class:`row justify-center q-px-sm q-py-sm`},jt={class:`create-hint text-center text-body2 q-mt-md text-grey-8`},Mt=6e4,D=ve(ae({__name:`CreatePage`,setup(ae){let ve=fe(),T=be(),De=me(),E=ue(),{t:D}=de(),Nt=i([]),Pt=i(``),O=i(``),Ft=i(null),k=i(!1),A=i(!1),It=i(null),Lt=i(null),Rt=i([]),zt=i(null),j=i(``),M=i(!1),N=i(`claude-opus-4-7`),Bt=i(`auto`),P=i(``),F=i(null),Vt=i(`feature`),I=i(!1),Ht=d(()=>E.global.voiceEnabled),Ut=i([]),L=i(`claude-code`),Wt=d(()=>Ut.value.find(e=>e.id===L.value)),Gt=d(()=>Ut.value.map(e=>({value:e.id,label:e.displayName}))),Kt=[{label:`feature/`,value:`feature`},{label:`fix/`,value:`fix`},{label:`hotfix/`,value:`hotfix`},{label:`chore/`,value:`chore`},{label:`refactor/`,value:`refactor`},{label:`docs/`,value:`docs`},{label:`test/`,value:`test`}],qt=[`plan`,`bypass`,`strict`,`interactive`];function Jt(e){let t=e?E.getProjectByPath(e):void 0,n=t?.agentPermissionMode;if(typeof n==`string`&&qt.includes(n))return n;let r=E.global.defaultPermissionMode;return qt.includes(r)?r:r===`plan`?`plan`:t?.dangerouslySkipPermissions??E.global.dangerouslySkipPermissions??!0?`bypass`:`interactive`}let R=i(Jt(``)),Yt=d(()=>{switch(R.value){case`plan`:return`visibility`;case`bypass`:return`flash_on`;case`strict`:return`lock`;case`interactive`:return`security`}}),Xt=d(()=>(Wt.value?.capabilities.permissionModes??qt).map(e=>({value:e,label:D(`agentPermissionMode.${e}`),disabled:e===`plan`&&Y.value}))),z=i([]),Zt=i([]),Qt=i(!1),$t=i(!1);function en(e,t){t(()=>{Zt.value=e?z.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):z.value})}let tn=pe();function nn(){return Ft.value?.nativeEl??null}let{showSkills:rn,selectedSkillIndex:B,groupedDropdown:an,flatDropdown:V,fetchSkills:on,detectSlashFragment:sn,replaceFragmentWith:cn,closeDropdown:ln}=Te(O,nn,{excludeKoboCommands:!0});on(),n(O,async()=>{await e(),await sn()});function un(e){if(e.type===`template`){let t=tn.templates.find(t=>t.slug===e.name);if(!t)return;cn(we(t.content,Ee({workspace:null,gitStats:null,sessionName:null}))),ln();return}cn(`/${e.name} `),ln()}function dn(e){!rn.value||V.value.length===0||(e.key===`ArrowDown`?(e.preventDefault(),B.value=(B.value+1)%V.value.length):e.key===`ArrowUp`?(e.preventDefault(),B.value=(B.value-1+V.value.length)%V.value.length):e.key===`Enter`&&!e.shiftKey&&!e.ctrlKey&&!e.metaKey?(e.preventDefault(),un(V.value[B.value])):e.key===`Escape`&&(e.preventDefault(),ln()))}async function fn(){if(!(!Ht.value||k.value||A.value)){if(!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){T.notify({type:`warning`,message:D(`voice.notSupported`),position:`top`,timeout:4e3});return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});Lt.value=e,Rt.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&&Rt.value.push(e.data)},n.start(),It.value=n,k.value=!0,zt.value=setTimeout(()=>{H(),T.notify({type:`info`,message:D(`voice.maxDurationReached`),position:`top`,timeout:3500})},Mt)}catch{T.notify({type:`negative`,message:D(`voice.errorMicPermission`),position:`top`,timeout:5e3})}}}async function H(){if(!k.value)return;let e=It.value;if(!e)return;k.value=!1,A.value=!0,zt.value&&=(clearTimeout(zt.value),null);let t=await new Promise(t=>{e.onstop=()=>t(new Blob(Rt.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`,E.global.voiceLanguage||`auto`);let n=await fetch(`/api/voice/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()&&(O.value=O.value?`${O.value.trimEnd()} ${r.text.trim()}`:r.text.trim())}catch(e){let t=e instanceof Error?e.message:`TRANSCRIPTION_FAILED`;T.notify({type:`negative`,message:D({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{It.value=null,Rt.value=[],Lt.value?.getTracks().forEach(e=>{e.stop()}),Lt.value=null,A.value=!1}}function pn(e){return Ht.value?E.global.voicePttKey===`ctrl+space`?e.ctrlKey&&e.code===`Space`:e.key===`Alt`:!1}function mn(e){!pn(e)||e.repeat||(e.preventDefault(),fn())}function hn(e){pn(e)&&(e.preventDefault(),H())}function gn(){k.value&&H()}function _n(){document.visibilityState!==`visible`&&k.value&&H()}let vn=d(()=>xe.map(e=>({label:D(e.i18nLabelKey),value:e.value,description:D(e.i18nDescriptionKey)})));function U(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}let yn=d(()=>[{label:U(D(`reasoning.auto`)),value:`auto`,description:D(`reasoning.autoDescription`)},{label:U(D(`reasoning.low`)),value:`low`,description:D(`reasoning.lowDescription`)},{label:U(D(`reasoning.medium`)),value:`medium`,description:D(`reasoning.mediumDescription`)},{label:U(D(`reasoning.high`)),value:`high`,description:D(`reasoning.highDescription`)},{label:U(D(`reasoning.xhigh`)),value:`xhigh`,description:D(`reasoning.xhighDescription`)},{label:U(D(`reasoning.max`)),value:`max`,description:D(`reasoning.maxDescription`)}]),W=d(()=>j.value.trim().startsWith(`https://www.notion.so/`)),bn=d(()=>/[?&]p=[0-9a-f]{32}(?:[&#]|$)/i.test(j.value)),G=i(`panel`);function xn(){let e=j.value.trim();return G.value===`parent`&&bn.value?e.replace(/([?&])p=[0-9a-f]{32}(?=[&#]|$)/i,`$1`).replace(/([?&])pm=[a-z]+(?=[&#]|$)/i,`$1`).replace(/[?&]+$/,``).replace(/\?&/,`?`):e}let K=i([]),q=i([]),Sn=i(``),Cn=i(``),wn=d(()=>!M.value||!W.value);function Tn(){let e=Sn.value.trim();e&&(K.value.push(e),Sn.value=``)}function En(e){K.value.splice(e,1)}function Dn(){let e=Cn.value.trim();e&&(q.value.push(e),Cn.value=``)}function On(e){q.value.splice(e,1)}function kn(){M.value=!M.value,M.value||(j.value=``)}let J=i(!1),Y=i(!1);n(()=>Y.value,e=>{e&&R.value!==`bypass`&&(R.value=`bypass`,T.notify({type:`info`,message:D(`agentPermissionMode.autoLoopLocked`),timeout:4e3}))});let X=i(``),An=d(()=>/\/issues\/\d+/.test(X.value.trim()));function jn(){J.value=!J.value,J.value||(X.value=``)}let Z=i(!1),Q=i(null),$=i([]),Mn=i(!1);async function Nn(){if(!P.value.trim()){$.value=[];return}Mn.value=!0;try{$.value=await De.fetchOrphanWorktrees(P.value.trim())}catch{$.value=[]}finally{Mn.value=!1}}function Pn(){Z.value=!Z.value,Z.value?(M.value=!1,j.value=``,J.value=!1,X.value=``,I.value=!0,Nn()):Q.value=null}n(P,()=>{Q.value=null,Z.value&&Nn()}),n(Q,e=>{if(!e)return;let t=$.value.find(t=>t.path===e);t&&(F.value=t.suggestedSourceBranch),I.value=!0});async function Fn(e){if(!e.trim()){z.value=[],F.value=null;return}Qt.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();z.value=n.local??n.branches??[],z.value.length>0&&!F.value&&(F.value=z.value[0]??null)}catch{z.value=[],F.value=null}finally{Qt.value=!1}}function In(e){let t=E.getProjectByPath(e);t&&(t.defaultSourceBranch&&(F.value=t.defaultSourceBranch),t.defaultModel?N.value=t.defaultModel:E.global.defaultModel&&(N.value=E.global.defaultModel)),R.value=Jt(e)}let Ln=null;n(P,e=>{Ln&&clearTimeout(Ln),Ln=setTimeout(()=>{F.value=null,Fn(e),In(e)},500)});function Rn(e,t){t(()=>{Nt.value=E.projectPaths.filter(t=>t.toLowerCase().includes(e.toLowerCase()))})}ee(async()=>{await E.fetchSettings();let e=Oe();e.autoLoop===!0&&(Y.value=!0),e.projectPath&&E.projectPaths.includes(e.projectPath)&&(P.value=e.projectPath),R.value=Jt(P.value);try{let e=await fetch(`/api/engines`);e.ok&&(Ut.value=await e.json())}catch{}window.addEventListener(`keydown`,mn),window.addEventListener(`keyup`,hn),window.addEventListener(`blur`,gn),document.addEventListener(`visibilitychange`,_n)}),te(()=>{Ln&&clearTimeout(Ln),window.removeEventListener(`keydown`,mn),window.removeEventListener(`keyup`,hn),window.removeEventListener(`blur`,gn),document.removeEventListener(`visibilitychange`,_n),zt.value&&=(clearTimeout(zt.value),null),k.value&&H()});function zn(e){return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toLowerCase().replace(/[^a-z0-9\s-]/g,``).trim().replace(/\s+/g,`-`).replace(/-+/g,`-`).substring(0,50)}function Bn(){return Pt.value.trim()?Pt.value.trim().substring(0,80):!M.value&&!J.value&&O.value.trim()&&(O.value.trim().split(`
|
|
2
|
-
`)[0]??``).substring(0,80)||`workspace`}function Vn(e){let t=(e.split(`/`).pop()??``).split(`-`);t.length>1&&/^[0-9a-f]{12,}$/i.test(t[t.length-1])&&t.pop();let n=t.join(`-`).toLowerCase(),r=n.match(/tk-(\d+)/);if(r){let e=`TK-${r[1]}`,t=n.replace(/tk-\d+/i,``).replace(/-+/g,`-`).replace(/^-|-$/g,``).substring(0,40);return t?`${e}--${t}`:e}return n.substring(0,50)||`task-${Date.now()}`}function Hn(){return M.value&&!W.value?D(`createPage.validationNotionUrl`):J.value&&!An.value?D(`createPage.sentryValidation`):!M.value&&!J.value&&!O.value.trim()?D(`createPage.validationDescription`):!M.value&&!J.value&&(!Bn()||Bn()===`workspace`)&&!Pt.value.trim()&&!O.value.trim()?D(`createPage.validationName`):P.value.trim()?F.value?null:D(`createPage.validationBranch`):D(`createPage.validationPath`)}async function Un(){let e=Hn();if(e){T.notify({type:`negative`,message:e,position:`top`});return}if(Z.value&&!Q.value){T.notify({type:`negative`,message:D(`createPage.pickWorktreeRequired`),position:`top`});return}$t.value=!0;try{let e=Bn(),t;t=M.value&&W.value?Vn(xn()):e===`workspace`?`task-${Date.now()}`:zn(e);let n=`${Vt.value}/${t}`,r={name:e,projectPath:P.value.trim(),sourceBranch:F.value,...Z.value&&Q.value?{worktreePath:Q.value,skipSetupScript:!0}:{workingBranch:n},engine:L.value,model:N.value,reasoningEffort:Bt.value,...M.value&&W.value?{notionUrl:xn()}:{},...J.value&&An.value?{sentryUrl:X.value.trim()}:{},...wn.value&&K.value.length>0?{tasks:K.value}:{},...wn.value&&q.value.length>0?{acceptanceCriteria:q.value}:{},...I.value&&!Z.value?{skipSetupScript:!0}:{},...O.value.trim()?{description:O.value.trim()}:{},...Y.value?{autoLoop:!0}:{},agentPermissionMode:Y.value&&R.value===`plan`?`bypass`:R.value},ee=await De.createWorkspace(r);ke({projectPath:P.value.trim(),autoLoop:Y.value}),he().subscribe(ee.id),De.selectWorkspace(ee.id),ve.push({name:`workspace`,params:{id:ee.id}})}catch{T.notify({type:`negative`,message:D(`createPage.errorCreating`),position:`top`})}finally{$t.value=!1}}return(e,n)=>(t(),s(Se,{class:`create-page flex flex-center column`},{default:a(()=>[m(`div`,Ae,[m(`div`,je,o(e.$t(`createPage.title`)),1),m(`div`,Me,[m(`div`,Ne,[m(`span`,Pe,[l(g,{name:`auto_awesome`,size:`14px`,color:`indigo-4`}),m(`span`,Fe,o(Wt.value?.displayName??e.$t(`createPage.claudeCode`)),1)]),l(ye),l(v,{flat:``,dense:``,"no-caps":``,size:`sm`,color:M.value?`green-4`:`grey-5`,class:`notion-toggle-btn text-caption rounded-borders`,disable:Z.value,onClick:kn},{default:a(()=>[l(g,{name:`description`,size:`14px`,class:`q-mr-xs`}),u(` `+o(M.value?e.$t(`createPage.notionEnabled`):e.$t(`createPage.importNotion`)),1)]),_:1},8,[`color`,`disable`]),l(v,{flat:``,dense:``,"no-caps":``,size:`sm`,color:J.value?`red-4`:`grey-5`,class:`sentry-toggle-btn text-caption rounded-borders q-ml-sm`,disable:Z.value,onClick:jn},{default:a(()=>[l(g,{name:`bug_report`,size:`14px`,class:`q-mr-xs`}),u(` `+o(J.value?e.$t(`createPage.sentryEnabled`):e.$t(`createPage.importSentry`)),1)]),_:1},8,[`color`,`disable`])]),l(_,{color:`grey-9`}),l(le,{name:`slide`},{default:a(()=>[M.value?(t(),f(`div`,Ie,[l(y,{modelValue:j.value,"onUpdate:modelValue":n[0]||=e=>j.value=e,borderless:``,dense:``,placeholder:e.$t(`createPage.notionPlaceholder`),class:`notion-url-input`,"input-class":`notion-url-input-inner`},{prepend:a(()=>[l(g,{name:`link`,size:`16px`,color:W.value?`green-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),j.value.trim()&&!W.value?(t(),f(`div`,Le,o(e.$t(`createPage.notionValidation`)),1)):c(``,!0),W.value?(t(),f(`div`,Re,o(e.$t(`createPage.notionAutoExtract`)),1)):c(``,!0),W.value&&bn.value?(t(),f(`div`,ze,[m(`div`,Be,[l(g,{name:`info`,size:`14px`,color:`indigo-4`,class:`q-mr-xs`}),u(` `+o(e.$t(`createPage.notionPanelChoiceLabel`)),1)]),m(`div`,Ve,[m(`button`,{type:`button`,class:re([`peek-card col`,{"peek-card--active":G.value===`panel`}]),onClick:n[1]||=e=>G.value=`panel`},[l(g,{name:`article`,size:`22px`,class:`peek-card-icon`}),m(`div`,He,[m(`div`,Ue,o(e.$t(`createPage.notionPanelOption`)),1),m(`div`,We,o(e.$t(`createPage.notionPanelOptionDesc`)),1)]),G.value===`panel`?(t(),s(g,{key:0,name:`check_circle`,size:`18px`,color:`indigo-4`,class:`peek-card-check`})):c(``,!0)],2),m(`button`,{type:`button`,class:re([`peek-card col`,{"peek-card--active":G.value===`parent`}]),onClick:n[2]||=e=>G.value=`parent`},[l(g,{name:`folder_open`,size:`22px`,class:`peek-card-icon`}),m(`div`,Ge,[m(`div`,Ke,o(e.$t(`createPage.notionParentOption`)),1),m(`div`,qe,o(e.$t(`createPage.notionParentOptionDesc`)),1)]),G.value===`parent`?(t(),s(g,{key:0,name:`check_circle`,size:`18px`,color:`indigo-4`,class:`peek-card-check`})):c(``,!0)],2)])])):c(``,!0)])):c(``,!0)]),_:1}),M.value?(t(),s(_,{key:0,color:`grey-9`})):c(``,!0),l(le,{name:`slide`},{default:a(()=>[J.value?(t(),f(`div`,Je,[l(y,{modelValue:X.value,"onUpdate:modelValue":n[3]||=e=>X.value=e,borderless:``,dense:``,placeholder:e.$t(`createPage.sentryPlaceholder`),class:`sentry-url-input`,"input-class":`sentry-url-input-inner`},{prepend:a(()=>[l(g,{name:`link`,size:`16px`,color:An.value?`red-4`:`grey-6`},null,8,[`color`])]),_:1},8,[`modelValue`,`placeholder`]),X.value.trim()&&!An.value?(t(),f(`div`,Ye,o(e.$t(`createPage.sentryValidation`)),1)):c(``,!0),An.value?(t(),f(`div`,Xe,o(e.$t(`createPage.sentryAutoExtract`)),1)):c(``,!0)])):c(``,!0)]),_:1}),J.value?(t(),s(_,{key:1,color:`grey-9`})):c(``,!0),m(`div`,Ze,[l(y,{modelValue:Pt.value,"onUpdate:modelValue":n[4]||=e=>Pt.value=e,borderless:``,dense:``,placeholder:M.value&&W.value?e.$t(`createPage.workspaceName`):e.$t(`createPage.workspaceNamePlaceholder`),class:`name-input`,"input-class":`name-input-inner`},null,8,[`modelValue`,`placeholder`])]),l(_,{color:`grey-9`}),m(`div`,Qe,[l(y,{ref_key:`descriptionRef`,ref:Ft,modelValue:O.value,"onUpdate:modelValue":n[5]||=e=>O.value=e,type:`textarea`,borderless:``,autogrow:``,rows:3,placeholder:M.value?e.$t(`createPage.instructions`):e.$t(`createPage.instructionsPlaceholder`),class:`create-textarea`,"input-class":`create-textarea-input`,onKeydown:[dn,ce(h(Un,[`ctrl`]),[`enter`]),ce(h(Un,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`]),m(`div`,$e,[A.value?(t(),f(`div`,et,[l(ge,{size:`14px`,color:`amber-6`,class:`q-mr-xs`}),m(`span`,null,o(e.$t(`voice.transcribing`)),1)])):c(``,!0),l(v,{flat:``,dense:``,size:`sm`,icon:A.value?`hourglass_top`:k.value?`mic`:`mic_none`,color:k.value?`red-5`:A.value?`amber-6`:`grey-6`,disable:!Ht.value||A.value,class:re({"voice-btn--recording":k.value}),onMousedown:h(fn,[`prevent`]),onMouseup:h(H,[`prevent`]),onMouseleave:h(H,[`prevent`]),onTouchstart:h(fn,[`prevent`]),onTouchend:h(H,[`prevent`])},{default:a(()=>[l(C,null,{default:a(()=>[u(o(A.value?e.$t(`voice.transcribing`):k.value?e.$t(`voice.recording`):e.$t(`voice.holdToTalk`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`disable`,`class`])]),p(rn)&&p(V).length>0?(t(),s(Ce,{key:0,class:`create-slash-popup`,"grouped-dropdown":p(an),"flat-dropdown":p(V),"selected-index":p(B),onSelect:un},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):c(``,!0)]),l(_,{color:`grey-9`}),wn.value?(t(),f(ie,{key:2},[m(`div`,tt,o(e.$t(`createPage.manualHint`)),1),l(_e,{dark:``,dense:``,label:e.$t(`createPage.tasks`,{count:K.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm`},{default:a(()=>[m(`div`,nt,[m(`div`,rt,[l(y,{modelValue:Sn.value,"onUpdate:modelValue":n[6]||=e=>Sn.value=e,dark:``,dense:``,borderless:``,placeholder:e.$t(`createPage.addTask`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:ce(h(Tn,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),l(v,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!Sn.value.trim(),onClick:Tn},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`tooltip.addTask`)),1)]),_:1})]),_:1},8,[`disable`])]),(t(!0),f(ie,null,r(K.value,(n,r)=>(t(),f(`div`,{key:`task-${r}`,class:`row items-center q-py-xs manual-item`},[m(`span`,it,o(n),1),l(v,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>En(r)},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`tooltip.removeTask`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),l(_e,{dark:``,dense:``,label:e.$t(`createPage.acceptanceCriteria`,{count:q.value.length}),"header-class":`text-grey-4 manual-expansion-header`,class:`manual-expansion q-mx-sm q-mb-sm`},{default:a(()=>[m(`div`,at,[m(`div`,ot,[l(y,{modelValue:Cn.value,"onUpdate:modelValue":n[7]||=e=>Cn.value=e,dark:``,dense:``,borderless:``,placeholder:e.$t(`createPage.addCriterion`),class:`col manual-input`,"input-class":`manual-input-inner`,onKeydown:ce(h(Dn,[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`onKeydown`]),l(v,{flat:``,dense:``,round:``,icon:`add`,color:`indigo-4`,disable:!Cn.value.trim(),onClick:Dn},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`tooltip.addCriterion`)),1)]),_:1})]),_:1},8,[`disable`])]),(t(!0),f(ie,null,r(q.value,(n,r)=>(t(),f(`div`,{key:`crit-${r}`,class:`row items-center q-py-xs manual-item`},[m(`span`,st,o(n),1),l(v,{flat:``,dense:``,round:``,icon:`close`,size:`xs`,color:`grey-6`,onClick:e=>On(r)},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`tooltip.removeCriterion`)),1)]),_:1})]),_:1},8,[`onClick`])]))),128))])]),_:1},8,[`label`]),l(_,{color:`grey-9`})],64)):c(``,!0),m(`div`,ct,[m(`div`,lt,[Gt.value.length>0?(t(),f(`div`,ut,[l(w,{modelValue:L.value,"onUpdate:modelValue":n[8]||=e=>L.value=e,options:Gt.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,dt,[l(g,{name:`hub`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(Gt.value.find(e=>e.value===L.value)?.label??L.value)+` `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`engine.select`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`])])):c(``,!0),m(`div`,ft,[l(w,{modelValue:N.value,"onUpdate:modelValue":n[9]||=e=>N.value=e,options:vn.value,dense:``,borderless:``,class:`bottom-select rounded-borders model-select`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,pt,[u(o(vn.value.find(e=>e.value===N.value)?.label??N.value)+` `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(({opt:e,itemProps:t})=>[l(b,ne(t,{class:`model-option`}),{default:a(()=>[l(x,null,{default:a(()=>[l(S,{class:`text-white`},{default:a(()=>[u(o(e.label),1)]),_:2},1024),l(S,{caption:``,class:`text-grey-5`},{default:a(()=>[u(o(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`])]),m(`div`,mt,[l(w,{modelValue:Bt.value,"onUpdate:modelValue":n[10]||=e=>Bt.value=e,options:yn.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`},{selected:a(()=>[m(`span`,ht,[l(g,{name:`psychology`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(yn.value.find(e=>e.value===Bt.value)?.label??Bt.value)+` `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(({opt:e,itemProps:t})=>[l(b,oe(se(t)),{default:a(()=>[l(x,null,{default:a(()=>[l(S,{class:`text-white`},{default:a(()=>[u(o(e.label),1)]),_:2},1024),l(S,{caption:``,class:`text-grey-5`},{default:a(()=>[u(o(e.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),_:1},8,[`modelValue`,`options`])]),m(`div`,gt,[l(w,{modelValue:R.value,"onUpdate:modelValue":n[11]||=e=>R.value=e,options:Xt.value,disable:Y.value,dense:``,borderless:``,class:`bottom-select rounded-borders`,"hide-dropdown-icon":``,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,"option-disable":e=>e.disabled===!0},{selected:a(()=>[m(`span`,_t,[l(g,{name:Yt.value,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),u(` `+o(Xt.value.find(e=>e.value===R.value)?.label??R.value)+` `,1),Y.value?c(``,!0):(t(),s(g,{key:0,name:`expand_more`,size:`12px`,color:`grey-5`}))])]),default:a(()=>[l(C,null,{default:a(()=>[u(o(Y.value?e.$t(`agentPermissionMode.autoLoopLocked`):e.$t(`agentPermissionMode.tooltip`)),1)]),_:1})]),_:1},8,[`modelValue`,`options`,`disable`,`option-disable`])])]),m(`div`,vt,[m(`div`,yt,[l(v,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:Y.value?`autorenew`:`sync_disabled`,color:Y.value?`amber-4`:`grey-5`,label:e.$t(`autoLoop.startInMode`),class:`skip-setup-btn`,onClick:n[12]||=e=>Y.value=!Y.value},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`autoLoop.startInMode`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`label`])]),m(`div`,bt,[l(v,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:I.value?`play_disabled`:`play_circle`,color:I.value?`orange-4`:`grey-5`,label:e.$t(`createPage.skipSetupScript`),class:`skip-setup-btn`,onClick:n[13]||=e=>I.value=!I.value},{default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`createPage.skipSetupScript`)),1)]),_:1})]),_:1},8,[`icon`,`color`,`label`])]),m(`div`,xt,[l(v,{flat:``,dense:``,size:`sm`,"no-caps":``,icon:`folder_open`,color:Z.value?`cyan-4`:`grey-5`,label:Z.value?e.$t(`createPage.attachWorktreeEnabled`):e.$t(`createPage.attachWorktreeToggle`),class:`skip-setup-btn`,onClick:Pn},null,8,[`color`,`label`])])]),m(`div`,St,[m(`div`,Ct,[l(w,{modelValue:P.value,"onUpdate:modelValue":n[14]||=e=>P.value=e,options:Nt.value,dense:``,borderless:``,"use-input":``,"fill-input":``,"hide-selected":``,"input-debounce":`0`,"new-value-mode":`add`,class:`bottom-select rounded-borders repo-select`,"hide-dropdown-icon":``,"input-class":P.value?``:`repo-input-empty`,placeholder:e.$t(`createPage.projectPath`),behavior:p(E).projectPaths.length>0?`menu`:`dialog`,onFilter:Rn,onInputValue:n[15]||=e=>{P.value=e}},{prepend:a(()=>[l(g,{name:`folder`,size:`14px`,color:`grey-5`})]),"no-option":a(()=>[l(b,null,{default:a(()=>[l(x,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`input-class`,`placeholder`,`behavior`])]),Z.value?c(``,!0):(t(),f(`div`,wt,[l(w,{modelValue:Vt.value,"onUpdate:modelValue":n[16]||=e=>Vt.value=e,options:Kt,"emit-value":``,"map-options":``,dense:``,borderless:``,class:`bottom-select rounded-borders branch-type-select`,"hide-dropdown-icon":``},{selected:a(()=>[m(`span`,Tt,[l(g,{name:`account_tree`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(Vt.value)+`/ `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),default:a(()=>[l(C,null,{default:a(()=>[u(o(e.$t(`createPage.branchType`)),1)]),_:1})]),_:1},8,[`modelValue`])])),Z.value?(t(),f(`div`,Et,[l(w,{modelValue:Q.value,"onUpdate:modelValue":n[17]||=e=>Q.value=e,options:$.value,"option-label":`branch`,"option-value":`path`,"emit-value":``,"map-options":``,"use-input":``,dense:``,borderless:``,class:`bottom-select rounded-borders worktree-select`,"hide-dropdown-icon":``,loading:Mn.value,disable:!P.value.trim()||Mn.value},{selected:a(()=>[m(`span`,Dt,[l(g,{name:`folder_open`,size:`12px`,color:`cyan-5`,class:`q-mr-xs`}),u(` `+o(Q.value?$.value.find(e=>e.path===Q.value)?.branch??Q.value:e.$t(`createPage.worktreePickerLabel`))+` `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),option:a(e=>[l(b,oe(se(e.itemProps)),{default:a(()=>[l(x,null,{default:a(()=>[l(S,null,{default:a(()=>[u(o(e.opt.branch),1)]),_:2},1024),l(S,{caption:``},{default:a(()=>[u(o(e.opt.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1040)]),"no-option":a(()=>[l(b,null,{default:a(()=>[l(x,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(P.value.trim()?e.$t(`createPage.noOrphanWorktrees`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])])):c(``,!0),m(`div`,Ot,[l(w,{modelValue:F.value,"onUpdate:modelValue":n[18]||=e=>F.value=e,options:Zt.value,dense:``,borderless:``,class:`bottom-select rounded-borders branch-select`,"hide-dropdown-icon":``,"use-input":``,"input-debounce":`0`,loading:Qt.value,disable:!P.value.trim()||Qt.value,onFilter:en},{selected:a(()=>[m(`span`,kt,[l(g,{name:`call_split`,size:`12px`,color:`grey-5`,class:`q-mr-xs`}),u(` `+o(F.value??e.$t(`createPage.branch`))+` `,1),l(g,{name:`expand_more`,size:`12px`,color:`grey-5`})])]),"no-option":a(()=>[l(b,null,{default:a(()=>[l(x,{class:`text-grey-6 text-caption`},{default:a(()=>[u(o(P.value.trim()?e.$t(`createPage.noBranches`):e.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])])])]),m(`div`,At,[l(v,{label:e.$t(`createPage.create`),"no-caps":``,unelevated:``,class:`create-btn text-weight-bold rounded-borders`,loading:$t.value,disable:$t.value||Z.value&&!Q.value,onClick:Un},null,8,[`label`,`loading`,`disable`])])]),m(`div`,jt,o(M.value?e.$t(`createPage.notionExtractHint`):e.$t(`createPage.notionImportHint`)),1)])]),_:1}))}}),[[`__scopeId`,`data-v-f1afc3a6`]]);export{D as default};
|