wherdr 1.3.2 → 1.3.4

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 (188) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{AgentView.C4YOwvZG.css → AgentView.DzFWBd2A.css} +1 -1
  3. package/.output/public/_nuxt/{Cd8j9O5w.js → BEJHMUrj.js} +1 -1
  4. package/.output/public/_nuxt/BOtcEDnA.js +1 -0
  5. package/.output/public/_nuxt/BUaYhQ2r.js +6 -0
  6. package/.output/public/_nuxt/{yzABg5xl.js → Bpoxvzh6.js} +1 -1
  7. package/.output/public/_nuxt/C25ROUa9.js +3 -0
  8. package/.output/public/_nuxt/CDWjMk9C.js +2 -0
  9. package/.output/public/_nuxt/CJKsMzIp.js +1 -0
  10. package/.output/public/_nuxt/CJNhn9sA.js +36 -0
  11. package/.output/public/_nuxt/COCvtdHN.js +89 -0
  12. package/.output/public/_nuxt/{Ci8N4mWR.js → CXJnLmWv.js} +1 -1
  13. package/.output/public/_nuxt/Cl45J6_Q.js +1 -0
  14. package/.output/public/_nuxt/CndPDbMI.js +2 -0
  15. package/.output/public/_nuxt/Ctbx58Um.js +23 -0
  16. package/.output/public/_nuxt/{8ksjcuDu.js → DMLmW6JM.js} +49 -56
  17. package/.output/public/_nuxt/Dl1PHLOB.js +1 -0
  18. package/.output/public/_nuxt/Nhex3_iH.js +1 -0
  19. package/.output/public/_nuxt/OpWX45i7.js +89 -0
  20. package/.output/public/_nuxt/builds/latest.json +1 -1
  21. package/.output/public/_nuxt/builds/meta/4994f3a4-4126-4f57-a9e5-c7ebb25850bc.json +1 -0
  22. package/.output/public/_nuxt/dTj21DMs.js +1 -0
  23. package/.output/public/_nuxt/entry.BohTWE-n.css +2 -0
  24. package/.output/public/_nuxt/kwSoIiM7.js +1 -0
  25. package/.output/public/_nuxt/mkEwYka4.js +1 -0
  26. package/.output/public/_nuxt/pdf.min.t82Z80JU.mjs +28 -0
  27. package/.output/public/_nuxt/pdf.worker.min.wgc6bjNh.mjs +28 -0
  28. package/.output/public/_nuxt/w7Rm7unj.js +1 -0
  29. package/.output/public/sw.js +1 -1
  30. package/.output/server/chunks/_/branding.mjs +1 -1
  31. package/.output/server/chunks/_/filePaths.mjs +25 -0
  32. package/.output/server/chunks/_/files.mjs +217 -0
  33. package/.output/server/chunks/_/machineOrder.mjs +1 -1
  34. package/.output/server/chunks/_/onboarding.mjs +1 -1
  35. package/.output/server/chunks/_/package.mjs +5 -2
  36. package/.output/server/chunks/_/pluginPolicy.mjs +93 -0
  37. package/.output/server/chunks/_/plugins.mjs +9 -96
  38. package/.output/server/chunks/_/projectBoard.mjs +124 -36
  39. package/.output/server/chunks/_/projectDocs.mjs +106 -0
  40. package/.output/server/chunks/_/projectInbox.mjs +135 -0
  41. package/.output/server/chunks/_/projectThreads.mjs +46 -0
  42. package/.output/server/chunks/_/projectThreads2.mjs +61 -0
  43. package/.output/server/chunks/_/projectsActions.mjs +1 -1
  44. package/.output/server/chunks/_/projectsPlugin.mjs +24 -50
  45. package/.output/server/chunks/_/projectsPlugin2.mjs +57 -0
  46. package/.output/server/chunks/_/restart.mjs +2 -312
  47. package/.output/server/chunks/_/reveal.mjs +2 -24
  48. package/.output/server/chunks/_/selfupdate.mjs +3 -2
  49. package/.output/server/chunks/_/settingstabs.mjs +36 -0
  50. package/.output/server/chunks/_/updates.mjs +51 -10
  51. package/.output/server/chunks/_/worktrees.mjs +1 -1
  52. package/.output/server/chunks/_/ws.mjs +1 -1
  53. package/.output/server/chunks/nitro/nitro.mjs +1718 -417
  54. package/.output/server/chunks/raw/bump-homebrew.mjs +1 -1
  55. package/.output/server/chunks/raw/herdr-plugin.mjs +1 -1
  56. package/.output/server/chunks/raw/release-ready.mjs +5 -0
  57. package/.output/server/chunks/routes/api/_..._.mjs +1 -1
  58. package/.output/server/chunks/routes/api/agents.post.mjs +1 -1
  59. package/.output/server/chunks/routes/api/ask-tab.post.mjs +1 -1
  60. package/.output/server/chunks/routes/api/attach.post.mjs +1 -1
  61. package/.output/server/chunks/routes/api/auth/disable.post.mjs +1 -1
  62. package/.output/server/chunks/routes/api/auth/lock-all.post.mjs +1 -1
  63. package/.output/server/chunks/routes/api/auth/lock.post.mjs +1 -1
  64. package/.output/server/chunks/routes/api/auth/login/options.post.mjs +1 -1
  65. package/.output/server/chunks/routes/api/auth/login/verify.post.mjs +1 -1
  66. package/.output/server/chunks/routes/api/auth/max-session.post.mjs +1 -1
  67. package/.output/server/chunks/routes/api/auth/register/options.post.mjs +1 -1
  68. package/.output/server/chunks/routes/api/auth/register/verify.post.mjs +1 -1
  69. package/.output/server/chunks/routes/api/auth/status.get.mjs +1 -1
  70. package/.output/server/chunks/routes/api/board.get.mjs +148 -0
  71. package/.output/server/chunks/routes/api/changes.get.mjs +2 -2
  72. package/.output/server/chunks/routes/api/chat/image.get.mjs +2 -2
  73. package/.output/server/chunks/routes/api/chat.get.mjs +26 -6
  74. package/.output/server/chunks/routes/api/choose.post.mjs +40 -14
  75. package/.output/server/chunks/routes/api/claude-statusline.post.mjs +2 -2
  76. package/.output/server/chunks/routes/api/close/status.get.mjs +2 -2
  77. package/.output/server/chunks/routes/api/close.post.mjs +1 -1
  78. package/.output/server/chunks/routes/api/codex-update.post.mjs +2 -2
  79. package/.output/server/chunks/routes/api/commands.get.mjs +4 -3
  80. package/.output/server/chunks/routes/api/config.get.mjs +3 -2
  81. package/.output/server/chunks/routes/api/dirs.get.mjs +2 -2
  82. package/.output/server/chunks/routes/api/dismiss-stopped.post.mjs +43 -0
  83. package/.output/server/chunks/routes/api/dismiss.post.mjs +2 -2
  84. package/.output/server/chunks/routes/api/effort.post.mjs +2 -2
  85. package/.output/server/chunks/routes/api/efforts.get.mjs +2 -2
  86. package/.output/server/chunks/routes/api/file.post.mjs +2 -2
  87. package/.output/server/chunks/routes/api/files/download.get.mjs +60 -0
  88. package/.output/server/chunks/routes/api/files/read.get.mjs +45 -0
  89. package/.output/server/chunks/routes/api/files.get.mjs +44 -0
  90. package/.output/server/chunks/routes/api/gitroot.get.mjs +2 -2
  91. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  92. package/.output/server/chunks/routes/api/index.get.mjs +2 -1
  93. package/.output/server/chunks/routes/api/input.post.mjs +32 -5
  94. package/.output/server/chunks/routes/api/interrupt.post.mjs +2 -2
  95. package/.output/server/chunks/routes/api/isgit.get.mjs +2 -2
  96. package/.output/server/chunks/routes/api/machine/awake.get.mjs +2 -2
  97. package/.output/server/chunks/routes/api/machine/awake.post.mjs +2 -2
  98. package/.output/server/chunks/routes/api/machine/order.get.mjs +1 -1
  99. package/.output/server/chunks/routes/api/machine/order.post.mjs +1 -1
  100. package/.output/server/chunks/routes/api/machine/rename.post.mjs +2 -2
  101. package/.output/server/chunks/routes/api/menu.post.mjs +5 -2
  102. package/.output/server/chunks/routes/api/model.post.mjs +2 -2
  103. package/.output/server/chunks/routes/api/models.get.mjs +2 -2
  104. package/.output/server/chunks/routes/api/nav.post.mjs +36 -22
  105. package/.output/server/chunks/routes/api/onboarding.get.mjs +1 -1
  106. package/.output/server/chunks/routes/api/onboarding.post.mjs +1 -1
  107. package/.output/server/chunks/routes/api/phone.get.mjs +2 -2
  108. package/.output/server/chunks/routes/api/phone.post.mjs +2 -2
  109. package/.output/server/chunks/routes/api/plugins/actions.get.mjs +4 -1
  110. package/.output/server/chunks/routes/api/plugins/invoke.post.mjs +4 -1
  111. package/.output/server/chunks/routes/api/plugins/profiles.get.mjs +4 -1
  112. package/.output/server/chunks/routes/api/plugins/projects.get.mjs +4 -3
  113. package/.output/server/chunks/routes/api/plugins/projects.post.mjs +4 -3
  114. package/.output/server/chunks/routes/api/plugins/thread-limits.get.mjs +2 -2
  115. package/.output/server/chunks/routes/api/plugins/thread-limits.post.mjs +2 -2
  116. package/.output/server/chunks/routes/api/project/inbox.get.mjs +44 -0
  117. package/.output/server/chunks/routes/api/project/inbox.post.mjs +44 -0
  118. package/.output/server/chunks/routes/api/project/memory.get.mjs +43 -0
  119. package/.output/server/chunks/routes/api/project/report.get.mjs +3 -2
  120. package/.output/server/chunks/routes/api/project/routines.get.mjs +44 -0
  121. package/.output/server/chunks/routes/api/project/settings.get.mjs +42 -0
  122. package/.output/server/chunks/routes/api/project/thread.get.mjs +45 -0
  123. package/.output/server/chunks/routes/api/project/thread.post.mjs +47 -0
  124. package/.output/server/chunks/routes/api/prompt.post.mjs +21 -3
  125. package/.output/server/chunks/routes/api/push/quiet.post.mjs +2 -2
  126. package/.output/server/chunks/routes/api/push/subscribe.post.mjs +2 -2
  127. package/.output/server/chunks/routes/api/push/test.post.mjs +2 -2
  128. package/.output/server/chunks/routes/api/push/unsubscribe.post.mjs +2 -2
  129. package/.output/server/chunks/routes/api/quotas.get.mjs +2 -2
  130. package/.output/server/chunks/routes/api/rename.post.mjs +1 -1
  131. package/.output/server/chunks/routes/api/requeue.post.mjs +2 -2
  132. package/.output/server/chunks/routes/api/restart.get.mjs +1 -1
  133. package/.output/server/chunks/routes/api/restart.post.mjs +1 -1
  134. package/.output/server/chunks/routes/api/reveal.post.mjs +2 -1
  135. package/.output/server/chunks/routes/api/screen-key.post.mjs +14 -11
  136. package/.output/server/chunks/routes/api/screen.get.mjs +6 -37
  137. package/.output/server/chunks/routes/api/search.get.mjs +2 -2
  138. package/.output/server/chunks/routes/api/seen.post.mjs +2 -2
  139. package/.output/server/chunks/routes/api/sessions.get.mjs +2 -2
  140. package/.output/server/chunks/routes/api/sessions.post.mjs +2 -2
  141. package/.output/server/chunks/routes/api/settings-tab.post.mjs +89 -0
  142. package/.output/server/chunks/routes/api/space.post.mjs +14 -14
  143. package/.output/server/chunks/routes/api/state.get.mjs +2 -2
  144. package/.output/server/chunks/routes/api/unqueue.post.mjs +2 -2
  145. package/.output/server/chunks/routes/api/update/status.get.mjs +1 -1
  146. package/.output/server/chunks/routes/api/update.get.mjs +2 -2
  147. package/.output/server/chunks/routes/api/update.post.mjs +2 -2
  148. package/.output/server/chunks/routes/api/upload.post.mjs +2 -2
  149. package/.output/server/chunks/routes/api/worktrees/remove.post.mjs +1 -1
  150. package/.output/server/chunks/routes/api/worktrees.get.mjs +1 -1
  151. package/.output/server/chunks/routes/favicon.ico.get.mjs +1 -1
  152. package/.output/server/chunks/routes/icons/_name_.get.mjs +2 -2
  153. package/.output/server/chunks/routes/renderer.mjs +3 -3
  154. package/.output/server/chunks/routes/uploads/_...name_.get.mjs +2 -2
  155. package/.output/server/chunks/routes/ws/_..._.mjs +2 -2
  156. package/.output/server/chunks/routes/ws/events.mjs +2 -2
  157. package/.output/server/chunks/routes/ws/term.mjs +2 -2
  158. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  159. package/.output/server/index.mjs +2 -2
  160. package/.output/server/package.json +1 -1
  161. package/README.md +368 -40
  162. package/bin/install-docker-skill.sh +20 -0
  163. package/bin/lib/commands.mjs +5 -1
  164. package/bin/lib/core.mjs +1 -0
  165. package/bin/lib/install-skill.sh +100 -0
  166. package/bin/lib/skill.mjs +16 -0
  167. package/bin/lib/updater.mjs +65 -12
  168. package/bin/lib/verify-release.mjs +20 -0
  169. package/package.json +5 -2
  170. package/skills/wherdr/SKILL.md +186 -0
  171. package/.output/public/_nuxt/B7QP1TFs.js +0 -23
  172. package/.output/public/_nuxt/BDNMzG2s.js +0 -1
  173. package/.output/public/_nuxt/BOpBIziZ.js +0 -6
  174. package/.output/public/_nuxt/BWXdFfeg.js +0 -17
  175. package/.output/public/_nuxt/COFCNFpG.js +0 -83
  176. package/.output/public/_nuxt/CWwyK2XK.js +0 -2
  177. package/.output/public/_nuxt/CXG-cOdh.js +0 -1
  178. package/.output/public/_nuxt/CkZ8t6uB.js +0 -1
  179. package/.output/public/_nuxt/D4Yz4rat.js +0 -65
  180. package/.output/public/_nuxt/D7sxNXx1.js +0 -1
  181. package/.output/public/_nuxt/DViwOclv.js +0 -1
  182. package/.output/public/_nuxt/DoD7Qb5P.js +0 -30
  183. package/.output/public/_nuxt/DyBZDSCV.js +0 -2
  184. package/.output/public/_nuxt/SiL1FJ5s.js +0 -3
  185. package/.output/public/_nuxt/bLP7Jj-b.js +0 -1
  186. package/.output/public/_nuxt/builds/meta/7afbf062-5369-4002-b20d-7a582ff6e0f1.json +0 -1
  187. package/.output/public/_nuxt/entry.Crt1r4l3.css +0 -2
  188. package/.output/server/chunks/routes/ws/mirror.mjs +0 -161
