@loicngr/kobo 1.7.27 → 1.7.29
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/CHANGELOG.md +8 -0
- package/dist/mcp-server/kobo-tasks-server.js +27 -0
- package/dist/server/routes/templates.js +19 -1
- package/dist/server/routes/workspaces.js +70 -3
- package/dist/server/services/templates-service.js +35 -0
- package/dist/server/services/usage/providers/claude-code.js +33 -2
- package/dist/server/utils/git-ops.js +101 -3
- package/package.json +1 -1
- package/src/client/dist/spa/assets/{ActivityFeed-CY7iSUwF.js → ActivityFeed-rio_ru8s.js} +1 -1
- package/src/client/dist/spa/assets/{ChangelogPage-DWAmbFWX.js → ChangelogPage-Dk8nKtM0.js} +1 -1
- package/src/client/dist/spa/assets/{CreatePage-YT54FfA1.js → CreatePage-BmGIFI8W.js} +2 -2
- package/src/client/dist/spa/assets/{DiffViewer-C4L5y8Ho.css → DiffViewer-BuYD1EDP.css} +1 -1
- package/src/client/dist/spa/assets/DiffViewer-deM4uqPU.js +8 -0
- package/src/client/dist/spa/assets/{HealthPage-DGh8w9iT.js → HealthPage-DAA51STa.js} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-DKUsEDQ4.css → MainLayout-4vhZRrU2.css} +1 -1
- package/src/client/dist/spa/assets/{MainLayout-C0mTMDDv.js → MainLayout-DrY2_qyP.js} +17 -17
- package/src/client/dist/spa/assets/QSelect-Dm7qaLfk.js +36 -0
- package/src/client/dist/spa/assets/{SearchPage-pIX1EzKl.js → SearchPage-CMH0AoRw.js} +1 -1
- package/src/client/dist/spa/assets/SettingsPage-B7dDhXCS.css +1 -0
- package/src/client/dist/spa/assets/SettingsPage-DH-KTis9.js +9 -0
- package/src/client/dist/spa/assets/WorkspacePage-CH3k_9_s.js +4 -0
- package/src/client/dist/spa/assets/{cssMode-2ylLbTu-.js → cssMode-DmArionU.js} +1 -1
- package/src/client/dist/spa/assets/{editor.api-CadEvLPy.js → editor.api-CseR9xvC.js} +1 -1
- package/src/client/dist/spa/assets/{editor.main-C71mfCQt.js → editor.main-Yih57bDS.js} +3 -3
- package/src/client/dist/spa/assets/{engineFeatures-DM5FzkGJ.js → engineFeatures-d1kZ8NXB.js} +1 -1
- package/src/client/dist/spa/assets/{expand-template-B5Xg2o0V.js → expand-template-D_3H5Och.js} +1 -1
- package/src/client/dist/spa/assets/{freemarker2-BhNdcQrl.js → freemarker2-Cd59aTHU.js} +1 -1
- package/src/client/dist/spa/assets/{handlebars-e8nGt_F5.js → handlebars-CeswicPh.js} +1 -1
- package/src/client/dist/spa/assets/{html-3AMWBd0B.js → html-C3-kLMMe.js} +1 -1
- package/src/client/dist/spa/assets/{htmlMode-C_TeBjBg.js → htmlMode-DQxZ0n2e.js} +1 -1
- package/src/client/dist/spa/assets/i18n-IlYZHxVd.js +1 -0
- package/src/client/dist/spa/assets/{index-BHT72IUw.js → index-C0H1sHuD.js} +8 -8
- package/src/client/dist/spa/assets/{javascript-DNXV1m0n.js → javascript-0NpnFHx9.js} +1 -1
- package/src/client/dist/spa/assets/{jsonMode-CoKVM_Q0.js → jsonMode-Byj6sx5w.js} +1 -1
- package/src/client/dist/spa/assets/kobo-commands-B_DBKQxq.js +9 -0
- package/src/client/dist/spa/assets/{liquid-Bor4GGNF.js → liquid-CzcaXBnO.js} +1 -1
- package/src/client/dist/spa/assets/{mdx-ybAriXVK.js → mdx-Dl6UUR_U.js} +1 -1
- package/src/client/dist/spa/assets/{monaco.contribution-BDBos_h5.js → monaco.contribution-mzaMwnEg.js} +2 -2
- package/src/client/dist/spa/assets/permissionModes-BUhr5Wdx.js +1 -0
- package/src/client/dist/spa/assets/{python-B8yv8Fk-.js → python-BFAu7VF2.js} +1 -1
- package/src/client/dist/spa/assets/{razor-BCfu0JXU.js → razor-BET2CB_3.js} +1 -1
- package/src/client/dist/spa/assets/{render-chat-markdown-sjnPe3Vu.js → render-chat-markdown-DsbgZODM.js} +1 -1
- package/src/client/dist/spa/assets/{tsMode-Cha-D9yo.js → tsMode-ORpv-QPD.js} +1 -1
- package/src/client/dist/spa/assets/{typescript-DPQ0P6qa.js → typescript-DGcONjjW.js} +1 -1
- package/src/client/dist/spa/assets/{use-onboarding-B6FZK2Yn.js → use-onboarding-B9TeTfkj.js} +1 -1
- package/src/client/dist/spa/assets/{xml-pWJPZqZ8.js → xml-Cs4DTg3L.js} +1 -1
- package/src/client/dist/spa/assets/{yaml-YsHRVX_S.js → yaml-HxNN05si.js} +1 -1
- package/src/client/dist/spa/index.html +1 -1
- package/src/mcp-server/kobo-tasks-server.ts +29 -0
- package/src/client/dist/spa/assets/DiffViewer-DTthEOys.js +0 -8
- package/src/client/dist/spa/assets/SettingsPage-C64_E1oJ.css +0 -1
- package/src/client/dist/spa/assets/SettingsPage-COBWjs_d.js +0 -9
- package/src/client/dist/spa/assets/WorkspacePage-CTaTo1Wh.js +0 -4
- package/src/client/dist/spa/assets/i18n-BPs_6dhe.js +0 -1
- package/src/client/dist/spa/assets/kobo-commands-DRDkhOO8.js +0 -9
- package/src/client/dist/spa/assets/permissionModes-Cebx7fq6.js +0 -1
- package/src/client/dist/spa/assets/skill-suite-prompts-8f_JW79j.js +0 -36
- /package/src/client/dist/spa/assets/{ClosePopup-0MWohgml.js → ClosePopup-BWYh08p9.js} +0 -0
- /package/src/client/dist/spa/assets/{QChip-D2TVel5I.js → QChip-5bnjPnRz.js} +0 -0
- /package/src/client/dist/spa/assets/{QList-CRYZxnPD.js → QList-Ch5K5W7r.js} +0 -0
- /package/src/client/dist/spa/assets/{QMenu-Yx1QEIHC.js → QMenu-CoPEAblj.js} +0 -0
- /package/src/client/dist/spa/assets/{build-path-tree-BKx2q92A.js → build-path-tree-B9aeh1tv.js} +0 -0
- /package/src/client/dist/spa/assets/{use-quasar-q6dh7QVJ.js → use-quasar-sypIWZgU.js} +0 -0
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./notifications-l1Pxijve.js";import{o as t}from"./skill-suite-prompts-8f_JW79j.js";t(`superpowers`);function n(e,t){let n=["1. Call `kobo__list_tasks` FIRST to inspect any pre-existing tasks (they may have been seeded from Notion, a template, or the CreatePage form).","2. If tasks already exist: DO NOT delete or recreate them from scratch. Read each one, judge whether it is atomic and implementable in one session with clear completion criteria. Improve them in place:\n - Use `kobo__update_task` to rename unclear titles, add completion criteria, or flip `is_acceptance_criterion` when needed.\n - Use `kobo__create_task` to SPLIT a task that is too large into smaller atomic pieces (keep the original only if it still makes sense, otherwise update it to one of the split pieces and create the rest).\n - Use `kobo__create_task` to ADD missing acceptance criteria or missing implementation steps the plan requires.","3. If no tasks exist:\n - If a plan file exists in `docs/superpowers/plans/` or similar, read it and derive the task list from it.\n - If no plan exists, ask the user what the workspace goal is and propose tasks accordingly.\n - Create the tasks via `kobo__create_task`. For each task, decide `is_acceptance_criterion` appropriately."],r=4;if(e.framework){let t=e.skill?`Use the \`${e.skill}\` skill for this task. `:``,i=e.prompt?`Additional guidance: ${e.prompt}`:``;n.push(`${r}. **E2E review**: walk the task list and identify which tasks produce user-visible behavior (UI flows, form submissions, page renders, etc.). For each one that warrants regression coverage, INSERT a follow-up sub-task with title prefixed \`[E2E] \` describing the test to write. Place it in \`sort_order\` directly after the parent task. Skip tasks that don't produce user-visible behavior (refactors, infra, internal services) and briefly justify your choices in chat. The project uses \`${e.framework}\`. ${t}${i}`.trim()),r++}return t.prompt&&(n.push(`${r}. **Finalization task**: create ONE task with title prefixed \`[FINAL] <descriptive title>\`. Place it at the END of the task list (sort_order = max + 1, AFTER any [E2E] tasks). The agent will execute this task using the project's finalization prompt — do NOT inline the prompt content into the task title or description.`),r++),n.push(`${r}. Call \`kobo__mark_auto_loop_ready\`. This will automatically start the auto-loop, which will pick up the tasks one by one in fresh sessions.`),n.join(`
|
|
2
|
-
`)}var r=n({framework:``,skill:``,prompt:``},{prompt:``}),i="Hard rules:\n- Do NOT touch any source file. No Edit, no Write, no Bash that changes the repo.\n- Do NOT run `kill`, `pkill`, `killall`, `pgrep -k`, or any process-killing command — you may tear down the Kōbō server itself or sibling dev servers.\n- Do NOT start implementation even if a plan is ready — auto-loop will drive that afterwards, one task per iteration.\n- If the user asks for changes, re-apply via MCP and re-check. Do NOT mark ready until they approve.",a=`Review your progress on the tasks and acceptance criteria. Use the kobo-tasks MCP server: call list_tasks() to check the current status, then update any tasks you have completed using mark_task_done(). Report what is done and what remains.
|
|
3
|
-
|
|
4
|
-
Then suggest concrete next actions. Format them exactly like this so I can click on them:
|
|
5
|
-
|
|
6
|
-
1. **Short label** → Description of the action
|
|
7
|
-
2. **Short label** → Description of the action`,o=`${r}
|
|
8
|
-
|
|
9
|
-
${i}`;function s(){let n=e();return`${t(n.global.skillSuite,n.global.customAutoLoopGroomingIntro)}\n\n${o}`}var c=`${t(`superpowers`)}\n\n${o}`,l={"/kobo-check-progress":{prompt:a,descriptionKey:`koboCommand.checkProgressDesc`},"/kobo-prep-autoloop":{prompt:c,descriptionKey:`koboCommand.prepAutoloopDesc`}};function u(e,t,n){t.sendChatMessage(e,a),n.markRead(e),n.addActivityItem(e,{id:`user-${Date.now()}`,type:`text`,content:a,timestamp:new Date().toISOString(),meta:{sender:`user`,pending:!0}})}async function d(e,t,n){try{let t=n.workspaces.find(t=>t.id===e);t&&t.agentPermissionMode===`plan`&&await n.updateAgentPermissionMode(e,`bypass`)}catch{}let r=s();try{let t=await fetch(`/api/workspaces/${e}/prep-autoloop-prompt`,{cache:`no-store`});if(t.ok){let e=await t.json();e.prompt&&(r=e.prompt)}}catch{}t.sendChatMessage(e,r,void 0,`bypass`),n.markRead(e),n.addActivityItem(e,{id:`user-${Date.now()}`,type:`text`,content:r,timestamp:new Date().toISOString(),meta:{sender:`user`,pending:!0}})}export{u as n,d as r,l as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,F as r,M as i,O as a,W as o,b as s,et as c,j as l,k as u,l as d}from"./runtime-core.esm-bundler-D_RRiKBh.js";import{A as f,M as p,N as m,O as h,P as g,S as _,a as v,b as y,t as ee}from"./QIcon-BmEX2rXO.js";import{u as b}from"./use-id-BCnfiBjU.js";import{I as x}from"./notifications-l1Pxijve.js";import{a as S,c as C,d as w,l as T,n as E,o as D,s as O,u as k}from"./QInput-D0t39uK_.js";import{_ as te}from"./index-BHT72IUw.js";import{n as ne,t as re}from"./QItemSection-DRg-QuAD.js";import{t as ie}from"./QItemLabel-Btqw0P7M.js";import{f as ae}from"./QTooltip-CwBZU_bs.js";import{t as oe}from"./QMenu-Yx1QEIHC.js";import{s as A}from"./skill-suite-prompts-8f_JW79j.js";import{t as se}from"./QChip-D2TVel5I.js";var ce=g({name:`QField`,inheritAttrs:!1,props:{...k,tag:{type:String,default:`label`}},emits:T,setup(){return C(w({tagProp:!0}))}}),j=1e3,M=[`start`,`center`,`end`,`start-force`,`center-force`,`end-force`],N=Array.prototype.filter,le=window.getComputedStyle(document.body).overflowAnchor===void 0?h:function(e,t){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];N.call(n,e=>e.dataset&&e.dataset.qVsAnchor!==void 0).forEach(e=>{delete e.dataset.qVsAnchor});let r=n[t];r?.dataset&&(r.dataset.qVsAnchor=``)}))};function P(e,t){return e+t}function F(e,t,n,r,i,a,o,s){let c=e===window?document.scrollingElement||document.documentElement:e,l=i===!0?`offsetWidth`:`offsetHeight`,u={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(i===!0?(e===window?(u.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,u.scrollViewSize+=document.documentElement.clientWidth):(u.scrollStart=c.scrollLeft,u.scrollViewSize+=c.clientWidth),u.scrollMaxSize=c.scrollWidth,a===!0&&(u.scrollStart=(A===!0?u.scrollMaxSize-u.scrollViewSize:0)-u.scrollStart)):(e===window?(u.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,u.scrollViewSize+=document.documentElement.clientHeight):(u.scrollStart=c.scrollTop,u.scrollViewSize+=c.clientHeight),u.scrollMaxSize=c.scrollHeight),n!==null)for(let e=n.previousElementSibling;e!==null;e=e.previousElementSibling)e.classList.contains(`q-virtual-scroll--skip`)===!1&&(u.offsetStart+=e[l]);if(r!==null)for(let e=r.nextElementSibling;e!==null;e=e.nextElementSibling)e.classList.contains(`q-virtual-scroll--skip`)===!1&&(u.offsetEnd+=e[l]);if(t!==e){let n=c.getBoundingClientRect(),r=t.getBoundingClientRect();i===!0?(u.offsetStart+=r.left-n.left,u.offsetEnd-=r.width):(u.offsetStart+=r.top-n.top,u.offsetEnd-=r.height),e!==window&&(u.offsetStart+=u.scrollStart),u.offsetEnd+=u.scrollMaxSize-u.offsetStart}return u}function I(e,t,n,r){t===`end`&&(t=(e===window?document.body:e)[n===!0?`scrollWidth`:`scrollHeight`]),e===window?n===!0?(r===!0&&(t=(A===!0?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):n===!0?(r===!0&&(t=(A===!0?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function L(e,t,n,r){if(n>=r)return 0;let i=t.length,a=Math.floor(n/j),o=Math.floor((r-1)/j)+1,s=e.slice(a,o).reduce(P,0);return n%j!==0&&(s-=t.slice(a*j,n).reduce(P,0)),r%j!==0&&r!==i&&(s-=t.slice(r,o*j).reduce(P,0)),s}var R={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]};function z({virtualScrollLength:r,getVirtualScrollTarget:l,getVirtualScrollEl:f,virtualScrollItemSizeComputed:p}){let{props:m,emit:h,proxy:g}=s(),{$q:_}=g,v,y,ee,x=[],S,C=c(0),w=c(0),T=c({}),E=c(null),D=c(null),O=c(null),k=c({from:0,to:0}),te=d(()=>m.tableColspan===void 0?100:m.tableColspan);p===void 0&&(p=d(()=>m.virtualScrollItemSize));let ne=d(()=>p.value+`;`+m.virtualScrollHorizontal);o(d(()=>ne.value+`;`+m.virtualScrollSliceRatioBefore+`;`+m.virtualScrollSliceRatioAfter),()=>{z()}),o(ne,re);function re(){R(y,!0)}function ie(e){R(e===void 0?y:e)}function ae(e,t){let n=l();if(n==null||n.nodeType===8)return;let i=F(n,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd);ee!==i.scrollViewSize&&z(i.scrollViewSize),A(n,i,Math.min(r.value-1,Math.max(0,parseInt(e,10)||0)),0,M.indexOf(t)===-1?y!==-1&&e>y?`end`:`start`:t)}function oe(){let e=l();if(e==null||e.nodeType===8)return;let t=F(e,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd),n=r.value-1,i=t.scrollMaxSize-t.offsetStart-t.offsetEnd-w.value;if(v===t.scrollStart)return;if(t.scrollMaxSize<=0){A(e,t,0,0);return}ee!==t.scrollViewSize&&z(t.scrollViewSize),se(k.value.from);let a=Math.floor(t.scrollMaxSize-Math.max(t.scrollViewSize,t.offsetEnd)-Math.min(S[n],t.scrollViewSize/2));if(a>0&&Math.ceil(t.scrollStart)>=a){A(e,t,n,t.scrollMaxSize-t.offsetEnd-x.reduce(P,0));return}let o=0,s=t.scrollStart-t.offsetStart,c=s;if(s<=i&&s+t.scrollViewSize>=C.value)s-=C.value,o=k.value.from,c=s;else for(let e=0;s>=x[e]&&o<n;e++)s-=x[e],o+=j;for(;s>0&&o<n;)s-=S[o],s>-t.scrollViewSize?(o++,c=s):c=S[o]+s;A(e,t,o,c)}function A(e,t,n,i,a){let o=typeof a==`string`&&a.indexOf(`-force`)!==-1,s=o===!0?a.replace(`-force`,``):a,c=s===void 0?`start`:s,l=Math.max(0,n-T.value[c]),u=l+T.value.total;u>r.value&&(u=r.value,l=Math.max(0,u-T.value.total)),v=t.scrollStart;let d=l!==k.value.from||u!==k.value.to;if(d===!1&&s===void 0){de(n);return}let{activeElement:f}=document,p=O.value;d===!0&&p!==null&&p!==f&&p.contains(f)===!0&&(p.addEventListener(`focusout`,ce),setTimeout(()=>{p?.removeEventListener(`focusout`,ce)})),le(p,n-l);let h=s===void 0?0:S.slice(l,n).reduce(P,0);if(d===!0){let e=u>=k.value.from&&l<=k.value.to?k.value.to:u;k.value={from:l,to:e},C.value=L(x,S,0,l),w.value=L(x,S,u,r.value),requestAnimationFrame(()=>{k.value.to!==u&&v===t.scrollStart&&(k.value={from:k.value.from,to:u},w.value=L(x,S,u,r.value))})}requestAnimationFrame(()=>{if(v!==t.scrollStart)return;d===!0&&se(l);let r=S.slice(l,n).reduce(P,0),a=r+t.offsetStart+C.value,c=a+S[n],u=a+i;if(s!==void 0){let e=r-h,i=t.scrollStart+e;u=o!==!0&&i<a&&c<i+t.scrollViewSize?i:s===`end`?c-t.scrollViewSize:a-(s===`start`?0:Math.round((t.scrollViewSize-S[n])/2))}v=u,I(e,u,m.virtualScrollHorizontal,_.lang.rtl),de(n)})}function se(e){let t=O.value;if(t){let n=N.call(t.children,e=>e.classList&&e.classList.contains(`q-virtual-scroll--skip`)===!1),r=n.length,i=m.virtualScrollHorizontal===!0?e=>e.getBoundingClientRect().width:e=>e.offsetHeight,a=e,o,s;for(let e=0;e<r;){for(o=i(n[e]),e++;e<r&&n[e].classList.contains(`q-virtual-scroll--with-prev`)===!0;)o+=i(n[e]),e++;s=o-S[a],s!==0&&(S[a]+=s,x[Math.floor(a/j)]+=s),a++}}}function ce(){O.value?.focus()}function R(e,t){let i=Number(p.value);(t===!0||Array.isArray(S)===!1)&&(S=[]);let a=S.length;S.length=r.value;for(let e=r.value-1;e>=a;e--)S[e]=i;let o=Math.floor((r.value-1)/j);x=[];for(let e=0;e<=o;e++){let t=0,n=Math.min((e+1)*j,r.value);for(let r=e*j;r<n;r++)t+=S[r];x.push(t)}y=-1,v=void 0,C.value=L(x,S,0,k.value.from),w.value=L(x,S,k.value.to,r.value),e>=0?(se(k.value.from),n(()=>{ae(e)})):fe()}function z(e){if(e===void 0&&typeof window<`u`){let t=l();t!=null&&t.nodeType!==8&&(e=F(t,f(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd).scrollViewSize)}ee=e;let t=parseFloat(m.virtualScrollSliceRatioBefore)||0,n=parseFloat(m.virtualScrollSliceRatioAfter)||0,r=1+t+n,i=e===void 0||e<=0?1:Math.ceil(e/p.value),a=Math.max(1,i,Math.ceil((m.virtualScrollSliceSize>0?m.virtualScrollSliceSize:10)/r));T.value={total:Math.ceil(a*r),start:Math.ceil(a*t),center:Math.ceil(a*(.5+t)),end:Math.ceil(a*(1+t)),view:i}}function ue(e,n){let r=m.virtualScrollHorizontal===!0?`width`:`height`,i={[`--q-virtual-scroll-item-`+r]:p.value+`px`};return[e===`tbody`?t(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E},[t(`tr`,[t(`td`,{style:{[r]:`${C.value}px`,...i},colspan:te.value})])]):t(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E,style:{[r]:`${C.value}px`,...i}}),t(e,{class:`q-virtual-scroll__content`,key:`content`,ref:O,tabindex:-1},n.flat()),e===`tbody`?t(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D},[t(`tr`,[t(`td`,{style:{[r]:`${w.value}px`,...i},colspan:te.value})])]):t(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D,style:{[r]:`${w.value}px`,...i}})]}function de(e){y!==e&&(m.onVirtualScroll!==void 0&&h(`virtualScroll`,{index:e,from:k.value.from,to:k.value.to-1,direction:e<y?`decrease`:`increase`,ref:g}),y=e)}z();let fe=b(oe,_.platform.is.ios===!0?120:35);u(()=>{z()});let pe=!1;return i(()=>{pe=!0}),a(()=>{if(pe!==!0)return;let e=l();v!==void 0&&e!=null&&e.nodeType!==8?I(e,v,m.virtualScrollHorizontal,_.lang.rtl):ae(y)}),e(()=>{fe.cancel()}),Object.assign(g,{scrollTo:ae,reset:re,refresh:ie}),{virtualScrollSliceRange:k,virtualScrollSliceSizeComputed:T,setVirtualScrollSize:z,onVirtualScrollEvt:fe,localResetVirtualScroll:R,padVirtualScroll:ue,scrollTo:ae,reset:re,refresh:ie}}var ue=e=>[`add`,`add-unique`,`toggle`].includes(e),de=".*+?^${}()|[]\\",fe=Object.keys(k);function pe(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>typeof e==`object`&&e&&n in e?e[n]:e}var B=g({name:`QSelect`,inheritAttrs:!1,props:{...R,...D,...k,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:ue},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>[`default`,`menu`,`dialog`].includes(e),default:`default`},virtualScrollItemSize:R.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...T,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(i,{slots:a,emit:u}){let{proxy:h}=s(),{$q:g}=h,b=c(!1),T=c(!1),D=c(-1),k=c(``),A=c(!1),j=c(!1),M=null,N=null,le,P,F,I=null,L,R,B,me,he=c(null),V=c(null),H=c(null),ge=c(null),_e=c(null),ve=S(i),ye=E(ut),U=d(()=>Array.isArray(i.options)?i.options.length:0),{virtualScrollSliceRange:be,virtualScrollSliceSizeComputed:xe,localResetVirtualScroll:Se,padVirtualScroll:Ce,onVirtualScrollEvt:we,scrollTo:Te,setVirtualScrollSize:Ee}=z({virtualScrollLength:U,getVirtualScrollTarget:ot,getVirtualScrollEl:at,virtualScrollItemSizeComputed:d(()=>i.virtualScrollItemSize===void 0?i.optionsDense===!0?24:48:i.virtualScrollItemSize)}),W=w(),G=d(()=>{let e=i.mapOptions===!0&&i.multiple!==!0,t=i.modelValue!==void 0&&(i.modelValue!==null||e===!0)?i.multiple===!0&&Array.isArray(i.modelValue)?i.modelValue:[i.modelValue]:[];if(i.mapOptions===!0&&Array.isArray(i.options)===!0){let n=i.mapOptions===!0&&le!==void 0?le:[],r=t.map(e=>Qe(e,n));return i.modelValue===null&&e===!0?r.filter(e=>e!==null):r}return t}),De=d(()=>{let e={};return fe.forEach(t=>{let n=i[t];n!==void 0&&(e[t]=n)}),e}),Oe=d(()=>i.optionsDark===null?W.isDark.value:i.optionsDark),ke=d(()=>O(G.value)),Ae=d(()=>{let e=`q-field__input q-placeholder col`;return i.hideSelected===!0||G.value.length===0?[e,i.inputClass]:(e+=` q-field__input--padding`,i.inputClass===void 0?e:[e,i.inputClass])}),je=d(()=>(i.virtualScrollHorizontal===!0?`q-virtual-scroll--horizontal`:``)+(i.popupContentClass?` `+i.popupContentClass:``)),Me=d(()=>U.value===0),Ne=d(()=>G.value.map(e=>q.value(e)).join(`, `)),Pe=d(()=>i.displayValue===void 0?Ne.value:i.displayValue),Fe=d(()=>i.optionsHtml===!0?()=>!0:e=>e?.html===!0),Ie=d(()=>i.displayValueHtml===!0||i.displayValue===void 0&&(i.optionsHtml===!0||G.value.some(Fe.value))),Le=d(()=>W.focused.value===!0?i.tabindex:-1),Re=d(()=>{let e={tabindex:i.tabindex,role:`combobox`,"aria-label":i.label,"aria-readonly":i.readonly===!0?`true`:`false`,"aria-autocomplete":i.useInput===!0?`list`:`none`,"aria-expanded":b.value===!0?`true`:`false`,"aria-controls":`${W.targetUid.value}_lb`};return D.value>=0&&(e[`aria-activedescendant`]=`${W.targetUid.value}_${D.value}`),e}),ze=d(()=>({id:`${W.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":i.multiple===!0?`true`:`false`})),Be=d(()=>G.value.map((e,t)=>({index:t,opt:e,html:Fe.value(e),selected:!0,removeAtIndex:Ye,toggleOption:Y,tabindex:Le.value}))),Ve=d(()=>{if(U.value===0)return[];let{from:e,to:t}=be.value;return i.options.slice(e,t).map((t,n)=>{let r=J.value(t)===!0,a=$e(t)===!0,o=e+n,s={clickable:!0,active:a,activeClass:We.value,manualFocus:!0,focused:!1,disable:r,tabindex:-1,dense:i.optionsDense,dark:Oe.value,role:`option`,"aria-selected":a===!0?`true`:`false`,id:`${W.targetUid.value}_${o}`,onClick:()=>{Y(t)}};return r!==!0&&(D.value===o&&(s.focused=!0),g.platform.is.desktop===!0&&(s.onMousemove=()=>{b.value===!0&&X(o)})),{index:o,opt:t,html:Fe.value(t),label:q.value(t),selected:s.active,focused:s.focused,toggleOption:Y,setOptionIndex:X,itemProps:s}})}),He=d(()=>i.dropdownIcon===void 0?g.iconSet.arrow.dropdown:i.dropdownIcon),Ue=d(()=>i.optionsCover===!1&&i.outlined!==!0&&i.standout!==!0&&i.borderless!==!0&&i.rounded!==!0),We=d(()=>i.optionsSelectedClass===void 0?i.color===void 0?``:`text-${i.color}`:i.optionsSelectedClass),K=d(()=>pe(i.optionValue,`value`)),q=d(()=>pe(i.optionLabel,`label`)),J=d(()=>pe(i.optionDisable,`disable`)),Ge=d(()=>G.value.map(K.value)),Ke=d(()=>{let e={onInput:ut,onChange:ye,onKeydown:it,onKeyup:nt,onKeypress:rt,onFocus:et,onClick(e){P===!0&&p(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=ye,e});o(G,e=>{le=e,i.useInput===!0&&i.fillInput===!0&&i.multiple!==!0&&W.innerLoading.value!==!0&&(T.value!==!0&&b.value!==!0||ke.value!==!0)&&(F!==!0&&$(),(T.value===!0||b.value===!0)&&Z(``))},{immediate:!0}),o(()=>i.fillInput,$),o(b,wt),o(U,Tt);function qe(e){return i.emitValue===!0?K.value(e):e}function Je(e){if(e!==-1&&e<G.value.length)if(i.multiple===!0){let t=i.modelValue.slice();u(`remove`,{index:e,value:t.splice(e,1)[0]}),u(`update:modelValue`,t)}else u(`update:modelValue`,null)}function Ye(e){Je(e),W.focus()}function Xe(e,t){let n=qe(e);if(i.multiple!==!0){i.fillInput===!0&&ft(q.value(e),!0,!0),u(`update:modelValue`,n);return}if(G.value.length===0){u(`add`,{index:0,value:n}),u(`update:modelValue`,i.multiple===!0?[n]:n);return}if(t===!0&&$e(e)===!0||i.maxValues!==void 0&&i.modelValue.length>=i.maxValues)return;let r=i.modelValue.slice();u(`add`,{index:r.length,value:n}),r.push(n),u(`update:modelValue`,r)}function Y(e,t){if(W.editable.value!==!0||e===void 0||J.value(e)===!0)return;let n=K.value(e);if(i.multiple!==!0){t!==!0&&(ft(i.fillInput===!0?q.value(e):``,!0,!0),Q()),V.value?.focus(),(G.value.length===0||x(K.value(G.value[0]),n)!==!0)&&u(`update:modelValue`,i.emitValue===!0?n:e);return}if((P!==!0||A.value===!0)&&W.focus(),et(),G.value.length===0){let t=i.emitValue===!0?n:e;u(`add`,{index:0,value:t}),u(`update:modelValue`,i.multiple===!0?[t]:t);return}let r=i.modelValue.slice(),a=Ge.value.findIndex(e=>x(e,n));if(a!==-1)u(`remove`,{index:a,value:r.splice(a,1)[0]});else{if(i.maxValues!==void 0&&r.length>=i.maxValues)return;let t=i.emitValue===!0?n:e;u(`add`,{index:r.length,value:t}),r.push(t)}u(`update:modelValue`,r)}function X(e){if(g.platform.is.desktop!==!0)return;let t=e!==-1&&e<U.value?e:-1;D.value!==t&&(D.value=t)}function Ze(e=1,t){if(b.value===!0){let n=D.value;do n=ae(n+e,-1,U.value-1);while(n!==-1&&n!==D.value&&J.value(i.options[n])===!0);D.value!==n&&(X(n),Te(n),t!==!0&&i.useInput===!0&&i.fillInput===!0&&dt(n>=0?q.value(i.options[n]):L,!0))}}function Qe(e,t){let n=t=>x(K.value(t),e);return i.options.find(n)||t.find(n)||e}function $e(e){let t=K.value(e);return Ge.value.find(e=>x(e,t))!==void 0}function et(e){i.useInput===!0&&V.value!==null&&(e===void 0||V.value===e.target&&e.target.value===Ne.value)&&V.value.select()}function tt(e){y(e,27)===!0&&b.value===!0&&(p(e),Q(),$()),u(`keyup`,e)}function nt(e){let{value:t}=e.target;if(e.keyCode!==void 0){tt(e);return}if(e.target.value=``,M!==null&&(clearTimeout(M),M=null),N!==null&&(clearTimeout(N),N=null),$(),typeof t==`string`&&t.length!==0){let e=t.toLocaleLowerCase(),n=t=>{let n=i.options.find(n=>String(t.value(n)).toLocaleLowerCase()===e);return n===void 0?!1:(G.value.indexOf(n)===-1?Y(n):Q(),!0)},r=e=>{n(K)!==!0&&e!==!0&&n(q)!==!0&&Z(t,!0,()=>r(!0))};r()}else W.clearValue(e)}function rt(e){u(`keypress`,e)}function it(e){if(u(`keydown`,e),_(e)===!0)return;let t=k.value.length!==0&&(i.newValueMode!==void 0||i.onNewValue!==void 0),r=e.shiftKey!==!0&&i.disableTabSelection!==!0&&i.multiple!==!0&&(D.value!==-1||t===!0);if(e.keyCode===27){f(e);return}if(e.keyCode===9&&r===!1){St();return}if(e.target===void 0||e.target.id!==W.targetUid.value||W.editable.value!==!0)return;if(e.keyCode===40&&W.innerLoading.value!==!0&&b.value===!1){m(e),Ct();return}if(e.keyCode===8&&(i.useChips===!0||i.clearable===!0)&&i.hideSelected!==!0&&k.value.length===0){i.multiple===!0&&Array.isArray(i.modelValue)===!0?Je(i.modelValue.length-1):i.multiple!==!0&&i.modelValue!==null&&u(`update:modelValue`,null);return}(e.keyCode===35||e.keyCode===36)&&(typeof k.value!=`string`||k.value.length===0)&&(m(e),D.value=-1,Ze(e.keyCode===36?1:-1,i.multiple)),(e.keyCode===33||e.keyCode===34)&&xe.value!==void 0&&(m(e),D.value=Math.max(-1,Math.min(U.value,D.value+(e.keyCode===33?-1:1)*xe.value.view)),Ze(e.keyCode===33?1:-1,i.multiple)),(e.keyCode===38||e.keyCode===40)&&(m(e),Ze(e.keyCode===38?-1:1,i.multiple));let a=U.value;if((B===void 0||me<Date.now())&&(B=``),a>0&&i.useInput!==!0&&e.key!==void 0&&e.key.length===1&&e.altKey===!1&&e.ctrlKey===!1&&e.metaKey===!1&&(e.keyCode!==32||B.length!==0)){b.value!==!0&&Ct(e);let t=e.key.toLocaleLowerCase(),r=B.length===1&&B[0]===t;me=Date.now()+1500,r===!1&&(m(e),B+=t);let o=RegExp(`^`+B.split(``).map(e=>de.indexOf(e)===-1?e:`\\`+e).join(`.*`),`i`),s=D.value;if(r===!0||s<0||o.test(q.value(i.options[s]))!==!0)do s=ae(s+1,-1,a-1);while(s!==D.value&&(J.value(i.options[s])===!0||o.test(q.value(i.options[s]))!==!0));D.value!==s&&n(()=>{X(s),Te(s),s>=0&&i.useInput===!0&&i.fillInput===!0&&dt(q.value(i.options[s]),!0)});return}if(!(e.keyCode!==13&&(e.keyCode!==32||i.useInput===!0||B!==``)&&(e.keyCode!==9||r===!1))){if(e.keyCode!==9&&m(e),D.value!==-1&&D.value<a){Y(i.options[D.value]);return}if(t===!0){let e=(e,t)=>{if(t){if(ue(t)!==!0)return}else t=i.newValueMode;ft(``,i.multiple!==!0,!0),e!=null&&((t===`toggle`?Y:Xe)(e,t===`add-unique`),i.multiple!==!0&&(V.value?.focus(),Q()))};if(i.onNewValue===void 0?e(k.value):u(`newValue`,k.value,e),i.multiple!==!0)return}b.value===!0?St():W.innerLoading.value!==!0&&Ct()}}function at(){return P===!0?_e.value:H.value!==null&&H.value.contentEl!==null?H.value.contentEl:void 0}function ot(){return at()}function st(){return i.hideSelected===!0?[]:a[`selected-item`]===void 0?a.selected===void 0?i.useChips===!0?Be.value.map((e,n)=>t(se,{key:`option-`+n,removable:W.editable.value===!0&&J.value(e.opt)!==!0,dense:!0,textColor:i.color,tabindex:Le.value,onRemove(){e.removeAtIndex(n)}},()=>t(`span`,{class:`ellipsis`,[e.html===!0?`innerHTML`:`textContent`]:q.value(e.opt)}))):[t(`span`,{class:`ellipsis`,[Ie.value===!0?`innerHTML`:`textContent`]:Pe.value})]:[].concat(a.selected()):Be.value.map(e=>a[`selected-item`](e)).slice()}function ct(){if(Me.value===!0)return a[`no-option`]===void 0?void 0:a[`no-option`]({inputValue:k.value});let e=a.option===void 0?e=>t(ne,{key:e.index,...e.itemProps},()=>t(re,()=>t(ie,()=>t(`span`,{[e.html===!0?`innerHTML`:`textContent`]:e.label})))):a.option,n=Ce(`div`,Ve.value.map(e));return a[`before-options`]!==void 0&&(n=a[`before-options`]().concat(n)),v(a[`after-options`],n)}function lt(e,n){let r=n===!0?{...Re.value,...W.splitAttrs.attributes.value}:void 0,a={ref:n===!0?V:void 0,key:`i_t`,class:Ae.value,style:i.inputStyle,value:k.value===void 0?``:k.value,type:`search`,...r,id:n===!0?W.targetUid.value:void 0,maxlength:i.maxlength,autocomplete:i.autocomplete,"data-autofocus":e===!0||i.autofocus===!0||void 0,disabled:i.disable===!0,readonly:i.readonly===!0,...Ke.value};return e!==!0&&P===!0&&(Array.isArray(a.class)===!0?a.class=[...a.class,`no-pointer-events`]:a.class+=` no-pointer-events`),t(`input`,a)}function ut(e){M!==null&&(clearTimeout(M),M=null),N!==null&&(clearTimeout(N),N=null),!(e&&e.target&&e.target.qComposing===!0)&&(dt(e.target.value||``),F=!0,L=k.value,W.focused.value!==!0&&(P!==!0||A.value===!0)&&W.focus(),i.onFilter!==void 0&&(M=setTimeout(()=>{M=null,Z(k.value)},i.inputDebounce)))}function dt(e,t){k.value!==e&&(k.value=e,t===!0||i.inputDebounce===0||i.inputDebounce===`0`?u(`inputValue`,e):N=setTimeout(()=>{N=null,u(`inputValue`,e)},i.inputDebounce))}function ft(e,t,n){F=n!==!0,i.useInput===!0&&(dt(e,!0),(t===!0||n!==!0)&&(L=e),t!==!0&&Z(e))}function Z(e,t,r){if(i.onFilter===void 0||t!==!0&&W.focused.value!==!0)return;W.innerLoading.value===!0?u(`filterAbort`):(W.innerLoading.value=!0,j.value=!0),e!==``&&i.multiple!==!0&&G.value.length!==0&&F!==!0&&e===q.value(G.value[0])&&(e=``);let a=setTimeout(()=>{b.value===!0&&(b.value=!1)},10);I!==null&&clearTimeout(I),I=a,u(`filter`,e,(e,i)=>{(t===!0||W.focused.value===!0)&&I===a&&(clearTimeout(I),typeof e==`function`&&e(),j.value=!1,n(()=>{W.innerLoading.value=!1,W.editable.value===!0&&(t===!0?b.value===!0&&Q():b.value===!0?wt(!0):b.value=!0),typeof i==`function`&&n(()=>{i(h)}),typeof r==`function`&&n(()=>{r(h)})}))},()=>{W.focused.value===!0&&I===a&&(clearTimeout(I),W.innerLoading.value=!1,j.value=!1),b.value===!0&&(b.value=!1)})}function pt(){return t(oe,{ref:H,class:je.value,style:i.popupContentStyle,modelValue:b.value,fit:i.menuShrink!==!0,cover:i.optionsCover===!0&&Me.value!==!0&&i.useInput!==!0,anchor:i.menuAnchor,self:i.menuSelf,offset:i.menuOffset,dark:Oe.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:i.popupNoRouteDismiss,square:Ue.value,transitionShow:i.transitionShow,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,separateClosePopup:!0,...ze.value,onScrollPassive:we,onBeforeShow:Dt,onBeforeHide:mt,onShow:ht},ct)}function mt(e){Ot(e),St()}function ht(){Ee()}function gt(e){p(e),V.value?.focus(),A.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function _t(e){p(e),n(()=>{A.value=!1})}function vt(){let e=[t(ce,{class:`col-auto ${W.fieldClass.value}`,...De.value,for:W.targetUid.value,dark:Oe.value,square:!0,loading:j.value,itemAligned:!1,filled:!0,stackLabel:k.value.length!==0,...W.splitAttrs.listeners.value,onFocus:gt,onBlur:_t},{...a,rawControl:()=>W.getControl(!0),before:void 0,after:void 0})];return b.value===!0&&e.push(t(`div`,{ref:_e,class:je.value+` scroll`,style:i.popupContentStyle,...ze.value,onClick:f,onScrollPassive:we},ct())),t(te,{ref:ge,modelValue:T.value,position:i.useInput===!0?`top`:void 0,transitionShow:R,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,noRouteDismiss:i.popupNoRouteDismiss,onBeforeShow:Dt,onBeforeHide:yt,onHide:bt,onShow:xt},()=>t(`div`,{class:`q-select__dialog`+(Oe.value===!0?` q-select__dialog--dark q-dark`:``)+(A.value===!0?` q-select__dialog--focused`:``)},e))}function yt(e){Ot(e),ge.value!==null&&ge.value.__updateRefocusTarget(W.rootRef.value.querySelector(`.q-field__native > [tabindex]:last-child`)),W.focused.value=!1}function bt(e){Q(),W.focused.value===!1&&u(`blur`,e),$()}function xt(){let e=document.activeElement;(e===null||e.id!==W.targetUid.value)&&V.value!==null&&V.value!==e&&V.value.focus(),Ee()}function St(){T.value!==!0&&(D.value=-1,b.value===!0&&(b.value=!1),W.focused.value===!1&&(I!==null&&(clearTimeout(I),I=null),W.innerLoading.value===!0&&(u(`filterAbort`),W.innerLoading.value=!1,j.value=!1)))}function Ct(e){W.editable.value===!0&&(P===!0?(W.onControlFocusin(e),T.value=!0,n(()=>{W.focus()})):W.focus(),i.onFilter===void 0?(Me.value!==!0||a[`no-option`]!==void 0)&&(b.value=!0):Z(k.value))}function Q(){T.value=!1,St()}function $(){i.useInput===!0&&ft(i.multiple!==!0&&i.fillInput===!0&&G.value.length!==0&&q.value(G.value[0])||``,!0,!0)}function wt(e){let t=-1;if(e===!0){if(G.value.length!==0){let e=K.value(G.value[0]);t=i.options.findIndex(t=>x(K.value(t),e))}Se(t)}X(t)}function Tt(e,t){b.value===!0&&W.innerLoading.value===!1&&(Se(-1,!0),n(()=>{b.value===!0&&W.innerLoading.value===!1&&(e>t?Se():wt(!0))}))}function Et(){T.value===!1&&H.value!==null&&H.value.updatePosition()}function Dt(e){e!==void 0&&p(e),u(`popupShow`,e),W.hasPopupOpen=!0,W.onControlFocusin(e)}function Ot(e){e!==void 0&&p(e),u(`popupHide`,e),W.hasPopupOpen=!1,W.onControlFocusout(e)}function kt(){P=g.platform.is.mobile!==!0&&i.behavior!==`dialog`?!1:i.behavior!==`menu`&&(i.useInput===!0?a[`no-option`]!==void 0||i.onFilter!==void 0||Me.value===!1:!0),R=g.platform.is.ios===!0&&P===!0&&i.useInput===!0?`fade`:i.transitionShow}return l(kt),r(Et),kt(),e(()=>{M!==null&&clearTimeout(M),N!==null&&clearTimeout(N)}),Object.assign(h,{showPopup:Ct,hidePopup:Q,removeAtIndex:Je,add:Xe,toggleOption:Y,getOptionIndex:()=>D.value,setOptionIndex:X,moveOptionSelection:Ze,filter:Z,updateMenuPosition:Et,updateInputValue:ft,isOptionSelected:$e,getEmittingOptionValue:qe,isOptionDisabled:(...e)=>J.value.apply(null,e)===!0,getOptionValue:(...e)=>K.value.apply(null,e),getOptionLabel:(...e)=>q.value.apply(null,e)}),Object.assign(W,{innerValue:G,fieldClass:d(()=>`q-select q-field--auto-height q-select--with${i.useInput===!0?``:`out`}-input q-select--with${i.useChips===!0?``:`out`}-chips q-select--${i.multiple===!0?`multiple`:`single`}`),inputRef:he,targetRef:V,hasValue:ke,showPopup:Ct,floatingLabel:d(()=>i.hideSelected!==!0&&ke.value===!0||typeof k.value==`number`||k.value.length!==0||O(i.displayValue)),getControlChild:()=>{if(W.editable.value!==!1&&(T.value===!0||Me.value!==!0||a[`no-option`]!==void 0))return P===!0?vt():pt();W.hasPopupOpen===!0&&(W.hasPopupOpen=!1)},controlEvents:{onFocusin(e){W.onControlFocusin(e)},onFocusout(e){W.onControlFocusout(e,()=>{$(),St()})},onClick(e){if(f(e),P!==!0&&b.value===!0){St(),V.value?.focus();return}Ct(e)}},getControl:e=>{let n=st(),r=e===!0||T.value!==!0||P!==!0;if(i.useInput===!0)n.push(lt(e,r));else if(W.editable.value===!0){let a=r===!0?Re.value:void 0;n.push(t(`input`,{ref:r===!0?V:void 0,key:`d_t`,class:`q-select__focus-target`,id:r===!0?W.targetUid.value:void 0,value:Pe.value,readonly:!0,"data-autofocus":e===!0||i.autofocus===!0||void 0,...a,onKeydown:it,onKeyup:tt,onKeypress:rt})),r===!0&&typeof i.autocomplete==`string`&&i.autocomplete.length!==0&&n.push(t(`input`,{class:`q-select__autocomplete-input`,autocomplete:i.autocomplete,tabindex:-1,onKeyup:nt}))}if(ve.value!==void 0&&i.disable!==!0&&Ge.value.length!==0){let e=Ge.value.map(e=>t(`option`,{value:e,selected:!0}));n.push(t(`select`,{class:`hidden`,name:ve.value,multiple:i.multiple},e))}return t(`div`,{class:`q-field__native row items-center`,...i.useInput===!0||r!==!0?void 0:W.splitAttrs.attributes.value,...W.splitAttrs.listeners.value},n)},getInnerAppend:()=>i.loading!==!0&&j.value!==!0&&i.hideDropdownIcon!==!0?[t(ee,{class:`q-select__dropdown-icon`+(b.value===!0?` rotate-180`:``),name:He.value})]:null}),C(W)}}),me=[{id:`auto`,label:`Auto`,i18nLabelKey:`model.auto`,i18nDescriptionKey:`model.autoDescription`},{id:`gpt-5.5`,label:`GPT-5.5`,i18nLabelKey:`model.gpt55`,i18nDescriptionKey:`model.gpt55Description`},{id:`gpt-5.4`,label:`GPT-5.4`,i18nLabelKey:`model.gpt54`,i18nDescriptionKey:`model.gpt54Description`},{id:`gpt-5.4-mini`,label:`GPT-5.4 mini`,i18nLabelKey:`model.gpt54mini`,i18nDescriptionKey:`model.gpt54miniDescription`},{id:`gpt-5.3-codex`,label:`GPT-5.3 Codex`,i18nLabelKey:`model.gpt53codex`,i18nDescriptionKey:`model.gpt53codexDescription`}],he=[{id:`auto`,label:`Auto`,i18nLabelKey:`model.auto`,i18nDescriptionKey:`model.autoDescription`},{id:`claude-opus-4-8`,label:`Opus 4.8`,i18nLabelKey:`model.opus48`,i18nDescriptionKey:`model.opus48Description`},{id:`claude-opus-4-7`,label:`Opus 4.7 (Classic)`,i18nLabelKey:`model.opus47Classic`,i18nDescriptionKey:`model.opus47ClassicDescription`},{id:`claude-opus-4-7[1m]`,label:`Opus 4.7 (1M)`,i18nLabelKey:`model.opus471m`,i18nDescriptionKey:`model.opus471mDescription`},{id:`claude-opus-4-6`,label:`Opus 4.6 (Classic)`,i18nLabelKey:`model.opusClassic`,i18nDescriptionKey:`model.opusClassicDescription`},{id:`claude-opus-4-6[1m]`,label:`Opus 4.6 (1M)`,i18nLabelKey:`model.opus1m`,i18nDescriptionKey:`model.opus1mDescription`},{id:`claude-sonnet-4-6`,label:`Sonnet 4.6 (Classic)`,i18nLabelKey:`model.sonnetClassic`,i18nDescriptionKey:`model.sonnetClassicDescription`},{id:`claude-sonnet-4-6[1m]`,label:`Sonnet 4.6 (1M)`,i18nLabelKey:`model.sonnet1m`,i18nDescriptionKey:`model.sonnet1mDescription`},{id:`claude-haiku-4-5-20251001`,label:`Haiku 4.5`,i18nLabelKey:`model.haiku`,i18nDescriptionKey:`model.haikuDescription`}];function V(e){return e.map(e=>({value:e.id,i18nLabelKey:e.i18nLabelKey,i18nDescriptionKey:e.i18nDescriptionKey}))}var H=V(he),ge=V(me),_e={"claude-code":H,codex:ge},ve=[`plan`,`bypass`,`strict`,`interactive`],ye=[`plan`,`bypass`,`strict`,`interactive`],U={"claude-code":ve,codex:ye};export{B as a,_e as i,ge as n,H as r,U as t};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var e=!1;{let t=document.createElement(`div`);t.setAttribute(`dir`,`rtl`),Object.assign(t.style,{width:`1px`,height:`1px`,overflow:`auto`});let n=document.createElement(`div`);Object.assign(n.style,{width:`1000px`,height:`1px`}),document.body.appendChild(t),t.appendChild(n),t.scrollLeft=-1e3,e=t.scrollLeft>=0,t.remove()}var t=`You are reviewing code changes on workspace "{{workspace_name}}" in project {{project_name}}.
|
|
2
|
-
|
|
3
|
-
Branch: {{branch_name}} (base: {{source_branch}})
|
|
4
|
-
Base commit: {{base_commit}}
|
|
5
|
-
|
|
6
|
-
If a code-review skill is available in this environment, invoke it to drive this audit. Otherwise follow the manual checklist below.
|
|
7
|
-
|
|
8
|
-
## Scope
|
|
9
|
-
|
|
10
|
-
Review ALL changes — both committed and uncommitted in the working tree:
|
|
11
|
-
- \`git diff {{base_commit}}..HEAD\` — committed changes on this branch
|
|
12
|
-
- \`git status\` and \`git diff\` — uncommitted changes (staged + unstaged)
|
|
13
|
-
|
|
14
|
-
## Diff summary
|
|
15
|
-
{{diff_stats}}
|
|
16
|
-
|
|
17
|
-
## Commits
|
|
18
|
-
{{commits}}
|
|
19
|
-
|
|
20
|
-
## Additional instructions
|
|
21
|
-
{{additional_instructions}}
|
|
22
|
-
|
|
23
|
-
## Output
|
|
24
|
-
|
|
25
|
-
If no review skill is available, structure your reply as:
|
|
26
|
-
1. Summary — what changed and why
|
|
27
|
-
2. Issues — bugs, regressions, security or perf concerns (with file:line)
|
|
28
|
-
3. Suggestions — refactor / improvement opportunities
|
|
29
|
-
4. Tests — coverage gaps
|
|
30
|
-
5. Verdict — ship / fix-then-ship / blocked
|
|
31
|
-
`,n="Code review gate — BEFORE marking the task done, run whichever code-review skill is configured in this environment. Brief it with: what you just implemented, the task title, and the commit SHA (via `git rev-parse HEAD`). Ask specifically whether the change matches the task scope, whether edge cases are handled, and whether the commit is clean. If no review skill is available, do a manual self-review against the same criteria.",r=`You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke any implementation, planning, or release skill (your environment may have several). Your ONLY job is to curate the Kōbō task list via MCP tools.`,i=`QA pass for workspace "{{workspace_name}}" in project {{project_name}}.
|
|
32
|
-
|
|
33
|
-
Branch: {{branch_name}}
|
|
34
|
-
Staging URL: {{staging_url}}
|
|
35
|
-
|
|
36
|
-
If a QA skill is configured in this environment, invoke it on {{staging_url}}. Otherwise, manually exercise the staging URL against the workspace's acceptance criteria and report findings.`,a=`Brainstorm the implementation approach. Explore the codebase to understand the existing structure. Ask clarifying questions if needed. When you have a clear, user-approved plan, save it as a plan file in the project.`,o="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `superpowers:executing-plans` or any implementation skill. Your ONLY job is to curate the Kōbō task list via MCP tools.",s="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `/ship`, `/autoplan`, `/land-and-deploy`, or any implementation skill. Your ONLY job is to curate the Kōbō task list via MCP tools.",c="You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke `superpowers:executing-plans`, `/ship`, `/autoplan`, `/land-and-deploy`, or any other implementation, planning, or release skill. Your ONLY job is to curate the Kōbō task list via MCP tools.";function l(e,t){return e===`custom`?(t??``).trim()||`You are preparing this workspace for Kōbō auto-loop mode. This is a GROOMING session only — DO NOT implement anything, DO NOT write or edit code, DO NOT run tests or builds, DO NOT invoke any implementation, planning, or release skill (your environment may have several). Your ONLY job is to curate the Kōbō task list via MCP tools.`:e===`superpowers+gstack`?c:e===`gstack`?s:o}export{t as a,i,n,l as o,a as r,e as s,r as t};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/src/client/dist/spa/assets/{build-path-tree-BKx2q92A.js → build-path-tree-B9aeh1tv.js}
RENAMED
|
File without changes
|
|
File without changes
|