@celsoft/coordinator 0.0.0 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +107 -0
  3. package/THIRD_PARTY_NOTICES.md +2005 -0
  4. package/agents/console.md +20 -0
  5. package/agents/free.md +110 -0
  6. package/build/0-JP6XL6LB.js +17 -0
  7. package/build/1-A52YZWNS.js +17 -0
  8. package/build/2-CLH2NM6F.js +32 -0
  9. package/build/3-4N467IB6.js +45 -0
  10. package/build/4-WL5H4LUW.js +29 -0
  11. package/build/_layout.svelte-KPUSX7LQ.js +27 -0
  12. package/build/_page.svelte-22H56UR6.js +7972 -0
  13. package/build/_page.svelte-CVWUNRQC.js +135 -0
  14. package/build/_page.svelte-LTZXBHMT.js +57 -0
  15. package/build/_server.ts-3KVBYN6P.js +20 -0
  16. package/build/_server.ts-3POPKVEM.js +47 -0
  17. package/build/_server.ts-5735T2V5.js +31 -0
  18. package/build/_server.ts-5VXGNWV2.js +38 -0
  19. package/build/_server.ts-645KP7WP.js +42 -0
  20. package/build/_server.ts-A3AA24Z2.js +28 -0
  21. package/build/_server.ts-CITUOEM6.js +58 -0
  22. package/build/_server.ts-I7HMTPOA.js +25 -0
  23. package/build/_server.ts-M5BQ4LLX.js +30 -0
  24. package/build/_server.ts-OB4O27HF.js +683 -0
  25. package/build/_server.ts-OJT7HE7M.js +15 -0
  26. package/build/_server.ts-OYGWVLZM.js +12 -0
  27. package/build/_server.ts-T75UVMQP.js +38 -0
  28. package/build/_server.ts-WYZYNHUZ.js +28 -0
  29. package/build/_server.ts-Z26EB47B.js +486 -0
  30. package/build/chunk-4CIG53L5.js +33 -0
  31. package/build/chunk-BJTJS3XY.js +338 -0
  32. package/build/chunk-F2CNWJZM.js +14 -0
  33. package/build/chunk-HGYE3UTU.js +416 -0
  34. package/build/chunk-KAYW2W7H.js +1311 -0
  35. package/build/chunk-LFP3UPCM.js +10 -0
  36. package/build/chunk-M44JEFEH.js +62 -0
  37. package/build/chunk-MC5AGLMY.js +39 -0
  38. package/build/chunk-NCZ77J5E.js +19798 -0
  39. package/build/chunk-NVNLDPUJ.js +2122 -0
  40. package/build/chunk-PDCON4KS.js +494 -0
  41. package/build/chunk-Q4OQNY5M.js +25 -0
  42. package/build/chunk-QCUOR2U5.js +75 -0
  43. package/build/chunk-R6RYZZWA.js +46 -0
  44. package/build/chunk-SOJTASZC.js +51 -0
  45. package/build/chunk-SU26PJVX.js +410 -0
  46. package/build/chunk-U5BSBG4R.js +506 -0
  47. package/build/chunk-UEKOZGRO.js +37 -0
  48. package/build/chunk-W6EFUWJ2.js +9 -0
  49. package/build/chunk-WOPREK6Q.js +117 -0
  50. package/build/chunk-WWJ3F4QS.js +127 -0
  51. package/build/chunk-ZGZJEEE3.js +1091 -0
  52. package/build/client/_app/immutable/assets/0.BGa5ZNDM.css +1 -0
  53. package/build/client/_app/immutable/chunks/BUrrLYDt.js +2 -0
  54. package/build/client/_app/immutable/chunks/BgFr_EyZ.js +4 -0
  55. package/build/client/_app/immutable/chunks/Bjy-W4x2.js +82 -0
  56. package/build/client/_app/immutable/chunks/C8qZab0y.js +56 -0
  57. package/build/client/_app/immutable/chunks/C90fLsA5.js +4 -0
  58. package/build/client/_app/immutable/chunks/CRzLMJPS.js +1 -0
  59. package/build/client/_app/immutable/chunks/DLT1iIlz.js +2 -0
  60. package/build/client/_app/immutable/chunks/pIrVVOVY.js +2 -0
  61. package/build/client/_app/immutable/entry/app.0DERehLW.js +3 -0
  62. package/build/client/_app/immutable/entry/payload.DSmR2FwN.js +2 -0
  63. package/build/client/_app/immutable/entry/start.B7srFiqh.js +3 -0
  64. package/build/client/_app/immutable/nodes/0.aD9vJoxR.js +2 -0
  65. package/build/client/_app/immutable/nodes/1.Br4FL91i.js +2 -0
  66. package/build/client/_app/immutable/nodes/2.vl6OYfu3.js +8 -0
  67. package/build/client/_app/immutable/nodes/3.VYqJOLAF.js +2 -0
  68. package/build/client/_app/immutable/nodes/4.jF9UVlFN.js +2 -0
  69. package/build/client/_app/version.json +1 -0
  70. package/build/client/apple-touch-icon.png +0 -0
  71. package/build/client/favicon.ico +0 -0
  72. package/build/client/favicon.svg +48 -0
  73. package/build/client/icon-192.png +0 -0
  74. package/build/client/icon-512.png +0 -0
  75. package/build/client/icon-maskable-512.png +0 -0
  76. package/build/client/icon.svg +44 -0
  77. package/build/client/manifest.webmanifest +15 -0
  78. package/build/error.svelte-JXZDY65F.js +51 -0
  79. package/build/handler.js +716 -0
  80. package/build/hooks.server-34IMHRKC.js +43 -0
  81. package/build/instance-NP3FJIWW.js +2967 -0
  82. package/client/client.mjs +28 -0
  83. package/client/hooks.mjs +7 -0
  84. package/client/register.mjs +5 -0
  85. package/dist/cli.js +62826 -0
  86. package/dist/port.js +36691 -0
  87. package/package.json +20 -1
  88. package/skills/agents/.claude-plugin/plugin.json +5 -0
  89. package/skills/agents/hooks/hooks.json +1 -0
  90. package/skills/agents/hooks/register.ts +57 -0
  91. package/skills/agents/skills/bus-work/SKILL.md +66 -0
  92. package/skills/agents/skills/plan/SKILL.md +98 -0
  93. package/skills/console/.claude-plugin/plugin.json +5 -0
  94. package/skills/console/hooks/hooks.json +1 -0
  95. package/skills/console/hooks/register.ts +10 -0
  96. package/skills/console/skills/bus/SKILL.md +61 -0
  97. package/skills/default/.claude-plugin/plugin.json +5 -0
  98. package/skills/default/skills/git-workflow/SKILL.md +294 -0
  99. package/skills/default/skills/git-workflow/mise-tasks/_lib.sh +107 -0
  100. package/skills/default/skills/git-workflow/mise-tasks/clone +36 -0
  101. package/skills/default/skills/git-workflow/mise-tasks/repo-list +8 -0
  102. package/skills/default/skills/git-workflow/mise-tasks/unpushed +26 -0
  103. package/skills/default/skills/git-workflow/mise-tasks/worktree-add +60 -0
  104. package/skills/default/skills/github/SKILL.md +208 -0
  105. package/skills/default/skills/github/scripts/gh-org +196 -0
  106. package/skills/default/skills/plan-page/SKILL.md +300 -0
  107. package/skills/default/skills/plan-page/assets/index.html +854 -0
  108. package/skills/default/skills/plan-page/scripts/inline +46 -0
  109. package/skills/default/skills/plan-page/scripts/stage +26 -0
  110. package/skills/default/skills/secrets/SKILL.md +134 -0
  111. package/skills/default/skills/secrets/scripts/secrets-check +87 -0
  112. package/skills/default/skills/writing-style/SKILL.md +45 -0
  113. package/skills/extra/.claude-plugin/plugin.json +5 -0
  114. package/skills/extra/skills/artifacts/SKILL.md +52 -0
  115. package/skills/extra/skills/github-actions/SKILL.md +78 -0
  116. package/skills/extra/skills/github-actions/scan +32 -0
  117. package/skills/extra/skills/markdown-review/SKILL.md +70 -0
  118. package/skills/extra/skills/markdown-review/assets/index.html +201 -0
  119. package/skills/extra/skills/markdown-review/scripts/stage +36 -0
  120. package/skills/extra/skills/mise-usage/SKILL.md +155 -0
  121. package/skills/extra/skills/plugin-authoring/SKILL.md +317 -0
  122. package/skills/extra/skills/project-conventions/SKILL.md +64 -0
  123. package/skills/extra/skills/questions/SKILL.md +156 -0
  124. package/skills/extra/skills/questions/assets/index.html +376 -0
  125. package/skills/extra/skills/questions/scripts/stage +26 -0
  126. package/skills/extra/skills/serve/SKILL.md +165 -0
  127. package/skills/extra/skills/serve/scripts/serve +268 -0
  128. package/skills/extra/skills/serve/scripts/server.py +345 -0
  129. package/skills/extra/skills/skill-dependencies/SKILL.md +65 -0
  130. package/skills/extra/skills/skill-maintenance/SKILL.md +101 -0
  131. package/skills/extra/skills/ticketing/SKILL.md +125 -0
@@ -0,0 +1,8 @@
1
+ import{$ as e,B as t,D as n,F as r,G as i,H as a,I as o,J as s,K as c,M as l,O as u,P as d,Q as f,R as p,S as m,T as h,U as g,V as _,X as v,Y as y,Z as b,_ as x,_t as S,a as C,at as w,b as T,c as E,d as D,et as O,f as k,g as A,gt as j,h as M,i as ee,k as N,l as P,lt as F,m as I,mt as L,n as R,nt as z,o as te,ot as ne,p as B,pt as V,q as re,r as H,rt as U,s as ie,st as ae,t as W,tt as oe,u as G,ut as se,v as ce,w as K,y as le,z as q}from"../chunks/BgFr_EyZ.js";import{$ as ue,A as J,B as de,C as Y,D as fe,E as pe,F as me,G as he,H as ge,I as _e,J as ve,K as ye,L as X,M as be,N as xe,O as Se,P as Ce,Q as we,R as Te,S as Ee,T as De,U as Oe,V as ke,W as Ae,X as je,Y as Me,Z as Ne,_ as Pe,a as Fe,at as Ie,b as Le,c as Re,ct as ze,d as Be,et as Ve,f as Z,g as He,h as Ue,i as We,it as Ge,j as Ke,k as qe,l as Je,lt as Ye,m as Xe,n as Ze,nt as Qe,o as $e,ot as et,p as tt,q as nt,r as rt,rt as it,s as at,st as ot,t as st,tt as ct,u as lt,ut,v as dt,w as ft,x as pt,y as mt,z as ht}from"../chunks/C8qZab0y.js";import{a as gt,c as _t,f as vt,i as yt,l as bt,n as Q,p as xt,r as St}from"../chunks/BUrrLYDt.js";var Ct=new Set([`$$slots`,`$$events`,`$$legacy`]);function wt(e,t){let n=R(t,Ct),r={name:`activity`,size:24,node:[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Tt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Et(e,t){let n=R(t,Tt),r={name:`arrow-down`,size:24,node:[[`path`,{d:`M12 5v14`}],[`path`,{d:`m19 12-7 7-7-7`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Dt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Ot(e,t){let n=R(t,Dt),r={name:`arrow-up-to-line`,size:24,node:[[`path`,{d:`M5 3h14`}],[`path`,{d:`m18 13-6-6-6 6`}],[`path`,{d:`M12 7v14`}]]};J(e,H(()=>n,{get icon(){return r}}))}var kt=new Set([`$$slots`,`$$events`,`$$legacy`]);function At(e,t){let n=R(t,kt),r={name:`arrow-up`,size:24,node:[[`path`,{d:`m5 12 7-7 7 7`}],[`path`,{d:`M12 19V5`}]]};J(e,H(()=>n,{get icon(){return r}}))}var jt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Mt(e,t){let n=R(t,jt),r={name:`bot`,size:24,node:[[`path`,{d:`M12 8V4H8`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`}],[`path`,{d:`M2 14h2`}],[`path`,{d:`M20 14h2`}],[`path`,{d:`M15 13v2`}],[`path`,{d:`M9 13v2`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Nt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Pt(e,t){let n=R(t,Nt),r={name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Ft=new Set([`$$slots`,`$$events`,`$$legacy`]);function It(e,t){let n=R(t,Ft),r={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Lt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Rt(e,t){let n=R(t,Lt),r={name:`circle-off`,size:24,node:[[`path`,{d:`m2 2 20 20`}],[`path`,{d:`M8.35 2.69A10 10 0 0 1 21.3 15.65`}],[`path`,{d:`M19.08 19.08A10 10 0 1 1 4.92 4.92`}]]};J(e,H(()=>n,{get icon(){return r}}))}var zt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Bt(e,t){let n=R(t,zt),r={name:`circle-pause`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`line`,{x1:`10`,x2:`10`,y1:`15`,y2:`9`}],[`line`,{x1:`14`,x2:`14`,y1:`15`,y2:`9`}]],aliases:[`pause-circle`]};J(e,H(()=>n,{get icon(){return r}}))}var Vt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Ht(e,t){let n=R(t,Vt),r={name:`circle-x`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`m15 9-6 6`}],[`path`,{d:`m9 9 6 6`}]],aliases:[`x-circle`]};J(e,H(()=>n,{get icon(){return r}}))}var Ut=new Set([`$$slots`,`$$events`,`$$legacy`]);function Wt(e,t){let n=R(t,Ut),r={name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Gt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Kt(e,t){let n=R(t,Gt),r={name:`crown`,size:24,node:[[`path`,{d:`M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z`}],[`path`,{d:`M5 21h14`}]]};J(e,H(()=>n,{get icon(){return r}}))}var qt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Jt(e,t){let n=R(t,qt),r={name:`file-text`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`}],[`path`,{d:`M10 9H8`}],[`path`,{d:`M16 13H8`}],[`path`,{d:`M16 17H8`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Yt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Xt(e,t){let n=R(t,Yt),r={name:`folder-git-2`,size:24,node:[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`}],[`circle`,{cx:`13`,cy:`12`,r:`2`}],[`circle`,{cx:`20`,cy:`19`,r:`2`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Zt=new Set([`$$slots`,`$$events`,`$$legacy`]);function Qt(e,t){let n=R(t,Zt),r={name:`folder-input`,size:24,node:[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`}],[`path`,{d:`M2 13h10`}],[`path`,{d:`m9 16 3-3-3-3`}]]};J(e,H(()=>n,{get icon(){return r}}))}var $t=new Set([`$$slots`,`$$events`,`$$legacy`]);function en(e,t){let n=R(t,$t),r={name:`folder-minus`,size:24,node:[[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]]};J(e,H(()=>n,{get icon(){return r}}))}var tn=new Set([`$$slots`,`$$events`,`$$legacy`]);function nn(e,t){let n=R(t,tn),r={name:`folder-plus`,size:24,node:[[`path`,{d:`M12 10v6`}],[`path`,{d:`M9 13h6`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]]};J(e,H(()=>n,{get icon(){return r}}))}var rn=new Set([`$$slots`,`$$events`,`$$legacy`]);function an(e,t){let n=R(t,rn),r={name:`folder`,size:24,node:[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`}]]};J(e,H(()=>n,{get icon(){return r}}))}var on=new Set([`$$slots`,`$$events`,`$$legacy`]);function sn(e,t){let n=R(t,on),r={name:`forward`,size:24,node:[[`path`,{d:`m15 17 5-5-5-5`}],[`path`,{d:`M4 18v-2a4 4 0 0 1 4-4h12`}]]};J(e,H(()=>n,{get icon(){return r}}))}var cn=new Set([`$$slots`,`$$events`,`$$legacy`]);function ln(e,t){let n=R(t,cn),r={name:`git-branch`,size:24,node:[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`circle`,{cx:`6`,cy:`18`,r:`3`}]]};J(e,H(()=>n,{get icon(){return r}}))}var un=new Set([`$$slots`,`$$events`,`$$legacy`]);function dn(e,t){let n=R(t,un),r={name:`git-commit-horizontal`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`}]],aliases:[`git-commit`]};J(e,H(()=>n,{get icon(){return r}}))}var fn=new Set([`$$slots`,`$$events`,`$$legacy`]);function pn(e,t){let n=R(t,fn),r={name:`git-fork`,size:24,node:[[`circle`,{cx:`12`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`circle`,{cx:`18`,cy:`6`,r:`3`}],[`path`,{d:`M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9`}],[`path`,{d:`M12 12v3`}]]};J(e,H(()=>n,{get icon(){return r}}))}var mn=new Set([`$$slots`,`$$events`,`$$legacy`]);function hn(e,t){let n=R(t,mn),r={name:`git-merge`,size:24,node:[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`}]]};J(e,H(()=>n,{get icon(){return r}}))}var gn=new Set([`$$slots`,`$$events`,`$$legacy`]);function _n(e,t){let n=R(t,gn),r={name:`git-pull-request`,size:24,node:[[`circle`,{cx:`18`,cy:`18`,r:`3`}],[`circle`,{cx:`6`,cy:`6`,r:`3`}],[`path`,{d:`M13 6h3a2 2 0 0 1 2 2v7`}],[`line`,{x1:`6`,x2:`6`,y1:`9`,y2:`21`}]]};J(e,H(()=>n,{get icon(){return r}}))}var vn=new Set([`$$slots`,`$$events`,`$$legacy`]);function yn(e,t){let n=R(t,vn),r={name:`hand`,size:24,node:[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]]};J(e,H(()=>n,{get icon(){return r}}))}var bn=new Set([`$$slots`,`$$events`,`$$legacy`]);function xn(e,t){let n=R(t,bn),r={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`}]],aliases:[`home`]};J(e,H(()=>n,{get icon(){return r}}))}var Sn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Cn(e,t){let n=R(t,Sn),r={name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 16v-4`}],[`path`,{d:`M12 8h.01`}]]};J(e,H(()=>n,{get icon(){return r}}))}var wn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Tn(e,t){let n=R(t,wn),r={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`}]]};J(e,H(()=>n,{get icon(){return r}}))}var En=new Set([`$$slots`,`$$events`,`$$legacy`]);function Dn(e,t){let n=R(t,En),r={name:`layers`,size:24,node:[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]],aliases:[`layers-3`]};J(e,H(()=>n,{get icon(){return r}}))}var On=new Set([`$$slots`,`$$events`,`$$legacy`]);function kn(e,t){let n=R(t,On),r={name:`link`,size:24,node:[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`}]]};J(e,H(()=>n,{get icon(){return r}}))}var An=new Set([`$$slots`,`$$events`,`$$legacy`]);function jn(e,t){let n=R(t,An),r={name:`list-todo`,size:24,node:[[`path`,{d:`M13 5h8`}],[`path`,{d:`M13 12h8`}],[`path`,{d:`M13 19h8`}],[`path`,{d:`m3 17 2 2 4-4`}],[`rect`,{x:`3`,y:`4`,width:`6`,height:`6`,rx:`1`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Mn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Nn(e,t){let n=R(t,Mn),r={name:`loader`,size:24,node:[[`path`,{d:`M12 2v4`}],[`path`,{d:`m16.2 7.8 2.9-2.9`}],[`path`,{d:`M18 12h4`}],[`path`,{d:`m16.2 16.2 2.9 2.9`}],[`path`,{d:`M12 18v4`}],[`path`,{d:`m4.9 19.1 2.9-2.9`}],[`path`,{d:`M2 12h4`}],[`path`,{d:`m4.9 4.9 2.9 2.9`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Pn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Fn(e,t){let n=R(t,Pn),r={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`}],[`path`,{d:`M4 12h16`}],[`path`,{d:`M4 19h16`}]]};J(e,H(()=>n,{get icon(){return r}}))}var In=new Set([`$$slots`,`$$events`,`$$legacy`]);function Ln(e,t){let n=R(t,In),r={name:`message-square-reply`,size:24,node:[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}],[`path`,{d:`m10 8-3 3 3 3`}],[`path`,{d:`M17 14v-1a2 2 0 0 0-2-2H7`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Rn=new Set([`$$slots`,`$$events`,`$$legacy`]);function zn(e,t){let n=R(t,Rn),r={name:`message-square`,size:24,node:[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Bn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Vn(e,t){let n=R(t,Bn),r={name:`moon`,size:24,node:[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Hn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Un(e,t){let n=R(t,Hn),r={name:`octagon-alert`,size:24,node:[[`path`,{d:`M12 16h.01`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`}]],aliases:[`alert-octagon`]};J(e,H(()=>n,{get icon(){return r}}))}var Wn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Gn(e,t){let n=R(t,Wn),r={name:`panel-top`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Kn=new Set([`$$slots`,`$$events`,`$$legacy`]);function qn(e,t){let n=R(t,Kn),r={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`}],[`path`,{d:`m15 5 4 4`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Jn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Yn(e,t){let n=R(t,Jn),r={name:`play`,size:24,node:[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Xn=new Set([`$$slots`,`$$events`,`$$legacy`]);function Zn(e,t){let n=R(t,Xn),r={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`}],[`path`,{d:`M12 5v14`}]]};J(e,H(()=>n,{get icon(){return r}}))}var Qn=new Set([`$$slots`,`$$events`,`$$legacy`]);function $n(e,t){let n=R(t,Qn),r={name:`power-off`,size:24,node:[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`}],[`path`,{d:`M12 2v4`}],[`path`,{d:`m2 2 20 20`}]]};J(e,H(()=>n,{get icon(){return r}}))}var er=new Set([`$$slots`,`$$events`,`$$legacy`]);function tr(e,t){let n=R(t,er),r={name:`power`,size:24,node:[[`path`,{d:`M12 2v10`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`}]]};J(e,H(()=>n,{get icon(){return r}}))}var nr=new Set([`$$slots`,`$$events`,`$$legacy`]);function rr(e,t){let n=R(t,nr),r={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`}],[`path`,{d:`M8 16H3v5`}]]};J(e,H(()=>n,{get icon(){return r}}))}var ir=new Set([`$$slots`,`$$events`,`$$legacy`]);function ar(e,t){let n=R(t,ir),r={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]]};J(e,H(()=>n,{get icon(){return r}}))}var or=new Set([`$$slots`,`$$events`,`$$legacy`]);function sr(e,t){let n=R(t,or),r={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`}],[`path`,{d:`M12 8v4`}],[`path`,{d:`M12 16h.01`}]]};J(e,H(()=>n,{get icon(){return r}}))}var cr=new Set([`$$slots`,`$$events`,`$$legacy`]);function lr(e,t){let n=R(t,cr),r={name:`sparkles`,size:24,node:[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]],aliases:[`stars`]};J(e,H(()=>n,{get icon(){return r}}))}var ur=new Set([`$$slots`,`$$events`,`$$legacy`]);function dr(e,t){let n=R(t,ur),r={name:`square-terminal`,size:24,node:[[`path`,{d:`m7 11 2-2-2-2`}],[`path`,{d:`M11 13h4`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`}]],aliases:[`terminal-square`]};J(e,H(()=>n,{get icon(){return r}}))}var fr=new Set([`$$slots`,`$$events`,`$$legacy`]);function pr(e,t){let n=R(t,fr),r={name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}]]};J(e,H(()=>n,{get icon(){return r}}))}var mr=new Set([`$$slots`,`$$events`,`$$legacy`]);function hr(e,t){let n=R(t,mr),r={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]],aliases:[`trash-2`]};J(e,H(()=>n,{get icon(){return r}}))}var gr=new Set([`$$slots`,`$$events`,`$$legacy`]);function _r(e,t){let n=R(t,gr),r={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}],[`path`,{d:`M12 9v4`}],[`path`,{d:`M12 17h.01`}]],aliases:[`alert-triangle`]};J(e,H(()=>n,{get icon(){return r}}))}var vr=new Set([`$$slots`,`$$events`,`$$legacy`]);function yr(e,t){let n=R(t,vr),r={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]]};J(e,H(()=>n,{get icon(){return r}}))}var br=new Set([`$$slots`,`$$events`,`$$legacy`,`checked`,`label`,`disabled`,`onchange`,`wait`,`error`]),xr=o(`<span> </span>`),Sr=o(`<label class="sd-switch-row"><button></button> <!></label>`);function Cr(t,r){se(r,!0);let i=W(r,`checked`,15,!1),a=W(r,`disabled`,3,!1),o=W(r,`wait`,3,!1),c=W(r,`error`,15,``),u=R(r,br),f=new yt({name:`A Switch onchange`});y(()=>{c(f.error)});async function p(){if(f.busy)return;let e=i(),t=!i();o()||i(t);let n=await f.run(e=>r.onchange?.(t,e));n.ok?i(t):n.skipped||i(e)}var m=Sr(),h=b(m);E(h,()=>({type:`button`,role:`switch`,class:[`sd-switch`,f.spinning&&`sd-switch-spinning`],"aria-checked":i(),"aria-disabled":f.busy?`true`:void 0,"aria-busy":f.spinning?`true`:void 0,disabled:a(),onclick:p,...u}));var g=O(h,2),_=t=>{var n=xr(),i=e(n,!0);s(()=>l(i,r.label)),d(t,n)};n(g,e=>{r.label&&e(_)}),L(m),d(t,m),F()}var wr=o(`<div class="leash"><div class="leash-choice" role="radiogroup" aria-label="Leash"></div> <span data-keep-open-row=""><!></span> <p class="body-sm sub"> </p></div>`);function Tr(t,n){se(n,!0);let r=xe(),i=e=>r.act({type:`leash`,body:{to:n.s.slot,...e}});var a=wr(),o=b(a);K(o,20,()=>[[`gated`,`Gated`,`Asks you before building and before landing`],[`free`,`Free`,`Builds and lands without asking first`]],([e,t,n])=>e,(e,t)=>{var r=w(()=>S(t,3));let a=()=>g(r)[0],o=()=>g(r)[1],c=()=>g(r)[2];{let t=w(()=>n.s.leash===a()),r=w(()=>n.s.leash===a()?`primary`:`secondary`);Q(e,{role:`radio`,get"aria-checked"(){return g(t)},get title(){return c()},get"data-set-leash"(){return a()},size:`sm`,get variant(){return g(r)},onclick:()=>n.s.leash!==a()&&i({leash:a()}),children:(e,t)=>{V();var n=q();s(()=>l(n,o())),d(e,n)},$$slots:{default:!0}})}}),L(o);var c=O(o,2);Cr(b(c),{label:`Keep open after landing`,get checked(){return n.s.keep_open},onchange:e=>i({keep_open:e})}),L(c);var u=O(c,2),f=e(u,!0);L(a),s(()=>{G(a,`data-leash`,n.s.leash),l(f,n.s.leash===`gated`?`It asks you before building and before landing.`:`It builds and lands without asking first; pushes still need your approval.`)}),d(t,a),F()}var Er=o(`<option> </option>`),Dr=o(` <!>`,1),Or=o(`<p class="body-sm" data-test="followers">Leads <!></p>`),kr=o(`<div class="lead"><label class="sd-field-label">Lead</label> <div class="sd-select-wrap"><select class="sd-input sd-select" data-set-lead=""><option>No lead: it answers to you</option><!></select><!></div> <p class="body-sm sub"> </p> <!> <div><!></div></div>`);function Ar(t,r){se(r,!0);let i=xe(),a=w(()=>Object.keys(i.st.slots).filter(e=>e!==r.s.slot).sort()),o=e=>i.act({type:`lead`,body:e?{to:r.s.slot,lead:e}:{to:r.s.slot}});var c=kr(),u=b(c),p=O(u,2),m=b(p),h=b(m);h.value=h.__value=``;var v=O(h);K(v,16,()=>g(a),e=>e,(t,n)=>{var r=Er(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(m);var y;I(m);var x=O(m);xt(x,{name:`chevron-down`}),L(p);var S=O(p,2),C=e(S,!0),T=O(S,2),E=e=>{var t=Or(),n=O(b(t));K(n,18,()=>r.s.followers,e=>e,(e,t,n)=>{V();var r=Dr(),i=f(r,!0),a=O(i);fe(a,{get slot(){return t}}),s(()=>l(i,g(n)?`, `:``)),d(e,r)}),L(t),d(e,t)};n(T,e=>{r.s.followers.length&&e(E)});var D=O(T,2),k=b(D);Q(k,{variant:`secondary`,size:`sm`,get"data-add-follower"(){return r.s.slot},onclick:()=>i.open(`follower`,r.s.slot),get icon(){return pn},children:(e,t)=>{V();var n=q(`Add follower repo`);d(e,n)},$$slots:{default:!0}}),L(D),L(c),s(()=>{G(c,`data-lead`,r.s.lead??``),G(u,`for`,`lead-${r.s.id??``}`),G(m,`id`,`lead-${r.s.id??``}`),y!==(y=r.s.lead??``)&&(m.value=(m.__value=y)??``,M(m,y)),l(C,r.s.lead?`It takes its lead’s bus messages and approvals as yours, and asks its lead instead of you.`:`Give it a lead to have another slot direct it in your place.`)}),_(`change`,m,e=>o(e.currentTarget.value)),d(t,c),F()}t([`change`]);var jr=o(`<span data-test="chip"><!></span>`);function Mr(e,t){se(t,!0);let i=w(()=>it(t.session)),a={working:`success`,blocked:`warning`,failed:`danger`};var o=r(),c=f(o),u=e=>{var t=jr(),n=b(t);Z(n,{tone:`warning`,dot:!0,children:(e,t)=>{V();var n=q(`waiting on you`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)},p=e=>{var t=jr(),n=b(t);Z(n,{tone:`warning`,dot:!0,children:(e,t)=>{V();var n=q(`quiet`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)},m=e=>{var t=jr(),n=b(t);{let e=w(()=>a[g(i)]??`neutral`);Z(n,{get tone(){return g(e)},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,g(i))),d(e,n)},$$slots:{default:!0}})}L(t),d(e,t)};n(c,e=>{t.session.ask?e(u):t.session.quiet?e(p,1):e(m,-1)}),d(e,o),F()}var Nr=ft().regex(/^(\$COORDINATOR_ROOT|\$DEVELOPMENT|~)(\/.*)?$/,`A path under $COORDINATOR_ROOT, $DEVELOPMENT, or ~, never an absolute one.`),Pr=De([mt(`all`),mt(`none`),Ue(ft())]);function Fr(e,t){return e===`all`?!t.disabled:e!==`none`&&e.includes(t.id)}var Ir=ft().regex(/^[a-z0-9]+(-[a-z0-9]+)*$/,`Name it in lowercase words joined by hyphens.`).max(40,`Keep it to 40 characters.`),Lr=Ir,Rr={agent_started:{label:`Agent started`,when:`An agent starts or resumes in the repo.`,how:`Its handlers are added to the agent's start prompt, after who and where it is.`,source:`The launch, building the start prompt.`},plan_approved:{label:`Plan approved`,when:`The agent records that the user approved its plan, before it builds.`,how:`Its handlers reach the agent in a bus Message, which wakes it.`,source:`issue_plan with approved: true, from the issue's holder.`},land_refused:{label:`Land refused`,when:`The bus refuses the agent's land, or the landing fails.`,how:`Its handlers reach the agent in a bus Message, which wakes it.`,source:`A Landing ending refused or failed.`},pr_feedback:{label:`PR feedback`,when:`The agent's PR gets a review, a comment, a failed check, or a conflict.`,how:`Its handlers reach the agent in a bus Message, which wakes it.`,source:`The PR watcher, telling the slot what changed.`},lead_given:{label:`Lead given`,when:`The user gives the agent's slot a lead.`,how:`Its handlers follow the handover, in a bus Message to the agent.`,source:`The lead Message Type, or a follower brought up under a lead.`},lead_cleared:{label:`Lead cleared`,when:`The user clears the agent's lead.`,how:`Its handlers follow the release, in a bus Message to the agent.`,source:`The lead Message Type with no lead.`},follower_added:{label:`Follower added`,when:`The agent's slot becomes the lead of another.`,how:`Its handlers follow the briefing, in a bus Message to the agent.`,source:`The lead Message Type, or a follower brought up under it.`},follower_removed:{label:`Follower removed`,when:`The user clears the lead of one of the agent's followers.`,how:`Its handlers follow the notice, in a bus Message to the agent.`,source:`The lead Message Type with no lead.`},turn_ended:{label:`Turn ended`,when:`The agent finishes a turn and comes to rest; each handler of it, a Reminder, is given every so many turns, as it says.`,how:`Its handlers come in a quiet bus Message that never wakes the agent; it hears of it on its next turn, and no other is given while one waits.`,source:`The tracker, seeing the agent come to rest in Herdr.`},landed:{label:`Landed`,when:`The agent's work reaches the default branch, before the agent ends.`,how:`Its handlers reach the agent in a bus Message, which wakes it.`,source:`The bus recording the landing, from land or landed.`}},zr=Xe(Object.keys(Rr)),Br={repo:`The agent's repo, as org/repo.`,track:`The agent's track.`,slot:`The agent's slot, as org/repo@track.`,worktree:`The folder the agent works in.`,user:`Your name.`},Vr={plan_approved:{issue:`The issue whose plan was approved.`},land_refused:{issue:`The issue the landing was for.`},pr_feedback:{issue:`The issue the PR is for.`},landed:{issue:`The issue the work landed for.`},lead_given:{lead:`The agent's new lead, a slot.`},lead_cleared:{lead:`The slot that led the agent.`},follower_added:{follower:`The agent's new follower, a slot.`},follower_removed:{follower:`The slot that followed the agent.`},turn_ended:{turns:`How many turns the agent has finished.`}},Hr=e=>({...Br,...Vr[e]}),Ur={profile:{label:`Profile`,plural:`Profiles`},skill_group:{label:`Skills`,plural:`Skills`},handler:{label:`Event handler`,plural:`Event handlers`},event:{label:`Event`,plural:`Events`},skill:{label:`Skill`,plural:`Skills`},action:{label:`Action`,plural:`Actions`},attachment:{label:`Attached folder`,plural:`Attached folders`}};Xe([`profile`,`attachment`]);var Wr=ft().max(300,`Keep it to 300 characters.`),Gr={description:Wr,skills:Ue(ft())},Kr=Le({error:`Say how many turns.`}).int(`Say a whole number of turns.`).min(1,`At least every turn.`).max(100,`At most every 100 turns.`),qr=(e,t)=>e===`turn_ended`?(t??10)===1?`Every turn`:`Every ${t??10} turns`:null,Jr=Pr,Yr=ft().regex(/^(\*|[A-Za-z0-9_.-]+\/(\*|[A-Za-z0-9_.-]+))$/,`Name a Repo as org/repo, an org as org/*, or every Repo as *.`),Xr=(e,t)=>e.some(e=>e===`*`||e===t||e===t.split(`/`)[0]+`/*`),Zr={repo:{label:`The repo view`,variables:[`repo`,`user`]},slot:{label:`The slot view`,variables:[`repo`,`slot`,`track`,`user`]},issue:{label:`The issue view`,variables:[`repo`,`issue`,`user`]}};pt({name:Ir,description:Wr.default(``),skills:Gr.skills.default([])}),Xe([`default`,`extra`,`attached`,`npx`,`plugin`]),pt({attachments:Ee(ft(),dt(()=>ti)).default({})});var Qr=pt({name:Ir,event:zr,text:ft(),every:Kr.optional()}),$r=pt({name:Ir,description:Wr.default(``),label:ft().trim().min(1,`Name the button.`).max(24,`Keep it to 24 characters.`),view:Xe([`repo`,`slot`,`issue`]),task:ft().trim().min(1,`Say what the agent is to do.`)});pt({name:Ir,description:Wr.default(``),skills:Ee(Ir,Jr).default({}),on_for:Ue(Yr).default([]),handlers:Ue(Qr).default([]),actions:Ue($r).default([])});var ei={description:Wr,path:ft().trim().min(1,`Name the folder.`)},ti=pt({name:Ir,description:Wr.default(``),path:Nr});Y({description:Wr,skills:Ee(Ir,Jr),on_for:Ue(Yr),handlers:Ue(Qr),actions:Ue($r)}).partial(),Y(ei).partial();function ni(e,t,n){return e.filter(e=>!e.base&&(e.defaults?!e.off_for?.includes(t):Xr(e.on_for,t))).flatMap(e=>e.actions.filter(e=>!n||e.view===n).map(t=>({...t,profile:e.name})))}function ri(e,t,n){let r=e=>n.order.includes(e.name)?n.order.indexOf(e.name):n.order.length,i=e.filter(e=>!e.base&&!e.defaults&&Xr(e.on_for,t)).sort((e,t)=>r(e)-r(t)||e.name.localeCompare(t.name));return[...e.filter(e=>e.base),...n.defaults===`off`?[]:e.filter(e=>e.defaults),...i]}var ii=e=>`#pf=`+encodeURIComponent(e),ai=e=>e===`handler`?`event`:e===`attachment`?`skill_group`:e,oi=(e,t)=>`#sk=${e}:${encodeURIComponent(t)}`,si=o(`<a class="mono-sm" data-test="about"> </a>`),ci=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="name mono-sm"> </span> <span class="body-sm sub"> </span> <!> <!></div> <div class="body"> </div></div></div>`);function li(t,r){se(r,!0);let i=xe(),a=w(()=>r.m.to!==i.st.bus&&r.m.to!==`user`&&!r.m.delivered);var o=ci(),c=b(o),u=b(c),f=b(u),p=e(f),m=O(f,2),h=e(m),_=O(m,2),v=t=>{var n=si(),i=e(n,!0);s(e=>{G(n,`href`,e),l(i,r.m.about)},[()=>nt(r.m.about)]),d(t,n)};n(_,e=>{r.m.about&&e(v)});var y=O(_,2),x=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Not read yet`);d(e,n)},$$slots:{default:!0}})};n(y,e=>{g(a)&&e(x)}),L(u);var S=O(u,2),C=e(S,!0);L(c),L(o),s(e=>{G(o,`data-msg`,r.m.id),l(p,`${r.m.from??``} → ${r.m.to??``}`),l(h,`${r.m.type??``} · ${e??``}`),l(C,r.m.text)},[()=>ot(r.m.at)]),d(t,o),F()}var ui=new Set([`$$slots`,`$$events`,`$$legacy`,`title`,`sub`,`actions`,`children`]),di=o(`<p class="sd-panel-sub"> </p>`),fi=o(`<div class="actions"><!></div>`),pi=o(`<header class="sd-panel-head"><div><h2 class="sd-panel-title"> </h2> <!></div> <!></header>`),mi=o(`<section><!> <!></section>`);function $(t,r){let i=R(r,ui);var a=mi();E(a,()=>({class:`sd-panel`,...i}));var o=b(a),c=t=>{var i=pi(),a=b(i),o=b(a),c=e(o,!0),u=O(o,2),f=t=>{var n=di(),i=e(n,!0);s(()=>l(i,r.sub)),d(t,n)};n(u,e=>{r.sub&&e(f)}),L(a);var p=O(a,2),m=e=>{var t=fi(),n=b(t);N(n,()=>r.actions),L(t),d(e,t)};n(p,e=>{r.actions&&e(m)}),L(i),s(()=>l(c,r.title)),d(t,i)};n(o,e=>{r.title&&e(c)});var u=O(o,2);N(u,()=>r.children),L(a),d(t,a)}var hi=o(`<a target="_blank" rel="noreferrer"> </a>`),gi=o(`<div class="sd-prop"><dt> </dt> <dd><!></dd> <span></span></div>`),_i=o(`<dl class="sd-props"></dl>`);function vi(t,i){var a=_i();K(a,21,()=>i.rows,e=>e.key,(t,i)=>{var a=gi(),o=b(a),c=e(o,!0),u=O(o,2);let p;var m=b(u),h=e=>{var t=r(),n=f(t);N(n,()=>g(i).show),d(e,t)},_=t=>{var n=hi(),r=e(n,!0);s(()=>{G(n,`href`,g(i).href),l(r,g(i).value)}),d(t,n)},v=e=>{var t=q();s(()=>l(t,g(i).value)),d(e,t)};n(m,e=>{g(i).show?e(h):g(i).href?e(_,1):e(v,-1)}),L(u),V(2),L(a),s(()=>{l(c,g(i).key),G(u,`title`,g(i).value??void 0),G(u,`data-test`,g(i).test),p=x(u,1,``,null,p,{"sd-mono":g(i).mono})}),d(t,a)}),L(a),d(t,a)}var yi=o(`<a data-plan-link=""> </a>`),bi=o(`<a target="_blank" rel="noopener" data-plan-link=""> </a>`),xi=o(`<div class="row-line"><!> <span data-test="plan-state"><!></span> <!></div>`);function Si(t,r){se(r,!0);let i=xe(),a=w(()=>r.i.docs.find(e=>e.path===r.p.link)),o=w(()=>!!g(a)&&!!r.p.approved_at&&r.p.approved_version!==null&&r.p.approved_version!==g(a).version);var c=xi(),u=b(c),f=t=>{var n=yi(),i=e(n,!0);s(e=>{G(n,`href`,e),l(i,r.p.name)},[()=>Ae(g(a).address)]),d(t,n)},p=t=>{var n=bi(),i=e(n,!0);s(()=>{G(n,`href`,r.p.link),l(i,r.p.name)}),d(t,n)};n(u,e=>{g(a)?e(f):e(p,-1)});var m=O(u,2),h=b(m);{let e=w(()=>r.p.approved_at&&!g(o)?`success`:`warning`);Z(h,{get tone(){return g(e)},children:(e,t)=>{V();var n=q();s(e=>l(n,e),[()=>r.p.approved_at?g(o)?`approved version ${r.p.approved_version}, now ${g(a).version}`:`approved ${ot(r.p.approved_at)}`:`not approved yet`]),d(e,n)},$$slots:{default:!0}})}L(m);var _=O(m,2),v=e=>{Q(e,{variant:`primary`,size:`sm`,get"data-approve-plan"(){return r.p.link},onclick:()=>i.act({type:`issue_plan`,body:{issue:r.i.address,link:r.p.link,approved:!0}}),get icon(){return qe},children:(e,t)=>{V();var n=q(`Approve plan`);d(e,n)},$$slots:{default:!0}})};n(_,e=>{(!r.p.approved_at||g(o))&&r.i.state!==`closed`&&e(v)}),L(c),s(()=>G(c,`data-plan`,r.p.link)),d(t,c),F()}var Ci=o(`<a class="mono"> </a>, on top of its Repo's`,1),wi=o(`<a> </a>`),Ti=o(`<span data-test="stage"><!></span>`),Ei=o(`<span><!></span>`),Di=o(`<!> <!> <!>`,1),Oi=o(`<div class="waiting" data-test="waiting"><!> <span> </span></div>`),ki=o(`<div class="waiting"><!> <span><strong>Waiting on you: a follower.</strong> </span> <!> <!></div>`),Ai=o(` <!>`,1),ji=o(`<div class="waiting" data-test="waits-on-followers"><!> <span><strong>Landed, waiting on its followers:</strong> <!>. Its issue closes once they land.</span></div>`),Mi=o(` <a target="_blank" rel="noopener" data-plan-link=""> </a>.`,1),Ni=o(`<div class="waiting" data-test="asks"><!> <span><strong> </strong> <!> </span> <!> <!></div>`),Pi=o(`<div class="waiting" data-test="quiet"><!> <span><strong>Gone quiet:</strong> </span></div>`),Fi=o(`<p class="body-sm" data-test="landing-summary"> </p>`),Ii=o(`<a data-test="landing-change"> </a>`),Li=o(`<a class="mono-sm" target="_blank" rel="noreferrer" data-test="landing-link"> </a>`),Ri=o(`<p class="body-sm reason" data-test="landing-reason"> </p>`),zi=o(`<p class="body-sm reason" data-test="landing-during"> </p>`),Bi=o(`<li> </li>`),Vi=o(`<ul class="commits mono-sm"></ul>`),Hi=o(`<div class="panel-body landing"><div class="row-line"><span data-test="landing-state"><!></span><strong> </strong></div> <!> <!> <!> <!> <!> <!></div>`),Ui=o(`<a class="mono-sm" target="_blank" rel="noreferrer"> </a>`),Wi=o(`<p class="body-sm reason"> </p>`),Gi=o(`<div class="work-pr" data-test="work-pr"><div class="row-line"><!><strong> </strong></div> <!> <p class="body-sm reason"> </p> <!></div>`),Ki=o(`<div class="panel-body landing"></div>`),qi=o(`<div class="panel-body"><!></div>`),Ji=o(`<div class="panel-body" data-test="status"> </div>`),Yi=o(`<div class="panel-body" data-test="task"> </div>`),Xi=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a><span> </span></div> <!></div></div>`),Zi=o(`<div class="rows"></div>`),Qi=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a><span> </span><!></div> <div class="body-sm sub"> </div> <!></div></div>`),$i=o(`<div class="row-item"><div class="row-line"><!><!></div></div>`),ea=o(`<p class="empty">No messages yet.</p>`),ta=o(`<div id="thread" class="rows"></div>`),na=o(`<div class="content-stack"><div class="page-head"><div class="titles"><div class="title-row"><h1 class="title" data-test="track"> </h1><!><!><!></div> <p class="body-sm sub"> </p></div> <div class="actions"><!> <!> <!></div></div> <!> <!> <!> <!> <div class="grid-2"><div class="content-stack"><!> <!> <!> <!> <!></div> <div class="content-stack"><!> <!> <!> <!></div></div> <!> <!></div>`);function ra(t,i){se(i,!0);let a=t=>{var n=Ci(),r=f(n),a=e(r,!0);V(),s(e=>{G(r,`href`,e),l(a,i.s.profile)},[()=>ii(i.s.profile)]),d(t,n)},o=t=>{var n=wi(),r=e(n,!0);s(e=>{G(n,`href`,e),G(n,`data-repo-link`,i.s.repo),l(r,i.s.repo)},[()=>Ne(i.s.repo)]),d(t,n)},c=e=>{var t=r(),a=f(t),o=e=>{var t=q(`you`);d(e,t)},s=e=>{fe(e,{get slot(){return i.s.parent}})},c=e=>{var t=q(`not recorded`);d(e,t)};n(a,e=>{i.s.parent===`user`?e(o):i.s.parent?e(s,1):e(c,-1)}),d(e,t)},u=xe(),p=w(()=>u.st),m=w(()=>i.s.slot?g(p).messages.filter(e=>e.from===i.s.slot||e.to===i.s.slot).reverse():[]),h=w(()=>de(g(p).issues,i.s.ask)),_=w(()=>g(p).issues.filter(e=>e.state===`held`&&e.holder===i.s.slot)),v=w(()=>g(p).issues.filter(e=>e.state===`closed`&&e.closed_by===i.s.slot)),y=w(()=>i.s.repo?ni(g(p).profiles.profiles,i.s.repo,`slot`):[]),x=w(()=>[{key:`Slot`,value:i.s.slot,mono:!0,test:`slot`},{key:`Track`,value:i.s.track,mono:!0},{key:`Repo`,value:we(i.s),mono:!0,test:`repo`,show:g(p).repos.some(e=>e.repo===i.s.repo)?o:void 0},{key:`Agent type`,value:i.s.type},...i.s.profile?[{key:`Profile`,show:a,test:`profile`}]:[],{key:`Started by`,show:c},{key:`Started`,value:ot(i.s.started)},...i.s.pane?[{key:`Herdr pane`,value:i.s.pane,mono:!0}]:[],{key:`Session ID`,value:i.s.id,mono:!0,test:`uuid`},...i.s.properties.map(e=>({key:e.name,value:e.value,test:`property-${e.name}`,href:e.link}))]);var S=na(),C=b(S),T=b(C),E=b(T),D=b(E),k=e(D,!0),A=O(D);Mr(A,{get session(){return i.s}});var j=O(A),M=e=>{var t=Ti(),n=b(t);Z(n,{tone:`info`,children:(e,t)=>{V();var n=q();s(()=>l(n,i.s.stage)),d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(j,e=>{i.s.slot&&e(M)});var ee=O(j);K(ee,17,()=>i.s.badges,e=>e.name,(e,t)=>{var n=Ei(),r=b(n);Z(r,{get tone(){return g(t).tone},children:(e,n)=>{V();var r=q();s(()=>l(r,g(t).label)),d(e,r)},$$slots:{default:!0}}),L(n),s(e=>{G(n,`data-slot-badge`,g(t).name),G(n,`title`,`Set by ${g(t).by??``}, ${e??``}`)},[()=>ot(g(t).at)]),d(e,n)}),L(E);var N=O(E,2),P=e(N);L(T);var I=O(T,2),R=b(I),z=e=>{var t=Di(),n=f(t);K(n,17,()=>g(y),e=>e.profile+e.name,(e,t)=>{Q(e,{variant:`secondary`,get"data-action"(){return g(t).name},get title(){return g(t).description},onclick:()=>u.open(`action`,`${g(t).profile}/${g(t).name}|${i.s.slot}`),get icon(){return Yn},children:(e,n)=>{V();var r=q();s(()=>l(r,g(t).label)),d(e,r)},$$slots:{default:!0}})});var r=O(n,2);Q(r,{variant:`secondary`,get"data-to"(){return i.s.slot},onclick:()=>u.open(`send`,i.s.slot),get icon(){return zn},children:(e,t)=>{V();var n=q(`Message`);d(e,n)},$$slots:{default:!0}});var a=O(r,2);Q(a,{variant:`secondary`,get"data-secrets"(){return i.s.slot},title:`Its worktree's .env.secrets`,onclick:()=>u.go(Qe(i.s.slot)),get icon(){return Tn},children:(e,t)=>{V();var n=q(`Secrets`);d(e,n)},$$slots:{default:!0}}),d(e,t)};n(R,e=>{i.s.slot&&e(z)});var te=O(R,2),ne=e=>{Q(e,{variant:`secondary`,get"data-stop"(){return i.s.slot},onclick:()=>u.act({type:`stop`,body:{to:i.s.slot}}),get icon(){return pr},children:(e,t)=>{V();var n=q(`Stop`);d(e,n)},$$slots:{default:!0}})};n(te,e=>{i.s.ended||e(ne)});var B=O(te,2);Q(B,{variant:`danger`,get"data-trash"(){return i.s.id},"aria-label":`Clean up`,title:`Clean up`,onclick:()=>u.open(`cleanup`,i.s.id),get icon(){return hr},children:(e,t)=>{V();var n=q(`Clean up`);d(e,n)},$$slots:{default:!0}}),L(I),L(C);var re=O(C,2),H=t=>{var n=Oi(),r=b(n);_r(r,{class:`sd-icon`,size:16,strokeWidth:2});var a=O(r,2),o=e(a);L(n),s(()=>l(o,`Waiting in its Herdr tab${i.s.pane?` (pane ${i.s.pane})`:``}, likely on Claude's folder trust screen. Answer it there.`)),d(t,n)},U=w(()=>Ie(i.s));n(re,e=>{g(U)&&e(H)});var ie=O(re,2);K(ie,17,()=>i.s.follower_requests,e=>e.id,(e,t)=>{var n=ki(),r=b(n);pn(r,{class:`sd-icon`,size:16,strokeWidth:2});var i=O(r,2),a=O(b(i));L(i);var o=O(i,2);Q(o,{variant:`secondary`,size:`sm`,get"data-decline-follower"(){return g(t).id},onclick:()=>u.act({type:`follower_answer`,body:{request:g(t).id,approve:!1}}),children:(e,t)=>{V();var n=q(`Decline`);d(e,n)},$$slots:{default:!0}});var c=O(o,2);Q(c,{variant:`primary`,size:`sm`,get"data-approve-follower"(){return g(t).id},onclick:()=>u.act({type:`follower_answer`,body:{request:g(t).id,approve:!0}}),children:(e,t)=>{V();var n=q(`Approve`);d(e,n)},$$slots:{default:!0}}),L(n),s(()=>{G(n,`data-follower-request`,g(t).id),l(a,` It asks for ${g(t).repo??``} as its follower${g(t).existing?`, taking over the slot or worktree already there`:``}: ${g(t).task??``}`)}),d(e,n)});var ae=O(ie,2),W=e=>{var t=ji(),n=b(t);pn(n,{class:`sd-icon`,size:16,strokeWidth:2});var r=O(n,2),a=O(b(r),2);K(a,18,()=>i.s.waits_on,e=>e,(e,t,n)=>{V();var r=Ai(),i=f(r,!0),a=O(i);fe(a,{get slot(){return t}}),s(()=>l(i,g(n)?`, `:``)),d(e,r)}),V(),L(r),L(t),d(e,t)};n(ae,e=>{i.s.waits_on.length&&e(W)});var oe=O(ae,2),ce=t=>{var r=Ni(),a=b(r);yn(a,{class:`sd-icon`,size:16,strokeWidth:2});var o=O(a,2),c=b(o),p=e(c),m=O(c),_=O(m),v=t=>{var n=Mi(),r=f(n,!0);r.nodeValue=` `;var i=O(r),a=e(i,!0);V(),s(()=>{G(i,`href`,g(h).plan.link),l(a,g(h).plan.name)}),d(t,n)};n(_,e=>{g(h)&&e(v)});var y=O(_);L(o);var x=O(o,2),S=e=>{Q(e,{variant:`primary`,size:`sm`,get"data-respond"(){return i.s.id},onclick:()=>u.open(`respond`,i.s.id),get icon(){return Ln},children:(e,t)=>{V();var n=q(`Respond`);d(e,n)},$$slots:{default:!0}})};n(x,e=>{g(h)&&e(S)});var C=O(x,2),w=e=>{Q(e,{variant:`secondary`,size:`sm`,get"data-open-pane"(){return i.s.id},onclick:()=>u.focus(i.s.id),get icon(){return Gn},children:(e,t)=>{V();var n=q(`Open its pane`);d(e,n)},$$slots:{default:!0}})};n(C,e=>{i.s.pane&&e(w)}),L(r),s(()=>{l(p,`Waiting on you: ${Ce[i.s.ask.kind]??``}.`),l(m,` ${i.s.ask.text??``}`),l(y,` ${g(h)?`Respond here, or in its session.`:`Answer it in its session, in its Herdr pane.`}`)}),d(t,r)},le=e=>{var t=Pi(),n=b(t);Vn(n,{class:`sd-icon`,size:16,strokeWidth:2});var r=O(n,2),a=O(b(r));L(r),L(t),s(e=>l(a,` at rest since ${e??``} with nothing asked. Message it, or open its pane.`),[()=>ot(i.s.idle_since)]),d(e,t)};n(oe,e=>{i.s.ask?e(ce):i.s.quiet&&e(le,1)});var ue=O(oe,2),J=b(ue),Y=b(J);$(Y,{title:`Properties`,children:(e,t)=>{vi(e,{get rows(){return g(x)}})},$$slots:{default:!0}});var pe=O(Y,2),he=t=>{{let r=w(()=>`${i.s.landing.method===`pr`?`By pull request`:i.s.landing.method===`push`?`By push to the default branch`:`No method chosen`} · ${ot(i.s.landing.updated_at)}`);$(t,{title:`Landing`,get sub(){return g(r)},"data-test":`landing`,children:(t,r)=>{var a=Hi(),o=b(a),c=b(o),u=b(c);Z(u,{get tone(){return me[i.s.landing.state].tone},children:(e,t)=>{V();var n=q();s(()=>l(n,me[i.s.landing.state].label)),d(e,n)},$$slots:{default:!0}}),L(c);var f=O(c),p=e(f,!0);L(o);var m=O(o,2),h=t=>{var n=Fi(),r=e(n,!0);s(()=>l(r,i.s.landing.summary)),d(t,n)};n(m,e=>{i.s.landing.summary&&e(h)});var g=O(m,2),_=t=>{var n=Ii(),r=e(n);s(e=>{G(n,`href`,e),l(r,`Its summary in ${i.s.landing.repo??``}'s landings`)},[()=>ge(i.s.landing.repo,i.s.landing.change)]),d(t,n)};n(g,e=>{i.s.landing.change&&e(_)});var v=O(g,2),y=t=>{var n=Li(),r=e(n,!0);s(()=>{G(n,`href`,i.s.landing.link),l(r,i.s.landing.link)}),d(t,n)};n(v,e=>{i.s.landing.link&&e(y)});var x=O(v,2),S=t=>{var n=Ri(),r=e(n,!0);s(()=>l(r,i.s.landing.reason)),d(t,n)};n(x,e=>{i.s.landing.reason&&e(S)});var C=O(x,2),w=t=>{var n=zi(),r=e(n);s(e=>l(r,`During landing ran ${e??``}: ${i.s.landing.during.ok?`finished`:`failed`}${i.s.landing.during.note?`, ${i.s.landing.during.note}`:``}`),[()=>ot(i.s.landing.during.at)]),d(t,n)};n(C,e=>{i.s.landing.during&&e(w)});var T=O(C,2),E=t=>{var n=Vi();K(n,20,()=>i.s.landing.commits,e=>e,(t,n)=>{var r=Bi(),i=e(r,!0);s(()=>l(i,n)),d(t,r)}),L(n),d(t,n)};n(T,e=>{i.s.landing.commits.length&&e(E)}),L(a),s(()=>l(p,i.s.landing.title)),d(t,a)},$$slots:{default:!0}})}};n(pe,e=>{i.s.landing&&e(he)});var _e=O(pe,2),ve=t=>{$(t,{title:`Pull requests`,sub:`Opened with pr as part of the work, never a landing`,"data-test":`work-prs`,children:(t,r)=>{var a=Ki();K(a,21,()=>i.s.work_prs,e=>e.link??e.at,(t,r)=>{var i=Gi(),a=b(i),o=b(a);Z(o,{get tone(){return Te[g(r).state].tone},children:(e,t)=>{V();var n=q();s(()=>l(n,Te[g(r).state].label)),d(e,n)},$$slots:{default:!0}});var c=O(o),u=e(c,!0);L(a);var f=O(a,2),p=t=>{var n=Ui(),i=e(n,!0);s(()=>{G(n,`href`,g(r).link),l(i,g(r).link)}),d(t,n)};n(f,e=>{g(r).link&&e(p)});var m=O(f,2),h=e(m),_=O(m,2),v=t=>{var n=Wi(),i=e(n,!0);s(()=>l(i,g(r).reason)),d(t,n)};n(_,e=>{g(r).reason&&e(v)}),L(i),s(e=>{l(u,g(r).title),l(h,`${g(r).repo??``}: ${g(r).head??``} into ${g(r).base??``} · ${e??``}${g(r).about?` · ${g(r).about}`:``}`)},[()=>ot(g(r).at)]),d(t,i)}),L(a),d(t,a)},$$slots:{default:!0}})};n(_e,e=>{i.s.work_prs?.length&&e(ve)});var ye=O(_e,2),X=e=>{$(e,{title:`Leash`,children:(e,t)=>{var n=qi();Tr(b(n),{get s(){return i.s}}),L(n),d(e,n)},$$slots:{default:!0}})};n(ye,e=>{i.s.slot&&!i.s.ended&&e(X)});var be=O(ye,2),Se=e=>{$(e,{title:`Lead`,children:(e,t)=>{var n=qi();Ar(b(n),{get s(){return i.s}}),L(n),d(e,n)},$$slots:{default:!0}})};n(be,e=>{i.s.slot&&e(Se)}),L(J);var Ee=O(J,2),De=b(Ee),Oe=t=>{{let n=w(()=>i.s.status_at?`Reported ${ot(i.s.status_at)}`:void 0);$(t,{title:`Description`,get sub(){return g(n)},children:(t,n)=>{var r=Ji(),a=e(r,!0);s(()=>l(a,i.s.status)),d(t,r)},$$slots:{default:!0}})}};n(De,e=>{i.s.status&&e(Oe)});var Ae=O(De,2),je=t=>{$(t,{title:`Task`,children:(t,n)=>{var r=Yi(),a=e(r,!0);s(()=>l(a,i.s.task)),d(t,r)},$$slots:{default:!0}})};n(Ae,e=>{i.s.task&&e(je)});var Me=O(Ae,2),Pe=t=>{$(t,{title:`Issues it holds`,children:(t,n)=>{var r=Zi();K(r,21,()=>g(_),e=>e.address,(t,n)=>{var r=Xi(),i=b(r),a=b(i),o=b(a),c=e(o,!0),u=O(o),f=e(u,!0);L(a);var p=O(a,2);K(p,17,()=>g(n).plans,e=>e.link,(e,t)=>{Si(e,{get i(){return g(n)},get p(){return g(t)}})}),L(i),L(r),s(e=>{G(o,`href`,e),l(c,g(n).address),l(f,g(n).title)},[()=>nt(g(n).address)]),d(t,r)}),L(r),d(t,r)},$$slots:{default:!0}})};n(Me,e=>{g(_).length&&e(Pe)});var Fe=O(Me,2),Le=t=>{$(t,{title:`Issues it finished`,sub:`Closed by this slot on its track, newest first`,"data-test":`finished`,children:(t,n)=>{var r=Zi();K(r,21,()=>g(v),e=>e.address,(t,n)=>{let r=w(()=>ke(g(n)));var i=Qi(),a=b(i),o=b(a),c=b(o),u=e(c,!0),f=O(c),p=e(f,!0),m=O(f);Z(m,{get tone(){return g(r).tone},children:(e,t)=>{V();var n=q();s(()=>l(n,g(r).label)),d(e,n)},$$slots:{default:!0}}),L(o);var h=O(o,2),_=e(h),v=O(h,2);K(v,17,()=>g(n).plans,e=>e.link,(e,t)=>{Si(e,{get i(){return g(n)},get p(){return g(t)}})}),L(a),L(i),s((e,t)=>{G(i,`data-finished`,g(n).address),G(c,`href`,e),l(u,g(n).address),l(p,g(n).title),l(_,`${t??``}${g(n).closing_note?`: ${g(n).closing_note}`:``}`)},[()=>nt(g(n).address),()=>ot(g(n).state_at)]),d(t,i)}),L(r),d(t,r)},$$slots:{default:!0}})};n(Fe,e=>{g(v).length&&e(Le)}),L(Ee),L(ue);var Re=O(ue,2),ze=e=>{$(e,{title:`Agents it started`,children:(e,t)=>{var r=Zi();K(r,20,()=>i.s.started_ids,e=>e,(e,t)=>{let r=w(()=>g(p).sessions[t]);var i=$i(),a=b(i),o=b(a);fe(o,{get id(){return t}});var s=O(o),c=e=>{Mr(e,{get session(){return g(r)}})};n(s,e=>{g(r)&&e(c)}),L(a),L(i),d(e,i)}),L(r),d(e,r)},$$slots:{default:!0}})};n(Re,e=>{i.s.started_ids.length&&e(ze)}),$(O(Re,2),{title:`Messages`,children:(e,t)=>{var n=ta();K(n,21,()=>g(m),e=>e.id,(e,t)=>{li(e,{get m(){return g(t)}})},e=>{var t=ea();d(e,t)}),L(n),d(e,n)},$$slots:{default:!0}}),L(S),s(()=>{G(S,`data-detail`,i.s.id),l(k,i.s.track),l(P,`Agent · ${i.s.type??``}`)}),d(t,S),F()}var ia=o(`<span data-test="state" role="img"><!></span>`);function aa(e,t){se(t,!0);let n={waiting:{icon:yn,label:`waiting on you`},landed:{icon:qe,label:`landed`},blocked:{icon:sr,label:`blocked on a prompt`},paused:{icon:Bt,label:`paused`},pr_open:{icon:_n,label:`PR open`},landing:{icon:hn,label:`landing`},quiet:{icon:Vn,label:`quiet`},working:{icon:wt,label:`working`},starting:{icon:Nn,label:`starting`},failed:{icon:Ht,label:`failed`},gone:{icon:Rt,label:`gone`},stopped:{icon:Rt,label:`stopped`},idle:{icon:Wt,label:`idle`},done:{icon:Wt,label:`done`},unknown:{icon:Wt,label:`unknown`}},r=w(()=>{if(t.session.ask)return`waiting`;if(t.session.stage===`landed`)return`landed`;let e=it(t.session);return e===`blocked`||e===`paused`?e:!t.session.ended&&(t.session.stage===`pr_open`||t.session.stage===`landing`)?t.session.stage:t.session.quiet?`quiet`:e in n?e:`unknown`}),i=w(()=>t.session.ask?`waiting on you: ${t.session.ask.kind}`:n[g(r)].label),a=w(()=>n[g(r)].icon);var o=ia(),c=b(o);m(c,()=>g(a),(e,t)=>{t(e,{size:14,strokeWidth:2})}),L(o),s(()=>{x(o,1,`state-icon s-${g(r)??``}`),G(o,`data-state`,g(r)),G(o,`title`,g(i)),G(o,`aria-label`,g(i))}),d(e,o),F()}function oa(e,t){let n=e.safeParse(t);return n.success?``:n.error.issues[0]?.message??`Not valid.`}var sa=ft().trim().regex($e,`Use a GitHub name: letters, digits, and single dashes, at most 39.`),ca=ft().trim().min(1,`Name is required.`).max(200,`Keep the name under 200 characters.`),la=Pe(`Enter an email address, like you@example.com.`),ua=ft().trim().max(1e3).regex(/^(~\/|\/)[^\0\n]+$/,`Name a key file by its full path, or ~/.ssh/....`).nullable();pt({login:sa,ssh_key:ua.default(null),name:ca,email:la,orgs:Ue(sa).default([])});var da=`A track is a git branch name of at most 100 characters, such as fix-login or web/login: no spaces or ~^:?*[\\, no .. or //, and no part starting with a dot or ending in .lock.`,fa=`Not a git branch name.`,pa=/[\x00-\x20\x7f~^:?*[\\]|\.\.|\/\/|@\{|^[-/]|\/$|\.$|(^|\/)\.|\.lock(\/|$)/;function ma(e){return!!e&&e!==`@`&&e!==`HEAD`&&!pa.test(e)}ft().refine(ma,fa);var ha=ft().max(100,da).refine(ma,da);function ga(e){let[t,n]=Be(e,`@`);return Je(t)&&ha.safeParse(n).success}var _a=ft().refine(ga,{error:e=>`'${String(e.input)}' is not a slot, org/repo@track`});function va(e,t){let n=e.toLowerCase();for(let r of t)if(r!==e&&r.toLowerCase()===n)return r;return null}function ya(e,t,n){let[r,i]=Be(t,`@`),a=`${e}@${i}`,o=(t,n=null)=>({repo:e,slot:a,kind:t,lead:n});if(e===r)return o(`own`);let s=n(a);if(s===void 0)return o(`new`);if(s===t)return o(`follows`);if(s)return o(`led`,s);let c=new Set;for(let e=t;e&&!c.has(e);e=n(e)){if(e===a)return o(`loop`);c.add(e)}return o(`existing`)}function ba(e,t){switch(e.kind){case`new`:return`A new agent starts at ${e.slot}, led by ${t}.`;case`existing`:return`${e.slot} already exists; it becomes ${t}'s follower only if you make existing slots followers.`;case`worktree`:return`A worktree is already at ${e.slot}'s place; it is adopted as ${t}'s follower only if you make existing slots followers.`;case`follows`:return`${e.slot} already follows ${t}.`;case`led`:return`${e.slot} is led by ${e.lead}; clear or change its lead first.`;case`loop`:return`${e.slot} already leads ${t}, so it cannot follow it.`;case`own`:return`${e.repo} is ${t}'s own repo; a follower is another repo on its track.`}}var xa=(e,t)=>e.kind===`new`||e.kind===`follows`||(e.kind===`existing`||e.kind===`worktree`)&&t,Sa=o(`<span class="sd-tab-count"> </span>`),Ca=o(`<button type="button" role="tab" class="sd-tab"> <!></button>`),wa=o(`<div class="sd-tabs" role="tablist" tabindex="-1"></div>`);function Ta(t,r){se(r,!0);let i=W(r,`value`,15),a=W(r,`label`,3,`Sections`),o=w(()=>i()??r.items[0]?.id),c;function u(e){i(e),r.onchange?.(e)}function f(e){let t=r.items.findIndex(e=>e.id===g(o)),n=r.items.length-1,i={ArrowRight:t===n?0:t+1,ArrowLeft:t===0?n:t-1,Home:0,End:n}[e.key];i!==void 0&&(e.preventDefault(),u(r.items[i].id),c.querySelectorAll(`[role="tab"]`)[i]?.focus())}var p=wa();K(p,21,()=>r.items,e=>e.id,(t,r)=>{var i=Ca(),a=b(i),c=O(a),f=t=>{var n=Sa(),i=e(n,!0);s(()=>l(i,g(r).count)),d(t,n)};n(c,e=>{g(r).count!=null&&e(f)}),L(i),s(()=>{G(i,`aria-selected`,g(r).id===g(o)),G(i,`tabindex`,g(r).id===g(o)?0:-1),l(a,`${g(r).label??``} `)}),_(`click`,i,()=>u(g(r).id)),d(t,i)}),L(p),ee(p,e=>c=e,()=>c),s(()=>G(p,`aria-label`,a())),_(`keydown`,p,f),d(t,p),F()}t([`keydown`,`click`]);var Ea=new Set([`$$slots`,`$$events`,`$$legacy`,`label`,`hint`,`error`,`mono`,`value`,`id`,`class`]),Da=o(`<label class="sd-field-label"> </label>`),Oa=o(`<div class="sd-field-error"> </div>`),ka=o(`<div class="sd-field-hint"> </div>`),Aa=o(`<div><!> <input/> <!></div>`);function ja(t,r){let i=p();se(r,!0);let a=W(r,`mono`,3,!1),o=W(r,`value`,15,``),c=R(r,Ea),u=w(()=>r.id??`sd-field-${i}`),f=w(()=>`${g(u)}-note`);var m=Aa(),h=b(m),_=t=>{var n=Da(),i=e(n,!0);s(()=>{G(n,`for`,g(u)),l(i,r.label)}),d(t,n)};n(h,e=>{r.label&&e(_)});var v=O(h,2);E(v,()=>({id:g(u),class:[`sd-input`,a()&&`sd-input-mono`],"aria-invalid":r.error?`true`:void 0,"aria-describedby":r.error||r.hint?g(f):void 0,...c}),void 0,void 0,void 0,void 0,!0);var y=O(v,2),S=t=>{var n=Oa(),i=e(n,!0);s(()=>{G(n,`id`,g(f)),l(i,r.error)}),d(t,n)},C=t=>{var n=ka(),i=e(n,!0);s(()=>{G(n,`id`,g(f)),l(i,r.hint)}),d(t,n)};n(y,e=>{r.error?e(S):r.hint&&e(C,1)}),L(m),s(()=>x(m,1,ce([`sd-field`,r.class]))),ie(v,o),d(t,m),F()}var Ma=o(`<span class="sd-sr" role="status"> </span>`),Na=o(`<div class="sd-filter"><!> <input class="sd-input" type="search" autocomplete="off" spellcheck="false"/> <!></div>`);function Pa(t,r){se(r,!0);let i=W(r,`value`,15,``),a=W(r,`label`,3,`Filter`),o=W(r,`placeholder`,3,`Filter`);var c=Na(),u=b(c);xt(u,{name:`search`});var f=O(u,2);P(f);var p=O(f,2),m=t=>{var n=Ma(),i=e(n);s(()=>l(i,`${r.shown??``} of ${r.total??``} shown`)),d(t,n)};n(p,e=>{i()&&r.shown!=null&&r.total!=null&&e(m)}),L(c),s(()=>{G(f,`aria-label`,a()),G(f,`placeholder`,o())}),_(`keydown`,f,e=>{e.key===`Escape`&&i()&&(e.preventDefault(),i(``))}),ie(f,i),d(t,c),F()}t([`keydown`]);function Fa(e,...t){let n=String(e??``).toLowerCase().split(/\s+/).filter(Boolean);if(!n.length)return!0;let r=t.filter(e=>e!=null).join(` `).toLowerCase();return n.every(e=>r.includes(e))}var Ia=o(`<span class="sd-fb-picked"> </span> <!> <!>`,1),La=o(`<span aria-current="location"> </span>`),Ra=o(`<button type="button"> </button>`),za=o(`<li><!> <!></li>`),Ba=o(`<div><!></div>`),Va=o(`<div class="sd-fb-note" role="alert"><span class="sd-field-error"> </span> <!></div>`),Ha=o(`<div class="sd-fb-note" role="status"><span class="sd-spinner" aria-hidden="true"></span> </div>`),Ua=o(`<p class="sd-fb-note"> </p>`),Wa=o(`<span class="sd-fb-meta"> </span>`),Ga=o(`<li role="option"><!> <span class="sd-fb-name"> </span> <!> <span class="sd-fb-meta"> </span></li>`),Ka=o(`<ul class="sd-fb-items" role="listbox" tabindex="0"></ul>`),qa=o(`<div class="sd-fb"><div class="sd-fb-bar"><!> <nav class="sd-fb-crumbs" aria-label="Folder path"><ol></ol></nav></div> <!> <div class="sd-fb-list"><!></div></div>`);function Ja(t,r){let a=p();se(r,!0);let o=W(r,`open`,15,!1),u=W(r,`mode`,3,`file`),m=W(r,`multiple`,3,!1),h=W(r,`path`,3,`/`),v=W(r,`root`,3,`/`),S=W(r,`rootLabel`,3,`Home`),C=W(r,`filter`,3,!1),T=U(oe(h())),E=U(oe([])),D=U(oe([])),k=U(0),A=U(``),j=U(!1),M=U(!1),N=U(!1),P=U(``),I=U(void 0),R=null,te=!1,ne=w(()=>r.title??(u()===`folder`?`Choose a folder`:m()?`Choose files`:`Choose a file`)),B=e=>e.length>1&&e.endsWith(`/`)?e.slice(0,-1):e,re=w(()=>B(v())),H=w(()=>{let e=B(g(T)).slice(g(re).length).split(`/`).filter(Boolean),t=[{label:S(),path:g(re)}],n=g(re);for(let r of e)n=n.endsWith(`/`)?n+r:n+`/`+r,t.push({label:r,path:n});return t}),ie=w(()=>B(g(T))===g(re)),ae=new Intl.Collator(void 0,{numeric:!0,sensitivity:`base`}),le=w(()=>[...g(E)].sort((e,t)=>e.type===t.type?ae.compare(e.name,t.name):e.type===`folder`?-1:1)),ue=w(()=>C()?g(le).filter(e=>Fa(g(A),e.name)):g(le)),J=e=>e.type===`folder`?u()===`folder`:u()===`file`&&(!r.accept?.length||r.accept.some(t=>e.name.toLowerCase().endsWith(t.toLowerCase()))),de=w(()=>g(E).filter(e=>g(D).includes(e.path)));y(()=>{let e=h();if(!o())return c(()=>R?.abort());te=!0,c(()=>Y(e))});async function Y(e){(g(I)?.contains(document.activeElement)||g(I)===document.activeElement)&&(te=!0),R?.abort();let t=new AbortController;R=t,z(T,B(e)||g(re),!0),z(D,[],!0),z(k,0),z(A,``),z(P,``),z(j,!0),z(N,!1);let n=setTimeout(()=>!t.signal.aborted&&z(M,!0),vt.spinnerAfter),o=setTimeout(()=>!t.signal.aborted&&z(N,!0),vt.slowAfter),s;try{s=await r.list(g(T),{signal:t.signal})}catch(e){if(t.signal.aborted)return;console.error(e),s=_t.failed}finally{clearTimeout(n),clearTimeout(o)}t.signal.aborted||(z(j,z(M,z(N,!1),!0),!0),typeof s==`string`?(z(P,s,!0),z(E,[],!0)):z(E,s,!0),te&&(te=!1,await i(),document.getElementById(`sd-fb-${a}-list`)?.focus()))}function fe(){if(!g(ie))return Y(g(H)[g(H).length-2].path)}function pe(){o(!1),r.onclose?.()}function me(e){J(e)&&(m()&&u()===`file`?z(D,g(D).includes(e.path)?g(D).filter(t=>t!==e.path):[...g(D),e.path],!0):z(D,g(D)[0]===e.path?[]:[e.path],!0))}function he(e){e.type===`folder`?Y(e.path):J(e)&&(z(D,m()?g(D).includes(e.path)?g(D):[...g(D),e.path]:[e.path],!0),g(I)?.closest(`form`)?.requestSubmit())}function ge(e){let t=g(ue).length;if(e.key===`Backspace`)return e.preventDefault(),fe();if(!t)return;let n=e=>{z(k,Math.max(0,Math.min(t-1,e)),!0),document.getElementById(`sd-fb-${a}-${g(k)}`)?.scrollIntoView({block:`nearest`})};if(e.key===`ArrowDown`)n(g(k)+1);else if(e.key===`ArrowUp`)n(g(k)-1);else if(e.key===`Home`)n(0);else if(e.key===`End`)n(t-1);else if(e.key===`Enter`)he(g(ue)[g(k)]);else if(e.key===` `)me(g(ue)[g(k)]);else return;e.preventDefault()}async function _e(){let e=u()===`folder`&&!g(D).length?[g(T)]:g(D);if(!e.length)return!1;let t=u()===`folder`&&!g(D).length?[{name:g(H).at(-1).label,path:g(T),type:`folder`}]:g(de),n=await r.onselect({paths:e,entries:t});if(typeof n==`string`&&n)return n}let ve=e=>e==null?``:e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<1073741824?`${(e/1048576).toFixed(1)} MB`:`${(e/1073741824).toFixed(1)} GB`,ye=e=>e?new Date(e).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`,timeZone:/^\d{4}-\d{2}-\d{2}$/.test(e)?`UTC`:void 0}):``,X=w(()=>u()===`folder`?g(D).length?`Select folder`:`Select this folder`:g(D).length>1?`Select ${g(D).length} files`:`Select`);{let i=t=>{var n=Ia(),r=f(n),i=e(r,!0),a=O(r,2);Q(a,{variant:`quiet`,cancel:!0,onclick:pe,children:(e,t)=>{V();var n=q(`Cancel`);d(e,n)},$$slots:{default:!0}});var o=O(a,2);{let e=w(()=>g(j)||!!g(P)||u()===`file`&&!g(D).length);Q(o,{type:`submit`,variant:`primary`,get disabled(){return g(e)},children:(e,t)=>{V();var n=q();s(()=>l(n,g(X))),d(e,n)},$$slots:{default:!0}})}s(e=>{G(r,`title`,e),l(i,u()===`folder`&&!g(D).length?g(T):g(D).length===1?g(D)[0]:g(D).length?`${g(D).length} files`:`Nothing selected`)},[()=>u()===`folder`&&!g(D).length?g(T):g(D).join(`
2
+ `)]),d(t,n)},c=w(()=>u()===`folder`?`folder`:`file`);ze(t,{get title(){return g(ne)},get description(){return r.description},get icon(){return g(c)},size:`lg`,get onclose(){return r.onclose},onsubmit:_e,get open(){return o()},set open(e){o(e)},footer:i,children:(t,r)=>{var i=qa(),o=b(i),c=b(o);{let e=w(()=>g(ie)||g(j));Ye(c,{icon:`arrow-up`,label:`Up one folder`,get disabled(){return g(e)},onclick:fe})}var u=O(c,2),f=b(u);K(f,23,()=>g(H),e=>e.path,(t,r,i)=>{var a=za(),o=b(a),c=e=>{xt(e,{name:`chevron-right`})};n(o,e=>{g(i)>0&&e(c)});var u=O(o,2),f=t=>{var n=La(),i=e(n,!0);s(()=>l(i,g(r).label)),d(t,n)},p=t=>{var n=Ra(),i=e(n,!0);s(()=>l(i,g(r).label)),_(`click`,n,()=>Y(g(r).path)),d(t,n)};n(u,e=>{g(i)===g(H).length-1?e(f):e(p,-1)}),L(a),d(t,a)}),L(f),L(u),L(o);var p=O(o,2),h=e=>{var t=Ba();Pa(b(t),{label:`Filter this folder`,get shown(){return g(ue).length},get total(){return g(E).length},get value(){return g(A)},set value(e){z(A,e,!0)}}),L(t),_(`keydown`,t,e=>{e.key===`Enter`&&(e.preventDefault(),g(I)?.focus())}),d(e,t)};n(p,e=>{C()&&e(h)});var v=O(p,2),y=b(v),S=t=>{var n=Va(),r=b(n),i=e(r,!0),a=O(r,2);Q(a,{size:`sm`,icon:`refresh-cw`,onclick:()=>Y(g(T)),children:(e,t)=>{V();var n=q(`Retry`);d(e,n)},$$slots:{default:!0}}),L(n),s(()=>l(i,g(P))),d(t,n)},F=e=>{var t=Ha(),n=O(b(t),1,!0);L(t),s(()=>l(n,g(N)?_t.slow:`Loading`)),d(e,t)},R=t=>{var n=Ua(),r=e(n,!0);s(()=>l(r,g(A)?`Nothing here matches “${g(A)}”.`:`This folder is empty.`)),d(t,n)},te=t=>{var r=Ka();K(r,23,()=>g(ue),e=>e.path,(t,r,i)=>{var o=Ga(),c=b(o);xt(c,{get name(){return g(r).type}});var u=O(c,2),f=e(u,!0),p=O(u,2),m=e=>{xt(e,{name:`chevron-right`,class:`sd-fb-go`})},h=t=>{var n=Wa(),i=e(n,!0);s(e=>l(i,e),[()=>ve(g(r).size)]),d(t,n)};n(p,e=>{g(r).type===`folder`?e(m):e(h,-1)});var v=O(p,2),y=e(v,!0);L(o),s((e,t,n,s)=>{G(o,`id`,`sd-fb-${a}-${g(i)??``}`),x(o,1,e),G(o,`aria-selected`,t),G(o,`aria-disabled`,n),l(f,g(r).name),l(y,s)},[()=>ce([`sd-fb-item`,g(i)===g(k)&&`sd-fb-active`,!J(g(r))&&g(r).type===`file`&&`sd-fb-dim`]),()=>g(D).includes(g(r).path),()=>!J(g(r))&&g(r).type===`file`?`true`:void 0,()=>ye(g(r).modified)]),_(`click`,o,()=>{z(k,g(i),!0),me(g(r))}),_(`dblclick`,o,()=>he(g(r))),d(t,o)}),L(r),ee(r,e=>z(I,e),()=>g(I)),s(e=>{G(r,`id`,`sd-fb-${a}-list`),G(r,`aria-label`,`Contents of ${e??``}`),G(r,`aria-multiselectable`,m()?`true`:void 0),G(r,`aria-activedescendant`,g(ue).length?`sd-fb-${a}-${g(k)}`:void 0)},[()=>g(H).at(-1)?.label]),_(`keydown`,r,ge),d(t,r)};n(y,e=>{g(P)?e(S):g(M)?e(F,1):!g(j)&&!g(ue).length?e(R,2):g(j)||e(te,3)}),L(v),L(i),s(()=>G(v,`aria-busy`,g(j)?`true`:void 0)),d(t,i)},$$slots:{footer:!0,default:!0}})}F()}t([`click`,`keydown`,`dblclick`]);var Ya=(t,n=j,r=j,i=j)=>{var a=Za();K(a,21,n,e=>e.repo,(t,n)=>{var i=Xa(),a=f(i),o=b(a),c=e(o,!0);L(a);var u=O(a,2);let p;var m=e(u,!0);s((e,t)=>{G(a,`data-fate`,g(n).kind),G(a,`data-fate-repo`,g(n).repo),l(c,g(n).slot),p=x(u,1,`sd-field-hint`,null,p,{"sd-field-error":e}),l(m,t)},[()=>!xa(g(n),!0),()=>ba(g(n),r())]),d(t,i)}),L(a),s(()=>G(a,`data-test`,i())),d(t,a)},Xa=o(`<div class="row-line"><span class="mono"> </span></div> <span> </span>`,1),Za=o(`<div class="content-stack" style="gap: var(--space-2)"></div>`),Qa=o(`<div class="content-stack" style="gap: var(--space-1)"><!></div>`),$a=o(`<div class="sd-field"><span class="sd-field-label">Folder</span> <div class="row-line"><span class="mono"> </span> <!></div> <p class="sd-field-hint">One skill, a folder of skills, or a repo with a skills/ folder. Under your home folder.</p></div>`),eo=o(`<option> </option>`),to=o(`<div class="sd-field"><label class="sd-field-label" for="to">To</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="to"></select><!></div></div> <div class="sd-field"><label class="sd-field-label" for="text">Message</label> <textarea class="sd-input sd-textarea" id="text" rows="4" required=""></textarea></div>`,1),no=o(`<!> <div class="sd-field"><label class="sd-field-label" for="repo">Repo</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="repo" required=""><option>Choose a repo</option><!></select><!></div></div> <div class="sd-field"><label class="sd-field-label" for="type">Agent type</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="type"></select><!></div> <span class="sd-field-hint" id="type-desc"> </span></div> <div class="sd-field"><label class="sd-field-label" for="task">Task</label> <textarea class="sd-input sd-textarea" id="task" rows="4" required=""></textarea></div> <div class="sd-field"><label class="sd-field-label" for="leash">Leash</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="leash"><option>Gated: asks you before building and before landing</option><option>Free: builds and lands without asking first</option></select><!></div></div> <!>`,1),ro=o(`<!> <div class="sd-field"><label class="sd-field-label" for="issue-type">Type</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="issue-type"></select><!></div></div> <!>`,1),io=o(`<div class="sd-field"><label class="sd-field-label" for="issue-repo">Repo</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="issue-repo" required=""><option>Choose a repo</option><!></select><!></div></div> <!> <div class="sd-field"><label class="sd-field-label" for="issue-description"> </label> <textarea class="sd-input sd-textarea" id="issue-description" required=""></textarea></div>`,1),ao=o(`<span class="sd-field-hint"> </span>`),oo=o(`<span class="sd-field-hint">This repo's issues are not grouped yet: Group issues on the Issues page to find the ones to do together.</span>`),so=o(`<div><!></div> <!>`,1),co=o(`<div class="sd-field" data-test="track-batch"><span class="sd-field-label">Do together</span> <!> <div class="content-stack" style="gap: var(--space-2)"><!> <!></div></div>`),lo=o(`<div class="sd-field"><span class="sd-field-label">Follower repos</span> <!></div> <!>`,1),uo=o(`<!> <div class="sd-field"><label class="sd-field-label" for="track-type">Agent type</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="track-type"></select><!></div></div> <div class="sd-field"><label class="sd-field-label" for="track-task">Task</label> <textarea class="sd-input sd-textarea" id="track-task" rows="6" required=""></textarea></div> <!> <!>`,1),fo=o(`<label class="check"><input type="radio" name="pass-to"/><span class="mono"> </span><span class="body-sm sub"> </span></label>`),po=o(`<div class="sd-field"><span class="sd-field-label" id="pass-to-label">Slot</span> <div class="content-stack" style="gap: var(--space-2)" role="radiogroup" aria-labelledby="pass-to-label"></div> <span class="sd-field-hint">A slot with no agent running is brought back up by the message.</span></div> <div class="sd-field"><label class="sd-field-label" for="pass-text">Note</label> <textarea class="sd-input sd-textarea" id="pass-text" rows="3" placeholder="Anything it should know."></textarea></div> <!>`,1),mo=o(`<p class="body sub" data-test="no-slots"> </p>`),ho=o(`<!> <!>`,1),go=o(`<div class="sd-field"><label class="sd-field-label" for="follower-type">Agent type</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="follower-type"></select><!></div></div> <div class="sd-field"><label class="sd-field-label" for="follower-task">Task</label> <textarea class="sd-input sd-textarea" id="follower-task" rows="4" required=""></textarea></div>`,1),_o=o(`<div class="sd-field"><label class="sd-field-label" for="follower-repo">Repo</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="follower-repo" required=""><option>Choose a repo</option><!></select><!></div></div> <!> <!>`,1),vo=o(`<div class="sd-field"><label class="sd-field-label" for="issue-follower-repo">Repo</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="issue-follower-repo" required=""><option>Choose a repo</option><!></select><!></div></div>`),yo=o(`<div class="sd-field"><label class="sd-field-label" for="block-on">Waits on</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="block-on" required=""><option>Choose an issue</option><!></select><!></div> <span class="sd-field-hint">Any issue in any repo. One that already waits on this one is refused.</span></div>`),bo=o(`<div class="sd-field"><label class="sd-field-label" for="comment-text">Comment</label> <textarea class="sd-input sd-textarea" id="comment-text" rows="4" required=""></textarea></div>`),xo=o(`<div class="sd-field"><label class="sd-field-label" for="close-text">What was done</label> <textarea class="sd-input sd-textarea" id="close-text" rows="3" required="" placeholder="Fixed in 4441b75."></textarea></div>`),So=o(`<label class="check"><input type="checkbox"/> </label>`),Co=o(`<div data-test="not-landed"><b>Its work has not landed</b>: its stage is <span class="mono"> </span>, so the worktree and branch are left unticked.</div>`),wo=o(`<div data-test="changes"><b>Uncommitted changes in its worktree</b>, lost if the worktree is deleted:<pre> </pre></div>`),To=o(`<div data-test="unpushed"><b>Commits on no remote</b>, lost if the branch is deleted:<pre> </pre></div>`),Eo=o(`<div id="cleanup-steps" class="content-stack" style="gap: var(--space-2)"></div> <div id="cleanup-warnings" class="body-sm"><!> <!> <!></div>`,1),Do=o(`<!> <div class="sd-field"><label class="sd-field-label" for="action-task">Task</label> <textarea class="sd-input sd-textarea" id="action-task" rows="5" required=""></textarea></div>`,1),Oo=o(`<p class="body-sm sub">Add it again at any time.</p>`),ko=o(`<!> <!> <!>`,1),Ao=o(`<p class="body-sm" data-test="respond-plan"><a target="_blank" rel="noopener" data-plan-link=""> </a> </p>`),jo=o(`<p class="body-sm sub" data-test="respond-ask"> </p>`),Mo=o(`<!> <!> <div class="sd-field"><label class="sd-field-label" for="response">Comment</label> <textarea class="sd-input sd-textarea" id="response" rows="4" placeholder="What to change, or a note to go with your approval"></textarea></div>`,1),No=o(`<div class="sd-field"><label class="sd-field-label" for="login-pick">GitHub login</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="login-pick" required="" aria-describedby="login-pick-note"><option>Choose a login</option><!><option>Sign in to GitHub…</option></select><!></div> <div class="sd-field-hint" id="login-pick-note"> </div></div>`),Po=o(`<p class="sd-field-hint" role="status" data-test="sign-in-note"> </p>`),Fo=o(`<!> <div class="sd-field"><label class="sd-field-label" for="login-key">SSH key</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="login-key" aria-describedby="login-key-note"><option>Make a new key</option><!></select><!></div> <div class="sd-field-hint" id="login-key-note"> </div></div> <!> <!> <div class="sd-field" role="group" aria-labelledby="login-orgs-label"><span class="sd-field-label" id="login-orgs-label">Orgs</span> <!> <div class="row-line"><!> <!></div> <div class="sd-field-hint">Every repo of these orgs the bus keeps commits and pushes as this login.</div></div> <!>`,1),Io=o(`<div class="sd-field"><label class="sd-field-label" for="org-login-pick">GitHub login</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="org-login-pick" required=""><option>Choose a login</option><!><option>Add a login…</option></select><!></div></div>`),Lo=o(`<!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!>`,1);function Ro(t,a){se(a,!0);let o=[],u=(e,t=j)=>{var n=Qa(),r=b(n),i=()=>!!g(Ye)[t().address],a=e=>g(Ye)[t().address]=e;Cr(r,{get label(){return`${t().slug??``}: ${t().title??``}`},get checked(){return i()},set checked(e){a(e)}}),L(n),s(()=>G(n,`data-batch`,t().address)),d(e,n)},p=(t,n=j)=>{var r=$a(),i=b(r),a=O(i,2),o=b(a),c=e(o,!0),u=O(o,2);Q(u,{variant:`secondary`,size:`sm`,icon:`folder`,onclick:()=>z(Dn,!0),children:(e,t)=>{V();var n=q();s(()=>l(n,g(En)?`Choose another`:`Choose a folder`)),d(e,n)},$$slots:{default:!0}}),L(a),V(2),L(r),s(()=>{G(i,`id`,`${n()??``}-label`),G(o,`id`,n()),G(o,`aria-labelledby`,`${n()??``}-label`),l(c,g(En)||`None chosen yet`)}),d(t,r)},m=xe(),h=w(()=>m.st),_=oe({send:!1,start:!1,issue:!1,comment:!1,close:!1,cleanup:!1,track:!1,pass:!1,repo:!1,"forget-repo":!1,block:!1,follower:!1,"issue-follower":!1,part:!1,"part-edit":!1,respond:!1,login:!1,"org-login":!1,action:!1}),v=U(``),x=U(``),S=U(``),T=w(()=>g(v)?g(h)?.sessions[g(v)]:void 0),E=w(()=>g(T)&&g(h)?de(g(h).issues,g(T).ask):null),D=U(``),k=U(``),A=U(``),M=U(``),ee=U(``),N=U(``),R=U(`gated`),ne=U(!1),re=U(``),H=U(``),W=w(()=>g(h)?.types.find(e=>e.name===g(ee))?.description??``);function ce(e,t){let n=e.trim();if(!n)return``;let r=oa(ha,n);if(r)return r;let i=g(h)?.repos.find(e=>e.repo===t)?.default_branch;if(i&&i.toLowerCase()===n.toLowerCase())return`${n} is the default branch of ${t}. Name a track of its own.`;let a=va(n,g(h)?Object.values(g(h).sessions).map(e=>e.track):[]);return a?`${n} differs from ${a} only by case. Name it ${a} or something else.`:``}let le=w(()=>ce(g(M),g(re))),ue=U(`write`),J=U(``),Y=U(``),fe=U(``),pe=U(`task`),me=U(``),ge=U(``),_e=w(()=>g(Y)?oa(Fe,g(Y))||(g(h)?.issues.some(e=>e.repo===g(J)&&e.slug===g(Y))?`${g(J)}#${g(Y)} is taken. Choose another slug.`:``):``),ye=w(()=>g(fe)?oa(We,g(fe)):``),X=U(``),be=U(``),Se=U(``),Ce=U(``),we=U(``),Te=w(()=>{let e=g(h)?.issues.find(e=>e.address===g(X));return(g(h)?.issues??[]).filter(t=>t.address!==g(X)&&!e?.blocked_by.includes(t.address)&&t.state!==`closed`)}),Ee=U(``),De=U(``),Oe=U(null),ke=U(``),Ae=w(()=>g(h)?.issues.find(e=>e.address===g(X))),je=U(``),Me=U(``),Pe=U(``),Ie=U(``),Le=U(!1),Re=U(``),ze=w(()=>ce(g(je),g(Ae)?.repo??``)),Be=U(!1),Ve=w(()=>(g(h)?.issues??[]).filter(e=>g(Ae)&&e.repo===g(Ae).repo&&e.address!==g(Ae).address&&e.state===`open`&&!e.blocked&&!e.followers.length)),Z=w(()=>g(Ae)?g(h)?.groupings[g(Ae).repo]:void 0),He=w(()=>g(Ae)&&g(h)?he(g(h).groupings,g(Ae)):null),Ue=w(()=>(g(He)?.with??[]).flatMap(e=>g(Ve).filter(t=>t.address===e))),Ge=w(()=>g(Ve).filter(e=>!g(Ue).includes(e))),Ke=U(!1),Ye=U(oe({})),Xe=w(()=>g(h)?[...new Set(Object.values(g(h).sessions).filter(e=>e.track===g(je).trim()).map(e=>e.repo??``))].sort():[]),Qe=U(``),$e=U(``),et=U(``),tt=w(()=>g(h)&&g(Ae)?Object.entries(g(h).slots).filter(([e])=>e.startsWith(g(Ae).repo+`@`)).map(([e,t])=>({slot:e,state:g(h).sessions[t].ended?`no agent running`:g(h).sessions[t].state})).sort((e,t)=>e.slot.localeCompare(t.slot)):[]),it=w(()=>g(h)?Object.keys(g(h).slots).sort():[]),ot=w(()=>g(h)?ve(g(h)):()=>void 0),st=(e,t)=>e.map(e=>ya(e,t,g(ot))),ut=(e,t)=>e.filter(e=>!xa(e,t)),dt=U(``),ft=U(``),pt=U(``),mt=U(``),gt=U(!1),_t=U(``),vt=w(()=>(g(h)?.repos??[]).map(e=>e.repo).filter(e=>!g(dt).startsWith(e+`@`))),yt=w(()=>g(ft)?st([g(ft)],g(dt)):[]),bt=e=>e.some(e=>e.kind===`existing`||e.kind===`worktree`),St=U(!1),Ct=w(()=>g(Ae)&&g(je).trim()?st(g(Ae).followers,`${g(Ae).repo}@${g(je).trim()}`):[]),wt=U(!1),Tt=w(()=>g(Ae)&&g(Qe)?st(g(Ae).followers,g(Qe)):[]),Et=e=>(e.followers??[]).filter(e=>e.outcome===`failed`).map(e=>`${e.slot} did not come up: ${e.reason}`).join(` `),Dt=U(``),Ot=U(``),kt=w(()=>g(Ae)?(g(h)?.repos??[]).map(e=>e.repo).filter(e=>e!==g(Ae).repo&&!g(Ae).followers.includes(e)):[]),At=U(``),jt=U(``),Mt=U(``),Nt=w(()=>g(h)?.repos.find(e=>e.repo.toLowerCase()===g(At).toLowerCase())?.repo??``),Pt=w(()=>g(At).trim()?Je(g(At))?g(Nt)?`${g(Nt)} is already kept.`:``:at:``);function Ft(e){let t=lt(e);t&&t!==e?(z(jt,e.trim(),!0),z(At,t,!0)):(e!==g(At)&&z(jt,``),z(At,e,!0))}y(()=>{g(h)&&!g(ee)&&g(h).types.length&&z(ee,g(h).types[0].name,!0)}),y(()=>{let e=m.dialog;e&&c(()=>void It(e.kind,e.arg).finally(e.shown))});async function It(e,t){if(e===`send`)t&&z(D,t,!0),z(A,``);else if(e===`start`)z(H,``);else if(e===`issue`)z(J,t,!0),z(ge,``),z(ue,`write`);else if(e===`comment`)z(X,t,!0),z(Se,``);else if(e===`close`)z(X,t,!0),z(De,``);else if(e===`track`){z(X,t,!0);let e=g(h)?.issues.find(e=>e.address===t);z(je,e?.slug??``,!0),z(Me,g(h)?.types[0]?.name??``,!0),z(Pe,`Work on the issue ${t}: ${e?.title??``}.`+(e?.description?`\n\n${e.description}`:``)),z(Ie,``),z(Re,``),z(St,!1),z(Be,!1),z(Ke,!1),Rt(t);let n=e&&g(h)?he(g(h).groupings,e)?.with??[]:[];z(Ye,Object.fromEntries(n.map(e=>[e,!0])),!0)}else if(e===`follower`)z(dt,t,!0),z(ft,``),z(pt,g(h)?.types[0]?.name??``,!0),z(mt,`Follow ${t} on its track. Introduce yourself to it on the bus, then do the work it hands you.`),z(gt,!1),z(_t,``);else if(e===`issue-follower`)z(X,t,!0),z(Dt,``),z(Ot,``);else if(e===`block`)z(X,t,!0),z(Ce,``),z(we,``);else if(e===`pass`)z(X,t,!0),z(Qe,``),z($e,``),z(wt,!1),z(et,``);else if(e===`repo`)z(At,z(jt,z(Mt,``),!0),!0);else if(e===`login`){z(X,t,!0);let e=g(h)?.logins.find(e=>e.login===t);z(Qt,{login:e?.login??``,ssh_key:e?.ssh_key??``,name:e?.name??g(h)?.settings.find(e=>e.name===`user_name`)?.value??``,email:e?.email??``,orgs:e?.orgs??(fn?[fn]:[])},!0),z($t,``),z(en,[],!0),z(tn,{},!0),fn=``,z(dn,``)}else if(e===`org-login`)z(X,t,!0),z(pn,g(h)?.logins.find(e=>e.orgs.some(e=>e.toLowerCase()===t.toLowerCase()))?.login??``,!0),z(dn,``);else if(e===`action`){let[e,n]=t.split(`|`),[r,i]=e.split(`/`);z(Fn,g(h)?ni(g(h).profiles.profiles,n.split(`@`)[0].split(`#`)[0]).find(e=>e.profile===r&&e.name===i)??null:null,!0),z(In,n,!0),z(zn,``),z(Ln,`${i}-${new Date().toISOString().slice(0,10)}`),z(Rn,Hn(g(Fn)?.task??``,n),!0)}else if(e===`forget-repo`)z(X,t,!0),z(Zt,``);else if(e===`part`)z(xn,z(Sn,z(Cn,``),!0),!0),z(En,``);else if(e===`part-edit`){let e=t.split(`:`).at(-1)??``;z(xn,e,!0),z(Sn,g(h)?.profiles.skill_groups.find(t=>t.name===e)?.description??``,!0),z(En,g(h)?.profiles.skill_groups.find(t=>t.name===e)?.folder??``,!0),z(Cn,``)}else if(e===`respond`)z(v,t,!0),z(S,``);else if(e===`cleanup`){let e=await(await fetch(`cleanup.json?s=`+encodeURIComponent(t),{cache:`no-store`})).json();if(e.error){m.note=e.error;return}z(Oe,e,!0),z(ke,``)}await i(),_[e]=!0,e===`part`&&(await i(),z(Dn,!0))}function Lt(e){_[e]=!1}async function Rt(e){z(Le,!0);let t=await m.post(`track-draft`,{issue:e});z(Le,!1),t.error||g(X)!==e||(t.track&&z(je,t.track,!0),t.suggested?z(Re,`${t.slug} is already a track, so this name was suggested.`):t.track||z(Re,`${t.slug} is already a track. Name this one something else.`))}async function zt(){let e=g(Ae),t=g(Ve).filter(e=>g(Ye)[e.address]).map(e=>e.address);z(Be,!0);let n=await m.act({type:`start`,body:{type:g(Me),track:g(je).trim(),task:g(Pe),repo:e.repo,issue:e.address,...t.length?{also:t}:{},...g(St)?{existing:!0}:{}}});if(n.error)return z(Be,!1),z(Ie,n.error,!0),!1;Lt(`track`),n.held?m.held(n.held,`The start is held: ${n.reason}. ${e.address} is already held by its slot.`):m.go(ct(n.session)),Et(n)&&(m.note=Et(n))}async function Bt(){let e=g(Ae),t=await m.act({type:`issue_assign`,body:{issue:e.address,to:g(Qe),...g(wt)?{existing:!0}:{}}});if(t.error)return z(et,t.error,!0),!1;let n=`You hold the issue ${e.address} now: ${e.title}.`+(g($e).trim()?`\n\n${g($e).trim()}`:``),r=await m.act({type:`message`,body:{to:g(Qe),text:n,about:e.address}});if(r.error)return z(et,`${g(Qe)} holds it, but the message failed: ${r.error}`),!1;Lt(`pass`),m.note=Et(t)}async function Vt(){let e=await m.act({type:`follower`,body:{lead:g(dt),repo:g(ft),type:g(pt),task:g(mt),...g(gt)?{existing:!0}:{}}});if(e.error)return z(_t,e.error,!0),!1;Lt(`follower`),m.note=Et(e)}async function Ht(){let e=await m.act({type:`issue_followers`,body:{issue:g(X),repos:[...g(Ae)?.followers??[],g(Dt)]}});if(e.error)return z(Ot,e.error,!0),!1;Lt(`issue-follower`)}async function Ut(){let e=await m.act({type:`message`,body:{to:g(D),text:g(k)}});if(e.error)return z(A,e.error,!0),!1;z(k,``),Lt(`send`)}async function Wt(){let e=await m.act({type:`start`,body:{type:g(ee),track:g(M).trim(),task:g(N),repo:g(re),leash:g(R),keep_open:g(ne)}});if(e.error)return z(H,e.error,!0),!1;z(N,``),z(M,``),Lt(`start`),m.go(ct(e.session))}async function Gt(){if(g(ue)===`write`){let e=await m.post(`issue-draft`,{text:g(me),repo:g(J)});return e.error?(z(ge,e.error,!0),!1):(z(fe,e.draft?.title??``,!0),z(pe,e.draft?.type??`task`,!0),z(Y,e.draft?.slug??``,!0),z(ge,e.draft?``:`Couldn't draft it. Fill in the title and slug.`,!0),z(ue,`edit`),!1)}let e=Object.fromEntries(Object.entries({slug:g(Y).trim(),title:g(fe),type:g(pe),description:g(me),repo:g(J)}).filter(([,e])=>e)),t=await m.act({type:`issue_open`,body:e});if(t.error)return z(ge,t.error,!0),!1;Lt(`issue`),z(Y,z(fe,z(me,z(J,``),!0),!0),!0),z(pe,`task`),z(ue,`write`),m.go(nt(t.issue))}async function Kt(){let e=await m.act({type:`issue_comment`,body:{issue:g(X),text:g(be)}});if(e.error)return z(Se,e.error,!0),!1;z(be,``),Lt(`comment`)}async function qt(){let e=await m.act({type:`issue_block`,body:{issue:g(X),on:g(Ce)}});if(e.error)return z(we,e.error,!0),!1;Lt(`block`)}async function Jt(){let e=await m.act({type:`issue_close`,body:{issue:g(X),note:g(Ee)}});if(e.error)return z(De,e.error,!0),!1;z(Ee,``),Lt(`close`)}async function Yt(){let e=g(Oe).steps.filter(e=>e.ticked).map(e=>e.step),t=await m.post(`cleanup`,{session:g(Oe).session,steps:e});if(t.error)return z(ke,t.error,!0),!1;Lt(`cleanup`),m.go(``),await m.poll()}async function Xt(){let e=await m.act({type:`repo_add`,body:{repo:g(At)}});if(e.error)return z(Mt,e.error,!0),!1;Lt(`repo`),m.go(Ne(e.repo.repo))}let Zt=U(``),Qt=U(oe({login:``,ssh_key:``,name:``,email:``,orgs:[]})),$t=U(``),en=U(oe([])),tn=U(oe({})),nn=()=>g(tn).name=oa(ca,g(Qt).name)||void 0,rn=()=>g(tn).email=oa(la,g(Qt).email)||void 0,an=w(()=>g(h)?.sign_in??null),on=w(()=>g(an)?g(an).state===`waiting`?g(an).code?`Open ${g(an).url} and enter ${g(an).code}. This updates once you approve it there.`:`Starting the sign-in…`:g(an).text??``:``);y(()=>{g(an)?.state===`done`&&g(an).login&&g(Qt).login===mn&&(g(Qt).login=g(an).login)}),y(()=>{!_.login&&c(()=>g(an)&&g(an).state!==`failed`&&!g(hn).has(g(an).login??``))&&m.post(`act`,{type:`github_sign_in`,body:{action:`cancel`}})});let sn=w(()=>[...new Set([...(g(h)?.repos??[]).map(e=>e.repo.split(`/`)[0]),...(g(h)?.logins??[]).flatMap(e=>e.orgs),...g(Qt).orgs,...g(en)])].sort((e,t)=>e.localeCompare(t))),cn=e=>g(h)?.logins.find(t=>t.login!==g(X)&&t.orgs.some(t=>t.toLowerCase()===e.toLowerCase()))?.login;function ln(e,t){g(Qt).orgs=t?[...g(Qt).orgs,e]:g(Qt).orgs.filter(t=>t!==e)}function un(){let e=g($t).trim(),t=g(sn).find(t=>t.toLowerCase()===e.toLowerCase());e&&!t&&z(en,[...g(en),e],!0),e&&!g(Qt).orgs.some(t=>t.toLowerCase()===e.toLowerCase())&&(g(Qt).orgs=[...g(Qt).orgs,t??e]),z($t,``)}let dn=U(``),fn=``,pn=U(``),mn=`+sign-in`,hn=w(()=>new Set(g(h)?.logins.map(e=>e.login)??[])),gn=w(()=>!!g(Qt).login||!!g(X)),_n=w(()=>`~/.ssh/id_ed25519_github_${(g(Qt).login===mn?`<login>`:g(Qt).login||`<login>`).toLowerCase()}`),vn=w(()=>g(Qt).ssh_key?`The bus uploads its public key to the login unless GitHub already has it; every push and fetch uses it.`:`The bus makes ${g(_n)} and uploads its public key to the login.`);async function yn(){if(nn(),rn(),g(tn).name||g(tn).email)return!1;if(g(Qt).login===mn){let e=await m.post(`act`,{type:`github_sign_in`,body:{action:`start`}});return z(dn,e.error??``,!0),await m.poll(),!1}let e=await m.post(`act`,{type:`login_set`,body:{...g(Qt),ssh_key:g(Qt).ssh_key||null}});if(z(dn,e.error??``,!0),e.error)return!1;Lt(`login`),await m.poll()}async function bn(){if(g(pn)===mn){Lt(`org-login`),fn=g(X),m.open(`login`);return}let e=await m.act({type:`org_login`,body:{org:g(X),login:g(pn)}});if(e.error)return z(dn,e.error,!0),!1;Lt(`org-login`),await m.poll()}let xn=U(``),Sn=U(``),Cn=U(``),wn=w(()=>{if(!g(xn))return``;let e=!!g(h)?.profiles.skill_groups.some(e=>e.name===g(xn));return oa(Ir,g(xn))||(e?`A skill group named ${g(xn)} exists. Choose another name.`:``)});async function Tn(){let e=await m.act({type:`profile_save`,body:{kind:`attachment`,name:g(xn),change:An()}});if(e.error)return z(Cn,e.error,!0),!1;Lt(`part`),m.go(oi(`skill_group`,g(xn)))}let En=U(``),Dn=U(!1);async function On(e){let t=await m.post(`act`,{type:`folders`,body:{path:e}});return t.error??t.entries}function kn({paths:e}){z(En,e[0],!0),_.part&&!g(xn)&&z(xn,(e[0].split(`/`).at(-1)??``).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``),!0)}let An=()=>({description:g(Sn),path:g(En)});async function jn(){let e=await m.act({type:`profile_save`,body:{kind:`attachment`,name:g(xn),change:An()}});if(e.error)return z(Cn,e.error,!0),!1;Lt(`part-edit`)}async function Mn(){if(!g(x).trim())return!0;let e=await m.act({type:`message`,body:{to:g(T).slot,text:g(x),about:g(T).ask?.about??void 0}});return e.error?(z(S,e.error,!0),!1):(z(x,``),!0)}async function Nn(){if(!await Mn())return!1}async function Pn(){if(!g(E)||!await Mn())return;let e=await m.act({type:`issue_plan`,body:{issue:g(E).issue.address,link:g(E).plan.link,approved:!0}});if(e.error)return z(S,e.error,!0),!1;Lt(`respond`)}let Fn=U(null),In=U(``),Ln=U(``),Rn=U(``),zn=U(``),Bn=w(()=>g(In).split(`@`)[0].split(`#`)[0]),Vn=w(()=>ce(g(Ln),g(Bn)));function Hn(e,t){let n={repo:t.split(`@`)[0].split(`#`)[0],user:g(h)?.settings.find(e=>e.name===`user_name`)?.value||`the user`,slot:t.includes(`@`)?t:``,track:t.split(`@`)[1]??``,issue:t.includes(`#`)?t:``};return e.replace(/\{\{(\w+)\}\}/g,(e,t)=>n[t]??e)}async function Un(){let e=g(Fn),t=g(Ln).trim(),n=g(In).includes(`#`)?g(In):`${g(Bn)}#${t}`;if(!g(In).includes(`#`)){let r=await m.act({type:`issue_open`,body:{slug:t,title:`${e.label} ${g(In)}`,repo:g(Bn)}});if(r.error)return z(zn,r.error,!0),!1;n=r.issue}let r=await m.act({type:`start`,body:{type:`free`,track:t,task:g(Rn),repo:g(Bn),issue:n,profile:e.profile}});if(r.error)return z(zn,r.error,!0),!1;Lt(`action`),r.held?m.held(r.held,`The start is held: ${r.reason}.`):m.go(ct(r.session))}async function Wn(){let e=await m.act({type:`repo_forget`,body:{repo:g(X)}});if(e.error)return z(Zt,e.error,!0),!1;Lt(`forget-repo`),m.go(`#repos`)}var Gn=Lo(),Kn=f(Gn);Ze(Kn,{id:`send-dialog`,form:`send`,title:`Message a slot`,sub:`It reaches whichever agent drives the slot; a slot with no agent is brought back up.`,action:`Send`,get note(){return g(A)},onsubmit:Ut,get open(){return _.send},set open(e){_.send=e},children:(t,n)=>{var r=to(),i=f(r),a=O(b(i),2),o=b(a);K(o,20,()=>g(it),e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(o),I(o);var c=O(o);xt(c,{name:`chevron-down`}),L(a),L(i);var u=O(i,2),p=O(b(u),2);ae(p),L(u),B(o,()=>g(D),e=>z(D,e)),ie(p,()=>g(k),e=>z(k,e)),d(t,r)},$$slots:{default:!0}});var qn=O(Kn,2);{let t=w(()=>!!g(le));Ze(qn,{id:`start-dialog`,form:`start`,title:`Start agent`,sub:`It drives the repo's slot on the track: its own worktree, on a branch named for the track.`,icon:`terminal`,action:`Start agent`,get disabled(){return g(t)},get note(){return g(H)},onsubmit:Wt,get open(){return _.start},set open(e){_.start=e},children:(t,n)=>{var r=no(),i=f(r);{let e=w(()=>g(le)||void 0);ja(i,{label:`Track`,id:`track`,mono:!0,required:!0,placeholder:`web/login`,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},hint:`A git branch name. Agents in several repos share a track by naming the same one.`,get value(){return g(M)},set value(e){z(M,e,!0)}})}var a=O(i,2),o=O(b(a),2),c=b(o),u=b(c);u.value=u.__value=``;var p=O(u);K(p,17,()=>g(h)?.repos??[],e=>e.repo,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).repo),a!==(a=g(n).repo)&&(r.__value=a)}),d(t,r)}),L(c),I(c);var m=O(c);xt(m,{name:`chevron-down`}),L(o),L(a);var _=O(a,2),v=O(b(_),2),y=b(v);K(y,21,()=>g(h)?.types??[],e=>e.name,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).name),a!==(a=g(n).name)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(y),I(y);var x=O(y);xt(x,{name:`chevron-down`}),L(v);var S=O(v,2),C=e(S,!0);L(_);var T=O(_,2),E=O(b(T),2);ae(E),L(T);var D=O(T,2),k=O(b(D),2),A=b(k),j=b(A);j.value=j.__value=`gated`;var P=O(j);P.value=P.__value=`free`,L(A),I(A);var F=O(A);xt(F,{name:`chevron-down`}),L(k),L(D),Cr(O(D,2),{label:`Keep it open after its work lands`,get checked(){return g(ne)},set checked(e){z(ne,e,!0)}}),s(()=>l(C,g(W))),B(c,()=>g(re),e=>z(re,e)),B(y,()=>g(ee),e=>z(ee,e)),ie(E,()=>g(N),e=>z(N,e)),B(A,()=>g(R),e=>z(R,e)),d(t,r)},$$slots:{default:!0}})}var Jn=O(qn,2);{let t=w(()=>g(ue)===`write`?`Say what it is. A title, type, and slug are drafted for you to edit.`:`Check the draft. It goes last in its repo's order.`),r=w(()=>g(ue)===`write`?`Draft issue`:`Open issue`),i=w(()=>g(ue)===`edit`&&(!!g(_e)||!!g(ye)));Ze(Jn,{id:`issue-dialog`,form:`issue`,title:`Open issue`,get sub(){return g(t)},icon:`plus`,get action(){return g(r)},get disabled(){return g(i)},get note(){return g(ge)},onsubmit:Gt,get open(){return _.issue},set open(e){_.issue=e},children:(t,r)=>{var i=io(),a=f(i),o=O(b(a),2),c=b(o),u=b(c);u.value=u.__value=``;var p=O(u);K(p,17,()=>g(h)?.repos??[],e=>e.repo,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).repo),a!==(a=g(n).repo)&&(r.__value=a)}),d(t,r)}),L(c),I(c);var m=O(c);xt(m,{name:`chevron-down`}),L(o),L(a);var _=O(a,2),v=t=>{var n=ro(),r=f(n);{let e=w(()=>g(ye)||void 0);ja(r,{label:`Title`,id:`issue-title`,required:!0,get error(){return g(e)},get value(){return g(fe)},set value(e){z(fe,e,!0)}})}var i=O(r,2),a=O(b(i),2),o=b(a);K(o,20,()=>rt,e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(e=>{l(i,e),a!==(a=n)&&(r.value=(r.__value=a)??``)},[()=>n[0].toUpperCase()+n.slice(1)]),d(t,r)}),L(o),I(o);var c=O(o);xt(c,{name:`chevron-down`}),L(a),L(i);var u=O(i,2);{let e=w(()=>g(_e)||void 0),t=w(()=>g(J)||`org/repo`),n=w(()=>g(Y)||`slug`);ja(u,{label:`Slug`,id:`issue-slug`,mono:!0,required:!0,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},get hint(){return`${g(t)??``}#${g(n)??``}`},get value(){return g(Y)},set value(e){z(Y,e,!0)}})}B(o,()=>g(pe),e=>z(pe,e)),d(t,n)};n(_,e=>{g(ue)===`edit`&&e(v)});var y=O(_,2),x=b(y),S=e(x,!0),C=O(x,2);ae(C),L(y),s(()=>{l(S,g(ue)===`write`?`What is it?`:`Description`),G(C,`rows`,g(ue)===`write`?6:4),G(C,`placeholder`,g(ue)===`write`?`The login page loops back to itself after SSO on Safari.`:void 0)}),B(c,()=>g(J),e=>z(J,e)),ie(C,()=>g(me),e=>z(me,e)),d(t,i)},$$slots:{default:!0}})}var Xn=O(Jn,2);{let t=w(()=>g(Ae)?.repo??`the repo`),i=w(()=>g(X)),a=w(()=>g(Le)?`Naming…`:`Start track`),o=w(()=>g(Le)||!!g(ze));Ze(Xn,{id:`track-dialog`,form:`issue-track`,title:`Start track`,get sub(){return`A new agent on its own track in ${g(t)??``}, holding ${g(i)??``}.`},icon:`terminal`,get action(){return g(a)},get disabled(){return g(o)},get note(){return g(Ie)},onsubmit:zt,get open(){return _.track},set open(e){_.track=e},children:(t,i)=>{var a=uo(),o=f(a);{let e=w(()=>g(Be)?void 0:g(ze)||(g(Xe).length?`${g(je).trim()} is already a track in ${g(Xe).join(`, `)}; starting here joins it.`:void 0)),t=w(()=>g(Re)||`${g(Ae)?.repo??`org/repo`}@${g(je)||`track`}`);ja(o,{label:`Track`,id:`track-name`,mono:!0,required:!0,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},get hint(){return g(t)},get value(){return g(je)},set value(e){z(je,e,!0)}})}var c=O(o,2),p=O(b(c),2),m=b(p);K(m,21,()=>g(h)?.types??[],e=>e.name,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).name),a!==(a=g(n).name)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(m),I(m);var _=O(m);xt(_,{name:`chevron-down`}),L(p),L(c);var v=O(c,2),y=O(b(v),2);ae(y),L(v);var x=O(v,2),S=t=>{var i=co(),a=O(b(i),2),o=t=>{var n=ao(),r=e(n);s(()=>l(r,`${g(He)?.why??``} The agent holds each one left on, working it in the same branch.`)),d(t,n)},c=e=>{var t=oo();d(e,t)},p=t=>{var n=ao(),r=e(n);s(e=>l(r,`This issue is newer than the last grouping, ${e??``}: Group issues again to weigh it.`),[()=>ht(g(Z).at)]),d(t,n)},m=w(()=>!g(Z).weighed.includes(g(X))),h=t=>{var n=ao(),r=e(n);s(e=>l(r,`No other issue shares this one's context, as grouped ${e??``}.`),[()=>ht(g(Z).at)]),d(t,n)};n(a,e=>{g(Ue).length?e(o):g(Z)?g(m)?e(p,2):e(h,-1):e(c,1)});var _=O(a,2),v=b(_);K(v,17,()=>g(Ue),e=>e.address,(e,t)=>{u(e,()=>g(t))});var y=O(v,2),x=e=>{var t=so(),i=f(t),a=b(i);{let e=w(()=>g(Ke)?`chevron-up`:`chevron-down`);Q(a,{variant:`quiet`,size:`sm`,get icon(){return g(e)},"data-test":`track-others`,onclick:()=>z(Ke,!g(Ke)),children:(e,t)=>{V();var n=q();s(()=>l(n,`${g(Ke)?`Hide`:`Show`} ${g(Ge).length??``} other ${g(Ge).length===1?`issue`:`issues`}`)),d(e,n)},$$slots:{default:!0}})}L(i);var o=O(i,2),c=e=>{var t=r(),n=f(t);K(n,17,()=>g(Ge),e=>e.address,(e,t)=>{u(e,()=>g(t))}),d(e,t)};n(o,e=>{g(Ke)&&e(c)}),d(e,t)};n(y,e=>{g(Ge).length&&e(x)}),L(_),L(i),d(t,i)};n(x,e=>{g(Ve).length&&e(S)});var C=O(x,2),T=e=>{var t=lo(),r=f(t),i=O(b(r),2);{let e=w(()=>`${g(Ae)?.repo}@${g(je).trim()}`);Ya(i,()=>g(Ct),()=>g(e),()=>`track-fates`)}L(r);var a=O(r,2),o=e=>{Cr(e,{label:`Make existing slots followers`,get checked(){return g(St)},set checked(e){z(St,e,!0)}})},s=w(()=>bt(g(Ct)));n(a,e=>{g(s)&&e(o)}),d(e,t)};n(C,e=>{g(Ct).length&&e(T)}),B(m,()=>g(Me),e=>z(Me,e)),ie(y,()=>g(Pe),e=>z(Pe,e)),d(t,a)},$$slots:{default:!0}})}var Zn=O(Xn,2);{let t=w(()=>g(X)),i=w(()=>g(Ae)?.repo??`its repo`),a=w(()=>!g(Qe));Ze(Zn,{id:`pass-dialog`,form:`issue-pass`,title:`Pass to slot`,get sub(){return`Give ${g(t)??``} to a slot of ${g(i)??``} and tell it over the bus.`},action:`Pass issue`,get disabled(){return g(a)},get note(){return g(et)},onsubmit:Bt,get open(){return _.pass},set open(e){_.pass=e},children:(t,i)=>{var a=r(),c=f(a),u=t=>{var r=po(),i=f(r),a=O(b(i),2);K(a,21,()=>g(tt),e=>e.slot,(t,n)=>{var r=fo(),i=b(r);P(i);var a,c=O(i),u=e(c,!0),f=O(c),p=e(f,!0);L(r),s(()=>{G(i,`data-slot`,g(n).slot),a!==(a=g(n).slot)&&(i.value=(i.__value=a)??``),l(u,g(n).slot),l(p,g(n).state)}),te(o,[],i,()=>(g(n).slot,g(Qe)),e=>z(Qe,e)),d(t,r)}),L(a),V(2),L(i);var c=O(i,2),u=O(b(c),2);ae(u),L(c);var p=O(c,2),m=e=>{var t=lo(),r=f(t);Ya(O(b(r),2),()=>g(Tt),()=>g(Qe),()=>`pass-fates`),L(r);var i=O(r,2),a=e=>{Cr(e,{label:`Make existing slots followers`,get checked(){return g(wt)},set checked(e){z(wt,e,!0)}})},o=w(()=>bt(g(Tt)));n(i,e=>{g(o)&&e(a)}),d(e,t)};n(p,e=>{g(Tt).length&&e(m)}),ie(u,()=>g($e),e=>z($e,e)),d(t,r)},p=t=>{var n=mo(),r=e(n);s(()=>l(r,`No slot of ${g(Ae)?.repo??`its repo`??``} yet. Start a track for it instead.`)),d(t,n)};n(c,e=>{g(tt).length?e(u):e(p,-1)}),d(t,a)},$$slots:{default:!0}})}var Qn=O(Zn,2);{let t=w(()=>g(dt).split(`@`)[1]??`the track`),r=w(()=>g(dt)),i=w(()=>!g(ft)||ut(g(yt),g(gt)).length>0);Ze(Qn,{id:`follower-dialog`,form:`add-follower`,title:`Add follower repo`,get sub(){return`The repo's slot on ${g(t)??``}, led by ${g(r)??``}.`},icon:`plus`,action:`Add follower`,get disabled(){return g(i)},get note(){return g(_t)},onsubmit:Vt,get open(){return _.follower},set open(e){_.follower=e},children:(t,r)=>{var i=_o(),a=f(i),o=O(b(a),2),c=b(o),u=b(c);u.value=u.__value=``;var p=O(u);K(p,16,()=>g(vt),e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.__value=a)}),d(t,r)}),L(c),I(c);var m=O(c);xt(m,{name:`chevron-down`}),L(o),L(a);var _=O(a,2),v=e=>{var t=ho(),r=f(t);Ya(r,()=>g(yt),()=>g(dt),()=>`follower-fate`);var i=O(r,2),a=e=>{Cr(e,{label:`Make the existing slot the follower`,get checked(){return g(gt)},set checked(e){z(gt,e,!0)}})},o=w(()=>bt(g(yt)));n(i,e=>{g(o)&&e(a)}),d(e,t)};n(_,e=>{g(yt).length&&e(v)});var y=O(_,2),x=t=>{var n=go(),r=f(n),i=O(b(r),2),a=b(i);K(a,21,()=>g(h)?.types??[],e=>e.name,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).name),a!==(a=g(n).name)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(a),I(a);var o=O(a);xt(o,{name:`chevron-down`}),L(i),L(r);var c=O(r,2),u=O(b(c),2);ae(u),L(c),B(a,()=>g(pt),e=>z(pt,e)),ie(u,()=>g(mt),e=>z(mt,e)),d(t,n)};n(y,e=>{g(yt)[0]?.kind===`new`&&e(x)}),B(c,()=>g(ft),e=>z(ft,e)),d(t,i)},$$slots:{default:!0}})}var $n=O(Qn,2);{let t=w(()=>!g(Dt));Ze($n,{id:`issue-follower-dialog`,form:`issue-follower`,title:`Add follower repo`,get sub(){return`When ${g(X)??``} is started or passed, this repo's slot on that track follows its holder.`},icon:`plus`,action:`Add follower repo`,size:`sm`,get disabled(){return g(t)},get note(){return g(Ot)},onsubmit:Ht,get open(){return _[`issue-follower`]},set open(e){_[`issue-follower`]=e},children:(t,n)=>{var r=vo(),i=O(b(r),2),a=b(i),o=b(a);o.value=o.__value=``;var c=O(o);K(c,16,()=>g(kt),e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.__value=a)}),d(t,r)}),L(a),I(a);var u=O(a);xt(u,{name:`chevron-down`}),L(i),L(r),B(a,()=>g(Dt),e=>z(Dt,e)),d(t,r)},$$slots:{default:!0}})}var er=O($n,2);{let t=w(()=>!g(Ce));Ze(er,{id:`block-dialog`,form:`issue-block`,title:`Add dependency`,get sub(){return`${g(X)??``} waits until the issue chosen lands.`},icon:`link`,action:`Add dependency`,size:`sm`,get disabled(){return g(t)},get note(){return g(we)},onsubmit:qt,get open(){return _.block},set open(e){_.block=e},children:(t,n)=>{var r=yo(),i=O(b(r),2),a=b(i),o=b(a);o.value=o.__value=``;var c=O(o);K(c,17,()=>g(Te),e=>e.address,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,g(n).address),a!==(a=g(n).address)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(a),I(a);var u=O(a);xt(u,{name:`chevron-down`}),L(i),V(2),L(r),B(a,()=>g(Ce),e=>z(Ce,e)),d(t,r)},$$slots:{default:!0}})}var tr=O(er,2);Ze(tr,{id:`comment-dialog`,form:`comment`,title:`Comment`,get sub(){return g(X)},icon:`pencil`,action:`Comment`,size:`sm`,get note(){return g(Se)},onsubmit:Kt,get open(){return _.comment},set open(e){_.comment=e},children:(e,t)=>{var n=bo(),r=O(b(n),2);ae(r),L(n),ie(r,()=>g(be),e=>z(be,e)),d(e,n)},$$slots:{default:!0}});var nr=O(tr,2);Ze(nr,{id:`close-dialog`,form:`close`,title:`Close issue`,get sub(){return g(X)},icon:`check`,action:`Close issue`,size:`sm`,get note(){return g(De)},onsubmit:Jt,get open(){return _.close},set open(e){_.close=e},children:(e,t)=>{var n=xo(),r=O(b(n),2);ae(r),L(n),ie(r,()=>g(Ee),e=>z(Ee,e)),d(e,n)},$$slots:{default:!0}});var rr=O(nr,2);{let t=w(()=>g(Oe)?.label??``);Ze(rr,{id:`cleanup-dialog`,form:`cleanup`,get title(){return`Clean up ${g(t)??``}`},sub:`Steps run in this order. Forget tells every slot it messaged, then removes it and its messages.`,icon:`trash-2`,action:`Clean up`,danger:!0,get note(){return g(ke)},onsubmit:Yt,get open(){return _.cleanup},set open(e){_.cleanup=e},children:(t,r)=>{var i=Eo(),a=f(i);K(a,21,()=>g(Oe)?.steps??[],e=>e.step,(e,t,n)=>{var r=So(),i=b(r);P(i);var a=O(i,1,!0);L(r),s(()=>{G(i,`id`,`step-${g(t).step??``}`),G(i,`data-step`,g(t).step),l(a,g(t).label)}),C(i,()=>g(t).ticked,e=>g(t).ticked=e),d(e,r)}),L(a);var o=O(a,2),c=b(o),u=t=>{var n=Co(),r=O(b(n),2),i=e(r,!0);V(),L(n),s(()=>l(i,g(Oe).stage)),d(t,n)};n(c,e=>{g(Oe)&&g(Oe).stage&&!g(Oe).landed&&e(u)});var p=O(c,2),m=t=>{var n=wo(),r=O(b(n),2),i=e(r,!0);L(n),s(e=>l(i,e),[()=>g(Oe).changes.join(`
3
+ `)]),d(t,n)};n(p,e=>{g(Oe)?.changes.length&&e(m)});var h=O(p,2),_=t=>{var n=To(),r=O(b(n),2),i=e(r,!0);L(n),s(e=>l(i,e),[()=>g(Oe).unpushed.join(`
4
+ `)]),d(t,n)};n(h,e=>{g(Oe)?.unpushed.length&&e(_)}),L(o),d(t,i)},$$slots:{default:!0}})}var ir=O(rr,2);{let e=w(()=>!Je(g(At))||!!g(Nt));Ze(ir,{id:`repo-dialog`,form:`add-repo`,title:`Add repo`,sub:`Keeps the clone at its place under repos, or clones it from GitHub there first.`,action:`Add repo`,get disabled(){return g(e)},get note(){return g(Mt)},onsubmit:Xt,get open(){return _.repo},set open(e){_.repo=e},children:(e,t)=>{var n=()=>g(At),r=Ft;{let t=w(()=>g(Pt)||void 0),i=w(()=>g(jt)?`Corrected from ${g(jt)}.`:`org/repo, or any GitHub URL to the repo or a page in it.`);ja(e,{label:`Repo`,id:`new-repo`,mono:!0,required:!0,placeholder:`org/repo or a GitHub URL`,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(t)},get hint(){return g(i)},get value(){return n()},set value(e){r(e)}})}},$$slots:{default:!0}})}var ar=O(ir,2);{let e=w(()=>g(Fn)?.label??``),t=w(()=>g(In)),n=w(()=>g(Fn)?.description||void 0),r=w(()=>!!g(Vn)||!g(Rn).trim());Ze(ar,{id:`action-dialog`,form:`action-form`,get title(){return`${g(e)??``} ${g(t)??``}`},get sub(){return g(n)},get icon(){return Yn},action:`Start`,get disabled(){return g(r)},get note(){return g(zn)},onsubmit:Un,get open(){return _.action},set open(e){_.action=e},children:(e,t)=>{var n=Do(),r=f(n);{let e=w(()=>g(Vn)||void 0),t=w(()=>g(In).includes(`#`)?`Its branch; the agent takes this issue.`:`Its branch, and the slug of the issue opened for the work.`);ja(r,{label:`Track`,id:`action-track`,mono:!0,required:!0,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},get hint(){return g(t)},get value(){return g(Ln)},set value(e){z(Ln,e,!0)}})}var i=O(r,2),a=O(b(i),2);ae(a),L(i),ie(a,()=>g(Rn),e=>z(Rn,e)),d(e,n)},$$slots:{default:!0}})}var or=O(ar,2);Ze(or,{id:`forget-repo-dialog`,form:`forget-repo-form`,get title(){return`Forget ${g(X)??``}`},sub:`The bus stops keeping it: agents can no longer start in it. Its clone, branches, and worktrees stay on disk.`,action:`Forget repo`,danger:!0,size:`sm`,get note(){return g(Zt)},onsubmit:Wn,get open(){return _[`forget-repo`]},set open(e){_[`forget-repo`]=e},children:(e,t)=>{var n=Oo();d(e,n)},$$slots:{default:!0}});var sr=O(or,2);{let e=w(()=>!g(xn)||!!g(wn)||!g(En).trim());Ze(sr,{id:`part-dialog`,form:`new-part`,title:`Attach a folder`,sub:`Its skills show under Skills as one source, used where they are, never copied.`,icon:`plus`,action:`Attach`,get disabled(){return g(e)},get note(){return g(Cn)},onsubmit:Tn,get open(){return _.part},set open(e){_.part=e},children:(e,t)=>{var n=ko(),r=f(n);{let e=w(()=>g(wn)||void 0);ja(r,{label:`Name`,id:`part-name`,mono:!0,required:!0,placeholder:`my-skills`,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},hint:`Lowercase words joined by hyphens; it cannot change later.`,get value(){return g(xn)},set value(e){z(xn,e,!0)}})}var i=O(r,2);ja(i,{label:`Description`,id:`part-description`,placeholder:`What it is for`,get value(){return g(Sn)},set value(e){z(Sn,e,!0)}});var a=O(i,2);p(a,()=>`attach-path`),d(e,n)},$$slots:{default:!0}})}var cr=O(sr,2);{let e=w(()=>g(En)||`~`);Ja(cr,{mode:`folder`,root:`~`,rootLabel:`Home`,get path(){return g(e)},filter:!0,description:`Open the folder of skills, then choose it, or select one inside it.`,list:On,onselect:kn,get open(){return g(Dn)},set open(e){z(Dn,e,!0)}})}var lr=O(cr,2);Ze(lr,{id:`part-edit-dialog`,form:`edit-part`,get title(){return`Edit ${g(xn)??``}`},sub:`Attached folder; its name stays. Agents get the change from their next start.`,icon:`pencil`,action:`Save`,get note(){return g(Cn)},onsubmit:jn,get open(){return _[`part-edit`]},set open(e){_[`part-edit`]=e},children:(e,t)=>{var n=ho(),r=f(n);ja(r,{label:`Description`,id:`edit-part-description`,placeholder:`What it is for`,get value(){return g(Sn)},set value(e){z(Sn,e,!0)}});var i=O(r,2);p(i,()=>`edit-attach-path`),d(e,n)},$$slots:{default:!0}});var ur=O(lr,2);{let t=e=>{var t=r(),i=f(t),a=e=>{Q(e,{variant:`secondary`,"data-respond-approve":!0,onclick:Pn,get icon(){return qe},children:(e,t)=>{V();var n=q(`Approve plan`);d(e,n)},$$slots:{default:!0}})};n(i,e=>{g(E)&&!g(E).plan.approved_at&&e(a)}),d(e,t)},i=w(()=>g(T)?.slot?`From ${g(T).slot}`:void 0),a=w(()=>!g(x).trim());Ze(ur,{id:`respond-dialog`,form:`respond`,title:`Respond to the plan`,get sub(){return g(i)},action:`Send comment`,get disabled(){return g(a)},get note(){return g(S)},onsubmit:Nn,get open(){return _.respond},set open(e){_.respond=e},extra:t,children:(t,r)=>{var i=Mo(),a=f(i),o=t=>{var n=Ao(),r=b(n),i=e(r,!0),a=O(r);L(n),s(()=>{G(r,`href`,g(E).plan.link),l(i,g(E).plan.name),l(a,` · ${g(E).issue.address??``}`)}),d(t,n)};n(a,e=>{g(E)&&e(o)});var c=O(a,2),u=t=>{var n=jo(),r=e(n,!0);s(()=>l(r,g(T).ask.text)),d(t,n)};n(c,e=>{g(T)?.ask&&e(u)});var p=O(c,2),m=O(b(p),2);ae(m),L(p),ie(m,()=>g(x),e=>z(x,e)),d(t,i)},$$slots:{extra:!0,default:!0}})}var dr=O(ur,2);{let t=e=>{var t=r(),i=f(t),a=e=>{Q(e,{variant:`danger`,icon:`trash-2`,get"data-delete-login"(){return g(X)},onclick:()=>m.act({type:`login_remove`,body:{login:g(X)}}).then(()=>Lt(`login`)),children:(e,t)=>{V();var n=q(`Delete`);d(e,n)},$$slots:{default:!0}})};n(i,e=>{g(X)&&e(a)}),d(e,t)},i=w(()=>g(X)?`Edit ${g(X)}`:`Add login`),a=w(()=>!g(gn));Ze(dr,{id:`login-dialog`,form:`login-form`,get title(){return g(i)},sub:`The bus makes or uploads its key, checks it, then writes it into every repo of its orgs that it keeps, shared by all their worktrees.`,action:`Save login`,get disabled(){return g(a)},get note(){return g(dn)},onsubmit:yn,get open(){return _.login},set open(e){_.login=e},extra:t,children:(t,r)=>{var i=Fo(),a=f(i),o=t=>{var n=No(),r=O(b(n),2),i=b(r),a=b(i);a.value=a.__value=``;var o=O(a);K(o,16,()=>(g(h)?.gh_accounts??[]).filter(e=>!g(hn).has(e)),e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),d(t,r)});var c=O(o);c.value=c.__value=mn,L(i),I(i);var u=O(i);xt(u,{name:`chevron-down`}),L(r);var f=O(r,2),p=e(f,!0);L(n),s(()=>l(p,g(Qt).login===mn?`Saving opens GitHub with a one-time code; once you approve, the bus shows the login it got and asks you to confirm it.`:`One gh is already signed in as, or sign in to another.`)),B(i,()=>g(Qt).login,e=>g(Qt).login=e),d(t,n)};n(a,e=>{g(X)||e(o)});var c=O(a,2),u=O(b(c),2),p=b(u),m=b(p);m.value=m.__value=``;var _=O(m);K(_,16,()=>g(h)?.ssh_keys??[],e=>e,(t,n)=>{var r=eo(),i=e(r,!0),a={};s(()=>{l(i,n),a!==(a=n)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(p),I(p);var v=O(p);xt(v,{name:`chevron-down`}),L(u);var y=O(u,2),x=e(y,!0);L(c);var S=O(c,2);ja(S,{label:`Commit name`,id:`login-name`,autocomplete:`off`,get error(){return g(tn).name},onblur:nn,get value(){return g(Qt).name},set value(e){g(Qt).name=e}});var C=O(S,2);ja(C,{label:`Commit email`,id:`login-email`,type:`email`,placeholder:`you@example.com`,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(tn).email},onblur:rn,get value(){return g(Qt).email},set value(e){g(Qt).email=e}});var T=O(C,2),E=O(b(T),2);K(E,16,()=>g(sn),e=>e,(e,t)=>{let n=w(()=>cn(t));{let r=w(()=>g(Qt).orgs.includes(t)),i=w(()=>g(n)?`${t} (moves from ${g(n)})`:t);Cr(e,{get checked(){return g(r)},get label(){return g(i)},onchange:e=>ln(t,e)})}});var D=O(E,2),k=b(D);ja(k,{id:`login-new-org`,mono:!0,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,placeholder:`Another org`,onkeydown:e=>e.key===`Enter`&&(e.preventDefault(),un()),get value(){return g($t)},set value(e){z($t,e,!0)}});var A=O(k,2);{let e=w(()=>!g($t).trim());Q(A,{variant:`secondary`,size:`sm`,icon:`plus`,get disabled(){return g(e)},onclick:un,children:(e,t)=>{V();var n=q(`Add`);d(e,n)},$$slots:{default:!0}})}L(D),V(2),L(T);var j=O(T,2),M=t=>{var n=Po(),r=e(n,!0);s(()=>l(r,g(on))),d(t,n)};n(j,e=>{g(on)&&e(M)}),s(()=>l(x,g(vn))),B(p,()=>g(Qt).ssh_key,e=>g(Qt).ssh_key=e),d(t,i)},$$slots:{extra:!0,default:!0}})}var fr=O(dr,2);{let t=w(()=>!g(pn));Ze(fr,{id:`org-login-dialog`,form:`org-login-form`,get title(){return`Login for ${g(X)??``}`},get sub(){return`Every repo of ${g(X)??``} the bus keeps commits and pushes as this login, with its key and identity.`},action:`Save`,size:`sm`,get disabled(){return g(t)},get note(){return g(dn)},onsubmit:bn,get open(){return _[`org-login`]},set open(e){_[`org-login`]=e},children:(t,n)=>{var r=Io(),i=O(b(r),2),a=b(i),o=b(a);o.value=o.__value=``;var c=O(o);K(c,17,()=>g(h)?.logins??[],e=>e.login,(t,n)=>{var r=eo(),i=e(r),a={};s(()=>{l(i,`${g(n).login??``} (${g(n).email??``})`),a!==(a=g(n).login)&&(r.value=(r.__value=a)??``)}),d(t,r)});var u=O(c);u.value=u.__value=mn,L(a),I(a);var f=O(a);xt(f,{name:`chevron-down`}),L(i),L(r),B(a,()=>g(pn),e=>z(pn,e)),d(t,r)},$$slots:{default:!0}})}d(t,Gn),F()}var zo=o(`<div class="row-item"><div class="held-what body-sm"> <span class="sub"> </span></div> <!></div>`),Bo=o(`<div id="held" class="rows"></div>`),Vo=o(`<div><a target="_blank" rel="noopener" data-plan-link=""> </a></div>`),Ho=o(`<div class="row-item"><div class="body-sm"><strong> </strong> · <a class="mono"> </a> <span class="sub"> </span><div> </div><!></div> <!> <!></div>`),Uo=o(`<div class="row-item"><div class="body-sm"><!> <strong>Gone quiet</strong> · <a class="mono"> </a><div class="sub"> </div></div> <!></div>`),Wo=o(`<div id="asks" class="rows"><!> <!></div>`),Go=o(`<p class="empty">Nothing for you.</p>`),Ko=o(`<div id="inbox" class="rows"></div>`),qo=o(`<p class="empty">No messages yet.</p>`),Jo=o(`<div id="log" class="rows"></div>`),Yo=o(`<div class="content-stack"><div class="page-head"><div class="titles"><h1 class="title">Overview</h1> <p class="body-sm sub">Messages to you, then everything on the bus.</p></div></div> <!> <!> <!> <!></div>`);function Xo(t,r){se(r,!0);let i=xe(),a=w(()=>i.st.inbox.slice(-20).reverse()),o=w(()=>i.st.messages.slice(-100).reverse()),c=w(()=>i.st.throttle.held),u=w(()=>Object.values(i.st.sessions).filter(e=>e.ask).sort((e,t)=>e.ask.id-t.ask.id)),f=w(()=>Object.values(i.st.sessions).filter(e=>!e.ask&&e.quiet));async function p(e){let t=await i.post(`throttle-release`,{id:e});i.note=t.error||``,await i.poll()}var m=Yo(),h=O(b(m),2),_=t=>{$(t,{title:`Held work`,sub:`New work the throttle holds until resources recover, oldest first.`,children:(t,n)=>{var r=Bo();K(r,21,()=>g(c),e=>e.id,(t,n)=>{var r=zo(),i=b(r),a=b(i),o=O(a),c=e(o);L(i);var u=O(i,2);Q(u,{variant:`secondary`,size:`sm`,get"data-start-now"(){return g(n).id},onclick:()=>p(g(n).id),get icon(){return Yn},children:(e,t)=>{V();var n=q(`Start now`);d(e,n)},$$slots:{default:!0}}),L(r),s(e=>{G(r,`data-held`,g(n).id),l(a,`${g(n).what??``} `),l(c,`· from ${g(n).sender??``}, ${e??``}`)},[()=>ot(g(n).at)]),d(t,r)}),L(r),d(t,r)},$$slots:{default:!0}})};n(h,e=>{g(c).length&&e(_)});var v=O(h,2),y=t=>{$(t,{title:`Waiting on you`,sub:`Answer each in its own session, in its Herdr pane, or a plan here with Respond.`,children:(t,r)=>{var a=Wo(),o=b(a);K(o,17,()=>g(u),e=>e.id,(t,r)=>{let a=w(()=>de(i.st.issues,g(r).ask));var o=Ho(),c=b(o),u=b(c),f=e(u,!0),p=O(u,2),m=e(p,!0),h=O(p,2),_=e(h),v=O(h),y=e(v,!0),x=O(v),S=t=>{var n=Vo(),r=b(n),i=e(r,!0);L(n),s(()=>{G(r,`href`,g(a).plan.link),l(i,g(a).plan.name)}),d(t,n)};n(x,e=>{g(a)&&e(S)}),L(c);var C=O(c,2),T=e=>{Q(e,{variant:`primary`,size:`sm`,get"data-respond"(){return g(r).id},onclick:()=>i.open(`respond`,g(r).id),get icon(){return Ln},children:(e,t)=>{V();var n=q(`Respond`);d(e,n)},$$slots:{default:!0}})};n(C,e=>{g(a)&&e(T)});var E=O(C,2),D=e=>{Q(e,{variant:`secondary`,size:`sm`,get"data-open-pane"(){return g(r).id},onclick:()=>i.focus(g(r).id),get icon(){return Gn},children:(e,t)=>{V();var n=q(`Open its pane`);d(e,n)},$$slots:{default:!0}})};n(E,e=>{g(r).pane&&e(D)}),L(o),s((e,t)=>{G(o,`data-ask`,g(r).slot),l(f,Ce[g(r).ask.kind]),G(p,`href`,e),l(m,g(r).slot),l(_,`· ${t??``}`),l(y,g(r).ask.text)},[()=>ct(g(r).id),()=>ot(g(r).ask.at)]),d(t,o)});var c=O(o,2);K(c,17,()=>g(f),e=>e.id,(t,r)=>{var a=Uo(),o=b(a),c=b(o);Vn(c,{class:`sd-icon`,size:16,strokeWidth:2});var u=O(c,4),f=e(u,!0),p=O(u),m=e(p);L(o);var h=O(o,2),_=e=>{Q(e,{variant:`secondary`,size:`sm`,get"data-open-pane"(){return g(r).id},onclick:()=>i.focus(g(r).id),get icon(){return Gn},children:(e,t)=>{V();var n=q(`Open its pane`);d(e,n)},$$slots:{default:!0}})};n(h,e=>{g(r).pane&&e(_)}),L(a),s((e,t)=>{G(a,`data-quiet`,g(r).slot),G(u,`href`,e),l(f,g(r).slot),l(m,`At rest since ${t??``} with nothing asked.`)},[()=>ct(g(r).id),()=>ot(g(r).idle_since)]),d(t,a)}),L(a),d(t,a)},$$slots:{default:!0}})};n(v,e=>{(g(u).length||g(f).length)&&e(y)});var x=O(v,2);$(x,{title:`For you`,children:(e,t)=>{var n=Ko();K(n,21,()=>g(a),e=>e.id,(e,t)=>{li(e,{get m(){return g(t)}})},e=>{var t=Go();d(e,t)}),L(n),d(e,n)},$$slots:{default:!0}}),$(O(x,2),{title:`All messages`,children:(e,t)=>{var n=Jo();K(n,21,()=>g(o),e=>e.id,(e,t)=>{li(e,{get m(){return g(t)}})},e=>{var t=qo();d(e,t)}),L(n),d(e,n)},$$slots:{default:!0}}),L(m),d(t,m),F()}var Zo=o(`<div class="row-line"><a class="mono"> </a><!><!></div>`),Qo=o(`<div class="row-line"><a class="mono"> </a></div>`),$o=o(`<div class="row-line"><span class="mono"> </span><!></div>`),es=o(`<div class="row-line"><a target="_blank" rel="noreferrer"> </a></div>`),ts=o(`held by <!>`,1),ns=o(`<span data-test="blocked"><!></span>`),rs=o(`<!> <!>`,1),is=o(`<!> <!> <!> <!>`,1),as=o(`<div class="waiting" data-test="request"> </div>`),os=o(`<div class="panel-body" data-test="closed">Closed by <!> </div>`),ss=o(`<div class="panel-body" data-test="description"> </div>`),cs=o(`<div class="row-item"><!></div>`),ls=o(`<div class="rows" data-test="plans"></div>`),us=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a> </a> <span class="mono-sm sub"> </span> <!></div> <div class="body-sm sub">by <span class="mono-sm"> </span> </div></div></div>`),ds=o(`<div class="rows"></div>`),fs=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="name mono-sm"> </span><span class="body-sm sub"> </span></div><div class="body"> </div></div></div>`),ps=o(`<p class="empty">No comments yet.</p>`),ms=o(`<div class="rows" id="comments"></div>`),hs=o(`<div class="content-stack"><div class="page-head"><div class="titles"><div class="title-row"><h1 class="title" data-test="issue-title"> </h1> <span data-test="issue-state"><!></span> <!> <span data-test="issue-type"><!></span></div></div> <div class="actions"><!> <!> <!></div></div> <!> <!> <div class="grid-2"><!> <!></div> <!> <!> <!> <!></div>`);function gs(t,i){se(i,!0);let a=t=>{var a=r(),o=f(a);K(o,16,()=>i.i.blocked_by,e=>e,(t,r)=>{let a=w(()=>ke(m.st.issues.find(e=>e.address===r)));var o=Zo(),c=b(o),u=e(c,!0),f=O(c);Z(f,{get tone(){return g(a).tone},children:(e,t)=>{V();var n=q();s(()=>l(n,g(a).label)),d(e,n)},$$slots:{default:!0}});var p=O(f),h=e=>{Ye(e,{icon:`x`,get label(){return`Stop waiting on ${r??``}`},get"data-unblock"(){return r},onclick:()=>m.act({type:`issue_unblock`,body:{issue:i.i.address,on:r}})})};n(p,e=>{i.i.state!==`closed`&&e(h)}),L(o),s(e=>{G(o,`data-blocker`,r),G(c,`href`,e),l(u,r)},[()=>nt(r)]),d(t,o)},e=>{V();var t=q(`nothing`);d(e,t)}),d(t,a)},o=t=>{var n=r(),i=f(n);K(i,17,()=>g(y),e=>e.address,(t,n)=>{var r=Qo(),i=b(r),a=e(i,!0);L(r),s(e=>{G(r,`data-waiter`,g(n).address),G(i,`href`,e),l(a,g(n).address)},[()=>nt(g(n).address)]),d(t,r)},e=>{V();var t=q(`nothing`);d(e,t)}),d(t,n)},c=t=>{var a=r(),o=f(a);K(o,16,()=>i.i.followers,e=>e,(t,r)=>{var a=$o(),o=b(a),c=e(o,!0),u=O(o),f=e=>{Ye(e,{icon:`x`,get label(){return`Drop ${r??``}`},get"data-drop-follower"(){return r},onclick:()=>m.act({type:`issue_followers`,body:{issue:i.i.address,repos:i.i.followers.filter(e=>e!==r)}})})};n(u,e=>{i.i.state!==`closed`&&e(f)}),L(a),s(()=>{G(a,`data-follower-repo`,r),l(c,r)}),d(t,a)},e=>{V();var t=q(`none`);d(e,t)}),d(t,a)},u=t=>{var n=r(),a=f(n);K(a,17,()=>i.i.links,e=>e.url,(t,n)=>{var r=es(),i=b(r),a=e(i,!0);L(r),s(()=>{G(r,`data-issue-link`,g(n).url),G(i,`href`,g(n).url),G(i,`title`,g(n).url),l(a,g(n).label)}),d(t,r)},e=>{V();var t=q(`none`);d(e,t)}),d(t,n)},p=e=>{var t=r(),a=f(t),o=e=>{var t=ts(),n=O(f(t));fe(n,{get slot(){return i.i.holder}}),d(e,t)},s=e=>{var t=q(`not held`);d(e,t)};n(a,e=>{i.i.holder?e(o):e(s,-1)}),d(e,t)},m=xe(),_=w(()=>i.i.state===`closed`||!m.st?[]:ni(m.st.profiles.profiles,i.i.repo,`issue`)),v=w(()=>m.st.messages.filter(e=>e.about===i.i.address).reverse()),y=w(()=>Ge(m.st.issues,i.i.address)),x=w(()=>[{key:`Issue`,value:i.i.address,mono:!0,test:`issue-address`},{key:`Held by`,show:p,test:`holder`},{key:`Links`,show:u,test:`issue-links`},{key:`Waits on`,show:a,test:`waits-on`},{key:`Waited on by`,show:o,test:`waited-on-by`},{key:`Follower repos`,show:c,test:`follower-repos`},{key:`Opened by`,value:i.i.opened_by,mono:!0},{key:`Opened`,value:ot(i.i.opened_at)}]);var S=hs(),C=b(S),T=b(C),E=b(T),D=b(E),k=e(D,!0),A=O(D,2),j=b(A);Z(j,{get tone(){return _e[i.i.state].tone},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,_e[i.i.state].label)),d(e,n)},$$slots:{default:!0}}),L(A);var M=O(A,2),ee=e=>{var t=ns(),n=b(t);Z(n,{tone:`warning`,children:(e,t)=>{V();var n=q(`Blocked`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(M,e=>{i.i.blocked&&e(ee)});var N=O(M,2),P=b(N);Z(P,{get tone(){return X[i.i.type].tone},children:(e,t)=>{V();var n=q();s(()=>l(n,X[i.i.type].label)),d(e,n)},$$slots:{default:!0}}),L(N),L(E),L(T);var I=O(T,2),R=b(I);K(R,17,()=>g(_),e=>e.profile+e.name,(e,t)=>{Q(e,{variant:`secondary`,get"data-action"(){return g(t).name},get title(){return g(t).description},onclick:()=>m.open(`action`,`${g(t).profile}/${g(t).name}|${i.i.address}`),get icon(){return Yn},children:(e,n)=>{V();var r=q();s(()=>l(r,g(t).label)),d(e,r)},$$slots:{default:!0}})});var z=O(R,2);Q(z,{variant:`secondary`,get"data-comment"(){return i.i.address},onclick:()=>m.open(`comment`,i.i.address),get icon(){return zn},children:(e,t)=>{V();var n=q(`Comment`);d(e,n)},$$slots:{default:!0}});var te=O(z,2),ne=e=>{var t=is(),r=f(t);Q(r,{variant:`secondary`,get"data-block-issue"(){return i.i.address},onclick:()=>m.open(`block`,i.i.address),get icon(){return kn},children:(e,t)=>{V();var n=q(`Add dependency`);d(e,n)},$$slots:{default:!0}});var a=O(r,2);Q(a,{variant:`secondary`,get"data-add-issue-follower"(){return i.i.address},onclick:()=>m.open(`issue-follower`,i.i.address),get icon(){return pn},children:(e,t)=>{V();var n=q(`Add follower repo`);d(e,n)},$$slots:{default:!0}});var o=O(a,2);Q(o,{variant:`secondary`,get"data-close-issue"(){return i.i.address},onclick:()=>m.open(`close`,i.i.address),get icon(){return qe},children:(e,t)=>{V();var n=q(`Close issue`);d(e,n)},$$slots:{default:!0}});var s=O(o,2),c=e=>{var t=rs(),n=f(t);Q(n,{variant:`secondary`,get"data-pass-issue"(){return i.i.address},onclick:()=>m.open(`pass`,i.i.address),get icon(){return sn},children:(e,t)=>{V();var n=q(`Pass to slot`);d(e,n)},$$slots:{default:!0}});var r=O(n,2);Q(r,{variant:`primary`,get"data-track-issue"(){return i.i.address},onclick:()=>m.open(`track`,i.i.address),get icon(){return Mt},children:(e,t)=>{V();var n=q(`Start track`);d(e,n)},$$slots:{default:!0}}),d(e,t)};n(s,e=>{i.i.blocked||e(c)}),d(e,t)};n(te,e=>{i.i.state!==`closed`&&e(ne)}),L(I),L(C);var B=O(C,2),re=t=>{var n=as(),r=e(n);s(()=>l(r,`${i.i.request.by??``} asked for it: ${i.i.request.reason??``}`)),d(t,n)};n(B,e=>{i.i.request&&e(re)});var H=O(B,2),U=e=>{$(e,{title:`Closed`,children:(e,t)=>{var n=os(),r=O(b(n));fe(r,{get slot(){return i.i.closed_by}});var a=O(r);L(n),s(()=>l(a,`: ${i.i.closing_note??``}`)),d(e,n)},$$slots:{default:!0}})};n(H,e=>{i.i.state===`closed`&&e(U)});var ie=O(H,2),ae=b(ie);$(ae,{title:`Properties`,children:(e,t)=>{vi(e,{get rows(){return g(x)}})},$$slots:{default:!0}});var W=O(ae,2),oe=t=>{$(t,{title:`Description`,children:(t,n)=>{var r=ss(),a=e(r,!0);s(()=>l(a,i.i.description)),d(t,r)},$$slots:{default:!0}})};n(W,e=>{i.i.description&&e(oe)}),L(ie);var ce=O(ie,2),le=e=>{$(e,{title:`Plans`,children:(e,t)=>{var n=ls();K(n,21,()=>i.i.plans,e=>e.link,(e,t)=>{var n=cs();Si(b(n),{get i(){return i.i},get p(){return g(t)}}),L(n),d(e,n)}),L(n),d(e,n)},$$slots:{default:!0}})};n(ce,e=>{i.i.plans.length&&e(le)});var ue=O(ce,2),J=t=>{$(t,{title:`Documents`,"data-test":`docs`,children:(t,r)=>{var a=ds();K(a,21,()=>i.i.docs,e=>e.address,(t,r)=>{let a=w(()=>i.i.plans.find(e=>e.link===g(r).path));var o=us(),c=b(o),u=b(c),f=b(u),p=e(f,!0),m=O(f,2),h=e(m,!0),_=O(m,2),v=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Plan`);d(e,n)},$$slots:{default:!0}})};n(_,e=>{g(a)&&e(v)}),L(u);var y=O(u,2),x=O(b(y)),S=e(x,!0),C=O(x);L(y),L(c),L(o),s((e,t)=>{G(o,`data-doc-row`,g(r).address),G(f,`href`,e),G(f,`data-doc-link`,g(r).address),l(p,g(r).title),l(h,g(r).name),l(S,g(r).by),l(C,` · version ${g(r).version??``} · updated ${t??``}`)},[()=>Ae(g(r).address),()=>ht(g(r).updated_at)]),d(t,o)}),L(a),d(t,a)},$$slots:{default:!0}})};n(ue,e=>{i.i.docs.length&&e(J)});var de=O(ue,2);$(de,{title:`Comments`,children:(t,n)=>{var r=ms();K(r,21,()=>i.i.comments,h,(t,n)=>{var r=fs(),i=b(r),a=b(i),o=b(a),c=e(o,!0),u=O(o),f=e(u,!0);L(a);var p=O(a),m=e(p,!0);L(i),L(r),s(e=>{l(c,g(n).by),l(f,e),l(m,g(n).text)},[()=>ot(g(n).at)]),d(t,r)},e=>{var t=ps();d(e,t)}),L(r),d(t,r)},$$slots:{default:!0}});var Y=O(de,2),pe=e=>{$(e,{title:`Messages about it`,children:(e,t)=>{var n=ds();K(n,21,()=>g(v),e=>e.id,(e,t)=>{li(e,{get m(){return g(t)}})}),L(n),d(e,n)},$$slots:{default:!0}})};n(Y,e=>{g(v).length&&e(pe)}),L(S),s(()=>{G(S,`data-issue-detail`,i.i.address),l(k,i.i.title)}),d(t,S),F()}var _s=o(`<p class="body-sm sub" data-test="group-note"> </p>`),vs=o(`<span data-test="blocked"><!></span>`),ys=o(` <a class="mono"> </a>`,1),bs=o(`<div class="row-line" data-test="group"><span class="group-mark sd-cat" data-test="group-mark"><!></span><span>Do with <!> </span></div>`),xs=o(`Held by <!>`,1),Ss=o(`<span data-test="waits-on"> <!></span>`),Cs=o(`<div class="moves"><!> <!></div>`),ws=o(`<button class="sd-iconbtn"><!></button>`),Ts=o(`<!> <div class="moves"></div>`,1),Es=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a> <span data-test="issue-state"><!></span> <span data-test="issue-type"><!></span> <!> <span> </span></div> <div class="body-sm sub"><!> <!> <!></div></div> <!></div>`),Ds=o(`<div class="rows"></div>`),Os=o(`<p class="empty"> </p>`),ks=o(`<div class="content-stack" data-view="issues"><div class="page-head"><div class="titles"><h1 class="title">Issues</h1> <p class="body-sm sub">Work in each repo, in order; the first free open issue is the next one taken.</p> <p class="body-sm sub" data-test="grouped-at"> </p></div> <!></div> <!> <div id="issue-filter"><!></div> <!></div>`);function As(t,i){se(i,!0);let a=xe(),o=U(`open`),c=w(()=>a.st.issues),u=w(()=>g(c).filter(e=>g(o)===`all`||e.state===g(o))),p=w(()=>[...new Set(g(u).map(e=>e.repo))]),h=[{id:`open`,label:`Open`},{id:`held`,label:`Held`},{id:`closed`,label:`Closed`},{id:`all`,label:`All`}],v=e=>g(c).filter(t=>e===`all`||t.state===e).length,y=w(()=>Object.values(a.st.groupings).map(e=>e.at).sort().at(-1)??null),x=U(!1),S=U(``),C=(e,t)=>a.st.groupings[e]?.groups.find(e=>e.issues.includes(t))?.issues.toSorted().join(` `)??null,T=(e,t)=>e.split(`#`)[0]===t?e.split(`#`)[1]:e;async function E(){z(x,!0),z(S,``);let e=await a.post(`issue-groups`,{}).catch(()=>({error:`the server did not answer`}));z(x,!1),z(S,e.error||(e.failed?.length?`Could not group ${e.failed.join(`, `)}; their last grouping is kept.`:``),!0),await a.poll()}let D=[{to:`top`,icon:Ot,label:`Move to top`},{to:`up`,icon:At,label:`Move up`},{to:`down`,icon:Et,label:`Move down`}];var k=ks(),j=b(k),M=b(j),ee=O(b(M),4),N=e(ee,!0);L(M);var P=O(M,2);Q(P,{variant:`secondary`,id:`group-issues`,title:`Find the issues one agent should do together, for Start track to offer`,onclick:()=>E(),get icon(){return lr},children:(e,t)=>{V();var n=q(`Group issues`);d(e,n)},$$slots:{default:!0}}),L(j);var I=O(j,2),R=t=>{var n=_s(),r=e(n,!0);s(()=>l(r,g(S))),d(t,n)};n(I,e=>{g(S)&&e(R)});var te=O(I,2),ne=b(te);{let e=w(()=>h.map(e=>({...e,count:v(e.id)})));Ta(ne,{get items(){return g(e)},label:`Which issues`,get value(){return g(o)},set value(e){z(o,e,!0)}})}L(te);var B=O(te,2);K(B,16,()=>g(p),e=>e,(t,i)=>{$(t,{get title(){return i},get"data-repo"(){return i},children:(t,o)=>{var p=Ds();K(p,21,()=>g(u).filter(e=>e.repo===i),e=>e.address,(t,i)=>{var o=Es(),u=b(o),p=b(u),h=b(p),v=e(h,!0),y=O(h,2),x=b(y);Z(x,{get tone(){return _e[g(i).state].tone},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,_e[g(i).state].label)),d(e,n)},$$slots:{default:!0}}),L(y);var S=O(y,2),E=b(S);Z(E,{get tone(){return X[g(i).type].tone},children:(e,t)=>{V();var n=q();s(()=>l(n,X[g(i).type].label)),d(e,n)},$$slots:{default:!0}}),L(S);var k=O(S,2),j=e=>{var t=vs(),n=b(t);Z(n,{tone:`warning`,children:(e,t)=>{V();var n=q(`Blocked`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(k,e=>{g(i).blocked&&e(j)});var M=O(k,2),ee=e(M,!0);L(p);var N=O(p,2),P=b(N),F=t=>{let o=w(()=>he(a.st.groupings,g(i))),u=w(()=>(g(o)?.with??[]).filter(e=>g(c).some(t=>t.address===e&&t.state===`open`)));var p=r(),m=f(p),h=t=>{var n=bs(),r=b(n);Dn(b(r),{class:`sd-icon`,size:16,strokeWidth:2,"aria-label":`Group`}),L(r);var a=O(r),c=O(b(a));K(c,18,()=>g(u),e=>e,(t,n,r)=>{V();var a=ys(),o=f(a,!0),c=O(o),u=e(c,!0);s((e,t)=>{l(o,g(r)?`, `:``),G(c,`href`,e),l(u,t)},[()=>nt(n),()=>T(n,g(i).repo)]),d(t,a)});var p=O(c);L(a),L(n),s(e=>{A(r,e),l(p,`: ${g(o).why??``}`)},[()=>tt({seed:C(g(i).repo,g(i).address)})]),d(t,n)};n(m,e=>{g(o)&&g(u).length&&e(h)}),d(t,p)};n(P,e=>{g(i).state===`open`&&e(F)});var I=O(P,2),R=e=>{var t=xs(),n=O(f(t));fe(n,{get slot(){return g(i).holder}}),d(e,t)},z=e=>{var t=q(`Not held`);d(e,t)};n(I,e=>{g(i).holder?e(R):e(z,-1)});var te=O(I,1,!0),ne=O(te),B=t=>{var n=Ss(),r=b(n,!0);r.nodeValue=` · waits on `;var a=O(r);K(a,18,()=>et(g(c),g(i)),e=>e,(t,n,r)=>{V();var a=ys(),o=f(a,!0),c=O(o),u=e(c,!0);s((e,t)=>{l(o,g(r)?`, `:``),G(c,`href`,e),l(u,t)},[()=>nt(n),()=>n.split(`#`)[0]===g(i).repo?n.split(`#`)[1]:n]),d(t,a)}),L(n),d(t,n)};n(ne,e=>{g(i).blocked&&e(B)}),L(N),L(u);var re=O(u,2),H=e=>{var t=Ts(),r=f(t),o=e=>{var t=Cs(),n=b(t);Q(n,{variant:`secondary`,size:`sm`,get"data-pass-issue"(){return g(i).address},title:`Pass to slot`,onclick:()=>a.open(`pass`,g(i).address),get icon(){return sn},children:(e,t)=>{V();var n=q(`Pass`);d(e,n)},$$slots:{default:!0}});var r=O(n,2);Q(r,{variant:`secondary`,size:`sm`,get"data-track-issue"(){return g(i).address},title:`Start track`,onclick:()=>a.open(`track`,g(i).address),get icon(){return Mt},children:(e,t)=>{V();var n=q(`Start`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(r,e=>{g(i).blocked||e(o)});var c=O(r,2);K(c,21,()=>D,e=>e.to,(e,t)=>{var n=ws(),r=b(n);m(r,()=>g(t).icon,(e,t)=>{t(e,{class:`sd-icon`,size:16,strokeWidth:2})}),L(n),s(()=>{G(n,`data-move`,g(t).to),G(n,`data-issue-move`,g(i).address),G(n,`aria-label`,g(t).label),G(n,`title`,g(t).label)}),_(`click`,n,()=>a.act({type:`issue_move`,body:{issue:g(i).address,to:g(t).to}})),d(e,n)}),L(c),d(e,t)};n(re,e=>{g(i).state===`open`&&e(H)}),L(o),s(e=>{G(o,`data-issue`,g(i).address),G(h,`href`,e),l(v,g(i).slug),l(ee,g(i).title),l(te,g(i).request?` · ${g(i).request.by} asked for it`:``)},[()=>nt(g(i).address)]),d(t,o)}),L(p),d(t,p)},$$slots:{default:!0}})},t=>{var n=Os(),r=e(n);s(()=>l(r,`No ${g(o)===`all`?``:g(o)+` `}issues.`)),d(t,n)}),L(k),s(e=>l(N,e),[()=>g(x)?`Grouping each repo's free issues…`:g(y)?`Grouped ${ht(g(y))}.`:`Not grouped yet.`]),d(t,k),F()}t([`click`]);function js(e,t={}){let n=typeof t==`string`?{text:t}:t,r;async function i(){let t=typeof n.text==`function`?n.text():String(n.text??``);try{await navigator.clipboard.writeText(t)}catch{return}e.dataset.copied=`true`,n.oncopied?.(!0),clearTimeout(r),r=setTimeout(()=>{delete e.dataset.copied,n.oncopied?.(!1)},1400)}return e.addEventListener(`click`,i),{update(e){n=typeof e==`string`?{text:e}:e},destroy(){clearTimeout(r),e.removeEventListener(`click`,i)}}}var Ms=o(`<span class="sd-field-label"> </span>`),Ns=o(`<span class="sd-token-copied" role="status">Copied</span>`),Ps=o(`<span class="sd-field-hint"> </span>`),Fs=o(`<div class="sd-field"><!> <div class="sd-token" role="group"><code> </code> <!> <!> <button type="button" class="sd-iconbtn" aria-label="Copy" title="Copy"><!></button> <!></div> <!></div>`);function Is(t,r){let i=p();se(r,!0);let a=W(r,`masked`,3,!1),o=U(!1),c=U(!1),u=w(()=>r.prefix??r.value.slice(0,r.value.indexOf(`_`,4)+1)),f=w(()=>!a()||g(o)?r.value:g(u)+`•`.repeat(Math.max(6,Math.min(12,r.value.length-g(u).length-4)))+r.value.slice(-4));var m=Fs(),h=b(m),_=t=>{var n=Ms(),a=e(n,!0);s(()=>{G(n,`id`,`sd-token-${i}`),l(a,r.label)}),d(t,n)};n(h,e=>{r.label&&e(_)});var v=O(h,2),y=b(v),x=e(y,!0),S=O(y,2),C=e=>{var t=Ns();d(e,t)};n(S,e=>{g(c)&&e(C)});var T=O(S,2),E=e=>{{let t=w(()=>g(o)?`eye-off`:`eye`),n=w(()=>g(o)?`Hide secret`:`Reveal secret`);Ye(e,{get icon(){return g(t)},get label(){return g(n)},onclick:()=>z(o,!g(o))})}};n(T,e=>{a()&&e(E)});var D=O(T,2),k=b(D);xt(k,{name:`copy`}),L(D),le(D,(e,t)=>js?.(e,t),()=>({text:r.value,oncopied:e=>z(c,e,!0)}));var A=O(D,2);N(A,()=>r.actions??j),L(v);var M=O(v,2),ee=t=>{var n=Ps(),i=e(n,!0);s(()=>l(i,r.hint)),d(t,n)};n(M,e=>{r.hint&&e(ee)}),L(m),s(()=>{G(v,`aria-labelledby`,r.label?`sd-token-${i}`:void 0),l(x,g(f))}),d(t,m),F()}var Ls=o(`<span class="sd-field-error"> </span>`),Rs=o(`<div role="region" aria-label="Unsaved changes"><span class="sd-savebar-text" role="status"><!></span> <!> <!></div>`);function zs(t,i){se(i,!0);let a=W(i,`saving`,3,!1),o=W(i,`valid`,3,!0),c=W(i,`persistent`,3,!1),u=new yt({name:`A SaveBar onsave`,speak:!1}),p=w(()=>a()||u.busy),m=w(()=>i.error||u.error);y(()=>{i.changes,u.error=``});function h(){return u.run(e=>i.onsave?.(e))}var _=r(),v=f(_),S=t=>{var r=Rs(),f=b(r),_=b(f),v=t=>{var n=Ls(),r=e(n,!0);s(()=>l(r,g(m))),d(t,n)},y=e=>{var t=q();s(()=>l(t,_t.slow)),d(e,t)},S=e=>{var t=q(`Saving`);d(e,t)},C=e=>{var t=q(`No changes`);d(e,t)},T=e=>{var t=q(`Fix errors to save`);d(e,t)},E=e=>{var t=q();s(()=>l(t,i.changes===1?`1 unsaved change`:`${i.changes} unsaved changes`)),d(e,t)};n(_,e=>{g(m)?e(v):u.slow?e(y,1):a()||u.spinning?e(S,2):i.changes===0?e(C,3):o()?e(E,-1):e(T,4)}),L(f);var D=O(f,2);{let e=w(()=>g(p)||i.changes===0);Q(D,{variant:`quiet`,size:`sm`,get disabled(){return g(e)},onclick:()=>i.ondiscard?.(),children:(e,t)=>{V();var n=q(`Discard`);d(e,n)},$$slots:{default:!0}})}var k=O(D,2);{let e=w(()=>!o()||i.changes===0);Q(k,{variant:`primary`,size:`sm`,get disabled(){return g(e)},onclick:()=>h(),children:(e,t)=>{V();var n=q(`Save`);d(e,n)},$$slots:{default:!0}})}L(r),s(()=>{x(r,1,ce([`sd-savebar`,c()&&`sd-savebar-persistent`,i.changes>0&&`sd-savebar-dirty`,i.changes>0&&!o()&&`sd-savebar-invalid`])),G(r,`aria-busy`,g(p)?`true`:void 0)}),d(t,r)};n(v,e=>{(i.changes>0||c())&&e(S)}),d(t,_),F()}var Bs=e=>e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/[-_]/g,` `).replace(/^./,e=>e.toUpperCase());function Vs(e,t,n){let r={id:`${e}.${t}`,category:e,key:t,title:n.title??Bs(t),description:n.description,default:n.default,readOnly:n.readOnly===!0,wait:n.wait===!0,mono:n.mono===!0,unit:n.unit,placeholder:n.placeholder};return n.secret===!0&&n.type===`string`?{...r,kind:`secret`}:n.type===`boolean`?{...r,kind:`boolean`}:Array.isArray(n.enum)?{...r,kind:`enum`,options:n.enum.map(e=>({value:e,label:n.labels?.[e]??String(e)}))}:n.type===`number`||n.type===`integer`?{...r,kind:`number`,min:n.minimum,max:n.maximum,step:n.type===`integer`?1:`any`}:n.type===`array`?{...r,kind:n.items?.type===`object`||n.items?.type===`array`?`complex`:`list`}:n.type===`object`?{...r,kind:`complex`}:{...r,kind:`text`}}function Hs(e){let t=pe(e,{io:`input`,unrepresentable:`any`});return Object.entries(t.properties??{}).map(([e,t])=>{let n=Object.entries(t.properties??{}).map(([t,n])=>Vs(e,t,n));return{id:e,title:t.title??Bs(e),description:t.description,icon:t.icon,saveButton:t.save===`button`||n.some(e=>e.kind===`secret`),settings:n}})}function Us(e,t,n){return e.shape[t].shape[n]}function Ws(e,t){return t!==void 0&&JSON.stringify(t)!==JSON.stringify(e.default)}var Gs=o(`<button type="button" class="sd-settings-cat"><!> <span class="sd-nav-label"> </span></button>`),Ks=o(`<p class="sd-settings-sub"> </p>`),qs=o(`<header class="sd-settings-head"><div class="sd-settings-titles"><h2 class="sd-settings-title"> </h2> <!></div> <!></header>`),Js=o(`<header class="sd-settings-head"><h2 class="sd-settings-title"> </h2></header>`),Ys=o(`<button type="button" class="sd-settings-open"> <!></button>`),Xs=o(`<div class="sd-settings-page"><!></div>`),Zs=o(`<span class="sd-setting-label"> </span>`),Qs=o(`<label class="sd-setting-label"> </label>`),$s=o(`<span class="sd-spinner sd-setting-spinner" aria-hidden="true"></span>`),ec=o(`<button type="button" class="sd-iconbtn" title="Reset to default"><!></button>`),tc=o(`<p class="sd-setting-desc"> </p>`),nc=o(`<div class="sd-token"><code class="sd-setting-empty"> </code><!></div>`),rc=o(`<div class="sd-setting-secret" role="group"><!></div>`),ic=o(`<div class="sd-field-hint"> </div>`),ac=o(`<div class="sd-setting-secret"><div class="sd-input-wrap"><input type="text" autocomplete="off" autocapitalize="off" spellcheck="false" data-1p-ignore="" data-lpignore="true" data-bwignore="" data-form-type="other" placeholder="New value"/> <div class="sd-input-actions"><!> <!></div></div></div> <!>`,1),oc=o(`<p class="sd-field-hint"> </p>`),sc=o(`<div class="sd-setting-readonly"><code> </code> <button type="button" class="sd-iconbtn"><!></button></div>`),cc=o(`<option> </option>`),lc=o(`<div class="sd-select-wrap"><select></select> <!></div>`),uc=o(`<span> </span>`),dc=o(`<div class="sd-input-unit"><input class="sd-input" type="number" inputmode="decimal"/> <!></div>`),fc=o(`<textarea rows="3"></textarea>`),pc=o(`<input/>`),mc=o(`<div class="sd-field-error"> </div>`),hc=o(`<div><div class="sd-setting-text"><div class="sd-setting-labelrow"><!> <!> <!></div> <!> <code class="sd-setting-id"> </code></div> <div class="sd-setting-control"><!> <!></div></div>`),gc=o(`<section class="sd-settings-section"><!> <!> <!></section>`),_c=o(`<p class="sd-settings-empty" role="status"> </p>`),vc=o(`<div class="sd-settings" role="region"><div class="sd-settings-layout"><nav class="sd-settings-nav"></nav> <div class="sd-settings-main"><div class="sd-settings-top"><div class="sd-settings-search"><!> <input class="sd-input" type="search" placeholder="Search settings" aria-label="Search settings"/></div> <!></div> <div class="sd-settings-body"></div></div></div></div>`);function yc(t,i){let o=p();se(i,!0);let c=W(i,`value`,15),u=W(i,`category`,15),m=W(i,`label`,3,`Settings`),h=W(i,`pages`,19,()=>({})),v=w(()=>Hs(i.schema)),y=w(()=>u()??g(v)[0]?.id),S=w(()=>g(v).find(e=>e.id===g(y))),C=U(``),T=oe({}),E=oe({}),D=U(oe({})),A=oe({}),j=oe({}),ee=oe({}),R=oe({}),te={},B={},V={},re={},H=w(()=>g(C).trim().toLowerCase()),q=w(()=>g(H)?g(v).map(e=>h()[e.id]?e:{...e,settings:e.settings.filter(t=>`${e.title} ${t.title} ${t.description??``} ${t.id}`.toLowerCase().includes(g(H)))}).filter(e=>h()[e.id]?Ee(e):e.settings.length):g(v).filter(e=>e.id===g(y))),ue=e=>`sd-set-${o}-${e.id.replace(`.`,`-`)}`,J=e=>g(v).find(t=>t.id===e)?.saveButton===!0,de=e=>g(D)[e.category]!=null&&e.key in g(D)[e.category],Y=e=>de(e)?g(D)[e.category][e.key]:c()?.[e.category]?.[e.key]??e.default,fe=e=>new Set([...Object.keys(g(D)[e]??{}),...Object.keys(T).filter(t=>t.startsWith(`${e}.`)).map(t=>t.slice(e.length+1))]).size,pe=e=>Object.keys(T).some(t=>t.startsWith(`${e}.`));function me(e,t,n=!1){let r=Us(i.schema,e.category,e.key).safeParse(t);if(!r.success)T[e.id]=r.error.issues[0].message,clearTimeout(B[e.id]),delete V[e.id];else if(delete T[e.id],J(e.category)){delete E[e.id];let t=c()?.[e.category]?.[e.key]??e.default,n={...g(D)[e.category]};JSON.stringify(r.data)===JSON.stringify(t)?delete n[e.key]:n[e.key]=r.data,z(D,{...g(D),[e.category]:n},!0),delete ee[e.category]}else n?(clearTimeout(B[e.id]),V[e.id]=()=>ge(e,r.data),B[e.id]=setTimeout(()=>he(e),vt.debounce)):(delete E[e.id],ge(e,r.data))}function he(e){clearTimeout(B[e.id]);let t=V[e.id];delete V[e.id],t?.()}function ge(e,t){e.id in te||(te[e.id]=c()?.[e.category]?.[e.key]??e.default),delete E[e.id];let n={...c(),[e.category]:{...c()?.[e.category],[e.key]:t}};c(n),R[e.id]??=new St(t=>_e(e,t),`Settings onchange for ${e.id}`),R[e.id].send(r=>i.onchange?.({path:e.id,value:t,settings:n,...r}))}function _e(e,t){let n=c()?.[e.category]?.[e.key];for(let n of re[e.id]?.splice(0)??[])n(t.error);t.ok?te[e.id]=n:t.error&&((e.kind===`text`||e.kind===`number`||e.kind===`list`)&&(E[e.id]=Array.isArray(n)?n.join(`
5
+ `):n==null?``:String(n)),c({...c(),[e.category]:{...c()?.[e.category],[e.key]:te[e.id]}}),T[e.id]=t.error)}async function ve(e,t,n){let r=Us(i.schema,e.category,e.key).safeParse(t);if(!r.success)return r.error.issues[0].message;let a={...c(),[e.category]:{...c()?.[e.category],[e.key]:r.data}},o=await i.onchange?.({path:e.id,value:r.data,settings:a,seq:bt(),...n});if(typeof o==`string`&&o)return T[e.id]=o,o;delete T[e.id],c(a)}function ye(e){z(D,{...g(D),[e]:{}},!0);for(let t of Object.keys(T))t.startsWith(`${e}.`)&&delete T[t];for(let t of Object.keys(E))t.startsWith(`${e}.`)&&delete E[t];for(let t of Object.keys(A))t.startsWith(`${e}.`)&&delete A[t];for(let t of Object.keys(j))t.startsWith(`${e}.`)&&delete j[t];delete ee[e]}async function X(e){let t={...g(D)[e]},n={...c(),[e]:{...c()?.[e],...t}},r=await i.onsave?.({category:e,changes:t,settings:n});typeof r==`string`&&r?ee[e]=r:(c(n),ye(e))}function be(e){delete A[e.id],delete j[e.id],delete T[e.id];let t={...g(D)[e.category]};delete t[e.key],z(D,{...g(D),[e.category]:t},!0)}function xe(e,t){E[e.id]=t,e.kind===`number`?me(e,t.trim()===``?void 0:Number(t),!0):e.kind===`list`?me(e,t.split(`
6
+ `).map(e=>e.trim()).filter(Boolean),!0):me(e,t,!0)}function Se(e){if(E[e.id]!=null)return E[e.id];let t=Y(e);return Array.isArray(t)?t.join(`
7
+ `):t==null?``:String(t)}function Ce(e){u(e),z(C,``)}function we(e,t,n){let r=e.settings.find(e=>e.key===t);return r?(me(r,n),T[r.id]?Promise.resolve(T[r.id]):J(e.id)?Promise.resolve():new Promise(e=>(re[r.id]??=[]).push(e))):Promise.resolve(`No setting named ${t} in ${e.id}.`)}function Te(e){return{category:e.id,settings:e.settings,get values(){return Object.fromEntries(e.settings.map(e=>[e.key,Y(e)]))},get errors(){return Object.fromEntries(e.settings.filter(e=>T[e.id]).map(e=>[e.key,T[e.id]]))},set:(t,n)=>we(e,t,n),saving:t=>R[`${e.id}.${t}`]?.pending.spinning===!0}}let Ee=e=>`${e.title} ${e.description??``} ${e.settings.map(e=>`${e.title} ${e.description??``}`).join(` `)}`.toLowerCase().includes(g(H));var De=vc(),Oe=b(De),ke=b(Oe);K(ke,21,()=>g(v),e=>e.id,(t,r)=>{var i=Gs(),a=b(i),o=e=>{xt(e,{get name(){return g(r).icon}})};n(a,e=>{g(r).icon&&e(o)});var c=O(a,2),u=e(c,!0);L(i),s(()=>{G(i,`aria-current`,!g(H)&&g(r).id===g(y)?`true`:void 0),l(u,g(r).title)}),_(`click`,i,()=>Ce(g(r).id)),d(t,i)}),L(ke);var Ae=O(ke,2),je=b(Ae),Me=b(je),Ne=b(Me);xt(Ne,{name:`search`});var Pe=O(Ne,2);P(Pe),L(Me);var Fe=O(Me,2),Ie=t=>{var r=qs(),i=b(r),a=b(i),c=e(a,!0),u=O(a,2),f=t=>{var n=Ks(),r=e(n,!0);s(()=>l(r,g(S).description)),d(t,n)};n(u,e=>{g(S).description&&e(f)}),L(i);var p=O(i,2),m=e=>{{let t=w(()=>fe(g(S).id)),n=w(()=>!pe(g(S).id));zs(e,{persistent:!0,get changes(){return g(t)},get error(){return ee[g(S).id]},get valid(){return g(n)},onsave:()=>X(g(S).id),ondiscard:()=>ye(g(S).id)})}};n(p,e=>{g(S).saveButton&&e(m)}),L(r),s(()=>{G(a,`id`,`sd-set-${o}-${g(S).id??``}`),l(c,g(S).title)}),d(t,r)};n(Fe,e=>{!g(H)&&g(S)&&e(Ie)}),L(je);var Le=O(je,2);K(Le,21,()=>g(q),e=>e.id,(t,i)=>{var u=gc(),p=b(u),m=t=>{var n=Js(),r=b(n),a=e(r,!0);L(n),s(()=>{G(r,`id`,`sd-set-${o}-${g(i).id??``}`),l(a,g(i).title)}),d(t,n)};n(p,e=>{g(H)&&e(m)});var v=O(p,2),y=e=>{var t=Ys(),n=b(t),r=O(n);xt(r,{name:`chevron-right`}),L(t),s(()=>l(n,`Open ${g(i).title??``}`)),_(`click`,t,()=>Ce(g(i).id)),d(e,t)},S=e=>{var t=Xs(),n=b(t);{let e=w(()=>Te(g(i)));N(n,()=>h()[g(i).id],()=>g(e))}L(t),d(e,t)},C=t=>{var o=r(),u=f(o);K(u,17,()=>g(i).settings,e=>e.id,(t,i)=>{let o=w(()=>ue(g(i))),u=w(()=>!g(i).readOnly&&g(i).kind!==`secret`&&Ws(g(i),Y(g(i))));var p=hc(),m=b(p),h=b(m),v=b(h),y=t=>{var n=Zs(),r=e(n,!0);s(()=>{G(n,`id`,`${g(o)??``}-label`),l(r,g(i).title)}),d(t,n)},S=t=>{var n=Qs(),r=e(n,!0);s(()=>{G(n,`for`,g(o)),l(r,g(i).title)}),d(t,n)};n(v,e=>{g(i).kind===`boolean`||g(i).readOnly||g(i).kind===`secret`&&!A[g(i).id]?e(y):e(S,-1)});var C=O(v,2),D=e=>{var t=$s();d(e,t)};n(C,e=>{R[g(i).id]?.pending.spinning&&e(D)});var ee=O(C,2),N=e=>{var t=ec(),n=b(t);xt(n,{name:`rotate-ccw`}),L(t),s(()=>G(t,`aria-label`,`Reset ${g(i).title??``} to default`)),_(`click`,t,()=>me(g(i),g(i).default)),d(e,t)},F=w(()=>g(u)&&!de(g(i)));n(ee,e=>{g(F)&&e(N)}),L(h);var z=O(h,2),te=t=>{var n=tc(),r=e(n,!0);s(()=>{G(n,`id`,`${g(o)??``}-desc`),l(r,g(i).description)}),d(t,n)};n(z,e=>{g(i).description&&e(te)});var B=O(z,2),V=e(B,!0);L(m);var re=O(m,2),H=b(re),U=t=>{var r=rc();{let t=e=>{Ye(e,{icon:`pencil`,get label(){return`Edit ${g(i).title??``}`},onclick:()=>A[g(i).id]=!0})};var a=b(r),u=e=>{{let n=w(()=>String(c()[g(i).category][g(i).key]));Is(e,{get value(){return g(n)},masked:!0,get actions(){return t}})}},f=n=>{var r=nc(),a=b(r),o=e(a,!0),c=O(a);t(c),L(r),s(()=>l(o,g(i).placeholder??`Not set`)),d(n,r)};n(a,e=>{c()?.[g(i).category]?.[g(i).key]?e(u):e(f,-1)}),L(r)}s(()=>G(r,`aria-labelledby`,`${g(o)??``}-label`)),d(t,r)},ie=t=>{var r=ac(),a=f(r),c=b(a),u=b(c);P(u),ne(u,!0);var p=O(u,2),m=b(p);{let e=w(()=>j[g(i).id]?`eye-off`:`eye`),t=w(()=>j[g(i).id]?`Hide value`:`Show value`),n=w(()=>j[g(i).id]?`true`:`false`);Ye(m,{get icon(){return g(e)},get label(){return g(t)},get"aria-pressed"(){return g(n)},onclick:()=>j[g(i).id]=!j[g(i).id]})}var h=O(m,2);Ye(h,{icon:`x`,get label(){return`Keep the saved ${g(i).title??``}`},onclick:()=>be(g(i))}),L(p),L(c),L(a);var v=O(a,2),y=t=>{var n=ic(),r=e(n,!0);s(e=>{G(n,`id`,`${g(o)??``}-note`),l(r,e)},[()=>de(g(i))?`Replaces the saved value when you save.`:`Type or paste the new value.`]),d(t,n)};n(v,e=>{T[g(i).id]||e(y)}),s(e=>{G(u,`id`,g(o)),x(u,1,ce([`sd-input`,`sd-input-mono`,!j[g(i).id]&&`sd-input-masked`])),k(u,e),G(u,`aria-invalid`,T[g(i).id]?`true`:void 0),G(u,`aria-describedby`,T[g(i).id]?`${g(o)}-err`:`${g(o)}-note`)},[()=>E[g(i).id]??(de(g(i))?String(Y(g(i))):``)]),_(`input`,u,e=>xe(g(i),e.currentTarget.value)),_(`keydown`,u,e=>e.key===`Escape`&&be(g(i))),d(t,r)},W=t=>{var n=oc(),r=e(n);s(()=>l(r,`Needs a custom page: pass one in pages for ${g(i).category??``}.`)),d(t,n)},oe=t=>{var n=sc(),r=b(n),a=e(r,!0),c=O(r,2),u=b(c);xt(u,{name:`copy`}),L(c),le(c,(e,t)=>js?.(e,t),()=>({text:Se(g(i))})),L(n),s(e=>{G(n,`aria-labelledby`,`${g(o)??``}-label`),l(a,e),G(c,`aria-label`,`Copy ${g(i).title??``}`),G(c,`title`,`Copy ${g(i).title??``}`)},[()=>Se(g(i))]),d(t,n)},se=e=>{var t=r(),a=f(t),o=e=>{{let t=w(()=>Y(g(i))===!0);Cr(e,{wait:!0,get checked(){return g(t)},get"aria-label"(){return g(i).title},onchange:(e,t)=>ve(g(i),e,t)})}},s=e=>{{let t=w(()=>Y(g(i))===!0);Cr(e,{get checked(){return g(t)},get"aria-label"(){return g(i).title},onchange:e=>me(g(i),e)})}};n(a,e=>{g(i).wait?e(o):e(s,-1)}),d(e,t)},q=t=>{var n=lc(),r=b(n);K(r,21,()=>g(i).options,e=>e.value,(t,n)=>{var r=cc(),i=e(r,!0),a={};s(()=>{l(i,g(n).label),a!==(a=g(n).value)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(r);var a;I(r);var c=O(r,2);xt(c,{name:`chevron-down`}),L(n),s(e=>{G(r,`id`,g(o)),x(r,1,ce([`sd-input`,`sd-select`,g(i).mono&&`sd-input-mono`])),G(r,`aria-describedby`,g(i).description?`${g(o)}-desc`:void 0),a!==(a=e)&&(r.value=(r.__value=a)??``,M(r,a))},[()=>Y(g(i))]),_(`change`,r,e=>me(g(i),e.currentTarget.value)),d(t,n)},J=t=>{var r=dc(),c=b(r);P(c);var u=O(c,2),f=t=>{var n=uc(),r=e(n,!0);s(()=>l(r,g(i).unit)),d(t,n)};n(u,e=>{g(i).unit&&e(f)}),L(r),s(e=>{G(c,`id`,g(o)),G(c,`min`,g(i).min),G(c,`max`,g(i).max),G(c,`step`,g(i).step),k(c,e),G(c,`aria-invalid`,T[g(i).id]?`true`:void 0),G(c,`aria-describedby`,T[g(i).id]?`${g(o)}-err`:g(i).description?`${g(o)}-desc`:void 0)},[()=>Se(g(i))]),_(`input`,c,e=>xe(g(i),e.currentTarget.value)),a(`blur`,c,()=>he(g(i))),d(t,r)},fe=e=>{var t=fc();ae(t),s(e=>{G(t,`id`,g(o)),x(t,1,ce([`sd-input`,`sd-textarea`,g(i).mono&&`sd-input-mono`])),k(t,e),G(t,`placeholder`,g(i).placeholder),G(t,`aria-invalid`,T[g(i).id]?`true`:void 0),G(t,`aria-describedby`,T[g(i).id]?`${g(o)}-err`:g(i).description?`${g(o)}-desc`:void 0)},[()=>Se(g(i))]),_(`input`,t,e=>xe(g(i),e.currentTarget.value)),a(`blur`,t,()=>he(g(i))),d(e,t)},pe=e=>{var t=pc();P(t),s(e=>{G(t,`id`,g(o)),x(t,1,ce([`sd-input`,g(i).mono&&`sd-input-mono`])),k(t,e),G(t,`placeholder`,g(i).placeholder),G(t,`aria-invalid`,T[g(i).id]?`true`:void 0),G(t,`aria-describedby`,T[g(i).id]?`${g(o)}-err`:g(i).description?`${g(o)}-desc`:void 0)},[()=>Se(g(i))]),_(`input`,t,e=>xe(g(i),e.currentTarget.value)),a(`blur`,t,()=>he(g(i))),d(e,t)};n(H,e=>{g(i).kind===`secret`&&!A[g(i).id]?e(U):g(i).kind===`secret`?e(ie,1):g(i).kind===`complex`?e(W,2):g(i).readOnly?e(oe,3):g(i).kind===`boolean`?e(se,4):g(i).kind===`enum`?e(q,5):g(i).kind===`number`?e(J,6):g(i).kind===`list`?e(fe,7):e(pe,-1)});var ge=O(H,2),_e=t=>{var n=mc(),r=e(n,!0);s(()=>{G(n,`id`,`${g(o)??``}-err`),l(r,T[g(i).id])}),d(t,n)};n(ge,e=>{T[g(i).id]&&e(_e)}),L(re),L(p),s(e=>{x(p,1,e),G(p,`aria-busy`,R[g(i).id]?.pending.spinning?`true`:void 0),l(V,g(i).id)},[()=>ce([`sd-setting`,g(u)&&`sd-setting-modified`,de(g(i))&&`sd-setting-unsaved`])]),d(t,p)}),d(t,o)};n(v,e=>{h()[g(i).id]&&g(H)?e(y):h()[g(i).id]?e(S,1):e(C,-1)});var D=O(v,2),F=e=>{{let t=w(()=>fe(g(i).id)),n=w(()=>!pe(g(i).id));zs(e,{get changes(){return g(t)},get error(){return ee[g(i).id]},get valid(){return g(n)},onsave:()=>X(g(i).id),ondiscard:()=>ye(g(i).id)})}};n(D,e=>{g(H)&&g(i).saveButton&&e(F)}),L(u),s(()=>G(u,`aria-labelledby`,`sd-set-${o}-${g(i).id??``}`)),d(t,u)},t=>{var n=_c(),r=e(n);s(()=>l(r,`No settings match “${g(C)??``}”.`)),d(t,n)}),L(Le),L(Ae),L(Oe),L(De),s(()=>{G(De,`aria-label`,m()),G(ke,`aria-label`,`${m()??``} categories`)}),ie(Pe,()=>g(C),e=>z(C,e)),d(t,De),F()}t([`click`,`input`,`keydown`,`change`]);var bc={agents:{title:`Agents`,description:`Where agents start and how you reach them. Each change is saved on the bus and applies at once.`,icon:`users`},throttle:{title:`Throttle`,description:`When memory, disk, or load run short, new work waits and agents are closed or paused.`,icon:`activity`}};function xc(e,t){return Le({error:`A whole number.`}).int(`A whole number.`).min(e,`At least ${e}.`).max(t,`At most ${t}.`)}var Sc={development_root:{label:`Development folder`,description:`Agents start in the git clones under its repos folder, one per org/repo, as the git-workflow skill lays them out.`,category:`agents`,type:`string`,default:`~/Development`,schema:ft().min(1,`Name a folder.`)},user_name:{label:`Your name`,description:`What agents call you. Left empty, it is your account's full name. Your address on the bus is always user.`,category:`agents`,type:`string`,default:``,schema:ft().max(80,`At most 80 characters.`)},agent_plugins:{label:`Agent plugins`,description:`Plugin folders every agent on a slot loads whole beside the coordinator's own, separated by commas: your Attached Skills. A folder may start with ~ or $COORDINATOR_ROOT. Each agent loads them when it starts or is resumed.`,category:`agents`,type:`string`,default:``,schema:ft()},console:{label:`Console`,description:`Keep your console running: a Claude Session in a Herdr workspace of its own that can do through the bus only what this page can, and nothing else. Turn on Remote Control for it in Herdr to reach it from the Claude app.`,category:`agents`,type:`boolean`,default:!0,schema:He()},wake_budget:{label:`Wake budget`,description:`How many times in an hour the bus may wake one agent. Past it, the bus stops waking that agent until you message it, and tells you.`,category:`agents`,unit:`per hour`,type:`integer`,default:12,schema:xc(1,120)},idle_warning_minutes:{label:`Idle warning`,description:`An agent at rest this long with nothing asked, nothing unread, and not kept open is flagged gone quiet on this page; nothing is typed into it.`,category:`agents`,unit:`minutes`,type:`integer`,default:10,schema:xc(1,1440)},throttle:{label:`Throttle`,description:`When memory runs short, hold new work and close idle agents; when it runs out, pause working agents and bring them back once it recovers.`,category:`throttle`,type:`boolean`,default:!0,schema:He()},soft_available_percent:Cc(`Soft limit: available memory`,`Memory is short at or below this share of RAM available.`,15,`% of RAM`),hard_available_percent:Cc(`Hard limit: available memory`,`Memory is nearly out at or below this share of RAM available.`,5,`% of RAM`),soft_swap_percent:Cc(`Soft limit: swap`,`Memory is short at or above this much swap in use.`,50,`% of RAM`),hard_swap_percent:Cc(`Hard limit: swap`,`Memory is nearly out at or above this much swap in use.`,75,`% of RAM`),low_disk_percent:Cc(`Low disk`,`New work is held at or below this share of the disk free.`,10,`% free`),high_load_per_core:{label:`High load`,description:`New work is held while the 1-minute load is at or above this many times the cores.`,category:`throttle`,unit:`per core`,type:`integer`,default:2,schema:xc(1,100)}};function Cc(e,t,n,r){return{label:e,description:t,category:`throttle`,unit:r,type:`integer`,default:n,schema:xc(0,100)}}var wc=pt(Object.fromEntries(Object.entries(bc).map(([e,t])=>[e,pt(Object.fromEntries(Object.entries(Sc).filter(([,t])=>t.category===e).map(([e,t])=>[e,t.schema.default(t.default).meta({title:t.label,description:t.description,unit:t.unit,mono:t.type===`string`})]))).meta(t)]))),Tc=o(`<button type="button" class="row-item row-link"><div class="row-main"><span class="mono"> </span><span class="body-sm sub"> </span></div> <!></button>`),Ec=o(`<p class="empty">No logins yet.</p>`),Dc=o(`<div><!></div> <div class="rows"></div>`,1),Oc=o(`<div class="content-stack" data-view="settings"><div class="page-head"><div class="titles"><h1 class="title">Settings</h1> <p class="body-sm sub">The server's settings, saved on the bus. Each change applies at once.</p></div></div> <!></div>`);function kc(t,n){se(n,!0);let r=(t,n=j)=>{var r=Dc(),a=f(r),o=b(a);Q(o,{variant:`secondary`,size:`sm`,id:`add-login`,get icon(){return Zn},onclick:()=>i.open(`login`),children:(e,t)=>{V();var n=q(`Add a login`);d(e,n)},$$slots:{default:!0}}),L(a);var c=O(a,2);K(c,21,()=>n().values.logins,e=>e.login,(t,n)=>{var r=Tc(),a=b(r),o=b(a),c=e(o,!0),u=O(o),f=e(u,!0);L(a),qn(O(a,2),{class:`sd-icon`,size:16,strokeWidth:2}),L(r),s(()=>{G(r,`data-login`,g(n).login),G(r,`aria-label`,`Edit login ${g(n).login??``}`),l(c,g(n).login),l(f,g(n).status)}),_(`click`,r,()=>i.open(`login`,g(n).login)),d(t,r)},e=>{var t=Ec();d(e,t)}),L(c),d(t,r)},i=xe(),a=wc.extend({github:pt({logins:Ue(pt({login:ft(),status:ft()})).default([]).meta({title:`Logins`})}).meta({title:`GitHub`,icon:`key-round`,description:`Each login's SSH key and commit identity, and the orgs that use it. The bus writes them into every repo of those orgs it keeps.`})}),o=()=>(i.st?.logins??[]).map(e=>({login:e.login,status:`${e.check?e.check.ok?`Checked`:`Problem: ${e.check.text}`:`Not checked yet`} · ${e.name} <${e.email}> · ${e.orgs.join(`, `)}`}));function u(){let e={};for(let t of i.st?.settings??[]){let n=Sc[t.name]?.category;n&&((e[n]??={})[t.name]=t.value)}return e.github={logins:o()},e}let p=U(oe(c(u)));y(()=>{let e=o();c(()=>z(p,{...g(p),github:{logins:e}},!0))});let m=U(void 0);async function h({path:e,value:t}){let n=await i.post(`settings`,{[e.split(`.`)[1]]:t});if(n.error)return n.error;await i.poll()}var v=Oc(),x=O(b(v),2);{let e=w(()=>({github:r}));yc(x,{get schema(){return a},label:`Server settings`,onchange:h,get pages(){return g(e)},get value(){return g(p)},set value(e){z(p,e,!0)},get category(){return g(m)},set category(e){z(m,e,!0)}})}L(v),d(t,v),F()}t([`click`]);var Ac=new Set([` `,`Enter`,`ArrowUp`,`ArrowDown`,`Home`,`End`,`Escape`]);function jc(e,t={}){let n=t,r=null,i=()=>[...e.querySelectorAll(`[data-sort-item]`)],a=e=>i().findIndex(t=>t.dataset.sortId===e),o=e=>i().find(t=>t.dataset.sortId===e),s=e=>n.announce?.(e),c=e=>n.name?.(e)??`Item ${e+1}`,l=e=>`${e+1} of ${i().length}`;function u(e){requestAnimationFrame(()=>o(e)?.querySelector(`[data-sort-handle]`)?.focus())}function d(e){let t=a(r.id),o=i().length-1,s=Math.max(0,Math.min(o,e));return s===t?t:(n.onmove?.(t,s),s)}function f(t){let{id:i,start:d,keyboard:f}=r,p=o(i);if(p?.classList.remove(`sd-sort-dragging`),p?.style.removeProperty(`transform`),e.classList.remove(`sd-sort-active`),r=null,t){let e=a(i);e!==d&&n.onmove?.(e,d),n.oncancel?.(d),s(`${c(d)} put back at position ${l(d)}.`)}else{let e=a(i);n.ondrop?.(d,e),s(e===d?`${c(e)} dropped where it was.`:`${c(e)} dropped at position ${l(e)}.`)}f&&u(i)}function p(t){let p=t.target.closest?.(`[data-sort-handle]`);if(!p||n.disabled||!Ac.has(t.key))return;let m=p.closest(`[data-sort-item]`)?.dataset.sortId;if(m==null)return;if(!r){if(t.key!==` `&&t.key!==`Enter`)return;t.preventDefault();let n=a(m);r={id:m,start:n,keyboard:!0},o(m)?.classList.add(`sd-sort-dragging`),e.classList.add(`sd-sort-active`),s(`${c(n)} picked up at position ${l(n)}. Use the arrow keys to move it, Space to drop it, Escape to cancel.`);return}if(!r.keyboard)return;if(t.preventDefault(),t.key===` `||t.key===`Enter`)return f(!1);if(t.key===`Escape`)return f(!0);let h=a(m),g=d(t.key===`ArrowUp`?h-1:t.key===`ArrowDown`?h+1:t.key===`Home`?0:i().length-1);g!==h&&s(`Position ${l(g)}.`),u(m)}function m(){r?.keyboard&&setTimeout(()=>{r?.keyboard&&!e.contains(document.activeElement)&&f(!1)},50)}function h(t){let o=t.target.closest?.(`[data-sort-handle]`);if(!o||n.disabled||t.button!==0||r)return;let l=o.closest(`[data-sort-item]`),u=l?.dataset.sortId;if(u==null)return;t.preventDefault(),o.setPointerCapture?.(t.pointerId);let d=a(u),f=i(),p=f.length>1?Math.abs((f[d+1]??f[d-1]).offsetTop-l.offsetTop):l.offsetHeight,m=f.filter(e=>e!==l).map((e,t)=>e.offsetTop+e.offsetHeight/2-(t>=d?p:0));r={id:u,start:d,keyboard:!1,startY:t.clientY,startTop:l.offsetTop,height:l.offsetHeight,slots:m,handle:o},l.classList.add(`sd-sort-dragging`),e.classList.add(`sd-sort-active`),s(`${c(d)} picked up.`),o.addEventListener(`pointermove`,g),o.addEventListener(`pointerup`,v),o.addEventListener(`pointercancel`,y)}function g(e){if(!r||r.keyboard)return;let t=r.startTop+(e.clientY-r.startY),n=t+r.height/2;d(r.slots.filter(e=>e<n).length),requestAnimationFrame(()=>{let e=r&&o(r.id);e&&(e.style.transform=`translateY(${t-e.offsetTop}px)`)})}function _(e){let{handle:t}=r;t.removeEventListener(`pointermove`,g),t.removeEventListener(`pointerup`,v),t.removeEventListener(`pointercancel`,y),f(e)}let v=()=>r&&!r.keyboard&&_(!1),y=()=>r&&!r.keyboard&&_(!0);function b(e){e.key===`Escape`&&r&&!r.keyboard&&(e.preventDefault(),_(!0))}return e.addEventListener(`keydown`,p),e.addEventListener(`focusout`,m),e.addEventListener(`pointerdown`,h),window.addEventListener(`keydown`,b),{update(e){n=e},destroy(){r&&!r.keyboard&&_(!0),e.removeEventListener(`keydown`,p),e.removeEventListener(`focusout`,m),e.removeEventListener(`pointerdown`,h),window.removeEventListener(`keydown`,b)}}}var Mc=o(`<span class="sd-checklist-count"> </span>`),Nc=o(`<label class="sd-check-row sd-checklist-all"><input type="checkbox" class="sd-checkbox"/> <span> </span> <!></label>`),Pc=o(`<span class="sd-field-hint"> </span>`),Fc=o(`<button type="button" class="sd-checklist-handle" data-sort-handle="" aria-roledescription="drag handle" title="Drag, or press Space then use the arrow keys"><!></button>`),Ic=o(`<span class="sd-check-desc"> </span>`),Lc=o(`<li data-sort-item=""><!> <label class="sd-check-row"><input type="checkbox" class="sd-checkbox"/> <span class="sd-check-text"><span class="sd-check-label"> </span> <!></span></label></li>`),Rc=o(`<p class="sd-list-empty"> </p>`),zc=o(`<span class="sd-field-error" role="alert"> </span>`),Bc=o(`<div class="sd-field sd-checklist" role="group"><div class="sd-checklist-head"><span class="sd-field-label"> </span> <!></div> <!> <!> <ul></ul> <!> <!></div>`);function Vc(t,r){let i=p();se(r,!0);let a=W(r,`items`,15),o=W(r,`checked`,15,`none`),c=W(r,`selectAll`,3,!1),u=W(r,`reorder`,3,!1),f=W(r,`filter`,3,!1),m=W(r,`query`,15,``),h=U(``),v=w(()=>f()&&m().trim()!==``),y=w(()=>g(v)?a().filter(e=>Fa(m(),e.label,e.description,e.id)):a()),S=w(()=>a().filter(e=>!e.disabled)),C=w(()=>g(y).filter(e=>!e.disabled)),T=w(()=>g(C).length>0&&g(C).every(e=>Fr(o(),e))),E=w(()=>!g(T)&&g(C).some(e=>Fr(o(),e))),k=w(()=>o()===`all`),A=w(()=>g(S).filter(e=>Fr(o(),e)).length),j=w(()=>Array.isArray(o())&&a().some(e=>Fr(o(),e))),M=e=>Array.isArray(e)?[...e]:e,ee=M(o()),N=a().map(e=>e.id),I=new St(e=>{e.ok?ee=M(o()):e.error&&(o(M(ee)),z(h,e.error,!0))},`A Checklist onchange`),R=new St(e=>{e.ok?N=a().map(e=>e.id):e.error&&(a(N.map(e=>a().find(t=>t.id===e)).filter(e=>!!e)),z(h,e.error,!0))},`A Checklist onreorder`),te=e=>a().map(e=>e.id).filter(t=>e.includes(t));function ne(e){o(Array.isArray(e)?te(e):e),z(h,``);let t=M(o());I.send(e=>r.onchange?.({checked:t,...e}))}function B(e,t){if(e.disabled)return;let n=o()===`all`?g(S).map(e=>e.id):o()===`none`?[]:o();ne(t?[...n.filter(t=>t!==e.id),e.id]:n.filter(t=>t!==e.id))}function V(){if(!g(v))return ne(g(k)?`none`:`all`);let e=re(),t=g(C).map(e=>e.id);ne(g(T)?e.filter(e=>!t.includes(e)):[...e.filter(e=>!t.includes(e)),...t])}let re=()=>a().filter(e=>Fr(o(),e)).map(e=>e.id);function H(e,t){let n=[...a()],[r]=n.splice(e,1);n.splice(t,0,r),a(n)}function ie(e,t){if(e===t)return;z(h,``);let n=[...a()];Array.isArray(o())&&o(te(o())),R.send(i=>r.onreorder?.({items:n,from:e,to:t,...i}))}var ae=Bc(),oe=b(ae),q=b(oe),ue=e(q,!0),J=O(q,2),de=t=>{var r=Nc(),i=b(r);P(i);var a=O(i,2),o=e(a,!0),c=O(a,2),u=t=>{var n=Mc(),r=e(n);s(()=>l(r,`${g(A)??``} of ${g(S).length??``}`)),d(t,n)};n(c,e=>{g(j)&&!g(v)&&e(u)}),L(r),s(()=>{D(i,g(v)?g(T):g(k)),i.indeterminate=g(v)?g(E):g(j),i.disabled=g(v)&&g(C).length===0,l(o,g(v)?`All shown`:`All`)}),_(`change`,i,V),d(t,r)};n(J,e=>{c()&&e(de)}),L(oe);var Y=O(oe,2),fe=t=>{var n=Pc(),a=e(n,!0);s(()=>{G(n,`id`,`sd-check-${i}-hint`),l(a,r.hint)}),d(t,n)};n(Y,e=>{r.hint&&e(fe)});var pe=O(Y,2),me=e=>{Pa(e,{get label(){return`Filter ${r.label??``}`},get shown(){return g(y).length},get total(){return a().length},get value(){return m()},set value(e){m(e)}})};n(pe,e=>{f()&&e(me)});var he=O(pe,2);K(he,23,()=>g(y),e=>e.id,(t,r,c)=>{var f=Lc(),p=b(f),m=e=>{var t=Fc(),n=b(t);xt(n,{name:`grip-vertical`}),L(t),s(()=>G(t,`aria-label`,`Reorder ${g(r).label??``}, position ${g(c)+1} of ${a().length??``}`)),d(e,t)};n(p,e=>{u()&&!g(v)&&e(m)});var h=O(p,2),y=b(h);P(y);var S=O(y,2),C=b(S),w=e(C,!0),T=O(C,2),E=t=>{var n=Ic(),a=e(n,!0);s(()=>{G(n,`id`,`sd-check-${i}-${g(c)??``}`),l(a,g(r).description)}),d(t,n)};n(T,e=>{g(r).description&&e(E)}),L(S),L(h),L(f),s(e=>{x(f,1,ce([`sd-checklist-item`,g(r).disabled&&`sd-checklist-disabled`])),G(f,`data-sort-id`,g(r).id),D(y,e),y.disabled=g(r).disabled,G(y,`aria-describedby`,g(r).description?`sd-check-${i}-${g(c)}`:void 0),l(w,g(r).label)},[()=>Fr(o(),g(r))]),_(`change`,y,e=>B(g(r),e.currentTarget.checked)),d(t,f)}),L(he),le(he,(e,t)=>jc?.(e,t),()=>({disabled:!u()||g(v),onmove:H,ondrop:ie,announce:gt,name:e=>a()[e]?.label}));var ge=O(he,2),_e=t=>{var n=Rc(),r=e(n);s(()=>l(r,`No items match “${m()??``}”.`)),d(t,n)};n(ge,e=>{g(v)&&!g(y).length&&e(_e)});var ve=O(ge,2),ye=t=>{var n=zc(),r=e(n,!0);s(()=>l(r,g(h))),d(t,n)};n(ve,e=>{g(h)&&e(ye)}),L(ae),s(e=>{G(ae,`aria-labelledby`,`sd-check-${i}`),G(ae,`aria-describedby`,r.hint?`sd-check-${i}-hint`:void 0),G(q,`id`,`sd-check-${i}`),l(ue,r.label),x(he,1,e)},[()=>ce([`sd-checklist-items`,u()&&`sd-checklist-sortable`,!Array.isArray(o())&&`sd-checklist-follow`])]),d(t,ae),F()}t([`change`]);var Hc=Xe([`push`,`pr`]),Uc=ft().trim().max(300).transform(e=>e||null).nullable().refine(e=>e===null||/^[\w.@+-]+(\/[\w.@+-]+)*\.mjs$/.test(e)&&!e.split(`/`).includes(`..`),`Name a .mjs file in the repo, by its path from the repo's root, such as scripts/before-landing.mjs.`),Wc={1:`Every minute`,2:`Every 2 minutes`,5:`Every 5 minutes`,15:`Every 15 minutes`},Gc={work:{title:`Work`,description:`How its agents' work reaches the default branch through the bus. Each change is saved on the repo and applies at once.`,icon:`box`},commands:{title:`Landing scripts`,description:`Scripts in this repo, each a .mjs file, the server runs with its own Node around each landing. Each is read from the repo's checkout, so only landed code runs. Each change is saved on the repo and applies to the next land.`,icon:`terminal`},agents:{title:`Agents`,description:`How its Agents run: the Profiles they get after base, naming the skills they load and the Event Handlers they are told. Each change applies from the next Agent's start.`,icon:`users`}},Kc={order:{label:`Profile order`,description:`The order its agents get the Profiles on for it, after base: the skills of each are added, and their Event Handlers told in turn. A Profile on for it but not named here comes last.`,category:`agents`,default:[],schema:Ue(Lr)},defaults:{label:`defaults`,description:`Whether its agents get the built-in defaults Profile, the Default Skills. On unless you turn it off.`,category:`agents`,options:{on:`On`,off:`Off`},default:`on`,schema:Xe([`on`,`off`])},landing:{label:`Landing Method`,description:`Push: agents' work moves the default branch and is pushed. Pull request: it is pushed as the slot's branch and opened as a PR. Until one is chosen, land is refused.`,category:`work`,options:{push:`Push to the default branch`,pr:`Pull request`},default:null,schema:Hc.nullable()},pre_land:{label:`Before landing`,description:`Runs on the slot's worktree once land's checks pass, before anything is pushed, as the default branch has the script, never the slot's branch. If it fails, nothing lands and the agent is told why, with the end of its output.`,category:`commands`,default:null,placeholder:`scripts/before-landing.mjs`,schema:Uc},during_land:{label:`During landing`,description:`Runs in the repo's checkout while a landing's PR is open, on the schedule below, until it merges or closes. The bus expects nothing of it: it never waits on it or reads its result.`,category:`commands`,default:null,placeholder:`scripts/during-landing.mjs`,schema:Uc},during_every:{label:`During landing runs`,description:`How often During landing runs. A run never starts while the last one is still going.`,category:`commands`,options:Wc,default:`2`,schema:Xe(Object.keys(Wc))},post_land:{label:`After landing`,description:`Runs in the repo's checkout once the work is on the default branch: after the push, or when its PR merges. If it fails, the work stays landed and you and the agent are told why.`,category:`commands`,default:null,placeholder:`scripts/after-landing.mjs`,schema:Uc}};pt(Object.fromEntries(Object.entries(Kc).map(([e,t])=>[e,t.schema.default(t.default)]))),Y(Object.fromEntries(Object.entries(Kc).map(([e,t])=>[e,t.schema.describe(t.description).optional()]))).refine(e=>Object.keys(e).length>0,`Name at least one setting.`);var qc=`Not chosen`,Jc=(e={})=>pt(Object.fromEntries(Object.entries(Gc).map(([t,n])=>[t,pt(Object.fromEntries(Object.entries(Kc).filter(([,e])=>e.category===t).map(([t,n])=>{if(Array.isArray(n.default))return[t,Ue(ft()).default(n.default).meta({title:n.label,description:n.description})];if(!n.options)return[t,ft().default(n.default??``).meta({title:n.label,description:n.description,mono:!0,placeholder:n.placeholder})];let r={...n.options,...e[t]},i=[...n.default===null?[``]:[],...Object.keys(r)];return[t,Xe(i).default(n.default??``).meta({title:n.label,description:n.description,labels:{"":qc,...r}})]}))).meta(n)])));function Yc(e){let t={};for(let[n,r]of Object.entries(Kc))(t[r.category]??={})[n]=e[n]??``;return t}var Xc=e=>e===``?null:e;function Zc(e,t){return t==null?qc:Kc[e].options?.[String(t)]??String(t)}var Qc=o(`<p class="body-sm sub">Every Agent gets <a class="mono">base</a> first, then each Profile checked here, top to bottom: its skills added, and its Event Handlers told in this order. Checking one turns it on for this Repo on that Profile itself, saved where it is kept.</p> <!>`,1),$c=o(`<div class="content-stack" data-view="repo-settings"><div class="page-head"><div class="titles"><h1 class="title mono"> </h1> <p class="body-sm sub">This repo's settings, saved on its record on the bus, each change applying at once; its secrets are on its Secrets view.</p></div></div> <!></div>`);function el(t,n){se(n,!0);let r=e=>{var t=Qc(),n=f(t),r=O(b(n));V(),L(n);var i=O(n,2);{let e=w(y);Vc(i,{label:`Profiles`,hint:`Drag to order them; a Profile newly on goes last. defaults is on for every Repo until you turn it off here.`,reorder:!0,get checked(){return g(e)},onchange:({checked:e})=>x(e),onreorder:()=>S(),get items(){return g(v)},set items(e){z(v,e,!0)}})}s(e=>G(r,`href`,e),[()=>ii(`base`)]),d(e,t)},i=xe(),a=U(oe(c(()=>Yc(i.st?.repos.find(e=>e.repo===n.repo)?.settings??{})))),o=U(void 0),u=w(Jc);async function p({path:e,value:t}){let r=await i.post(`act`,{type:`repo_settings`,body:{repo:n.repo,settings:{[e.split(`.`)[1]]:Xc(t)}}});if(r.error)return r.error;await i.poll()}let m=()=>i.st.repos.find(e=>e.repo===n.repo).settings,h=()=>i.st.profiles.profiles.filter(e=>!e.base&&!e.defaults);function _(){let e=m().order,t=t=>e.includes(t)?e.indexOf(t):e.length,n=i.st.profiles.profiles.find(e=>e.defaults),r=h().sort((e,n)=>t(e.name)-t(n.name)||e.name.localeCompare(n.name));return[...n?[n]:[],...r].map(e=>({id:e.name,label:e.name,description:[e.description,e.defaults?`Built in.`:e.moving?`From before; move it into a Repo on the Profiles tab.`:`Kept in ${e.kept.repo}.`].filter(Boolean).join(` `)}))}let v=U(oe(c(_))),y=()=>ri(i.st.profiles.profiles,n.repo,m()).filter(e=>!e.base).map(e=>e.name);async function x(e){let t=e===`all`?g(v).map(e=>e.id):e===`none`?[]:e,r=y();for(let e of[...t.filter(e=>!r.includes(e)),...r.filter(e=>!t.includes(e))]){let r=t.includes(e),a=i.st.profiles.profiles.find(t=>t.name===e);if(a.defaults){let e=await i.act({type:`repo_settings`,body:{repo:n.repo,settings:{defaults:r?`on`:`off`}}});if(e.error)return e.error;continue}let o=a.on_for.filter(e=>e!==n.repo&&Xr([e],n.repo));if(!r&&o.length)return`${e} is on for ${o.join(`, `)}; change that on its page.`;let s=await i.act({type:`profile_save`,body:{kind:`profile`,name:e,seen:a.hash,change:{on_for:r?[...a.on_for,n.repo]:a.on_for.filter(e=>e!==n.repo)}}});if(s.error)return s.error}}async function S(){let e=await i.act({type:`repo_settings`,body:{repo:n.repo,settings:{order:g(v).filter(e=>e.id!==`defaults`).map(e=>e.id)}}});if(e.error)return e.error}var C=$c(),T=b(C),E=b(T),D=b(E),k=e(D,!0);V(2),L(E),L(T);var A=O(T,2);{let e=w(()=>({agents:r}));yc(A,{get schema(){return g(u)},label:`Repo settings`,onchange:p,get pages(){return g(e)},get value(){return g(a)},set value(e){z(a,e,!0)},get category(){return g(o)},set category(e){z(o,e,!0)}})}L(C),s(()=>{G(C,`data-repo-settings`,n.repo),l(k,n.repo)}),d(t,C),F()}var tl=ft().max(64,{error:`A secret name is at most 64 characters.`}).regex(/^[A-Z_][A-Z0-9_]*$/,{error:`A secret name is capitals, digits, and underscores, not starting with a digit, such as STRIPE_KEY.`}),nl=ft().min(1,{error:`Type a value, then save.`}).max(8192,{error:`A secret is at most 8192 characters.`}).regex(/^[^\r\n]*$/,{error:`A secret is one line. Remove the line break, then save.`});Xe([`filled`,`empty`,`missing`]);var rl=Ee(tl,nl).refine(e=>Object.keys(e).length>0,`Change at least one secret.`).optional();De([Y({repo:Re,changes:rl}),Y({slot:_a,changes:rl})]);var il=`secrets`,al={filled:`In .env.secrets.`,empty:`In .env.secrets with no value yet.`,missing:`Declared in secrets.tmpl, not in .env.secrets yet. Saving adds it.`};function ol(e,t=`repo`){return pt(Object.fromEntries(e.keys.map(e=>[e.name,nl.default(``).meta({title:e.name,description:e.declared?al[e.state]:`${al[e.state]} Not declared in secrets.tmpl.`,secret:!0,placeholder:`Not set`})]))).meta({title:`Secrets`,description:e.ignored?`The names in this ${t}'s .env.secrets and secrets.tmpl. A change is written to the file only when you save it, and no agent ever sees a value.`:`.env.secrets is not gitignored in this ${t}, so nothing can be saved. Add it to .gitignore first.`,icon:`key-round`,save:`button`})}var sl=o(`<p class="body-sm sub">The secrets in <!>'s worktree, its own .env.secrets, saved there with Save; the repo's main checkout keeps its own.</p>`),cl=o(`<p class="body-sm sub">The secrets in <a class="mono-sm"> </a>'s main checkout, its .env.secrets, saved there with Save; each slot's worktree keeps its own.</p>`),ll=o(`<div class="content-stack" data-view="secrets"><div class="page-head"><div class="titles"><h1 class="title mono"> </h1> <!></div></div> <p id="secrets-note" class="form-note" role="status"> </p> <!></div>`);function ul(t,r){se(r,!0);let i=xe(),a=U(oe({ignored:!0,keys:[]})),o=U(oe({[il]:{}})),u=U(oe(il)),f=U(``),p=w(()=>`slot`in r.target?r.target.slot:r.target.repo),m=w(()=>pt({[il]:ol(g(a),`slot`in r.target?`worktree`:`repo`)}));async function h(){let e=await i.post(`secrets`,{...r.target}).catch(()=>({error:`the server did not answer`}));if(e.error)return void z(f,e.error,!0);z(a,e.secrets,!0),z(o,{[il]:e.values??{}},!0)}y(()=>void(g(p)&&c(h)));async function _({changes:e}){let t=await i.post(`secrets`,{...r.target,changes:e}).catch(()=>({error:`the server did not answer`}));if(t.error)return t.error;z(f,`${Object.keys(e).join(`, `)} saved to .env.secrets.`),await h()}var v=ll(),x=b(v),S=b(x),C=b(S),T=e(C,!0),E=O(C,2),D=e=>{var t=sl(),n=O(b(t));fe(n,{get slot(){return r.target.slot}}),V(),L(t),d(e,t)},k=t=>{var n=cl(),i=O(b(n)),a=e(i,!0);V(),L(n),s(e=>{G(i,`href`,e),l(a,r.target.repo)},[()=>Ne(r.target.repo)]),d(t,n)};n(E,e=>{`slot`in r.target?e(D):e(k,-1)}),L(S),L(x);var A=O(x,2),j=e(A,!0);yc(O(A,2),{get schema(){return g(m)},label:`Secrets`,onsave:_,get value(){return g(o)},set value(e){z(o,e,!0)},get category(){return g(u)},set category(e){z(u,e,!0)}}),L(v),s(()=>{G(v,`data-secrets-of`,g(p)),l(T,g(p)),l(j,g(f))}),d(t,v),F()}var dl=o(` <a class="mono"> </a>`,1),fl=o(`<!> <a class="body-sm" title="Turn them on and off, and order them, in this Repo's settings">Change</a>`,1),pl=o(`<a title="Change it in this repo's settings"> </a>`),ml=o(`<p class="empty" data-test="repo-error"> </p>`),hl=o(`<span data-test="blocked"><!></span>`),gl=o(`Held by <!>`,1),_l=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a><span data-test="issue-state"><!></span><!><span> </span></div> <div class="body-sm sub"><!></div></div></div>`),vl=o(`<p class="empty">No open or held issues.</p>`),yl=o(`<div class="rows"></div>`),bl=o(`<!> `,1),xl=o(`<!> <span class="mono-sm"> </span>`,1),Sl=o(`<a class="mono-sm"> </a>`),Cl=o(`<span data-test="revised"><!></span>`),wl=o(`<div class="change-body" data-test="change-body"><h3 class="label">What was built</h3> <p class="body-sm"> </p> <h3 class="label">Challenges</h3> <p class="body-sm"> </p></div>`),Tl=o(`<div class="row-item"><div class="row-main"><button class="change-toggle"><!> <span class="change-title"> </span></button> <div class="body-sm sub change-summary"> </div> <div class="body-sm sub branch-meta"><a target="_blank" rel="noreferrer" data-test="change-link"><!><!></a> <!> <!> <span class="num"> </span> <!> <span> </span></div> <!></div></div>`),El=o(`<p class="empty">Nothing has landed since the bus began keeping summaries.</p>`),Dl=o(`<div class="change-more"><!></div>`),Ol=o(`<div class="rows"></div> <!>`,1),kl=o(`<span data-test="default"><!></span>`),Al=o(`<span data-test="branch-slot"><!></span> <span data-test="branch-state"><!></span> <span data-test="branch-stage"><!></span>`,1),jl=o(`<span data-test="no-slot"><!></span>`),Ml=o(`<span class="num" data-test="ahead-behind"> </span>`),Nl=o(`<span class="num" data-test="unpushed"> </span>`),Pl=o(`<span data-test="worktree"><!> <span class="mono-sm"> </span></span>`),Fl=o(`<span>No worktree</span>`),Il=o(`<div class="body-sm sub" data-test="holds">Holds <!></div>`),Ll=o(`<div class="row-item"><div class="row-main"><div class="row-line"><!><span class="mono"> </span> <!> <!></div> <div class="body-sm sub"><span class="mono-sm"> </span> </div> <div class="body-sm sub branch-meta"><!> <!> <!></div> <!></div></div>`),Rl=o(`<p class="empty">No local branches.</p>`),zl=o(`On <span class="mono-sm"> </span>`,1),Bl=o(`Detached at <span class="mono-sm"> </span>`,1),Vl=o(`<div class="row-item"><div class="row-main"><div class="row-line"><!><span class="mono-sm"> </span></div> <div class="body-sm sub"><!> </div></div></div>`),Hl=o(`<!> <!> <!> <!> <!>`,1),Ul=o(`<p class="empty">Reading git…</p>`),Wl=o(`<div class="content-stack"><div class="page-head"><div class="titles"><h1 class="title mono"> </h1> <p class="body-sm sub">Its open and held issues, then its branches and worktrees from git, with the slots and agents on them.</p></div> <div class="actions"><!> <!> <!> <!> <!> <!> <!></div></div> <!> <!></div>`);function Gl(t,r){se(r,!0);let a=t=>{var n=fl(),i=f(n);K(i,19,()=>g(p)&&u.st?ri(u.st.profiles.profiles,r.repo,g(p).settings):[],e=>e.name,(t,n,r)=>{V();var i=dl(),a=f(i,!0),o=O(a),c=e(o,!0);s(e=>{l(a,g(r)?`, `:``),G(o,`href`,e),G(o,`data-profile`,g(n).name),l(c,g(n).name)},[()=>ii(g(n).name)]),d(t,i)});var a=O(i,2);s(e=>G(a,`href`,e),[()=>Ve(r.repo)]),d(t,n)},o=t=>{var n=pl(),i=e(n,!0);s((e,t)=>{G(n,`href`,e),G(n,`data-landing`,g(p)?.settings.landing??`none`),l(i,t)},[()=>Ve(r.repo),()=>Zc(`landing`,g(p)?.settings.landing)]),d(t,n)},u=xe(),p=U(null),m=U(``);async function h(e=!1){let t=r.repo,n=await u.post(`act`,{type:`repos`,body:e?{repo:t,fresh:e}:{repo:t}});t===r.repo&&(z(m,n.error??``,!0),z(p,n.error?null:n,!0))}let v=U(oe([])),x=U(!1);async function S(e){let t=r.repo,n=await u.post(`act`,{type:`changes`,body:e?{repo:t,before:e}:{repo:t}});t!==r.repo||n.error||(z(v,e?[...g(v),...n.changes]:n.changes,!0),z(x,n.more,!0))}async function C(e){for(await S();!g(v).some(t=>t.id===e)&&g(x);)await S(g(v)[g(v).length-1]?.id);g(v).some(t=>t.id===e)&&(g(j)[e]=!0,await i(),document.querySelector(`[data-change="${e}"]`)?.scrollIntoView({block:`start`}))}let T=()=>S(g(v)[g(v).length-1]?.id),E=()=>Promise.all([h(!0),S()]);y(()=>{r.repo,z(p,null),h();let e=setInterval(()=>void h(),5e3);return()=>clearInterval(e)}),y(()=>{r.repo;let e=u.selectedChange;c(()=>{z(v,[],!0),z(j,{},!0),e?C(e):S()})});let D={class:`sd-icon`,size:16,strokeWidth:2},k=(e,t)=>t?e===`working`?`success`:e===`blocked`?`warning`:`neutral`:`neutral`,A=w(()=>g(p)?`${new Date(g(p).added).toLocaleDateString([],{month:`short`,day:`numeric`})}, ${g(p).imported?`imported from the development folder`:`by ${g(p).added_by}`}`:``),j=U(oe({})),M=w(()=>u.st?ni(u.st.profiles.profiles,r.repo,`repo`):[]),ee=w(()=>!!g(p)&&(g(p).live>0||g(p).open_issues>0));var N=Wl(),P=b(N),I=b(P),R=b(I),te=e(R,!0);V(2),L(I);var ne=O(I,2),B=b(ne);K(B,17,()=>g(M),e=>e.profile+e.name,(e,t)=>{Q(e,{variant:`secondary`,get"data-action"(){return g(t).name},get title(){return g(t).description},onclick:()=>u.open(`action`,`${g(t).profile}/${g(t).name}|${r.repo}`),get icon(){return Yn},children:(e,n)=>{V();var r=q();s(()=>l(r,g(t).label)),d(e,r)},$$slots:{default:!0}})});var re=O(B,2);Q(re,{variant:`secondary`,id:`repo-github`,title:`Open it on GitHub in a new tab`,onclick:()=>window.open(je(r.repo),`_blank`,`noopener`),icon:`github`,children:(e,t)=>{V();var n=q(`GitHub`);d(e,n)},$$slots:{default:!0}});var ie=O(re,2);Q(ie,{variant:`secondary`,id:`repo-terminal`,title:`Open a shell on its checkout in Herdr`,onclick:()=>u.terminal(r.repo),get icon(){return dr},children:(e,t)=>{V();var n=q(`Open a terminal`);d(e,n)},$$slots:{default:!0}});var ae=O(ie,2);Q(ae,{variant:`secondary`,id:`repo-settings`,onclick:()=>u.go(Ve(r.repo)),get icon(){return ar},children:(e,t)=>{V();var n=q(`Settings`);d(e,n)},$$slots:{default:!0}});var W=O(ae,2);Q(W,{variant:`secondary`,id:`repo-secrets`,title:`Its main checkout's .env.secrets`,onclick:()=>u.go(ue(r.repo)),get icon(){return Tn},children:(e,t)=>{V();var n=q(`Secrets`);d(e,n)},$$slots:{default:!0}});var ce=O(W,2);Q(ce,{variant:`secondary`,id:`refresh-repo`,onclick:()=>E(),get icon(){return rr},children:(e,t)=>{V();var n=q(`Refresh`);d(e,n)},$$slots:{default:!0}});var le=O(ce,2);{let e=w(()=>g(ee)?`Stop its agents and close its open and held issues first`:`Stop keeping this repo`);Q(le,{variant:`secondary`,id:`forget-repo`,get disabled(){return g(ee)},get title(){return g(e)},onclick:()=>u.open(`forget-repo`,r.repo),get icon(){return en},children:(e,t)=>{V();var n=q(`Forget`);d(e,n)},$$slots:{default:!0}})}L(ne),L(P);var J=O(P,2),de=t=>{var n=ml(),r=e(n,!0);s(()=>l(r,g(m))),d(t,n)};n(J,e=>{g(m)&&e(de)});var Y=O(J,2),pe=t=>{var r=Hl(),i=f(r);$(i,{children:(e,t)=>{{let t=w(()=>[{key:`Checkout`,value:g(p).path,mono:!0,test:`checkout`},{key:`Default branch`,value:g(p).default_branch,mono:!0,test:`repo-default`},{key:`Profiles`,show:a,test:`repo-profile`},{key:`Landing`,show:o,test:`repo-landing`},{key:`Before landing`,value:g(p).settings.pre_land??`None`,mono:!!g(p).settings.pre_land,test:`repo-pre-land`},{key:`During landing`,value:g(p).settings.during_land?`${g(p).settings.during_land}, every ${g(p).settings.during_every} min`:`None`,mono:!!g(p).settings.during_land,test:`repo-during-land`},{key:`After landing`,value:g(p).settings.post_land??`None`,mono:!!g(p).settings.post_land,test:`repo-post-land`},{key:`Remote`,value:g(p).remote??`none`,mono:!0,test:`remote`},{key:`Added`,value:g(A)}]);vi(e,{get rows(){return g(t)}})}},$$slots:{default:!0}});var c=O(i,2);$(c,{title:`Open and held issues`,"data-test":`repo-issues`,children:(t,r)=>{var i=yl();K(i,21,()=>g(p).issues,e=>e.issue,(t,r)=>{var i=_l(),a=b(i),o=b(a),c=b(o),u=e(c,!0),p=O(c),m=b(p);Z(m,{get tone(){return _e[g(r).state].tone},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,_e[g(r).state].label)),d(e,n)},$$slots:{default:!0}}),L(p);var h=O(p),_=e=>{var t=hl(),n=b(t);Z(n,{tone:`warning`,children:(e,t)=>{V();var n=q(`Blocked`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(h,e=>{g(r).blocked&&e(_)});var v=O(h),y=e(v,!0);L(o);var x=O(o,2),S=b(x),C=e=>{var t=gl(),n=O(f(t));fe(n,{get slot(){return g(r).holder}}),d(e,t)},w=e=>{var t=q(`Not held`);d(e,t)};n(S,e=>{g(r).holder?e(C):e(w,-1)}),L(x),L(a),L(i),s((e,t)=>{G(i,`data-repo-issue`,g(r).issue),G(c,`href`,e),l(u,t),l(y,g(r).title)},[()=>nt(g(r).issue),()=>g(r).issue.split(`#`)[1]]),d(t,i)},e=>{var t=vl();d(e,t)}),L(i),d(t,i)},$$slots:{default:!0}});var u=O(c,2);$(u,{title:`Landings`,sub:`Each landing on its default branch, newest first, as its agent summed it up. Open one for what was built and what was hard.`,"data-test":`changes`,children:(t,r)=>{var i=Ol(),a=f(i);K(a,21,()=>g(v),e=>e.id,(t,r)=>{var i=Tl(),a=b(i),o=b(a),c=b(o),u=e=>{Pt(e,H(()=>D))},p=e=>{It(e,H(()=>D))};n(c,e=>{g(j)[g(r).id]?e(u):e(p,-1)});var m=O(c,2),h=e(m,!0);L(o);var v=O(o,2),y=e(v,!0),x=O(v,2),S=b(x),C=b(S),w=e=>{var t=bl(),n=f(t);_n(n,H(()=>D));var i=O(n);s(()=>l(i,` PR #${g(r).pr??``}`)),d(e,t)},T=t=>{var n=xl(),i=f(n);dn(i,H(()=>D));var a=O(i,2),o=e(a,!0);s(e=>l(o,e),[()=>g(r).commit?.slice(0,7)]),d(t,n)};n(C,e=>{g(r).pr?e(w):e(T,-1)});var E=O(C);Se(E,H(()=>D)),L(S);var k=O(S,2);fe(k,{get slot(){return g(r).slot}});var A=O(k,2),M=t=>{var n=Sl(),i=e(n,!0);s((e,t)=>{G(n,`href`,e),l(i,t)},[()=>nt(g(r).about),()=>g(r).about.split(`#`)[1]]),d(t,n)};n(A,e=>{g(r).about&&e(M)});var ee=O(A,2),N=e(ee),P=O(ee,2),F=e=>{var t=Cl(),n=b(t);Z(n,{tone:`warning`,children:(e,t)=>{V();var n=q(`Revised after rebase`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(P,e=>{g(r).revised&&e(F)});var I=O(P,2),R=e(I,!0);L(x);var z=O(x,2),te=t=>{var n=wl(),i=O(b(n),2),a=e(i,!0),o=O(i,4),c=e(o,!0);L(n),s(()=>{l(a,g(r).built),l(c,g(r).challenges||`None.`)}),d(t,n)};n(z,e=>{g(j)[g(r).id]&&e(te)}),L(a),L(i),s(e=>{G(i,`data-change`,g(r).id),G(o,`aria-expanded`,!!g(j)[g(r).id]),l(h,g(r).title),l(y,g(r).summary),G(S,`href`,g(r).link),l(N,`${g(r).commits??``} ${g(r).commits===1?`commit`:`commits`}`),l(R,e)},[()=>ht(g(r).at)]),_(`click`,o,()=>g(j)[g(r).id]=!g(j)[g(r).id]),d(t,i)},e=>{var t=El();d(e,t)}),L(a);var o=O(a,2),c=e=>{var t=Dl(),n=b(t);Q(n,{variant:`secondary`,id:`changes-older`,onclick:()=>T(),children:(e,t)=>{V();var n=q(`Show older landings`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(o,e=>{g(x)&&e(c)}),d(t,i)},$$slots:{default:!0}});var m=O(u,2);$(m,{title:`Branches`,sub:`Local branches, the default first, then by last commit.`,"data-test":`branches`,children:(t,r)=>{var i=yl();K(i,21,()=>g(p).branches,e=>e.name,(t,r)=>{var i=Ll(),a=b(i),o=b(a),c=b(o);ln(c,H(()=>D));var u=O(c),m=e(u,!0),h=O(u,2),_=e=>{var t=kl(),n=b(t);Z(n,{tone:`info`,children:(e,t)=>{V();var n=q(`Default`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(h,e=>{g(r).default&&e(_)});var v=O(h,2),y=e=>{var t=Al(),n=f(t),i=b(n);fe(i,{get slot(){return g(r).slot.slot}}),L(n);var a=O(n,2),o=b(a);{let e=w(()=>k(g(r).slot.state,g(r).slot.live));Z(o,{get tone(){return g(e)},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,g(r).slot.live?g(r).slot.state:`ended`)),d(e,n)},$$slots:{default:!0}})}L(a);var c=O(a,2),u=b(c);Z(u,{tone:`accent`,children:(e,t)=>{V();var n=q();s(()=>l(n,g(r).slot.stage)),d(e,n)},$$slots:{default:!0}}),L(c),d(e,t)},x=e=>{var t=jl(),n=b(t);Z(n,{children:(e,t)=>{V();var n=q(`No slot`);d(e,n)},$$slots:{default:!0}}),L(t),d(e,t)};n(v,e=>{g(r).slot?e(y):g(r).default||e(x,1)}),L(o);var S=O(o,2),C=b(S),T=e(C,!0),E=O(C);L(S);var A=O(S,2),j=b(A),M=t=>{var n=Ml(),i=e(n);s(()=>l(i,`${g(r).ahead??``} ahead, ${g(r).behind??``} behind ${g(p).default_branch??``}`)),d(t,n)};n(j,e=>{g(r).default||e(M)});var ee=O(j,2),N=t=>{var n=Nl(),i=e(n);s(()=>l(i,`${g(r).unpushed??``} on no remote`)),d(t,n)};n(ee,e=>{g(r).unpushed&&e(N)});var P=O(ee,2),F=t=>{var n=Pl(),i=b(n);an(i,H(()=>D));var a=O(i,2),o=e(a,!0);L(n),s(()=>l(o,g(r).worktree)),d(t,n)},I=e=>{var t=Fl();d(e,t)};n(P,e=>{g(r).worktree?e(F):e(I,-1)}),L(A);var R=O(A,2),z=t=>{var n=Il(),i=O(b(n));K(i,18,()=>g(r).slot.holds,e=>e,(t,n,r)=>{V();var i=dl(),a=f(i,!0),o=O(a),c=e(o,!0);s(e=>{l(a,g(r)?`, `:``),G(o,`href`,e),l(c,n)},[()=>nt(n)]),d(t,i)}),L(n),d(t,n)};n(R,e=>{g(r).slot?.holds.length&&e(z)}),L(a),L(i),s(e=>{G(i,`data-branch`,g(r).name),l(m,g(r).name),l(T,g(r).sha),l(E,` ${g(r).subject??``} · ${e??``}`)},[()=>ht(g(r).date)]),d(t,i)},e=>{var t=Rl();d(e,t)}),L(i),d(t,i)},$$slots:{default:!0}});var h=O(m,2),y=t=>{$(t,{title:`Unknown worktrees`,sub:`Worktrees outside the layout, listed only. The bus never adopts them.`,"data-test":`unknown-worktrees`,children:(t,r)=>{var i=yl();K(i,21,()=>g(p).unknown_worktrees,e=>e.path,(t,r)=>{var i=Vl(),a=b(i),o=b(a),c=b(o);an(c,H(()=>D));var u=O(c),p=e(u,!0);L(o);var m=O(o,2),h=b(m),_=t=>{var n=zl(),i=O(f(n)),a=e(i,!0);s(()=>l(a,g(r).branch)),d(t,n)},v=t=>{var n=Bl(),i=O(f(n)),a=e(i,!0);s(()=>l(a,g(r).head)),d(t,n)};n(h,e=>{g(r).branch?e(_):e(v,-1)});var y=O(h,1,!0);L(m),L(a),L(i),s(e=>{G(i,`data-unknown-worktree`,g(r).path),l(p,g(r).path),l(y,e)},[()=>g(r).date?` · ${ht(g(r).date)}`:``]),d(t,i)}),L(i),d(t,i)},$$slots:{default:!0}})};n(h,e=>{g(p).unknown_worktrees.length&&e(y)}),d(t,r)},me=e=>{var t=Ul();d(e,t)};n(Y,e=>{g(p)?e(pe):g(m)||e(me,1)}),L(N),s(()=>{G(N,`data-repo-detail`,r.repo),l(te,r.repo)}),d(t,N),F()}t([`click`]);var Kl=o(`<div class="body-sm sub" data-test="login-problem"> </div>`),ql=o(`<div class="row-line"><!><a class="mono" href="#settings"> </a> <span data-test="login-check"><!></span> <span class="body-sm sub"> </span></div> <!>`,1),Jl=o(`<div class="row-line"><!><span data-test="login-check"><!></span></div> <div class="body-sm sub">Its repos get no commit identity or SSH key from the bus, and their work cannot land until one is set.</div>`,1),Yl=o(`<!> `,1),Xl=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a> <span data-test="default-branch"><!></span> <!> <!> <!></div> <div class="body-sm sub mono-sm"> </div></div> <div class="counts body-sm" data-test="counts"><span><b> </b> live</span><span><b> </b> </span> <span><b> </b> </span></div></div>`),Zl=o(`<div class="rows"><div class="row-item"><div class="row-main"><!></div></div> <!></div>`),Ql=o(`<p class="empty">No repos yet. Add one to start agents in it.</p>`),$l=o(`<div class="content-stack" data-view="repos"><div class="page-head"><div class="titles"><h1 class="title">Repos</h1> <p class="body-sm sub">Every repo the bus keeps, where it is checked out, and what is working in it.</p></div> <!></div> <!></div>`);function eu(t,r){se(r,!0);let i=xe(),a=w(()=>i.st.repos),o=w(()=>[...new Set(g(a).map(e=>e.repo.split(`/`)[0]))]),c=e=>i.st.logins.find(t=>t.orgs.some(t=>t.toLowerCase()===e.toLowerCase())),u={class:`sd-icon`,size:16,strokeWidth:2},p=(e,t)=>t+(e===1?``:`s`);var m=$l(),h=b(m),_=O(b(h),2);Q(_,{variant:`secondary`,id:`open-repo`,onclick:()=>i.open(`repo`),get icon(){return Zn},children:(e,t)=>{V();var n=q(`Add repo`);d(e,n)},$$slots:{default:!0}}),L(h);var v=O(h,2);K(v,16,()=>g(o),e=>e,(t,r)=>{let o=w(()=>c(r));$(t,{get title(){return r},get"data-org"(){return r},actions:e=>{{let t=w(()=>g(o)?qn:Zn);Q(e,{variant:`secondary`,size:`sm`,get"data-org-login"(){return r},onclick:()=>i.open(`org-login`,r),get icon(){return g(t)},children:(e,t)=>{V();var n=q();s(()=>l(n,g(o)?`Change login`:`Set login`)),d(e,n)},$$slots:{default:!0}})}},children:(t,c)=>{var m=Zl(),h=b(m),_=b(h),v=b(_),y=t=>{var r=ql(),i=f(r),a=b(i);Tn(a,H(()=>u));var c=O(a),p=e(c,!0),m=O(c,2),h=b(m),_=e=>{Z(e,{dot:!0,children:(e,t)=>{V();var n=q(`Not checked`);d(e,n)},$$slots:{default:!0}})},v=e=>{{let t=w(()=>g(o).check.ok?`success`:`danger`);Z(e,{get tone(){return g(t)},dot:!0,children:(e,t)=>{V();var n=q();s(()=>l(n,g(o).check.ok?`Checked`:`Problem`)),d(e,n)},$$slots:{default:!0}})}};n(h,e=>{g(o).check?e(v,-1):e(_)}),L(m);var y=O(m,2),x=e(y);L(i);var S=O(i,2),C=t=>{var n=Kl(),r=e(n,!0);s(()=>l(r,g(o).check.text)),d(t,n)};n(S,e=>{g(o).check&&!g(o).check.ok&&e(C)}),s(()=>{l(p,g(o).login),l(x,`${g(o).name??``} <${g(o).email??``}>`)}),d(t,r)},x=e=>{var t=Jl(),n=f(t),r=b(n);Tn(r,H(()=>u));var i=O(r),a=b(i);Z(a,{tone:`warning`,dot:!0,children:(e,t)=>{V();var n=q(`No login`);d(e,n)},$$slots:{default:!0}}),L(i),L(n),V(2),d(e,t)};n(v,e=>{g(o)?e(y):e(x,-1)}),L(_),L(h);var S=O(h,2);K(S,17,()=>g(a).filter(e=>e.repo.split(`/`)[0]===r),e=>e.repo,(t,n)=>{var r=Xl(),a=b(r),o=b(a),c=b(o),u=e(c,!0),m=O(c,2),h=b(m);Z(h,{children:(e,t)=>{var r=Yl(),i=f(r);ln(i,{class:`sd-icon`,size:16,strokeWidth:2});var a=O(i,1,!0);s(()=>l(a,g(n).default_branch)),d(e,r)},$$slots:{default:!0}}),L(m);var _=O(m,2);Ye(_,{get icon(){return dr},get label(){return`Open a terminal on ${g(n).repo??``}`},get"data-repo-terminal"(){return g(n).repo},onclick:()=>i.terminal(g(n).repo)});var v=O(_,2);Ye(v,{icon:`github`,get label(){return`Open ${g(n).repo??``} on GitHub`},get"data-repo-github"(){return g(n).repo},onclick:()=>window.open(je(g(n).repo),`_blank`,`noopener`)});var y=O(v,2);Ye(y,{get icon(){return ar},get label(){return`Open the settings of ${g(n).repo??``}`},get"data-repo-settings-link"(){return g(n).repo},onclick:()=>i.go(Ve(g(n).repo))}),L(o);var x=O(o,2),S=e(x,!0);L(a);var C=O(a,2),w=b(C),T=b(w),E=e(T,!0);V(),L(w);var D=O(w),k=b(D),A=e(k,!0),j=O(k);L(D);var M=O(D,2),ee=b(M),N=e(ee,!0),P=O(ee);L(M),L(C),L(r),s((e,t,i)=>{G(r,`data-repo-row`,g(n).repo),G(c,`href`,e),l(u,g(n).repo),l(S,g(n).path),l(E,g(n).live),l(A,g(n).slots),l(j,` ${t??``}`),l(N,g(n).open_issues),l(P,` open or held ${i??``}`)},[()=>Ne(g(n).repo),()=>p(g(n).slots,`slot`),()=>p(g(n).open_issues,`issue`)]),d(t,r)}),L(m),s(()=>G(h,`data-org-account`,r)),d(t,m)},$$slots:{actions:!0,default:!0}})},e=>{var t=Ql();d(e,t)}),L(m),d(t,m),F()}var tu=o(`<option> </option>`),nu=o(`<div class="sd-field"><label class="sd-field-label"> </label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono"><option disabled="">Choose a Repo</option><!></select><!></div></div>`),ru=o(`<a class="row-item row-link"><div class="row-main"><div class="row-line"><span class="mono"> </span><!></div><div class="body-sm sub"> </div></div> <div class="counts body-sm"> </div></a>`),iu=o(`<div class="rows"></div>`),au=o(`<a class="row-item row-link"><div class="row-main"><div class="row-line"><span class="mono"> </span><!><!></div> <div class="body-sm sub"> </div> <div class="body-sm sub"> </div></div> <div class="counts body-sm"> </div></a>`),ou=o(`<!> <!>`,1),su=o(`<div class="body-sm sub mono-sm"> </div>`),cu=o(`<a class="row-item row-link"><div class="row-main"><div class="row-line"><span class="mono"> </span><!><!><span class="body-sm sub"> </span></div> <div class="body-sm sub"> </div> <!></div> <div class="counts body-sm"> </div></a>`),lu=o(`<!> <!> <p class="sd-field-hint">A Repo you keep, such as your own settings Repo. Whoever has it gets the Profile too; each change is saved there, landed the way it lands unless its git ignores .coord_repo/.</p>`,1),uu=o(`<div class="content-stack" data-view="profiles"><div class="page-head"><div class="titles"><h1 class="title">Skills</h1> <p class="body-sm sub">Skills come from their Skill Groups, each read as it is now. A Profile chooses skills, holds its own Event Handlers and Actions, is kept in a Repo, and is turned on for the Repos you choose.</p></div></div> <div id="profiles-tabs"><!></div> <!></div> <!> <!>`,1);function du(t,r){se(r,!0);let i=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`new-profile`,get icon(){return Zn},onclick:()=>(z(T,z(E,z(D,``),!0),!0),z(C,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`New Profile`);d(e,n)},$$slots:{default:!0}})},a=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`attach-folder`,onclick:()=>u.open(`part`,`attachment`),get icon(){return nn},children:(e,t)=>{V();var n=q(`Attach a folder`);d(e,n)},$$slots:{default:!0}})},o=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`move-profiles`,get icon(){return Qt},onclick:()=>(z(N,z(P,``),!0),z(ee,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`Move into a Repo`);d(e,n)},$$slots:{default:!0}})},c=(t,n=j,r=j,i=j,a=j)=>{var o=nu(),c=b(o),f=e(c,!0),p=O(c,2),m=b(p),h=b(m);h.value=h.__value=``;var v=O(h);K(v,17,()=>u.st.repos,e=>e.repo,(t,n)=>{var r=tu(),i=e(r,!0),a={};s(()=>{l(i,g(n).repo),a!==(a=g(n).repo)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(m);var y;I(m);var x=O(m);xt(x,{name:`chevron-down`}),L(p),L(o),s(e=>{G(c,`for`,n()),l(f,r()),G(m,`id`,n()),y!==(y=e)&&(m.value=(m.__value=y)??``,M(m,y))},[()=>i()()]),_(`change`,m,e=>a()(e.currentTarget.value)),d(t,o)},u=xe(),p=w(()=>u.st.profiles),m=w(()=>ye(u.hash,`skills`)===`skill_group`?`skill_group`:`profile`),h=w(()=>g(p).profiles.filter(e=>e.moving)),v=w(()=>[{id:`skill_group`,label:`Skills`,count:g(p).skill_groups.length},{id:`profile`,label:`Profiles`,count:g(p).profiles.length}]),y={default:`Shipped`,extra:`Shipped`,attached:`Attached folder`,npx:`npx skills`,plugin:`Marketplace plugin`},x=(e,t)=>`${e} ${t}${e===1?``:`s`}`,S=e=>e.base?`Every Repo, first`:e.defaults?e.off_for?.length?`Every Repo but ${e.off_for.join(`, `)}`:`Every Repo`:e.on_for.includes(`*`)?`On for every Repo`:e.on_for.length?`On for ${e.on_for.join(`, `)}`:`On for nothing yet`,C=U(!1),T=U(``),E=U(``),D=U(``),k=w(()=>g(T)?oa(Ir,g(T))||(g(p).profiles.some(e=>e.name===g(T))?`A Profile named ${g(T)} exists. Choose another name.`:``):``);async function A(){let e=await u.act({type:`profile_save`,body:{kind:`profile`,name:g(T),repo:g(E),change:{}}});if(e.error)return z(D,e.error,!0),!1;u.go(ii(g(T)))}let ee=U(!1),N=U(``),P=U(``);async function R(){let e=await u.act({type:`profiles_move`,body:{repo:g(N)}});if(e.error)return z(P,e.error,!0),!1}var te=uu(),ne=f(te),B=O(b(ne),2);Ta(b(B),{get items(){return g(v)},get value(){return g(m)},label:`Kind`,onchange:e=>u.go(`#skills=`+e)}),L(B);var re=O(B,2),H=t=>{var r=ou(),a=f(r),c=t=>{$(t,{title:`From before`,sub:`Profiles from before they were kept in Repos, in effect as they are. Move them into a Repo you pick, such as your own settings Repo, as one change landed there.`,get actions(){return o},"data-test":`moving`,children:(t,n)=>{var r=iu();K(r,21,()=>g(h),e=>e.name,(t,n)=>{var r=ru(),i=b(r),a=b(i),o=b(a),c=e(o,!0),u=O(o);Z(u,{tone:`warning`,children:(e,t)=>{V();var n=q(`From before`);d(e,n)},$$slots:{default:!0}}),L(a);var f=O(a),p=e(f,!0);L(i);var m=O(i,2),h=e(m,!0);L(r),s((e,t)=>{G(r,`href`,e),G(r,`data-moving`,g(n).name),l(c,g(n).name),l(p,g(n).description),l(h,t)},[()=>ii(g(n).name),()=>S(g(n))]),d(t,r)}),L(r),d(t,r)},$$slots:{default:!0}})};n(a,e=>{g(h).length&&e(c)}),$(O(a,2),{title:`Profiles`,sub:`Each chooses skills, holds its own Event Handlers and Actions, and is turned on for some Repos. Every Agent gets base first, then defaults unless its Repo turns it off, then each Profile turned on for its Repo.`,get actions(){return i},"data-test":`profiles`,children:(t,r)=>{var i=iu();K(i,21,()=>g(p).profiles.filter(e=>!e.moving),e=>e.name,(t,r)=>{var i=au(),a=b(i),o=b(a),c=b(o),u=e(c,!0),f=O(c),p=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Every Agent`);d(e,n)},$$slots:{default:!0}})},m=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Built in`);d(e,n)},$$slots:{default:!0}})},h=e=>{Z(e,{tone:`accent`,children:(e,t)=>{V();var n=q();s(()=>l(n,g(r).kept.repo)),d(e,n)},$$slots:{default:!0}})};n(f,e=>{g(r).base?e(p):g(r).defaults?e(m,1):e(h,-1)});var _=O(f),v=e=>{Z(e,{tone:`warning`,children:(e,t)=>{V();var n=q(`PR open`);d(e,n)},$$slots:{default:!0}})};n(_,e=>{g(r).landing&&e(v)}),L(o);var y=O(o,2),C=e(y,!0),w=O(y,2),T=e(w);L(a);var E=O(a,2),D=e(E,!0);L(i),s((e,t,n,a,o)=>{G(i,`href`,e),G(i,`data-profile`,g(r).name),l(u,g(r).name),l(C,g(r).description),l(T,`${t??``}, ${n??``}, ${a??``}`),l(D,o)},[()=>ii(g(r).name),()=>x(Object.keys(g(r).skills).length,`Skill Group`),()=>g(r).base?`the Built-in Handlers`:x(g(r).handlers.length,`Event Handler`),()=>x(g(r).actions.length,`Action`),()=>S(g(r))]),d(t,i)}),L(i),d(t,i)},$$slots:{default:!0}}),d(t,r)},ie=t=>{$(t,{title:`Skills`,sub:`Each Skill Group, read as it is now: base and extra, which the coordinator ships; each folder you attach; each source npx skills installed from; and each marketplace plugin. Profiles choose skills from them.`,get actions(){return a},"data-test":`list-skill_group`,children:(t,r)=>{var i=iu();K(i,21,()=>g(p).skill_groups,e=>e.name,(t,r)=>{var i=cu(),a=b(i),o=b(a),c=b(o),u=e(c,!0),f=O(c);Z(f,{tone:`info`,children:(e,t)=>{V();var n=q();s(()=>l(n,y[g(r).source])),d(e,n)},$$slots:{default:!0}});var p=O(f),m=e=>{Z(e,{tone:`danger`,children:(e,t)=>{V();var n=q(`Missing`);d(e,n)},$$slots:{default:!0}})};n(p,e=>{g(r).missing&&e(m)});var h=O(p),_=e(h,!0);L(o);var v=O(o,2),S=e(v,!0),C=O(v,2),w=t=>{var n=su(),i=e(n,!0);s(()=>l(i,g(r).folder)),d(t,n)};n(C,e=>{g(r).folder&&e(w)}),L(a);var T=O(a,2),E=e(T,!0);L(i),s((e,t,n)=>{G(i,`href`,e),G(i,`data-part`,`skill_group:${g(r).name??``}`),l(u,g(r).name),l(_,t),l(S,g(r).description),l(E,n)},[()=>oi(`skill_group`,g(r).name),()=>x(g(r).skills.length,`skill`),()=>g(r).used_by.length?`Used by ${g(r).used_by.join(`, `)}`:`Not used`]),d(t,i)}),L(i),d(t,i)},$$slots:{default:!0}})};n(re,e=>{g(m)===`profile`?e(H):e(ie,-1)}),L(ne);var ae=O(ne,2);{let e=w(()=>!g(T)||!!g(k)||!g(E));Ze(ae,{id:`new-profile-dialog`,form:`new-profile-form`,title:`New Profile`,sub:`On its page next, turn it on for orgs and Repos, and add its skills, Event Handlers, and Actions.`,icon:`plus`,action:`Create`,get disabled(){return g(e)},get note(){return g(D)},onsubmit:A,get open(){return g(C)},set open(e){z(C,e,!0)},children:(e,t)=>{var n=lu(),r=f(n);{let e=w(()=>g(k)||void 0);ja(r,{label:`Name`,id:`new-profile-name`,mono:!0,required:!0,placeholder:`frontend`,autocapitalize:`off`,autocomplete:`off`,spellcheck:`false`,get error(){return g(e)},hint:`Lowercase words joined by hyphens; it cannot change later.`,get value(){return g(T)},set value(e){z(T,e,!0)}})}var i=O(r,2);c(i,()=>`new-profile-kept`,()=>`Kept in`,()=>()=>g(E),()=>e=>z(E,e,!0)),V(2),d(e,n)},$$slots:{default:!0}})}var W=O(ae,2);{let e=w(()=>!g(N));Ze(W,{id:`move-profiles-dialog`,form:`move-profiles-form`,title:`Move Profiles from before`,sub:`Each becomes a folder in the Repo's .coord_repo/profiles/, landed there as one change. One whose name the Repo has already stays here.`,get icon(){return Qt},action:`Move`,get disabled(){return g(e)},get note(){return g(P)},onsubmit:R,get open(){return g(ee)},set open(e){z(ee,e,!0)},children:(e,t)=>{c(e,()=>`move-to`,()=>`Into`,()=>()=>g(N),()=>e=>z(N,e,!0))},$$slots:{default:!0}})}d(t,te),F()}t([`change`]);var fu=o(`<div class="actions"><!> <!></div>`),pu=o(`<p class="empty"> </p>`),mu=o(`<div class="body-sm sub">The folder is gone, so its skills are skipped at launch. Edit its path, or detach it.</div>`),hu=o(`<div class="rows"><div class="row-item"><div class="row-main"><span class="mono"> </span> <!></div></div></div>`),gu=o(`<div class="rows"><div class="row-item"><span class="mono"> </span></div></div>`),_u=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="mono"> </span></div> <div class="body-sm sub clamp"> </div></div> <div class="counts body-sm"> </div></div>`),vu=o(`<div class="rows"></div>`),yu=o(`<div class="row-item"><a class="mono"> </a><span class="body-sm sub"> </span></div>`),bu=o(`<p class="empty">No Profile takes from it yet.</p>`),xu=o(`<div class="rows"><!> <!></div>`),Su=o(`<!> <!> <!> <!>`,1),Cu=o(`<div class="rows"><div class="row-item body-sm"><div class="row-main"><strong>When</strong><span> </span></div></div> <div class="row-item body-sm"><div class="row-main"><strong>How the agent hears it</strong><span> </span></div></div> <div class="row-item body-sm"><div class="row-main"><strong>Where the bus fires it</strong><span> </span></div></div> <div class="row-item body-sm"><div class="row-main"><strong>Its record</strong><span>Each firing is a bus message of type <span class="mono">event</span> to the slot, so its history shows when it fired and which handlers were given.</span></div></div></div>`),wu=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="mono"> </span><!><!></div> <div class="body-sm sub"> </div> <p class="body-sm prose-pre"> </p></div></div>`),Tu=o(`<div class="row-item body-sm"><div class="row-main"><span class="mono"> </span><span class="sub"> </span></div></div>`),Eu=o(`<div class="row-item"><div class="row-main"><a class="mono"> </a><div class="body-sm sub clamp"> </div></div></div>`),Du=o(`<p class="empty">No Profile has one.</p>`),Ou=o(`<div class="content-stack" data-view="part"><div class="page-head"><div class="titles"><div class="row-line"><h1 class="title mono"> </h1><!><!></div> <p class="body-sm sub"> </p></div> <!></div> <!></div>`);function ku(t,r){se(r,!0);let i=xe(),a=w(()=>i.st.profiles),o=w(()=>r.kind===`skill_group`||r.kind===`attachment`?g(a).skill_groups.find(e=>e.name===r.name):void 0),c={default:`Skills: shipped`,extra:`Skills: shipped`,attached:`Skills: attached folder`,npx:`Skills: npx skills`,plugin:`Skills: marketplace plugin`},u=w(()=>r.kind===`event`&&r.name in Rr?{name:r.name,description:Rr[r.name].label,...Rr[r.name]}:void 0),p=w(()=>g(o)??g(u)),m=w(()=>g(o)?.used_by??[]),h=w(()=>g(m).length>0),_=(e,t)=>g(a).skills.find(n=>n.group===e&&n.name===t)?.description??``,v=(e,t)=>g(a).profiles.filter(n=>n.skills[e]&&Fr(n.skills[e],{id:t})).map(e=>e.name);async function y(){(await i.act({type:`profile_delete`,body:{kind:`attachment`,name:r.name}})).error||i.go(`#skills=`+ai(r.kind))}var x=Ou(),C=b(x),T=b(C),E=b(T),D=b(E),k=e(D,!0),A=O(D);Z(A,{children:(e,t)=>{V();var n=q();s(()=>l(n,g(o)?c[g(o).source]:Ur[r.kind===`attachment`?`skill_group`:r.kind].label)),d(e,n)},$$slots:{default:!0}});var j=O(A),M=e=>{Z(e,{tone:`danger`,children:(e,t)=>{V();var n=q(`Missing`);d(e,n)},$$slots:{default:!0}})};n(j,e=>{g(o)?.missing&&e(M)}),L(E);var ee=O(E,2),N=e(ee,!0);L(T);var P=O(T,2),I=e=>{var t=fu(),n=b(t);Q(n,{variant:`secondary`,id:`edit-part`,onclick:()=>i.open(`part-edit`,`attachment:${r.name}`),get icon(){return qn},children:(e,t)=>{V();var n=q(`Edit`);d(e,n)},$$slots:{default:!0}});var a=O(n,2);{let e=w(()=>g(h)?`In use by ${g(m).join(`, `)}; take it out of those first`:`Detach this folder`);Q(a,{variant:`secondary`,id:`delete-part`,get disabled(){return g(h)},get title(){return g(e)},onclick:y,get icon(){return hr},children:(e,t)=>{V();var n=q(`Detach`);d(e,n)},$$slots:{default:!0}})}L(t),d(e,t)};n(P,e=>{g(o)?.source===`attached`&&e(I)}),L(C);var R=O(C,2),z=t=>{var n=pu(),i=e(n);s(e=>l(i,`No ${e??``} named ${r.name??``}.`),[()=>Ur[r.kind].label.toLowerCase()]),d(t,n)},te=t=>{var r=Su(),i=f(r),c=t=>{$(t,{title:`Folder`,sub:`Read where it is: a change there reaches agents at their next start.`,"data-test":`folder`,children:(t,r)=>{var i=hu(),a=b(i),c=b(a),u=b(c),f=e(u,!0),p=O(u,2),m=e=>{var t=mu();d(e,t)};n(p,e=>{g(o).missing&&e(m)}),L(c),L(a),L(i),s(()=>l(f,g(o).folder)),d(t,i)},$$slots:{default:!0}})};n(i,e=>{g(o).folder&&e(c)});var u=O(i,2),p=t=>{{let n=w(()=>g(o).source===`npx`?`Read from npx skills' lock file, ~/.agents/.skill-lock.json: install, update, or remove it there.`:`Read from Claude's installed plugins: install, update, or remove it with /plugin.`);$(t,{title:`Installed from`,get sub(){return g(n)},"data-test":`origin`,children:(t,n)=>{var r=gu(),i=b(r),a=b(i),c=e(a,!0);L(i),L(r),s(()=>l(c,g(o).origin)),d(t,r)},$$slots:{default:!0}})}};n(u,e=>{g(o).origin&&e(p)});var m=O(u,2);$(m,{title:`Skills`,sub:`Everything its source has now. A profile takes all of it, which holds as it changes, or some of its skills.`,"data-test":`skills`,children:(t,n)=>{var r=vu();K(r,20,()=>g(o).skills,e=>e,(t,n)=>{var r=_u(),i=b(r),a=b(i),c=b(a),u=e(c,!0);L(a);var f=O(a,2),p=e(f,!0);L(i);var m=O(i,2),h=e(m,!0);L(r),s((e,t)=>{G(r,`data-skill`,n),l(u,n),l(p,e),l(h,t)},[()=>_(g(o).name,n),()=>v(g(o).name,n).length?`Chosen by ${v(g(o).name,n).join(`, `)}`:`Not chosen`]),d(t,r)},t=>{var n=pu(),r=e(n,!0);s(()=>l(r,g(o).missing?`Its folder is gone.`:`No skills in it.`)),d(t,n)}),L(r),d(t,r)},$$slots:{default:!0}}),$(O(m,2),{title:`Used by`,sub:`Profiles that take from it.`,"data-test":`used-by`,children:(t,r)=>{var i=xu(),c=b(i);K(c,16,()=>g(o).used_by,e=>e,(t,n)=>{var r=yu(),i=b(r),c=e(i,!0),u=O(i),f=e(u,!0);L(r),s((e,t)=>{G(i,`href`,e),l(c,n),l(f,t)},[()=>ii(n),()=>g(a).profiles.find(e=>e.name===n)?.skills[g(o).name]===`all`?`All of it`:`Some of its skills`]),d(t,r)});var u=O(c,2),f=e=>{var t=bu();d(e,t)};n(u,e=>{g(o).used_by.length||e(f)}),L(i),d(t,i)},$$slots:{default:!0}}),d(t,r)},ne=t=>{let i=w(()=>g(a).builtins.filter(e=>e.event===r.name));var o=Su(),c=f(o);$(c,{title:`When it fires`,"data-test":`fires`,children:(t,n)=>{var r=Cu(),i=b(r),a=b(i),o=O(b(a)),c=e(o,!0);L(a),L(i);var f=O(i,2),p=b(f),m=O(b(p)),h=e(m,!0);L(p),L(f);var _=O(f,2),v=b(_),y=O(b(v)),x=e(y,!0);L(v),L(_),V(2),L(r),s(()=>{l(c,g(u).when),l(h,g(u).how),l(x,g(u).source)}),d(t,r)},$$slots:{default:!0}});var p=O(c,2),m=t=>{$(t,{title:`Built-in handlers`,sub:`The coordinator's own words at this event, given first, before any profile's. They cannot be edited or removed; yours are added after them.`,"data-test":`builtins`,children:(t,r)=>{var a=vu();K(a,21,()=>g(i),e=>e.name,(t,r)=>{var i=wu(),a=b(i),o=b(a),c=b(o),u=e(c,!0),f=O(c);Z(f,{children:(e,t)=>{V();var n=q(`Built in`);d(e,n)},$$slots:{default:!0}});var p=O(f),m=e=>{Z(e,{children:(e,t)=>{V();var n=q(`Agents on a slot`);d(e,n)},$$slots:{default:!0}})};n(p,e=>{g(r).on_slot&&e(m)}),L(o);var h=O(o,2),_=e(h,!0),v=O(h,2),y=e(v,!0);L(a),L(i),s(()=>{G(i,`data-builtin`,g(r).name),l(u,g(r).name),l(_,g(r).description),l(y,g(r).text)}),d(t,i)}),L(a),d(t,a)},$$slots:{default:!0}})};n(p,e=>{g(i).length&&e(m)});var h=O(p,2);$(h,{title:`Variables`,sub:`Write any of these as {{name}} in a handler's text; each is filled in for the agent it is given to.`,"data-test":`variables`,children:(t,n)=>{var i=vu();K(i,21,()=>Object.entries(Hr(r.name)),([e,t])=>e,(t,n)=>{var r=w(()=>S(g(n),2));let i=()=>g(r)[0],a=()=>g(r)[1];var o=Tu(),c=b(o),u=b(c),f=e(u),p=O(u),m=e(p,!0);L(c),L(o),s(()=>{l(f,`{{${i()??``}}}`),l(m,a())}),d(t,o)}),L(i),d(t,i)},$$slots:{default:!0}}),$(O(h,2),{title:`Profiles`,sub:`Profiles with an Event Handler of this Event, told after the built-in ones, in each Repo's order.`,"data-test":`handled-by`,children:(t,n)=>{var i=vu();K(i,21,()=>g(a).profiles.flatMap(e=>e.handlers.filter(e=>e.event===r.name).map(t=>({p:e.name,h:t}))),e=>e.p+e.h.name,(t,n)=>{var r=Eu(),i=b(r),a=b(i),o=e(a,!0),c=O(a),u=e(c,!0);L(i),L(r),s(e=>{G(a,`href`,e),l(o,g(n).p),l(u,g(n).h.text)},[()=>ii(g(n).p)]),d(t,r)},e=>{var t=Du();d(e,t)}),L(i),d(t,i)},$$slots:{default:!0}}),d(t,o)};n(R,e=>{g(p)?g(o)?e(te,1):g(u)&&e(ne,2):e(z)}),L(x),s(()=>{G(x,`data-part`,`${r.kind??``}:${r.name??``}`),l(k,r.name),l(N,g(p)?.description||`No description.`)}),d(t,x),F()}var Au=o(`<p class="empty"> </p>`),ju=o(`<a> </a>`),Mu=o(`<div class="row-item body-sm"><div class="row-main"><span> </span><!></div></div>`),Nu=o(`<div class="rows"><div class="row-item"><!> <div class="row-main"><span class="mono"> </span> <div class="body-sm sub"> </div></div> <!></div> <!></div>`),Pu=o(`<div class="row-item body-sm">Every Repo, first</div>`),Fu=o(`<div class="row-item"><div class="row-main"><span class="mono"> </span><span class="body-sm sub">Turned off</span></div> <button type="button" class="sd-iconbtn"><!></button></div>`),Iu=o(`<div class="row-item body-sm"> </div> <!>`,1),Lu=o(`<button type="button" class="sd-iconbtn"><!></button>`),Ru=o(`<div class="row-item"><div class="row-main"><span class="mono"> </span><span class="body-sm sub"> </span></div> <!></div>`),zu=o(`<p class="empty">Nowhere yet: no Agent gets it.</p>`),Bu=o(`<div class="rows"><!></div>`),Vu=o(`<div class="body-sm sub mono-sm"> </div>`),Hu=o(`<div class="row-item"><div class="row-main"><div class="row-line"><a class="mono"> </a></div> <!></div> <!></div>`),Uu=o(`<p class="empty">Takes no skills yet.</p>`),Wu=o(`<div class="rows"></div>`),Gu=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="body-sm"> </span><span class="mono body-sm sub"> </span><!></div><div class="body-sm sub clamp"> </div></div></div>`),Ku=o(`<button type="button" class="sd-iconbtn" aria-label="Edit this Event Handler" title="Edit"><!></button> <button type="button" class="sd-iconbtn" aria-label="Remove this Event Handler" title="Remove"><!></button>`,1),qu=o(`<div class="row-item"><div class="row-main"><div class="row-line"><span class="body-sm"><strong> </strong></span><span class="mono body-sm sub"> </span><!></div> <div class="body-sm sub clamp"> </div></div> <!></div>`),Ju=o(`<p class="empty">No Event Handlers yet.</p>`),Yu=o(`<div class="rows"><!> <!></div>`),Xu=o(`<button type="button" class="sd-iconbtn" aria-label="Edit this Action" title="Edit"><!></button> <button type="button" class="sd-iconbtn" aria-label="Remove this Action" title="Remove"><!></button>`,1),Zu=o(`<div class="row-item"><!> <div class="row-main"><div class="row-line"><strong> </strong><!></div> <div class="body-sm sub clamp"> </div></div> <!></div>`),Qu=o(`<p class="empty">No Actions yet.</p>`),$u=o(`<div class="content-stack" data-view="kept-profile"><div class="page-head"><div class="titles"><div class="row-line"><h1 class="title mono"> </h1><!></div> <p class="body-sm sub"> </p></div></div> <!> <!> <!> <!> <!> <!></div>`),ed=o(`<option> </option>`),td=o(`<div class="sd-field"><label class="sd-field-label" for="h-event">Event</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="h-event"></select><!></div></div> <!> <div class="sd-field"><label class="sd-field-label" for="h-text">What the Agent is told</label> <textarea class="sd-input sd-textarea" id="h-text" rows="6"></textarea></div>`,1),nd=o(`<!> <div class="sd-field"><label class="sd-field-label" for="a-view">Shows on</label> <div class="sd-select-wrap"><select class="sd-input sd-select" id="a-view"></select><!></div></div> <div class="sd-field"><label class="sd-field-label" for="a-task">Its Agent's task</label> <textarea class="sd-input sd-textarea" id="a-task" rows="5"></textarea></div>`,1),rd=o(`<div class="sd-field"><label class="sd-field-label" for="take-from">Skill Group</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="take-from"></select><!></div></div>`),id=o(`<div class="sd-field"><label class="sd-field-label" for="off-to">For</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="off-to"></select><!></div></div>`),ad=o(`<option>Every Repo</option>`),od=o(`<div class="sd-field"><label class="sd-field-label" for="turn-to">For</label> <div class="sd-select-wrap"><select class="sd-input sd-select sd-input-mono" id="turn-to"><!><!><!></select><!></div></div>`),sd=o(`<p class="body-sm">No Agent gets it after this.</p>`),cd=o(`<!> <!> <!> <!> <!> <!> <!>`,1);function ld(t,i){se(i,!0);let a=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`delete-profile`,get icon(){return hr},onclick:()=>(z(te,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`Delete`);d(e,n)},$$slots:{default:!0}})},o=e=>{Q(e,{variant:`secondary`,size:`sm`,get icon(){return Zn},onclick:()=>(z(we,g(W)[0]?.name??``,!0),z(Ce,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`Take from a Skill Group`);d(e,n)},$$slots:{default:!0}})},c=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`turn-off`,get icon(){return $n},onclick:()=>(z(P,h.st.repos.map(e=>e.repo).find(e=>!g(M).includes(e))??``,!0),z(N,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`Turn off for a Repo`);d(e,n)},$$slots:{default:!0}})},u=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`turn-on`,get icon(){return Zn},onclick:()=>(z(De,`${g(oe)[0]}/*`),z(Ee,!0),Promise.resolve()),children:(e,t)=>{V();var n=q(`Turn on for an org or Repo`);d(e,n)},$$slots:{default:!0}})},p=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`add-handler`,get icon(){return Zn},onclick:()=>me(null),children:(e,t)=>{V();var n=q(`Add Event Handler`);d(e,n)},$$slots:{default:!0}})},m=e=>{Q(e,{variant:`secondary`,size:`sm`,id:`add-action`,get icon(){return Zn},onclick:()=>be(null),children:(e,t)=>{V();var n=q(`Add Action`);d(e,n)},$$slots:{default:!0}})},h=xe(),v=w(()=>h.st.profiles.profiles.find(e=>e.name===i.name)),y={class:`sd-icon`,size:16,strokeWidth:2},x=w(()=>!!g(v)&&(g(v).kept.save===`at_once`||g(v).kept.save===`lands`)&&!g(v).landing),C=U(null),T=w(()=>g(C)?.of===i.name?g(C).profile:g(v)),E=e=>({description:e.description,skills:e.skills,on_for:e.on_for,handlers:e.handlers,actions:e.actions}),D=e=>h.act({type:`profile_save`,body:{kind:`profile`,name:i.name,seen:g(v)?.hash,change:E(e)}});async function k(e){let t={...g(T),...e};g(v)?.kept.save===`lands`?z(C,{of:i.name,profile:t,edits:(g(C)?.of===i.name?g(C).edits:0)+1},!0):await D(t)}async function A(){let e=await D(g(C).profile);if(e.error)return e.error;z(C,null)}let j=w(()=>h.st.repos.map(e=>e.repo).filter(e=>g(T)&&Xr(g(T).on_for,e))),M=w(()=>g(T)?.off_for??[]),ee=(e,t)=>h.act({type:`repo_settings`,body:{repo:e,settings:{defaults:t?`on`:`off`}}}),N=U(!1),P=U(``);async function R(){if((await ee(g(P),!1)).error)return!1}let te=U(!1);async function ne(){if((await h.act({type:`profile_delete`,body:{kind:`profile`,name:i.name}})).error)return!1;h.go(`#skills=profile`)}let re=e=>h.st.profiles.skills.filter(t=>t.group===e).map(e=>({name:e.name,description:e.description})),W=w(()=>h.st.profiles.skill_groups.filter(e=>e.skills.length&&!(g(T)&&e.name in g(T).skills))),oe=w(()=>[...new Set(h.st.repos.map(e=>e.repo.split(`/`)[0]))]),ce=w(()=>Object.keys(Rr).filter(e=>g(T)?.handlers.some(t=>t.event===e))),le=w(()=>g(v)?.base?h.st.profiles.builtins:[]);function ue(e,t){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``).slice(0,36)||`part`,r=n;for(let e=2;t.includes(r);e++)r=`${n}-${e}`;return r}let J=U(!1),de=U(null),Y=U(`agent_started`),fe=U(``),pe=U(`10`);function me(e){z(de,e,!0);let t=e===null?void 0:g(T).handlers[e];return z(Y,t?.event??`agent_started`,!0),z(fe,t?.text??``,!0),z(pe,String(t?.every??10),!0),z(J,!0),Promise.resolve()}async function he(){let e=[...g(T).handlers],t={name:(g(de)===null?void 0:e[g(de)])?.name??ue(g(Y),e.map(e=>e.name)),event:g(Y),text:g(fe),...g(Y)===`turn_ended`?{every:Number(g(pe))}:{}};g(de)===null?e.push(t):e[g(de)]=t,await k({handlers:e})}let ge=U(!1),_e=U(null),ve=U(``),ye=U(`repo`),X=U(``);function be(e){z(_e,e,!0);let t=e===null?void 0:g(T).actions[e];return z(ve,t?.label??``,!0),z(ye,t?.view??`repo`,!0),z(X,t?.task??``,!0),z(ge,!0),Promise.resolve()}async function Se(){let e=[...g(T).actions],t=g(_e)===null?void 0:e[g(_e)],n={name:t?.name??ue(g(ve),e.map(e=>e.name)),description:t?.description??``,label:g(ve),view:g(ye),task:g(X)};g(_e)===null?e.push(n):e[g(_e)]=n,await k({actions:e})}let Ce=U(!1),we=U(``);async function Te(){await k({skills:{...g(T).skills,[g(we)]:`all`}})}let Ee=U(!1),De=U(``);async function Oe(){await k({on_for:[...g(T).on_for,g(De)]})}var ke=cd(),Ae=f(ke),je=t=>{var n=Au(),r=e(n);s(()=>l(r,`No profile named ${i.name??``}.`)),d(t,n)},Me=t=>{var h=$u(),E=b(h),D=b(E),N=b(D),P=b(N),F=e(P,!0),I=O(P),R=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Every Agent`);d(e,n)},$$slots:{default:!0}})},te=e=>{Z(e,{tone:`info`,children:(e,t)=>{V();var n=q(`Built in`);d(e,n)},$$slots:{default:!0}})},ne=e=>{Z(e,{tone:`warning`,children:(e,t)=>{V();var n=q(`From before`);d(e,n)},$$slots:{default:!0}})},B=e=>{Z(e,{tone:`accent`,children:(e,t)=>{V();var n=q();s(()=>l(n,g(T).kept.repo)),d(e,n)},$$slots:{default:!0}})};n(I,e=>{g(T).base?e(R):g(T).defaults?e(te,1):g(T).moving?e(ne,2):e(B,-1)}),L(N);var U=O(N,2),ie=e(U,!0);L(D),L(E);var ae=O(E,2);{let t=w(()=>g(T).base||g(T).defaults?`Built in: it ships with the coordinator and is never edited.`:g(T).moving?`From before Profiles were kept in Repos: in effect as it is, until you move it into a Repo on the Profiles tab.`:g(T).kept.save===`at_once`?`Saved at once: ${g(T).kept.repo}'s git ignores .coord_repo/.`:`Changes collect until you save them, then land in ${g(T).kept.repo} as one commit, the way it lands.`),r=w(()=>g(x)?a:void 0);$(ae,{title:`Kept in`,get sub(){return g(t)},get actions(){return g(r)},"data-test":`kept`,children:(t,r)=>{var i=Nu(),a=b(i),o=b(a);Jt(o,H(()=>y));var c=O(o,2),u=b(c),f=e(u,!0),p=O(u,2),m=e(p,!0);L(c);var h=O(c,2),_=e=>{Z(e,{tone:`warning`,children:(e,t)=>{V();var n=q(`PR open`);d(e,n)},$$slots:{default:!0}})};n(h,e=>{g(T).landing&&e(_)}),L(a);var v=O(a,2),x=t=>{var r=Mu(),i=b(r),a=b(i),o=e(a,!0),c=O(a),u=t=>{var n=ju(),r=e(n,!0);s(e=>{G(n,`href`,g(T).landing.link),l(r,e)},[()=>g(T).landing.link.replace(`https://github.com/`,``)]),d(t,n)};n(c,e=>{g(T).landing.link&&e(u)}),L(i),L(r),s(()=>l(o,g(T).landing.text)),d(t,r)};n(v,e=>{g(T).landing&&e(x)}),L(i),s(()=>{l(f,g(T).kept.folder),l(m,g(T).base||g(T).defaults?`Ships with the coordinator.`:g(T).moving?`Waiting to move into a Repo.`:`In ${g(T).kept.repo}, so whoever has that Repo gets it too.`)}),d(t,i)},$$slots:{default:!0}})}var W=O(ae,2);{let t=w(()=>g(T).defaults?`Every Repo, new or existing, unless you turn it off there; its skills and Event Handlers are then yours to bring back in your own Profiles.`:`Every Agent in these Repos gets it.`),i=w(()=>g(x)?u:g(T).defaults?c:void 0);$(W,{title:`Turned on for`,get sub(){return g(t)},get actions(){return g(i)},"data-test":`on-for`,children:(t,i)=>{var a=Bu(),o=b(a),c=e=>{var t=Pu();d(e,t)},u=t=>{var n=Iu(),r=f(n),i=e(r),a=O(r,2);K(a,16,()=>g(M),e=>e,(t,n)=>{var r=Fu(),i=b(r),a=b(i),o=e(a,!0);V(),L(i);var c=O(i,2);tr(b(c),H(()=>y)),L(c),L(r),s(()=>{G(r,`data-off-for`,n),l(o,n),G(c,`aria-label`,`Turn back on for ${n??``}`),G(c,`title`,`Turn back on for ${n??``}`)}),_(`click`,c,()=>ee(n,!0)),d(t,r)}),s(()=>l(i,`Every Repo, new or existing${g(M).length?`, except:`:``}`)),d(t,n)},p=t=>{var i=r(),a=f(i);K(a,16,()=>g(T).on_for,e=>e,(t,r)=>{var i=Ru(),a=b(i),o=b(a),c=e(o,!0),u=O(o),f=e(u,!0);L(a);var p=O(a,2),m=e=>{var t=Lu();yr(b(t),H(()=>y)),L(t),s(()=>{G(t,`aria-label`,`Turn off for ${r??``}`),G(t,`title`,`Turn off for ${r??``}`)}),_(`click`,t,()=>k({on_for:g(T).on_for.filter(e=>e!==r)})),d(e,t)};n(p,e=>{g(x)&&e(m)}),L(i),s(e=>{G(i,`data-on-for`,r),l(c,r===`*`?`Every Repo`:r),l(f,e)},[()=>r===`*`?`Every Repo, now and later`:r.endsWith(`/*`)?`Every ${r.slice(0,-2)} repo, now and later: ${g(j).filter(e=>e.startsWith(r.slice(0,-1))).join(`, `)}`:`This repo`]),d(t,i)},e=>{var t=zu();d(e,t)}),d(t,i)};n(o,e=>{g(T).base?e(c):g(T).defaults?e(u,1):e(p,-1)}),L(a),d(t,a)},$$slots:{default:!0}})}var oe=O(W,2);{let t=w(()=>g(x)?o:void 0);$(oe,{title:`Skills`,sub:`From each Skill Group it takes from: all of it, which holds as the Skill Group changes, or the skills checked.`,get actions(){return g(t)},"data-test":`skills`,children:(t,r)=>{var i=Wu();K(i,21,()=>Object.entries(g(T).skills),([e,t])=>e,(t,r)=>{var i=w(()=>S(g(r),2));let a=()=>g(i)[0],o=()=>g(i)[1];var c=Hu(),u=b(c),f=b(u),p=b(f),m=e(p,!0);L(f);var h=O(f,2),v=e=>{{let t=w(()=>re(a()).map(e=>({id:e.name,label:e.name,description:e.description}))),n=w(()=>re(a()).length>8);Vc(e,{get label(){return`Skills from ${a()??``}`},get items(){return g(t)},get checked(){return o()},selectAll:!0,get filter(){return g(n)},onchange:({checked:e})=>k({skills:{...g(T).skills,[a()]:e}})})}},C=t=>{var n=Vu(),r=e(n,!0);s(e=>l(r,e),[()=>o()===`all`?re(a()).map(e=>e.name).join(`, `):Array.isArray(o())?o().join(`, `):``]),d(t,n)};n(h,e=>{g(x)?e(v):e(C,-1)}),L(u);var E=O(u,2),D=e=>{var t=Lu();yr(b(t),H(()=>y)),L(t),s(()=>{G(t,`aria-label`,`Stop taking from ${a()??``}`),G(t,`title`,`Stop taking from ${a()??``}`)}),_(`click`,t,()=>k({skills:Object.fromEntries(Object.entries(g(T).skills).filter(([e])=>e!==a()))})),d(e,t)};n(E,e=>{g(x)&&e(D)}),L(c),s(e=>{G(c,`data-from`,a()),G(p,`href`,e),l(m,a())},[()=>oi(`skill_group`,a())]),d(t,c)},e=>{var t=Uu();d(e,t)}),L(i),d(t,i)},$$slots:{default:!0}})}var se=O(oe,2);{let t=w(()=>g(x)?p:void 0);$(se,{title:`Event Handlers`,sub:`What its Agents are told at each Event, written here for this Profile.`,get actions(){return g(t)},"data-test":`handlers`,children:(t,i)=>{var a=Yu(),o=b(a);K(o,17,()=>g(le),e=>e.name,(t,n)=>{var r=Gu(),i=b(r),a=b(i),o=b(a),c=e(o,!0),u=O(o),f=e(u,!0),p=O(u);Z(p,{children:(e,t)=>{V();var n=q(`Built in`);d(e,n)},$$slots:{default:!0}}),L(a);var m=O(a),h=e(m,!0);L(i),L(r),s(()=>{G(r,`data-builtin`,g(n).name),l(c,Rr[g(n).event].label),l(f,g(n).event),l(h,g(n).description)}),d(t,r)});var c=O(o,2);K(c,16,()=>g(ce),e=>e,(t,i)=>{var a=r(),o=f(a);K(o,17,()=>g(T).handlers.map((e,t)=>({h:e,at:t})).filter(({h:e})=>e.event===i),({h:e,at:t})=>t,(t,r)=>{let a=()=>g(r).h,o=()=>g(r).at;var c=qu(),u=b(c),p=b(u),m=b(p),h=b(m),v=e(h,!0);L(m);var S=O(m),C=e(S,!0),E=O(S),D=e=>{Z(e,{children:(e,t)=>{V();var n=q();s(e=>l(n,e),[()=>qr(i,a().every)]),d(e,n)},$$slots:{default:!0}})},A=w(()=>qr(i,a().every));n(E,e=>{g(A)&&e(D)}),L(p);var j=O(p,2),M=e(j,!0);L(u);var ee=O(u,2),N=e=>{var t=Ku(),n=f(t);qn(b(n),H(()=>y)),L(n);var r=O(n,2);yr(b(r),H(()=>y)),L(r),_(`click`,n,()=>me(o())),_(`click`,r,()=>k({handlers:g(T).handlers.filter((e,t)=>t!==o())})),d(e,t)};n(ee,e=>{g(x)&&e(N)}),L(c),s(()=>{G(c,`data-handler`,o()),l(v,Rr[i].label),l(C,i),l(M,a().text)}),d(t,c)}),d(t,a)},e=>{var t=r(),i=f(t),a=e=>{var t=Ju();d(e,t)};n(i,e=>{g(le).length||e(a)}),d(e,t)}),L(a),d(t,a)},$$slots:{default:!0}})}var ue=O(se,2);{let t=w(()=>g(x)?m:void 0);$(ue,{title:`Actions`,sub:`Buttons on the views of the Repos this Profile is on for; pressed, each starts an Agent told its task, with this Profile.`,get actions(){return g(t)},"data-test":`actions`,children:(t,r)=>{var i=Wu();K(i,23,()=>g(T).actions,e=>e.name,(t,r,i)=>{var a=Zu(),o=b(a);Yn(o,H(()=>y));var c=O(o,2),u=b(c),p=b(u),m=e(p,!0),h=O(p);Z(h,{children:(e,t)=>{V();var n=q();s(()=>l(n,Zr[g(r).view].label)),d(e,n)},$$slots:{default:!0}}),L(u);var v=O(u,2),S=e(v,!0);L(c);var C=O(c,2),w=e=>{var t=Xu(),n=f(t);qn(b(n),H(()=>y)),L(n);var r=O(n,2);yr(b(r),H(()=>y)),L(r),_(`click`,n,()=>be(g(i))),_(`click`,r,()=>k({actions:g(T).actions.filter((e,t)=>t!==g(i))})),d(e,t)};n(C,e=>{g(x)&&e(w)}),L(a),s(()=>{G(a,`data-action`,g(r).name),l(m,g(r).label),l(S,g(r).task)}),d(t,a)},e=>{var t=Qu();d(e,t)}),L(i),d(t,i)},$$slots:{default:!0}})}var J=O(ue,2),de=e=>{{let t=w(()=>g(C)?.of===i.name?g(C).edits:0);zs(e,{get changes(){return g(t)},onsave:A,ondiscard:()=>z(C,null)})}};n(J,e=>{g(v)?.kept.save===`lands`&&e(de)}),L(h),s(()=>{l(F,g(T).name),l(ie,g(T).description)}),d(t,h)};n(Ae,e=>{g(T)?e(Me,-1):e(je)});var Ne=O(Ae,2);{let t=w(()=>g(de)===null?`Add a handler to ${i.name}`:`Edit handler`),r=w(()=>Rr[g(Y)].when+` `+Rr[g(Y)].how),a=w(()=>g(de)===null?`Add`:`Done`),o=w(()=>!g(fe).trim());Ze(Ne,{id:`handler-dialog`,form:`handler-form`,get title(){return g(t)},get sub(){return g(r)},icon:`plus`,get action(){return g(a)},get disabled(){return g(o)},onsubmit:he,get open(){return g(J)},set open(e){z(J,e,!0)},children:(t,r)=>{var i=td(),a=f(i),o=O(b(a),2),c=b(o);K(c,21,()=>Object.entries(Rr),([e,t])=>e,(t,n)=>{var r=w(()=>S(g(n),2));let i=()=>g(r)[0],a=()=>g(r)[1];var o=ed(),c=e(o,!0),u={};s(()=>{l(c,a().label),u!==(u=i())&&(o.value=(o.__value=u)??``)}),d(t,o)}),L(c),I(c);var u=O(c);xt(u,{name:`chevron-down`}),L(o),L(a);var p=O(a,2),m=e=>{ja(e,{label:`Every how many turns`,id:`h-every`,type:`number`,min:`1`,max:`100`,get value(){return g(pe)},set value(e){z(pe,e,!0)}})};n(p,e=>{g(Y)===`turn_ended`&&e(m)});var h=O(p,2),_=O(b(h),2);ae(_),L(h),B(c,()=>g(Y),e=>z(Y,e)),ie(_,()=>g(fe),e=>z(fe,e)),d(t,i)},$$slots:{default:!0}})}var Pe=O(Ne,2);{let t=w(()=>g(_e)===null?`Add an action to ${i.name}`:`Edit action`),n=w(()=>g(_e)===null?`Add`:`Done`),r=w(()=>!g(ve).trim()||!g(X).trim());Ze(Pe,{id:`action-dialog`,form:`action-form`,get title(){return g(t)},sub:`A button on a view of each Repo this Profile is on for.`,icon:`plus`,get action(){return g(n)},get disabled(){return g(r)},onsubmit:Se,get open(){return g(ge)},set open(e){z(ge,e,!0)},children:(t,n)=>{var r=nd(),i=f(r);ja(i,{label:`Button label`,id:`a-label`,placeholder:`Release`,get value(){return g(ve)},set value(e){z(ve,e,!0)}});var a=O(i,2),o=O(b(a),2),c=b(o);K(c,21,()=>Object.entries(Zr),([e,t])=>e,(t,n)=>{var r=w(()=>S(g(n),2));let i=()=>g(r)[0],a=()=>g(r)[1];var o=ed(),c=e(o,!0),u={};s(()=>{l(c,a().label),u!==(u=i())&&(o.value=(o.__value=u)??``)}),d(t,o)}),L(c),I(c);var u=O(c);xt(u,{name:`chevron-down`}),L(o),L(a);var p=O(a,2),m=O(b(p),2);ae(m),L(p),B(c,()=>g(ye),e=>z(ye,e)),ie(m,()=>g(X),e=>z(X,e)),d(t,r)},$$slots:{default:!0}})}var Fe=O(Pe,2);{let t=w(()=>!g(we));Ze(Fe,{id:`take-dialog`,form:`take-form`,title:`Take from a Skill Group`,sub:`All of its skills to start; uncheck any after.`,icon:`plus`,action:`Add`,get disabled(){return g(t)},onsubmit:Te,get open(){return g(Ce)},set open(e){z(Ce,e,!0)},children:(t,n)=>{var r=rd(),i=O(b(r),2),a=b(i);K(a,21,()=>g(W),e=>e.name,(t,n)=>{var r=ed(),i=e(r,!0),a={};s(()=>{l(i,g(n).name),a!==(a=g(n).name)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(a),I(a);var o=O(a);xt(o,{name:`chevron-down`}),L(i),L(r),B(a,()=>g(we),e=>z(we,e)),d(t,r)},$$slots:{default:!0}})}var Ie=O(Fe,2);{let t=w(()=>!g(P));Ze(Ie,{id:`off-dialog`,form:`off-form`,get title(){return`Turn ${i.name??``} off`},sub:`No Agent in that Repo gets it; bring back what you want in your own Profiles.`,get icon(){return $n},action:`Turn off`,get disabled(){return g(t)},onsubmit:R,get open(){return g(N)},set open(e){z(N,e,!0)},children:(t,n)=>{var r=id(),i=O(b(r),2),a=b(i);K(a,21,()=>h.st.repos.filter(e=>!g(M).includes(e.repo)),e=>e.repo,(t,n)=>{var r=ed(),i=e(r,!0),a={};s(()=>{l(i,g(n).repo),a!==(a=g(n).repo)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(a),I(a);var o=O(a);xt(o,{name:`chevron-down`}),L(i),L(r),B(a,()=>g(P),e=>z(P,e)),d(t,r)},$$slots:{default:!0}})}var Le=O(Ie,2);{let t=w(()=>!g(De));Ze(Le,{id:`turn-dialog`,form:`turn-form`,get title(){return`Turn ${i.name??``} on`},sub:`Every Agent there gets it.`,icon:`plus`,action:`Turn on`,get disabled(){return g(t)},onsubmit:Oe,get open(){return g(Ee)},set open(e){z(Ee,e,!0)},children:(t,r)=>{var i=od(),a=O(b(i),2),o=b(a),c=b(o),u=e=>{var t=ad();t.value=t.__value=`*`,d(e,t)},f=w(()=>!g(T)?.on_for.includes(`*`));n(c,e=>{g(f)&&e(u)});var p=O(c);K(p,16,()=>g(oe),e=>e,(t,n)=>{var r=ed(),i=e(r),a={};s(()=>{l(i,`${n??``}/* (every ${n??``} repo)`),a!==(a=`${n??``}/*`)&&(r.value=r.__value=a)}),d(t,r)});var m=O(p);K(m,17,()=>h.st.repos,e=>e.repo,(t,n)=>{var r=ed(),i=e(r,!0),a={};s(()=>{l(i,g(n).repo),a!==(a=g(n).repo)&&(r.value=(r.__value=a)??``)}),d(t,r)}),L(o),I(o);var _=O(o);xt(_,{name:`chevron-down`}),L(a),L(i),B(o,()=>g(De),e=>z(De,e)),d(t,i)},$$slots:{default:!0}})}var Re=O(Le,2);{let e=w(()=>g(v)?.kept.save===`lands`?`Its folder is removed from ${g(v)?.kept.repo}, landed the way it lands.`:`Its folder is removed from ${g(v)?.kept.repo??`its Repo`}.`);Ze(Re,{id:`delete-profile-dialog`,form:`delete-profile-form`,get title(){return`Delete ${i.name??``}`},get sub(){return g(e)},get icon(){return hr},action:`Delete`,onsubmit:ne,get open(){return g(te)},set open(e){z(te,e,!0)},children:(e,t)=>{var n=sd();d(e,n)},$$slots:{default:!0}})}d(t,ke),F()}t([`click`]);var ud=o(`<span data-test="level"> </span>`),dd=o(`<span></span>`),fd=o(`<div class="resource"><div class="resource-row body-sm"><span> </span><span class="resource-value"> </span></div> <div class="resource-bar" role="meter"><i></i> <!></div></div>`),pd=o(`<section class="resources" aria-label="System resources" data-test="resources"><div class="sd-side-label">Resources<!></div> <!></section>`);function md(t,i){se(i,!0);let a=e=>`${e.toFixed(1)} GB`,o={ok:``,soft:`Soft limit`,hard:`Hard limit`},c=w(()=>[{name:`Memory`,value:`${a(i.r.memory.available)} free`,used:1-i.r.memory.available/i.r.memory.total,marks:i.throttle.marks.memory},{name:`Swap`,value:`${a(i.r.swap)} in use`,used:i.r.swap/i.r.memory.total,marks:i.throttle.marks.swap},{name:`Disk`,value:`${a(i.r.disk.free)} free`,used:1-i.r.disk.free/i.r.disk.total,marks:i.throttle.marks.disk},{name:`Load`,value:`${i.r.load.now.toFixed(1)} on ${i.r.load.cores} cores`,used:i.r.load.now/i.r.load.cores,marks:[]}]),u=e=>Math.round(Math.min(1,Math.max(0,e))*100);var p=pd(),m=b(p),_=O(b(m)),v=t=>{var n=ud(),r=e(n,!0);s(()=>{x(n,1,`level level-${i.throttle.level??``}`),l(r,` · ${o[i.throttle.level]}`)}),d(t,n)};n(_,e=>{o[i.throttle.level]&&e(v)}),L(m);var y=O(m,2);K(y,17,()=>g(c),e=>e.name,(t,a)=>{var o=fd(),c=b(o),p=b(c),m=e(p,!0),_=O(p),v=e(_,!0);L(c);var y=O(c,2);G(y,`aria-valuemin`,0),G(y,`aria-valuemax`,100);var S=b(y);let C;var w=O(S,2),T=e=>{var t=r(),n=f(t);K(n,17,()=>g(a).marks,h,(e,t,n)=>{var r=dd();x(r,1,`mark`,null,{},{hard:n===1});let i;s(()=>i=A(r,``,i,{left:`${g(t)??``}%`})),d(e,r)}),d(e,t)};n(w,e=>{i.throttle.on&&e(T)}),L(y),L(o),s((e,t,n)=>{G(o,`data-resource`,e),l(m,g(a).name),l(v,g(a).value),G(y,`aria-label`,`${g(a).name??``}: ${g(a).value??``}`),G(y,`aria-valuenow`,t),C=A(S,``,C,{width:n})},[()=>g(a).name.toLowerCase(),()=>u(g(a).used),()=>`${u(g(a).used)??``}%`]),d(t,o)}),L(p),d(t,p),F()}var hd=o(`<a><b> </b></a>`),gd=o(`<b> </b>`),_d=o(`<p><!><span><!> </span></p>`),vd=o(`<div class="banner" role="status" aria-label="Notices" data-test="banner"></div>`);function yd(t,i){se(i,!0);let a={info:Cn,warning:_r,danger:Un};var o=r(),c=f(o),u=t=>{var r=vd();K(r,21,()=>i.notices,e=>e.key??e.kind,(t,r)=>{let i=w(()=>a[g(r).tone]);var o=_d(),c=b(o);m(c,()=>g(i),(e,t)=>{t(e,{class:`sd-icon`,size:16,strokeWidth:2})});var u=O(c),f=b(u),p=t=>{var n=hd(),i=b(n),a=e(i);L(n),s(()=>{G(n,`href`,g(r).href),l(a,`${g(r).title??``}.`)}),d(t,n)},h=t=>{var n=gd(),i=e(n);s(()=>l(i,`${g(r).title??``}.`)),d(t,n)};n(f,e=>{g(r).href?e(p):e(h,-1)});var _=O(f);L(u),L(o),s(()=>{x(o,1,`notice tone-${g(r).tone??``} body-sm`),G(o,`data-notice`,g(r).kind),l(_,` ${g(r).text??``}`)}),d(t,o)}),L(r),d(t,r)};n(c,e=>{i.notices.length&&e(u)}),d(t,o),F()}var bd=o(`<span class="leads" data-test="leads" role="img"><!></span>`),xd=o(`<span class="repo" data-test="repo"> </span>`),Sd=o(`<a><!><span class="sd-nav-label"> </span><!><!></a>`),Cd=o(`<div><!></div>`),wd=o(`<div class="track-group"><div class="track-label"><span class="name"> </span></div> <div class="track-kids"><!> <!></div></div>`);function Td(t,i){se(i,!0);let a=(t,r=j,i=j,a=j)=>{var c=Sd();let u;var f=b(c);aa(f,{get session(){return r()}});var p=O(f),m=e(p,!0),h=O(p),g=e=>{var t=bd();Kt(b(t),{size:12,strokeWidth:2}),L(t),s((e,n)=>{G(t,`title`,`Leads ${e??``}`),G(t,`aria-label`,`Leads ${n??``}`)},[()=>r().followers.join(`, `),()=>r().followers.join(`, `)]),d(e,t)};n(h,e=>{r().followers.length&&e(g)});var v=O(h),y=t=>{var n=xd(),i=e(n,!0);s(e=>l(i,e),[()=>we(r())]),d(t,n)};n(v,e=>{a()&&e(y)}),L(c),s(e=>{u=x(c,1,`sd-nav-item`,null,u,{ended:!!r().ended}),G(c,`aria-current`,o.selected===r().id?`page`:void 0),G(c,`href`,e),G(c,`title`,r().slot),l(m,i())},[()=>ct(r().id)]),_(`click`,c,()=>o.focus(r().id)),d(t,c)},o=xe(),c=w(()=>i.node.sessions.map(e=>o.st.sessions[e])),u=w(()=>g(c).length===1&&!i.node.children.length);var p=r(),m=f(p),h=e=>{var t=Cd(),n=b(t);a(n,()=>g(c)[0],()=>i.node.name,()=>!0),L(t),s(()=>{G(t,`data-track`,i.node.path),G(t,`data-session`,g(c)[0].id)}),d(e,t)},v=t=>{var n=wd(),r=b(n),o=b(r),u=e(o,!0);L(r);var f=O(r,2),p=b(f);K(p,17,()=>g(c),e=>e.id,(e,t)=>{var n=Cd(),r=b(n);{let e=w(()=>we(g(t)));a(r,()=>g(t),()=>g(e),()=>!1)}L(n),s(()=>G(n,`data-session`,g(t).id)),d(e,n)});var m=O(p,2);K(m,17,()=>i.node.children,e=>e.path,(e,t)=>{Td(e,{get node(){return g(t)}})}),L(f),L(n),s(()=>{G(n,`data-track`,i.node.path),l(u,i.node.name)}),d(t,n)};n(m,e=>{g(u)?e(h):e(v,-1)}),d(t,p),F()}t([`click`]);function Ed(e){try{let t=e?localStorage.getItem(e):null;return t&&parseInt(t,10)||null}catch{return null}}function Dd(e,t){try{e&&localStorage.setItem(e,String(t))}catch{}}function Od(e,t={}){let n=t,r=()=>n.target||e.parentElement,i=()=>n.min??56,a=()=>n.defaultWidth??240,o=()=>Math.max(i(),Math.min(n.max??1/0,window.innerWidth-48)),s=e=>Math.round(Math.max(i(),Math.min(o(),e))),c=s(n.width??Ed(n.storageKey)??a());function l(t,a){c=s(t);let l=r();l.style.width=c+`px`,l.classList.toggle(n.compactClass??`sd-sidebar-compact`,c<(n.compactBelow??136)),e.setAttribute(`aria-valuenow`,String(c)),e.setAttribute(`aria-valuemin`,String(i())),e.setAttribute(`aria-valuemax`,String(Math.round(o()))),a&&Dd(n.storageKey,c),n.onresize?.(c)}e.classList.add(`sd-resize`),e.setAttribute(`role`,`separator`),e.setAttribute(`aria-orientation`,`vertical`),e.hasAttribute(`aria-label`)||e.setAttribute(`aria-label`,`Resize sidebar`),e.hasAttribute(`title`)||e.setAttribute(`title`,`Drag to resize. Double-click to reset.`),e.tabIndex=0;function u(t){if(t.button!==0)return;t.preventDefault();let i=t.clientX,a=r().getBoundingClientRect().width;e.setPointerCapture?.(t.pointerId),e.dataset.dragging=`true`,document.body.classList.add(`sd-resizing`);let o=e=>l(a+e.clientX-i,!1),s=()=>{delete e.dataset.dragging,document.body.classList.remove(`sd-resizing`),Dd(n.storageKey,c),e.removeEventListener(`pointermove`,o),e.removeEventListener(`pointerup`,s),e.removeEventListener(`pointercancel`,s)};e.addEventListener(`pointermove`,o),e.addEventListener(`pointerup`,s),e.addEventListener(`pointercancel`,s)}function d(e){let t=e.shiftKey?64:16,n={ArrowLeft:c-t,ArrowRight:c+t,Home:i(),End:o(),Enter:a()};e.key in n&&(e.preventDefault(),l(n[e.key],!0))}let f=()=>l(a(),!0),p=()=>l(c,!1);return e.addEventListener(`pointerdown`,u),e.addEventListener(`keydown`,d),e.addEventListener(`dblclick`,f),window.addEventListener(`resize`,p),l(c,!1),{update(e){n=e,e.width!=null&&e.width!==c&&l(e.width,!1)},destroy(){e.removeEventListener(`pointerdown`,u),e.removeEventListener(`keydown`,d),e.removeEventListener(`dblclick`,f),window.removeEventListener(`resize`,p)}}}var kd=o(`<p class="side-empty body-sm">No agents yet.</p>`),Ad=o(`<div class="sd-nav-item console" data-test="console"><!><span class="sd-nav-label">Console</span><span class="sd-nav-badge"> </span></div>`),jd=o(`<div></div>`),Md=o(`<a href="#issues">Issues</a><!><a class="mono-sm"> </a><!><a class="here"> </a>`,1),Nd=o(`<a href="#">Tracks</a><!><span> </span><!><span class="here mono-sm"> </span>`,1),Pd=o(`<a href="#issues">Issues</a><!><a class="here mono-sm"> </a>`,1),Fd=o(`<span class="here">Issues</span>`),Id=o(`<a href="#repos">Repos</a><!><a class="here mono-sm"> </a>`,1),Ld=o(`<a href="#repos">Repos</a><!><a class="mono-sm"> </a><!><span class="here">Settings</span>`,1),Rd=o(`<a href="#repos">Repos</a><!><a class="mono-sm"> </a><!><span class="here">Secrets</span>`,1),zd=o(`<span class="here">Repos</span>`),Bd=o(`<a href="#skills">Skills</a><!><a href="#skills=profile">Profiles</a><!><span class="here mono-sm"> </span>`,1),Vd=o(`<a href="#skills">Skills</a><!><a> </a><!><a class="here mono-sm"> </a>`,1),Hd=o(`<span class="here">Skills</span>`),Ud=o(`<span class="here">Settings</span>`),Wd=o(`<span class="here">Overview</span>`),Gd=o(`<p class="body" id="switch-warning"> </p>`),Kd=o(`<div class="shell"><nav class="sd-sidebar" aria-label="Tracks"><div class="sd-side-brand"><img class="brand-mark" alt=""/><span class="sd-side-name" data-test="title"> </span></div> <div class="sd-side-group"><a id="home" class="sd-nav-item" href="#"><!><span class="sd-nav-label">Overview</span></a> <a id="issues-link" class="sd-nav-item" href="#issues"><!><span class="sd-nav-label">Issues</span><span class="sd-nav-badge" id="issue-count"> </span></a> <a id="repos-link" class="sd-nav-item" href="#repos"><!><span class="sd-nav-label">Repos</span><span class="sd-nav-badge" id="repo-count"> </span></a> <a id="skills-link" class="sd-nav-item" href="#skills"><!><span class="sd-nav-label">Skills</span></a></div> <div class="sd-side-group"><div class="sd-side-label">Tracks</div> <div id="sessions" class="tracks"><!></div></div> <div class="sd-side-foot"><!> <!> <a class="sd-nav-item" id="open-settings" title="Settings" href="#settings"><!><span class="sd-nav-label">Settings</span></a></div> <!></nav> <main class="main"><header class="topbar"><button id="menu" class="sd-iconbtn" aria-label="Tracks"><!></button> <nav class="crumbs body-sm" aria-label="Breadcrumb"><!></nav> <div class="actions"><!> <!> <!></div></header> <!> <div id="note" role="status"> </div> <div id="view" class="content"><!></div></main></div> <!> <!>`,1);function qd(t,i){se(i,!0);let a=be(new Ke(i.data.csrf)),o=w(()=>a.st),c=w(()=>g(o)?g(o).sessions[a.selected]:void 0),p=w(()=>g(o)?g(o).issues.find(e=>e.address===a.selectedIssue):void 0),m=w(()=>a.selectedSlotSecrets),h=w(()=>{for(let e of g(o)?.issues??[])for(let t of e.docs)if(t.address===a.selectedDoc)return{i:e,d:t}}),x=w(()=>a.hash===`#issues`||!!a.selectedDoc&&!g(h)),S=w(()=>g(o)?g(o).repos.find(e=>e.repo===a.selectedRepo)?.repo??``:``),C=w(()=>g(o)?g(o).repos.find(e=>e.repo===a.selectedRepoSettings)?.repo??``:``),E=w(()=>g(o)?g(o).repos.find(e=>e.repo===a.selectedRepoSecrets)?.repo??``:``),D=w(()=>a.hash===`#repos`||!!a.selectedRepo&&!g(S)||!!a.selectedRepoSettings&&!g(C)||!!a.selectedRepoSecrets&&!g(E)),k=w(()=>a.hash===`#settings`),A=w(()=>{let[e,...t]=a.selectedPart.split(`:`);return e in Ur&&t.length?{kind:e,name:t.join(`:`)}:null}),j=w(()=>ye(a.hash,`pf`)||(g(A)?.kind===`profile`?g(A).name:``)),M=w(()=>g(A)&&g(A).kind!==`profile`?g(A):null),N=w(()=>a.hash.startsWith(`#skills`)||!!a.selectedPart&&!g(M)&&!g(j)),P=w(()=>g(o)?g(o).issues.filter(e=>e.state!==`closed`).length:0),I={class:`sd-icon`,size:16,strokeWidth:2},R=e=>e.slice(e.indexOf(`/`)+1),te=w(()=>g(o)?g(c)?R(g(c).slot??g(c).track):g(m)?`Secrets · ${R(g(m))}`:g(p)?g(p).address.slice(g(p).address.indexOf(`#`)):g(x)?`Issues`:g(S)?R(g(S)):g(C)?`Settings · ${R(g(C))}`:g(E)?`Secrets · ${R(g(E))}`:g(D)?`Repos`:g(h)?g(h).d.title:g(j)?g(j):g(M)?g(M).name:g(N)?`Skills`:g(k)?`Settings`:`Overview`:i.data.title);u(()=>a.start());let ne=U(void 0),B=U(!0);u(()=>{let e=matchMedia(`(min-width: 961px)`),t=()=>z(B,e.matches,!0);return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)}),y(()=>{!g(B)&&g(ne)&&(g(ne).style.width=``,g(ne).classList.remove(`sd-sidebar-compact`))}),y(()=>{document.body.classList.toggle(`open`,a.navOpen)});function ie(e){e.target.closest(`a`)&&(a.navOpen=!1)}var ae=Kd();T(`1uha8ag`,e=>{re(()=>{v.title=g(te)??``})});var W=f(ae),oe=b(W),ce=b(oe),ue=b(ce),J=O(ue),de=e(J,!0);L(ce);var Y=O(ce,2),fe=b(Y);xn(b(fe),H(()=>I)),V(),L(fe);var pe=O(fe,2),me=b(pe);jn(me,H(()=>I));var he=O(me,2),ge=e(he,!0);L(pe);var _e=O(pe,2),ve=b(_e);Xt(ve,H(()=>I));var X=O(ve,2),xe=e(X,!0);L(_e);var Se=O(_e,2);Dn(b(Se),H(()=>I)),V(),L(Se),L(Y);var Ce=O(Y,2),we=O(b(Ce),2),Te=b(we),Ee=e=>{var t=r(),n=f(t);K(n,17,()=>g(o).tree,e=>e.path,(e,t)=>{Td(e,{get node(){return g(t)}})},e=>{var t=kd();d(e,t)}),d(e,t)};n(Te,e=>{g(o)&&e(Ee)}),L(we),L(Ce);var De=O(Ce,2),ke=b(De),je=e=>{md(e,{get r(){return g(o).resources},get throttle(){return g(o).throttle}})};n(ke,e=>{g(o)?.resources&&e(je)});var Pe=O(ke,2),Fe=t=>{var n=Ad(),r=b(n);aa(r,{get session(){return g(o).console}});var i=O(r,2),a=e(i,!0);L(n),s(e=>{G(n,`title`,`Your console, in Herdr as ${g(o).console.track??``}`),l(a,e)},[()=>it(g(o).console)]),d(t,n)};n(Pe,e=>{g(o)?.console&&e(Fe)});var Ie=O(Pe,2);ar(b(Ie),H(()=>I)),V(),L(Ie),L(De);var Le=O(De,2),Re=e=>{var t=jd();le(t,(e,t)=>Od?.(e,t),()=>({defaultWidth:240,storageKey:`coordinator-sidebar-width`})),d(e,t)};n(Le,e=>{g(B)&&e(Re)}),L(oe),ee(oe,e=>z(ne,e),()=>g(ne));var Be=O(oe,2),Ve=b(Be),Z=b(Ve);Fn(b(Z),H(()=>I)),L(Z);var He=O(Z,2),Ue=b(He),We=t=>{var n=Md(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0),o=O(i);It(o,H(()=>I));var c=O(o),u=e(c,!0);s((e,t)=>{G(i,`href`,e),l(a,g(h).i.address),G(c,`href`,t),l(u,g(h).d.title)},[()=>nt(g(h).i.address),()=>Ae(g(h).d.address)]),d(t,n)},Ge=t=>{var n=Nd(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0),o=O(i);It(o,H(()=>I));var u=O(o),p=e(u,!0);s(()=>{l(a,g(c).track),l(p,g(c).slot??g(c).track)}),d(t,n)},qe=t=>{var n=Pd(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0);s(e=>{G(i,`href`,e),l(a,g(p).address)},[()=>nt(g(p).address)]),d(t,n)},Je=e=>{var t=Fd();d(e,t)},Ye=t=>{var n=Id(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0);s(e=>{G(i,`href`,e),l(a,g(S))},[()=>Ne(g(S))]),d(t,n)},Xe=t=>{var n=Ld(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0);It(O(i),H(()=>I)),V(),s(e=>{G(i,`href`,e),l(a,g(C))},[()=>Ne(g(C))]),d(t,n)},Ze=t=>{var n=Rd(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0);It(O(i),H(()=>I)),V(),s(e=>{G(i,`href`,e),l(a,g(E))},[()=>Ne(g(E))]),d(t,n)},Qe=e=>{var t=zd();d(e,t)},$e=t=>{var n=Bd(),r=O(f(n));It(r,H(()=>I));var i=O(r,2);It(i,H(()=>I));var a=O(i),o=e(a,!0);s(()=>l(o,g(j))),d(t,n)},et=t=>{var n=Vd(),r=O(f(n));It(r,H(()=>I));var i=O(r),a=e(i,!0),o=O(i);It(o,H(()=>I));var c=O(o),u=e(c,!0);s((e,t,n)=>{G(i,`href`,`#skills=${e??``}`),l(a,t),G(c,`href`,n),l(u,g(M).name)},[()=>ai(g(M).kind),()=>Ur[ai(g(M).kind)].plural,()=>oi(g(M).kind,g(M).name)]),d(t,n)},tt=e=>{var t=Hd();d(e,t)},rt=e=>{var t=Ud();d(e,t)},at=e=>{var t=Wd();d(e,t)};n(Ue,e=>{g(h)?e(We):g(c)?e(Ge,1):g(p)?e(qe,2):g(x)?e(Je,3):g(S)?e(Ye,4):g(C)?e(Xe,5):g(E)?e(Ze,6):g(D)?e(Qe,7):g(j)?e($e,8):g(M)?e(et,9):g(N)?e(tt,10):g(k)?e(rt,11):e(at,-1)}),L(He);var ot=O(He,2),ct=b(ot);Q(ct,{variant:`secondary`,id:`open-issue`,"aria-label":`Open issue`,onclick:()=>a.open(`issue`,g(c)?.repo??g(p)?.repo??(g(S)||``)),get icon(){return Zn},children:(e,t)=>{V();var n=q(`Open issue`);d(e,n)},$$slots:{default:!0}});var lt=O(ct,2);Q(lt,{variant:`secondary`,id:`open-send`,"aria-label":`Message`,onclick:()=>a.open(`send`,g(c)?.slot??``),get icon(){return zn},children:(e,t)=>{V();var n=q(`Message`);d(e,n)},$$slots:{default:!0}});var dt=O(lt,2);Q(dt,{variant:`primary`,id:`open-start`,"aria-label":`Start agent`,onclick:()=>a.open(`start`),get icon(){return Mt},children:(e,t)=>{V();var n=q(`Start agent`);d(e,n)},$$slots:{default:!0}}),L(ot),L(Ve);var ft=O(Ve,2),pt=e=>{{let t=w(()=>[...g(o).throttle.notices,...Oe(g(o).repos),...Me(g(o).profiles.problems)]);yd(e,{get notices(){return g(t)}})}};n(ft,e=>{g(o)&&e(pt)});var mt=O(ft,2),ht=e(mt,!0),gt=O(mt,2),_t=b(gt),vt=e=>{var t=r(),i=f(t),a=e=>{st(e,{get i(){return g(h).i},get d(){return g(h).d}})},o=e=>{ra(e,{get s(){return g(c)}})},s=e=>{{let t=w(()=>({slot:g(m)}));ul(e,{get target(){return g(t)}})}},l=e=>{gs(e,{get i(){return g(p)}})},u=e=>{As(e,{})},_=e=>{Gl(e,{get repo(){return g(S)}})},v=e=>{el(e,{get repo(){return g(C)}})},y=e=>{{let t=w(()=>({repo:g(E)}));ul(e,{get target(){return g(t)}})}},b=e=>{eu(e,{})},T=e=>{ld(e,{get name(){return g(j)}})},O=e=>{ku(e,{get kind(){return g(M).kind},get name(){return g(M).name}})},A=e=>{du(e,{})},ee=e=>{kc(e,{})},P=e=>{Xo(e,{})};n(i,e=>{g(h)?e(a):g(c)?e(o,1):g(m)?e(s,2):g(p)?e(l,3):g(x)?e(u,4):g(S)?e(_,5):g(C)?e(v,6):g(E)?e(y,7):g(D)?e(b,8):g(j)?e(T,9):g(M)?e(O,10):g(N)?e(A,11):g(k)?e(ee,12):e(P,-1)}),d(e,t)};n(_t,e=>{g(o)&&e(vt)}),L(gt),L(Be),L(W);var yt=O(W,2);Ro(yt,{});var bt=O(yt,2);{let t=e=>{Q(e,{variant:`primary`,"data-close":`switch-warning`,onclick:()=>a.switchWarning=``,children:(e,t)=>{V();var n=q(`OK`);d(e,n)},$$slots:{default:!0}})},n=w(()=>!!a.switchWarning);ze(bt,{get open(){return g(n)},size:`sm`,icon:`terminal`,title:`Herdr did not switch`,description:`Herdr is still on the pane it was showing.`,onclose:()=>a.switchWarning=``,footer:t,children:(t,n)=>{var r=Gd(),i=e(r,!0);s(()=>l(i,a.switchWarning)),d(t,r)},$$slots:{footer:!0,default:!0}})}s(()=>{G(ue,`src`,ut),l(de,i.data.title),G(fe,`aria-current`,g(c)||g(p)||g(x)||g(S)||g(C)||g(E)||g(D)||g(k)||g(M)||g(j)||g(N)||g(h)?void 0:`page`),G(pe,`aria-current`,g(p)||g(x)||g(h)?`page`:void 0),l(ge,g(P)||``),G(_e,`aria-current`,g(S)||g(C)||g(E)||g(D)?`page`:void 0),l(xe,g(o)?.repos.length||``),G(Se,`aria-current`,g(M)||g(j)||g(N)?`page`:void 0),G(Ie,`aria-current`,g(k)?`page`:void 0),l(ht,a.note)}),_(`click`,oe,ie),_(`click`,Z,()=>a.navOpen=!a.navOpen),d(t,ae),F()}t([`click`]);export{qd as component};
8
+ //# sourceMappingURL=2.vl6OYfu3.js.map