wherdr 2.0.0 → 2.0.1
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/072bjdot.js +2 -0
- package/.output/public/_nuxt/{BHenDMeH.js → 8FAMamJX.js} +1 -1
- package/.output/public/_nuxt/{AgentView.DzFWBd2A.css → AgentView.CfD2RWZY.css} +1 -1
- package/.output/public/_nuxt/{DyfFwwGq.js → BX8KVYfd.js} +1 -1
- package/.output/public/_nuxt/{C3Bkn4ac.js → C2aT0CgA.js} +1 -1
- package/.output/public/_nuxt/{FaNto0ga.js → CanLPS0U.js} +1 -1
- package/.output/public/_nuxt/DGXKTg7D.js +31 -0
- package/.output/public/_nuxt/{DFmgQVme.js → DOsw6KCR.js} +2 -2
- package/.output/public/_nuxt/DTiR5P9E.js +25 -0
- package/.output/public/_nuxt/{R0Y4VoeX.js → DYKfeNM-.js} +1 -1
- package/.output/public/_nuxt/{CuUQ4mEf.js → DZ7VvF3e.js} +1 -1
- package/.output/public/_nuxt/{DFGEl0v2.js → DeLLm2j1.js} +2 -2
- package/.output/public/_nuxt/{BETID3_E.js → DumNBIyF.js} +1 -1
- package/.output/public/_nuxt/{BhgehRdJ.js → ScQ9FtVj.js} +1 -1
- package/.output/public/_nuxt/{BtH82ZuZ.js → TS7GZUPU.js} +1 -1
- package/.output/public/_nuxt/{board.CEEcFc6M.css → board.DK5EU4sL.css} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/b6ed1ddd-d6d6-4137-beab-2548b20dd998.json +1 -0
- package/.output/public/_nuxt/{entry.CKoXcwRa.css → entry.BhiYrGAW.css} +1 -1
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/_/package.mjs +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +218 -218
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/docs/board.md +5 -0
- package/docs/machines.md +9 -4
- package/package.json +1 -1
- package/.output/public/_nuxt/DmkWvmnE.js +0 -2
- package/.output/public/_nuxt/DrKKeFFE.js +0 -31
- package/.output/public/_nuxt/NIF0VwHk.js +0 -25
- package/.output/public/_nuxt/builds/meta/0b28b3e9-664e-4347-a35b-afb0a711d5c5.json +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as e,B as t,Et as n,Fn as r,Ft as i,Hn as a,M as o,Mn as s,N as c,Ot as l,P as u,Pt as d,Rt as f,St as p,U as m,V as h,Yt as g,b as _,fr as v,gr as y,hr as b,ht as x,j as S,ln as C,nn as w,pt as T,sn as E,vt as D,wn as O}from"./C25ROUa9.js";import{_t as k,dt as A,gt as j,vt as M}from"./CDWjMk9C.js";import{Ar as N,Cr as P,Sr as ee,br as F,h as te,jr as I,nn as L,o as R,pn as z,u as ne}from"./DFGEl0v2.js";import{f as B,p as re,u as V}from"./CXJnLmWv.js";import{C as ie,D as H,F as ae,I as oe,a as se,g as ce,n as le,o as ue}from"./BtH82ZuZ.js";import{B as de,Br as fe,Dt as pe,G as me,Hr as he,J as U,M as ge,O as _e,Qr as ve,S as ye,Ti as be,V as xe,X as W,a as Se,bn as Ce,ei as G,i as K,k as we,r as Te,t as Ee,ti as q,u as De,xt as Oe,y as J,yn as ke,z as Ae,zr as je}from"./FaNto0ga.js";import{A as Me,C as Ne,D as Pe,E as Fe,F as Ie,I as Le,L as Re,M as ze,N as Be,O as Ve,P as He,S as Ue,T as We,_ as Ge,b as Ke,g as qe,h as Je,j as Ye,k as Xe,m as Ze,p as Qe,v as $e,w as et,x as tt,y as nt}from"./C3Bkn4ac.js";import{n as rt,t as it}from"./DFmgQVme.js";import{t as Y}from"./BDNMzG2s.js";import{I as at,T as ot,_ as X,d as st,g as ct,h as lt,j as ut,k as dt,m as ft,t as Z,u as pt}from"#entry";import{t as mt}from"./DyfFwwGq.js";var ht=[`aria-label`],gt=Object.assign(m({__name:`CoordinatorHint`,props:{text:{}},setup(e){let t=s(!1),n=!1,r=H({onPress:()=>{n=!0,t.value=!0}});function c(e){n=!1,r.down(e)}function u(){n&&r.suppressClick(),r.cancel()}function d(e){r.swallowClick()&&(e.preventDefault(),e.stopPropagation())}return D(r.cancel),(n,s)=>{let f=R;return l(),o(f,{open:a(t),"onUpdate:open":s[4]||=e=>O(t)?t.value=e:null,text:e.text,content:{side:`bottom`},ui:{content:`coordinator-tooltip`}},{default:E(()=>[S(`span`,{class:`coordinator-hint`,tabindex:`0`,"aria-label":e.text,onPointerdown:c,onPointermove:s[0]||=(...e)=>a(r).move&&a(r).move(...e),onPointerup:u,onPointercancel:s[1]||=(...e)=>a(r).cancel&&a(r).cancel(...e),onPointerleave:s[2]||=(...e)=>a(r).cancel&&a(r).cancel(...e),onClickCapture:d,onContextmenu:s[3]||=M(()=>{},[`prevent`])},[i(n.$slots,`default`)],40,ht)]),_:3},8,[`open`,`text`])}}}),{__name:`CoordinatorHint`});function _t(e){return e.kind===`project`?`project:${e.repo}`:e.kind}var vt=2e4,Q=new Map;function yt(){let e=Z(`autopilot`,()=>({})),t=Z(`autopilot-actions`,()=>0);function n(t,n=!1){let r=e.value[t];if(!n&&r&&Date.now()-r.at<vt)return Promise.resolve();let i=Q.get(t);if(i&&!n)return i;let a=K(`/api/tasks/autopilot?${new URLSearchParams({machine:t})}`).then(n=>{e.value[t]={statuses:n,at:Date.now()}}).catch(n=>{e.value[t]={error:n.message,code:n instanceof Ee?n.code:void 0,at:Date.now()}}).finally(()=>{Q.get(t)===a&&Q.delete(t)});return Q.set(t,a),a}function r(n,r,i,a=!1){a&&t.value++;let o=e.value[n];e.value[n]={statuses:{...o?.statuses,[r]:i},at:o?.statuses?o.at:0}}return{machines:e,actions:t,load:n,put:r}}var bt=[`aria-checked`,`aria-label`,`aria-description`,`title`,`disabled`],xt={key:0,class:`autopilot-state`},St={key:1,class:`autopilot-next`},Ct={class:`autopilot-now`},$={class:`field-label`},wt={key:0},Tt={key:0,class:`autopilot-could-not`},Et={class:`field-label`},Dt={class:`autopilot-goal`},Ot={class:`autopilot-ask`},kt=[`for`],At={class:`autopilot-limits`},jt=[`for`],Mt={class:`muted`},Nt=[`for`],Pt={class:`muted`},Ft=[`for`],It={class:`muted`},Lt={class:`autopilot-note`},Rt={key:3,class:`form-error`,role:`alert`},zt={class:`sheet-form autopilot-actions`},Bt=Object.assign(Y(m({__name:`CoordinatorAutopilot`,props:{machine:{},to:{},disabled:{type:Boolean},compact:{type:Boolean}},setup(n){let r=n,{machines:i,load:d,put:f}=yt(),m=e(()=>_t(r.to)),g=e(()=>i.value[r.machine]),b=e(()=>{let e=g.value?.statuses;return e?e[m.value]??{on:!1,goal:``,next:``,state:``,couldNot:``}:void 0}),x=e(()=>g.value?.code===`projects_too_old`),C=s(!1),T=s(!1),k=s(!1),A=s(``),j=s(``),N=s(``),P=s(``),F=s(``),te=s({every:``,tasksPerDay:``,tasksAtOnce:``}),I=e(()=>{let e=b.value?.next||``;return e.startsWith(`next in `)?q(`Next wake in ${e.slice(8)}`,`Prochain réveil dans ${e.slice(8)}`):e===`waits for its hours`?q(`Waiting for its active hours`,`En attente de ses heures actives`):e}),L=e(()=>b.value?b.value.on?q(`On`,`Actif`):q(`Off`,`Arrêté`):`…`),R=e(()=>`Autopilot · ${ee(r.to,``)}`),z=e(()=>[R.value,L.value,I.value].filter(Boolean).join(` · `)),B=(e=!1)=>r.disabled?Promise.resolve():d(r.machine,e);async function re(){C.value=!0,A.value=``,N.value=P.value=F.value=``,j.value=b.value?.goal||``,k.value=!0;try{let e=await K(`/api/tasks/autopilot?${V()}`);H(e),j.value=e.goal}catch(e){A.value=e.message,await B(!0)}finally{k.value=!1}}function V(){return new URLSearchParams({machine:r.machine,kind:r.to.kind,...r.to.kind===`project`?{repo:r.to.repo}:{}})}function H(e,t=!1){let{defaults:n,...i}=e;te.value=n,f(r.machine,m.value,i,t)}let ae=e(()=>!T.value&&!k.value&&!!b.value&&(b.value.on||!!j.value.trim()));async function se(){if(!ae.value)return;let e=!b.value.on;T.value=!0,A.value=``;try{H(await K(`/api/tasks/autopilot`,{machine:r.machine,to:r.to,action:e?`on`:`off`,...e?{goal:j.value,every:N.value,tasksPerDay:P.value,tasksAtOnce:F.value}:{}}),!0),C.value=!1}catch(e){A.value=e.message,await B(!0)}finally{T.value=!1}}w(()=>[r.machine,r.disabled],()=>{B()});let le;return p(()=>{B(),le=be(()=>{!T.value&&!C.value&&document.visibilityState===`visible`&&B()},6e4)}),D(()=>clearInterval(le)),(e,r)=>{let i=ce,s=oe,d=ne,f=ie;return n.compact&&a(x)?c(``,!0):(l(),u(`span`,{key:0,class:v([`autopilot`,{compact:n.compact}])},[S(`button`,{type:`button`,role:`switch`,class:v([`autopilot-switch`,{on:a(b)?.on}]),"aria-checked":a(b)?.on?`true`:`false`,"aria-label":a(R),"aria-description":a(z),title:a(z),disabled:n.disabled||a(T),onClick:re},[r[5]||=S(`i`,{class:`autopilot-dot`,"aria-hidden":`true`},null,-1),r[6]||=S(`span`,{class:`autopilot-name`},`Autopilot`,-1),!n.compact||a(b)?.on?(l(),u(`span`,xt,y(a(L)),1)):c(``,!0),!n.compact&&a(b)?.on&&a(I)?(l(),u(`span`,St,y(a(I)),1)):c(``,!0)],10,bt),h(f,{open:a(C),"onUpdate:open":r[4]||=e=>O(C)?C.value=e:null,title:a(R),top:``},{footer:E(()=>[S(`div`,zt,[a(b)?(l(),o(d,{key:0,block:``,size:`xl`,class:`sheet-btn`,color:a(b).on?`error`:`primary`,variant:a(b).on?`outline`:`solid`,icon:a(b).on?`i-lucide-square`:`i-lucide-play`,loading:a(T),disabled:!a(ae),onClick:se},{default:E(()=>[t(y(a(b).on?(`tl`in e?e.tl:a(q))(`Stop Autopilot`,`Arrêter Autopilot`):(`tl`in e?e.tl:a(q))(`Turn on Autopilot`,`Activer Autopilot`)),1)]),_:1},8,[`color`,`variant`,`icon`,`loading`,`disabled`])):(l(),o(d,{key:1,block:``,size:`xl`,color:`neutral`,variant:`outline`,class:`sheet-btn`,icon:`i-lucide-refresh-cw`,loading:a(k),onClick:re},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Retry`,`Réessayer`)),1)]),_:1},8,[`loading`]))])]),default:E(()=>[S(`form`,{class:`sheet-form autopilot-form`,onSubmit:M(se,[`prevent`])},[S(`p`,Ct,[S(`span`,$,y((`tl`in e?e.tl:a(q))(`State`,`État`)),1),S(`b`,{class:v({on:a(b)?.on})},y(a(k)&&!a(b)?`…`:a(L)),3),a(b)?.on&&a(I)?(l(),u(`span`,wt,` · `+y(a(I)),1)):c(``,!0)]),a(b)?.couldNot?(l(),u(`p`,Tt,y(a(b).couldNot),1)):c(``,!0),a(b)?.on?(l(),u(_,{key:1},[a(b).goal?(l(),u(_,{key:0},[S(`span`,Et,y((`tl`in e?e.tl:a(q))(`Goal`,`Objectif`)),1),S(`p`,Dt,y(a(b).goal),1)],64)):c(``,!0),S(`p`,Ot,y((`tl`in e?e.tl:a(q))(`Stop Autopilot? The coordinator stays, it just is no longer woken up.`,`Arrêter Autopilot ? Le coordinateur reste là, il n’est simplement plus réveillé.`)),1)],64)):a(b)?(l(),u(_,{key:2},[S(`label`,{class:`field-label`,for:`ap-goal-${a(m)}`},y((`tl`in e?e.tl:a(q))(`Goal`,`Objectif`)),9,kt),h(i,{id:`ap-goal-${a(m)}`,modelValue:a(j),"onUpdate:modelValue":r[0]||=e=>O(j)?j.value=e:null,rows:3,autoresize:``,maxrows:8,size:`xl`,class:`w-full`,maxlength:16e3,disabled:a(T)||a(k),placeholder:(`tl`in e?e.tl:a(q))(`What it works toward, e.g. Ship 2.1: the small fixes first`,`Ce vers quoi il travaille, ex. Sortir la 2.1 : les petites corrections d’abord`)},null,8,[`id`,`modelValue`,`disabled`,`placeholder`]),S(`div`,At,[S(`div`,null,[S(`label`,{class:`field-label`,for:`ap-every-${a(m)}`},[t(y((`tl`in e?e.tl:a(q))(`Every`,`Fréquence`))+` `,1),S(`span`,Mt,y((`t`in e?e.t:a(G))(`(optional)`)),1)],8,jt),h(s,{id:`ap-every-${a(m)}`,modelValue:a(N),"onUpdate:modelValue":r[1]||=e=>O(N)?N.value=e:null,size:`xl`,class:`w-full mono`,placeholder:a(te).every||`2h`,maxlength:`20`,autocapitalize:`none`,autocorrect:`off`,spellcheck:!1,disabled:a(T)},null,8,[`id`,`modelValue`,`placeholder`,`disabled`])]),S(`div`,null,[S(`label`,{class:`field-label`,for:`ap-day-${a(m)}`},[t(y((`tl`in e?e.tl:a(q))(`Tasks / day`,`Tâches / jour`))+` `,1),S(`span`,Pt,y((`t`in e?e.t:a(G))(`(optional)`)),1)],8,Nt),h(s,{id:`ap-day-${a(m)}`,modelValue:a(P),"onUpdate:modelValue":r[2]||=e=>O(P)?P.value=e:null,size:`xl`,class:`w-full mono`,placeholder:a(te).tasksPerDay,inputmode:`numeric`,maxlength:`6`,disabled:a(T)},null,8,[`id`,`modelValue`,`placeholder`,`disabled`])]),S(`div`,null,[S(`label`,{class:`field-label`,for:`ap-once-${a(m)}`},[t(y((`tl`in e?e.tl:a(q))(`At once`,`En parallèle`))+` `,1),S(`span`,It,y((`t`in e?e.t:a(G))(`(optional)`)),1)],8,Ft),h(s,{id:`ap-once-${a(m)}`,modelValue:a(F),"onUpdate:modelValue":r[3]||=e=>O(F)?F.value=e:null,size:`xl`,class:`w-full mono`,placeholder:a(te).tasksAtOnce,inputmode:`numeric`,maxlength:`6`,disabled:a(T)},null,8,[`id`,`modelValue`,`placeholder`,`disabled`])])]),S(`p`,Lt,y((`tl`in e?e.tl:a(q))(`Empty values keep the coordinator’s settings. Values given here are for this time only.`,`Les valeurs vides gardent les réglages du coordinateur. Celles données ici valent pour cette fois seulement.`)),1)],64)):c(``,!0),a(A)||!a(b)&&a(g)?.error?(l(),u(`p`,Rt,y(a(A)||a(g)?.error),1)):c(``,!0),r[7]||=S(`button`,{type:`submit`,hidden:``},null,-1)],32)]),_:1},8,[`open`,`title`])],2))}}}),[[`__scopeId`,`data-v-9f7f1964`]]),{__name:`CoordinatorAutopilot`}),Vt=[`title`,`aria-label`],Ht={class:`task-key-text`},Ut={key:0,class:`task-key-flash`,"aria-live":`polite`},Wt=Object.assign(m({__name:`TaskKey`,props:{value:{}},setup(e){let t=e,n=s(``),r;function i(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;opacity:0;font-size:16px`,document.body.appendChild(t),t.select(),t.setSelectionRange(0,e.length);try{return document.execCommand(`copy`)}finally{t.remove()}}async function o(e){e.stopPropagation();let a=!1;try{navigator.clipboard?.writeText?(await navigator.clipboard.writeText(t.value),a=!0):a=i(t.value)}catch{a=!1}n.value=a?`done`:`fail`,clearTimeout(r),r=setTimeout(()=>{n.value=``},1e3)}return D(()=>clearTimeout(r)),(t,r)=>(l(),u(`button`,{type:`button`,class:v([`task-key task-key-copy`,a(n)]),title:(`t`in t?t.t:a(G))(`Copy ID`),"aria-label":`${(`t`in t?t.t:a(G))(`Copy ID`)} ${e.value}`,onClick:o},[S(`span`,Ht,y(e.value),1),a(n)?(l(),u(`span`,Ut,y(a(n)===`done`?(`t`in t?t.t:a(G))(`Copied`):(`t`in t?t.t:a(G))(`Copy failed`)),1)):c(``,!0)],10,Vt))}}),{__name:`TaskKey`});function Gt(e){return e===`question`||e===`permission`||e===`auth`?e:null}function Kt(e){return e===`question`?q(`Question`,`Question`):e===`permission`?q(`Permission`,`Permission`):q(`Sign-in`,`Connexion`)}var qt=/https?:\/\/[^\s<>"'`]+/g,Jt=/[.,;:!?)\]}»”’]+$/;function Yt(e){let t=Xe(e);if(t)return`PR ${t}`;try{let t=new URL(e),n=t.pathname.replace(/\/+$/,``),r=n.split(`/`).filter(Boolean).slice(-2).join(`/`),i=r?`${t.host}/${n.split(`/`).filter(Boolean).length>2?`…/`:``}${r}`:t.host;return i.length>40?`${i.slice(0,39)}…`:i}catch{return e}}function Xt(e){let t=[],n=0;for(let r of e.matchAll(qt)){let i=r[0],a=Jt.exec(i);if(a&&!(a[0].startsWith(`)`)&&i.includes(`(`))&&(i=i.slice(0,-a[0].length)),!i.replace(/^https?:\/\//,``))continue;let o=r.index;o>n&&t.push({text:e.slice(n,o)}),t.push({text:Yt(i),href:i}),n=o+i.length}return n<e.length&&t.push({text:e.slice(n)}),t}function Zt(e){for(let t of Xt(e))if(`href`in t&&Xe(t.href))return t.href;return``}var Qt=5,$t=80,en=e=>e.replace(/\s+/g,` `).replace(/^[\s,;:–—-]+/,``).replace(/(?:[\s,;:–—-]+|\s+(?:or|ou))+$/i,``).replace(/[?.!]+$/,``).trim();function tn(e){for(let t of[`1`,`a`,`A`]){let n=[],r=t;for(let t of e.matchAll(/(^|[\s(:;,])([0-9]|[a-zA-Z])[).]\s+/g)){if(t[2]!==r)continue;let e=t.index+t[1].length;n.push({at:e,end:t.index+t[0].length,mark:t[2]}),r=String.fromCharCode(r.charCodeAt(0)+1)}if(n.length<2||n.length>Qt)continue;let i=n.map((t,r)=>{let i=en(e.slice(t.end,r+1<n.length?n[r+1].at:void 0).split(`
|
|
2
|
-
`)[0]);return{label:i,reply:`${t.mark}) ${i}`}});if(i.every(e=>e.label&&e.label.length<=$t))return i}return[]}function nn(e){let t=/[([]([^()[\]\n]{1,160})[)\]]\s*[?.!:]?\s*$/.exec(e.trim());if(!t)return[];let n=t[1].trim();if(/:\/\/|^(?:e\.g\.|ex\.|i\.e\.)/i.test(n)||/^[~.]?[\w.-]*\/[\w./-]*$/.test(n)&&/[.~]|\/.*\//.test(n))return[];let r=n.split(/\s*[/|]\s*|\s+(?:or|ou)\s+/i).map(en).filter(Boolean);return r.length<2||r.length>Qt||r.some(e=>e.length>40)?[]:r.map(e=>({label:e,reply:e}))}function rn(e){let t=tn(e);return t.length?t:nn(e)}var an=/^(?:(?:always|toujours)(?:\s+(?:allow|allowed|autoriser|autorisé))?|(?:allow|autoriser)\s+always|autoriser\s+toujours)$/i,on=/\b(?:or|ou)\s+(?:always|toujours)(?:\s+(?:allow|autoriser))?\s*[?.!]?\s*$/i,sn=/\b(?:you\s+(?:can|could|may|might)|(?:tu|vous)\s+(?:peux|pouvez|pourrais|pourriez))\s+(?:(?:also|aussi|également|plutôt|instead)\s+)?(?:always\s+allow|toujours\s+(?:l['’]\s*)?autoriser|(?:l['’]\s*)?autoriser\s+toujours|allow\s+(?:it\s+|this\s+)?always)\b/i;function cn(e){return[...nn(e),...tn(e)].some(e=>an.test(e.label.replace(/[.!]+$/,``)))?!0:on.test(e.trim())||sn.test(e)}function ln(e){return e===`allow`?q(`Allowed: go ahead.`,`Autorisé : vas-y.`):e===`refuse`?q(`Refused: do not do it.`,`Refusé : ne le fais pas.`):q(`Allowed, always: no need to ask again for this.`,`Autorisé, toujours : plus besoin de demander pour ça.`)}function un(e,t){let n=[...e.querySelectorAll(`.msg-ai`)];if(!n.length)return null;let r=e=>e.replace(/[*_`#>]/g,``).replace(/\s+/g,` `).trim().toLowerCase(),i=t.split(/https?:\/\/\S+/).map(e=>r(e).replace(/^[^\p{L}\p{N}]+/u,``).slice(0,40).trim()).filter(e=>e.length>=8).sort((e,t)=>t.length-e.length);for(let e of i)for(let t=n.length-1;t>=0;t--)if(r(n[t].textContent||``).includes(e))return n[t];return n[n.length-1]}var dn=[`href`,`title`],fn=Object.assign(m({__name:`LinkedText`,props:{text:{}},setup(n){let r=n,i=e(()=>Xt(r.text));return(e,n)=>(l(!0),u(_,null,d(a(i),(e,r)=>(l(),u(_,{key:r},[`href`in e?(l(),u(`a`,{key:0,class:`linked-text-link`,href:e.href,title:e.href,target:`_blank`,rel:`noopener noreferrer`,onClick:n[0]||=M(()=>{},[`stop`])},y(e.text),9,dn)):(l(),u(_,{key:1},[t(y(e.text),1)],64))],64))),128))}}),{__name:`LinkedText`}),pn=[`title`,`data-task`],mn=[`aria-label`],hn={class:`board-card-head`},gn={key:1,class:`board-card-label`},_n={class:`task-card-title`},vn={class:`board-card-title wrap`},yn=[`href`,`title`],bn=[`title`],xn=[`data-kind`],Sn={class:`task-card-msg-text`},Cn={key:1,class:`task-chips`},wn={key:0,class:`task-chip`},Tn=Object.assign(m({__name:`TaskCard`,props:{task:{},status:{type:Boolean},machine:{},stale:{type:Boolean},readAt:{}},emits:[`open`],setup(t){let n=t,r=e(()=>n.task.group===`needs`?Gt(n.task.kind):null),i=e(()=>(n.task.msg||``).replace(/\s+/g,` `).trim()),o=e(()=>n.task.pr||Zt(n.task.msg||``)),s=e(()=>[n.task.progress!==null&&n.task.group===`working`?`${n.task.progress}%`:``].filter(Boolean)),f=e(()=>n.stale?n.readAt?q(`As read at ${n.readAt}: see the note above`,`Lue à ${n.readAt} : voir la note plus haut`):q(`An older read: see the note above`,`Lecture plus ancienne : voir la note plus haut`):void 0);return(e,n)=>{let p=ut,m=Wt,g=fn;return l(),u(`div`,{class:v([`board-card task-card`,[t.task.group,{stale:t.stale}]]),title:a(f),"data-task":t.task.id},[S(`button`,{type:`button`,class:`task-card-open`,"aria-label":`${a(Re)(t.task.id,t.task.repoKey)} ${t.task.title}`,onClick:n[0]||=t=>e.$emit(`open`)},null,8,mn),S(`span`,hn,[h(p,{identity:t.task.identity||{agent:t.task.app,reviewer:``,from:``},primary:``},null,8,[`identity`]),h(m,{value:a(Re)(t.task.id,t.task.repoKey)},null,8,[`value`]),t.status?(l(),u(`span`,{key:0,class:v([`task-state`,t.task.group])},y((`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(t.task.group)),3)):c(``,!0),t.machine?(l(),u(`span`,gn,y(t.machine),1)):c(``,!0)]),S(`span`,_n,[S(`span`,vn,y(t.task.title),1),a(o)?(l(),u(`a`,{key:0,class:`task-chip task-card-pr`,href:a(o),title:a(o),target:`_blank`,rel:`noopener noreferrer`},y(a(Xe)(a(o))?`PR ${a(Xe)(a(o))}`:`PR`),9,yn)):c(``,!0)]),a(i)?(l(),u(`span`,{key:0,class:`board-note task-card-msg`,title:t.task.msg},[a(r)?(l(),u(`span`,{key:0,class:`task-needs-type`,"data-kind":a(r)},y(a(Kt)(a(r))),9,xn)):c(``,!0),S(`span`,Sn,[h(g,{text:a(i)},null,8,[`text`])])],8,bn)):c(``,!0),t.task.chat||a(s).length||t.task.review?(l(),u(`span`,Cn,[t.task.chat?(l(),u(`span`,wn,y((`tl`in e?e.tl:a(q))(`Conversation`,`Conversation`)),1)):c(``,!0),(l(!0),u(_,null,d(a(s),e=>(l(),u(`span`,{key:e,class:`task-chip`},y(e),1))),128)),t.task.review?(l(),u(`span`,{key:1,class:v([`task-chip`,t.task.review.pass===!1?`fail`:t.task.review.pass?`pass`:``])},y(t.task.review.pass===!1?(`tl`in e?e.tl:a(q))(`review failed`,`revue échouée`):(`tl`in e?e.tl:a(q))(`review`,`revue`))+y(t.task.review.tally?` · ${t.task.review.tally}`:``),3)):c(``,!0)])):c(``,!0)],10,pn)}}}),{__name:`TaskCard`}),En={class:`scheduled-content`},Dn={key:0},On={key:1,role:`status`},kn={key:0},An={key:1},jn={class:`scheduled-prompt`},Mn={class:`scheduled-tasks`},Nn=[`href`],Pn={class:`scheduled-session`},Fn={key:0,class:`scheduled-cron`},In={class:`scheduled-prompt`},Ln={key:3,class:`scheduled-zone`},Rn=Object.assign(Y(m({__name:`CoordinatorScheduled`,props:{machine:{},target:{},refreshKey:{}},setup(n){let i=n,o=s(!1),f=r(null),p=s(``),m=s(!1),h=0;async function g(){let e=++h;m.value=!0,p.value=``;let t=new URLSearchParams({machine:i.machine,kind:i.target.kind,...i.target.kind===`project`?{repo:i.target.repo}:{}});try{let n=await K(`/api/tasks/scheduled?${t}`);e===h&&(f.value=n)}catch{e===h&&(p.value=q(`Schedule unavailable`,`Programmation indisponible`))}finally{e===h&&(m.value=!1)}}function v(e){let t=e.target.open;t!==o.value&&(o.value=t,o.value&&(f.value=null,g()))}w(()=>[i.machine,JSON.stringify(i.target)],()=>{h++,f.value=null,p.value=``,m.value=!1,o.value&&g()}),w(()=>i.refreshKey,()=>{o.value?g():f.value=null}),D(()=>h++);let b=e(()=>f.value&&!f.value.autopilot?.on&&!f.value.automations.length&&!f.value.timers.length);function x(e){return e?typeof e==`string`?C(e):new Intl.DateTimeFormat(ve===`fr`?`fr-FR`:`en-GB`,{timeZone:f.value?.timezone||`UTC`,dateStyle:`short`,timeStyle:`short`}).format(e):`—`}function C(e){return ve===`fr`?e.replace(/when a task is merged/g,`après chaque fusion`).replace(/when a task is added/g,`après chaque ajout de tâche`).replace(/when a task waits for approval/g,`quand une tâche attend une approbation`).replace(/when a task failed its review/g,`après un échec de relecture`).replace(/when a task went wrong/g,`après un échec de tâche`).replace(/when a task needs you/g,`quand une tâche a besoin de toi`).replace(/in every repo/g,`dans tous les projets`).replace(/every /g,`tous les `).replace(/daily /g,`tous les jours à `).replace(/\bmon\b/gi,`lundis`).replace(/\btue\b/gi,`mardis`).replace(/\bwed\b/gi,`mercredis`).replace(/\bthu\b/gi,`jeudis`).replace(/\bfri\b/gi,`vendredis`).replace(/\bsat\b/gi,`samedis`).replace(/\bsun\b/gi,`dimanches`).replace(/\bon done stuck added\b/g,`sur fin, blocage, ajout`).replace(/next in /g,`dans `).replace(/next /g,`prochain `).replace(/\bof\b/g,`sur`).replace(/added/g,`ajoutées`).replace(/under way/g,`en cours`):e}function T(e){if(/^(mon|tue|wed|thu|fri|sat|sun)(?:,(?:mon|tue|wed|thu|fri|sat|sun))* (\d{1,2}:\d{2})$/i.exec(e)){let[t,n]=e.split(` `),r={mon:`Monday`,tue:`Tuesday`,wed:`Wednesday`,thu:`Thursday`,fri:`Friday`,sat:`Saturday`,sun:`Sunday`};return ve===`fr`?`Tous les ${C(t)} à ${n}`:`Every ${t.split(`,`).map(e=>r[e.toLowerCase()]).join(`, `)} at ${n}`}let t=/^(?:cron\s+)?(\d+) (\d+) \* \* ([0-6])$/.exec(e);if(t){let e=ve===`fr`?[`dimanches`,`lundis`,`mardis`,`mercredis`,`jeudis`,`vendredis`,`samedis`]:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];return q(`Every ${e[Number(t[3])]} at ${t[2]}:${t[1].padStart(2,`0`)}`,`Tous les ${e[Number(t[3])]} à ${t[2]}:${t[1].padStart(2,`0`)}`)}return C(e)}let E=e=>`/#/board?machine=${encodeURIComponent(i.machine)}&task=${encodeURIComponent(e)}`;return(e,n)=>(l(),u(`details`,{class:`coordinator-scheduled`,onToggle:v},[S(`summary`,null,y((`tl`in e?e.tl:a(q))(`Scheduled`,`Programmé`)),1),S(`div`,En,[a(m)?(l(),u(`p`,Dn,y((`t`in e?e.t:a(G))(`Loading…`)),1)):c(``,!0),a(p)?(l(),u(`p`,On,y(a(p)),1)):c(``,!0),a(f)?(l(),u(_,{key:2},[(l(!0),u(_,null,d(a(f).warnings,t=>(l(),u(`p`,{key:t,role:`status`},y((`t`in e?e.t:a(G))(t)),1))),128)),a(b)&&!a(f).warnings.length?(l(),u(`p`,kn,y((`tl`in e?e.tl:a(q))(`Nothing scheduled`,`Rien de programmé`)),1)):c(``,!0),a(f).autopilot?(l(),u(`article`,An,[S(`h4`,null,[n[0]||=t(`Autopilot `,-1),S(`span`,null,y(a(f).autopilot.on?(`tl`in e?e.tl:a(q))(`On`,`Actif`):(`tl`in e?e.tl:a(q))(`Off`,`Inactif`)),1)]),a(f).autopilot.on?(l(),u(_,{key:0},[S(`p`,null,y(C(a(f).autopilot.frequency)),1),S(`p`,jn,y(a(f).autopilot.goal),1),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Today`,`Aujourd’hui`))+` : `+y(C(a(f).autopilot.today)),1),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Last wake`,`Dernier réveil`))+` : `+y(x(a(f).autopilot.last)),1),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Next wake`,`Prochain réveil`))+` : `+y(x(a(f).autopilot.next)),1)],64)):c(``,!0)])):c(``,!0),(l(!0),u(_,null,d(a(f).automations,n=>(l(),u(`article`,{key:n.id},[S(`h4`,null,[t(y(n.name)+` `,1),S(`span`,null,y(n.on?(`tl`in e?e.tl:a(q))(`On`,`Active`):(`tl`in e?e.tl:a(q))(`Off`,`Inactive`)),1)]),S(`p`,null,y(T(n.trigger)),1),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Last trigger`,`Dernier déclenchement`))+` : `+y(x(n.last)),1),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Next trigger`,`Prochain déclenchement`))+` : `+y(x(n.next)),1),S(`p`,Mn,[(l(!0),u(_,null,d(n.tasks,e=>(l(),u(`a`,{key:e,href:E(e)},y(e),9,Nn))),128))])]))),128)),a(f).timers.length?(l(),u(_,{key:2},[S(`p`,Pn,y((`tl`in e?e.tl:a(q))(`Session: lost when the session closes`,`Session : perdus si la session se ferme`)),1),(l(!0),u(_,null,d(a(f).timers,n=>(l(),u(`article`,{key:n.id},[S(`h4`,null,[t(y(n.id===a(`ScheduleWakeup`)?(`tl`in e?e.tl:a(q))(`Wakeup`,`Réveil`):n.id)+` `,1),S(`span`,null,y(n.recurring?(`tl`in e?e.tl:a(q))(`Recurring`,`Récurrent`):(`tl`in e?e.tl:a(q))(`Once`,`Ponctuel`)),1)]),n.cron?(l(),u(`p`,Fn,y(n.cron),1)):c(``,!0),S(`p`,null,y((`tl`in e?e.tl:a(q))(`Next run (estimated)`,`Prochaine exécution (estimée)`))+` : `+y(x(n.next)),1),S(`p`,In,y(n.prompt),1)]))),128))],64)):c(``,!0),a(b)?c(``,!0):(l(),u(`p`,Ln,y(a(f).timezone),1))],64)):c(``,!0)])],32))}}),[[`__scopeId`,`data-v-89e07225`]]),{__name:`CoordinatorScheduled`}),zn=[`agent`,`review`,`plan`,`limits`,`merge`,`workspace`,`other`];function Bn(e){return/^worker\.|^(research|chat)\.only$/.test(e)?`agent`:/^(reviewer|review)\./.test(e)?`review`:/^(plan|attempts|check)\./.test(e)?`plan`:e.startsWith(`limit.`)?`limits`:e.startsWith(`merge.`)?`merge`:e.startsWith(`workspace.`)?`workspace`:`other`}function Vn(e){return e==null?null:typeof e==`string`?e:JSON.stringify(e,null,2)}function Hn(e){switch(e){case`agent`:return q(`Agent`,`Agent`);case`review`:return q(`Review`,`Revue`);case`plan`:return q(`Plan and attempts`,`Plan et essais`);case`limits`:return q(`Limits`,`Limites`);case`merge`:return q(`Merge`,`Fusion`);case`workspace`:return q(`Workspace`,`Espace de travail`);case`other`:return q(`Other settings`,`Autres réglages`)}}function Un(e){switch(e){case`task`:return q(`Task`,`Tâche`);case`repo`:return q(`Repository`,`Dépôt`);case`you`:return q(`You`,`Toi`);case`file`:return q(`Repository file`,`Fichier du dépôt`);case`builtin`:return q(`Default`,`Défaut`);default:return e||q(`Source not provided`,`Provenance non renseignée`)}}function Wn(e){switch(e){case`worker.agent`:return q(`Working agent`,`Agent de travail`);case`worker.effort`:return q(`Reasoning effort`,`Effort de raisonnement`);case`worker.fast`:return q(`Fast mode`,`Mode rapide`);case`worker.access`:return q(`Access`,`Accès`);case`worker.instructions`:return q(`Instructions`,`Instructions`);case`worker.fallback`:return q(`Fallback agents`,`Agents de secours`);case`reviewer.agent`:return q(`Reviewing agent`,`Agent de revue`);case`reviewer.effort`:return q(`Review reasoning effort`,`Effort de raisonnement de revue`);case`reviewer.fast`:return q(`Fast review mode`,`Mode rapide de revue`);case`reviewer.access`:return q(`Reviewer access`,`Accès du relecteur`);case`reviewer.instructions`:return q(`Review instructions`,`Instructions de revue`);case`reviewer.fallback`:return q(`Fallback reviewers`,`Relecteurs de secours`);case`research.only`:return q(`Research only`,`Recherche seule`);case`chat.only`:return q(`Conversation only`,`Conversation seule`);case`plan.approve`:return q(`Plan approval`,`Approbation du plan`);case`plan.agent`:return q(`Planning agent`,`Agent du plan`);case`attempts.by`:return q(`Number of attempts`,`Nombre d’essais`);case`attempts.pick`:return q(`Attempt selection`,`Sélection de l’essai`);case`check.command`:return q(`Check command`,`Commande de vérification`);case`check.again`:return q(`Repeat checks`,`Répétition des vérifications`);case`check.timeout`:return q(`Check timeout`,`Délai des vérifications`);case`review.when`:return q(`When to review`,`Quand relire`);case`review.mustFix`:return q(`Required fixes`,`Corrections obligatoires`);case`review.rounds`:return q(`Review rounds`,`Tours de revue`);case`review.timeout`:return q(`Review timeout`,`Délai de revue`);case`review.afterChat`:return q(`Review after conversation`,`Revue après conversation`);case`review.evidence`:return q(`Review evidence`,`Preuves de revue`);case`limit.time`:return q(`Time limit`,`Limite de temps`);case`limit.tokens`:return q(`Token limit`,`Limite de tokens`);case`merge.by`:return q(`Who merges`,`Qui fusionne`);case`merge.method`:return q(`Merge method`,`Méthode de fusion`);case`merge.pr`:return q(`Pull request`,`Pull request`);case`merge.pushTimeout`:return q(`Push timeout`,`Délai du push`);case`merge.checks`:return q(`Merge checks`,`Vérifications avant fusion`);case`workspace.from`:return q(`Starting branch`,`Branche de départ`);case`workspace.branch`:return q(`Work branch pattern`,`Format de la branche de travail`);case`workspace.setup`:return q(`Setup command`,`Commande de préparation`);case`workspace.include`:return q(`Included files`,`Fichiers inclus`);case`workspace.teardown`:return q(`Teardown command`,`Commande de fin`);case`workspace.cleanup`:return q(`Workspace cleanup`,`Nettoyage de l’espace de travail`);default:return e}}var Gn=[`aria-label`],Kn={key:0,class:`board-note`,role:`status`},qn={key:1,class:`board-empty`,role:`status`},Jn={key:2,role:`alert`,class:`board-note error`},Yn={key:0,class:`board-empty`},Xn={class:`settings-key`},Zn={class:`settings-value`},Qn={class:`settings-origin`},$n={key:0},er={key:1,class:`settings-note`},tr={key:2},nr=Object.assign(Y(m({__name:`TaskSettings`,props:{machine:{},id:{},active:{type:Boolean,default:!0},reachable:{type:Boolean,default:!0}},setup(n){let r=n,i=s(null),o=s(!1),f=s(``),p=e(()=>!r.reachable||U.value),m=e(()=>zn.map(e=>({group:e,rows:i.value?.settings.filter(t=>![`board`,`coordinator`,`repo`].includes(t.kind)&&Bn(t.name)===e)??[]})).filter(e=>e.rows.length)),g=0,b=!1;async function x(){if(!r.active||p.value||b)return;b=!0;let e=++g;o.value=!0,f.value=``;try{let t=await K(`/api/tasks/settings?machine=${encodeURIComponent(r.machine)}&id=${encodeURIComponent(r.id)}`);e===g&&(i.value=t)}catch(t){e===g&&(f.value=t.message)}finally{e===g&&(o.value=!1)}}w(()=>[r.machine,r.id],()=>{g++,b=!1,o.value=!1,i.value=null,f.value=``},{flush:`sync`}),w(()=>[r.machine,r.id,r.active,p.value],()=>{x()},{immediate:!0});function C(){b=!1,x()}return(e,n)=>{let r=ne;return l(),u(`section`,{class:`task-settings task-sheet-block`,"aria-label":(`tl`in e?e.tl:a(q))(`Settings`,`Réglages`)},[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Settings`,`Réglages`))+` · `+y((`tl`in e?e.tl:a(q))(`Read-only`,`Lecture seule`)),1),a(p)?(l(),u(`p`,Kn,y((`tl`in e?e.tl:a(q))(`Machine offline. Settings cannot be read.`,`Machine hors ligne. Impossible de lire les réglages.`)),1)):a(o)?(l(),u(`p`,qn,y((`t`in e?e.t:a(G))(`Loading…`)),1)):a(f)?(l(),u(`div`,Jn,[S(`p`,null,y((`tl`in e?e.tl:a(q))(`Could not read settings`,`Impossible de lire les réglages`))+` · `+y(a(f)),1),h(r,{color:`neutral`,variant:`outline`,onClick:C},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Retry`,`Réessayer`)),1)]),_:1})])):a(i)?(l(),u(_,{key:3},[(l(!0),u(_,null,d(a(i).problems,(e,t)=>(l(),u(`p`,{key:t,class:`board-note error`,role:`alert`},y(e),1))),128)),a(m).length?c(``,!0):(l(),u(`p`,Yn,y((`tl`in e?e.tl:a(q))(`No settings returned by the CLI.`,`Aucun réglage renvoyé par le CLI.`)),1)),(l(!0),u(_,null,d(a(m),({group:n,rows:r})=>(l(),u(`section`,{key:n,class:`settings-group`},[S(`h5`,null,y(a(Hn)(n)),1),S(`dl`,null,[(l(!0),u(_,null,d(r,(n,r)=>(l(),u(`div`,{key:`${n.name}-${r}`,class:`settings-row`},[S(`dt`,null,[t(y(a(Wn)(n.name)),1),S(`small`,Xn,y(n.name),1)]),S(`dd`,Zn,y(a(Vn)(n.value)??(`tl`in e?e.tl:a(q))(`Not provided`,`Non renseigné`)),1),S(`dd`,Qn,[S(`span`,{class:v([`settings-source`,{own:n.place===`task`}])},y(a(Un)(n.place)),3),n.from?(l(),u(`span`,$n,y(n.from),1)):c(``,!0),n.note?(l(),u(`span`,er,y(n.note),1)):c(``,!0),n.later?(l(),u(`span`,tr,y(n.later),1)):c(``,!0)])]))),128))])]))),128))],64)):c(``,!0)],8,Gn)}}}),[[`__scopeId`,`data-v-7134ed46`]]),{__name:`TaskSettings`});function rr(e){if(typeof e==`number`)return Number.isFinite(e)&&e>=0?e:null;let t=e?.trim().match(/^(\d+(?:[.,]\d+)?)\s*([kmb])?$/i);if(!t)return null;let n=Number(t[1].replace(`,`,`.`))*({k:1e3,m:1e6,b:1e9}[t[2]?.toLowerCase()||``]||1);return Number.isFinite(n)?n:null}function ir(e,t=ve){let n=rr(e);if(n===null)return e==null||e===``?`—`:String(e);let r=n>=999500?1e6:n>=1e3?1e3:1,i=+(r===1e6&&n<1e7);return(n/r).toLocaleString(t===`fr`?`fr-FR`:`en-GB`,{maximumFractionDigits:i,useGrouping:!1})+(r===1e6?`M`:r===1e3?`k`:``)}var ar={key:0},or={key:1,class:`token-count`},sr=[`title`,`aria-expanded`,`aria-label`],cr={key:0,class:`token-count-exact`},lr=Object.assign(Y(m({__name:`TokenCount`,props:{value:{}},setup(t){let n=t,r=s(!1),i=e(()=>rr(n.value));return w(()=>n.value,()=>{r.value=!1}),(e,n)=>a(i)===null?(l(),u(`span`,ar,y(a(ir)(t.value)),1)):(l(),u(`span`,or,[S(`button`,{type:`button`,title:String(a(i)),"aria-expanded":a(r),"aria-label":(`tl`in e?e.tl:a(q))(`Show exact token count: ${a(i)}`,`Afficher le nombre exact de tokens : ${a(i)}`),onClick:n[0]||=e=>r.value=!a(r)},y(a(ir)(t.value)),9,sr),a(r)?(l(),u(`span`,cr,` (`+y(a(i))+`)`,1)):c(``,!0)]))}}),[[`__scopeId`,`data-v-ea3455b4`]]),{__name:`TokenCount`});function ur(e){switch(e){case`conversation`:return q(`End this conversation when you are done.`,`Termine cette conversation quand tu as fini.`);case`limit`:return q(`Continue grants a new allowance. Raising the limit keeps usage and resumes automatically. Take as is: checks, then review. These work limits are separate from provider quotas.`,`Continuer accorde une nouvelle tranche. Relever la limite conserve la consommation et reprend automatiquement. Prendre tel quel : vérifications puis relecture. Ces limites de travail sont distinctes des quotas fournisseur.`);case`nosummary`:return q(`Retry: the agent goes on. Finish: the work is taken as it is, its screen as the summary, checked, then reviewed.`,`Réessayer : l’agent continue. Terminer : le travail est pris tel quel, son écran comme résumé, vérifié, puis relu.`);case`stuck`:return q(`Its agent is at rest, but the board did not see its turn end. Finish: the work is taken as it is, with what the agent said last, checked, then reviewed.`,`Son agent est au repos, mais le board n’a pas vu la fin de son tour. Terminer : le travail est pris tel quel, avec ce que l’agent a dit en dernier, vérifié, puis relu.`)}}var dr=(e=!1)=>e?q(`End conversation`,`Terminer la conversation`):q(`Finish`,`Terminer`),fr=(e=!1)=>e?q(`End this conversation`,`Terminer cette conversation`):q(`Take the work as it is: checks, then review`,`Prendre le travail tel quel : vérifications puis relecture`),pr=(e,t=!1)=>t?q(`End “${e}”?`,`Terminer la conversation « ${e} » ?`):q(`Take “${e}” as it is? Its checks run, then its review. If this task merges by itself (merge.by itself), it can merge without asking you.`,`Prendre « ${e} » tel quel ? Ses vérifications tournent, puis sa relecture. Si cette tâche fusionne d’elle-même (merge.by itself), elle peut fusionner sans te demander.`);function mr(e,t){let n=We(e);return n!==null&&(n!==`stuck`||t!==`working`&&t!==`blocked`)}function hr(e){let t=e%100,n=t>=11&&t<=13?`th`:[`th`,`st`,`nd`,`rd`][e%10]||`th`;return q(`${e}${n} in the queue`,`${e}${e===1?`re`:`e`} dans la file`)}var gr=(e,t)=>$e(e).toLowerCase()===$e(t).toLowerCase();function _r(e,t,n,r,i=``,a=40){let o=i.trim().toLowerCase(),s=[],c=[...e].sort((e,n)=>Number(n.machine===t)-Number(e.machine===t));for(let e of c){if(e.status!==`ready`)continue;let i=e.machine===t?null:r(e.machine),c=[...e.tasks].sort((e,t)=>t.n-e.n||e.repo.localeCompare(t.repo));for(let r of c){if(r.archived||r.group===`done`||e.machine===t&&r.id===n)continue;let c=Ge(r.id,r.repoKey,i);if((!o||`${c} ${r.id} #${r.n} ${r.title} ${i??``}`.toLowerCase().includes(o))&&(s.push({ref:c,id:r.id,machine:e.machine,title:r.title,group:r.group}),s.length>=a))return s}}return s}function vr(e){let t=e.trim();return t&&Ke([t])?t:null}function yr(e,t,n,r){let i=e.indexOf(`:`),a=i>0?e.slice(0,i):null,o=i>0?e.slice(i+1):e;if(!Pe(o))return e;let s=a===null?n.find(e=>e.machine===t):n.find(e=>e.machine!==t&&gr(r(e.machine),a)),c=o.split(`/`)[0],l=s?.tasks.find(e=>e.repo===c&&e.repoKey)?.repoKey,u=l?Re(o,l):o;return a===null?u:`${a}:${u}`}var br=15e3,xr=null,Sr=r(null);function Cr(e){xr=e,Sr.value=e}function wr(){let e=r(xr),t=s(``),n=s(0),i=0,a=!1;async function o(r=!1){if(a||U.value)return;let o=++i;try{let a=!r&&e.value?`?since=${encodeURIComponent(e.value.version)}`:``,s=await K(`/api/tasks${a}`);if(o!==i)return;t.value=``,`same`in s||(e.value=s,Cr(s)),n.value++}catch(e){o===i&&(t.value=e.message)}}let c;return p(()=>{o(),c=be(()=>{document.visibilityState===`visible`&&o()},br)}),D(()=>{a=!0,clearInterval(c)}),w(W,e=>{e&&o()}),{board:e,error:t,reads:n,reload:()=>o(!0)}}var Tr={key:0,class:`task-sheet`},Er={key:0,class:`task-sheet-meta`},Dr={key:0,class:`task-chip task-archived`},Or={key:1,class:`task-chip`},kr={key:2,class:`task-chip`},Ar={key:3,class:`task-chip`},jr={key:4,class:`task-chip`},Mr={key:1,class:`task-chip`},Nr={key:2,class:`task-sheet-msg`},Pr={key:3,class:`task-sheet-msg`},Fr={key:4,class:`task-sheet-block task-wait`,role:`status`},Ir={class:`task-wait-line`},Lr={key:5,class:`task-sheet-block task-wait`,role:`status`},Rr={class:`task-wait-line`},zr=[`title`],Br={key:0},Vr={key:0,class:`board-note error`},Hr={class:`task-wait-hint`},Ur={key:6,class:`board-note task-sheet-archived`},Wr={key:7,class:`board-empty`},Gr={key:8,class:`board-note error`},Kr={key:9,class:`task-sheet-block task-attempts`},qr={key:0,class:`task-sheet-text`},Jr={key:1,class:`task-sheet-text`},Yr={key:2,class:`board-note error`},Xr={class:`mono`},Zr={key:0},Qr={key:1},$r={key:3,class:`board-note`},ei={key:10,class:`task-sheet-facts`},ti=[`href`],ni={class:`mono`},ri={key:11,class:`task-sheet-block task-handovers`},ii={class:`task-handover-list`},ai={key:0,class:`task-handover-meta`},oi={key:1},si={key:2},ci={key:3},li=[`datetime`],ui={key:12,class:`plugin-input-note warn`},di={key:13,class:`task-sheet-block task-sheet-earlier`},fi={class:`task-sheet-text`},pi={key:14,class:`task-sheet-block`},mi={class:`task-sheet-text`},hi={key:16,class:`task-sheet-block`},gi={class:`task-sheet-text`},_i={key:17,class:`task-sheet-block board-panel-note`},vi={class:`task-sheet-text`},yi={key:18,class:`board-panel-report`},bi=[`href`],xi={key:1},Si={key:19,class:`task-sheet-block`},Ci={key:20,class:`task-sheet-facts`},wi={key:0},Ti={key:21,class:`task-sheet-block`},Ei={class:`task-sheet-actions`},Di={for:`task-question`,class:`field-label`},Oi={class:`task-sheet-actions`},ki=[`aria-label`],Ai={class:`task-start-label`},ji={key:0,class:`task-start-wait`},Mi=[`aria-checked`,`disabled`,`onClick`],Ni={class:`task-start-name`},Pi={key:1},Fi={key:1,class:`task-start-model`},Ii={class:`task-start-label`},Li={key:2,class:`task-start-from`},Ri={key:3,class:`task-start-from task-start-missing`,role:`status`},zi={key:4,class:`task-start-from`},Bi={key:23,class:`task-sheet-actions`},Vi={key:24,role:`status`},Hi={key:25,class:`task-finish-why`},Ui={id:`task-limit-kind`,class:`field-label`},Wi={for:`task-limit-value`,class:`field-label`},Gi={key:0,role:`status`},Ki={key:1,role:`alert`},qi={class:`task-sheet-actions`},Ji={key:26,class:`task-queue-place`,role:`status`},Yi={key:27,class:`task-sheet-block task-after-pick`},Xi={class:`task-wait-hint`},Zi={key:0,class:`task-wait-line`},Qi=[`aria-label`,`onClick`],$i={class:`task-after-list`},ea={key:0},ta={class:`mono`},na=[`onClick`],ra={class:`mono`},ia={class:`task-after-title`},aa={key:1,class:`board-empty`},oa={class:`task-sheet-actions`},sa={key:28,class:`task-finish-why`},ca={key:29,class:`board-note error task-sheet-error`,role:`alert`},la=Object.assign(Y(m({__name:`TaskSheet`,props:T({task:{},machine:{},refresh:{},embedded:{type:Boolean},reachable:{type:Boolean,default:!0},limitRequest:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:T([`changed`,`archived`,`restored`,`chat`,`coordinator`],[`update:open`]),setup(n,{emit:r}){let i=n,p=r,m=g(n,`open`),b=s(null),x=s(``),C=s(!1),T=s(``),D=s(!1),A=s(!1),j=s(null),N=s(``),P=e(()=>b.value&&b.value.id===i.task?.id?b.value:null),ee=s(!1),F=e(()=>!!P.value?.archived||!!i.task?.archived&&!ee.value),I=e(()=>i.task?{...i.task,archived:F.value,chat:P.value?.chat??i.task.chat}:null),L=e(()=>_e.value.panes.find(e=>e.id===P.value?.pane)?.status??null),R=e=>({...e,finish:e.finish&&!!I.value&&mr(I.value,L.value)}),B=e(()=>I.value?R(Be(I.value,P.value)):Qe),re=e(()=>{let e=I.value?We(I.value):null;return e?ur(e):``}),V=e(()=>I.value?.stage===`stopped`&&I.value?.state===`blocked`&&!F.value),H=s(!1),ae=e(()=>P.value?.limits?.stopped?`limit.${P.value.limits.stopped}`:null),se=s(``),le=s(``),ue=s(!1);w(ae,()=>{le.value=``,se.value=``});function fe(){se.value=``,le.value=``,H.value=!0}async function pe(){let e=i.task;if(!e||A.value||U.value||i.reachable===!1||!V.value||!ae.value||!le.value.trim())return;let t=Q,n=i.machine;A.value=!0,ue.value=!0,se.value=``,N.value=``;try{await K(`/api/tasks/limit`,{machine:n,id:e.id,name:ae.value,value:le.value.trim()}),await yt(t),t===Q&&(!T.value&&P.value?.stage&&P.value.stage!==`stopped`?H.value=!1:se.value=q(`Limit saved. Resumption is not confirmed yet. It can take a few seconds; if the task stays stopped, choose a ceiling above its usage.`,`Plafond enregistré. La reprise n’est pas encore confirmée. Elle peut prendre quelques secondes ; si la tâche reste arrêtée, choisis un plafond supérieur à sa consommation.`))}catch(e){bt(e,t)}finally{t===Q&&(A.value=!1,ue.value=!1)}}let he=e(()=>b.value?.pr||i.task?.pr||``),ve=e(()=>b.value?.review||i.task?.review||null),ye=e(()=>i.task?Re(i.task.id,i.task.repoKey):``),be=e(()=>!F.value&&(!!P.value?.pane||B.value.tell)),W=s(null),Se=s(!1),Ce=s(null),Te=e(()=>W.value?.agent?.kind||``),Ee=e(()=>W.value?ke(W.value,we.value,q(`default`,`par défaut`)):[]),De=e(()=>Ee.value[0]?.usable??!0),J=e(()=>Ce.value&&Ee.value.some(e=>!e.isDefault&&e.id===Ce.value)?Ce.value:null),Ae=e(()=>!De.value&&!J.value),Me=s(null),Ne=s(null),Pe=e(()=>J.value||(De.value?Te.value:``)),Fe=e(()=>Me.value&&Pe.value?`${Pe.value}/${Me.value}`:J.value),Ie=e=>e.isDefault?e.usable&&!J.value:e.id===J.value;function Le(e){return e.usable?e.hidden?q(`default · hidden in Settings`,`défaut · masqué dans les réglages`):q(`default`,`défaut`):q(`default · not installed`,`défaut · pas installé`)}function Ve(){let e=W.value?.agent;if(!e)return``;let t=i.task?.repo||``;switch(e.place){case`task`:return q(`Default set on this task`,`Défaut réglé sur cette tâche`);case`repo`:return q(`Default from your settings for ${t}`,`Défaut de tes réglages pour ${t}`);case`you`:return q(`Default from your settings`,`Défaut de tes réglages`);case`builtin`:return q(`herdr-projects’ built-in default`,`Défaut intégré de herdr-projects`);default:return q(`Default: ${e.from}`,`Défaut : ${e.from}`)}}let He=0;async function Ue(){let e=i.task;if(!e)return;let t=++He;Se.value=!0;try{let n=await K(`/api/tasks/start?machine=${encodeURIComponent(i.machine)}&id=${encodeURIComponent(e.id)}`);t===He&&(W.value=n)}catch{t===He&&(W.value=null)}finally{t===He&&(Se.value=!1)}}let Ge=e(()=>ze(W.value?.slots));function Ke(){let e=Fe.value;return Ge.value?e?q(`Queue with ${e}`,`Mettre en file avec ${e}`):q(`Queue`,`Mettre en file`):e?q(`Start with ${e}`,`Lancer avec ${e}`):q(`Start`,`Lancer`)}let qe=e(()=>{let e=W.value?.slots;return!Ge.value||!e?``:`${hr(Ge.value)} · ${q(`all ${e.max} slots are taken`,e.max===1?`la seule place est prise`:`les ${e.max} places sont prises`)}`}),Ye=e(()=>i.task?.stage===`queued`&&!F.value?i.task.queue??P.value?.queue??0:null),Ze=e(()=>{let e=P.value?.after;return e&&!F.value&&(e.waiting||i.task?.stage===`todo`||i.task?.stage===`after`)?e:null}),$e=e=>e?de(e)?.label||e:ge.value,et=e(()=>Sr.value?.machines??[]),tt=e=>yr(e,i.machine,et.value,$e),it=e(()=>!!Ze.value),Y=s(!1),ot=s(``),X=s([]),st=s(!1),ct=e(()=>Y.value&&i.task?_r(et.value,i.machine,i.task.id,$e,ot.value).filter(e=>!X.value.some(t=>t.ref===e.ref)):[]),lt=e(()=>{let e=vr(ot.value);return e&&!X.value.some(t=>t.ref===e)&&!ct.value.some(t=>t.ref.toLowerCase()===e.toLowerCase())?e:null}),ut=0;async function ft(){Y.value=!0,ot.value=``,X.value=[];let e=++ut;st.value=!Sr.value;try{let e=await K(`/api/tasks`);`same`in e||Cr(e)}catch{}finally{e===ut&&(st.value=!1)}}function Z(){Y.value=!1,ot.value=``,X.value=[]}function pt(e){X.value.length<20&&(X.value=[...X.value,e]),ot.value=``}function mt(){let e=lt.value;e&&pt({ref:e,id:e,machine:``,title:``,group:`todo`})}function ht(e){X.value=X.value.filter(t=>t.ref!==e)}let gt=0;async function _t(){let e=i.task;if(!e)return;let t=++gt;D.value=!0,T.value=``;try{let n=await K(`/api/tasks/details?machine=${encodeURIComponent(i.machine)}&id=${encodeURIComponent(e.id)}`);t===gt&&(b.value=n)}catch(e){t===gt&&(T.value=e.message)}finally{t===gt&&(D.value=!1)}}let vt=()=>`${i.machine}|${i.task?.id??``}`,Q=0;w([m,vt],([e])=>{Q++,H.value=!1,le.value=``,se.value=``,ue.value=!1,A.value=!1,j.value=null,N.value=``,ee.value=!1,Ce.value=null,Me.value=null,Ne.value=null,Z(),x.value=``,C.value=!1,W.value=null,Se.value=!1,He++,e&&(b.value=null,_t())},{immediate:!0}),w(()=>i.limitRequest,()=>{V.value&&fe()}),w(()=>`${m.value&&B.value.delegate}|${vt()}`,()=>{m.value&&B.value.delegate&&!W.value&&!Se.value&&Ue()},{immediate:!0}),w([vt,()=>`${i.task?.stage??``}|${i.task?.state??``}`],([e,t],[n,r])=>{m.value&&e===n&&t!==r&&_t()});async function yt(e){i.refresh?await i.refresh().catch(()=>{}):p(`changed`),e===Q&&m.value&&await _t()}function bt(e,t){let n=e.message;Oe(n,!0),t===Q&&(N.value=n)}let xt=e=>m.value&&vt()===e;async function St(){let e=i.task;if(!e||A.value)return;let t=vt(),n=i.machine,r=e.stage===`plan`;if(!await z(r?q(`Say yes to the plan of “${e.title}”? Its agent starts building.`,`Accepter le plan de « ${e.title} » ? Son agent commence à construire.`):q(`Approve “${e.title}”? herdr-projects merges its work. This cannot be undone.`,`Approuver « ${e.title} » ? herdr-projects fusionne son travail. C’est irréversible.`),r?q(`Approve plan`,`Accepter le plan`):q(`Approve and merge`,`Approuver et fusionner`),`primary`)||!xt(t))return;let a=Q;A.value=!0,N.value=``;try{let t=await K(`/api/tasks/approve`,{machine:n,id:e.id});Oe(t.msg||q(`Approved`,`Approuvé`)),await yt(a)}catch(e){bt(e,a)}finally{a===Q&&(A.value=!1)}}let Ct=()=>U.value||i.reachable===!1;async function $(e){let t=i.task;if(!t||A.value||Ct()||D.value||T.value||!nt(P.value,e))return;let n=vt(),r=Q,a=i.machine;A.value=!0,N.value=``;try{if(!await z(q(`Keep attempt ${e} for “${t.title}”? The other attempts’ tabs close.`,`Garder l’essai ${e} pour « ${t.title} » ? Les onglets des autres essais se ferment.`),q(`Keep ${e} and close the others`,`Garder ${e} et fermer les autres`),`primary`)||r!==Q||!xt(n)||Ct()||!nt(P.value,e))return;let i=await K(`/api/tasks/pick`,{machine:a,id:t.id,letter:e,confirmed:!0});Oe(i.msg),await yt(r)}catch(e){bt(e,r)}finally{r===Q&&(A.value=!1)}}let wt={delegate:()=>q(`Started: an agent is on it`,`Lancée : un agent s’en occupe`),stop:()=>q(`Stopped`,`Arrêtée`),fix:()=>q(`Sent to the agent to fix`,`Envoyée à l’agent pour correction`),retry:()=>q(`Sent back to its agent`,`Renvoyée à son agent`),review:()=>q(`Review sent back to the agent`,`Remarques renvoyées à l’agent`),finish:()=>q(`Taken as it is: checks, then review`,`Prise telle quelle : vérifications puis relecture`),restore:()=>q(`Restored`,`Restaurée`)};async function Tt(e,t){let n=i.task;if(!n||A.value||e===`delegate`&&Ae.value)return;let r=vt(),a=i.machine;if(e===`stop`&&!await z(q(`Stop the agent of “${n.title}”? Its turn ends now; the task stays, and Retry or Start picks it up again.`,`Arrêter l’agent de « ${n.title} » ? Son tour s’arrête maintenant ; la tâche reste, Réessayer ou Lancer la reprend.`),q(`Stop the agent`,`Arrêter l’agent`))||e===`finish`&&!await z(pr(n.title,I.value?.chat),dr(I.value?.chat),`primary`)||!xt(r))return;let o=Q;A.value=!0,j.value=e,N.value=``;try{let r=e===`delegate`?Fe.value:null,i=e===`delegate`&&Me.value?Ne.value:null,s=await K(`/api/tasks/action`,{machine:a,id:n.id,action:e,...r?{agent:r}:{},...i?{effort:i}:{},...e===`delegate`&&t?.length?{after:t}:{}});if(e===`delegate`&&o===Q&&Z(),je(),e===`archive`){o===Q&&(m.value=!1),p(`archived`,a,n);return}Oe(s.msg||(e===`finish`&&I.value?.chat?q(`Conversation ended`,`Conversation terminée`):wt[e]())),e===`restore`&&o===Q&&(ee.value=!0),e===`restore`&&p(`restored`,a,n),await yt(o)}catch(e){bt(e,o)}finally{o===Q&&(A.value=!1,j.value=null)}}function Et(){X.value.length&&Tt(`delegate`,X.value.map(e=>e.ref))}async function Dt(){let e=i.task;if(!e||A.value||!it.value)return;let t=i.machine,n=Q;A.value=!0,N.value=``;try{let r=await K(`/api/tasks/after`,{machine:t,id:e.id});je(),Oe(r.msg||q(`No longer waiting`,`N’attend plus`)),await yt(n)}catch(e){bt(e,n)}finally{n===Q&&(A.value=!1)}}async function Ot(){let e=i.task;if(!e||F.value||A.value||!x.value.trim()||U.value)return;let t=i.machine,n=Q;A.value=!0,N.value=``;try{await K(`/api/tasks/question`,{machine:t,id:e.id,text:x.value.trim()}),n===Q&&(x.value=``,m.value=!1,p(`coordinator`,t,e))}catch(e){bt(e,n)}finally{n===Q&&(A.value=!1)}}function kt(){i.task&&!A.value&&(m.value=!1,p(`coordinator`,i.machine,i.task))}function At(){let e=i.task;e&&be.value&&(m.value=!1,p(`chat`,i.machine,e))}return(e,r)=>{let i=Wt,s=te,p=ne,g=nr,w=lr,P=ce,ee=at,L=oe;return l(),o(f(n.embedded?`section`:ie),{open:m.value,"onUpdate:open":r[16]||=e=>m.value=e,title:n.task?.title||(`tl`in e?e.tl:a(q))(`Task`,`Tâche`),wide:``},{default:E(()=>[n.task?(l(),u(`div`,Tr,[n.embedded?c(``,!0):(l(),u(`p`,Er,[h(i,{value:a(ye)},null,8,[`value`]),S(`span`,{class:v([`task-state`,n.task.group])},y((`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(n.task.group)),3),a(F)?(l(),u(`span`,Dr,[h(s,{name:`i-lucide-archive`}),t(y((`tl`in e?e.tl:a(q))(`Archived`,`Archivée`)),1)])):c(``,!0),n.task.app?(l(),u(`span`,Or,y(n.task.app),1)):c(``,!0),a(I)?.chat?(l(),u(`span`,kr,y((`tl`in e?e.tl:a(q))(`Conversation`,`Conversation`)),1)):n.task.research?(l(),u(`span`,Ar,y((`tl`in e?e.tl:a(q))(`research`,`recherche`)),1)):c(``,!0),(`multiMachine`in e?e.multiMachine:a(me))&&n.machine!==void 0?(l(),u(`span`,jr,y((`machineName`in e?e.machineName:a(xe))(n.machine)),1)):c(``,!0)])),n.embedded&&a(I)?.chat?(l(),u(`span`,Mr,y((`tl`in e?e.tl:a(q))(`Conversation`,`Conversation`)),1)):c(``,!0),n.embedded&&n.task.group===`working`&&n.task.progress!==null?(l(),u(`p`,Nr,[t(y((`tl`in e?e.tl:a(q))(`Progress`,`Avancement`))+` · `+y(n.task.progress)+`%`,1),n.task.eta===null?c(``,!0):(l(),u(_,{key:0},[t(` · `+y((`tl`in e?e.tl:a(q))(`${n.task.eta} min left`,`${n.task.eta} min restantes`)),1)],64))])):c(``,!0),n.task.msg&&!a(Ze)&&a(Ye)===null?(l(),u(`p`,Pr,y(n.task.msg),1)):c(``,!0),a(Ye)===null?c(``,!0):(l(),u(`section`,Fr,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`In the queue`,`En file`)),1),S(`p`,Ir,[h(s,{name:`i-lucide-list-ordered`}),t(y((`tl`in e?e.tl:a(q))(`Waiting for a free slot`,`Attend une place libre`)),1),a(Ye)?(l(),u(_,{key:0},[r[17]||=t(` · `,-1),S(`strong`,null,y(a(hr)(a(Ye))),1)],64)):c(``,!0)])])),a(Ze)?(l(),u(`section`,Lr,[S(`h4`,null,y(a(Ze).waiting?(`tl`in e?e.tl:a(q))(`Waiting`,`En attente`):(`tl`in e?e.tl:a(q))(`To wait for`,`À attendre`)),1),S(`p`,Rr,[h(s,{name:`i-lucide-hourglass`}),t(y(a(Ze).waiting?(`tl`in e?e.tl:a(q))(`Waits for`,`Attend`):(`tl`in e?e.tl:a(q))(`Will wait for`,`Attendra`))+` `,1),(l(!0),u(_,null,d(a(Ze).waitsFor,n=>(l(),u(`span`,{key:n,class:v([`task-wait-chip`,{done:!a(Ze).left.includes(n)}]),title:a(Ze).titles[n]||void 0},[t(y(tt(n)),1),a(Ze).left.includes(n)?c(``,!0):(l(),u(`small`,Br,y((`tl`in e?e.tl:a(q))(`done`,`fait`)),1))],10,zr))),128))]),a(Ze).forYou?(l(),u(`p`,Vr,y(a(Ze).forYou),1)):c(``,!0),S(`p`,Hr,y(a(Ze).waiting?(`tl`in e?e.tl:a(q))(`It starts by itself once they are done.`,`Elle démarre d’elle-même quand elles sont faites.`):(`tl`in e?e.tl:a(q))(`Once started, it waits for them to be done.`,`Une fois lancée, elle attend qu’elles soient faites.`)),1),a(it)?(l(),o(p,{key:1,color:`neutral`,variant:`outline`,icon:`i-lucide-x`,class:`task-wait-clear`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:Dt},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Stop waiting`,`Ne plus attendre`)),1)]),_:1},8,[`disabled`])):c(``,!0)])):c(``,!0),a(F)?(l(),u(`p`,Ur,y((`tl`in e?e.tl:a(q))(`Archived: read-only, as in herdr-projects. Restore it to change or start it again.`,`Archivée : en lecture seule, comme dans herdr-projects. Restaure-la pour la modifier ou la relancer.`)),1)):c(``,!0),a(D)&&!a(b)?(l(),u(`p`,Wr,y((`t`in e?e.t:a(G))(`Loading…`)),1)):c(``,!0),a(T)?(l(),u(`p`,Gr,y(a(T)),1)):c(``,!0),!a(F)&&n.task.stage===`pick`&&a(b)?.stage===`pick`?(l(),u(`section`,Kr,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Choose an attempt`,`Choisis un essai`)),1),a(b).comparison?.pick?(l(),u(`p`,qr,y((`tl`in e?e.tl:a(q))(`Picker recommends ${a(b).comparison.pick}`,`Le picker recommande ${a(b).comparison.pick}`)),1)):c(``,!0),a(b).comparison?.why?(l(),u(`p`,Jr,y(a(b).comparison.why),1)):c(``,!0),a(b).comparison?.error?(l(),u(`p`,Yr,y(a(b).comparison.error),1)):c(``,!0),(l(!0),u(_,null,d(a(b).attempts,r=>(l(),u(`div`,{key:r.letter,class:`task-attempt`},[S(`p`,null,[S(`strong`,Xr,y(r.letter),1),t(` · `+y(r.agent),1)]),S(`p`,null,[t(y(r.standing===`passed`?(`tl`in e?e.tl:a(q))(`Checks passed`,`Vérifications réussies`):r.standing===`out`?(`tl`in e?e.tl:a(q))(`Not selectable`,`Non sélectionnable`):(`tl`in e?e.tl:a(q))(`Checks not passed yet`,`Vérifications pas encore réussies`)),1),r.standing===`passed`?c(``,!0):(l(),u(_,{key:0},[t(` · `+y(r.stage),1)],64))]),r.stat?(l(),u(`p`,Zr,y(r.stat),1)):c(``,!0),a(b).comparison?.notes[r.letter]?(l(),u(`p`,Qr,y(a(b).comparison.notes[r.letter]),1)):c(``,!0),h(p,{disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||n.reachable===!1||a(D)||!!a(T)||!a(nt)(a(b),r.letter),onClick:e=>$(r.letter)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Keep ${r.letter}`,`Garder ${r.letter}`)),1)]),_:2},1032,[`disabled`,`onClick`])]))),128)),a(b).attempts?.length?c(``,!0):(l(),u(`p`,$r,y((`tl`in e?e.tl:a(q))(`No attempts available`,`Aucun essai disponible`)),1))])):c(``,!0),a(he)||a(ve)||a(b)?.branch||a(b)?.agent?(l(),u(`dl`,ei,[a(he)?(l(),u(_,{key:0},[S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Pull request`,`Pull request`)),1),S(`dd`,null,[S(`a`,{href:a(he),target:`_blank`,rel:`noopener noreferrer`},[t(y(a(Xe)(a(he))||`PR`)+` `,1),h(s,{name:`i-lucide-external-link`})],8,ti)])],64)):c(``,!0),a(ve)?(l(),u(_,{key:1},[S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Review`,`Revue`))+y(n.task.reviewRound>1?` · R${n.task.reviewRound}`:``),1),S(`dd`,{class:v(a(ve).pass===!1?`fail`:a(ve).pass?`pass`:``)},y(a(ve).pass===!1?(`tl`in e?e.tl:a(q))(`Fail`,`Échec`):a(ve).pass?(`tl`in e?e.tl:a(q))(`Pass`,`Validée`):``)+y(a(ve).tally?` · ${a(ve).tally}`:``)+y(a(ve).by?` · ${a(ve).by}`:``),3)],64)):c(``,!0),a(b)?.branch?(l(),u(_,{key:2},[S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Branch`,`Branche`)),1),S(`dd`,ni,y(a(b).branch),1)],64)):c(``,!0),a(b)?.agent?(l(),u(_,{key:3},[S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Agent`,`Agent`)),1),S(`dd`,null,y(a(b).agent),1)],64)):c(``,!0)])):c(``,!0),a(b)?.handovers?.length?(l(),u(`section`,ri,[S(`h4`,null,y((`t`in e?e.t:a(G))(`Handovers`)),1),S(`ol`,ii,[(l(!0),u(_,null,d(a(b).handovers,(n,r)=>(l(),u(`li`,{key:r,class:`task-sheet-text`},[n.role?(l(),u(`p`,ai,y(n.role===`worker`?(`t`in e?e.t:a(G))(`Agent`):n.role===`reviewer`?(`t`in e?e.t:a(G))(`Reviewer`):n.role),1)):c(``,!0),n.from?(l(),u(`p`,oi,[S(`span`,null,y((`t`in e?e.t:a(G))(`Previous agent`))+`: `,1),t(y(n.from),1)])):c(``,!0),n.to?(l(),u(`p`,si,[S(`span`,null,y((`t`in e?e.t:a(G))(`Taken over by`))+`: `,1),t(y(n.to),1)])):c(``,!0),n.why?(l(),u(`p`,ci,y(n.why),1)):c(``,!0),n.at===null?c(``,!0):(l(),u(`time`,{key:4,datetime:new Date(n.at).toISOString(),class:`task-handover-meta`},y(new Date(n.at).toLocaleString()),9,li))]))),128))])])):c(``,!0),a(b)?.failure&&!a(b).failureStale&&!n.embedded?(l(),u(`div`,ui,[h(s,{name:`i-lucide-triangle-alert`}),S(`p`,null,y(a(b).failure),1)])):c(``,!0),a(b)?.failure&&a(b).failureStale?(l(),u(`section`,di,[S(`h4`,null,[t(y((`tl`in e?e.tl:a(q))(`Earlier failure`,`Échec précédent`)),1),a(b).failureAt?(l(),u(_,{key:0},[t(` · `+y(new Date(a(b).failureAt).toLocaleString()),1)],64)):c(``,!0)]),S(`p`,fi,y(a(b).failureTitle||a(b).failure),1)])):c(``,!0),a(b)?.description?(l(),u(`section`,pi,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Description`,`Description`)),1),S(`p`,mi,y(a(b).description),1)])):c(``,!0),n.embedded?c(``,!0):(l(),o(g,{key:15,machine:n.machine,id:n.task.id,active:m.value,reachable:n.reachable},null,8,[`machine`,`id`,`active`,`reachable`])),a(b)?.plan?(l(),u(`section`,hi,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Plan`,`Plan`)),1),S(`p`,gi,y(a(b).plan),1)])):c(``,!0),a(b)?.summary?(l(),u(`section`,_i,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Closing note`,`Note de fin`)),1),S(`p`,vi,y(a(b).summary),1)])):c(``,!0),a(b)?.report?(l(),u(`p`,yi,[S(`span`,null,y(a(b).research?(`tl`in e?e.tl:a(q))(`Research report`,`Rapport de recherche`):(`tl`in e?e.tl:a(q))(`Report`,`Rapport`)),1),a(b).report.link?(l(),u(`a`,{key:0,href:a(b).report.link,target:`_blank`,rel:`noopener noreferrer`},y(a(b).report.file),9,bi)):(l(),u(`span`,xi,y(a(b).report.file),1))])):c(``,!0),a(b)?.findings?.length?(l(),u(`section`,Si,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Review findings`,`Remarques de relecture`)),1),(l(!0),u(_,null,d(a(b).findings,(e,n)=>(l(),u(`p`,{key:n,class:`task-sheet-text`},[t(y(e.severity)+` · `+y(e.title),1),e.detail?(l(),u(_,{key:0},[t(` — `+y(e.detail),1)],64)):c(``,!0)]))),128))])):c(``,!0),a(b)?.limits?(l(),u(`dl`,Ci,[S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Time used · this run`,`Temps consommé · cette tranche`)),1),S(`dd`,null,y(a(b).limits.timeUsed||(`tl`in e?e.tl:a(q))(`Not provided`,`Non renseigné`)),1),S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Time limit`,`Plafond de temps`)),1),S(`dd`,null,y(a(b).limits.time===`none`?(`tl`in e?e.tl:a(q))(`No limit`,`Aucune limite`):a(b).limits.time||(`tl`in e?e.tl:a(q))(`Not provided`,`Non renseigné`)),1),S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Token limit`,`Limite de tokens`)),1),S(`dd`,null,[a(b).limits.tokens===`none`?(l(),u(`span`,wi,y((`tl`in e?e.tl:a(q))(`No limit`,`Aucune limite`)),1)):(l(),o(w,{key:1,value:a(b).limits.tokens},null,8,[`value`]))]),S(`dt`,null,y((`tl`in e?e.tl:a(q))(`Tokens used · whole task`,`Jetons consommés · toute la tâche`)),1),S(`dd`,null,[h(w,{value:a(b).limits.tokensUsed},null,8,[`value`])])])):c(``,!0),a(F)?c(``,!0):(l(),u(`section`,Ti,[S(`div`,Ei,[h(p,{color:`neutral`,variant:`outline`,icon:`i-lucide-message-circle-question-mark`,"aria-expanded":a(C),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[0]||=e=>C.value=!a(C)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Ask the coordinator`,`Demander au coordinateur`)),1)]),_:1},8,[`aria-expanded`,`disabled`]),h(p,{color:`neutral`,variant:`ghost`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:kt},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Coordinator replies`,`Réponses du coordinateur`)),1)]),_:1},8,[`disabled`])]),a(C)?(l(),u(`form`,{key:0,class:`task-question sheet-form`,onSubmit:M(Ot,[`prevent`])},[S(`label`,Di,y((`tl`in e?e.tl:a(q))(`Your question about this task`,`Ta question sur cette tâche`)),1),h(P,{id:`task-question`,modelValue:a(x),"onUpdate:modelValue":r[1]||=e=>O(x)?x.value=e:null,maxlength:a(Je),disabled:a(A),rows:3},null,8,[`modelValue`,`maxlength`,`disabled`]),S(`p`,null,y((`tl`in e?e.tl:a(q))(`The project coordinator answers in its chat. Asking leaves the task as it is.`,`Le coordinateur du projet répond dans son chat. Poser une question laisse la tâche en l’état.`)),1),S(`div`,Oi,[h(p,{type:`submit`,loading:a(A),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||!a(x).trim()},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Send question`,`Envoyer la question`)),1)]),_:1},8,[`loading`,`disabled`])])],32)):c(``,!0)])),a(B).delegate?(l(),u(`div`,{key:22,class:`task-start-agent`,role:`radiogroup`,"aria-label":(`tl`in e?e.tl:a(q))(`Agent for this start`,`Agent pour ce lancement`)},[S(`span`,Ai,y((`tl`in e?e.tl:a(q))(`Agent`,`Agent`)),1),a(W)?c(``,!0):(l(),u(`span`,ji,y(a(Se)?(`t`in e?e.t:a(G))(`Loading…`):(`tl`in e?e.tl:a(q))(`the task’s default`,`celui de la tâche par défaut`)),1)),(l(!0),u(_,null,d(a(Ee),t=>(l(),u(`button`,{key:t.id??``,type:`button`,role:`radio`,class:v([`task-start-chip`,{on:Ie(t),off:!t.usable}]),"aria-checked":Ie(t),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||!t.usable,onClick:e=>Ce.value=t.id},[t.id||a(W)?.agent?(l(),o(ee,{key:0,agent:t.id||a(Te)},null,8,[`agent`])):c(``,!0),S(`span`,Ni,y(t.label),1),t.isDefault?(l(),u(`small`,Pi,y(Le(t)),1)):c(``,!0)],10,Mi))),128)),a(W)&&a(Pe)&&!(`offlineView`in e?e.offlineView:a(U))?(l(),u(`span`,Fi,[S(`span`,Ii,y((`tl`in e?e.tl:a(q))(`Model`,`Modèle`)),1),(l(),o(rt,{key:`${vt()}|${a(Pe)}`,model:a(Me),"onUpdate:model":r[2]||=e=>O(Me)?Me.value=e:null,effort:a(Ne),"onUpdate:effort":r[3]||=e=>O(Ne)?Ne.value=e:null,launch:{machine:n.machine,program:a(Pe)}},null,8,[`model`,`effort`,`launch`]))])):c(``,!0),a(W)?.agent?(l(),u(`span`,Li,y(Ve()),1)):c(``,!0),a(Ae)?(l(),u(`span`,Ri,y((`tl`in e?e.tl:a(q))(`${a(Te)} is not installed on this machine: pick another agent to start it.`,`${a(Te)} n’est pas installé sur cette machine : choisis un autre agent pour la lancer.`)),1)):c(``,!0),a(Fe)?(l(),u(`span`,zi,y((`tl`in e?e.tl:a(q))(`For this start only: the default stays.`,`Pour ce lancement seulement : le défaut ne change pas.`)),1)):c(``,!0)],8,ki)):c(``,!0),a(be)||a(B).approve||a(B).delegate||a(B).retry||a(B).finish||a(B).stop||a(B).archive||a(B).restore?(l(),u(`div`,Bi,[a(B).restore?(l(),o(p,{key:0,color:`primary`,icon:`i-lucide-archive-restore`,loading:a(j)===`restore`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[4]||=e=>Tt(`restore`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Restore`,`Restaurer`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0),a(B).delegate?(l(),o(p,{key:1,color:`primary`,icon:a(Ge)?`i-lucide-list-ordered`:`i-lucide-play`,class:`task-start`,loading:a(j)===`delegate`&&!a(Y),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||a(Ae),onClick:r[5]||=e=>Tt(`delegate`)},{default:E(()=>[t(y(Ke()),1)]),_:1},8,[`icon`,`loading`,`disabled`])):c(``,!0),a(B).delegate?(l(),o(p,{key:2,color:`primary`,variant:`outline`,icon:`i-lucide-hourglass`,class:`task-start-after`,"aria-expanded":a(Y),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||a(Ae),onClick:r[6]||=e=>a(Y)?Z():ft()},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Start after…`,`Démarrer après…`)),1)]),_:1},8,[`aria-expanded`,`disabled`])):c(``,!0),a(B).approve?(l(),o(p,{key:3,color:`primary`,icon:`i-lucide-check`,loading:a(A)&&!a(j),disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:St},{default:E(()=>[t(y(n.task.stage===`plan`?(`tl`in e?e.tl:a(q))(`Approve plan`,`Accepter le plan`):(`tl`in e?e.tl:a(q))(`Approve`,`Approuver`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0),a(B).retry?(l(),o(p,{key:4,color:`primary`,variant:`outline`,icon:`i-lucide-rotate-ccw`,loading:a(j)===`retry`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[7]||=e=>Tt(`retry`)},{default:E(()=>[t(y(a(V)?(`tl`in e?e.tl:a(q))(`Continue`,`Continuer`):(`tl`in e?e.tl:a(q))(`Retry`,`Réessayer`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0),a(V)?(l(),o(p,{key:5,variant:`outline`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||n.reachable===!1,onClick:fe},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Raise limit`,`Relever la limite`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(B).finish?(l(),o(p,{key:6,color:`primary`,variant:`outline`,icon:`i-lucide-flag`,class:`task-finish`,title:a(fr)(a(I)?.chat),"aria-description":a(fr)(a(I)?.chat),loading:a(j)===`finish`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[8]||=e=>Tt(`finish`)},{default:E(()=>[t(y(a(V)&&!a(I)?.chat?(`tl`in e?e.tl:a(q))(`Take as is`,`Prendre tel quel`):a(dr)(a(I)?.chat)),1)]),_:1},8,[`title`,`aria-description`,`loading`,`disabled`])):c(``,!0),a(be)&&!n.embedded?(l(),o(p,{key:7,class:`task-chat`,color:`neutral`,variant:`outline`,icon:`i-lucide-message-square`,onClick:At},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Open the chat`,`Ouvrir la discussion`)),1)]),_:1})):c(``,!0),a(B).stop?(l(),o(p,{key:8,color:`error`,variant:`outline`,icon:`i-lucide-square`,loading:a(j)===`stop`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[9]||=e=>Tt(`stop`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Stop`,`Arrêter`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0),a(B).archive?(l(),o(p,{key:9,color:`neutral`,variant:`ghost`,icon:`i-lucide-archive`,class:`task-archive`,loading:a(j)===`archive`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U)),onClick:r[10]||=e=>Tt(`archive`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Archive`,`Archiver`)),1)]),_:1},8,[`loading`,`disabled`])):c(``,!0)])):c(``,!0),a(ue)?(l(),u(`p`,Vi,y((`tl`in e?e.tl:a(q))(`Resuming…`,`Reprise…`)),1)):c(``,!0),a(V)&&n.embedded?(l(),u(`p`,Hi,y(a(re)),1)):c(``,!0),h(ie,{open:a(H),"onUpdate:open":r[13]||=e=>O(H)?H.value=e:null,title:(`tl`in e?e.tl:a(q))(`Raise limit`,`Relever la limite`),top:``},{default:E(()=>[S(`form`,{class:`sheet-form task-question`,onSubmit:M(pe,[`prevent`])},[S(`p`,null,y((`tl`in e?e.tl:a(q))(`Choose a total ceiling above usage for the limit that stopped this task. Usage is kept; the CLI resumes automatically when this limit is lifted. Enter none to explicitly remove it.`,`Choisis un plafond total supérieur à la consommation pour la limite qui a arrêté cette tâche. La consommation est conservée ; le CLI reprend automatiquement quand cette limite est levée. Saisis none pour la supprimer explicitement.`)),1),S(`p`,Ui,y(a(ae)===`limit.time`?(`tl`in e?e.tl:a(q))(`Reached limit: time per run`,`Limite atteinte : temps par tranche`):a(ae)===`limit.tokens`?(`tl`in e?e.tl:a(q))(`Reached limit: tokens for the whole task`,`Limite atteinte : jetons pour toute la tâche`):(`tl`in e?e.tl:a(q))(`The reached limit is not available. Refresh the task before changing a ceiling.`,`La limite atteinte n’est pas disponible. Actualise la tâche avant de modifier un plafond.`)),1),S(`label`,Wi,y(a(ae)===`limit.time`?(`tl`in e?e.tl:a(q))(`New duration (e.g. 4h, 90m, none)`,`Nouvelle durée (ex. 4h, 90m, none)`):(`tl`in e?e.tl:a(q))(`New token count (e.g. 3m, 500k, none)`,`Nouvelle quantité de jetons (ex. 3m, 500k, none)`)),1),h(L,{id:`task-limit-value`,modelValue:a(le),"onUpdate:modelValue":r[11]||=e=>O(le)?le.value=e:null,disabled:a(A)||!a(ae),maxlength:40},null,8,[`modelValue`,`disabled`]),a(se)?(l(),u(`p`,Gi,y(a(se)),1)):c(``,!0),a(N)?(l(),u(`p`,Ki,y(a(N)),1)):c(``,!0),S(`div`,qi,[h(p,{color:`neutral`,variant:`outline`,disabled:a(A),onClick:r[12]||=e=>H.value=!1},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Cancel`,`Annuler`)),1)]),_:1},8,[`disabled`]),h(p,{type:`submit`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||!a(ae)||!a(le).trim(),loading:a(ue)},{default:E(()=>[t(y(a(ue)?(`tl`in e?e.tl:a(q))(`Resuming…`,`Reprise…`):(`tl`in e?e.tl:a(q))(`Apply limit`,`Appliquer le plafond`)),1)]),_:1},8,[`disabled`,`loading`])])],32)]),_:1},8,[`open`,`title`]),a(B).delegate&&a(qe)?(l(),u(`p`,Ji,y(a(qe)),1)):c(``,!0),a(B).delegate&&a(Y)?(l(),u(`section`,Yi,[S(`h4`,null,y((`tl`in e?e.tl:a(q))(`Start after…`,`Démarrer après…`)),1),S(`p`,Xi,y((`tl`in e?e.tl:a(q))(`It starts by itself once these tasks are done. Another machine’s task: machine:KEY-12.`,`Elle démarre d’elle-même quand ces tâches sont faites. Tâche d’une autre machine : machine:CLÉ-12.`)),1),a(X).length?(l(),u(`p`,Zi,[(l(!0),u(_,null,d(a(X),n=>(l(),u(`span`,{key:n.ref,class:`task-wait-chip`},[t(y(n.ref),1),S(`button`,{type:`button`,class:`task-wait-unchoose`,"aria-label":(`tl`in e?e.tl:a(q))(`Remove ${n.ref}`,`Retirer ${n.ref}`),onClick:e=>ht(n.ref)},[h(s,{name:`i-lucide-x`})],8,Qi)]))),128))])):c(``,!0),h(L,{modelValue:a(ot),"onUpdate:modelValue":r[14]||=e=>O(ot)?ot.value=e:null,size:`xl`,class:`w-full task-after-search`,icon:`i-lucide-search`,autocapitalize:`none`,autocorrect:`off`,spellcheck:!1,enterkeyhint:`done`,maxlength:`120`,placeholder:(`tl`in e?e.tl:a(q))(`Key, id or title`,`Clé, id ou titre`),"aria-label":(`tl`in e?e.tl:a(q))(`Task to wait for`,`Tâche à attendre`),onKeydown:r[15]||=k(M(e=>a(lt)?mt():a(ct)[0]&&pt(a(ct)[0]),[`prevent`]),[`enter`])},null,8,[`modelValue`,`placeholder`,`aria-label`]),S(`ul`,$i,[a(lt)?(l(),u(`li`,ea,[S(`button`,{type:`button`,class:`task-after-choice`,onClick:mt},[S(`span`,ta,y(a(lt)),1),S(`span`,null,y((`tl`in e?e.tl:a(q))(`Wait for this task`,`Attendre cette tâche`)),1)])])):c(``,!0),(l(!0),u(_,null,d(a(ct),t=>(l(),u(`li`,{key:t.ref},[S(`button`,{type:`button`,class:`task-after-choice`,onClick:e=>pt(t)},[S(`span`,ra,y(t.ref),1),S(`span`,ia,y(t.title),1),S(`small`,null,y((`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(t.group)),1)],8,na)]))),128))]),!a(ct).length&&!a(lt)?(l(),u(`p`,aa,y(a(st)?(`t`in e?e.t:a(G))(`Loading…`):(`tl`in e?e.tl:a(q))(`No task to wait for matches.`,`Aucune tâche à attendre ne correspond.`)),1)):c(``,!0),S(`div`,oa,[h(p,{color:`primary`,icon:a(Ge)?`i-lucide-list-ordered`:`i-lucide-hourglass`,loading:a(j)===`delegate`,disabled:a(A)||(`offlineView`in e?e.offlineView:a(U))||a(Ae)||!a(X).length,onClick:Et},{default:E(()=>[t(y(a(X).length?(`tl`in e?e.tl:a(q))(`Start after ${a(X).length===1?a(X)[0].ref:`${a(X).length} tasks`}`,`Démarrer après ${a(X).length===1?a(X)[0].ref:`${a(X).length} tâches`}`):(`tl`in e?e.tl:a(q))(`Pick a task`,`Choisis une tâche`)),1)]),_:1},8,[`icon`,`loading`,`disabled`]),h(p,{color:`neutral`,variant:`ghost`,disabled:a(j)===`delegate`,onClick:Z},{default:E(()=>[t(y((`t`in e?e.t:a(G))(`Cancel`)),1)]),_:1},8,[`disabled`])])])):c(``,!0),a(B).finish&&!n.embedded?(l(),u(`p`,sa,y(a(re)),1)):c(``,!0),a(N)?(l(),u(`p`,ca,y(a(N)),1)):c(``,!0)])):c(``,!0)]),_:1},40,[`open`,`title`])}}}),[[`__scopeId`,`data-v-d0b53be8`]]),{__name:`TaskSheet`});function ua(e){return[...e.chat?[`chat`]:[],...e.term?[`term`]:[],...e.reviewer?[`reviewer`]:[],`task`,...e.settings?[`settings`]:[]]}function da(e,t){let n=ua(e);return t&&n.includes(t)?t:e.chat?`chat`:`task`}var fa=new Map,pa=e=>fa.get(e)??null;function ma(e,t){t?fa.set(e,t):fa.delete(e)}function ha(e,t){let n=t===`term`?`chat`:`term`;return e.includes(n)?n:null}function ga(e){if(e.stage!==`reviewneeds`)return null;let t=e.reviewer?.pane;if(!t||!e.live)return`away`;let n=e.panes.find(e=>e.id===t);return n?n.status===`blocked`?`open`:`quiet`:e.everywhere?.some(e=>e.id===t)?`hidden`:`gone`}var _a=[`data-kind`,`aria-label`],va=[`aria-label`,`aria-valuenow`,`aria-valuemin`,`aria-valuemax`,`title`],ya={class:`board-panel-head`},ba={class:`board-panel-who`},xa={class:`board-panel-path`},Sa={class:`board-panel-machine`},Ca={key:0,class:`board-panel-repo`},wa=[`title`],Ta={class:`board-panel-name`},Ea=[`title`],Da={class:`board-panel-title`},Oa={key:0,class:`task-chip`},ka={key:2,class:`board-panel-purpose`},Aa={key:1,class:`board-panel-autopilot`},ja=[`aria-label`],Ma=[`aria-pressed`,`aria-label`,`aria-description`,`title`,`onClick`],Na={key:0,class:`task-new`,"aria-hidden":`true`},Pa={key:3,class:`task-review-context`},Fa=[`data-kind`],Ia={class:`task-needs-type`},La=[`title`],Ra=[`aria-expanded`,`aria-label`],za={key:0},Ba={key:1},Va={key:2},Ha={key:3},Ua=[`data-wait`],Wa={key:2,class:`task-needs-findings`},Ga={class:`task-needs-findings-head`},Ka=[`data-severity`],qa={class:`task-needs-severity`},Ja={class:`task-needs-subject`},Ya={key:3,class:`task-finish-why`},Xa={class:`task-needs-actions`},Za={key:4},Qa={key:5,class:`error`},$a={class:`board-panel-body`},eo={key:0,class:`board-note error`},to={class:`board-panel-reviewer-bar`},no={class:`board-panel-reviewer-who`},ro={key:6,class:`board-empty board-panel-wait`},io={key:7,class:`board-note error board-panel-wait`},ao={key:8,class:`board-panel-start task-setup`},oo={key:0},so={for:`board-panel-tell`},co={key:0,class:`board-panel-away`,role:`status`},lo={key:9,class:`board-empty board-panel-wait`},uo={key:10,class:`board-panel-start`},fo=[`aria-label`],po={class:`board-panel-failed-what`},mo={class:`board-panel-failed-why`},ho={class:`board-panel-failed-next`},go={key:0,class:`board-panel-away`,role:`status`},_o={key:1,class:`board-empty`},vo={key:2,class:`board-empty board-panel-starting`,role:`status`},yo={for:`board-panel-first`},bo={key:0,class:`board-panel-away`,role:`status`},xo={for:`coordinator-agent`},So={for:`coordinator-model`},Co={for:`coordinator-effort`},wo=`your message sits unsent in its box. Go into it and press enter.`,To=Object.assign(m({__name:`BoardPanel`,props:{target:{},task:{},machineLabel:{},reachable:{type:Boolean},refresh:{type:Function},refreshKey:{}},emits:[`coordinator`,`close`,`sheet`,`noAgent`,`changed`,`archived`,`restored`],setup(r,{emit:i}){let f=r,{actions:m}=yt(),g=s(`__default`),T=s(``),D=s(`__default`),k=e(()=>{let e=f.target.machine,t=Ae.value?.find(t=>t.key===e);return[{label:q(`Default`,`Par défaut`),value:`__default`},...Ce(t?.kinds||Se.value.kinds||[],we.value).filter(e=>e!==`shell`).map(e=>({label:he(e),value:e}))]}),A=e(()=>[{label:q(`Default`,`Par défaut`),value:`__default`},...[`low`,`medium`,`high`,`xhigh`,`max`].map(e=>({label:e,value:e}))]),P=i,I=s(null),R=s(null),B=s(!1),re=s(``),V=s(!1),ie=e=>!!f.task&&Be(f.task,e).tell,H=0;async function ae(e=!1){let t=f.target;if(t.kind!==`task`)return;let n=++H;e||(I.value=null,R.value=null,re.value=``,B.value=!0);try{let e=await K(`/api/tasks/details?machine=${encodeURIComponent(t.machine)}&id=${encodeURIComponent(t.id)}`);if(n!==H)return;if(R.value=e,!e.pane){V.value=ie(e),I.value=null;return}V.value=!1,I.value=e.pane}catch(t){n===H&&!e&&(re.value=t.message)}finally{n===H&&(B.value=!1)}}w(()=>f.target.kind===`task`?`${f.target.machine}|${f.target.id}`:``,e=>{e&&ae()},{immediate:!0}),w(()=>f.task?`${f.task.stage}|${f.task.group}|${f.task.state}|${f.task.msg}`:``,(e,t)=>{e&&t&&e!==t&&ae(!0)});let de=s(``),pe=s(!1);async function me(e){let t=f.target,n=(e??de.value).trim();if(t.kind===`task`&&n&&!pe.value&&f.reachable){pe.value=!0;try{await K(`/api/tasks/tell`,{machine:t.machine,id:t.id,text:n}),je(),Oe(Je.value?q(`Sent to the reviewer`,`Envoyé au relecteur`):q(`Sent to the task’s agent`,`Envoyé à l’agent de la tâche`)),e===void 0&&(de.value=``),ae(!0)}catch(e){Oe(e.message,!0)}finally{pe.value=!1}}}let ge=s(!1),ve=s(!0),be=s(!1),xe=s(``),W=e(()=>_e.value.panes.find(e=>e.id===I.value)),Ee=e(()=>{let e=R.value?.identity||f.task?.identity;return{agent:W.value?.agent||e?.agent||R.value?.agent||f.task?.app||``,reviewer:J.value&&(e?.reviewer||Nt.value?.agent)||``,from:e?.from||``}}),J=e(()=>[`reviewing`,`reviewneeds`].includes(R.value?.stage||f.task?.stage||``)),ke=e(()=>!!(W.value&&fe(W.value))&&!(f.task?.stage===`failed`&&[`start`,`setup`,`attempts`].includes(R.value?.failureStage||``))),Pe=e(()=>W.value?q(`Herdr agent: ${L(W.value)}`,`Agent Herdr : ${L(W.value)}`):q(`Agent not running`,`Agent arrêté`)),Fe=e(()=>f.task?Be(f.task,R.value):null),ze=e(()=>f.task&&Ie(f.task,R.value)),Ve=e(()=>f.task&&He(f.task,R.value)),Ge=e(()=>!!(f.task&&Le(f.task,R.value))),Ke=e(()=>Ge.value?Me(R.value?.findings):null),Je=e(()=>(R.value?.stage||f.task?.stage)===`reviewneeds`),Ye=e(()=>!!(be.value||U.value||!f.reachable||f.task?.stale)),Xe=e(()=>f.task?We(f.task):null),Ze=s(0);async function Qe(){$t(`task`),await x(),Ze.value++}let $e=e(()=>!!(f.task&&Fe.value?.finish&&mr(f.task,W.value?.status??null))),et=e(()=>$e.value&&Xe.value===`stuck`),tt=e(()=>f.task?.group===`needs`),nt=e(()=>R.value&&!R.value.failureStale?R.value:null),rt=e(()=>f.task?.stage===`pick`),Y=e(()=>rt.value?q(`Choose an attempt`,`Choisis un essai`):nt.value?.failureTitle||R.value?.msg||f.task?.msg||W.value?.prompt?.question||q(`Your answer is needed`,`Ta réponse est attendue`)),ot=e(()=>nt.value?.failureDetail||nt.value?.failure||``),Z=e(()=>tt.value&&!rt.value&&!nt.value?.failureTitle&&!ot.value?Gt(f.task?.kind):null),pt=e(()=>Y.value),mt=e(()=>f.task?.stage===`asks`),ht=e(()=>!!(Z.value&&Z.value!==`auth`&&mt.value)),gt=e(()=>ht.value&&!!Fe.value?.tell),_t=e(()=>gt.value&&Z.value===`question`?rn(pt.value):[]),vt=e(()=>gt.value&&Z.value===`permission`),Q=e(()=>cn(pt.value)),bt=e(()=>pe.value||Ye.value),xt=s(!1),St=s(null),Ct=s(!1);function $(){let e=St.value;e&&!xt.value&&(Ct.value=e.scrollWidth>e.clientWidth+1)}w(St,(e,t,n)=>{if(!e||typeof ResizeObserver>`u`)return;let r=new ResizeObserver($);r.observe(e),n(()=>r.disconnect())}),w(pt,()=>{xt.value=!1,x($)});let wt=s(null);async function Tt(e){for(let t=0;t<60;t++){await x();let t=wt.value?.querySelector(`.board-panel-body`),n=t?e(t):null;if(n)return n;await new Promise(e=>setTimeout(e,50))}return null}async function Et(){$t(`chat`),(await Tt(e=>e.querySelector(`.composer textarea, #board-panel-tell`)))?.focus()}let Dt=e(()=>!!(Z.value&&I.value&&ke.value));async function Ot(){$t(`chat`);let e=await Tt(e=>un(e,pt.value));e&&(e.scrollIntoView({block:`center`,behavior:`smooth`}),e.classList.remove(`msg-lit`),e.offsetWidth,e.classList.add(`msg-lit`),setTimeout(()=>e.classList.remove(`msg-lit`),2600))}function kt(e){switch(e){case`critical`:return q(`Critical`,`Critique`);case`major`:return q(`Major`,`Majeur`);case`minor`:return q(`Minor`,`Mineur`);case`trivial`:return q(`Trivial`,`Trivial`);default:return e||q(`Finding`,`Remarque`)}}function At(e){return e===`settings`?q(`Settings`,`Réglages`):e===`chat`?G(`Conversation`):e===`term`?G(`Terminal`):e===`reviewer`?q(`Reviewer`,`Relecteur`):q(`Task`,`Tâche`)}let jt=e(()=>tt.value&&(f.task?.stage===`reviewneeds`||R.value?.stage===`reviewneeds`)),Mt=e(()=>{let e=R.value?.reviewer?.pane;return e&&_e.value.panes.some(t=>t.id===e)?e:null}),Nt=e(()=>_e.value.panes.find(e=>e.id===Mt.value)),Pt=e(()=>Nt.value?q(`Reviewer: ${L(Nt.value)}`,`Relecteur : ${L(Nt.value)}`):q(`Reviewer`,`Relecteur`)),Ft=e(()=>jt.value&&R.value?.stage===`reviewneeds`?ga({stage:`reviewneeds`,reviewer:R.value.reviewer,panes:_e.value.panes,everywhere:Te.value.panes,live:_e.value.ok&&f.reachable!==!1}):null),It=e(()=>{if(!J.value||Mt.value||!Te.value.ok)return null;let e=Te.value.panes.find(e=>e.id===R.value?.reviewer?.pane),t=e&&Te.value.machines?.find(t=>t.key===(e.machine||``));return t?{baseKey:t.baseKey??t.key,name:t.session||`default`}:null}),Lt=s(!1);async function Rt(){let e=It.value;if(e&&!Lt.value){Lt.value=!0;try{await De(e.baseKey,e.name),$t(`reviewer`,!0)}catch(e){Oe(e.message,!0)}finally{Lt.value=!1}}}let zt=e(()=>{switch(Ft.value){case`quiet`:return q(`The reviewer shows no dialog now: the board moves on by itself in a few seconds.`,`Le relecteur n’affiche plus de dialogue : le tableau reprend tout seul dans quelques secondes.`);case`gone`:return q(`The reviewer’s pane is closed: no dialog is left to answer. If the task stays here, stop it from the Task tab.`,`Le pane du relecteur est fermé : plus aucun dialogue à répondre. Si la tâche reste bloquée ici, arrête-la depuis l’onglet Tâche.`);case`hidden`:return It.value?q(`The reviewer runs in the session “${It.value.name}”, which this device does not show. Switch to it to answer.`,`Le relecteur tourne dans la session « ${It.value.name} », que cet appareil n’affiche pas. Passe sur cette session pour répondre.`):q(`The reviewer runs in a session this device does not show.`,`Le relecteur tourne dans une session que cet appareil n’affiche pas.`);case`away`:return q(`wherdr cannot reach the reviewer’s pane. Answer it on ${f.machineLabel}, in the task’s space: its Reviewer tab.`,`wherdr ne peut pas joindre le pane du relecteur. Réponds-y sur ${f.machineLabel}, dans l’espace de la tâche : son onglet Reviewer.`);default:return``}}),Vt=s(null),Ht=e(()=>Vt.value??(Nt.value&&fe(Nt.value)?`chat`:`term`));w(Mt,()=>{Vt.value=null});let Ut=e(()=>f.target.kind===`task`?`${f.target.machine}|${f.target.id}`:``),qt=s(pa(Ut.value)),Jt=e(()=>!B.value||R.value!==null),Yt=e(()=>({chat:!!I.value||V.value||!(!ot.value||tt.value),term:!!I.value,reviewer:!!Mt.value,settings:f.target.kind===`task`})),Xt=e(()=>ua(Yt.value)),Zt=e(()=>da(Yt.value,qt.value)),Qt=e(()=>ha(Xt.value,Zt.value));function $t(e,t=!1){(t||e!==Zt.value)&&(qt.value=e,ma(Ut.value,e))}w(()=>f.target,e=>{e.kind===`task`&&e.chat&&$t(`chat`,!0)},{immediate:!0}),w([Xt,Jt],()=>{Jt.value&&!re.value&&qt.value&&!Xt.value.includes(qt.value)&&(qt.value=null,ma(Ut.value,null))});let en=e(()=>JSON.stringify([R.value?.summary,R.value?.review,R.value?.findings])),tn=s(``),nn=e(()=>!!(R.value?.summary||R.value?.review)&&en.value!==tn.value);w([Zt,en],()=>{Zt.value===`task`&&(tn.value=en.value)});function an(e,t){P(`archived`,e,t),P(`close`)}function on(e,t){P(`restored`,e,t)}async function sn(){f.refresh?await f.refresh():P(`changed`),await ae(!0)}async function dn(e){let t=f.target;if(!(t.kind!==`task`||Ye.value)&&(e!==`anyway`||Ve.value)&&(e!==`fix`||ze.value)&&(e!==`review`||Ge.value)&&(e!==`finish`||$e.value&&await z(pr(f.task?.title||R.value?.title||``,f.task?.chat),dr(f.task?.chat),`primary`))&&(e!==`approve`&&e!==`anyway`||await z(e===`anyway`?q(`Approve despite the failed review or checks? This merges the work.`,`Approuver malgré la relecture ou les contrôles en échec ? Cela fusionne le travail.`):q(`Approve this task?`,`Approuver cette tâche ?`),e===`anyway`?q(`Approve anyway`,`Approuver quand même`):q(`Approve`,`Approuver`),`primary`))&&!(f.target!==t||Ye.value)){be.value=!0,xe.value=``;try{await K(e===`approve`||e===`anyway`?`/api/tasks/approve`:`/api/tasks/action`,{machine:t.machine,id:t.id,...e===`approve`||e===`anyway`?{anyway:e===`anyway`}:{action:e}}),je(),await sn()}catch(e){xe.value=e.message}finally{be.value=!1}}}let pn=0,mn=s(null),hn=s(!1),gn=s(``),_n=s(``),vn=s(null),yn,bn=0,xn=0;async function Sn(e){let t=f.target;if(t.kind!==`coordinator`||e!==pn)return;clearTimeout(yn);let n=++xn,r=()=>e===pn&&n===xn;try{let n=new URLSearchParams({machine:t.machine,kind:t.to.kind,...t.to.kind===`project`?{repo:t.to.repo}:{}}),i=await K(`/api/tasks/coordinator?${n}`);if(!r())return;mn.value=i.pane??null,gn.value=i.state??``,_n.value=i.error??``,vn.value=i.queued??null;let a=Ue({pane:mn.value,state:gn.value,error:_n.value});(i.pane&&_e.value.ok&&!_e.value.panes.some(e=>e.id===i.pane)||a===`starting`||Bn.value&&a===`idle`)&&++bn<=40&&(yn=setTimeout(()=>Sn(e),3e3))}catch{r()&&Bn.value&&++bn<=40&&(yn=setTimeout(()=>Sn(e),3e3))}finally{r()&&(hn.value=!0)}}n(()=>{pn++,clearTimeout(yn)});let Cn=e(()=>mn.value&&_e.value.panes.some(e=>e.id===mn.value)?mn.value:null);function wn(){f.target.kind===`coordinator`&&(bn=0,Sn(pn))}let Tn;w(()=>f.target.kind===`coordinator`&&hn.value&&!Cn.value?_e.value.panes.filter(e=>e.agent).map(e=>e.id).join(` `):null,(e,t)=>{e!==null&&t!==null&&e!==t&&(clearTimeout(Tn),Tn=setTimeout(wn,800))}),w(()=>f.target.kind===`coordinator`&&!!mn.value&&_e.value.ok&&!Cn.value,e=>{e&&(clearTimeout(Tn),Tn=setTimeout(wn,800))}),w(()=>f.reachable,(e,t)=>{e&&t===!1&&wn()}),n(()=>clearTimeout(Tn));let En=e(()=>f.target.kind===`task`?I.value:Cn.value),Dn=e(()=>f.target.kind===`task`&&!!I.value&&_e.value.ok&&!_e.value.panes.some(e=>e.id===I.value));w(Dn,e=>{e&&ae(!0)});let On=e(()=>f.target.kind===`coordinator`?Ne(f.target.to,f.machineLabel):``),kn=e(()=>f.target.kind===`coordinator`?ee(f.target.to,f.machineLabel):``),An=e(()=>{let e=On.value;return e?q(`The ${e} coordinator`,`Le coordinateur ${e}`):q(`The Coordinator`,`Le Coordinateur`)}),jn=e(()=>Ue({pane:mn.value,state:gn.value,error:_n.value})),Mn=e(()=>_n.value===wo),Nn=e(()=>Mn.value?q(`Message could not be sent`,`Envoi du message impossible`):q(`Could not start`,`Démarrage impossible`)),Pn=e(()=>{let e=vn.value;return e===null?q(`The message queue status is unavailable.`,`L’état de la file de messages est indisponible.`):e===0?q(`No message is waiting.`,`Aucun message en attente.`):e===1?q(`1 message still waiting: it goes in once it runs.`,`1 message attend toujours : il part dès qu’il tourne.`):q(`${e} messages still waiting: they go in once it runs.`,`${e} messages attendent toujours : ils partent dès qu’il tourne.`)}),Fn=e(()=>{let e=f.target;return e.kind===`task`?f.task?.repo||e.id.split(`/`)[0]||``:e.to.kind===`project`?e.to.repo:``}),In=e(()=>{let e=f.target;return e.kind===`task`?Re(e.id,f.task?.repoKey):``}),Ln=s(``),zn=s(!1),Bn=s(!1),Vn=s(!1);w(()=>JSON.stringify(f.target),()=>{pn++,clearTimeout(yn),clearTimeout(Tn),bn=0,Ln.value=``,Bn.value=!1,zn.value=!1,Vn.value=!1,mn.value=null,hn.value=!1,gn.value=``,_n.value=``,vn.value=null,Sn(pn)},{immediate:!0});async function Hn(){let e=f.target,t=Ln.value.trim();if(e.kind!==`coordinator`||!t||zn.value||!f.reachable)return;let n=pn;zn.value=!0;try{if(await K(`/api/tasks/coordinator`,{machine:e.machine,text:t,to:e.to,...e.freshProject&&g.value!==`__default`?{start:{agent:g.value+(T.value.trim()?`/${T.value.trim()}`:``),...D.value===`__default`?{}:{effort:D.value}}}:{}}),je(),n!==pn)return;Ln.value=``,N(),P(`changed`),Bn.value=!0,gn.value=`starting`,_n.value=``,bn=0,Sn(n)}catch(e){Oe(e.message,!0),n===pn&&Sn(n)}finally{n===pn&&(zn.value=!1)}}async function Un(){let e=f.target;if(e.kind!==`coordinator`||Vn.value||!f.reachable)return;let t=pn;Vn.value=!0;try{if(await K(`/api/tasks/coordinator`,{machine:e.machine,to:e.to,restart:!0}),je(),t!==pn)return;Bn.value=!0,gn.value=`starting`,_n.value=``,bn=0,Sn(t)}catch(e){t===pn&&Oe(e.message,!0)}finally{t===pn&&(Vn.value=!1)}}function Wn(e){e.key===`Escape`&&ye.value&&!e.defaultPrevented&&(document.querySelector(`.hw-sheet`)||P(`close`))}p(()=>window.addEventListener(`keydown`,Wn)),n(()=>window.removeEventListener(`keydown`,Wn));let Gn=s(null),Kn=s(!1),qn;p(()=>{Gn.value=ct()}),w(Gn,e=>{document.documentElement.style.setProperty(`--board-panel-w`,lt(e))},{immediate:!0}),n(()=>{qn?.(),document.documentElement.style.removeProperty(`--board-panel-w`)});function Jn(){return wt.value?.getBoundingClientRect().width||320}function Yn(e){let t=document.getElementById(`board`);Gn.value=ft(e,window.innerWidth-(t?.getBoundingClientRect().left||0))}function Xn(){Gn.value=null,X(null)}function Zn(e){if(e.button!==0)return;e.preventDefault(),qn?.();let t=e.currentTarget,n=e.clientX,r=Jn();t.setPointerCapture(e.pointerId),Kn.value=!0;let i=e=>Yn(r+n-e.clientX),a=()=>{t.removeEventListener(`pointermove`,i),t.removeEventListener(`pointerup`,a),t.removeEventListener(`pointercancel`,a),t.removeEventListener(`lostpointercapture`,a),Kn.value=!1,X(Gn.value),qn=void 0};qn=a,t.addEventListener(`pointermove`,i),t.addEventListener(`pointerup`,a),t.addEventListener(`pointercancel`,a),t.addEventListener(`lostpointercapture`,a)}function Qn(e){if(e.key===`Home`||e.key===`Enter`)return e.preventDefault(),Xn();let t=e.shiftKey?64:16,n=e.key===`ArrowLeft`?t:e.key===`ArrowRight`?-t:0;n&&(e.preventDefault(),Yn(Jn()+n),X(Gn.value))}let $n=e(()=>!ye.value&&le.value?{height:`${se.value}px`,top:`${ue.value}px`}:{});return(e,n)=>{let i=ne,s=te,f=at,p=Wt,x=ut,w=Bt,N=fn,ee=Rn,I=nr,z=la,ie=it,H=ce,ae=st,se=oe;return l(),u(`aside`,{ref_key:`panelEl`,ref:wt,class:v([`board-panel`,{desk:`desk`in e?e.desk:a(ye),expanded:a(ge),resizing:a(Kn)}]),style:b(a($n)),"data-kind":r.target.kind,"aria-label":(`tl`in e?e.tl:a(q))(`Conversation`,`Conversation`)},[(`desk`in e?e.desk:a(ye))&&!a(ge)?(l(),u(`div`,{key:0,class:v([`list-handle panel-handle`,{dragging:a(Kn)}]),role:`separator`,"aria-orientation":`vertical`,tabindex:`0`,"aria-label":(`t`in e?e.t:a(G))(`Ticket panel width`),"aria-valuenow":a(Gn)??Math.round(Jn()),"aria-valuemin":a(320),"aria-valuemax":a(960),title:(`t`in e?e.t:a(G))(`Drag to resize · double-click: default width`),onPointerdown:Zn,onDblclick:Xn,onKeydown:Qn},null,42,va)):c(``,!0),S(`header`,ya,[(`desk`in e?e.desk:a(ye))?c(``,!0):(l(),o(i,{key:0,icon:`i-lucide-chevron-left`,color:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn board-panel-back`,"aria-label":(`tl`in e?e.tl:a(q))(`Back to the Board`,`Retour au Board`),onClick:n[0]||=e=>P(`close`)},null,8,[`aria-label`])),S(`div`,ba,[S(`p`,xa,[S(`span`,Sa,[h(s,{name:`i-lucide-server`}),t(y(r.machineLabel),1)]),a(Fn)?(l(),u(`span`,Ca,y(a(Fn)),1)):c(``,!0),r.target.kind===`task`&&a(Ee).agent?(l(),u(`span`,{key:1,title:a(Pe)},`· `+y(a(Ee).agent),9,wa)):c(``,!0)]),S(`p`,Ta,[r.target.kind===`task`?(l(),u(_,{key:0},[h(f,{agent:a(Ee).agent,title:a(Pe)},null,8,[`agent`,`title`]),h(p,{value:a(In)},null,8,[`value`]),S(`span`,{class:`board-panel-title`,title:a(R)?.title||r.task?.title},y(a(R)?.title||r.task?.title),9,Ea),r.task?(l(),u(`span`,{key:0,class:v([`task-state`,r.task.group])},y((`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(r.task.group)),3)):c(``,!0)],64)):(l(),u(_,{key:1},[h(s,{name:`i-lucide-message-square-text`,class:`board-panel-coord-icon`}),S(`span`,Da,y(a(kn)),1)],64))]),r.target.kind===`task`&&r.task?.chat?(l(),u(`span`,Oa,y((`tl`in e?e.tl:a(q))(`Conversation`,`Conversation`)),1)):c(``,!0),r.target.kind===`task`?(l(),o(x,{key:1,identity:a(Ee)},null,8,[`identity`])):c(``,!0),r.target.kind===`coordinator`?(l(),u(`p`,ka,y((`coordinatorDescription`in e?e.coordinatorDescription:a(F))(r.target.to)),1)):c(``,!0)]),r.target.kind===`task`?(l(),u(_,{key:1},[(`desk`in e?e.desk:a(ye))?(l(),o(i,{key:0,icon:a(ge)?`i-lucide-minimize`:`i-lucide-maximize`,color:`neutral`,variant:`ghost`,class:`icon-btn`,"aria-label":a(ge)?(`tl`in e?e.tl:a(q))(`Exit full screen`,`Quitter le plein écran`):(`tl`in e?e.tl:a(q))(`Full screen`,`Plein écran`),onClick:n[1]||=e=>ge.value=!a(ge)},null,8,[`icon`,`aria-label`])):c(``,!0),h(i,{icon:`i-lucide-ellipsis`,color:`neutral`,variant:`ghost`,class:`icon-btn board-panel-sheet`,"aria-label":(`tl`in e?e.tl:a(q))(`Task details and actions`,`Fiche et actions de la tâche`),onClick:n[2]||=e=>P(`sheet`)},null,8,[`aria-label`])],64)):c(``,!0),(`desk`in e?e.desk:a(ye))?(l(),o(i,{key:2,icon:`i-lucide-x`,color:`neutral`,variant:`ghost`,size:`md`,class:`icon-btn board-panel-close`,"aria-label":(`t`in e?e.t:a(G))(`Close`),onClick:n[3]||=e=>P(`close`)},null,8,[`aria-label`])):c(``,!0)]),r.target.kind===`coordinator`?(l(),u(`div`,Aa,[(l(),o(w,{key:JSON.stringify(r.target),machine:r.target.machine,to:r.target.to,disabled:!r.reachable},null,8,[`machine`,`to`,`disabled`]))])):c(``,!0),r.target.kind===`task`&&a(Jt)?(l(),u(`nav`,{key:2,class:`board-panel-tabs`,"aria-label":(`tl`in e?e.tl:a(q))(`Task views`,`Vues de la tâche`)},[(l(!0),u(_,null,d(a(Xt),n=>(l(),u(`button`,{key:n,type:`button`,class:v({on:a(Zt)===n,"board-panel-tab-reviewer":n===`reviewer`,asks:n===`reviewer`&&a(Ft)===`open`}),"aria-pressed":a(Zt)===n,"aria-label":At(n),"aria-description":n===`task`&&a(nn)?(`tl`in e?e.tl:a(q))(`New task details`,`Nouveaux détails de la tâche`):void 0,title:n===`task`||n===`settings`?void 0:a(n===`reviewer`?Pt:Pe),onClick:e=>$t(n)},[t(y(At(n)),1),n===`task`&&a(nn)?(l(),u(`i`,Na)):c(``,!0)],10,Ma))),128))],8,ja)):c(``,!0),r.target.kind===`task`&&a(J)&&a(Zt)===`chat`?(l(),u(`div`,Pa,[S(`span`,null,y((`tl`in e?e.tl:a(q))(`This is ${(`kindLabel`in e?e.kindLabel:a(he))(a(Ee).agent)}’s conversation. The review runs separately.`,`Conversation de ${(`kindLabel`in e?e.kindLabel:a(he))(a(Ee).agent)}. La relecture tourne séparément.`)),1),a(Nt)&&!(`offlineView`in e?e.offlineView:a(U))?(l(),u(`button`,{key:0,type:`button`,onClick:n[4]||=e=>{Vt.value=`term`,$t(`reviewer`)}},y((`tl`in e?e.tl:a(q))(`Open reviewer terminal`,`Ouvrir le terminal du relecteur`)),1)):a(It)&&!(`offlineView`in e?e.offlineView:a(U))?(l(),u(`button`,{key:1,type:`button`,onClick:Rt},y((`tl`in e?e.tl:a(q))(`Switch to the reviewer session`,`Passer à la session du relecteur`)),1)):c(``,!0)])):c(``,!0),r.target.kind===`task`&&(a(tt)||a(et))?(l(),u(`section`,{key:4,class:v([`task-needs`,{"task-needs-wait":a(Z)}]),"data-kind":a(Z)||void 0,role:`alert`},[a(Z)?(l(),u(`div`,{key:0,class:v([`task-needs-line`,{open:a(xt)}])},[S(`span`,Ia,y(a(Kt)(a(Z))),1),S(`h3`,{ref_key:`waitEl`,ref:St,class:`task-needs-text`,title:a(xt)?void 0:a(pt)},[h(N,{text:a(pt)},null,8,[`text`])],8,La),a(Ct)||a(xt)?(l(),u(`button`,{key:0,type:`button`,class:`task-needs-more`,"aria-expanded":a(xt),"aria-label":a(xt)?(`tl`in e?e.tl:a(q))(`Show less`,`Réduire`):(`tl`in e?e.tl:a(q))(`Show all`,`Tout afficher`),onClick:n[5]||=e=>xt.value=!a(xt)},[h(s,{name:a(xt)?`i-lucide-chevron-up`:`i-lucide-chevron-down`},null,8,[`name`])],8,Ra)):c(``,!0),a(Dt)?(l(),u(`button`,{key:1,type:`button`,class:`task-needs-see`,onClick:Ot},y((`tl`in e?e.tl:a(q))(`See ↓`,`Voir ↓`)),1)):c(``,!0)],2)):(l(),u(_,{key:1},[a(tt)?(l(),u(`h3`,za,[t(y((`tl`in e?e.tl:a(q))(`Needs you`,`À toi`))+` · `,1),h(N,{text:a(Y)},null,8,[`text`])])):(l(),u(`h3`,Ba,y((`tl`in e?e.tl:a(q))(`Finishing`,`Fin en cours`))+` · `+y((`tl`in e?e.tl:a(q))(`its agent is at rest`,`son agent est au repos`)),1)),a(ot)?(l(),u(`pre`,Va,[h(N,{text:a(ot)},null,8,[`text`])])):c(``,!0),a(nt)?.failureNext?(l(),u(`p`,Ha,[h(N,{text:a(nt).failureNext},null,8,[`text`])])):c(``,!0),a(zt)?(l(),u(`p`,{key:4,class:`task-needs-reviewer`,"data-wait":a(Ft)},y(a(zt)),9,Ua)):c(``,!0)],64)),a(Ke)?.list.length?(l(),u(`div`,Wa,[S(`span`,Ga,y((`tl`in e?e.tl:a(q))(`Review findings`,`Remarques de relecture`)),1),S(`ul`,null,[(l(!0),u(_,null,d(a(Ke).list,(e,t)=>(l(),u(`li`,{key:t,"data-severity":e.severity||void 0},[S(`span`,qa,y(kt(e.severity)),1),S(`span`,Ja,y(e.title),1)],8,Ka))),128))]),a(Ke).more?(l(),u(`button`,{key:0,type:`button`,class:`task-needs-findings-more`,onClick:n[6]||=e=>$t(`task`)},y((`tl`in e?e.tl:a(q))(`+${a(Ke).more} more in Task`,`+${a(Ke).more} de plus dans Tâche`)),1)):c(``,!0)])):c(``,!0),a($e)&&a(Xe)?(l(),u(`p`,Ya,y(a(ur)(a(Xe))),1)):c(``,!0),S(`div`,Xa,[a(rt)&&a(Zt)!==`task`?(l(),o(i,{key:0,onClick:n[7]||=e=>$t(`task`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Choose an attempt`,`Choisis un essai`)),1)]),_:1})):c(``,!0),a(Ge)?(l(),o(i,{key:1,class:`task-needs-review`,color:`primary`,icon:`i-lucide-undo-2`,disabled:a(Ye),onClick:n[8]||=e=>dn(`review`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Send the review back to the agent`,`Renvoyer les remarques à l’agent`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(Fe)?.retry?(l(),o(i,{key:2,disabled:a(Ye),onClick:n[9]||=e=>dn(`retry`)},{default:E(()=>[t(y(a(Xe)===`limit`?(`tl`in e?e.tl:a(q))(`Continue`,`Continuer`):(`tl`in e?e.tl:a(q))(`Retry`,`Réessayer`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(Xe)===`limit`?(l(),o(i,{key:3,disabled:a(Ye),onClick:Qe},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Raise limit`,`Relever la limite`)),1)]),_:1},8,[`disabled`])):c(``,!0),a($e)?(l(),o(i,{key:4,class:`task-finish`,title:a(fr)(r.task?.chat),"aria-description":a(fr)(r.task?.chat),disabled:a(Ye),onClick:n[10]||=e=>dn(`finish`)},{default:E(()=>[t(y(a(Xe)===`limit`&&!r.task?.chat?(`tl`in e?e.tl:a(q))(`Take as is`,`Prendre tel quel`):a(dr)(r.task?.chat)),1)]),_:1},8,[`title`,`aria-description`,`disabled`])):c(``,!0),a(ze)?(l(),o(i,{key:5,disabled:a(Ye),onClick:n[11]||=e=>dn(`fix`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Send the error to the agent`,`Envoyer l’erreur à l’agent`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(Fe)?.delegate?(l(),o(i,{key:6,disabled:a(Ye),onClick:n[12]||=e=>dn(`delegate`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Start again`,`Relancer`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(vt)?(l(),u(_,{key:7},[h(i,{class:`task-needs-allow`,color:`primary`,disabled:a(bt),onClick:n[13]||=e=>me(a(ln)(`allow`))},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Allow`,`Autoriser`)),1)]),_:1},8,[`disabled`]),a(Q)?(l(),o(i,{key:0,class:`task-needs-always`,disabled:a(bt),onClick:n[14]||=e=>me(a(ln)(`always`))},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Always allow`,`Toujours autoriser`)),1)]),_:1},8,[`disabled`])):c(``,!0),h(i,{class:`task-needs-refuse`,disabled:a(bt),onClick:n[15]||=e=>me(a(ln)(`refuse`))},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Refuse`,`Refuser`)),1)]),_:1},8,[`disabled`])],64)):c(``,!0),(l(!0),u(_,null,d(a(_t),e=>(l(),o(i,{key:e.reply,class:`task-needs-choice`,title:e.label,disabled:a(bt),onClick:t=>me(e.reply)},{default:E(()=>[t(y(e.label),1)]),_:2},1032,[`title`,`disabled`,`onClick`]))),128)),a(ht)&&!a(_t).length&&!a(vt)?(l(),o(i,{key:8,class:`task-needs-reply`,icon:`i-lucide-corner-down-left`,disabled:`offlineView`in e?e.offlineView:a(U),onClick:Et},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Reply…`,`Répondre…`)),1)]),_:1},8,[`disabled`])):c(``,!0),a(jt)?(l(),u(_,{key:9},[(a(Ft)===`open`||a(Ft)===`quiet`)&&a(Zt)!==`reviewer`?(l(),o(i,{key:0,class:`task-needs-reviewer-open`,color:a(Ft)===`open`?`primary`:void 0,disabled:`offlineView`in e?e.offlineView:a(U),onClick:n[16]||=e=>$t(`reviewer`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Open the reviewer`,`Ouvrir le relecteur`)),1)]),_:1},8,[`color`,`disabled`])):a(Ft)===`hidden`&&a(It)?(l(),o(i,{key:1,class:`task-needs-reviewer-session`,color:`primary`,loading:a(Lt),disabled:`offlineView`in e?e.offlineView:a(U),onClick:Rt},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Switch to that session`,`Passer à cette session`)),1)]),_:1},8,[`loading`,`disabled`])):(a(Ft)===`gone`||a(Ft)===`away`)&&a(Zt)!==`task`?(l(),o(i,{key:2,class:`task-needs-task`,onClick:n[17]||=e=>$t(`task`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Task actions`,`Actions de la tâche`)),1)]),_:1})):c(``,!0)],64)):a(ht)?c(``,!0):(l(),u(_,{key:10},[a(Qt)===`term`&&(!a(Z)||a(Z)===`auth`)?(l(),o(i,{key:0,class:`task-needs-term`,disabled:(`offlineView`in e?e.offlineView:a(U))||!r.reachable,onClick:n[18]||=e=>$t(`term`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Open terminal`,`Ouvrir le terminal`)),1)]),_:1},8,[`disabled`])):a(Qt)===`chat`&&a(Z)!==`auth`?(l(),o(i,{key:1,class:`task-needs-chat`,onClick:n[19]||=e=>$t(`chat`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Answer in the conversation`,`Répondre dans la conversation`)),1)]),_:1})):c(``,!0)],64)),a(Ve)?(l(),o(i,{key:11,class:`task-needs-anyway`,color:a(Ge)?`neutral`:void 0,variant:a(Ge)?`outline`:void 0,disabled:a(Ye),onClick:n[20]||=e=>dn(`anyway`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Approve anyway`,`Approuver quand même`)),1)]),_:1},8,[`color`,`variant`,`disabled`])):a(Fe)?.approve?(l(),o(i,{key:12,disabled:a(Ye),onClick:n[21]||=e=>dn(`approve`)},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Approve`,`Approuver`)),1)]),_:1},8,[`disabled`])):c(``,!0)]),r.reachable?c(``,!0):(l(),u(`p`,Za,y((`tl`in e?e.tl:a(q))(`Machine unavailable`,`Machine indisponible`)),1)),a(xe)?(l(),u(`p`,Qa,y(a(xe)),1)):c(``,!0)],10,Fa)):c(``,!0),r.target.kind===`coordinator`?(l(),o(ee,{key:5,machine:r.target.machine,target:r.target.to,"refresh-key":(r.refreshKey??0)+a(m)},null,8,[`machine`,`target`,`refresh-key`])):c(``,!0),S(`div`,$a,[r.target.kind===`task`&&a(Jt)&&a(re)&&a(Zt)===`task`?(l(),u(`p`,eo,y(a(re)),1)):c(``,!0),r.target.kind===`task`&&a(Jt)?C((l(),o(I,{key:1,machine:r.target.machine,id:r.target.id,active:a(Zt)===`settings`,reachable:r.reachable},null,8,[`machine`,`id`,`active`,`reachable`])),[[j,a(Zt)===`settings`]]):c(``,!0),r.target.kind===`task`&&a(Jt)&&a(Zt)===`task`?(l(),o(z,{key:2,"limit-request":a(Ze),open:a(ve),"onUpdate:open":n[22]||=e=>O(ve)?ve.value=e:null,embedded:``,task:r.task,machine:r.target.machine,reachable:r.reachable,refresh:sn,onChat:n[23]||=e=>$t(`chat`),onCoordinator:n[24]||=(e,t)=>P(`coordinator`,e,t),onArchived:an,onRestored:on},null,8,[`limit-request`,`open`,`task`,`machine`,`reachable`])):a(Zt)===`settings`?(l(),u(_,{key:3},[],64)):r.target.kind===`task`&&a(Zt)===`reviewer`&&a(Mt)?(l(),u(_,{key:4},[S(`div`,to,[S(`span`,no,[t(y((`tl`in e?e.tl:a(q))(`Reviewer`,`Relecteur`)),1),a(Nt)?(l(),u(_,{key:0},[t(` · `+y((`statusLabel`in e?e.statusLabel:a(L))(a(Nt))),1)],64)):c(``,!0)]),a(Nt)&&(`hasChat`in e?e.hasChat:a(fe))(a(Nt))?(l(),u(`button`,{key:0,type:`button`,class:`board-panel-reviewer-mode`,onClick:n[25]||=e=>Vt.value=a(Ht)===`chat`?`term`:`chat`},y(a(Ht)===`chat`?(`t`in e?e.t:a(G))(`Terminal`):(`t`in e?e.t:a(G))(`Conversation`)),1)):c(``,!0)]),(l(),o(ie,{key:`reviewer-${a(Mt)}`,"pane-id":a(Mt),cell:``,active:``,embedded:``,"selected-mode":a(Ht),"onUpdate:selectedMode":n[26]||=e=>Vt.value=e},null,8,[`pane-id`,`selected-mode`]))],64)):a(En)&&(r.target.kind===`coordinator`||a(Zt)===`term`||a(ke))?(l(),o(ie,{key:a(En),"pane-id":a(En),cell:``,active:``,embedded:r.target.kind===`task`,"onUpdate:selectedMode":n[27]||=e=>$t(e),"selected-mode":r.target.kind===`task`?a(Zt)===`term`?`term`:`chat`:void 0},null,8,[`pane-id`,`embedded`,`selected-mode`])):r.target.kind===`task`&&a(B)?(l(),u(`p`,ro,y((`t`in e?e.t:a(G))(`Loading…`)),1)):a(re)?(l(),u(`p`,io,y(a(re)),1)):r.target.kind===`task`?(l(),u(`div`,ao,[S(`h3`,null,y(a(R)?.failureStage===`setup`||a(R)?.failureStage===`start`?(`tl`in e?e.tl:a(q))(`Setup output`,`Sortie du démarrage`):(`tl`in e?e.tl:a(q))(`No agent conversation yet`,`Pas encore de conversation avec l’agent`)),1),a(ot)&&!a(tt)?(l(),u(`pre`,oo,y(a(ot)),1)):c(``,!0),S(`p`,null,y((`tl`in e?e.tl:a(q))(`The terminal stays available when the task has a pane. Task details and actions are in the Task tab.`,`Le terminal reste accessible quand la tâche a un pane. Les détails et actions sont dans l’onglet Tâche.`)),1),a(V)?(l(),u(`form`,{key:1,class:`board-panel-first board-panel-tell`,onSubmit:n[29]||=M(e=>me(),[`prevent`])},[S(`label`,so,y(a(Je)?(`tl`in e?e.tl:a(q))(`The reviewer is waiting for an answer: herdr-projects passes your reply on to it.`,`Le relecteur attend une réponse : herdr-projects lui transmet ta réponse.`):r.task?.stage===`plan`?(`tl`in e?e.tl:a(q))(`Its agent is not running now: your words send the plan back, through herdr-projects.`,`Son agent ne tourne pas en ce moment : tes mots renvoient le plan, par herdr-projects.`):(`tl`in e?e.tl:a(q))(`Its agent is not running now: herdr-projects passes your reply on.`,`Son agent ne tourne pas en ce moment : herdr-projects lui transmet ta réponse.`)),1),r.reachable?c(``,!0):(l(),u(`p`,co,y((`tl`in e?e.tl:a(q))(`${r.machineLabel} cannot be reached now.`,`${r.machineLabel} est injoignable pour l’instant.`)),1)),h(H,{id:`board-panel-tell`,modelValue:a(de),"onUpdate:modelValue":n[28]||=e=>O(de)?de.value=e:null,rows:3,autoresize:``,maxlength:a(qe),placeholder:(`tl`in e?e.tl:a(q))(`Message`,`Message`),disabled:`offlineView`in e?e.offlineView:a(U)},null,8,[`modelValue`,`maxlength`,`placeholder`,`disabled`]),h(i,{type:`submit`,color:`primary`,icon:`i-lucide-send`,loading:a(pe),disabled:!a(de).trim()||(`offlineView`in e?e.offlineView:a(U))||!r.reachable},{default:E(()=>[t(y((`t`in e?e.t:a(G))(`Send`)),1)]),_:1},8,[`loading`,`disabled`])],32)):c(``,!0)])):r.target.kind===`coordinator`&&!a(hn)?(l(),u(`p`,lo,y((`t`in e?e.t:a(G))(`Loading…`)),1)):r.target.kind===`coordinator`?(l(),u(`div`,uo,[a(jn)===`failed`?(l(),u(`section`,{key:0,class:`board-panel-failed`,role:`alert`,"aria-label":a(Nn)},[S(`h4`,null,[h(s,{name:`i-lucide-octagon-alert`}),t(y(a(Nn)),1)]),S(`p`,po,y(a(Mn)?(`tl`in e?e.tl:a(q))(`The message was not sent to ${a(kn)} on ${r.machineLabel}.`,`Le message destiné à ${a(kn)} n’a pas été envoyé sur ${r.machineLabel}.`):(`tl`in e?e.tl:a(q))(`${a(An)} could not start on ${r.machineLabel}.`,`${a(An)} n’a pas pu démarrer sur ${r.machineLabel}.`)),1),S(`p`,mo,y(a(_n)),1),S(`p`,ho,y((`tl`in e?e.tl:a(q))(`Fix this on the machine, then try again.`,`Corrige cela sur la machine, puis réessaie.`))+` `+y(a(Pn)),1),r.reachable?c(``,!0):(l(),u(`p`,go,y((`tl`in e?e.tl:a(q))(`${r.machineLabel} cannot be reached now.`,`${r.machineLabel} est injoignable pour l’instant.`)),1)),h(i,{color:`neutral`,variant:`outline`,icon:`i-lucide-rotate-cw`,loading:a(Vn),disabled:(`offlineView`in e?e.offlineView:a(U))||!r.reachable,onClick:Un},{default:E(()=>[t(y((`t`in e?e.t:a(G))(`Try again`)),1)]),_:1},8,[`loading`,`disabled`])],8,fo)):a(jn)===`live`?(l(),u(`p`,_o,y((`t`in e?e.t:a(G))(`Loading…`)),1)):a(jn)===`starting`?(l(),u(`p`,vo,y(a(Bn)?(`tl`in e?e.tl:a(q))(`Sent. ${a(An)} is starting: its conversation opens here.`,`Envoyé. ${a(An)} démarre : sa conversation s’ouvre ici.`):(`tl`in e?e.tl:a(q))(`${a(An)} is starting: its conversation opens here.`,`${a(An)} démarre : sa conversation s’ouvre ici.`)),1)):(l(),u(`form`,{key:3,class:`board-panel-first`,onSubmit:M(Hn,[`prevent`])},[S(`label`,yo,y((`tl`in e?e.tl:a(q))(`Not started yet: your first message starts it.`,`Pas encore démarré : ton premier message le lance.`)),1),r.reachable?c(``,!0):(l(),u(`p`,bo,y((`tl`in e?e.tl:a(q))(`${r.machineLabel} cannot be reached now: your message waits for it here.`,`${r.machineLabel} est injoignable pour l’instant : ton message l’attend ici.`)),1)),r.target.freshProject&&a(gn)===`none`?(l(),u(_,{key:1},[S(`label`,xo,y((`t`in e?e.t:a(G))(`Agent`)),1),h(ae,{id:`coordinator-agent`,modelValue:a(g),"onUpdate:modelValue":n[30]||=e=>O(g)?g.value=e:null,items:a(k),disabled:a(zn)},null,8,[`modelValue`,`items`,`disabled`]),a(g)===`__default`?c(``,!0):(l(),u(_,{key:0},[S(`label`,So,y((`t`in e?e.t:a(G))(`Model`))+` `+y((`t`in e?e.t:a(G))(`(optional)`)),1),h(se,{id:`coordinator-model`,modelValue:a(T),"onUpdate:modelValue":n[31]||=e=>O(T)?T.value=e:null,disabled:a(zn),autocapitalize:`none`,autocorrect:`off`,spellcheck:!1},null,8,[`modelValue`,`disabled`]),S(`label`,Co,y((`t`in e?e.t:a(G))(`Effort`)),1),h(ae,{id:`coordinator-effort`,modelValue:a(D),"onUpdate:modelValue":n[32]||=e=>O(D)?D.value=e:null,items:a(A),disabled:a(zn)},null,8,[`modelValue`,`items`,`disabled`])],64))],64)):c(``,!0),h(H,{id:`board-panel-first`,modelValue:a(Ln),"onUpdate:modelValue":n[33]||=e=>O(Ln)?Ln.value=e:null,rows:3,autoresize:``,maxlength:a(qe),placeholder:(`tl`in e?e.tl:a(q))(`Message`,`Message`),disabled:`offlineView`in e?e.offlineView:a(U)},null,8,[`modelValue`,`maxlength`,`placeholder`,`disabled`]),h(i,{type:`submit`,color:`primary`,icon:`i-lucide-send`,loading:a(zn),disabled:!a(Ln).trim()||(`offlineView`in e?e.offlineView:a(U))||!r.reachable},{default:E(()=>[t(y((`t`in e?e.t:a(G))(`Send`)),1)]),_:1},8,[`loading`,`disabled`])],32))])):c(``,!0)])],14,_a)}}}),{__name:`BoardPanel`}),Eo=[`machine`,`defaults`,`repo`],Do=[`worker`,`review`,`plan`,`attempts`,`merge`,`limits`,`workspace`,`check`,`modes`,`other`],Oo=[`board`,`coordinator`,`autopilot`,`watcher`,`voice`,`other`];function ko(e){let t=e.split(`.`)[0]??``;return e===`research.only`||e===`chat.only`?`modes`:t===`reviewer`||t===`review`?`review`:t===`limit`?`limits`:[`worker`,`plan`,`attempts`,`merge`,`workspace`,`check`,`board`,`coordinator`,`autopilot`,`watcher`,`voice`].includes(t)?t:`other`}var Ao=[`board`,`coordinator`];function jo(e,t){return t===`machine`?e.filter(e=>Ao.includes(e.kind)):t===`defaults`?e.filter(e=>!Ao.includes(e.kind)&&e.kind!==`repo`):e.filter(e=>!Ao.includes(e.kind))}function Mo(e,t){let n=t===`machine`?Oo:Do,r=jo(e,t);return n.map(e=>({theme:e,rows:r.filter(t=>ko(t.name)===e)})).filter(e=>e.rows.length)}var No=e=>e.place===`repo`||e.place===`file`,Po=e=>e.own===!0;function Fo(e){return e==null?``:Array.isArray(e)?e.map(e=>String(e)).join(`, `):String(e)}var Io=e=>e.split(`/`)[0].trim(),Lo=e=>e.includes(`/`)?e.slice(e.indexOf(`/`)+1):``,Ro={"review.when":[`repos`,`always`,`never`],"review.mustFix":[`critical`,`major`,`minor`,`trivial`],"merge.by":[`you`,`itself`],"merge.checks":[`github`,`none`],"attempts.pick":[`you`,`reviewer`],"plan.approve":[`none`,`you`,`reviewer`],"board.open":[`tab`,`popup`]},zo=[`full`,`ask`],Bo=[`plan.agent`,`coordinator.agent`,`watcher.agent`],Vo=[`worker.instructions`,`reviewer.instructions`,`coordinator.instructions`,`board.notify`,`board.keys`];function Ho(e,t){if(typeof t==`boolean`)return{type:`switch`};if(Ro[e])return{type:`pick`,values:Ro[e]};let[n,r]=e.split(`.`);return r===`access`&&[`worker`,`reviewer`,`coordinator`].includes(n)?{type:`pick`,values:zo}:r===`agent`&&[`worker`,`reviewer`,`coordinator`,`plan`,`watcher`].includes(n)?{type:`agent`,none:Bo.includes(e)}:r===`effort`&&[`worker`,`reviewer`,`coordinator`].includes(n)?{type:`effort`,agent:`${n}.agent`}:{type:`text`,long:Vo.includes(e)}}function Uo(e,t){if(e===`board.agents`)return`boardAgents`;if(t===null)return e===`merge.by`?`mayMergeItself`:e===`merge.checks`?`mayMergeNoChecks`:null;let n=t.trim();return e===`merge.by`&&n===`itself`?`mergeItself`:e===`merge.checks`&&n===`none`?`mergeNoChecks`:e===`review.when`&&n===`never`?`noReview`:e===`coordinator.agent`&&n===`none`?`noCoordinator`:null}function Wo(e){switch(e){case`machine`:return q(`Machine`,`Machine`);case`defaults`:return q(`Defaults`,`Par défaut`);case`repo`:return q(`Repositories`,`Dépôts`)}}function Go(e){switch(e){case`machine`:return q(`The board itself, its Coordinator and its Watcher. Yours only, for this machine.`,`Le board lui-même, son Coordinateur et son Veilleur. À toi seul, pour cette machine.`);case`defaults`:return q(`Your values for every task of this machine. A repository’s entry or a task can say otherwise.`,`Tes valeurs pour toutes les tâches de cette machine. L’entrée d’un dépôt ou une tâche peut dire autrement.`);case`repo`:return q(`Your entry for one repository: what differs there from your defaults.`,`Ton entrée pour un dépôt : ce qui y diffère de tes valeurs par défaut.`)}}function Ko(e){switch(e){case`worker`:return q(`Who works`,`Qui travaille`);case`review`:return q(`Review`,`Relecture`);case`plan`:return q(`Plan`,`Plan`);case`attempts`:return q(`Attempts`,`Essais`);case`merge`:return q(`Merge`,`Fusion`);case`limits`:return q(`Limits`,`Limites`);case`workspace`:return q(`Workspace`,`Espace de travail`);case`check`:return q(`Check`,`Contrôle`);case`modes`:return q(`Research / Conversation`,`Recherche / Conversation`);case`board`:return q(`Board`,`Board`);case`coordinator`:return q(`Coordinator`,`Coordinateur`);case`autopilot`:return q(`Autopilot`,`Pilote automatique`);case`watcher`:return q(`Watcher`,`Veilleur`);case`voice`:return q(`Voice calls`,`Appels vocaux`);case`other`:return q(`Other settings`,`Autres réglages`)}}var qo={"board.agents":[`Agents at once`,`Agents en même temps`],"board.diskFree":[`Free disk to keep`,`Disque libre à garder`],"board.oldBuilds":[`Old builds kept (days)`,`Anciens builds gardés (jours)`],"board.machines":[`Other machines`,`Autres machines`],"board.open":[`What the board key opens`,`Ce qu’ouvre la touche du board`],"board.notify":[`Notification`,`Notification`],"board.keys":[`Your own keys`,`Tes propres touches`],"board.webUi":[`Board in the herdr web UI`,`Board dans l’interface web de herdr`],"board.theme":[`Board colours`,`Couleurs du board`],"coordinator.agent":[`Coordinator agent`,`Agent du Coordinateur`],"coordinator.effort":[`Coordinator effort`,`Effort du Coordinateur`],"coordinator.fast":[`Coordinator fast mode`,`Mode rapide du Coordinateur`],"coordinator.access":[`Coordinator access`,`Accès du Coordinateur`],"coordinator.instructions":[`Coordinator instructions`,`Instructions du Coordinateur`],"watcher.agent":[`Watcher model`,`Modèle du Veilleur`],"watcher.every":[`Watcher interval`,`Intervalle du Veilleur`],"repo.key":[`Repository key`,`Clé du dépôt`]};function Jo(e){let t=qo[e];return t?q(t[0],t[1]):Wn(e)}function Yo(e,t){let n=t?q(` in ${t}`,` dans ${t}`):``;switch(e){case`mergeItself`:return q(`Work${n} will merge by itself, without your yes. Tasks already reviewed will merge right away.`,`Le travail${n} fusionnera tout seul, sans ton accord. Les tâches déjà relues fusionneront tout de suite.`);case`mayMergeItself`:return q(`merge.by goes back to its inherited value${n}. If that value is itself, tasks already reviewed will merge right away.`,`merge.by revient à sa valeur héritée${n}. Si cette valeur est itself, les tâches déjà relues fusionneront tout de suite.`);case`mayMergeNoChecks`:return q(`merge.checks goes back to its inherited value${n}. If that value is none, pull requests will merge without waiting for their GitHub checks, from the next merge on.`,`merge.checks revient à sa valeur héritée${n}. Si cette valeur est none, les pull requests fusionneront sans attendre leurs vérifications GitHub, dès la prochaine fusion.`);case`mergeNoChecks`:return q(`Pull requests${n} will merge without waiting for their GitHub checks, from the next merge on.`,`Les pull requests${n} fusionneront sans attendre leurs vérifications GitHub, dès la prochaine fusion.`);case`noReview`:return q(`Finished work${n} will no longer be reviewed, starting with the tasks finishing now.`,`Le travail fini${n} ne sera plus relu, à commencer par les tâches qui finissent maintenant.`);case`boardAgents`:return q(`This changes how many agents work at once on this machine, right now: tasks in the queue may start at once.`,`Cela change tout de suite le nombre d’agents qui travaillent en même temps sur cette machine : des tâches en file peuvent démarrer aussitôt.`);case`noCoordinator`:return q(`This machine will have no Coordinator: the board’s chat box stops answering.`,`Cette machine n’aura plus de Coordinateur : la zone de discussion du board ne répondra plus.`)}}var Xo=[`data-setting`],Zo={class:`bs-head`},Qo={class:`bs-name`},$o={class:`bs-key`},es={class:`bs-actions`},ts={class:`bs-value`},ns={class:`bs-origin`},rs={key:0},is={key:1,class:`bs-note`},as=[`for`],os=[`for`],ss={key:0,class:`bs-hint`},cs={key:3,class:`bs-hint`},ls=[`for`],us={key:0,class:`bs-hint`},ds={class:`bs-preview`},fs={class:`bs-buttons`},ps={key:1,class:`board-note error bs-error`,role:`alert`},ms=`__default`,hs=Object.assign(Y(m({__name:`BoardSettingRow`,props:{row:{},machine:{},repo:{},agents:{},rows:{},busy:{type:Boolean},error:{},disabled:{type:Boolean},change:{type:Function}},setup(n){let r=n,i=e(()=>Ho(r.row.name,r.row.value)),d=e(()=>Fo(r.row.value)),f=s(!1),p=s(``),m=s(``),g=s(ms),b=s(``),x=e(()=>{let e=i.value;return e.type===`effort`?Fo(r.rows.find(t=>t.name===e.agent)?.value):``}),C=e(()=>i.value.type===`agent`?m.value:i.value.type===`effort`?Io(x.value):``),T=s(null),D=s(!1),k=s(!1),A=0;async function j(e){let t=++A;if(T.value=null,k.value=!1,e&&e!==`none`){D.value=!0;try{let n=await K(`/api/tasks/models?machine=${encodeURIComponent(r.machine)}&program=${encodeURIComponent(e)}`);t===A&&(T.value=n)}catch{t===A&&(k.value=!0)}finally{t===A&&(D.value=!1)}}}w(()=>f.value?C.value:``,e=>{e&&j(e)});let N=(e,t)=>t&&!e.includes(t)?[t,...e]:e,P=e(()=>{let e=i.value,t=N([...r.agents],Io(d.value)===`none`?``:Io(d.value));return[...e.type===`agent`&&e.none?[{label:`none`,value:`none`}]:[],...t.map(e=>({label:e,value:e}))]}),ee=e(()=>{let e=N(T.value?.models??[],Io(d.value)===m.value?Lo(d.value):``);return[{label:q(`Program’s default`,`Modèle par défaut du programme`),value:ms},...e.map(e=>({label:e,value:e}))]}),F=e(()=>!D.value&&m.value!==`none`&&(k.value||T.value!==null&&!T.value.models.length)),te=e(()=>{let e=T.value,t=Lo(x.value),n=e?t?et(e,t):e.efforts:[];return N([`default`,...n],d.value).map(e=>({label:e,value:e}))}),I=e(()=>{let e=i.value,t=e.type===`pick`?e.values:e.type===`switch`?[`true`,`false`]:[];return N(t,d.value).map(e=>({label:e,value:e}))});function L(){p.value=d.value,m.value=Io(d.value)||r.agents[0]||``,g.value=Lo(d.value)||ms,b.value=Lo(d.value),f.value=!0}w(m,(e,t)=>{t&&e!==t&&(g.value=ms,b.value=``)});let R=e(()=>{if(i.value.type!==`agent`)return p.value.trim();if(!m.value||m.value===`none`)return m.value;let e=F.value?b.value.trim():g.value===ms?``:g.value;return e?`${m.value}/${e}`:m.value}),z=e(()=>!!R.value&&R.value!==d.value&&!r.busy&&!r.disabled);async function B(){z.value&&await r.change(R.value)&&(f.value=!1)}async function re(){r.busy||r.disabled||await r.change(null)&&(f.value=!1)}let V=e(()=>`bs-${r.row.name.replace(`.`,`-`)}`);return(e,r)=>{let s=ne,C=st,w=oe,T=ce;return l(),u(`div`,{class:v([`bs-row`,{editing:a(f),own:a(Po)(n.row)}]),"data-setting":n.row.name},[S(`div`,Zo,[S(`p`,Qo,[t(y(a(Jo)(n.row.name)),1),S(`small`,$o,y(n.row.name),1)]),S(`div`,es,[a(Po)(n.row)?(l(),o(s,{key:0,icon:`i-lucide-rotate-ccw`,color:`neutral`,variant:`ghost`,size:`sm`,class:`icon-btn bs-reset`,disabled:n.busy||n.disabled,loading:n.busy&&!a(f),"aria-label":(`tl`in e?e.tl:a(q))(`Back to the inherited value: ${n.row.name}`,`Revenir à la valeur héritée : ${n.row.name}`),title:(`tl`in e?e.tl:a(q))(`Back to the inherited value`,`Revenir à la valeur héritée`),onClick:re},null,8,[`disabled`,`loading`,`aria-label`,`title`])):c(``,!0),a(f)?c(``,!0):(l(),o(s,{key:1,color:`neutral`,variant:`outline`,size:`sm`,class:`bs-edit`,disabled:n.disabled,onClick:L},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Change`,`Modifier`)),1)]),_:1},8,[`disabled`]))])]),S(`p`,ts,y(a(d)||(`tl`in e?e.tl:a(q))(`(empty)`,`(vide)`)),1),S(`p`,ns,[S(`span`,{class:v([`bs-source`,{own:a(Po)(n.row)}])},y(a(Un)(n.row.place)),3),n.row.from?(l(),u(`span`,rs,y(n.row.from),1)):c(``,!0),n.row.note?(l(),u(`span`,is,y(n.row.note),1)):c(``,!0)]),a(f)?(l(),u(`form`,{key:0,class:`bs-editor`,onSubmit:M(B,[`prevent`])},[a(i).type===`agent`?(l(),u(_,{key:0},[S(`label`,{for:`${a(V)}-program`},y((`tl`in e?e.tl:a(q))(`Program`,`Programme`)),9,as),h(C,{id:`${a(V)}-program`,modelValue:a(m),"onUpdate:modelValue":r[0]||=e=>O(m)?m.value=e:null,items:a(P),size:`md`,class:`bs-field`},null,8,[`id`,`modelValue`,`items`]),a(m)&&a(m)!==`none`?(l(),u(_,{key:0},[S(`label`,{for:`${a(V)}-model`},y((`tl`in e?e.tl:a(q))(`Model`,`Modèle`)),9,os),a(D)?(l(),u(`p`,ss,y((`tl`in e?e.tl:a(q))(`Reading models…`,`Lecture des modèles…`)),1)):a(F)?(l(),o(w,{key:1,id:`${a(V)}-model`,modelValue:a(b),"onUpdate:modelValue":r[1]||=e=>O(b)?b.value=e:null,size:`md`,class:`bs-field`,placeholder:(`tl`in e?e.tl:a(q))(`Program’s default`,`Modèle par défaut du programme`)},null,8,[`id`,`modelValue`,`placeholder`])):(l(),o(C,{key:2,id:`${a(V)}-model`,modelValue:a(g),"onUpdate:modelValue":r[2]||=e=>O(g)?g.value=e:null,items:a(ee),size:`md`,class:`bs-field`},null,8,[`id`,`modelValue`,`items`])),a(F)?(l(),u(`p`,cs,y((`tl`in e?e.tl:a(q))(`herdr-projects did not list models for this program here: type one, or leave it empty.`,`herdr-projects n’a pas listé de modèles pour ce programme ici : tape un nom, ou laisse vide.`)),1)):c(``,!0)],64)):c(``,!0)],64)):a(i).type===`effort`?(l(),u(_,{key:1},[S(`label`,{for:`${a(V)}-v`},y((`tl`in e?e.tl:a(q))(`Effort for ${a(x)||`?`}`,`Effort pour ${a(x)||`?`}`)),9,ls),a(D)?(l(),u(`p`,us,y((`tl`in e?e.tl:a(q))(`Reading efforts…`,`Lecture des efforts…`)),1)):(l(),o(C,{key:1,id:`${a(V)}-v`,modelValue:a(p),"onUpdate:modelValue":r[3]||=e=>O(p)?p.value=e:null,items:a(te),size:`md`,class:`bs-field`},null,8,[`id`,`modelValue`,`items`]))],64)):a(i).type===`switch`||a(i).type===`pick`?(l(),o(C,{key:2,id:`${a(V)}-v`,modelValue:a(p),"onUpdate:modelValue":r[4]||=e=>O(p)?p.value=e:null,items:a(I),size:`md`,class:`bs-field`,"aria-label":n.row.name},null,8,[`id`,`modelValue`,`items`,`aria-label`])):a(i).long?(l(),o(T,{key:3,id:`${a(V)}-v`,modelValue:a(p),"onUpdate:modelValue":r[5]||=e=>O(p)?p.value=e:null,rows:4,autoresize:``,maxrows:12,class:`bs-field`,"aria-label":n.row.name},null,8,[`id`,`modelValue`,`aria-label`])):(l(),o(w,{key:4,id:`${a(V)}-v`,modelValue:a(p),"onUpdate:modelValue":r[6]||=e=>O(p)?p.value=e:null,size:`md`,class:`bs-field`,"aria-label":n.row.name},null,8,[`id`,`modelValue`,`aria-label`])),S(`p`,ds,[t(y((`tl`in e?e.tl:a(q))(`Sends`,`Envoie`))+` · `,1),S(`code`,null,`herdr-projects set `+y(n.row.name)+` `+y(a(R)||`…`)+y(n.repo?` --repo ${n.repo}`:``),1)]),S(`div`,fs,[h(s,{color:`neutral`,variant:`ghost`,size:`sm`,disabled:n.busy,onClick:r[7]||=e=>f.value=!1},{default:E(()=>[t(y((`t`in e?e.t:a(G))(`Cancel`)),1)]),_:1},8,[`disabled`]),h(s,{type:`submit`,color:`primary`,variant:`solid`,size:`sm`,class:`hw-cta bs-save`,disabled:!a(z),loading:n.busy},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Save`,`Enregistrer`)),1)]),_:1},8,[`disabled`,`loading`])])],32)):c(``,!0),n.error?(l(),u(`p`,ps,y(n.error),1)):c(``,!0)],10,Xo)}}}),[[`__scopeId`,`data-v-3bb8d261`]]),{__name:`BoardSettingRow`}),gs=[`aria-label`],_s={class:`board-panel-head`},vs={class:`board-panel-who`},ys={class:`board-panel-path`},bs={class:`board-panel-machine`},xs={key:0,class:`board-panel-repo`},Ss={class:`board-panel-name`},Cs={class:`board-panel-title`},ws={class:`board-settings-switch-label`},Ts={key:0,class:`board-settings-body`},Es={class:`board-settings-hint`},Ds={class:`board-settings-machines`},Os=[`disabled`,`onClick`],ks={key:0},As={key:0,class:`board-empty`},js=[`aria-label`],Ms=[`aria-pressed`,`onClick`],Ns={class:`board-settings-body`},Ps={class:`board-settings-hint`},Fs={key:0,class:`board-settings-repo`},Is={key:1,class:`board-settings-diff`},Ls={key:2,class:`board-empty`},Rs={key:1,class:`board-note`,role:`status`},zs={key:2,class:`board-empty`,role:`status`},Bs={key:3,role:`alert`,class:`board-note error`},Vs={key:0,class:`board-empty`},Hs=[`data-theme`],Us=Object.assign(Y(m({__name:`BoardSettings`,props:{target:{},repos:{},machineLabel:{type:Function},reachable:{type:Function}},emits:[`close`,`changed`],setup(r,{emit:i}){let f=r,m=i,g=s(f.target.machine??(f.target.machines.length===1?f.target.machines[0]:null)),x=s(f.target.repo?`repo`:`machine`),T=e(()=>{let e=g.value,t=e===null?[]:f.repos[e]??[];return f.target.repo&&!t.includes(f.target.repo)?[f.target.repo,...t]:t}),D=s(f.target.repo??``);w(T,e=>{e.includes(D.value)||(D.value=e[0]??``)},{immediate:!0});let k=s(!0),j=s(``),M=s({}),N=s(null),P=s(null),ee=s(!1),F=s(``),I=e(()=>x.value===`repo`?D.value:``),L=e(()=>x.value===`repo`?P.value?.repo===D.value?P.value:null:N.value),R=e(()=>g.value===null||!f.reachable(g.value)||U.value),B=0;async function re(){let e=g.value;if(e===null||R.value||x.value===`repo`&&!D.value)return;let t=I.value,n=++B;ee.value=!0,F.value=``;try{let r=await K(`/api/tasks/board-settings?machine=${encodeURIComponent(e)}${t?`&repo=${encodeURIComponent(t)}`:``}`);if(n!==B)return;t?P.value=r:N.value=r}catch(e){n===B&&(F.value=e.message)}finally{n===B&&(ee.value=!1)}}w([g,x,D,R],()=>{M.value={},L.value||re()},{immediate:!0}),w(g,()=>{N.value=null,P.value=null},{flush:`sync`});let V=e(()=>L.value?.settings??[]),ie=e(()=>{let e=Mo(V.value,x.value);return x.value!==`repo`||!k.value?e:e.map(e=>({...e,rows:e.rows.filter(No)})).filter(e=>e.rows.length)}),H=e(()=>x.value===`repo`&&k.value?Mo(V.value,`repo`).reduce((e,t)=>e+t.rows.filter(e=>!No(e)).length,0):0);async function ae(e,t){let n=g.value;if(n===null||j.value||R.value)return!1;let r=I.value,i=Uo(e.name,t);if(i&&!await z(Yo(i,r),t===null?q(`Go back`,`Revenir`):q(`Change`,`Modifier`),`error`,t===null?`herdr-projects unset ${e.name}${r?` --repo ${r}`:``}`:`herdr-projects set ${e.name} ${t}${r?` --repo ${r}`:``}`))return!1;j.value=e.name;let{[e.name]:a,...o}=M.value;M.value=o;try{let i=await K(`/api/tasks/board-settings`,{machine:n,name:e.name,repo:r,...t===null?{unset:!0}:{value:t}});return g.value!==n||(r?P.value=i:(N.value=i,P.value=null),je(),Oe(i.msg||q(`Saved`,`Enregistré`)),m(`changed`,n),!0)}catch(t){return M.value={...M.value,[e.name]:t.message},g.value===n&&I.value===r&&re(),!1}finally{j.value=``}}let oe=e(()=>g.value===null?q(`Board settings`,`Réglages du board`):`${q(`Board settings`,`Réglages du board`)} · ${f.machineLabel(g.value)}`);function ce(e){e.key===`Escape`&&ye.value&&!e.defaultPrevented&&(document.querySelector(`.hw-sheet`)||m(`close`))}p(()=>{window.addEventListener(`keydown`,ce),document.documentElement.style.setProperty(`--board-panel-w`,lt(ct()))}),n(()=>{window.removeEventListener(`keydown`,ce),document.documentElement.style.removeProperty(`--board-panel-w`)});let de=e(()=>!ye.value&&le.value?{height:`${se.value}px`,top:`${ue.value}px`}:{}),fe=e(()=>T.value.map(e=>({label:e,value:e})));return(e,n)=>{let i=ne,s=te,f=st,p=hs;return l(),u(`aside`,{class:v([`board-panel board-settings`,{desk:`desk`in e?e.desk:a(ye)}]),style:b(a(de)),"data-kind":`settings`,"aria-label":a(oe)},[S(`header`,_s,[(`desk`in e?e.desk:a(ye))?c(``,!0):(l(),o(i,{key:0,icon:`i-lucide-chevron-left`,color:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn board-panel-back`,"aria-label":(`tl`in e?e.tl:a(q))(`Back to the Board`,`Retour au Board`),onClick:n[0]||=e=>m(`close`)},null,8,[`aria-label`])),S(`div`,vs,[S(`p`,ys,[S(`span`,bs,[h(s,{name:`i-lucide-server`}),t(y(a(g)===null?(`tl`in e?e.tl:a(q))(`Choose a machine`,`Choisis une machine`):r.machineLabel(a(g))),1)]),a(x)===`repo`&&a(D)&&a(g)!==null?(l(),u(`span`,xs,y(a(D)),1)):c(``,!0)]),S(`h2`,Ss,[h(s,{name:`i-lucide-settings`,class:`board-settings-icon`}),S(`span`,Cs,y(a(oe)),1)])]),a(g)!==null&&r.target.machines.length>1?(l(),o(i,{key:1,color:`neutral`,variant:`outline`,size:`sm`,class:`board-settings-switch`,icon:`i-lucide-arrow-left-right`,"aria-label":(`tl`in e?e.tl:a(q))(`Another machine`,`Autre machine`),onClick:n[1]||=e=>g.value=null},{default:E(()=>[S(`span`,ws,y((`tl`in e?e.tl:a(q))(`Machine`,`Machine`)),1)]),_:1},8,[`aria-label`])):c(``,!0),(`desk`in e?e.desk:a(ye))?(l(),o(i,{key:2,icon:`i-lucide-x`,color:`neutral`,variant:`ghost`,size:`md`,class:`icon-btn board-panel-close`,"aria-label":(`t`in e?e.t:a(G))(`Close`),onClick:n[2]||=e=>m(`close`)},null,8,[`aria-label`])):c(``,!0)]),a(g)===null?(l(),u(`div`,Ts,[S(`p`,Es,y((`tl`in e?e.tl:a(q))(`Each machine has its own board settings. Which one?`,`Chaque machine a ses propres réglages du board. Laquelle ?`)),1),S(`ul`,Ds,[(l(!0),u(_,null,d(r.target.machines,t=>(l(),u(`li`,{key:t||`local`},[S(`button`,{type:`button`,disabled:!r.reachable(t),onClick:e=>g.value=t},[h(s,{name:`i-lucide-server`}),S(`span`,null,y(r.machineLabel(t)),1),r.reachable(t)?c(``,!0):(l(),u(`small`,ks,y((`tl`in e?e.tl:a(q))(`cannot be read now`,`illisible pour l’instant`)),1)),h(s,{name:`i-lucide-chevron-right`,class:`board-settings-go`})],8,Os)]))),128))]),r.target.machines.length?c(``,!0):(l(),u(`p`,As,y((`tl`in e?e.tl:a(q))(`No machine with a board here.`,`Aucune machine avec un board ici.`)),1))])):(l(),u(_,{key:1},[S(`nav`,{class:`board-panel-tabs`,"aria-label":(`tl`in e?e.tl:a(q))(`Board settings`,`Réglages du board`)},[(l(!0),u(_,null,d(a(Eo),e=>(l(),u(`button`,{key:e,type:`button`,class:v({on:a(x)===e}),"aria-pressed":a(x)===e,onClick:t=>x.value=e},y(a(Wo)(e)),11,Ms))),128))],8,js),S(`div`,Ns,[S(`p`,Ps,y(a(Go)(a(x))),1),a(x)===`repo`?(l(),u(`div`,Fs,[a(fe).length?(l(),o(f,{key:0,modelValue:a(D),"onUpdate:modelValue":n[3]||=e=>O(D)?D.value=e:null,items:a(fe),size:`md`,class:`board-settings-repo-pick`,"aria-label":(`tl`in e?e.tl:a(q))(`Repository`,`Dépôt`)},null,8,[`modelValue`,`items`,`aria-label`])):c(``,!0),a(fe).length?(l(),u(`label`,Is,[C(S(`input`,{"onUpdate:modelValue":n[4]||=e=>O(k)?k.value=e:null,type:`checkbox`},null,512),[[A,a(k)]]),t(y((`tl`in e?e.tl:a(q))(`Only what differs`,`Seulement ce qui diffère`)),1)])):(l(),u(`p`,Ls,y((`tl`in e?e.tl:a(q))(`No repository on this board yet.`,`Aucun dépôt sur ce board pour l’instant.`)),1))])):c(``,!0),a(R)?(l(),u(`p`,Rs,y((`tl`in e?e.tl:a(q))(`Machine offline. Settings cannot be read.`,`Machine hors ligne. Impossible de lire les réglages.`)),1)):a(ee)&&!a(L)?(l(),u(`p`,zs,y((`t`in e?e.t:a(G))(`Loading…`)),1)):a(F)&&!a(L)?(l(),u(`div`,Bs,[S(`p`,null,y((`tl`in e?e.tl:a(q))(`Could not read settings`,`Impossible de lire les réglages`))+` · `+y(a(F)),1),h(i,{color:`neutral`,variant:`outline`,onClick:re},{default:E(()=>[t(y((`tl`in e?e.tl:a(q))(`Retry`,`Réessayer`)),1)]),_:1})])):a(L)?(l(),u(_,{key:4},[(l(!0),u(_,null,d(a(L).problems,(e,t)=>(l(),u(`p`,{key:t,class:`board-note error`,role:`alert`},y(e),1))),128)),a(x)===`repo`&&a(k)&&!a(ie).length?(l(),u(`p`,Vs,y((`tl`in e?e.tl:a(q))(`Nothing differs here: this repository follows your defaults.`,`Rien ne diffère ici : ce dépôt suit tes valeurs par défaut.`)),1)):c(``,!0),(l(!0),u(_,null,d(a(ie),e=>(l(),u(`section`,{key:e.theme,class:`board-settings-group`,"data-theme":e.theme},[S(`h3`,null,y(a(Ko)(e.theme)),1),(l(!0),u(_,null,d(e.rows,e=>(l(),o(p,{key:`${a(I)}|${e.name}`,row:e,rows:a(V),machine:a(g),repo:a(I),agents:a(L).agents,busy:a(j)===e.name,disabled:!!(a(j)&&a(j)!==e.name)||a(R),error:a(M)[e.name],change:t=>ae(e,t)},null,8,[`row`,`rows`,`machine`,`repo`,`agents`,`busy`,`disabled`,`error`,`change`]))),128))],8,Hs))),128)),a(H)?(l(),u(`button`,{key:1,type:`button`,class:`board-more`,onClick:n[5]||=e=>k.value=!1},y((`tl`in e?e.tl:a(q))(`Show the ${a(H)} inherited settings`,`Afficher les ${a(H)} réglages hérités`)),1)):c(``,!0)],64)):c(``,!0)])],64))],14,gs)}}}),[[`__scopeId`,`data-v-491ed818`]]),{__name:`BoardSettings`}),Ws={class:`field-label`},Gs=[`data-machine`,`onClick`],Ks={class:`machine-choice-name`},qs={class:`field-label`,for:`new-task-repo`},Js={class:`field-label`,for:`new-task-title`},Ys={class:`field-label`,for:`new-task-desc`},Xs={class:`muted`},Zs={class:`toggle-row`},Qs={class:`sheet-form`},$s={key:0,class:`form-error`},ec=`\0home`,tc=`\0other`,nc=Object.assign(m({__name:`NewTaskSheet`,props:T({machines:{},repos:{},machine:{},repo:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:T([`added`],[`update:open`]),setup(n,{emit:r}){let i=n,f=r,p=g(n,`open`),m=s(``),x=s(ec),C=s(``),T=s(``),D=s(``),k=s(!1),A=s(!1),j=s(``),N=e(()=>[{label:q(`Home folder`,`Dossier personnel`),value:ec},...(i.repos[m.value]||[]).map(e=>({label:e,value:e})),{label:q(`Other repo or folder…`,`Autre dépôt ou dossier…`),value:tc}]),P=e(()=>x.value===tc?C.value.trim():x.value===ec?``:x.value),ee=e(()=>tt(P.value)!==null&&(x.value!==tc||!!P.value));w(p,e=>{e&&(m.value=i.machine&&i.machines.includes(i.machine)?i.machine:i.machines[0]??``,x.value=i.repo||ec,C.value=``,T.value=``,D.value=``,k.value=!1,j.value=``)},{immediate:!0}),w(m,()=>{x.value!==tc&&x.value!==ec&&!(i.repos[m.value]||[]).includes(x.value)&&(x.value=ec)});async function F(){if(!A.value&&T.value.trim()){if(!ee.value){j.value=q(`A repo’s name, or a folder’s path (/… or ~/…)`,`Le nom d’un dépôt, ou le chemin d’un dossier (/… ou ~/…)`);return}A.value=!0,j.value=``;try{let e=await K(`/api/tasks/add`,{machine:m.value,title:T.value,description:D.value,repo:P.value,delegate:k.value});je(),Oe(e.msg||(k.value?q(`Added, an agent is on it`,`Ajoutée, un agent s’en occupe`):q(`Added to To do`,`Ajoutée à À faire`))),f(`added`,m.value),p.value=!1}catch(e){j.value=e.message}finally{A.value=!1}}}return(e,r)=>{let i=st,s=oe,f=ce,g=pt,w=ne,P=ie;return l(),o(P,{open:p.value,"onUpdate:open":r[5]||=e=>p.value=e,title:(`tl`in e?e.tl:a(q))(`New task`,`Nouvelle tâche`),tall:``},{footer:E(()=>[S(`div`,Qs,[a(j)?(l(),u(`p`,$s,y(a(j)),1)):c(``,!0),h(w,{block:``,size:`xl`,color:`primary`,class:`launch-btn hw-cta`,icon:a(k)?`i-lucide-play`:`i-lucide-plus`,loading:a(A),disabled:!a(T).trim()||!a(m)&&n.machines.length===0||(`offlineView`in e?e.offlineView:a(U)),onClick:F},{default:E(()=>[t(y(a(k)?(`tl`in e?e.tl:a(q))(`Add and start`,`Ajouter et lancer`):(`tl`in e?e.tl:a(q))(`Add to To do`,`Ajouter à À faire`)),1)]),_:1},8,[`icon`,`loading`,`disabled`])])]),default:E(()=>[S(`form`,{class:`sheet-form new-task`,onSubmit:M(F,[`prevent`])},[n.machines.length>1?(l(),u(_,{key:0},[S(`span`,Ws,y((`t`in e?e.t:a(G))(`Machine`)),1),S(`div`,{class:`segmented`,style:b({"--segment-count":n.machines.length})},[(l(!0),u(_,null,d(n.machines,t=>(l(),u(`button`,{key:t,type:`button`,class:v({on:t===a(m)}),"data-machine":t||`local`,onClick:e=>m.value=t},[S(`span`,Ks,y((`machineName`in e?e.machineName:a(xe))(t)||(`hostLabel`in e?e.hostLabel:a(ge))||(`t`in e?e.t:a(G))(`This machine`)),1)],10,Gs))),128))],4)],64)):c(``,!0),S(`label`,qs,y((`tl`in e?e.tl:a(q))(`Repo`,`Dépôt`)),1),h(i,{id:`new-task-repo`,modelValue:a(x),"onUpdate:modelValue":r[0]||=e=>O(x)?x.value=e:null,items:a(N),size:`xl`,class:`w-full`,ui:{content:`z-[30]`}},null,8,[`modelValue`,`items`]),a(x)===tc?(l(),o(s,{key:1,modelValue:a(C),"onUpdate:modelValue":r[1]||=e=>O(C)?C.value=e:null,size:`xl`,class:`w-full mono`,autocapitalize:`none`,autocorrect:`off`,spellcheck:!1,placeholder:(`tl`in e?e.tl:a(q))(`Repo name, or /path/to/folder`,`Nom du dépôt, ou /chemin/du/dossier`),maxlength:`500`,"aria-label":(`tl`in e?e.tl:a(q))(`Repo or folder`,`Dépôt ou dossier`)},null,8,[`modelValue`,`placeholder`,`aria-label`])):c(``,!0),S(`label`,Js,y((`tl`in e?e.tl:a(q))(`Title`,`Titre`)),1),h(s,{id:`new-task-title`,modelValue:a(T),"onUpdate:modelValue":r[2]||=e=>O(T)?T.value=e:null,size:`xl`,class:`w-full`,maxlength:a(300),enterkeyhint:`next`,placeholder:(`tl`in e?e.tl:a(q))(`E.g. Dark mode toggle in Settings`,`Ex. Bouton de thème sombre dans les réglages`)},null,8,[`modelValue`,`maxlength`,`placeholder`]),S(`label`,Ys,[t(y((`tl`in e?e.tl:a(q))(`Description`,`Description`))+` `,1),S(`span`,Xs,y((`t`in e?e.t:a(G))(`(optional)`)),1)]),h(f,{id:`new-task-desc`,modelValue:a(D),"onUpdate:modelValue":r[3]||=e=>O(D)?D.value=e:null,rows:4,autoresize:``,maxrows:12,size:`xl`,class:`w-full`,maxlength:a(qe),placeholder:(`tl`in e?e.tl:a(q))(`What the agent needs to know: the goal, where to look, how to check it`,`Ce que l’agent doit savoir : le but, où regarder, comment vérifier`)},null,8,[`modelValue`,`maxlength`,`placeholder`]),S(`label`,Zs,[S(`span`,null,[S(`b`,null,y((`tl`in e?e.tl:a(q))(`Start now`,`Lancer tout de suite`)),1),S(`small`,null,y(a(k)?(`tl`in e?e.tl:a(q))(`an agent is put on it at once`,`un agent s’en occupe tout de suite`):(`tl`in e?e.tl:a(q))(`it waits under To do until you start it`,`elle attend dans À faire jusqu’à ce que tu la lances`)),1)]),h(g,{modelValue:a(k),"onUpdate:modelValue":r[4]||=e=>O(k)?k.value=e:null,color:`success`,size:`xl`},null,8,[`modelValue`])]),r[6]||=S(`button`,{type:`submit`,hidden:``},null,-1)],32)]),_:1},8,[`open`,`title`])}}}),{__name:`NewTaskSheet`}),rc=`\0local`,ic=e=>e===``?rc:e,ac=e=>e===`\0local`?``:e||`*`,oc=e=>e.startsWith(`*group:`);function sc(e,t,n,r=[],i=`Groups`,a=`Machines`){let o={label:n,value:`*`},s=e.map(e=>({label:t(e),value:ic(e)}));return r.length?[o,{type:`separator`},{type:`label`,label:i},...r.map(e=>({label:e.name,value:e.id,icon:`i-lucide-group`})),{type:`separator`},{type:`label`,label:a},...s]:[o,...s]}function cc(e,t,n){return e===`*`?`*`:oc(e)?n.some(t=>t.id===e)?e:`*`:t.includes(e)?e:`*`}function lc(e,t){return e===`*`?null:oc(e)?t.find(t=>t.id===e)?.machines??null:[e]}function uc(e,t,n){return t||(e===``?n:e)}function dc(e,t,n){let r=lc(e,n);return r===null?[...t]:t.filter(e=>r.includes(e))}var fc=`boardDone`,pc=e=>e===`1`,mc=e=>e?`1`:`0`,hc=e=>Ze.filter(t=>e||t!==`done`),gc=(e,t)=>e===`done`&&!t?`needs`:e;function _c(e,t,n,r){let i=e===`done`&&!n?t.slice(0,r):t;return{cards:i,hidden:t.length-i.length}}var vc=e=>[...e].sort((e,t)=>Ve(e.task,t.task)),yc={class:`top bar board-top`},bc={class:`board-new-label`},xc={key:0,class:`board-autopilots`},Sc={key:0,class:`board-autopilots-machine`},Cc={key:1,class:`notice board-notice`},wc={key:2,class:`board-empty board-loading`},Tc={key:3,class:`board-notes`},Ec={key:0,class:`board-note`,role:`status`},Dc={class:`board-tools`},Oc=[`aria-label`],kc=[`aria-pressed`],Ac=[`aria-pressed`],jc={class:`board-grouping board-archived-toggle`},Mc=[`aria-pressed`,`disabled`],Nc=[`aria-label`],Pc=[`aria-pressed`,`onClick`],Fc=[`aria-pressed`,`aria-label`,`title`],Ic={key:0,class:`board-grid-head`},Lc={class:`pp-count`},Rc=[`aria-pressed`,`aria-label`,`title`],zc={key:1,class:`board-cols board-cells`},Bc=[`aria-label`],Vc={class:`board-col-body`},Hc={key:0,class:`board-empty`},Uc=[`data-machine`],Wc=[`aria-expanded`,`aria-label`,`onClick`],Gc={class:`board-head-name`},Kc={class:`board-head-sum`},qc={key:0,class:`board-head-done`},Jc={class:`board-head-actions`},Yc=[`data-repo`],Xc=[`aria-expanded`,`aria-label`,`onClick`],Zc={class:`board-head-name`},Qc={class:`board-head-sum`},$c={key:0,class:`board-head-done`},el={class:`board-head-actions`},tl={key:0,class:`board-repo-cols board-cells`},nl=[`data-group`,`aria-label`],rl={class:`board-repo-col-body`},il={key:0,class:`board-empty`},al={key:0,class:`board-empty board-machine-empty`},ol=[`aria-label`],sl={class:`board-col-head archived`},cl={class:`pp-count`},ll={key:0},ul={class:`board-archived-body`},dl={key:0,class:`board-empty`},fl={key:1,class:`board-empty`},pl=`boardColumn`,ml=`boardMachine`,hl=`boardGrouping`,gl=`boardFolds`,_l=Object.assign(Y(m({__name:`BoardView`,setup(i){let f=re(),m=B(),{board:g,error:x,reads:T,reload:D}=wr(),k=s(0),A=I(),M=e=>{try{return localStorage.getItem(e)}catch{return null}},N=(e,t)=>{try{localStorage.setItem(e,t)}catch{}},L=e(()=>(g.value?.machines||[]).filter(e=>e.status===`ready`)),R=e(()=>(g.value?.machines||[]).filter(e=>e.error||e.stale)),z=e=>uc(e,xe(e),ge.value||G(`This machine`)),ie=e=>e?new Date(e).toLocaleTimeString(ve===`fr`?`fr-FR`:`en-US`,{hour:`2-digit`,minute:`2-digit`}):``,H=e(()=>(g.value?.machines||[]).filter(e=>e.status===`missing`||e.status===`old`)),oe=e(()=>(g.value?.machines||[]).filter(e=>e.status===`disabled`)),se=e(()=>(g.value?.machines.length||0)>1),ce=e(()=>(g.value?.machines||[]).filter(e=>e.status===`ready`||e.tasks.length)),le=s(ac(M(ml))),ue=e(()=>cc(le.value,ce.value.map(e=>e.machine),ot.value)),de=e(()=>lc(ue.value,ot.value)),fe=e=>de.value===null||de.value.includes(e),me=e(()=>se.value&&(de.value===null||de.value.length>1)),he=e(()=>sc(ce.value.map(e=>e.machine),z,q(`All machines`,`Toutes les machines`),ot.value,q(`Groups`,`Groupes`),q(`Machines`,`Machines`)));function _e(e){le.value=ac(e),N(ml,e)}let be=e(()=>ce.value.filter(e=>fe(e.machine))),W=pe(hl,e=>[`global`,`status`].includes(e||``)?`global`:`repo`,e=>e);function Se(e){W.value=e}let Ce=(e,t)=>({key:`${e.machine}|${t.id}`,machine:e.machine,task:t,stale:!!(e.stale||t.stale),readAt:t.stale?t.readAt:e.at}),we=r(new Set),Te=(e,t)=>{let n=new Set(we.value);t?n.add(e):n.delete(e),we.value=n};w(g,e=>{if(!e||!we.value.size)return;let t=new Set(e.machines.flatMap(e=>e.tasks.filter(e=>!e.archived).map(t=>`${e.machine}|${t.id}`))),n=[...we.value].filter(e=>t.has(e));n.length!==we.value.size&&(we.value=new Set(n))});let Ee=e(()=>ce.value.flatMap(e=>Ye(e.tasks.filter(t=>!t.archived&&!we.value.has(`${e.machine}|${t.id}`))).map(t=>Ce(e,t)))),De=e(()=>Ee.value.filter(e=>fe(e.machine))),J=pe(fc,pc,mc),ke=s(!1),Ae=e(()=>De.value.filter(e=>e.task.group===`done`).length);function Me(){J.value=!J.value,J.value?qe.value||$e(`done`):ke.value=!1,je()}let Ne=e(()=>J.value?q(`Hide done tasks`,`Masquer les tâches faites`):q(`Show done tasks (${Ae.value})`,`Afficher les tâches faites (${Ae.value})`)),Pe=e(()=>hc(J.value)),Ie=e(()=>Pe.value.map(e=>{let t=De.value.filter(t=>t.task.group===e),n=e===`done`?vc(t):t;return{id:e,label:dt(e),total:n.length,..._c(e,n,ke.value,5)}})),Le=e(()=>({"--board-cols":`repeat(${Ie.value.length}, minmax(0, 1fr))`})),ze=pe(gl,e=>{try{let t=JSON.parse(e||`[]`);return new Set(Array.isArray(t)?t.map(String):[])}catch{return new Set}},e=>JSON.stringify([...e].slice(-200)));function Be(e){let t=new Set(ze.value);t.delete(e)||t.add(e),ze.value=t}function Ve(e){let t=Fe(e),n=[`needs`,`ready`,`working`,`todo`].filter(e=>t[e]).map(e=>`${t[e]} ${dt(e).toLowerCase()}`),r=t.done?q(`${t.done} done`,`${t.done} fait${t.done>1?`s`:``}`):``;return{main:n.join(` · `)||(r?``:q(`no task`,`aucune tâche`)),done:r}}let He=e(()=>be.value.map(e=>{let t=e.tasks.filter(t=>!t.archived&&!we.value.has(`${e.machine}|${t.id}`));return{machine:e.machine,summary:Ve(t),repos:[...new Set([...t.map(e=>e.repo),...(A.value.find(t=>t.machine===e.machine)?.repos||[]).map(e=>e.repo)])].sort().map(n=>{let r=Ye(t.filter(e=>e.repo===n)),i=Pe.value.map(t=>{let n=r.filter(e=>e.group===t).map(t=>Ce(e,t));return{id:t,label:dt(t),total:n.length,..._c(t,n,ke.value,3)}});return{repo:n,summary:Ve(r),cols:i}})}})),Ue=e(()=>Object.fromEntries(ce.value.map(e=>[e.machine,[...new Set(e.tasks.map(e=>e.repo))].sort()]))),We=s(null),Ge=s(0),Ke=null;p(()=>{We.value&&typeof ResizeObserver<`u`&&(Ke=new ResizeObserver(([e])=>{Ge.value=e.contentRect.width}),Ke.observe(We.value))}),n(()=>Ke?.disconnect());let qe=e(()=>ye.value&&(!Ge.value||Ge.value>=760));function Je(){let e=M(pl);return Ze.includes(e)?e:`needs`}let Xe=s(Je()),Qe=e(()=>gc(Xe.value,J.value));function $e(e){Xe.value=e,N(pl,e)}let et=r(null),tt=s(!1);function nt(e){et.value=e,tt.value=!0}function rt(e){et.value=e,$.value={machine:e.machine,kind:`task`,id:e.task.id},je()}let it=e(()=>{let e=et.value;return e?Ee.value.find(t=>t.key===e.key)?.task||ht.value.find(t=>t.key===e.key)?.task||(we.value.has(e.key)?{...e.task,archived:!0}:e.task):null}),Y=s(null),at=s(!1);w(()=>m.query,e=>{if(e.coordinator||`task`in e&&e.task||!(`machine`in e))return;let t=e.machine;(typeof t==`string`||t===null)&&_e(ic(t??``)),f.replace({query:{}})},{immediate:!0}),w(()=>m.query.task,e=>{typeof e==`string`&&e&&(Y.value={machine:typeof m.query.machine==`string`?m.query.machine:null,id:e},at.value=!1,f.replace({query:{}}))},{immediate:!0}),w([Y,g,T],()=>{let e=Y.value;if(!e||!g.value||!T.value)return;let t=Ee.value.filter(t=>t.task.id===e.id&&(e.machine===null||t.machine===e.machine)),n=e=>g.value.machines.some(t=>t.machine===e&&t.status===`ready`&&!t.error&&!t.stale);if(t.length===1){Y.value=null,rt(t[0]);return}if(e.machine!==null&&!n(e.machine)){at.value||Oe(q(`${z(e.machine)} cannot be read now: its task opens once it answers`,`${z(e.machine)} ne peut pas être lue pour l’instant : sa tâche s’ouvre dès qu’elle répond`),!0),at.value=!0;return}Y.value=null,X(e)});async function X(e){let t=ce.value.filter(t=>t.status===`ready`&&(e.machine===null||t.machine===e.machine)).map(e=>e.machine),n=(await Promise.all(t.map(e=>K(`/api/tasks/archived?machine=${encodeURIComponent(e)}`).catch(()=>null)))).flatMap(t=>t?t.tasks.filter(t=>t.id===e.id).map(e=>Ce({machine:t.machine},e)):[]);if(n.length===1)return nt(n[0]);Oe(q(`That task is no longer on the Board`,`Cette tâche n’est plus sur le Board`),!0)}let ct=s(!1),lt=r([]),ut=s(!1),ft=0;async function Z(){if(!ct.value)return;let e=++ft;ut.value=!0;let t=ce.value.filter(e=>e.status===`ready`).map(e=>e.machine),n=await Promise.all(t.map(e=>K(`/api/tasks/archived?machine=${encodeURIComponent(e)}`).then(t=>({machine:e,tasks:t.tasks})).catch(t=>({machine:e,tasks:[],error:t.message}))));e===ft&&(lt.value=n,ut.value=!1)}function pt(){ct.value=!ct.value,ct.value&&Z()}let ht=e(()=>lt.value.filter(e=>fe(e.machine)).flatMap(e=>e.tasks.map(t=>Ce({machine:e.machine},t)))),_t=e(()=>lt.value.filter(e=>e.error&&fe(e.machine)));function vt(e,t){Te(`${e}|${t.id}`,!0);let n=$.value;n?.kind===`task`&&n.machine===e&&n.id===t.id&&($.value=null);let r=Re(t.id,t.repoKey);Oe(q(`${r} archived`,`${r} archivée`),!1,void 0,{label:q(`Restore`,`Restaurer`),icon:`i-lucide-archive-restore`,run:()=>Q(e,t)}),D().then(Z)}async function Q(e,t){try{await K(`/api/tasks/action`,{machine:e,id:t.id,action:`restore`}),je(),Oe(q(`${Re(t.id,t.repoKey)} restored`,`${Re(t.id,t.repoKey)} restaurée`)),yt(e,t)}catch(e){Oe(e.message,!0)}}function yt(e,t){Te(`${e}|${t.id}`,!1),lt.value=lt.value.map(n=>n.machine===e?{...n,tasks:n.tasks.filter(e=>e.id!==t.id)}:n),D().then(Z)}let bt=s(!1),xt=s({});function St(e,t){xt.value={machine:e??(de.value?.length===1?de.value[0]:$.value?.machine),repo:t},bt.value=!0}function Ct(){setTimeout(D,1500)}let $=r(null);function wt(e,t){Ot(e)||($.value={machine:e,kind:`coordinator`,to:t},je())}w(()=>m.query.coordinator,e=>{typeof e==`string`&&e&&($.value={machine:typeof m.query.machine==`string`?m.query.machine:``,kind:`coordinator`,to:{kind:`project`,repo:e},freshProject:!0},f.replace({query:{}}))},{immediate:!0});let Tt=(e,t)=>ee(t,z(e)),Et=[{kind:`machine`}],Dt=e(()=>g.value?.machines||[]),Ot=e=>{let t=Dt.value.find(t=>t.machine===e);return t?P(t,U.value):q(`Machine unavailable`,`Machine indisponible`)},kt=(e,t)=>[F(t),Ot(e)].filter(Boolean).join(` `),At=e(()=>[Dt.value.map(e=>({label:z(e.machine),description:kt(e.machine,{kind:`main`}),disabled:!!Ot(e.machine),icon:`i-lucide-server`,onSelect:()=>wt(e.machine,{kind:`main`})}))]),jt=e(()=>!!g.value&&!Dt.value.some(e=>!Ot(e.machine))),Mt=(e,t)=>{let n=$.value;return!n||n.kind!==`coordinator`||n.machine!==e||n.to.kind!==t.kind?!1:t.kind!==`project`||n.to.kind===`project`&&n.to.repo===t.repo},Nt=e(()=>{let e=$.value;return e?.kind===`task`&&(Ee.value.find(t=>t.machine===e.machine&&t.task.id===e.id)?.task||et.value?.task)||null});w(g,e=>{$.value&&e&&!e.machines.some(e=>e.machine===$.value.machine)&&($.value=null)});function Pt(e,t){wt(e,{kind:`project`,repo:t.repo})}function Ft(e,t){$.value={machine:e,kind:`task`,id:t.id,chat:!0},je()}function It(){let e=$.value;if(e?.kind!==`task`)return;let t=Ee.value.find(t=>t.machine===e.machine&&t.task.id===e.id)||et.value;t&&nt(t)}let Lt=e(()=>{let e=$.value;return e?e.kind===`task`?`t|${e.machine}|${e.id}`:`c|${e.machine}|${e.to.kind}|${e.to.kind===`project`?e.to.repo:``}`:``});function Rt(){let e=$.value;e?.kind===`task`&&Ee.value.some(t=>t.machine===e.machine&&t.task.id===e.id)&&It(),$.value=null}let zt=r(null);function Vt(e,t){let n=dc(e,L.value.map(e=>e.machine),ot.value);zt.value={machines:n,...t?{repo:t}:{}},$.value=null,je()}w($,e=>{e&&(zt.value=null)});let Ht=s(null);w(()=>m.query.settings,e=>{e===void 0||Array.isArray(e)||(Ht.value=e??``,f.replace({query:{}}))},{immediate:!0}),w([Ht,g],([e,t])=>{e!==null&&t&&(Ht.value=null,Vt(e))},{immediate:!0});let Ut=e(()=>Object.fromEntries(ce.value.map(e=>[e.machine,[...new Set([...e.tasks.map(e=>e.repo),...(A.value.find(t=>t.machine===e.machine)?.repos||[]).map(e=>e.repo)])].filter(Boolean).sort()]))),Wt=e=>L.value.some(t=>t.machine===e);function Gt(){let e=history.state?.back;typeof e==`string`&&e.startsWith(`/`)&&e!==`/board`?f.back():V(`/`,{replace:!0})}return(e,n)=>{let r=ne,i=gt,s=ae,f=Bt,p=mt,m=st,w=te,T=Tn,A=To,M=Us,N=la,P=nc;return l(),u(`section`,{id:`board`,ref_key:`root`,ref:We,class:v([`view board-view`,{"with-panel":(a($)||a(zt))&&(`desk`in e?e.desk:a(ye)),narrow:!a(qe)}])},[S(`header`,yc,[h(r,{icon:`i-lucide-chevron-left`,color:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn`,"aria-label":(`t`in e?e.t:a(G))(`Back`),onClick:Gt},null,8,[`aria-label`]),S(`h2`,null,y((`t`in e?e.t:a(G))(`Board`)),1),a(L).length?(l(),o(r,{key:0,icon:`i-lucide-plus`,color:`primary`,variant:`outline`,size:`md`,class:`board-new`,disabled:`offlineView`in e?e.offlineView:a(U),"aria-label":(`tl`in e?e.tl:a(q))(`New task`,`Nouvelle tâche`),onClick:n[0]||=e=>St()},{default:E(()=>[S(`span`,bc,y((`tl`in e?e.tl:a(q))(`New task`,`Nouvelle tâche`)),1)]),_:1},8,[`disabled`,`aria-label`])):c(``,!0),a(Dt).length===1?(l(),o(i,{key:1,text:kt(a(Dt)[0].machine,{kind:`main`})},{default:E(()=>[h(r,{color:`neutral`,variant:`outline`,size:`md`,class:v([`board-coord board-top-coord`,{on:Mt(a(Dt)[0].machine,{kind:`main`})}]),disabled:!!Ot(a(Dt)[0].machine),onClick:n[1]||=e=>wt(a(Dt)[0].machine,{kind:`main`})},{default:E(()=>[t(y(Tt(a(Dt)[0].machine,{kind:`main`})),1)]),_:1},8,[`class`,`disabled`])]),_:1},8,[`text`])):a(Dt).length>1?(l(),o(s,{key:2,items:a(At),content:{align:`end`,sideOffset:6},ui:{content:`hw-dropdown board-coord-menu`,itemLabel:`whitespace-normal`,itemDescription:`whitespace-normal`}},{default:E(()=>[h(i,{text:(`coordinatorDescription`in e?e.coordinatorDescription:a(F))({kind:`main`})},{default:E(()=>[h(r,{color:`neutral`,variant:`outline`,size:`md`,class:`board-coord board-top-coord`,"trailing-icon":`i-lucide-chevron-down`},{default:E(()=>[t(y((`coordinatorLabel`in e?e.coordinatorLabel:a(ee))({kind:`main`},``)),1)]),_:1})]),_:1},8,[`text`])]),_:1},8,[`items`])):c(``,!0),h(r,{icon:`i-lucide-refresh-cw`,color:`neutral`,variant:`ghost`,size:`lg`,class:`icon-btn board-filter`,"aria-label":(`tl`in e?e.tl:a(q))(`Refresh`,`Actualiser`),disabled:`offlineView`in e?e.offlineView:a(U),onClick:n[2]||=e=>{k.value++,a(D)()}},null,8,[`aria-label`,`disabled`])]),a(Dt).length&&!(`offlineView`in e?e.offlineView:a(U))?(l(),u(`div`,xc,[(l(!0),u(_,null,d(a(Dt),e=>(l(),u(`div`,{key:e.machine},[a(Dt).length>1?(l(),u(`span`,Sc,y(z(e.machine)),1)):c(``,!0),h(f,{machine:e.machine,to:{kind:`main`},disabled:!!Ot(e.machine)},null,8,[`machine`,`disabled`])]))),128))])):c(``,!0),a(x)?(l(),u(`div`,Cc,y(a(x)),1)):!a(g)&&!(`offlineView`in e?e.offlineView:a(U))?(l(),u(`p`,wc,y((`t`in e?e.t:a(G))(`Loading…`)),1)):c(``,!0),a(jt)||a(H).length||a(oe).length||a(R).length?(l(),u(`div`,Tc,[a(jt)?(l(),u(`p`,Ec,y((`tl`in e?e.tl:a(q))(`No Coordinator can be reached now. See each machine’s availability.`,`Aucun Coordinateur n’est joignable pour l’instant. Consulte la disponibilité de chaque machine.`)),1)):c(``,!0),(l(!0),u(_,null,d(a(R),n=>(l(),u(`p`,{key:`e-${n.machine}`,class:`board-note error`,role:`alert`},[S(`b`,null,y(a(se)?z(n.machine):(`tl`in e?e.tl:a(q))(`herdr-projects`,`herdr-projects`)),1),t(` · `+y(n.error||(`tl`in e?e.tl:a(q))(`No answer yet`,`Pas encore de réponse`)),1),n.stale&&n.at?(l(),u(_,{key:0},[t(` · `+y((`tl`in e?e.tl:a(q))(`tasks as read at ${ie(n.at)}`,`tâches lues à ${ie(n.at)}`)),1)],64)):c(``,!0)]))),128)),(l(!0),u(_,null,d(a(H),t=>(l(),o(p,{key:t.machine,status:t.status,version:t.version||null,machine:a(se)?(`machineName`in e?e.machineName:a(xe))(t.machine)||(`hostLabel`in e?e.hostLabel:a(ge))||(`t`in e?e.t:a(G))(`This machine`):void 0},null,8,[`status`,`version`,`machine`]))),128)),(l(!0),u(_,null,d(a(oe),t=>(l(),u(`p`,{key:t.machine,class:`board-note`},y((`tl`in e?e.tl:a(q))(`herdr-projects is disabled in Herdr${a(se)?` on ${(`machineName`in e?e.machineName:a(xe))(t.machine)}`:``}: herdr plugin enable herdr-projects`,`herdr-projects est désactivé dans Herdr${a(se)?` sur ${(`machineName`in e?e.machineName:a(xe))(t.machine)}`:``} : herdr plugin enable herdr-projects`)),1))),128))])):c(``,!0),a(L).length||a(De).length?(l(),u(_,{key:4},[S(`div`,Dc,[a(ce).length>1?(l(),o(m,{key:0,"model-value":(`boardScopeValue`in e?e.boardScopeValue:a(ic))(a(ue)),items:a(he),size:`sm`,class:`board-scope`,"aria-label":(`tl`in e?e.tl:a(q))(`Machines shown`,`Machines affichées`),"onUpdate:modelValue":n[3]||=e=>_e(String(e))},null,8,[`model-value`,`items`,`aria-label`])):c(``,!0),a(L).length?(l(),o(r,{key:1,icon:`i-lucide-settings`,color:`neutral`,variant:`outline`,size:`sm`,class:v([`icon-btn board-settings-open`,{on:a(zt)&&!a(zt).repo}]),disabled:`offlineView`in e?e.offlineView:a(U),"aria-label":(`tl`in e?e.tl:a(q))(`Board settings`,`Réglages du board`),title:(`tl`in e?e.tl:a(q))(`Board settings`,`Réglages du board`),onClick:n[4]||=e=>Vt(a(ue))},null,8,[`class`,`disabled`,`aria-label`,`title`])):c(``,!0),S(`div`,{class:`board-grouping`,role:`group`,"aria-label":(`tl`in e?e.tl:a(q))(`View`,`Vue`)},[S(`button`,{type:`button`,class:v({on:a(W)===`global`}),"aria-pressed":a(W)===`global`,onClick:n[5]||=e=>Se(`global`)},y((`tl`in e?e.tl:a(q))(`Global`,`Global`)),11,kc),S(`button`,{type:`button`,class:v({on:a(W)===`repo`}),"aria-pressed":a(W)===`repo`,onClick:n[6]||=e=>Se(`repo`)},y((`tl`in e?e.tl:a(q))(`By repo`,`Par dépôt`)),11,Ac)],8,Oc),S(`div`,jc,[S(`button`,{type:`button`,class:v({on:a(ct)}),"aria-pressed":a(ct),disabled:`offlineView`in e?e.offlineView:a(U),onClick:pt},[h(w,{name:`i-lucide-archive`}),t(y((`tl`in e?e.tl:a(q))(`Archived`,`Archivées`)),1)],10,Mc)])]),a(qe)?c(``,!0):(l(),u(`div`,{key:0,class:`board-seg tasks`,style:b({gridTemplateColumns:`repeat(${a(Ie).length}, minmax(0, 1fr)) auto`}),role:`group`,"aria-label":(`t`in e?e.t:a(G))(`Board`)},[(l(!0),u(_,null,d(a(Ie),e=>(l(),u(`button`,{key:e.id,type:`button`,class:v([`board-seg-btn`,[e.id,{on:a(Qe)===e.id}]]),"aria-pressed":a(Qe)===e.id,onClick:t=>$e(e.id)},[S(`span`,null,y(e.label),1),S(`b`,null,y(e.total),1)],10,Pc))),128)),S(`button`,{type:`button`,class:v([`board-seg-btn board-done-toggle`,{shown:a(J)}]),"aria-pressed":a(J),"aria-label":a(Ne),title:a(Ne),onClick:Me},[a(J)?(l(),o(w,{key:0,name:`i-lucide-eye-off`,class:`board-done-icon`})):(l(),u(_,{key:1},[S(`span`,null,y((`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(`done`)),1),S(`b`,null,[h(w,{name:`i-lucide-eye`,class:`board-done-icon`}),t(y(a(Ae)),1)])],64))],10,Fc)],12,Nc)),S(`div`,{class:v([`board-grid`,{desk:a(qe),lanes:a(W)===`repo`}]),style:b(a(Le))},[a(qe)?(l(),u(`div`,Ic,[(l(!0),u(_,null,d(a(Ie),(t,n)=>(l(),u(`h3`,{key:t.id,class:v([`board-col-head`,t.id])},[S(`span`,null,y(t.label),1),S(`span`,Lc,y(t.total),1),n===a(Ie).length-1?(l(),u(`button`,{key:0,type:`button`,class:v([`board-done-toggle`,{shown:a(J)}]),"aria-pressed":a(J),"aria-label":a(Ne),title:a(Ne),onClick:Me},[h(w,{name:a(J)?`i-lucide-eye-off`:`i-lucide-eye`,class:`board-done-icon`},null,8,[`name`]),S(`span`,null,y(a(J)?(`tl`in e?e.tl:a(q))(`Hide`,`Masquer`):`${(`taskGroupLabel`in e?e.taskGroupLabel:a(dt))(`done`)} · ${a(Ae)}`),1)],10,Rc)):c(``,!0)],2))),128))])):c(``,!0),a(W)===`global`?(l(),u(`div`,zc,[(l(!0),u(_,null,d(a(Ie),t=>C((l(),u(`section`,{key:t.id,class:v([`board-col`,t.id]),"aria-label":t.label},[S(`div`,Vc,[(l(!0),u(_,null,d(t.cards,t=>(l(),o(T,{key:t.key,task:t.task,machine:a(me)?(`machineName`in e?e.machineName:a(xe))(t.machine):void 0,stale:t.stale,"read-at":ie(t.readAt),onOpen:e=>rt(t)},null,8,[`task`,`machine`,`stale`,`read-at`,`onOpen`]))),128)),t.cards.length?c(``,!0):(l(),u(`p`,Hc,y((`t`in e?e.t:a(G))(`Nothing here`)),1)),t.hidden?(l(),u(`button`,{key:1,type:`button`,class:`board-more`,onClick:n[7]||=e=>ke.value=!0},y((`tl`in e?e.tl:a(q))(`Show all (${t.hidden} more)`,`Tout afficher (${t.hidden} de plus)`)),1)):c(``,!0)])],10,Bc)),[[j,a(qe)||a(Qe)===t.id]])),128))])):(l(!0),u(_,{key:2},d(a(He),s=>(l(),u(`section`,{key:s.machine||`local`,class:`board-machine`,"data-machine":s.machine||`local`},[S(`div`,{class:v([`board-head machine`,{talking:Mt(s.machine,{kind:`main`})||Mt(s.machine,{kind:`machine`})}])},[S(`button`,{type:`button`,class:`board-fold`,"aria-expanded":!a(ze).has(`m:${s.machine}`),"aria-label":(`tl`in e?e.tl:a(q))(`Fold`,`Replier`),onClick:e=>Be(`m:${s.machine}`)},[h(w,{name:a(ze).has(`m:${s.machine}`)?`i-lucide-chevron-right`:`i-lucide-chevron-down`},null,8,[`name`])],8,Wc),S(`p`,Gc,[S(`b`,null,y(z(s.machine)),1),S(`span`,Kc,[t(y(s.summary.main),1),s.summary.done?(l(),u(`span`,qc,y(s.summary.main?` · `:``)+y(s.summary.done),1)):c(``,!0)])]),S(`div`,Jc,[(l(),u(_,null,d(Et,e=>h(i,{key:e.kind,text:kt(s.machine,e)},{default:E(()=>[h(r,{color:`neutral`,variant:`outline`,size:`sm`,class:v([`board-coord`,{on:Mt(s.machine,e)}]),disabled:!!Ot(s.machine),"aria-description":Ot(s.machine)||void 0,onClick:t=>wt(s.machine,e)},{default:E(()=>[t(y(Tt(s.machine,e)),1)]),_:2},1032,[`class`,`disabled`,`aria-description`,`onClick`])]),_:2},1032,[`text`])),64)),h(f,{machine:s.machine,to:{kind:`machine`},disabled:!!Ot(s.machine),compact:``},null,8,[`machine`,`disabled`])])],2),a(ze).has(`m:${s.machine}`)?c(``,!0):(l(),u(_,{key:0},[(l(!0),u(_,null,d(s.repos,p=>(l(),u(`section`,{key:p.repo,class:`board-repo`,"data-repo":p.repo},[S(`div`,{class:v([`board-head repo`,{talking:Mt(s.machine,{kind:`project`,repo:p.repo})}])},[S(`button`,{type:`button`,class:`board-fold`,"aria-expanded":!a(ze).has(`r:${s.machine}|${p.repo}`),"aria-label":(`tl`in e?e.tl:a(q))(`Fold`,`Replier`),onClick:e=>Be(`r:${s.machine}|${p.repo}`)},[h(w,{name:a(ze).has(`r:${s.machine}|${p.repo}`)?`i-lucide-chevron-right`:`i-lucide-chevron-down`},null,8,[`name`])],8,Xc),S(`p`,Zc,[S(`b`,null,y(p.repo),1),S(`span`,Qc,[t(y(p.summary.main),1),p.summary.done?(l(),u(`span`,$c,y(p.summary.main?` · `:``)+y(p.summary.done),1)):c(``,!0)])]),S(`div`,el,[h(i,{text:kt(s.machine,{kind:`project`,repo:p.repo})},{default:E(()=>[h(r,{color:`neutral`,variant:`outline`,size:`sm`,class:v([`board-coord`,{on:Mt(s.machine,{kind:`project`,repo:p.repo})}]),disabled:!!Ot(s.machine),"aria-description":Ot(s.machine)||void 0,onClick:e=>wt(s.machine,{kind:`project`,repo:p.repo})},{default:E(()=>[t(y(Tt(s.machine,{kind:`project`,repo:p.repo})),1)]),_:2},1032,[`class`,`disabled`,`aria-description`,`onClick`])]),_:2},1032,[`text`]),h(f,{machine:s.machine,to:{kind:`project`,repo:p.repo},disabled:!!Ot(s.machine),compact:``},null,8,[`machine`,`to`,`disabled`]),h(r,{icon:`i-lucide-settings`,color:`neutral`,variant:`outline`,size:`sm`,class:`board-head-add board-repo-settings`,disabled:(`offlineView`in e?e.offlineView:a(U))||!Wt(s.machine),"aria-label":(`tl`in e?e.tl:a(q))(`Repository settings: ${p.repo}`,`Réglages du dépôt : ${p.repo}`),title:(`tl`in e?e.tl:a(q))(`Repository settings`,`Réglages du dépôt`),onClick:e=>Vt(s.machine,p.repo)},null,8,[`disabled`,`aria-label`,`title`,`onClick`]),h(r,{icon:`i-lucide-plus`,color:`neutral`,variant:`outline`,size:`sm`,class:`board-head-add`,disabled:`offlineView`in e?e.offlineView:a(U),"aria-label":(`tl`in e?e.tl:a(q))(`New task in ${p.repo}`,`Nouvelle tâche dans ${p.repo}`),onClick:e=>St(s.machine,p.repo)},null,8,[`disabled`,`aria-label`,`onClick`])])],2),a(ze).has(`r:${s.machine}|${p.repo}`)?c(``,!0):(l(),u(`div`,tl,[(l(!0),u(_,null,d(p.cols,t=>C((l(),u(`section`,{key:t.id,class:v([`board-repo-col`,[t.id,{none:!t.total}]]),"data-group":t.id,"aria-label":t.label},[S(`div`,rl,[(l(!0),u(_,null,d(t.cards,e=>(l(),o(T,{key:e.key,task:e.task,stale:e.stale,"read-at":ie(e.readAt),onOpen:t=>rt(e)},null,8,[`task`,`stale`,`read-at`,`onOpen`]))),128)),!a(qe)&&!t.total?(l(),u(`p`,il,y((`t`in e?e.t:a(G))(`Nothing here`)),1)):c(``,!0),t.hidden?(l(),u(`button`,{key:1,type:`button`,class:`board-more`,onClick:n[8]||=e=>ke.value=!0},y((`tl`in e?e.tl:a(q))(`Show all (${t.hidden} more)`,`Tout afficher (${t.hidden} de plus)`)),1)):c(``,!0)])],10,nl)),[[j,a(qe)||a(Qe)===t.id]])),128))]))],8,Yc))),128)),s.repos.length?c(``,!0):(l(),u(`p`,al,y((`tl`in e?e.tl:a(q))(`No task yet: talk to the Coordinator at the top, or add one.`,`Aucune tâche : parle au Coordinateur en haut, ou ajoutes-en une.`)),1))],64))],8,Uc))),128)),a(ct)?(l(),u(`section`,{key:3,class:`board-archived`,"aria-label":(`tl`in e?e.tl:a(q))(`Archived tasks`,`Tâches archivées`)},[S(`h3`,sl,[S(`span`,null,y((`tl`in e?e.tl:a(q))(`Archived`,`Archivées`)),1),S(`span`,cl,y(a(ht).length),1)]),(l(!0),u(_,null,d(a(_t),e=>(l(),u(`p`,{key:e.machine,class:`board-note error`},[a(se)?(l(),u(`b`,ll,y(z(e.machine))+` · `,1)):c(``,!0),t(y(e.error),1)]))),128)),S(`div`,ul,[(l(!0),u(_,null,d(a(ht),t=>(l(),o(T,{key:t.key,task:t.task,machine:a(me)?(`machineName`in e?e.machineName:a(xe))(t.machine):void 0,onOpen:e=>nt(t)},null,8,[`task`,`machine`,`onOpen`]))),128))]),a(ut)&&!a(ht).length?(l(),u(`p`,dl,y((`t`in e?e.t:a(G))(`Loading…`)),1)):a(ht).length?c(``,!0):(l(),u(`p`,fl,y((`t`in e?e.t:a(G))(`Nothing here`)),1))],8,ol)):c(``,!0)],6)],64)):c(``,!0),a($)?(l(),o(A,{key:a(Lt),target:a($),task:a(Nt),refresh:a(D),"refresh-key":a(k),"machine-label":z(a($).machine),reachable:a(L).some(e=>e.machine===a($).machine),onArchived:vt,onRestored:yt,onChanged:a(D),onClose:n[9]||=e=>$.value=null,onSheet:It,onNoAgent:Rt,onCoordinator:Pt},null,8,[`target`,`task`,`refresh`,`refresh-key`,`machine-label`,`reachable`,`onChanged`])):c(``,!0),a(zt)&&!a($)?(l(),o(M,{key:JSON.stringify(a(zt)),target:a(zt),repos:a(Ut),"machine-label":z,reachable:Wt,onClose:n[10]||=e=>zt.value=null,onChanged:n[11]||=e=>a(D)()},null,8,[`target`,`repos`])):c(``,!0),h(N,{open:a(tt),"onUpdate:open":n[12]||=e=>O(tt)?tt.value=e:null,task:a(it),machine:a(et)?.machine??``,reachable:a(L).some(e=>e.machine===(a(et)?.machine??``)),refresh:a(D),onArchived:vt,onRestored:yt,onChat:Ft,onCoordinator:Pt},null,8,[`open`,`task`,`machine`,`reachable`,`refresh`]),h(P,{open:a(bt),"onUpdate:open":n[13]||=e=>O(bt)?bt.value=e:null,machines:a(L).map(e=>e.machine),repos:a(Ue),machine:a(xt).machine,repo:a(xt).repo,onAdded:Ct},null,8,[`open`,`machines`,`repos`,`machine`,`repo`])],2)}}}),[[`__scopeId`,`data-v-d6da62fb`]]),{__name:`BoardView`}),vl=m({__name:`board`,setup(e){return p(()=>{J.value=null}),(e,t)=>{let n=_l;return l(),o(n)}}});export{vl as default};
|