@loicngr/kobo 1.7.14 → 1.7.16

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.
Files changed (128) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +5 -3
  3. package/dist/server/db/migrations.js +33 -0
  4. package/dist/server/index.js +21 -2
  5. package/dist/server/routes/changelog.js +47 -0
  6. package/dist/server/routes/export.js +71 -0
  7. package/dist/server/routes/fs.js +49 -0
  8. package/dist/server/routes/git.js +16 -1
  9. package/dist/server/routes/workspaces.js +107 -64
  10. package/dist/server/services/agent/engines/claude-code/engine.js +10 -2
  11. package/dist/server/services/agent/engines/claude-code/event-mapper.js +7 -1
  12. package/dist/server/services/agent/orchestrator.js +10 -0
  13. package/dist/server/services/archive-script-service.js +65 -0
  14. package/dist/server/services/auto-loop-service.js +7 -0
  15. package/dist/server/services/cleanup-script-service.js +118 -0
  16. package/dist/server/services/settings-service.js +184 -2
  17. package/dist/server/services/setup-script-service.js +10 -81
  18. package/dist/server/utils/git-ops.js +30 -0
  19. package/dist/server/utils/paths.js +4 -0
  20. package/dist/server/utils/script-runner.js +96 -0
  21. package/package.json +2 -1
  22. package/src/client/dist/spa/assets/ActivityFeed-DU6lDEP0.js +8 -0
  23. package/src/client/dist/spa/assets/{ActivityFeed-WjiQ9716.css → ActivityFeed-yUMQhnW4.css} +1 -1
  24. package/src/client/dist/spa/assets/{ClosePopup-C5EF3QrA.js → ClosePopup-CxvZA3ft.js} +1 -1
  25. package/src/client/dist/spa/assets/CreatePage-CdZr7f3j.js +2 -0
  26. package/src/client/dist/spa/assets/CreatePage-DgHjL4cZ.css +1 -0
  27. package/src/client/dist/spa/assets/{DiffViewer-B-pWVglv.js → DiffViewer-m801GPfI.js} +3 -3
  28. package/src/client/dist/spa/assets/HealthPage-z1uIOpYk.js +1 -0
  29. package/src/client/dist/spa/assets/{MainLayout-Bp0oVWa-.css → MainLayout-BJmBXwYn.css} +1 -1
  30. package/src/client/dist/spa/assets/MainLayout-oJdQ-QKM.js +37 -0
  31. package/src/client/dist/spa/assets/{QBadge-u0mEz_W1.js → QBadge-NEwszYs7.js} +1 -1
  32. package/src/client/dist/spa/assets/QBanner-Jsq4uJZs.js +1 -0
  33. package/src/client/dist/spa/assets/QBtn-CoU-UC_j.js +1 -0
  34. package/src/client/dist/spa/assets/{QCheckbox-skYuqkHX.js → QCheckbox-Cq2STfHp.js} +1 -1
  35. package/src/client/dist/spa/assets/{QChip-DSMeriN6.js → QChip-DnJyQVs2.js} +2 -2
  36. package/src/client/dist/spa/assets/QExpansionItem-BTd5m2yV.js +1 -0
  37. package/src/client/dist/spa/assets/QIcon-BmEX2rXO.js +1 -0
  38. package/src/client/dist/spa/assets/QInput-D0t39uK_.js +1 -0
  39. package/src/client/dist/spa/assets/{QItemLabel-B0tYxHQg.js → QItemLabel-Btqw0P7M.js} +1 -1
  40. package/src/client/dist/spa/assets/QItemSection-DRg-QuAD.js +1 -0
  41. package/src/client/dist/spa/assets/QList-B3TuWSqL.js +1 -0
  42. package/src/client/dist/spa/assets/QMenu-C2Wwwf2E.js +1 -0
  43. package/src/client/dist/spa/assets/QPage-DO_bQyV_.js +1 -0
  44. package/src/client/dist/spa/assets/QRadio-M9mC5jZy.js +1 -0
  45. package/src/client/dist/spa/assets/QScrollArea-A1wI0IXU.js +1 -0
  46. package/src/client/dist/spa/assets/QSpace-DONPiIes.js +1 -0
  47. package/src/client/dist/spa/assets/{QSpinnerDots-CluOpUgq.js → QSpinnerDots-DspFKwCZ.js} +1 -1
  48. package/src/client/dist/spa/assets/{QToggle-aBvIHg6j.js → QToggle-DBzTAIbK.js} +1 -1
  49. package/src/client/dist/spa/assets/QTooltip-Bfdmzm_m.js +1 -0
  50. package/src/client/dist/spa/assets/SearchPage-ChmKHNKn.js +1 -0
  51. package/src/client/dist/spa/assets/SettingsPage-B59LoCos.js +9 -0
  52. package/src/client/dist/spa/assets/{SettingsPage-B_qPRSDH.css → SettingsPage-BJLyYrBN.css} +1 -1
  53. package/src/client/dist/spa/assets/{TouchPan-DPBZDRzA.js → TouchPan-BIE5rs7U.js} +1 -1
  54. package/src/client/dist/spa/assets/WorkspacePage-Bj1PJSWT.js +4 -0
  55. package/src/client/dist/spa/assets/WorkspacePage-tFBswKV9.css +1 -0
  56. package/src/client/dist/spa/assets/build-path-tree-BGUV3nY1.js +1 -0
  57. package/src/client/dist/spa/assets/{cssMode-D5ZOAlu6.js → cssMode-BU4X8R6a.js} +1 -1
  58. package/src/client/dist/spa/assets/documents-B3nitIYF.js +1 -0
  59. package/src/client/dist/spa/assets/{editor.api-CTE0T74t.js → editor.api-B4xBDzmJ.js} +1 -1
  60. package/src/client/dist/spa/assets/{editor.main-Buyn4kmD.js → editor.main-CSZRkloL.js} +3 -3
  61. package/src/client/dist/spa/assets/engineFeatures-CLOVr5b4.js +1 -0
  62. package/src/client/dist/spa/assets/expand-template-BxUkuL5g.js +1 -0
  63. package/src/client/dist/spa/assets/{formatters-CgfY9uSI.js → formatters-9dcj2tyJ.js} +1 -1
  64. package/src/client/dist/spa/assets/{freemarker2-BqQ6Og68.js → freemarker2-DRz20wAV.js} +1 -1
  65. package/src/client/dist/spa/assets/{handlebars-DuIKUFde.js → handlebars-C0dsvPnC.js} +1 -1
  66. package/src/client/dist/spa/assets/{html-BHWxRlmb.js → html-Cqvj1pWs.js} +1 -1
  67. package/src/client/dist/spa/assets/{htmlMode-C-SjHXMn.js → htmlMode-BTHNvkm6.js} +1 -1
  68. package/src/client/dist/spa/assets/i18n-D1I-Us2H.js +1 -0
  69. package/src/client/dist/spa/assets/{index-5ydpLSpt.css → index-ClabzOPc.css} +1 -1
  70. package/src/client/dist/spa/assets/index-KABmOIkF.js +2 -0
  71. package/src/client/dist/spa/assets/{javascript-ukUWOwiC.js → javascript-C8n3U02v.js} +1 -1
  72. package/src/client/dist/spa/assets/{jsonMode-C_hd-E3X.js → jsonMode-C3AFxQ6K.js} +1 -1
  73. package/src/client/dist/spa/assets/{kobo-commands-Bh5k0Smw.js → kobo-commands-BuxgteGZ.js} +1 -1
  74. package/src/client/dist/spa/assets/{liquid-B6flz_LR.js → liquid-C4wtUDrJ.js} +1 -1
  75. package/src/client/dist/spa/assets/{mdx-F-Hst5AO.js → mdx-CaT1p1F2.js} +1 -1
  76. package/src/client/dist/spa/assets/{monaco.contribution-C8xDzD2M.js → monaco.contribution-CJg5GKVf.js} +2 -2
  77. package/src/client/dist/spa/assets/notifications-BC6en6Lt.js +1 -0
  78. package/src/client/dist/spa/assets/permissionModes-BQHBTBwa.js +1 -0
  79. package/src/client/dist/spa/assets/{python-Bl42f-yd.js → python-Cj54W2Tg.js} +1 -1
  80. package/src/client/dist/spa/assets/{razor-Dx7_W971.js → razor-D3gJxoX_.js} +1 -1
  81. package/src/client/dist/spa/assets/render-chat-markdown-DxEHr3lW.js +60 -0
  82. package/src/client/dist/spa/assets/runtime-core.esm-bundler-D_RRiKBh.js +1 -0
  83. package/src/client/dist/spa/assets/{tsMode-CO3Uuszk.js → tsMode-B6S4PLWH.js} +1 -1
  84. package/src/client/dist/spa/assets/{typescript-BxouTBRr.js → typescript-Ca8AEX3t.js} +1 -1
  85. package/src/client/dist/spa/assets/use-checkbox-DnSuDqo2.js +1 -0
  86. package/src/client/dist/spa/assets/use-id-BCnfiBjU.js +1 -0
  87. package/src/client/dist/spa/assets/use-onboarding-B3l7mx48.css +1 -0
  88. package/src/client/dist/spa/assets/use-onboarding-CNeLPDtv.js +2 -0
  89. package/src/client/dist/spa/assets/use-quasar-k24tGxE-.js +1 -0
  90. package/src/client/dist/spa/assets/{vue-i18n-cyuEW5NY.js → vue-i18n-Cq-KgjJC.js} +2 -2
  91. package/src/client/dist/spa/assets/{xml-W_9Wtmsi.js → xml-CsKo4k8C.js} +1 -1
  92. package/src/client/dist/spa/assets/{yaml-ByUJ6m8w.js → yaml-X5yKmi6z.js} +1 -1
  93. package/src/client/dist/spa/index.html +13 -13
  94. package/src/client/dist/spa/assets/ActivityFeed-LlMDs201.js +0 -8
  95. package/src/client/dist/spa/assets/CreatePage-ZyBHUbl0.css +0 -1
  96. package/src/client/dist/spa/assets/CreatePage-kLDqaPDs.js +0 -2
  97. package/src/client/dist/spa/assets/HealthPage-C3wPvMBd.js +0 -1
  98. package/src/client/dist/spa/assets/MainLayout-BQc7MqCn.js +0 -37
  99. package/src/client/dist/spa/assets/QBtn-CLU6snCm.js +0 -1
  100. package/src/client/dist/spa/assets/QExpansionItem-BFqbf9C7.js +0 -1
  101. package/src/client/dist/spa/assets/QIcon-0rjEivgj.js +0 -1
  102. package/src/client/dist/spa/assets/QInput-Ciqjq5-e.js +0 -1
  103. package/src/client/dist/spa/assets/QItemSection-DZnyqPM3.js +0 -1
  104. package/src/client/dist/spa/assets/QList-MfhZa-uv.js +0 -1
  105. package/src/client/dist/spa/assets/QMenu-Cx3v9_6z.js +0 -1
  106. package/src/client/dist/spa/assets/QPage-CGYPttdA.js +0 -1
  107. package/src/client/dist/spa/assets/QRadio-BEsMlsx1.js +0 -1
  108. package/src/client/dist/spa/assets/QSpace-BrtkvWzZ.js +0 -1
  109. package/src/client/dist/spa/assets/QTooltip-DdpeVKGV.js +0 -1
  110. package/src/client/dist/spa/assets/SearchPage-DifF1k07.js +0 -1
  111. package/src/client/dist/spa/assets/SettingsPage-DfNUJb99.js +0 -9
  112. package/src/client/dist/spa/assets/WorkspacePage-B-E0Ry6O.js +0 -4
  113. package/src/client/dist/spa/assets/WorkspacePage-B4YnZ6re.css +0 -1
  114. package/src/client/dist/spa/assets/build-path-tree-DOtGuDWX.js +0 -1
  115. package/src/client/dist/spa/assets/documents-qOarUoMj.js +0 -1
  116. package/src/client/dist/spa/assets/engineFeatures-DYvwpYlV.js +0 -1
  117. package/src/client/dist/spa/assets/expand-template-BBEWjwKv.js +0 -1
  118. package/src/client/dist/spa/assets/i18n-CpmhEjSj.js +0 -1
  119. package/src/client/dist/spa/assets/index-DRHsozfK.js +0 -2
  120. package/src/client/dist/spa/assets/notifications-BzyK_kYE.js +0 -1
  121. package/src/client/dist/spa/assets/permissionModes-B1595Yfm.js +0 -1
  122. package/src/client/dist/spa/assets/project-color-d_h7ZYoM.js +0 -1
  123. package/src/client/dist/spa/assets/purify.es-DfpOsee9.js +0 -60
  124. package/src/client/dist/spa/assets/render-chat-markdown-CeI636ZV.js +0 -1
  125. package/src/client/dist/spa/assets/runtime-core.esm-bundler-DPcTPMmX.js +0 -1
  126. package/src/client/dist/spa/assets/use-checkbox-DzLCp4E3.js +0 -1
  127. package/src/client/dist/spa/assets/use-id-BQW6DfJU.js +0 -1
  128. package/src/client/dist/spa/assets/use-quasar-C5gKpYwL.js +0 -1