@@ -0,0 +1 @@
1
+ import{B as e,Ot as t,P as n,V as r,gr as i,j as a,sn as o}from"./C25ROUa9.js";import{t as s}from"./Bpoxvzh6.js";import{A as c,ft as l}from"#entry";var u={class:`antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide`},d={class:`max-w-520px text-center`},f=[`textContent`],p=[`textContent`],m=[`textContent`],h={class:`flex items-center justify-center w-full`},g=c({__name:`error-404`,props:{appName:{type:String,default:`Nuxt`},status:{type:Number,default:404},statusText:{type:String,default:`Page not found`},description:{type:String,default:`Sorry, the page you are looking for could not be found.`},backHome:{type:String,default:`Go back home`}},setup(c){let g=c;return l({title:`${g.status} - ${g.statusText} | ${g.appName}`,script:[{innerHTML:`!function(){let e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(let e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(let t of e)if("childList"===t.type)for(let e of t.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;let r=function(e){let r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),r.credentials="use-credentials"===e.crossOrigin?"include":"anonymous"===e.crossOrigin?"omit":"same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:`*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:after,:before{--un-content:""}html{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }`}]}),(l,g)=>{let _=s;return t(),n(`div`,u,[a(`div`,d,[a(`h1`,{class:`font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]`,textContent:i(c.status)},null,8,f),a(`h2`,{class:`font-semibold mb-2 sm:text-3xl text-2xl`,textContent:i(c.statusText)},null,8,p),a(`p`,{class:`mb-4 px-2 text-[#64748B] text-md`,textContent:i(c.description)},null,8,m),a(`div`,h,[r(_,{to:`/`,class:`font-medium hover:text-[#00DC82] text-sm underline underline-offset-3`},{default:o(()=>[e(i(c.backHome),1)]),_:1})])])])}}},[[`__scopeId`,`data-v-b8cc6c10`]]);export{g as default};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,Et as n,Fn as r,Hn as i,M as a,Mn as o,N as s,Ot as c,P as l,Pt as u,St as d,U as f,V as p,b as m,fr as h,gr as g,j as _,ln as ee,nn as v,sn as te}from"./C25ROUa9.js";import{gt as ne,vt as y}from"./CDWjMk9C.js";import{Ar as b,Cr as x,N as S,ei as re,ir as C,k as w,pr as ie}from"./OpWX45i7.js";import{p as ae,u as T}from"./CXJnLmWv.js";import{C as oe,G as E,H as D,I as se,Pr as O,T as k,Ur as A,Vr as ce,W as j,Wr as M,_ as N,b as P,di as le,mt as ue,n as F,o as de}from"./COCvtdHN.js";import{_ as fe,c as pe,d as me,f as he,g as ge,l as _e,m as I,s as L,t as ve,u as R}from"./BOtcEDnA.js";import{H as z,U as B}from"#entry";import{c as V,d as H,l as U,n as W,o as ye,r as be,s as G,t as xe,u as K}from"./dTj21DMs.js";var q=[`draggable`],J=[`aria-label`],Y={class:`board-card-head`},X={class:`board-card-title`},Z={class:`board-counts`},Q={key:0,class:`board-note`},Se={key:1,class:`board-note error`},$={class:`board-card-title wrap`},Ce={class:`pp-meta`},we={class:`board-task-row`},Te={class:`pp-task-text`},Ee={key:0,class:`pp-sent`},De={key:0,class:`pp-reason`},Oe={key:1,class:`pp-task-foot`},ke={key:2,class:`board-card-label`},Ae={class:`board-card-head`},je={class:`board-card-title`},Me={key:4,class:`board-card-where`},Ne=Object.assign(f({__name:`BoardCard`,props:{card:{},board:{},sent:{type:Boolean},movable:{type:Boolean},draggable:{type:Boolean}},emits:[`open`,`move`,`dragstart`,`dragend`],setup(n,{emit:r}){let o=n,d=r,f={blocked:A(`Blocked`),todo:A(`Todo`),ongoing:A(`Ongoing`),finished:A(`Finished`)},ee=e(()=>{let e=o.card;return e.kind===`agent`?E(e.pane):e.kind===`project`&&e.stale||E(e.coordinator)}),v=e(()=>{let e=o.card,t=e.kind===`agent`?e.pane:e.coordinator;return[e.kind===`project`?``:e.project,t.machine?se(t.machine):``].filter(Boolean).join(` · `)}),te=()=>o.card.kind===`task`?o.card.moves.map(e=>({label:f[e.to],run:()=>d(`move`,e)})):[],ne=e(()=>{let e=o.card;return e.kind===`project`?e.project||``:e.kind===`thread`?`${e.thread.id.toUpperCase()} · ${e.thread.title}`:e.kind===`task`?e.task.text:O(e.pane)});function b(e){e.target?.closest(`a, button`)||d(`open`)}return(e,r)=>{let o=S,x=I,re=V,C=B,ie=w,ae=G,T=z;return c(),l(`div`,{class:h([`board-card`,[n.card.kind,{stale:i(ee),sent:n.sent,"is-draggable":n.draggable}]]),draggable:n.draggable,onClick:b,onDragstart:r[2]||=e=>d(`dragstart`,e),onDragend:r[3]||=e=>d(`dragend`)},[_(`button`,{type:`button`,class:`board-card-open sr-only`,"aria-label":i(ne),onClick:r[0]||=e=>d(`open`)},null,8,J),n.card.kind===`project`?(c(),l(m,{key:0},[_(`div`,Y,[p(o,{name:`i-lucide-folder`,class:`board-card-icon`}),_(`span`,X,g(n.card.project),1),p(x,{pane:n.card.coordinator},null,8,[`pane`])]),_(`ul`,Z,[(c(!0),l(m,null,u(i(L),e=>(c(),l(`li`,{key:e,class:h([e,{zero:!n.card.counts[e]}])},[_(`b`,null,g(n.card.counts[e]),1),t(` `+g(f[e]),1)],2))),128))]),n.card.stale?(c(),l(`p`,Q,g((`t`in e?e.t:i(A))(`Last known state`)),1)):s(``,!0),n.card.error?(c(),l(`p`,Se,g((`t`in e?e.t:i(A))(n.card.error)),1)):s(``,!0)],64)):n.card.kind===`thread`?(c(),l(m,{key:1},[_(`span`,$,g(n.card.thread.title),1),_(`span`,{class:h([`pill`,(`threadClass`in e?e.threadClass:i(U))(n.card.thread)])},[r[4]||=_(`i`,null,null,-1),t(g((`threadLabel`in e?e.threadLabel:i(K))(n.card.thread)),1)],2),_(`span`,Ce,g((`threadMeta`in e?e.threadMeta:i(H))(n.card.thread)),1)],64)):n.card.kind===`task`?(c(),l(m,{key:2},[_(`div`,we,[r[5]||=_(`span`,{class:`pp-box`},null,-1),_(`span`,Te,[p(re,{text:n.card.task.text},null,8,[`text`])]),n.sent?(c(),l(`span`,Ee,[p(o,{name:`i-lucide-send`}),t(g((`t`in e?e.t:i(A))(`Sent`)),1)])):n.card.moves.length?(c(),l(m,{key:1},[n.movable?(c(),a(C,{key:0,items:te,title:(`t`in e?e.t:i(A))(`Move to…`),label:(`t`in e?e.t:i(A))(`Move to…`),size:`sm`},null,8,[`title`,`label`])):(c(),a(ie,{key:1,icon:`i-lucide-ellipsis`,color:`neutral`,variant:`ghost`,size:`sm`,class:`icon-btn`,"aria-label":(`t`in e?e.t:i(A))(`Move to…`),disabled:``,onClick:r[1]||=y(()=>{},[`stop`])},null,8,[`aria-label`]))],64)):s(``,!0)]),n.card.task.reason?(c(),l(`p`,De,g(n.card.task.reason),1)):s(``,!0),n.card.task.badges?.length?(c(),l(`span`,Oe,[p(ae,{badges:n.card.task.badges,coordinator:n.card.coordinator,board:n.board},null,8,[`badges`,`coordinator`,`board`])])):s(``,!0),n.card.listTitle?(c(),l(`span`,ke,g(n.card.listTitle),1)):s(``,!0)],64)):n.card.kind===`agent`?(c(),l(m,{key:3},[_(`div`,Ae,[p(T,{agent:n.card.pane.agent},null,8,[`agent`]),_(`span`,je,g((`paneTitle`in e?e.paneTitle:i(O))(n.card.pane)),1)]),p(x,{pane:n.card.pane},null,8,[`pane`])],64)):s(``,!0),i(v)?(c(),l(`span`,Me,g(i(v)),1)):s(``,!0)],42,q)}}}),{__name:`BoardCard`}),Pe=null;function Fe(){let t=r(Pe),i=o(``),a=0,s=!1,c;async function l(e=[]){if(D.value||s)return;let n=++a;try{let r=new URLSearchParams;t.value&&r.set(`since`,t.value.version);for(let t of e)r.append(`refresh`,t);let o=await F(`/api/board?${r}`);if(n!==a||(i.value=``,`same`in o))return;t.value=Pe=o;for(let e of o.projects)if(e.board)for(let t of e.panes)W(t,e.board)}catch(e){if(n!==a)return;i.value=e.message,!t.value&&!c&&(c=setTimeout(()=>{c=void 0,l()},3e3))}}let u=e(()=>{let e={};for(let t of k.value.panes){let n=x(t)?.toLowerCase();n&&(e[n]||=[]).push(`${t.id}=${t.status}`)}return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.sort().join(`,`)]))}),d=new Set,f;v(u,(e,n)=>{for(let t of new Set([...Object.keys(e),...Object.keys(n)]))e[t]!==n[t]&&d.add(t);d.size&&(clearTimeout(f),f=setTimeout(()=>{let e=(t.value?.projects||[]).filter(e=>d.has(e.slug.toLowerCase())).map(e=>e.key);d.clear(),l(e)},2500))});let p;function m(){clearInterval(p),clearTimeout(c)}let h=e(()=>b({coordinator:!0,offline:D.value,visible:!0,pageVisible:j.value,available:!0}));return v(h,e=>{m(),e!==`none`&&(l(),p=le(()=>l(),C))},{immediate:!0}),n(()=>{s=!0,a++,m(),clearTimeout(f)}),{board:t,cards:e(()=>R(t.value?.projects??null,k.value.panes)),error:i}}var Ie={id:`board`,class:`view board-view`},Le={class:`top bar board-top`},Re={key:1,class:`notice board-notice`},ze={key:2,class:`board-empty board-loading`},Be=[`aria-label`],Ve=[`aria-pressed`,`onClick`],He={class:`board-cols`},Ue=[`aria-label`,`onDragover`,`onDrop`],We={key:0,class:`board-col-head`},Ge={class:`pp-count`},Ke={class:`board-col-body`},qe={key:0,class:`board-empty`},Je=5,Ye=`boardColumn`,Xe=`boardHiddenProjects`,Ze=`application/x-wherdr-board-task`,Qe=Object.assign(f({__name:`BoardView`,setup(t){let n=ae(),{board:d,cards:f,error:b}=Fe(),x={blocked:A(`Blocked`),todo:A(`Todo`),ongoing:A(`Ongoing`),finished:A(`Finished`)},S=o(!1);function C(){try{let e=JSON.parse(localStorage.getItem(Xe)||`[]`);if(Array.isArray(e))return new Set(e.filter(e=>typeof e==`string`))}catch{}return new Set}let O=r(C());function k(e){O.value=e;try{localStorage.setItem(Xe,JSON.stringify([...e]))}catch{}}let j=e(()=>_e(f.value)),N=e(()=>j.value.filter(e=>O.value.has(e.id)).length),le=e(()=>[[{type:`label`,label:M(`Projects`,`Projets`)},...j.value.map(e=>({type:`checkbox`,label:e.name===null?M(`Other agents`,`Autres agents`):[e.name,e.machine?se(e.machine):``].filter(Boolean).join(` · `),checked:!O.value.has(e.id),onUpdateChecked:t=>{let n=new Set(O.value);t?n.delete(e.id):n.add(e.id),k(n)},onSelect:e=>e.preventDefault()}))],[{label:M(`Show all projects`,`Afficher tous les projets`),icon:`i-lucide-eye`,disabled:!N.value,onSelect:()=>k(new Set)}]]),F=e(()=>N.value?M(`Filter projects: ${N.value} hidden`,`Filtrer les projets : ${N.value} masqué(s)`):M(`Filter projects`,`Filtrer les projets`)),I=e(()=>he(f.value,O.value)),R=e(()=>S.value?{cards:I.value,hidden:0}:me(I.value,Je)),z=e(()=>L.map(e=>({id:e,label:x[e],total:I.value.filter(t=>t.column===e).length,cards:R.value.cards.filter(t=>t.column===e)})));function B(){try{let e=localStorage.getItem(Ye);if(L.includes(e))return e}catch{}return`blocked`}let V=o(B());function H(e){V.value=e;try{localStorage.setItem(Ye,e)}catch{}}let U=e=>e.kind===`task`?d.value?.projects.find(t=>t.panes.includes(e.coordinator.id))?.board??null:null;function W(e){e.kind===`agent`?T(re(e.pane.id)):e.kind===`thread`?ve(e.coordinator,e.project||``,e.thread):ie(e.coordinator)}let G=ce===`en`?`en`:`fr`,K=e=>oe.value&&!D.value&&!E(e.coordinator)&&!!e.coordinator.agent&&!ye.value,q=e=>xe(e.coordinator.id,e.list,e.task.text);async function J(e,t){let n=f.value.find(t=>t.key===e.key);n?.kind===`task`&&n.moves.some(e=>e.action===t.action)&&await be(n.coordinator.id,n.list,t.action,n.task.text,pe(t.action,n.task.text,G))!==!1&&ue(A(`Sent to the coordinator`))}let Y=r(null),X=o(null),Z=e=>Y.value?.moves.find(t=>t.to===e),Q=e=>!!e.dataTransfer?.types.includes(Ze);function Se(e,t){if(!K(e)||q(e)||!t.dataTransfer)return t.preventDefault();Y.value=e,t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(Ze,e.key),t.dataTransfer.setData(`text/plain`,e.task.text)}function $(){Y.value=null,X.value=null}v(f,e=>{let t=Y.value;t&&!e.some(e=>e.key===t.key)&&$()});function Ce(e,t){Q(t)&&Z(e)&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),X.value=e)}function we(e,t){let n=Z(e),r=Y.value;$(),Q(t)&&n&&r&&(t.preventDefault(),J(r,n))}function Te(){let e=history.state?.back;typeof e==`string`&&e.startsWith(`/`)&&e!==`/board`?n.back():T(`/`,{replace:!0})}return(e,t)=>{let n=w,r=fe,o=ge,f=Ne;return c(),l(`section`,Ie,[_(`header`,Le,[p(n,{icon:`i-lucide-chevron-left`,color:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn`,"aria-label":(`t`in e?e.t:i(A))(`Back`),onClick:Te},null,8,[`aria-label`]),_(`h2`,null,g((`t`in e?e.t:i(A))(`Board`)),1),i(j).length?(c(),a(r,{key:0,items:i(le),content:{align:`end`},ui:{content:`hw-dropdown`}},{default:te(()=>[p(n,{icon:`i-lucide-filter`,color:i(N)?`primary`:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn board-filter`,"aria-label":i(F),title:i(F)},null,8,[`color`,`aria-label`,`title`])]),_:1},8,[`items`])):s(``,!0)]),(`offlineView`in e?e.offlineView:i(D))&&(`cachedAt`in e?e.cachedAt:i(de))?(c(),a(o,{key:0,class:`board-offline`,label:(`t`in e?e.t:i(A))(`Last known state`),at:`cachedAt`in e?e.cachedAt:i(de),"date-style":`medium`},null,8,[`label`,`at`])):s(``,!0),i(b)?(c(),l(`div`,Re,g(i(b)),1)):!i(d)&&!(`offlineView`in e?e.offlineView:i(D))?(c(),l(`p`,ze,g((`t`in e?e.t:i(A))(`Loading…`)),1)):s(``,!0),(`desk`in e?e.desk:i(P))?s(``,!0):(c(),l(`div`,{key:3,class:`board-seg`,role:`group`,"aria-label":(`t`in e?e.t:i(A))(`Board`)},[(c(!0),l(m,null,u(i(z),e=>(c(),l(`button`,{key:e.id,type:`button`,class:h([`board-seg-btn`,[e.id,{on:i(V)===e.id}]]),"aria-pressed":i(V)===e.id,onClick:t=>H(e.id)},[_(`span`,null,g(e.label),1),_(`b`,null,g(e.total),1)],10,Ve))),128))],8,Be)),_(`div`,He,[(c(!0),l(m,null,u(i(z),n=>ee((c(),l(`section`,{key:n.id,class:h([`board-col`,[n.id,{drop:i(Y)&&Z(n.id),over:i(X)===n.id}]]),"aria-label":n.label,onDragover:e=>Ce(n.id,e),onDragleave:t[1]||=y(e=>X.value=null,[`self`]),onDrop:e=>we(n.id,e)},[(`desk`in e?e.desk:i(P))?(c(),l(`h3`,We,[_(`span`,null,g(n.label),1),_(`span`,Ge,g(n.total),1)])):s(``,!0),_(`div`,Ke,[(c(!0),l(m,null,u(n.cards,t=>(c(),a(f,{key:t.key,card:t,board:U(t),sent:t.kind===`task`&&q(t),movable:t.kind===`task`&&K(t),draggable:(`desk`in e?e.desk:i(P))&&t.kind===`task`&&t.moves.length>0&&K(t)&&!q(t),onOpen:e=>W(t),onMove:e=>t.kind===`task`&&J(t,e),onDragstart:e=>t.kind===`task`&&Se(t,e),onDragend:$},null,8,[`card`,`board`,`sent`,`movable`,`draggable`,`onOpen`,`onMove`,`onDragstart`]))),128)),n.cards.length?s(``,!0):(c(),l(`p`,qe,g((`t`in e?e.t:i(A))(`Nothing here`)),1)),n.id===`finished`&&i(R).hidden?(c(),l(`button`,{key:1,type:`button`,class:`board-more`,onClick:t[0]||=e=>S.value=!0},g((`tl`in e?e.tl:i(M))(`Show all (${i(R).hidden} more)`,`Tout afficher (${i(R).hidden} de plus)`)),1)):s(``,!0)])],42,Ue)),[[ne,(`desk`in e?e.desk:i(P))||i(V)===n.id]])),128))])])}}}),{__name:`BoardView`}),$e=f({__name:`board`,setup(e){return d(()=>{N.value=null}),(e,t)=>{let n=Qe;return c(),a(n)}}});export{$e as default};