@@ -1 +0,0 @@
1
- .ask-user-question-panel[data-v-ab068179]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;max-height:38vh;overflow-y:auto}.aukq-stepper[data-v-ab068179] .q-stepper__header{min-height:56px}.aukq-stepper[data-v-ab068179] .q-stepper__tab{padding:8px 12px}.aukq-stepper[data-v-ab068179] .q-stepper__title{white-space:nowrap;font-size:12px}.aukq-stepper[data-v-ab068179] .q-stepper__caption{display:none}.aukq-stepper[data-v-ab068179] .q-stepper__step-inner{padding:12px}.aukq-stepper[data-v-ab068179] .q-stepper__nav{padding-top:8px}.aukq-options[data-v-ab068179]{margin-bottom:4px}.quota-footer[data-v-2edf9322]{white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.quota-bucket-compact[data-v-2edf9322]{align-items:center;gap:.3rem;display:inline-flex}.bucket-pct[data-v-2edf9322]{font-variant-numeric:tabular-nums}.quota-bar[data-v-2edf9322]{border-radius:3px;width:32px;height:5px}.full-bar[data-v-2edf9322]{border-radius:3px;height:6px}.quota-menu[data-v-2edf9322]{min-width:240px}.chat-input-container[data-v-f074ca82]{background-color:#16162a;border-top:1px solid #2a2a4a;min-height:48px;position:relative}.chat-input-container.chat-input-dragging[data-v-f074ca82]{outline-offset:-2px;outline:2px dashed #6c63ff}.chat-input[data-v-f074ca82]{background-color:#224;padding:4px 12px}.chat-input[data-v-f074ca82] .q-field__control{min-height:32px}.chat-input[data-v-f074ca82] textarea,.chat-input[data-v-f074ca82] input{color:#ccc;font-size:13px}.chat-slash-popup[data-v-f074ca82]{z-index:9999;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px}.image-tag[data-v-f074ca82]{font-family:Roboto Mono,monospace;font-size:12px;line-height:1}.image-tag--uploading[data-v-f074ca82]{color:#88a;background-color:#2a2a4a;border:1px solid #3a3a5a}.image-tag--ready[data-v-f074ca82]{color:#6aaa6a;background-color:#1a2a1a;border:1px solid #2a4a2a}.image-tag--error[data-v-f074ca82]{color:#aa6a6a;background-color:#2a1a1a;border:1px solid #4a2a2a}.image-tag-label[data-v-f074ca82]{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.chat-hint[data-v-f074ca82]{text-align:left;padding:2px 4px 0;font-size:10px}.chat-hint kbd[data-v-f074ca82]{background-color:#2a2a4a;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:9px}.queue-banner[data-v-f074ca82]{background-color:#2a2a1a;border-bottom:1px solid #4a4a2a}.autoloop-banner[data-v-f074ca82]{background-color:#1e1e36;border-top:1px solid #6c63ff66;border-bottom:1px solid #6c63ff66}.voice-btn--recording[data-v-f074ca82]{animation:1.1s ease-in-out infinite voice-pulse-f074ca82}@keyframes voice-pulse-f074ca82{0%{opacity:1;transform:scale(1)}50%{opacity:.86;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.image-tag-close[data-v-f074ca82]{color:#a44;opacity:.7}.image-tag-close[data-v-f074ca82]:hover{opacity:1}.permission-request-panel[data-v-12227c33]{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14}.permission-input-pre[data-v-12227c33]{white-space:pre-wrap;word-break:break-word;background:#00000059;border-radius:4px;max-height:30vh;margin:0;padding:.5em .75em;font-size:12px;overflow-y:auto}.wp-header[data-v-953138be]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}
@@ -1 +0,0 @@
1
- import{$ as e,A as t,E as n,G as r,S as i,U as a,l as o,y as s}from"./runtime-core.esm-bundler-DPcTPMmX.js";import{L as c,N as l,P as u,S as d,V as f,l as p,n as m,r as h,s as g,t as _}from"./QIcon-0rjEivgj.js";import{t as v}from"./QCheckbox-skYuqkHX.js";import{m as y}from"./QTooltip-DdpeVKGV.js";var b=u({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=o(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>i(`div`,{class:n.value},g(t.default))}}),x=[`none`,`strict`,`leaf`,`leaf-filtered`],S=u({name:`QTree`,props:{...h,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>x.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(u,{slots:h,emit:g}){let{proxy:b}=s(),{$q:x}=b,S=m(u,x),C=e({}),w=e(u.ticked||[]),T=e(u.expanded||[]),E={};t(()=>{E={}});let D=o(()=>`q-tree q-tree--${u.dense===!0?`dense`:`standard`}`+(u.noConnectors===!0?` q-tree--no-connectors`:``)+(S.value===!0?` q-tree--dark`:``)+(u.color===void 0?``:` text-${u.color}`)),O=o(()=>u.selected!==void 0),k=o(()=>u.icon||x.iconSet.tree.icon),A=o(()=>u.controlColor||u.color),j=o(()=>u.textColor===void 0?``:` text-${u.textColor}`),M=o(()=>{let e=u.selectedColor||u.color;return e?` text-${e}`:``}),N=o(()=>u.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[u.labelKey]&&e[u.labelKey].toLowerCase().indexOf(n)!==-1}:u.filterMethod),P=o(()=>{let e={},t=(n,r)=>{let i=n.tickStrategy||(r?r.tickStrategy:u.tickStrategy),a=n[u.nodeKey],o=n[u.childrenKey]&&Array.isArray(n[u.childrenKey])&&n[u.childrenKey].length!==0,s=n.disabled!==!0&&O.value===!0&&n.selectable!==!1,c=n.disabled!==!0&&n.expandable!==!1,l=i!==`none`,d=i===`strict`,f=i===`leaf-filtered`,p=i===`leaf`||i===`leaf-filtered`,m=n.disabled!==!0&&n.tickable!==!1;p===!0&&m===!0&&r&&r.tickable!==!0&&(m=!1);let h=n.lazy;h===!0&&C.value[a]!==void 0&&Array.isArray(n[u.childrenKey])===!0&&(h=C.value[a]);let g={key:a,parent:r,isParent:o,lazy:h,disabled:n.disabled,link:n.disabled!==!0&&(s===!0||c===!0&&(o===!0||h===!0)),children:[],matchesFilter:u.filter?N.value(n,u.filter):!0,selected:a===u.selected&&s===!0,selectable:s,expanded:o===!0?T.value.includes(a):!1,expandable:c,noTick:n.noTick===!0||d!==!0&&h&&h!==`loaded`,tickable:m,tickStrategy:i,hasTicking:l,strictTicking:d,leafFilteredTicking:f,leafTicking:p,ticked:d===!0?w.value.includes(a):o===!0?!1:w.value.includes(a)};if(e[a]=g,o===!0&&(g.children=n[u.childrenKey].map(e=>t(e,g)),u.filter&&(g.matchesFilter===!0?g.noTick!==!0&&g.disabled!==!0&&g.tickable===!0&&f===!0&&g.children.every(e=>e.matchesFilter!==!0||e.noTick===!0||e.tickable!==!0)===!0&&(g.tickable=!1):g.matchesFilter=g.children.some(e=>e.matchesFilter)),g.matchesFilter===!0&&(g.noTick!==!0&&d!==!0&&g.children.every(e=>e.noTick)===!0&&(g.noTick=!0),p))){if(g.ticked=!1,g.indeterminate=g.children.some(e=>e.indeterminate===!0),g.tickable=g.tickable===!0&&g.children.some(e=>e.tickable),g.indeterminate!==!0){let e=g.children.reduce((e,t)=>t.ticked===!0?e+1:e,0);e===g.children.length?g.ticked=!0:e>0&&(g.indeterminate=!0)}g.indeterminate===!0&&(g.indeterminateNextState=g.children.every(e=>e.tickable!==!0||e.ticked!==!0))}return g};return u.nodes.forEach(e=>t(e,null)),e});a(()=>u.ticked,e=>{w.value=e}),a(()=>u.expanded,e=>{T.value=e});function F(e){let t=[].reduce,n=(r,i)=>{if(r||!i)return r;if(Array.isArray(i)===!0)return t.call(Object(i),n,r);if(i[u.nodeKey]===e)return i;if(i[u.childrenKey])return n(null,i[u.childrenKey])};return n(null,u.nodes)}function I(){return w.value.map(e=>F(e))}function L(){return T.value.map(e=>F(e))}function R(e){return e&&P.value[e]?P.value[e].expanded:!1}function z(){u.expanded===void 0?T.value=[]:g(`update:expanded`,[])}function B(){let e=[],t=n=>{n[u.childrenKey]&&n[u.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[u.nodeKey]),n[u.childrenKey].forEach(t))};u.nodes.forEach(t),u.expanded===void 0?T.value=e:g(`update:expanded`,e)}function V(e,t,r=F(e),i=P.value[e]){if(i.lazy&&i.lazy!==`loaded`){if(i.lazy===`loading`)return;C.value[e]=`loading`,Array.isArray(r[u.childrenKey])!==!0&&(r[u.childrenKey]=[]),g(`lazyLoad`,{node:r,key:e,done:t=>{C.value[e]=`loaded`,r[u.childrenKey]=Array.isArray(t)===!0?t:[],n(()=>{P.value[e]?.isParent===!0&&H(e,!0)})},fail:()=>{delete C.value[e],r[u.childrenKey].length===0&&delete r[u.childrenKey]}})}else i.isParent===!0&&i.expandable===!0&&H(e,t)}function H(e,t){let n=T.value,r=u.expanded!==void 0;if(r===!0&&(n=n.slice()),t){if(u.accordion&&P.value[e]){let t=[];P.value[e].parent?P.value[e].parent.children.forEach(n=>{n.key!==e&&n.expandable===!0&&t.push(n.key)}):u.nodes.forEach(n=>{let r=n[u.nodeKey];r!==e&&t.push(r)}),t.length!==0&&(n=n.filter(e=>t.includes(e)===!1))}n=n.concat([e]).filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r===!0?g(`update:expanded`,n):T.value=n}function U(e){return e&&P.value[e]?P.value[e].ticked:!1}function W(e,t){let n=w.value,r=u.ticked!==void 0;r===!0&&(n=n.slice()),n=t?n.concat(e).filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>e.includes(t)===!1),r===!0&&g(`update:ticked`,n)}function G(e,t,n){let r={tree:b,node:e,key:n,color:u.color,dark:S.value};return c(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&V(n,e)}),c(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&W([n],e)}),r}function K(e){return(u.filter?e.filter(e=>P.value[e[u.nodeKey]].matchesFilter):e).map(e=>X(e))}function q(e){if(e.icon!==void 0)return i(_,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return i(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}function J(){g(`afterShow`)}function Y(){g(`afterHide`)}function X(e){let t=e[u.nodeKey],n=P.value[t],a=e.header&&h[`header-${e.header}`]||h[`default-header`],o=n.isParent===!0?K(e[u.childrenKey]):[],s=o.length!==0||n.lazy&&n.lazy!==`loaded`,c=e.body&&h[`body-${e.body}`]||h[`default-body`],m=a!==void 0||c!==void 0?G(e,n,t):null;return c!==void 0&&(c=i(`div`,{class:`q-tree__node-body relative-position`},[i(`div`,{class:j.value},[c(m)])])),i(`div`,{key:t,class:`q-tree__node relative-position q-tree__node--${s===!0?`parent`:`child`}`},[i(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center`+(n.link===!0?` q-tree__node--link q-hoverable q-focusable`:``)+(n.selected===!0?` q-tree__node--selected`:``)+(n.disabled===!0?` q-tree__node--disabled`:``),tabindex:n.link===!0?0:-1,ariaExpanded:o.length>0?n.expanded:null,role:`treeitem`,onClick:t=>{Q(e,n,t)},onKeypress(t){d(t)!==!0&&(t.keyCode===13?Q(e,n,t,!0):t.keyCode===32&&$(e,n,t,!0))}},[i(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{E[n.key]=e}}),n.lazy===`loading`?i(p,{class:`q-tree__spinner`,color:A.value}):s===!0?i(_,{class:`q-tree__arrow`+(n.expanded===!0?` q-tree__arrow--rotate`:``),name:k.value,onClick(t){$(e,n,t)}}):null,n.hasTicking===!0&&n.noTick!==!0?i(v,{class:`q-tree__tickbox`,modelValue:n.indeterminate===!0?null:n.ticked,color:A.value,dark:S.value,dense:!0,keepColor:!0,disable:n.tickable!==!0,onKeydown:l,"onUpdate:modelValue":e=>{ee(n,e)}}):null,i(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(n.selected===!0?M.value:j.value)},[a?a(m):[q(e),i(`div`,e[u.labelKey])]])]),s===!0?u.noTransition===!0?n.expanded===!0?i(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${t}__q`},[c,i(`div`,{class:`q-tree__children`+(n.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]):null:i(y,{duration:u.duration,onShow:J,onHide:Y},()=>r(i(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${t}__q`},[c,i(`div`,{class:`q-tree__children`+(n.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]),[[f,n.expanded]])):c])}function Z(e){E[e]?.focus()}function Q(e,t,n,r){r!==!0&&t.selectable!==!1&&Z(t.key),O.value&&t.selectable?u.noSelectionUnset===!1?g(`update:selected`,t.key===u.selected?null:t.key):t.key!==u.selected&&g(`update:selected`,t.key===void 0?null:t.key):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e)}function $(e,t,n,r){n!==void 0&&l(n),r!==!0&&t.selectable!==!1&&Z(t.key),V(t.key,!t.expanded,e,t)}function ee(e,t){if(e.indeterminate===!0&&(t=e.indeterminateNextState),e.strictTicking)W([e.key],t);else if(e.leafTicking){let n=[],r=e=>{e.isParent?(t!==!0&&e.noTick!==!0&&e.tickable===!0&&n.push(e.key),e.leafTicking===!0&&e.children.forEach(r)):e.noTick!==!0&&e.tickable===!0&&(e.leafFilteredTicking!==!0||e.matchesFilter===!0)&&n.push(e.key)};r(e),W(n,t)}}return u.defaultExpandAll===!0&&B(),Object.assign(b,{getNodeByKey:F,getTickedNodes:I,getExpandedNodes:L,isExpanded:R,collapseAll:z,expandAll:B,setExpanded:V,isTicked:U,setTicked:W}),()=>{let e=K(u.nodes);return i(`div`,{class:D.value,role:`tree`},e.length===0?u.filter?u.noResultsLabel||x.lang.tree.noResults:u.noNodesLabel||x.lang.tree.noNodes:e)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}export{b as i,w as n,S as r,C as t};
@@ -1 +0,0 @@
1
- import{$ as e}from"./runtime-core.esm-bundler-DPcTPMmX.js";import{a as t}from"./use-id-BQW6DfJU.js";var n=t(`documents`,()=>{let t=e({}),n=e(!1),r=e(!1),i=e(null),a=e(0);function o(e){return t.value[e]??[]}async function s(e){n.value=!0;try{let n=await fetch(`/api/workspaces/${e}/documents`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();t.value[e]=r.documents}catch(n){console.error(`[documents-store] fetchDocuments failed:`,n),t.value[e]=[]}finally{n.value=!1}}async function c(e,t){r.value=!0;try{let n=await fetch(`/api/workspaces/${e}/document?path=${encodeURIComponent(t.path)}`);if(!n.ok)throw Error(`HTTP ${n.status}`);let r=await n.json();i.value={path:r.path,name:t.name,content:r.content}}catch(e){throw console.error(`[documents-store] openDocument failed:`,e),e}finally{r.value=!1}}async function l(e,n){let r=()=>(t.value[e]??[]).find(e=>e.path===n)??null,i=r();return i||=(await s(e),r()),i?(await c(e,i),a.value++,!0):!1}function u(){i.value=null}function d(e){delete t.value[e],i.value=null}return{documentsByWorkspace:t,loadingList:n,loadingContent:r,selected:i,requestOpen:a,documentsFor:o,fetchDocuments:s,openDocument:c,openDocumentByPath:l,closeDocument:u,clearForWorkspace:d}});export{n as t};
@@ -1 +0,0 @@
1
- import{$ as e,F as t,S as n,U as r,W as i,d as a,f as o,g as s,h as c,i as l,it as u,l as d,v as f,xt as p,y as m}from"./runtime-core.esm-bundler-DPcTPMmX.js";import{C as h,E as g,F as _,N as v,O as y,R as b,j as x,k as S,s as C,w}from"./QIcon-0rjEivgj.js";import{f as T}from"./use-id-BQW6DfJU.js";import{F as E}from"./notifications-BzyK_kYE.js";import{f as D}from"./QBtn-CLU6snCm.js";import{n as O}from"./vue-i18n-cyuEW5NY.js";import{c as k}from"./index-DRHsozfK.js";import{p as A,t as j}from"./QTooltip-DdpeVKGV.js";import{n as M,t as N}from"./touch-2Qa-HSDZ.js";import{t as P}from"./QChip-DSMeriN6.js";function F(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 I=_({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&T.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:F(n),direction:N(r),noop:y,mouseStart(e){M(e,a)&&g(e)&&(h(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(M(e,a)){let t=e.target;h(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){T.is.firefox===!0&&x(e,!0);let r=S(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){v(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=S(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,l=s/t;a.direction.vertical===!0&&i<s&&i<100&&l>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&&l>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<s&&o>0&&i<100&&l>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):(v(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),A(),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&&(w(a,`temp`),T.is.firefox===!0&&x(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&v(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&h(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),T.has.touch===!0&&h(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=N(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(w(t,`main`),w(t,`temp`),T.is.firefox===!0&&x(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function L(){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 R={name:{required:!0},disable:Boolean},z={setup(e,{slots:t}){return()=>n(`div`,{class:`q-panel scroll`,role:`tabpanel`},C(t.default))}},B={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},V=[`update:modelValue`,`beforeTransition`,`transition`];function H(){let{props:t,emit:i,proxy:a}=m(),{getCache:o}=L(),{registerTimeout:s}=E(),c,u,f=e(null),p={value:null};function h(e){let n=t.vertical===!0?`up`:`left`;P((a.$q.lang.rtl===!0?-1:1)*(e.direction===n?1:-1))}let g=d(()=>[[I,h,void 0,{horizontal:t.vertical!==!0,vertical:t.vertical,mouse:!0}]]),_=d(()=>t.transitionPrev||`slide-${t.vertical===!0?`down`:`right`}`),v=d(()=>t.transitionNext||`slide-${t.vertical===!0?`up`:`left`}`),y=d(()=>`--q-transition-duration: ${t.transitionDuration}ms`),x=d(()=>typeof t.modelValue==`string`||typeof t.modelValue==`number`?t.modelValue:String(t.modelValue)),S=d(()=>({include:t.keepAliveInclude,exclude:t.keepAliveExclude,max:t.keepAliveMax})),w=d(()=>t.keepAliveInclude!==void 0||t.keepAliveExclude!==void 0);r(()=>t.modelValue,(e,n)=>{let r=A(e)===!0?j(e):-1;u!==!0&&N(r===-1?0:r<j(n)?-1:1),p.value!==r&&(p.value=r,i(`beforeTransition`,e,n),s(()=>{i(`transition`,e,n)},t.transitionDuration))});function T(){P(1)}function O(){P(-1)}function k(e){i(`update:modelValue`,e)}function A(e){return e!=null&&e!==``}function j(e){return c.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function M(){return c.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function N(e){let n=e!==0&&t.animated===!0&&p.value!==-1?`q-transition--`+(e===-1?_.value:v.value):null;f.value!==n&&(f.value=n)}function P(e,n=p.value){let r=n+e;for(;r!==-1&&r<c.length;){let t=c[r];if(t!==void 0&&t.props.disable!==``&&t.props.disable!==!0){N(e),u=!0,i(`update:modelValue`,t.props.name),setTimeout(()=>{u=!1});return}r+=e}t.infinite===!0&&c.length!==0&&n!==-1&&n!==c.length&&P(e,e===-1?c.length:-1)}function F(){let e=j(t.modelValue);return p.value!==e&&(p.value=e),!0}function R(){let e=A(t.modelValue)===!0&&F()&&c[p.value];return t.keepAlive===!0?[n(l,S.value,[n(w.value===!0?o(x.value,()=>({...z,name:x.value})):z,{key:x.value,style:y.value},()=>e)])]:[n(`div`,{class:`q-panel scroll`,style:y.value,key:x.value,role:`tabpanel`},[e])]}function B(){if(c.length!==0)return t.animated===!0?[n(b,{name:f.value},R)]:R()}function V(e){return c=D(C(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&A(e.props.name)===!0),c.length}function H(){return c}return Object.assign(a,{next:T,previous:O,goTo:k}),{panelIndex:p,panelDirectives:g,updatePanelsList:V,updatePanelIndex:F,getPanelContent:B,getEnabledPanels:M,getPanels:H,isValidPanelName:A,keepAliveProps:S,needsUniqueKeepAliveWrapper:w,goToPanelByOffset:P,goToPanel:k,nextPanel:T,previousPanel:O}}var U=f({__name:`AutoLoopChip`,props:{workspace:{default:null}},setup(e){let n=e,{t:r}=O(),l=k(),f=d(()=>n.workspace??l.selectedWorkspace),m=d(()=>f.value?.id??null),h=d(()=>m.value?l.autoLoopStates[m.value]??null:null),g=d(()=>!!h.value?.auto_loop),_=d(()=>!!h.value?.auto_loop_ready),v=d(()=>m.value!==null&&l.selectedWorkspaceId===m.value),y=d(()=>v.value?l.tasks.filter(e=>e.status===`done`).length:h.value?.tasks_done??0),b=d(()=>v.value?l.tasks.length:h.value?.tasks_total??0);return(e,n)=>g.value&&!_.value?(t(),a(P,{key:0,dense:``,square:``,size:`sm`,color:`indigo-4`,"text-color":`white`,icon:`hourglass_top`,class:`q-ml-sm`},{default:i(()=>[c(p(u(r)(`autoLoop.preparing`))+` `,1),s(j,null,{default:i(()=>[c(p(u(r)(`autoLoop.preparingTooltip`)),1)]),_:1})]),_:1})):g.value?(t(),a(P,{key:1,dense:``,square:``,size:`sm`,color:`amber-9`,"text-color":`white`,icon:`autorenew`,class:`q-ml-sm`},{default:i(()=>[c(p(u(r)(`autoLoop.progress`,{done:y.value,total:b.value})),1)]),_:1})):o(``,!0)}}),W={"claude-code":!0,codex:!0};function G(e){return e?W[e]??!0:!0}var K={"claude-code":!0,codex:!0};function q(e){return e?K[e]??!0:!0}export{R as a,L as c,H as i,G as n,V as o,U as r,B as s,q as t};
@@ -1 +0,0 @@
1
- import{$ as e,F as t,L as n,U as r,f as i,g as a,it as o,l as s,p as c,r as l,u,v as d,vt as f,xt as p}from"./runtime-core.esm-bundler-DPcTPMmX.js";import{U as m,t as h}from"./QIcon-0rjEivgj.js";import"./notifications-BzyK_kYE.js";import{n as g}from"./vue-i18n-cyuEW5NY.js";import{m as _}from"./index-DRHsozfK.js";import{t as v}from"./_plugin-vue_export-helper-Cj6tcsj6.js";import{t as y}from"./kobo-commands-Bh5k0Smw.js";var b={class:`slash-suggestions rounded-borders`},x={class:`slash-section-header`},S=[`onMousedown`],C={class:`slash-name text-caption`},w={class:`slash-section-header`},T=[`onMousedown`],E={class:`slash-name text-caption`},D={key:0,class:`slash-description text-caption text-grey-7 q-ml-xs`},O={class:`slash-section-header`},k=[`onMousedown`],A={class:`slash-name text-caption`},j={key:0,class:`slash-description text-caption text-grey-7 q-ml-xs`},M=v(d({__name:`SlashSuggestionsPopup`,props:{groupedDropdown:{},flatDropdown:{},selectedIndex:{}},emits:[`select`],setup(e,{emit:r}){let{t:s}=g(),d=r;function _(e){let t=y[`/${e}`];if(!t)return``;let n=t.descriptionKey,r=s(n);return r===n?``:r}return(r,g)=>(t(),c(`div`,b,[e.groupedDropdown.skills.length>0?(t(),c(l,{key:0},[u(`div`,x,p(o(s)(`chatInput.dropdownSkills`)),1),(t(!0),c(l,null,n(e.groupedDropdown.skills,n=>(t(),c(`div`,{key:`skill-${n.name}`,class:f([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":e.flatDropdown.indexOf(n)===e.selectedIndex}]),onMousedown:m(e=>d(`select`,n),[`prevent`])},[a(h,{name:`bolt`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),u(`span`,C,p(n.name),1)],42,S))),128))],64)):i(``,!0),e.groupedDropdown.kobo.length>0?(t(),c(l,{key:1},[u(`div`,w,p(o(s)(`chatInput.dropdownKobo`)),1),(t(!0),c(l,null,n(e.groupedDropdown.kobo,n=>(t(),c(`div`,{key:`kobo-${n.name}`,class:f([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":e.flatDropdown.indexOf(n)===e.selectedIndex}]),onMousedown:m(e=>d(`select`,n),[`prevent`])},[a(h,{name:`terminal`,size:`12px`,color:`teal-4`,class:`q-mr-xs`}),u(`span`,E,`/`+p(n.name),1),_(n.name)?(t(),c(`span`,D,`— `+p(_(n.name)),1)):i(``,!0)],42,T))),128))],64)):i(``,!0),e.groupedDropdown.templates.length>0?(t(),c(l,{key:2},[u(`div`,O,p(o(s)(`chatInput.dropdownTemplates`)),1),(t(!0),c(l,null,n(e.groupedDropdown.templates,n=>(t(),c(`div`,{key:`tpl-${n.name}`,class:f([`slash-item row items-center q-px-sm q-py-xs cursor-pointer`,{"slash-item--active":e.flatDropdown.indexOf(n)===e.selectedIndex}]),onMousedown:m(e=>d(`select`,n),[`prevent`])},[a(h,{name:`description`,size:`12px`,color:`amber-4`,class:`q-mr-xs`}),u(`span`,A,`/`+p(n.name),1),n.description?(t(),c(`span`,j,`— `+p(n.description),1)):i(``,!0)],42,k))),128))],64)):i(``,!0)]))}}),[[`__scopeId`,`data-v-cc4747a4`]]);function N(t,n,i={}){let a=_(),o=e([]),c=e(!1),l=e(``),u=e(0),d=0;async function f(){let e=Date.now();if(!(e-d<5e3&&o.value.length>0)){d=e;try{let e=await fetch(`/api/skills`);e.ok&&(o.value=await e.json())}catch{}}}function p(){let e=n();if(!e)return null;let r=e.selectionStart??t.value.length,i=t.value.slice(0,r).match(/\/([\w:.-]*)$/);return i?i[1]:null}async function m(){let e=p();e===null?c.value=!1:(await f(),l.value=e,c.value=!0,u.value=0)}function h(){c.value=!1}function g(e){let r=n();if(!r){t.value=e;return}let i=r.selectionStart??t.value.length,a=t.value.slice(0,i),o=t.value.slice(i),s=a.match(/\/[\w:.-]*$/);if(!s){t.value=e;return}let c=s.index??i;t.value=t.value.slice(0,c)+e+o}let v=s(()=>{let e=l.value.toLowerCase(),t=t=>e===``?!0:t.toLowerCase().includes(e);return{skills:o.value.filter(e=>t(e)).map(e=>({type:`skill`,name:e})),kobo:i.excludeKoboCommands?[]:Object.keys(y).map(e=>e.replace(/^\//,``)).filter(e=>t(e)).map(e=>({type:`kobo`,name:e})),templates:a.templates.filter(e=>t(e.slug)).map(e=>({type:`template`,name:e.slug,description:e.description}))}}),b=s(()=>[...v.value.skills,...v.value.kobo,...v.value.templates]);return r(()=>b.value.length,e=>{if(e===0){u.value=0;return}u.value>=e&&(u.value=e-1)}),{skills:o,showSkills:c,skillFilter:l,selectedSkillIndex:u,groupedDropdown:v,flatDropdown:b,fetchSkills:f,detectSlashFragment:m,replaceFragmentWith:g,closeDropdown:h}}function P(e){return{value:e,i18nLabelKey:`reasoning.${e}`,i18nDescriptionKey:`reasoning.${e}Description`}}var F=[P(`auto`),P(`low`),P(`medium`),P(`high`),P(`xhigh`),P(`max`)],I=[P(`auto`),P(`minimal`),P(`low`),P(`medium`),P(`high`),P(`xhigh`)],L={"claude-code":F,codex:I};function R(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];return r==null?e:String(r)})}function z(e){let t={};return e.workspace&&(t.workspace_name=e.workspace.name,t.working_branch=e.workspace.workingBranch,t.source_branch=e.workspace.sourceBranch,t.project_path=e.workspace.projectPath,t.worktree_path=e.workspace.worktreePath??`${e.workspace.projectPath}/.worktrees/${e.workspace.workingBranch}`),e.gitStats&&(t.commit_count=e.gitStats.commitCount,t.unpushed_count=e.gitStats.unpushedCount,t.files_changed=e.gitStats.filesChanged,t.insertions=e.gitStats.insertions,t.deletions=e.gitStats.deletions,e.gitStats.prNumber!=null&&(t.pr_number=e.gitStats.prNumber),e.gitStats.prUrl&&(t.pr_url=e.gitStats.prUrl),e.gitStats.prState&&(t.pr_state=e.gitStats.prState)),e.sessionName&&(t.session_name=e.sessionName),t}export{M as a,N as i,R as n,L as r,z as t};
@@ -1 +0,0 @@
1
- import{a as e,p as t}from"./index-DRHsozfK.js";var n=e(({app:e})=>{e.use(t)});export{n as default};