conductor-oss 0.62.7 → 0.62.8

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 (160) hide show
  1. package/node_modules/@conductor-oss/core/package.json +1 -1
  2. package/package.json +5 -5
  3. package/web/.next/standalone/node_modules/nanoid/package.json +1 -1
  4. package/web/.next/standalone/package.json +1 -1
  5. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  6. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +8 -8
  7. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  8. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  9. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +15 -14
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  29. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
  32. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +2 -2
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  45. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  46. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js +2 -2
  47. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js.nft.json +1 -1
  48. package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page_client-reference-manifest.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +8 -8
  53. package/web/.next/standalone/packages/web/.next/server/chunks/1725.js +1 -0
  54. package/web/.next/standalone/packages/web/.next/server/chunks/3303.js +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/chunks/4191.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/chunks/5658.js +1 -0
  57. package/web/.next/standalone/packages/web/.next/server/chunks/5734.js +1 -0
  58. package/web/.next/standalone/packages/web/.next/server/chunks/5790.js +2 -0
  59. package/web/.next/standalone/packages/web/.next/server/chunks/6108.js +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/chunks/6472.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/chunks/6744.js +1 -0
  62. package/web/.next/standalone/packages/web/.next/server/chunks/7714.js +2 -2
  63. package/web/.next/standalone/packages/web/.next/server/chunks/7801.js +1 -1
  64. package/web/.next/standalone/packages/web/.next/server/chunks/8352.js +1 -1
  65. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  66. package/web/.next/standalone/packages/web/.next/server/chunks/9516.js +1 -1
  67. package/web/.next/standalone/packages/web/.next/server/chunks/9930.js +4 -4
  68. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  69. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  70. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  71. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  72. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  73. package/web/.next/standalone/packages/web/.next/static/chunks/20038.fe65f7c2f63cf380.js +1 -0
  74. package/web/.next/standalone/packages/web/.next/static/chunks/29450-e298fd3b74f528a5.js +1 -0
  75. package/web/.next/standalone/packages/web/.next/static/chunks/{34443.6226599113ecee07.js → 34443.3021c37fce5f1966.js} +1 -1
  76. package/web/.next/standalone/packages/web/.next/static/chunks/35493-405b96c4dd41e057.js +1 -0
  77. package/web/.next/{static/chunks/37785-4c70b81506dde54c.js → standalone/packages/web/.next/static/chunks/37785-1fc09b3ce0839b64.js} +2 -2
  78. package/web/.next/{static/chunks/41696.3e691c667c1e7b81.js → standalone/packages/web/.next/static/chunks/41696.849ce60671c3fc20.js} +1 -1
  79. package/web/.next/standalone/packages/web/.next/static/chunks/47369.a4f0b46515a89877.js +3 -0
  80. package/web/.next/standalone/packages/web/.next/static/chunks/70008.848fd401840c9bce.js +1 -0
  81. package/web/.next/standalone/packages/web/.next/static/chunks/76892-8dd4340687959250.js +1 -0
  82. package/web/.next/standalone/packages/web/.next/static/chunks/81132.46e0113f762baba4.js +3 -0
  83. package/web/.next/standalone/packages/web/.next/static/chunks/86597-1974bd2fdc101983.js +2 -0
  84. package/web/.next/standalone/packages/web/.next/static/chunks/8798.be1c2bcbdf30d3d0.js +1 -0
  85. package/web/.next/standalone/packages/web/.next/static/chunks/88545.638d04d05b4cb291.js +1 -0
  86. package/web/.next/standalone/packages/web/.next/static/chunks/90036.6d4c9823456768d7.js +1 -0
  87. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-c4fcd887291e892d.js +1 -0
  88. package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-993567520eb26e1e.js → layout-42a934e328610863.js} +1 -1
  89. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-5cdcce90b0cebb55.js +1 -0
  90. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-340961e7cd9d63cc.js → page-1f3578abecf4fb64.js} +1 -1
  91. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/[[...sign-in]]/page-bfd73815fe1dcf5e.js +9 -0
  92. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-up/[[...sign-up]]/page-a4f528b6782ed85c.js +9 -0
  93. package/web/.next/standalone/packages/web/.next/static/chunks/app/unlock/page-f95ae641f875a271.js +1 -0
  94. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-3ea5ad7ca9f32ed6.js +1 -0
  95. package/web/.next/standalone/packages/web/.next/static/css/576f84ed441998c8.css +1 -0
  96. package/web/.next/static/chunks/20038.fe65f7c2f63cf380.js +1 -0
  97. package/web/.next/static/chunks/29450-e298fd3b74f528a5.js +1 -0
  98. package/web/.next/static/chunks/{34443.6226599113ecee07.js → 34443.3021c37fce5f1966.js} +1 -1
  99. package/web/.next/static/chunks/35493-405b96c4dd41e057.js +1 -0
  100. package/web/.next/{standalone/packages/web/.next/static/chunks/37785-4c70b81506dde54c.js → static/chunks/37785-1fc09b3ce0839b64.js} +2 -2
  101. package/web/.next/{standalone/packages/web/.next/static/chunks/41696.3e691c667c1e7b81.js → static/chunks/41696.849ce60671c3fc20.js} +1 -1
  102. package/web/.next/static/chunks/47369.a4f0b46515a89877.js +3 -0
  103. package/web/.next/static/chunks/70008.848fd401840c9bce.js +1 -0
  104. package/web/.next/static/chunks/76892-8dd4340687959250.js +1 -0
  105. package/web/.next/static/chunks/81132.46e0113f762baba4.js +3 -0
  106. package/web/.next/static/chunks/86597-1974bd2fdc101983.js +2 -0
  107. package/web/.next/static/chunks/8798.be1c2bcbdf30d3d0.js +1 -0
  108. package/web/.next/static/chunks/88545.638d04d05b4cb291.js +1 -0
  109. package/web/.next/static/chunks/90036.6d4c9823456768d7.js +1 -0
  110. package/web/.next/static/chunks/app/bridge/connect/page-c4fcd887291e892d.js +1 -0
  111. package/web/.next/static/chunks/app/{layout-993567520eb26e1e.js → layout-42a934e328610863.js} +1 -1
  112. package/web/.next/static/chunks/app/page-5cdcce90b0cebb55.js +1 -0
  113. package/web/.next/static/chunks/app/sessions/[id]/{page-340961e7cd9d63cc.js → page-1f3578abecf4fb64.js} +1 -1
  114. package/web/.next/static/chunks/app/sign-in/[[...sign-in]]/page-bfd73815fe1dcf5e.js +9 -0
  115. package/web/.next/static/chunks/app/sign-up/[[...sign-up]]/page-a4f528b6782ed85c.js +9 -0
  116. package/web/.next/static/chunks/app/unlock/page-f95ae641f875a271.js +1 -0
  117. package/web/.next/static/chunks/webpack-3ea5ad7ca9f32ed6.js +1 -0
  118. package/web/.next/static/css/576f84ed441998c8.css +1 -0
  119. package/web/.next/standalone/packages/web/.next/server/chunks/3775.js +0 -1
  120. package/web/.next/standalone/packages/web/.next/server/chunks/694.js +0 -2
  121. package/web/.next/standalone/packages/web/.next/server/chunks/724.js +0 -1
  122. package/web/.next/standalone/packages/web/.next/server/chunks/8603.js +0 -1
  123. package/web/.next/standalone/packages/web/.next/static/chunks/10215.e1adc6807da4cf05.js +0 -1
  124. package/web/.next/standalone/packages/web/.next/static/chunks/20038.0f95f26ad144c136.js +0 -1
  125. package/web/.next/standalone/packages/web/.next/static/chunks/29450-96ee8b2fdf605b68.js +0 -1
  126. package/web/.next/standalone/packages/web/.next/static/chunks/35493-8c8d75766e944f01.js +0 -1
  127. package/web/.next/standalone/packages/web/.next/static/chunks/39816.fa63b43ee1cbe027.js +0 -1
  128. package/web/.next/standalone/packages/web/.next/static/chunks/47369.5011bd3d9e80106a.js +0 -3
  129. package/web/.next/standalone/packages/web/.next/static/chunks/76892-5f15bcc6649e7bd4.js +0 -1
  130. package/web/.next/standalone/packages/web/.next/static/chunks/81132.8a9aaf302240ef27.js +0 -3
  131. package/web/.next/standalone/packages/web/.next/static/chunks/84271-9f5b4aa5a9c11bd9.js +0 -2
  132. package/web/.next/standalone/packages/web/.next/static/chunks/95381.bf3263b4d34504c7.js +0 -1
  133. package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-a21257f88cf5a928.js +0 -1
  134. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-06b5663e85e5e30e.js +0 -1
  135. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-in/[[...sign-in]]/page-4ad311894518c4e8.js +0 -9
  136. package/web/.next/standalone/packages/web/.next/static/chunks/app/sign-up/[[...sign-up]]/page-a8639099a42a668b.js +0 -9
  137. package/web/.next/standalone/packages/web/.next/static/chunks/app/unlock/page-4f87395d3035a5bf.js +0 -1
  138. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-ce72c10ddc4a34ce.js +0 -1
  139. package/web/.next/standalone/packages/web/.next/static/css/5443e6375caddb6b.css +0 -1
  140. package/web/.next/static/chunks/10215.e1adc6807da4cf05.js +0 -1
  141. package/web/.next/static/chunks/20038.0f95f26ad144c136.js +0 -1
  142. package/web/.next/static/chunks/29450-96ee8b2fdf605b68.js +0 -1
  143. package/web/.next/static/chunks/35493-8c8d75766e944f01.js +0 -1
  144. package/web/.next/static/chunks/39816.fa63b43ee1cbe027.js +0 -1
  145. package/web/.next/static/chunks/47369.5011bd3d9e80106a.js +0 -3
  146. package/web/.next/static/chunks/76892-5f15bcc6649e7bd4.js +0 -1
  147. package/web/.next/static/chunks/81132.8a9aaf302240ef27.js +0 -3
  148. package/web/.next/static/chunks/84271-9f5b4aa5a9c11bd9.js +0 -2
  149. package/web/.next/static/chunks/95381.bf3263b4d34504c7.js +0 -1
  150. package/web/.next/static/chunks/app/bridge/connect/page-a21257f88cf5a928.js +0 -1
  151. package/web/.next/static/chunks/app/page-06b5663e85e5e30e.js +0 -1
  152. package/web/.next/static/chunks/app/sign-in/[[...sign-in]]/page-4ad311894518c4e8.js +0 -9
  153. package/web/.next/static/chunks/app/sign-up/[[...sign-up]]/page-a8639099a42a668b.js +0 -9
  154. package/web/.next/static/chunks/app/unlock/page-4f87395d3035a5bf.js +0 -1
  155. package/web/.next/static/chunks/webpack-ce72c10ddc4a34ce.js +0 -1
  156. package/web/.next/static/css/5443e6375caddb6b.css +0 -1
  157. /package/web/.next/standalone/packages/web/.next/static/{dg_PQxcnntSl1TuuRZaFW → uj1a_PBVefvWUi6yVk4E5}/_buildManifest.js +0 -0
  158. /package/web/.next/standalone/packages/web/.next/static/{dg_PQxcnntSl1TuuRZaFW → uj1a_PBVefvWUi6yVk4E5}/_ssgManifest.js +0 -0
  159. /package/web/.next/static/{dg_PQxcnntSl1TuuRZaFW → uj1a_PBVefvWUi6yVk4E5}/_buildManifest.js +0 -0
  160. /package/web/.next/static/{dg_PQxcnntSl1TuuRZaFW → uj1a_PBVefvWUi6yVk4E5}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=4191,exports.ids=[4191],exports.modules={3639:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},7233:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},16249:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(91515);function e(a,b){let c=b.trim(),e=(0,d.q)(a);if(!c)return c;if("claude-code"===e){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}c(53092)},18540:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},31084:(a,b,c)=>{c.d(b,{J:()=>e,s:()=>f});var d=c(19954);function e(a){let b=(0,d.C0)(a);if(!b)return"/";let c=new URLSearchParams;return c.set("bridge",b),`/?${c.toString()}`}function f(a,b={}){let c,e=a.trim(),g=(0,d.DW)(e)?e:(c=(0,d.C0)(b.bridgeId))?(0,d.Bp)(c,e):e,h=new URLSearchParams,i=b.tab?.trim();i&&h.set("tab",i);let j=h.toString(),k=`/sessions/${encodeURIComponent(g)}`;return j.length>0?`${k}?${j}`:k}},40729:(a,b,c)=>{c.d(b,{s:()=>q});var d=c(92692),e=c(48350),f=c(27576),g=c(18530);let h=(0,c(2131).A)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var i=c(86018),j=c(93544),k=c(23726),l=c(39088),m=c(16249);function n(a){return"xhigh"===a?"Extra High":a.split(/[_-\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function o({agent:a}){let b=(0,l.h7)(a);return(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 sm:gap-1",children:[(0,d.jsx)(i.N,{seed:{label:a},className:"h-3.5 w-3.5 border-none bg-transparent sm:h-3 sm:w-3"}),(0,d.jsx)("span",{className:"truncate",children:b?.label??a})]})}function p({label:a,title:b,disabled:c=!1,accent:g=!1,triggerClassName:h,contentClassName:i,children:k}){return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,disabled:c,children:(0,d.jsxs)("button",{type:"button",disabled:c,title:b,className:(0,j.cn)("inline-flex h-9 min-w-0 items-center gap-1.5 rounded-[11px] border px-2.5 text-[12px] font-medium transition disabled:cursor-not-allowed disabled:opacity-60 sm:h-[30px] sm:gap-1 sm:rounded-[9px] sm:px-2 sm:text-[11.5px]",g?"border-[rgba(214,163,126,0.28)] bg-[rgba(66,44,35,0.94)] text-[#f2d9cd] hover:bg-[rgba(78,52,41,0.98)]":"border-[rgba(255,255,255,0.08)] bg-[#272220] text-[#f3ead8] hover:bg-[#312926]",h),children:[(0,d.jsx)("span",{className:"min-w-0 truncate",children:a}),(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.55)] sm:h-2.5 sm:w-2.5"})]})}),(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{align:"start",collisionPadding:8,sideOffset:6,className:(0,j.cn)("z-50 max-h-[70vh] w-[calc(100vw-1rem)] max-w-[22rem] overflow-y-auto rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)] sm:max-h-[22rem] sm:w-auto sm:min-w-[200px] sm:max-w-[26rem] sm:rounded-[10px] sm:p-1.5",i),children:k})})]})}function q({agent:a,agentOptions:b,agentLabel:c,modelSelection:f,modelAccess:r,runtimeModelCatalogs:s,disabled:t=!1,className:u,onAgentChange:v,onModelSelectionChange:w}){let x=(0,k.Ik)(a,r,s),y=(0,k.xb)(f)??f.catalogModel,z=y?(0,m.M)(a,y):"Change model",A=(0,k.iL)(a,r,s,y),B=x.length>0,C=f.reasoningEffort.trim().toLowerCase();return(0,d.jsxs)("div",{className:(0,j.cn)("grid w-full grid-cols-[repeat(auto-fit,minmax(7.25rem,1fr))] gap-1.5 sm:flex sm:flex-wrap sm:items-center",u),children:[(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(p,{label:(0,d.jsx)(o,{agent:a}),title:`Change ${c.toLowerCase()} (${(0,l.h7)(a)?.label??a})`,disabled:t,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[6.75rem]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:c}),b.map(b=>{let f=(0,l.h7)(b),h=a===b;return(0,d.jsxs)(e.q7,{onSelect:()=>v(b),className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsx)(i.N,{seed:{label:b},className:"h-4 w-4 border-none bg-transparent sm:h-3.5 sm:w-3.5"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:f?.label??b}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:f?.description??c})]}),h?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},b)})]})}),B?(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(p,{label:z,title:`Change model${y?` (${z})`:""}`,disabled:t,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[11.75rem]",contentClassName:"sm:min-w-[220px]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Change model"}),x.map(b=>{let c=b.id===y;return(0,d.jsxs)(e.q7,{onSelect:()=>{let c=(0,k.iL)(a,r,s,b.id);w({catalogModel:b.id,customModel:"",reasoningEffort:c.some(a=>a.id===C)?C:(0,k.YS)(a,r,s,b.id)})},className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12px]",children:b.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:b.description})]}),c?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},b.id)})]})}):null,B&&A.length>0?(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(p,{label:(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(h,{className:"h-3.5 w-3.5 text-[#d7b6a5] sm:h-3 sm:w-3"}),(0,d.jsx)("span",{children:n(C||A[0].id)})]}),title:`Change thinking level (${n(C||A[0].id)})`,disabled:t,accent:!0,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[7rem]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Thinking"}),A.map(a=>{let b=a.id===C;return(0,d.jsxs)(e.q7,{onSelect:()=>w({...f,reasoningEffort:a.id}),className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsx)(h,{className:"h-4 w-4 text-[#d7b6a5] sm:h-3.5 sm:w-3.5"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:a.description})]}),b?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},a.id)})]})}):null]})}},48495:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},72186:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},76204:(a,b,c)=>{c.d(b,{AR:()=>e,Fp:()=>g,M_:()=>f,b:()=>h});let d=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function e(a){for(let b of a){let a=function(a){if("system"!==a.kind)return null;let b=a.metadata?.eventType;return"string"==typeof b&&b.trim().length>0?b.trim():null}(b);if(a&&d.has(a))return a}return null}function f(a,b){return!!(a.changedProjectIds?.includes(b)||a.sessions.some(a=>a.projectId===b))||"snapshot_delta"===a.type&&0===a.sessions.length}function g(a){}function h(a,b){return()=>{}}},76360:(a,b,c)=>{c.d(b,{Ek:()=>o,IF:()=>n,Kl:()=>p,Qs:()=>g,Vx:()=>k,es:()=>f,qK:()=>l,uP:()=>m});var d=c(91515),e=c(46818);let f=["codex","claude-code","gemini","openclaw","letta"],g=["codex","claude-code","gemini","cursor-cli","openclaw","pi","letta"],h=new Set(f),i=new Set(g);function j(a){let b=(0,d.q)(a??"");if(!b)return null;switch(b){case"claude":case"claude-code":case"claudecode":return"claude-code";case"cursor":case"cursor-agent":case"cursor-cli":return"cursor-cli";case"letta":case"letta-code":return"letta";default:return b}}function k(a){let b=function(a,b="codex"){let c,d=j(a);return d&&i.has(d)?d:null!==(c=j(b))&&i.has(c)?j(b)??"codex":"codex"}(a);return{runtimeAgent:function(a,b="codex"){let c,d=j(a);return d&&h.has(d)?d:null!==(c=j(b))&&h.has(c)?j(b)??"codex":"codex"}(a),implementationAgent:b}}function l(a){return j(a.sessionAgent)??j(a.legacyMetadataAgent)}function m(a){return a.isDispatcher?l(a)??"codex":j(a.repositoryAgent)??l(a)??"codex"}async function n(a,b={}){let c=b.fetchImpl??fetch,d=b.timeoutMs??15e3,f=new AbortController,g=globalThis.setTimeout(()=>f.abort(),d);try{let b=await c((0,e.S)(`/api/projects/${a.projectId}/dispatcher/preferences?threadId=${encodeURIComponent(a.threadId)}`,a.bridgeId),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({dispatcherAgent:a.dispatcherAgent,dispatcherModel:a.dispatcherModel,dispatcherReasoningEffort:a.dispatcherReasoningEffort,implementationAgent:a.implementationAgent,implementationModel:a.implementationModel,implementationReasoningEffort:a.implementationReasoningEffort}),signal:f.signal}),d=await b.json().catch(()=>null);if(!b.ok)throw Error(d?.error??"Failed to update dispatcher preferences");return d?.thread??null}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error(`Updating dispatcher preferences timed out after ${d%1e3==0?`${d/1e3}s`:`${d}ms`}. The backend may be busy.`);throw a}finally{clearTimeout(g)}}function o(a){return JSON.stringify([a.projectId.trim(),a.bridgeId?.trim()??"",a.threadId.trim()])}function p(a){let b=!1,c=new Map,d=new Map,e=[],f=()=>{for(let a of c.values())if(a.inFlight||void 0!==a.pendingPayload)return!0;return!1},g=b=>{let e=c.get(b),f=!!(e?.inFlight||e?.pendingPayload!==void 0);f!==(d.get(b)??!1)&&(f?d.set(b,!0):d.delete(b),a.onPendingChange?.(b,f))},h=()=>{if(f())return;let a=e;for(let b of(e=[],a))b()},i=async e=>{if(b)return void h();let f=c.get(e);if(!f||f.inFlight||void 0===f.pendingPayload)return void h();let j=f.pendingPayload;f.pendingPayload=void 0,f.inFlight=!0,g(e);try{let c=await a.send(j);b||a.onSuccess?.(c,j)}catch(c){b||a.onError?.(c,j)}finally{f.inFlight=!1,b?(c.clear(),d.clear()):void 0!==f.pendingPayload?i(e):(c.delete(e),g(e)),h()}};return{schedule(d){if(b)return;let e=a.getScopeKey(d),f=c.get(e)??{inFlight:!1,pendingPayload:void 0};f.pendingPayload=d,c.set(e,f),g(e),i(e)},isPending(a){let b=c.get(a);return!!(b?.inFlight||b?.pendingPayload!==void 0)},waitForIdle:()=>f()?new Promise(a=>{e.push(a)}):Promise.resolve(),dispose(){b=!0;let e=[...d.keys()];for(let b of(c.clear(),d.clear(),e))a.onPendingChange?.(b,!1);h()}}}},94191:(a,b,c)=>{c.r(b),c.d(b,{DispatcherPane:()=>aG});var d=c(92692),e=c(48350),f=c(71277),g=c(56192),h=c(78784),i=c(79711),j=c(2131);let k=(0,j.A)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]);var l=c(18530),m=c(7233);let n=(0,j.A)("pencil-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["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",key:"1a8usu"}]]);var o=c(40729),p=c(90665),q=c(67994),r=c(76578),s=c(91356),t=c(11560);let u=(0,j.A)("braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]);var v=c(32518),w=c(92975),x=c(37913),y=c(71887),z=c(11884),A=c(92181),B=c(48495),C=c(27576),D=c(3639),E=c(18075),F=c(68530),G=c(20604),H=c(32450);let I=(0,j.A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var J=c(29321),K=c(18540),L=c(72186),M=c(51812),N=c(86018),O=c(40677);function P(a){let b=[],c=new Set;for(let d of a){let a=d.trim();!a||c.has(a)||(c.add(a),b.push(a))}return b}function Q(a,b){let c=b?.displayPath?.trim();if(c)return c;let d=b?.name?.trim();return d?d:a.trim()}let R=new Set(["queued","spawning","running","working"]);function S(a){return"string"==typeof a&&a.trim().length>0?a:null}function T(a){let b=a?.trim().toLowerCase()??"";return R.has(b)}function U(a){var b;if("tool"!==a.kind)return null;let c=Array.isArray(b=a.metadata.toolContent)?b.map(a=>S(a)).filter(a=>null!==a):[],d=S(a.metadata.toolStatus)?.trim().toLowerCase()??"",e="error"===d||"failed"===d?"error":"running"===d||"working"===d?"running":"success"===d||"completed"===d||"complete"===d?"success":a.streaming?"running":"pending";return{kind:S(a.metadata.toolKind)?.toLowerCase()??null,title:S(a.metadata.toolTitle)?.trim()||a.text.trim()||"Tool call",status:e,lines:c,preview:c[0]??null}}function V(){return{followLatest:!0,showJumpToLatest:!1,unseenCount:0,unseenEntryIds:[]}}function W(a,b){return b.nearBottom?V():b.isUserInitiated&&b.scrollTop<b.previousScrollTop?{...a,followLatest:!1,showJumpToLatest:!0}:a}var X=c(1071),Y=c(93544);function Z({className:a}){return(0,d.jsx)("span",{className:(0,Y.cn)("inline-flex items-center gap-0.5",a),"aria-label":"Working",children:[0,1,2].map(a=>(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--status-working)]",style:{animation:"run-dot 1.4s ease-in-out infinite",animationDelay:`${.16*a}s`}},a))})}var $=c(19954),_=c(46818),aa=c(31084);c(76204);var ab=c(76360),ac=c(39088),ad=c(69839);function ae(a,b=32){let{clientHeight:c,scrollHeight:d,scrollTop:e}=a;return![c,d,e].every(Number.isFinite)||Math.max(0,d-c-e)<=Math.max(0,b)}c(6694);let af={entries:[],totalEntries:0,windowLimit:120,truncated:!1,sessionStatus:null,approvalState:null,parserState:null,runtimeStatus:null,source:null,error:null,integration:null},ag=[s.A],ah={h1:({children:a})=>(0,d.jsx)("h1",{className:"mb-5 text-[22px] font-semibold tracking-[-0.03em] text-[var(--vk-text-strong)] last:mb-0 sm:text-[28px] lg:text-[36px]",children:a}),h2:({children:a})=>(0,d.jsx)("h2",{className:"mb-4 mt-8 text-[20px] font-semibold tracking-[-0.02em] text-[var(--vk-text-strong)] first:mt-0 last:mb-0",children:a}),h3:({children:a})=>(0,d.jsx)("h3",{className:"mb-3 mt-6 text-[16px] font-semibold text-[var(--vk-text-normal)] first:mt-0 last:mb-0",children:a}),p:({children:a})=>(0,d.jsx)("p",{className:"mb-3 last:mb-0",children:a}),hr:()=>(0,d.jsx)("hr",{className:"my-8 border-0 border-t border-[var(--vk-border)]"}),pre:({children:a})=>(0,d.jsx)("pre",{className:"mb-4 overflow-x-auto rounded-[10px] border border-[var(--vk-border)] bg-[#151413] p-3 text-[12px] text-[var(--vk-text-normal)] last:mb-0",children:a}),code:({children:a,className:b})=>(0,d.jsx)("code",{className:(0,Y.cn)("rounded-[6px] bg-[#171615] px-1.5 py-0.5 font-mono text-[12px] text-[var(--vk-text-normal)]",b),children:a}),ul:({children:a})=>(0,d.jsx)("ul",{className:"mb-3 list-disc pl-5 last:mb-0",children:a}),ol:({children:a})=>(0,d.jsx)("ol",{className:"mb-3 list-decimal pl-5 last:mb-0",children:a}),li:({children:a})=>(0,d.jsx)("li",{className:"mb-1 last:mb-0",children:a}),table:({children:a})=>(0,d.jsx)("div",{className:"mb-4 overflow-x-auto rounded-[12px] border border-[var(--vk-border)]",children:(0,d.jsx)("table",{className:"min-w-full border-collapse text-left text-[13px]",children:a})}),thead:({children:a})=>(0,d.jsx)("thead",{className:"bg-[rgba(255,255,255,0.03)]",children:a}),tbody:({children:a})=>(0,d.jsx)("tbody",{children:a}),tr:({children:a})=>(0,d.jsx)("tr",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:a}),th:({children:a})=>(0,d.jsx)("th",{className:"px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)]",children:a}),td:({children:a})=>(0,d.jsx)("td",{className:"px-4 py-3 align-top text-[13px] text-[var(--vk-text-muted)]",children:a})};function ai(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function aj(a){return"string"==typeof a&&a.trim().length>0?a:null}function ak(a){let b=ai(a),c=aj(b.id),d=aj(b.kind),e="string"==typeof b.text?b.text:"";return c&&d?{id:c,kind:d,label:aj(b.label)??"Session",text:e,createdAt:aj(b.createdAt),attachments:Array.isArray(b.attachments)?b.attachments:[],source:aj(b.source)??"session",streaming:!0===b.streaming,metadata:ai(b.metadata)}:null}function al(a){let b=ai(a),c=aj(b.id),d=aj(b.repo),e=aj(b.path);if(!c||!d||!e)return null;let f=ai(b.pathHealth);return{id:c,displayName:aj(b.displayName)??c,repo:d,path:e,agent:aj(b.agent)??"codex",agentPermissions:aj(b.agentPermissions)??"default",agentModel:aj(b.agentModel)??"",agentReasoningEffort:aj(b.agentReasoningEffort)??"",workspaceMode:aj(b.workspaceMode)??"local",runtimeMode:aj(b.runtimeMode)??"direct",scmMode:aj(b.scmMode)??"git",defaultWorkingDirectory:aj(b.defaultWorkingDirectory)??"",defaultBranch:aj(b.defaultBranch)??"main",devServerScript:aj(b.devServerScript)??"",devServerCwd:aj(b.devServerCwd)??"",devServerUrl:aj(b.devServerUrl)??"",devServerPort:aj(b.devServerPort)??"",devServerHost:aj(b.devServerHost)??"",devServerPath:aj(b.devServerPath)??"",devServerHttps:!0===b.devServerHttps,setupScript:aj(b.setupScript)??"",runSetupInParallel:!0===b.runSetupInParallel,cleanupScript:aj(b.cleanupScript)??"",archiveScript:aj(b.archiveScript)??"",copyFiles:aj(b.copyFiles)??"",pathHealth:{exists:!0===f.exists,isGitRepository:!0===f.isGitRepository,suggestedPath:aj(f.suggestedPath)}}}function am(a,b=84){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(0,b-1)).trimEnd()}…`}function an({value:a,maxLength:b=84,className:c}){let e=a.trim(),g=e.length>b||a.includes("\n"),[h,i]=(0,f.useState)(!1);return g?(0,d.jsx)("button",{type:"button",onClick:()=>i(a=>!a),"aria-expanded":h,title:h?"Collapse text":"Expand text",className:(0,Y.cn)("max-w-full text-left transition-colors hover:bg-[rgba(255,255,255,0.08)]",h?"whitespace-pre-wrap break-words":"truncate",c),children:h?e:am(e,b)}):(0,d.jsx)("span",{className:c,children:e})}function ao(a){let b=(0,ac.h7)(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}let ap=(0,f.memo)(function({text:a}){return(0,d.jsx)(r.o,{remarkPlugins:ag,className:"min-w-0 break-words [overflow-wrap:anywhere]",components:ah,children:a})});function aq({label:a,tone:b="neutral"}){return(0,d.jsxs)("div",{className:(0,Y.cn)("mb-3 flex items-center gap-3 rounded-[10px] border px-3 py-2","prompt"===b?"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.05)] text-[#f4ede7]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-normal)]"),children:[(0,d.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[8px] bg-[rgba(0,0,0,0.22)]",children:(0,d.jsx)(t.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Attached context"})]})]})}function ar({toolKind:a,toolTitle:b,className:c="h-4 w-4"}){let e=b.trim().toLowerCase(),f=a?.trim().toLowerCase()??"";return"thinking"===f||"thinking"===e?(0,d.jsx)(u,{className:(0,Y.cn)(c,"text-[var(--vk-text-normal)]")}):"read"===f||e.startsWith("read ")||e.includes("review request")?(0,d.jsx)(t.A,{className:c}):"write"===f||"edit"===f||"multiedit"===f||e.startsWith("write")||e.startsWith("edit")?(0,d.jsx)(n,{className:c}):"grep"===f||"search"===f||"find"===f?(0,d.jsx)(v.A,{className:c}):"ls"===f||"glob"===f||"open"===f?(0,d.jsx)(w.A,{className:c}):"websearch"===f||"webfetch"===f?(0,d.jsx)(x.A,{className:c}):"task"===f||"todowrite"===f?(0,d.jsx)(k,{className:c}):e.includes("diff")||e.includes("workspace diff")||e.includes("git diff")?(0,d.jsx)(y.A,{className:c}):"bash"===f||"command"===f||e.startsWith("get diff")||e.startsWith("run ")?(0,d.jsx)(z.A,{className:c}):(0,d.jsx)(A.A,{className:c})}function as(a){switch(a){case"create":return"Task created";case"update":return"Task updated";case"handoff":return"Task handed off"}}let at=(0,f.memo)(function({entry:a,assistantAgentLabel:b}){let c,e,g=function(a){if(!a)return null;let b=new Date(a).getTime();if(!Number.isFinite(b))return null;let c=Date.now()-b;return c<6e4?"just now":c<36e5?`${Math.max(1,Math.floor(c/6e4))}m ago`:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(b)}(a.createdAt),i="assistant"===a.kind?b:a.label||"Session",j=a.attachments.map(a=>{let b=ai(a);return aj(b.name)??aj(b.path)??("string"==typeof a?a:null)}).filter(a=>!!a),m=U(a),n=(c=S(a.metadata.toolKind)?.toLowerCase()??null,e=S(a.metadata.toolTitle)?.toLowerCase()??null,"tool"===a.kind?"thinking"===c||"thinking"===e:"status"===a.kind&&("thinking"===c||"thinking"===a.label.trim().toLowerCase())),o="status"===a.kind&&"session-status"===a.source,p=function(a){if("system"!==a.kind)return null;let b=aj(a.metadata.eventType),c=null;if("dispatcher_task_created"===b?c="create":"dispatcher_task_updated"===b?c="update":"dispatcher_task_handed_off"===b&&(c="handoff"),!c)return null;let d=aj(a.metadata.taskId),e=aj(a.metadata.taskRef)??d,f=aj(a.metadata.taskTitle);return d&&e&&f?{operation:c,taskId:d,taskRef:e,taskTitle:f,taskRoleLabel:aj(a.metadata.taskRoleLabel),taskAgent:aj(a.metadata.taskAgent),taskType:aj(a.metadata.taskType)}:null}(a),[q,r]=(0,f.useState)(!1),s=a.streaming?(0,d.jsx)("span",{"aria-hidden":"true",className:"ml-1 inline-block h-4 w-[2px] rounded-full bg-[rgba(240,233,223,0.8)] align-middle animate-pulse"}):null;if(n){let b=m?.lines.length?m.lines:"thinking"===a.text.trim().toLowerCase()||0===a.text.trim().length?[]:[a.text.trim()],c=m?.status==="running"||a.streaming,e=b.length>0;return(0,d.jsxs)("div",{role:c?"status":void 0,"aria-live":c?"polite":void 0,className:"min-w-0 py-1 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(u,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-normal)]"}),(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:c?"Thinking":"Thought"}),c?(0,d.jsx)(Z,{}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),e?(0,d.jsxs)("button",{type:"button",onClick:()=>r(a=>!a),className:"ml-auto inline-flex h-6 items-center gap-1 rounded-[6px] px-1.5 text-[11px] text-[var(--vk-text-muted)] transition-colors hover:bg-[rgba(255,255,255,0.05)] hover:text-[var(--vk-text-normal)]","aria-expanded":q,"aria-label":q?"Hide thinking details":"Show thinking details",children:[(0,d.jsx)("span",{children:q?"Hide":"Details"}),q?(0,d.jsx)(B.A,{className:"h-3 w-3"}):(0,d.jsx)(C.A,{className:"h-3 w-3"})]}):null]}),q?(0,d.jsx)("div",{className:"ml-5 mt-1 space-y-1 border-l border-[var(--vk-border)] pl-3",children:b.map((b,c)=>(0,d.jsx)(an,{value:b,maxLength:220,className:"block font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]"},`${a.id}-thinking-${c}`))}):null]})}if(m){let b="error"===m.status?"Error":"success"===m.status?"Done":"running"===m.status?"Running":"Pending",c="error"===m.status?"text-[var(--vk-red)]":"success"===m.status?"text-[var(--vk-green)]":"text-[var(--vk-text-muted)]",e="error"===m.status?(0,d.jsx)(D.A,{className:"h-3.5 w-3.5"}):"success"===m.status?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}):"running"===m.status?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"}),f=m.lines.length>0,g=m.preview?am(m.preview,96):null;return(0,d.jsxs)("div",{role:"running"===m.status?"status":void 0,"aria-live":"running"===m.status?"polite":void 0,className:"min-w-0 py-1 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(ar,{toolKind:m.kind,toolTitle:m.title,className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"max-w-[9rem] shrink-0 truncate font-medium text-[var(--vk-text-normal)]",children:m.title||"Tool call"}),g?(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-[var(--vk-text-muted)]",children:g}):(0,d.jsx)("span",{className:"min-w-0 flex-1"}),(0,d.jsxs)("span",{className:(0,Y.cn)("inline-flex shrink-0 items-center gap-1 text-[11px]",c),children:[e,(0,d.jsx)("span",{children:b})]}),f?(0,d.jsx)("button",{type:"button",onClick:()=>r(a=>!a),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] transition-colors hover:bg-[rgba(255,255,255,0.05)] hover:text-[var(--vk-text-normal)]","aria-expanded":q,"aria-label":q?"Hide tool details":"Show tool details",children:q?(0,d.jsx)(B.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(C.A,{className:"h-3.5 w-3.5"})}):null]}),q?(0,d.jsx)("div",{className:"ml-5 mt-1 max-h-56 space-y-1 overflow-y-auto border-l border-[var(--vk-border)] pl-3 pr-1",children:m.lines.map((b,c)=>(0,d.jsx)(an,{value:b,maxLength:220,className:"block font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]"},`${a.id}-${c}`))}):null]})}return p?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(k,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:as(p.operation)}),g?(0,d.jsx)("span",{className:"ml-auto text-[11px]",children:g}):null]}),(0,d.jsxs)("div",{className:"rounded-[12px] border border-[rgba(129,101,83,0.35)] bg-[rgba(62,47,40,0.72)] px-4 py-3 text-[15px] leading-6 text-[#efe4dc]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"text-[12px] font-medium uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:as(p.operation)}),(0,d.jsx)("p",{className:"mt-1 break-words text-[16px] font-semibold text-[#fff5ee]",children:p.taskTitle})]}),(0,d.jsx)("span",{className:"rounded-full border border-[rgba(255,255,255,0.12)] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium text-[#fff5ee]",children:p.taskRef})]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-[11px] text-[rgba(255,255,255,0.72)]",children:[p.taskRoleLabel?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:p.taskRoleLabel}):null,p.taskAgent?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:ao(p.taskAgent)}):null,p.taskType?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:p.taskType}):null]})]})]}):o?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("div",{className:"rounded-[22px] border border-[rgba(113,84,68,0.45)] bg-[rgba(54,40,34,0.9)] px-4 py-3 text-[15px] leading-7 text-[#efe4dc] shadow-[0_8px_18px_rgba(0,0,0,0.14)]",children:(0,d.jsx)(ap,{text:a.text})}),g?(0,d.jsx)("div",{className:"text-right text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):"user"===a.kind?(0,d.jsxs)("div",{className:"ml-auto max-w-[88%]",children:[(0,d.jsxs)("div",{className:"rounded-[14px] border border-[rgba(124,94,78,0.45)] bg-[rgba(52,39,35,0.92)] px-4 py-3 text-[#f1e7e0] shadow-[0_10px_24px_rgba(0,0,0,0.18)]",children:[j.map(b=>(0,d.jsx)(aq,{label:b,tone:"prompt"},`${a.id}-${b}`)),(0,d.jsx)("div",{className:"text-[15px] leading-7 text-[#f4ede7]",children:(0,d.jsx)(ap,{text:a.text})})]}),g?(0,d.jsx)("div",{className:"mt-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):"assistant"===a.kind?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"text-[15px] leading-8 text-[var(--vk-text-normal)]",children:[j.map(b=>(0,d.jsx)(aq,{label:b},`${a.id}-${b}`)),(0,d.jsx)(ap,{text:a.text}),s]}),g?(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["status"===a.kind?(0,d.jsx)(E.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(D.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:i}),g?(0,d.jsx)("span",{className:"ml-auto text-[11px]",children:g}):null]}),(0,d.jsxs)("div",{className:(0,Y.cn)("rounded-[12px] border px-4 py-3 text-[15px] leading-7","border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"),children:[j.map(b=>(0,d.jsx)(aq,{label:b},`${a.id}-${b}`)),(0,d.jsx)(ap,{text:a.text})]})]})});function au({project:a,disabled:b=!1,saving:c=!1,agents:f=[],onChange:g}){let i=a?.agent?.trim()||"codex",j=f.find(a=>a.name.toLowerCase()===i.toLowerCase()),k=!j||(j.installed??!0),m=f&&f.length>0?f:ac.pN;return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:b||!a,className:"inline-flex h-10 w-full min-w-0 max-w-full items-center justify-between gap-3 rounded-[8px] border border-[var(--vk-accent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_88%,black_12%)] px-3 text-left text-[13px] text-white shadow-[0_10px_24px_rgba(0,0,0,0.18)] transition hover:bg-[var(--accent-hover)] disabled:cursor-not-allowed disabled:opacity-60 sm:min-w-[220px] sm:w-auto","aria-label":"Select coding agent",title:a?`Coding agent: ${ao(i)}`:"Project agent unavailable",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(N.N,{seed:{label:i},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsxs)("span",{className:"truncate flex items-center gap-1.5",children:[c?"Saving agent…":`Coding Agent \xb7 ${ao(i)}`,!k&&(0,d.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full bg-[var(--vk-orange)] animate-pulse",title:"Not installed"})]})]}),c?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(C.A,{className:"h-4 w-4 shrink-0"})]})}),(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{align:"start",sideOffset:8,className:"z-50 min-w-[250px] max-w-[calc(100vw-2rem)] rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:[(0,d.jsx)("p",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Coding agent"}),m.map(a=>{let b=a.name===i,c=a.installed??!0;return(0,d.jsxs)(e.q7,{onSelect:()=>g(a.name),className:"flex min-h-[46px] cursor-default items-center gap-3 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,d.jsx)(N.N,{seed:{label:a.name},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a.label||a.name}),c?(0,d.jsx)("span",{className:"inline-flex items-center rounded-full bg-[color:color-mix(in_srgb,var(--vk-green)_15%,transparent)] px-1.5 py-0.5 text-[9px] font-medium text-[var(--vk-green)] border border-[color:color-mix(in_srgb,var(--vk-green)_25%,transparent)]",children:"Ready"}):(0,d.jsx)("span",{className:"inline-flex items-center rounded-full bg-[color:color-mix(in_srgb,var(--vk-text-muted)_20%,transparent)] px-1.5 py-0.5 text-[9px] font-medium text-[var(--vk-text-muted)] border border-[rgba(255,255,255,0.05)]",children:"Not Installed"})]}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.6)]",children:a.description})]}),b?(0,d.jsx)(l.A,{className:"h-4 w-4 text-white"}):null]},a.name)})]})})]})}let av="approval_required",aw=new Set(["queued","spawning","running","working"]),ax=["## proposed plan","## intended board mutations","## intended tool calls","## task packet","task packet","board mutations"],ay=["approve this plan","approve the plan","approve this proposal","request changes","plan-only mode","paused before mutating the board","approve it or request changes","ask for explicit approval","explicit approval"],az=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Spacebar"]);function aA({session:a,bridgeId:b=null,active:c=!0,onClose:e,onToggleCollapse:g,className:i,hideOpenSessionAction:j=!1,hideRepositoryControls:k=!1,hideSessionStatusBadge:m=!1,headerActions:n=null,composerInsert:o=null,composerToolbar:r=null,composerSettings:s=null,apiPaths:u}){let w=(0,q.useRouter)(),[x,y]=(0,f.useState)(af),[z,A]=(0,f.useState)(!0),[B,E]=(0,f.useState)(null),[R,ag]=(0,f.useState)(!1),[ah,am]=(0,f.useState)(""),[ap,aq]=(0,f.useState)([]),[ar,as]=(0,f.useState)(null),[aB,aC]=(0,f.useState)(!1),[aD,aE]=(0,f.useState)(null),[aF,aG]=(0,f.useState)(!0),[aH,aI]=(0,f.useState)(null),[aJ,aK]=(0,f.useState)(!1),{agents:aL=[]}=(0,ad._)(b),[aM,aN]=(0,f.useState)(!1),[aO,aP]=(0,f.useState)(!1),[aQ,aR]=(0,f.useState)(""),[aS,aT]=(0,f.useState)(!1),[aU,aV]=(0,f.useState)(null),[aW,aX]=(0,f.useState)([]),[aY,aZ]=(0,f.useState)(!1),[a$,a_]=(0,f.useState)(null),[a0,a1]=(0,f.useState)(null),[a2,a3]=(0,f.useState)(()=>V()),a4="project_dispatcher"===a.metadata.sessionKind,a5=(0,f.useMemo)(()=>(0,ab.qK)({sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null}),[a.agent,a.metadata.agent]),a6=(0,f.useMemo)(()=>ao(a5??"assistant"),[a5]),a7=(0,f.useMemo)(()=>(0,ab.uP)({isDispatcher:a4,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:aD?.agent??null}),[a4,aD?.agent,a.agent,a.metadata.agent]),a8=(0,f.useMemo)(()=>aL.find(a=>a.name.toLowerCase()===a7.toLowerCase()),[aL,a7]),a9=(0,f.useMemo)(()=>!a8||(a8.installed??!0),[a8]),ba=(0,f.useRef)(null),bb=(0,f.useRef)(null),bc=(0,f.useRef)(null);(0,f.useRef)([]);let[bd,be]=(0,f.useState)(!0),bf=(0,f.useRef)(V()),bg=(0,f.useRef)(0),bh=(0,f.useRef)(0),bi=(0,f.useRef)(0),bj=(0,f.useRef)(x),bk=(0,f.useRef)(a$),bl=c&&bd;(0,f.useRef)(Date.now());let bm=(0,f.useRef)(null),bn=(0,f.useRef)(null);(0,f.useRef)(null);let bo=(0,f.useRef)(0),bp=(0,f.useRef)(0),bq=(0,f.useRef)(0);(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0);let br=(0,f.useRef)(0),bs=(0,f.useRef)(!1),bt=(0,f.useRef)(null);(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0);let bu=(0,f.useCallback)(a=>{a3(b=>{let c="function"==typeof a?a(b):a,d=b.followLatest===c.followLatest&&b.showJumpToLatest===c.showJumpToLatest&&b.unseenCount===c.unseenCount&&b.unseenEntryIds.length===c.unseenEntryIds.length&&b.unseenEntryIds.every((a,b)=>a===c.unseenEntryIds[b])?b:c;return bf.current=d,d})},[]),bv=(0,f.useCallback)(()=>{let a=V();bf.current=a,a3(a)},[]),bw=(0,f.useCallback)(()=>{null!==bt.current&&(window.clearTimeout(bt.current),bt.current=null)},[]),bx=(0,f.useCallback)(()=>{bi.current=performance.now()+320},[]),by=(0,f.useCallback)(a=>{let b=bb.current;if(!b)return;let c=bg.current;bh.current+=1,a?b.scrollTo({top:b.scrollHeight,behavior:a}):b.scrollTo({top:b.scrollHeight}),window.requestAnimationFrame(()=>{let a=bb.current;if(!a){bh.current=Math.max(0,bh.current-1);return}bu(b=>W(b,{nearBottom:ae(a),previousScrollTop:c,scrollTop:a.scrollTop,isUserInitiated:!1})),bg.current=a.scrollTop,bh.current=Math.max(0,bh.current-1)})},[bu]),bz=(0,f.useMemo)(()=>({feed:u.feed,stream:u.stream,send:u.send,interrupt:u.interrupt??null,approve:u.approve??null,reject:u.reject??null,contextFiles:u.contextFiles??"/api/context-files",repositories:u.repositories??"/api/repositories"}),[u]);(0,f.useMemo)(()=>{var b,c;let d;return b=bz.contextFiles,c=a.projectId,(d=new URL(b,"http://localhost")).searchParams.set("projectId",c),`${d.pathname}${d.search}${d.hash}`},[a.projectId,bz.contextFiles]);let bA=(0,f.useMemo)(()=>{if("project_dispatcher"===a.metadata.sessionKind)return`Dispatcher / ${a.projectId}`;let b=a.issueId?.trim()||a.projectId,c=a.branch?.trim()||(0,$.kV)(a.id).slice(0,8);return`${b} / ${c}`},[a.branch,a.id,a.issueId,a.metadata.sessionKind,a.projectId]),bB=(0,f.useMemo)(()=>ao(a4?a5??"agent":aD?.agent?.trim()||a5||"agent"),[a5,a4,aD?.agent]),bC=(0,f.useMemo)(()=>{let a,b,c;return a0&&!T(a0)&&T(x.sessionStatus)?(a=!1,b=x.entries.map(b=>{let c=b;if(b.streaming&&(c={...c,streaming:!1}),"tool"===b.kind){let a=S(b.metadata.toolStatus)?.trim().toLowerCase()??"";("running"===a||"working"===a)&&(c={...c,metadata:{...c.metadata,toolStatus:"error"}})}return c!==b&&(a=!0),c}),c=T(x.sessionStatus)?"killed":x.sessionStatus,a||c!==x.sessionStatus?{...x,entries:b,parserState:null,sessionStatus:c}:x):x},[a0,x]),bD=(0,f.useMemo)(()=>a$||aB?"working":a0?.trim()||bC.sessionStatus?.trim()||a.status,[a0,a$,bC.sessionStatus,aB,a.status]),bE=(0,f.useMemo)(()=>bD.trim().toLowerCase(),[bD]),bF=(0,f.useMemo)(()=>a$&&a$&&null===function(a,b){let c=[...b.attachments].sort(),d=b.feedBaselineLastEntryId?a.entries.findIndex(a=>a.id===b.feedBaselineLastEntryId):-1;for(let f=0;f<a.entries.length;f+=1){var e;let g=a.entries[f];if(g?.kind!=="user")continue;let h=g.attachments.map(a=>"string"==typeof a?S(a):!a||"object"!=typeof a||Array.isArray(a)?null:S(a.path)??S(a.name)).filter(a=>null!==a).sort();if(!(g.text.trim()===b.text.trim()&&h.length===c.length&&h.every((a,b)=>a===c[b])))continue;let i=(e=f,Math.max(a.totalEntries-a.entries.length,0)+e);if(d>=0?f>d:i>=b.feedBaselineTotalEntries)return g}return null}(bC,a$)?[...bC.entries,{id:a$.id,kind:"user",label:"You",text:a$.text,createdAt:a$.createdAt,attachments:a$.attachments.map(a=>({path:a})),source:"optimistic",streaming:!1,metadata:{}}]:[...bC.entries],[a$,bC]),bG=bC.approvalState??a.metadata.acpPlanApprovalState??null,bH=(0,f.useMemo)(()=>a4&&function(a,b,c,d){if(b!==av)return!1;if(d?.kind===av)return!0;if(c?.trim().toLowerCase()!=="needs_input")return!1;for(let b=a.length-1;b>=0;b--){let c=a[b];if("tool"!==c.kind&&"status"!==c.kind&&"system"!==c.kind){if("user"===c.kind)return!1;if("assistant"===c.kind)return function(a){let b=a.trim().toLowerCase();if(b.length<160)return!1;let c=ax.reduce((a,c)=>a+ +!!b.includes(c),0),d=ay.reduce((a,c)=>a+ +!!b.includes(c),0);return c>=2&&d>=1}(c.text)}}return!1}(bF,bG,bD,bC.parserState),[bG,a4,bC.parserState,bD,bF]),bI=!!bz.interrupt&&aw.has(bE),bJ=a4&&bI,bK=bI&&!bJ,bL=!k||!m||bK,bM="archived"!==a.status&&!(a4&&bI),bN=(0,f.useMemo)(()=>{var a;return!!(a={message:ah,attachments:ap,canContinue:bM,sending:aB,isActiveInstalled:a9}).canContinue&&!a.sending&&!!a.isActiveInstalled&&(a.message.trim().length>0||P(a.attachments).length>0)},[bM,ah,ap,a9,aB]),bO=(0,f.useMemo)(()=>(function(a,b){if(!T(b))return!1;let c=function(a){for(let b=a.length-1;b>=0;b-=1)if(a[b]?.kind==="user")return b;return -1}(a);return!(c<0)&&!a.slice(c+1).some(a=>{if(a.streaming)return!0;let b=U(a);return b?.status==="running"||b?.status==="pending"})})(bF,bD),[bD,bF]),bP=(0,f.useMemo)(()=>a4&&"errored"===bE?bC.error?.trim()||null:null,[a4,bE,bC.error]),bQ=(0,f.useMemo)(()=>new Map(aW.map(a=>[a.path,a])),[aW]),bR=(0,f.useMemo)(()=>(function(a,b){let c=b.trim().toLowerCase(),d=c?a.filter(a=>`${a.path} ${a.displayPath??""} ${a.name} ${a.source??""}`.toLowerCase().includes(c)):[...a],e=new Map;for(let a of d)e.has(a.path)||e.set(a.path,a);return[...e.values()]})(aW,aQ),[aW,aQ]),bS=(0,f.useMemo)(()=>ap.map(a=>({path:a,label:Q(a,bQ.get(a))})),[bQ,ap]),bT=!!B&&R,bU=!!B&&!bT;(0,f.useCallback)(async()=>{if(k){aE(null),aI(null),aG(!1);return}aG(!0),aI(null);try{let c=await fetch((0,_.S)(bz.repositories,b),{cache:"no-store"}),d=ai(await c.json().catch(()=>null));if(!c.ok)throw Error(aj(d.error)??`Failed to load project settings (${c.status})`);let e=Array.isArray(d.repositories)?d.repositories.map(al).find(b=>null!==b&&b.id===a.projectId)??null:null;aE(e),e||aI("Project settings were not found for this session.")}catch(a){aE(null),aI(a instanceof Error?a.message:"Failed to load project settings")}finally{aG(!1)}},[b,k,a.projectId,bz.repositories]);let bV=(0,f.useCallback)(async(a={})=>{let c=a.showLoading??!0,d=!0===a.preserveExistingOnError,e=void 0===a.pendingEntry?bk.current:a.pendingEntry,f=bo.current+1;bo.current=f;let g=br.current;bp.current+=1,c&&A(!0),E(null),ag(!1);try{var h;let a,c,d,e,i=await fetch((0,_.S)(bz.feed,b),{cache:"no-store"}),j=(h=await i.json().catch(()=>null),e=ai(h),{entries:Array.isArray(e.entries)?e.entries.map(ak).filter(a=>null!==a):[],totalEntries:"number"==typeof e.totalEntries?e.totalEntries:0,windowLimit:"number"==typeof e.windowLimit?e.windowLimit:120,truncated:!0===e.truncated,sessionStatus:aj(e.sessionStatus),approvalState:aj(e.approvalState),parserState:(a=ai(e.parserState),(c=aj(a.kind))?{kind:c,message:"string"==typeof a.message?a.message:"",command:aj(a.command)}:null),runtimeStatus:(d=ai(e.runtimeStatus),0===Object.keys(d).length?null:d),source:aj(e.source),error:aj(e.error),integration:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=ai(a.openclaw),c=ai(a.heartbeat),d=ai(a.memory),e=aj(a.projectId),f=aj(a.threadId);return e&&f?{projectId:e,threadId:f,bridgeId:null===a.bridgeId?null:aj(a.bridgeId),openclaw:{threadId:null===b.threadId?null:aj(b.threadId),sessionId:null===b.sessionId?null:aj(b.sessionId)},heartbeat:{state:null===c.state?null:aj(c.state),nextAt:null===c.nextAt?null:aj(c.nextAt)},memory:{projectPath:null===d.projectPath?null:aj(d.projectPath),sessionPath:null===d.sessionPath?null:aj(d.sessionPath)}}:null}(e.integration)});if(bo.current!==f||br.current!==g)return;if(!i.ok)throw Error(j.error??`Failed to load session feed (${i.status})`);let k=Date.now();null===bm.current&&(bm.current=k),bn.current=k,bj.current=j,y(j)}catch(b){if(bq.current+=1,bo.current!==f||br.current!==g)return;let a=b instanceof Error?b.message:"Failed to load session feed";ag(function(a,b={}){return!b.preserveExistingOnError||!(a.entries.length>0||b.pendingEntry||a.totalEntries>0||T(a.sessionStatus)||a.approvalState||a.parserState||a.runtimeStatus||a.truncated||a.error)}(bj.current,{preserveExistingOnError:d,pendingEntry:e})),E(a)}finally{bo.current===f&&A(!1)}},[b,bz.feed]),bW=(0,f.useCallback)(a=>{let b=bg.current,c=a.currentTarget;if(bg.current=c.scrollTop,bh.current>0)return;let d=performance.now();bu(a=>{var e;return W(a,{nearBottom:ae(c),previousScrollTop:b,scrollTop:c.scrollTop,isUserInitiated:(e=bi.current,Number.isFinite(e)&&e>0&&d<=e)})})},[bu]),bX=(0,f.useCallback)(a=>{a.buttons>0&&bx()},[bx]),bY=(0,f.useCallback)(a=>{a.altKey||a.ctrlKey||a.metaKey||az.has(a.key)&&bx()},[bx]),bZ=(0,f.useCallback)(a=>{aq(b=>{let c=P(b);return c.includes(a)?c.filter(b=>b!==a):[...c,a]})},[]),b$=(0,f.useCallback)(a=>{aq(b=>b.filter(b=>b!==a))},[]),b_=(0,f.useCallback)(async(a,c)=>{let d=P(c);if(0===a.trim().length&&0===d.length||aB||bs.current)return!1;bs.current=!0;let e=bj.current,f={id:`pending-${Date.now()}`,text:a.trim(),attachments:d,createdAt:new Date().toISOString(),feedBaselineTotalEntries:e.totalEntries,feedBaselineLastEntryId:e.entries[e.entries.length-1]?.id??null};bw(),bv(),bk.current=f,a_(f),aC(!0),as(null);try{let c,e=await fetch((0,_.S)(bz.send,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((c=P(d)).length>0?{message:a.trim(),attachments:c}:{message:a.trim()})}),g=await e.json().catch(()=>null);if(!e.ok)throw Error(aj(ai(g).error)??`Failed to send message (${e.status})`);let h=br.current;return bt.current=window.setTimeout(()=>{bt.current=null,bk.current?.id!==f.id||br.current===h&&bV({showLoading:!1,preserveExistingOnError:!0,pendingEntry:f})},1500),!0}catch(a){return bw(),bk.current?.id===f.id&&(bk.current=null),a_(a=>a?.id===f.id?null:a),as(a instanceof Error?a.message:"Failed to send message"),!1}finally{bs.current=!1,aC(!1)}},[b,bw,bV,bv,aB,bz.send]),b0=(0,f.useCallback)(async()=>{!bN||await b_(ah,ap)&&(am(""),aq([]),aP(!1))},[bN,ah,ap,b_]),b1=(0,f.useCallback)(async a=>{let c="approve"===a?bz.approve:bz.reject;if(!c)return void await b_(a,[]);aC(!0),as(null);try{let d=await fetch((0,_.S)(c,b),{method:"POST"}),e=ai(await d.json().catch(()=>null));if(!d.ok)throw Error(aj(e.error)??`Failed to ${a} plan (${d.status})`);am(""),bV({showLoading:!1,preserveExistingOnError:!0})}catch(b){as(b instanceof Error?b.message:`Failed to ${a} plan`)}finally{aC(!1)}},[b,bV,b_,bz.approve,bz.reject]),b2=(0,f.useCallback)(a=>{var b;let c="function"==typeof window.matchMedia&&window.matchMedia(O.In).matches;"Enter"!==(b={key:a.key,shiftKey:a.shiftKey,isComposing:a.nativeEvent.isComposing,isDesktopXl:c}).key||b.shiftKey||b.isComposing||b.isDesktopXl||(a.preventDefault(),bN&&b0())},[bN,b0]),b3=(0,f.useCallback)(async a=>{if(aD&&!aJ&&a!==aD.agent){aK(!0),aI(null);try{let c=await fetch((0,_.S)(bz.repositories,b),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...aD,agent:a})}),d=ai(await c.json().catch(()=>null));if(!c.ok)throw Error(aj(d.error)??`Failed to update coding agent (${c.status})`);let e=al(d.repository);e?aE(e):aE(b=>b?{...b,agent:a}:b)}catch(a){aI(a instanceof Error?a.message:"Failed to update coding agent")}finally{aK(!1)}}},[b,aD,aJ,bz.repositories]),b4=(0,f.useCallback)(async()=>{if(!bz.interrupt)return;aC(!0),as(null);let a=!0;try{let c=await fetch((0,_.S)(bz.interrupt,b),{method:"POST"}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(aj(ai(d).error)??`Failed to interrupt session (${c.status})`);bk.current=null,a_(null),a1("killed");let e=bV({showLoading:!1,preserveExistingOnError:!0,pendingEntry:null});aC(!1),a=!1,await e}catch(a){as(a instanceof Error?a.message:"Failed to interrupt session")}finally{a&&aC(!1)}},[b,bV,bz.interrupt]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("aside",{className:(0,Y.cn)("flex min-h-0 w-full min-w-0 shrink-0 flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:w-[405px] xl:border-l xl:border-t-0",O.mq,i),children:[(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] pl-14 pr-3 text-[12px] text-[var(--vk-text-muted)] sm:px-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:bA}),(0,d.jsx)("span",{className:(0,Y.cn)("inline-flex items-center rounded-[999px] px-2 py-0.5 text-[10px] uppercase tracking-wide",bl?"bg-[color:color-mix(in_srgb,var(--vk-green)_18%,transparent)] text-[var(--vk-green)]":"bg-[color:color-mix(in_srgb,var(--vk-text-muted)_12%,transparent)] text-[var(--vk-text-muted)]"),children:bl?"live":"paused"}),n,g?(0,d.jsx)("button",{type:"button",onClick:g,className:"hidden h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:inline-flex","aria-label":"Collapse dispatcher",title:"Collapse dispatcher",children:(0,d.jsx)(F.A,{className:"h-3.5 w-3.5"})}):null,j?null:(0,d.jsx)("button",{type:"button",onClick:()=>w.push((0,aa.s)(a.id,{bridgeId:b,tab:null})),className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open full session",children:(0,d.jsx)(G.A,{className:"h-3.5 w-3.5"})}),e?(0,d.jsx)("button",{type:"button",onClick:e,className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Close docked session",children:(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{ref:bb,role:"region","aria-label":"Dispatcher conversation",tabIndex:0,onScroll:bW,onWheelCapture:bx,onTouchStartCapture:bx,onTouchMoveCapture:bx,onPointerDownCapture:bx,onPointerMoveCapture:bX,onKeyDownCapture:bY,className:(0,Y.cn)(O.tV,"px-3 py-4 sm:px-4"),children:z?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher activity..."]}):bT?(0,d.jsx)("div",{className:"rounded-[12px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:B}):(0,d.jsxs)("div",{ref:bc,className:"space-y-5",children:[bU?(0,d.jsx)("div",{className:"rounded-[12px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:B}):null,bC.parserState||bC.truncated?(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-2 text-[12px] text-[var(--vk-text-muted)]",children:[bC.parserState?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2 py-0.5",children:[(0,d.jsx)(h.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:bC.parserState.kind})]}),bC.parserState.command?(0,d.jsx)(an,{value:bC.parserState.command,maxLength:72,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px]"}):null]}):null,bC.truncated?(0,d.jsxs)(d.Fragment,{children:[bC.parserState?(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}):null,(0,d.jsxs)("span",{children:["Showing latest ",bC.windowLimit]})]}):null]}):null,0!==bF.length||bO?(0,d.jsxs)(d.Fragment,{children:[bF.map(a=>(0,d.jsx)("div",{className:"tool"===a.kind?"!mt-1.5":void 0,children:(0,d.jsx)(at,{entry:a,assistantAgentLabel:a6})},a.id)),bO?(0,d.jsxs)("div",{role:"status","aria-live":"polite",className:"flex items-center gap-2 py-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(Z,{}),(0,d.jsx)("span",{children:"Dispatcher is working…"})]}):null]}):a9?(0,d.jsx)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"No dispatcher activity yet."}):(0,d.jsxs)("div",{className:"relative overflow-hidden rounded-[16px] border border-[color:color-mix(in_srgb,var(--vk-orange)_25%,rgba(255,255,255,0.06))] bg-[rgba(25,23,22,0.65)] p-5 shadow-[0_15px_40px_rgba(0,0,0,0.35)] backdrop-blur-md transition-all duration-300 hover:border-[color:color-mix(in_srgb,var(--vk-orange)_40%,rgba(255,255,255,0.1))]",children:[(0,d.jsx)("div",{className:"pointer-events-none absolute right-0 top-0 h-40 w-40 bg-[radial-gradient(circle_at_top_right,color-mix(in_srgb,var(--vk-orange)_12%,transparent),transparent_70%)]"}),(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"shrink-0 rounded-[10px] border border-[color:color-mix(in_srgb,var(--vk-orange)_25%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_15%,transparent)] p-2 text-[var(--vk-orange)]",children:(0,d.jsx)(D.A,{className:"h-5 w-5 animate-pulse"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("h4",{className:"text-[14px] font-semibold tracking-wide text-[#f5ebd7]",children:"Coding Agent Setup Required"}),(0,d.jsxs)("p",{className:"mt-1.5 text-[12px] leading-5 text-[rgba(255,255,255,0.7)]",children:["The selected agent ",(0,d.jsx)("strong",{className:"text-white",children:ao(a7)})," is not installed or configured on your system. Conductor orchestrates tasks by dispatching them to this agent."]})]})]}),a8?.installHint||(0,ac.h7)(a7)?.installHint?(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Installation Command"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.25)] p-2 font-mono text-[12px] text-[#e0dacb]",children:[(0,d.jsx)(I,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.4)]"}),(0,d.jsx)("span",{className:"flex-1 truncate select-all",children:a8?.installHint||(0,ac.h7)(a7)?.installHint}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=a8?.installHint||(0,ac.h7)(a7)?.installHint;a&&navigator.clipboard.writeText(a).then(()=>{aN(!0),setTimeout(()=>aN(!1),2e3)}).catch(a=>{console.error("Failed to copy installation command to clipboard:",a)})},className:"rounded-[4px] p-1 text-[var(--vk-text-muted)] transition hover:bg-[rgba(255,255,255,0.06)] hover:text-white",title:"Copy install command",children:aM?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-[var(--vk-green)]"}):(0,d.jsx)(J.A,{className:"h-3.5 w-3.5"})})]})]}):null,(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-x-4 gap-y-2 border-t border-[rgba(255,255,255,0.06)] pt-3.5",children:[a8?.homepage||(0,ac.h7)(a7)?.homepage?(0,d.jsxs)("a",{href:a8?.homepage||(0,ac.h7)(a7)?.homepage||void 0,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-[11px] text-[var(--vk-accent)] hover:underline",children:[(0,d.jsx)("span",{children:"Visit homepage"}),(0,d.jsx)(G.A,{className:"h-3 w-3"})]}):null,a8?.setupUrl||(0,ac.h7)(a7)?.setupUrl?(0,d.jsxs)("a",{href:a8?.setupUrl||(0,ac.h7)(a7)?.setupUrl||void 0,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-[11px] text-[var(--vk-accent)] hover:underline",children:[(0,d.jsx)("span",{children:"Setup credentials"}),(0,d.jsx)(G.A,{className:"h-3 w-3"})]}):null]}),aL.filter(a=>!1!==a.installed&&a.name!==a7).length>0?(0,d.jsxs)("div",{className:"mt-4 border-t border-[rgba(255,255,255,0.06)] pt-3",children:[(0,d.jsx)("div",{className:"mb-2 text-[11px] text-[rgba(255,255,255,0.5)]",children:"Or switch to an installed agent ready on your system:"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:aL.filter(a=>!1!==a.installed&&a.name!==a7).map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>void b3(a.name),className:"inline-flex items-center gap-1.5 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2 py-1 text-[11px] text-[#f3efea] transition hover:border-[rgba(255,255,255,0.15)] hover:bg-[rgba(255,255,255,0.08)]",children:[(0,d.jsx)(N.N,{seed:{label:a.name},className:"h-3.5 w-3.5 border-none bg-transparent"}),(0,d.jsx)("span",{children:a.label||a.name}),(0,d.jsx)(K.A,{className:"ml-0.5 h-2.5 w-2.5 opacity-60"})]},a.name))})]}):null]})]})}),(0,d.jsxs)("div",{className:"border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-3 sm:px-4 sm:pb-4",children:[bL?(0,d.jsxs)("div",{className:"mb-3 flex min-w-0 flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[k?null:(0,d.jsx)(au,{project:aD,disabled:aF,saving:aJ,agents:aL,onChange:a=>void b3(a)}),m?null:(0,d.jsxs)("div",{className:(0,Y.cn)("inline-flex w-fit max-w-full items-center gap-2 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-1 text-[11px] text-[var(--vk-text-muted)]",k?null:"sm:ml-auto"),children:[(0,d.jsx)(N.N,{seed:{label:bB},className:"h-4 w-4 border-none bg-transparent"}),(0,d.jsx)("span",{children:bB}),(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.jsx)("span",{children:bD})]}),bK?(0,d.jsxs)(X.$,{type:"button",variant:"outline",size:"sm",disabled:aB,onClick:()=>void b4(),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[aB?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Stop"})]}):null]}):null,a2.showJumpToLatest?(0,d.jsx)("div",{className:"mb-2 flex justify-end",children:(0,d.jsxs)(X.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{bv(),by("smooth")},className:"h-[30px] rounded-[999px] border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 text-[12px]",children:["Jump to latest",a2.unseenCount>0?` \xb7 ${a2.unseenCount} new`:""]})}):null,aH?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(D.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:aH})]}):null,ar?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(D.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:ar})]}):null,bH?(0,d.jsxs)("div",{className:"mb-3 rounded-[12px] border border-[rgba(204,163,92,0.35)] bg-[rgba(64,49,27,0.58)] px-3 py-3 text-[12px] text-[#f1e3bf]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#f6ead0]",children:[(0,d.jsx)(D.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Plan-only review ready"})]}),(0,d.jsx)("p",{className:"mt-2 leading-5 text-[#dccba1]",children:"The dispatcher is paused before mutating the board for this turn. Review the proposal above, then approve it or request changes."}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(X.$,{type:"button",size:"sm",disabled:!bM||aB,onClick:()=>void b1("approve"),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.08)] bg-[#e6c786] px-3 text-[13px] text-[#22170d] hover:bg-[#edd39d]",children:[aB?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Approve plan"})]}),(0,d.jsxs)(X.$,{type:"button",variant:"outline",size:"sm",disabled:!bM||aB,onClick:()=>void b1("reject"),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Request changes"})]})]})]}):null,bP?(0,d.jsxs)("div",{className:"mb-3 rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(82,27,27,0.5)] px-3 py-3 text-[12px] text-[#f3c5c5]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#ffd7d7]",children:[(0,d.jsx)(D.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Dispatcher runtime exited"})]}),(0,d.jsx)("p",{className:"mt-2 leading-5 text-[#f0bcbc]",children:"Use the dispatcher settings below to change the runtime, then retry your message."}),(0,d.jsx)("p",{className:"mt-2 rounded-[8px] bg-[rgba(0,0,0,0.18)] px-2.5 py-2 font-mono text-[11px] text-[#ffe4e4]",children:bP})]}):null,(0,d.jsxs)("form",{onSubmit:a=>{a.preventDefault(),b0()},className:"rounded-[28px] border border-[rgba(255,255,255,0.08)] bg-[#141212]/95 px-3 py-3 shadow-[0_18px_48px_rgba(0,0,0,0.24)] backdrop-blur-sm",children:[bS.length>0?(0,d.jsx)("div",{className:"mb-2.5 flex flex-wrap gap-2",children:bS.map(a=>(0,d.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1.5 rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-3 py-1 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsx)(t.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.label}),(0,d.jsx)("button",{type:"button",onClick:()=>b$(a.path),className:"inline-flex h-4 w-4 items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[rgba(255,255,255,0.08)] hover:text-[var(--vk-text-normal)]","aria-label":`Remove attachment ${a.label}`,children:(0,d.jsx)(H.A,{className:"h-3 w-3"})})]},a.path))}):null,r?(0,d.jsx)("div",{className:"mb-2.5 hidden xl:block",children:r}):null,(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>aP(!0),disabled:aB,className:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Add workspace attachment",children:(0,d.jsx)(L.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("textarea",{ref:ba,value:ah,onChange:a=>am(a.target.value),onKeyDown:b2,onFocus:()=>{bf.current.followLatest&&by()},placeholder:a9?"Ask the dispatcher to shape work, create tasks, or send attachments…":`Please install ${ao(a7)} or switch agents to send messages...`,disabled:!bM||aB||!a9,rows:1,className:"max-h-[160px] w-full resize-none overflow-y-hidden bg-transparent text-[15px] leading-6 text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)] disabled:opacity-60 sm:text-[16px]"}),(0,d.jsxs)("div",{className:"mt-2 flex min-w-0 items-center gap-2 xl:hidden",children:[s?(0,d.jsxs)("button",{type:"button",onClick:()=>aZ(!0),className:(0,Y.cn)("inline-flex min-w-0 max-w-full items-center gap-2 rounded-full border px-3 py-1.5 text-[11px] font-medium transition",s.error?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[#ffd7d7]":"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[var(--vk-text-normal)] hover:bg-[rgba(255,255,255,0.08)]"),"aria-label":"Open dispatcher settings",children:[s.pending?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}):null,(0,d.jsx)("span",{className:"truncate",children:s.summary}),(0,d.jsx)(C.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"})]}):null,s?.error?(0,d.jsx)("span",{className:"truncate text-[11px] text-[var(--vk-red)]",children:"Fix runtime settings"}):null]})]}),bJ?(0,d.jsx)("button",{type:"button",disabled:aB,onClick:()=>void b4(),className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.1)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Stop dispatcher",children:aB?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(H.A,{className:"h-4 w-4"})}):(0,d.jsx)("button",{type:"submit",disabled:!bN,className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-[#f3e8da] text-[#1d1612] transition hover:bg-[#fff3e5] disabled:cursor-not-allowed disabled:bg-[rgba(255,255,255,0.12)] disabled:text-[rgba(255,255,255,0.45)]","aria-label":"Send message",children:aB?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(M.A,{className:"h-4 w-4"})})]})]})]})]}),s?(0,d.jsx)(p.bL,{open:aY,onOpenChange:aZ,children:(0,d.jsxs)(p.ZL,{children:[(0,d.jsx)(p.hJ,{className:O.A8}),(0,d.jsxs)(p.UC,{className:O.V8,children:[(0,d.jsx)(p.hE,{className:"sr-only",children:"Dispatcher settings"}),(0,d.jsx)(p.VY,{className:"sr-only",children:"Review and adjust the dispatcher runtime and default task handoff preferences for this conversation."}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:s.content}),(0,d.jsx)("div",{className:"flex items-center justify-end border-t border-[var(--vk-border)] px-4 py-3",children:(0,d.jsx)(p.bm,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"inline-flex h-9 items-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-4 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)]",children:"Done"})})})]})]})]})}):null,(0,d.jsx)(p.bL,{open:aO,onOpenChange:aP,children:(0,d.jsxs)(p.ZL,{children:[(0,d.jsx)(p.hJ,{className:O.A8}),(0,d.jsxs)(p.UC,{className:O.V8,children:[(0,d.jsx)(p.hE,{className:"sr-only",children:"Add workspace attachments"}),(0,d.jsx)(p.VY,{className:"sr-only",children:"Search project context files and select workspace attachments to add to the next dispatcher message."}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-strong)]",children:"Add workspace attachments"}),(0,d.jsx)("p",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:"Search the current project context files and attach them directly to this dispatcher turn."})]}),(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("label",{className:"block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Search"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-2 rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 py-2",children:[(0,d.jsx)(v.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:aQ,onChange:a=>aR(a.target.value),placeholder:"Filter workspace files",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:aS?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading workspace files..."]}):aU?(0,d.jsx)("div",{className:"rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:aU}):0===bR.length?(0,d.jsx)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"No matching workspace files."}):(0,d.jsx)("div",{className:"space-y-2",children:bR.map(a=>{let b=ap.includes(a.path);return(0,d.jsxs)("button",{type:"button",onClick:()=>bZ(a.path),className:(0,Y.cn)("flex w-full items-start gap-3 rounded-[14px] border px-3 py-3 text-left transition",b?"border-[rgba(243,232,218,0.35)] bg-[rgba(243,232,218,0.08)]":"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.02)] hover:bg-[rgba(255,255,255,0.05)]"),"aria-pressed":b,children:[(0,d.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] text-[var(--vk-text-normal)]",children:b?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(t.A,{className:"h-3.5 w-3.5"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-[13px] font-medium text-[var(--vk-text-normal)]",children:Q(a.path,a)}),(0,d.jsx)("span",{className:"mt-1 block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.path})]})]},a.path)})})}),(0,d.jsxs)("div",{className:"flex items-center justify-between border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[ap.length," attachment",1===ap.length?"":"s"," selected"]}),(0,d.jsx)("button",{type:"button",onClick:()=>aP(!1),className:"inline-flex h-9 items-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-4 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)]",children:"Done"})]})]})]})]})})]})}var aB=c(23726),aC=c(16249);function aD(a,b,c=""){let d=a.metadata?.[b];return"string"==typeof d&&d.trim().length>0?d:c}function aE(a){let b=(a.summary?.trim()||a.metadata.summary?.trim()||"").replace(/\s+/g," ").trim();return b||("needs_input"===a.status?"Waiting for follow-up":"working"===a.status?"Working":`Thread ${a.id.slice(0,8)}`)}function aF({thread:a,deleting:b,error:c,onCancel:e,onConfirm:f}){if("u"<typeof document)return null;let i=aE(a);return(0,g.createPortal)((0,d.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{b||e()},children:(0,d.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"delete-dispatcher-thread-title",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("h2",{id:"delete-dispatcher-thread-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Delete Dispatcher Thread"}),(0,d.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Delete thread ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:a.id.slice(0,8)})," from this project."]})]}),(0,d.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,d.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This removes the dispatcher conversation and its saved thread state. Repository files on disk are not changed."}),(0,d.jsxs)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Thread summary"}),(0,d.jsx)("p",{className:"mt-1 line-clamp-4 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:i})]}),c?(0,d.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:c}):null]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)(X.$,{type:"button",variant:"ghost",onClick:e,disabled:b,children:"Cancel"}),(0,d.jsxs)(X.$,{type:"button",variant:"danger",onClick:()=>void f(),disabled:b,children:[b?(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Delete Thread"]})]})]})}),document.body)}function aG({thread:a,threads:b=[],projectId:c,bridgeId:g,active:j=!0,modelAccess:p={},runtimeModelCatalogs:q={},onSelectThread:r,onDeleteThread:s,onThreadUpdated:t,deletingThreadId:u=null,onStartNewConversation:v,creatingConversation:w=!1,onToggleCollapse:x,onBackToBoard:y,className:z}){let A=(0,f.useMemo)(()=>(0,ab.uP)({isDispatcher:!0,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:null}),[a.agent,a.metadata.agent]),B=(0,f.useMemo)(()=>a.model?.trim()||aD(a,"model"),[a]),C=(0,f.useMemo)(()=>a.reasoningEffort?.trim()||aD(a,"reasoningEffort"),[a]),D=(0,f.useMemo)(()=>aD(a,"acpImplementationAgent","codex"),[a]),E=(0,f.useMemo)(()=>aD(a,"acpImplementationModel"),[a]),F=(0,f.useMemo)(()=>aD(a,"acpImplementationReasoningEffort"),[a]),[G,H]=(0,f.useState)(A),[I,J]=(0,f.useState)(()=>(0,aB.c0)(A,p,q,B||null,C||null)),[K,L]=(0,f.useState)(D),[M,N]=(0,f.useState)(!1),[O,P]=(0,f.useState)(null),[Q,R]=(0,f.useState)(null),[S,T]=(0,f.useState)(null),[U,V]=(0,f.useState)(()=>(0,aB.c0)(D,p,q,E||null,F||null)),[W,X]=(0,f.useState)(!1),Y=Object.keys(q).length>0,Z=(0,f.useMemo)(()=>(0,ab.Ek)({projectId:c,bridgeId:g,threadId:a.id}),[g,c,a.id]),$=(0,f.useRef)(Z);$.current=Z;let _=(0,f.useRef)(a),aa=(0,f.useCallback)(a=>{let b=(0,ab.uP)({isDispatcher:!0,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:null}),c=a.model?.trim()||aD(a,"model"),d=a.reasoningEffort?.trim()||aD(a,"reasoningEffort"),e=aD(a,"acpImplementationAgent","codex"),f=aD(a,"acpImplementationModel"),g=aD(a,"acpImplementationReasoningEffort");H(b),J((0,aB.c0)(b,p,q,c||null,d||null)),L(e),V((0,aB.c0)(e,p,q,f||null,g||null))},[p,q]),ad=(0,f.useMemo)(()=>b.find(a=>a.id===O)??null,[O,b]),ae=(0,f.useMemo)(()=>`threadId=${encodeURIComponent(a.id)}`,[a.id]),af=b.length>0&&(b.length>1||!!s),ag=(0,f.useRef)(t);ag.current=t;let ah=(0,f.useRef)(null);ah.current||(ah.current=(0,ab.Kl)({getScopeKey:a=>(0,ab.Ek)(a),send:a=>(0,ab.IF)(a),onSuccess:(a,b)=>{(0,ab.Ek)(b)===$.current&&(T(null),a?.id&&(_.current=a)),a?.id&&ag.current?.(a)},onError:(a,b)=>{if((0,ab.Ek)(b)!==$.current)return;let c=_.current;T(a instanceof Error?a.message:"Failed to update dispatcher preferences"),aa(c)},onPendingChange:(a,b)=>{a===$.current&&X(b)}}));let ai=(0,f.useCallback)((b,d,e,f)=>{T(null),ah.current?.schedule({projectId:c,bridgeId:g,threadId:a.id,dispatcherAgent:b,dispatcherModel:(0,aB.xb)(d)??"",dispatcherReasoningEffort:(0,aB.aB)(d)??"",implementationAgent:e,implementationModel:(0,aB.xb)(f)??"",implementationReasoningEffort:(0,aB.aB)(f)??""})},[g,c,a.id]),aj=(0,f.useCallback)(a=>{let b=(0,aB.c0)(a,p,q,null,null);H(a),J(b),ai(a,b,K,U)},[K,U,p,ai,q]),ak=(0,f.useCallback)(a=>{J(a),ai(G,a,K,U)},[K,U,ai,G]),al=(0,f.useCallback)(a=>{let b=(0,aB.c0)(a,p,q,null,null);L(a),V(b),ai(G,I,a,b)},[p,ai,G,q,I]),am=(0,f.useCallback)(a=>{V(a),ai(G,I,K,a)},[K,ai,G,I]),an=(0,f.useCallback)(async()=>{if(ad&&s){R(null);try{await s(ad.id),P(null)}catch(a){R(a instanceof Error?a.message:"Failed to delete dispatcher thread")}}},[ad,s]),ao=(0,d.jsxs)(d.Fragment,{children:[y?(0,d.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:hidden","aria-label":"Back to board",title:"Back to board",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})}):null,af?(0,d.jsxs)(e.bL,{open:M,onOpenChange:N,children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Open dispatcher threads",title:"Open dispatcher threads",children:(0,d.jsx)(k,{className:"h-3.5 w-3.5"})})}),(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{align:"end",collisionPadding:8,sideOffset:8,className:"z-50 w-[calc(100vw-1rem)] max-w-[26rem] overflow-hidden rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Threads"}),(0,d.jsx)("div",{className:"max-h-[70vh] space-y-1 overflow-y-auto pr-1",children:b.map(b=>{let c=b.id===a.id,f=u===b.id,g=aE(b);return(0,d.jsxs)("div",{className:"flex items-stretch gap-2",children:[(0,d.jsx)(e.q7,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",onClick:()=>{r?.(b.id),N(!1)},disabled:f,className:"flex min-h-[64px] min-w-0 flex-1 items-start gap-3 rounded-[10px] px-3 py-3 text-left text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,d.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[rgba(255,255,255,0.72)]",children:c?(0,d.jsx)(l.A,{className:"h-3 w-3"}):(0,d.jsx)(k,{className:"h-3 w-3"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block line-clamp-2 break-words text-[13px] font-medium leading-5",children:g}),(0,d.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-[rgba(255,255,255,0.58)]",children:[(0,d.jsx)("span",{children:function(a){let b=new Date(a).getTime();if(!Number.isFinite(b))return"Recently";let c=Math.max(0,Math.round((Date.now()-b)/1e3));return c<60?"Just now":c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:`${Math.floor(c/86400)}d ago`}(b.lastActivityAt)}),(0,d.jsx)("span",{className:"truncate",children:b.id.slice(0,8)})]})]})]})}),s?(0,d.jsx)("button",{type:"button",onClick:()=>{N(!1),R(null),P(b.id)},disabled:!!u,className:"inline-flex w-11 shrink-0 items-center justify-center rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-[rgba(255,255,255,0.68)] transition hover:border-[rgba(210,81,81,0.4)] hover:bg-[rgba(210,81,81,0.12)] hover:text-[#f08b8b] disabled:cursor-not-allowed disabled:opacity-50","aria-label":`Delete dispatcher thread ${b.id.slice(0,8)}`,title:"Delete thread",children:f?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(m.A,{className:"h-4 w-4"})}):null]},b.id)})})]})})]}):null,v?(0,d.jsx)("button",{type:"button",onClick:v,disabled:w,className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:cursor-not-allowed disabled:opacity-60 sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Start new dispatcher thread",title:"Start new dispatcher thread",children:w?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n,{className:"h-3.5 w-3.5"})}):null]}),ap=(0,f.useMemo)(()=>{var a;let b,c,d;return a={agent:G,model:(0,aB.xb)(I)??I.catalogModel,reasoningEffort:(0,aB.aB)(I)??I.reasoningEffort},b=[(0,ac.h7)(a.agent)?.label??a.agent],c=a.model?.trim()?(0,aC.M)(a.agent,a.model.trim()):null,d=function(a){let b=a?.trim().toLowerCase()??"";if(!b)return null;switch(b){case"low":return"Low";case"medium":return"Medium";case"high":return"High";case"max":case"xhigh":case"extra-high":case"extra_high":case"extra high":return"Max";default:return b.split(/[_-\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}}(a.reasoningEffort),c&&b.push(c),d&&b.push(d),b.join(" \xb7 ")},[G,I]),aq=Y?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Dispatcher runtime"}),(0,d.jsx)(o.s,{agent:G,agentOptions:ab.es,agentLabel:"Runtime agent",modelSelection:I,modelAccess:p,runtimeModelCatalogs:q,disabled:W,onAgentChange:aj,onModelSelectionChange:ak})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,d.jsx)(o.s,{agent:K,agentOptions:ab.Qs,agentLabel:"Handoff agent",modelSelection:U,modelAccess:p,runtimeModelCatalogs:q,disabled:W,onAgentChange:al,onModelSelectionChange:am})]}),S?(0,d.jsx)("div",{className:"rounded-[10px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:S}):null]}):null,ar=(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-strong)]",children:"Dispatcher settings"}),(0,d.jsx)("p",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:"Keep runtime changes close to the composer. Expand task handoff settings only when you need to change the default implementation agent."})]}),(0,d.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:[(0,d.jsxs)("div",{className:"rounded-[16px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Dispatcher runtime"}),(0,d.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-normal)]",children:ap})]}),W?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-2 py-1 text-[10px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"h-3 w-3 animate-spin"}),"Saving"]}):null]}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(o.s,{agent:G,agentOptions:ab.es,agentLabel:"Runtime agent",modelSelection:I,modelAccess:p,runtimeModelCatalogs:q,disabled:W,onAgentChange:aj,onModelSelectionChange:ak})})]}),(0,d.jsxs)("details",{className:"mt-3 rounded-[16px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)]",children:[(0,d.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)] [&::-webkit-details-marker]:hidden",children:(0,d.jsxs)("span",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)("span",{children:"Advanced task handoff"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(0,ac.h7)(K)?.label??K})]})}),(0,d.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-4",children:(0,d.jsx)(o.s,{agent:K,agentOptions:ab.Qs,agentLabel:"Handoff agent",modelSelection:U,modelAccess:p,runtimeModelCatalogs:q,disabled:W,onAgentChange:al,onModelSelectionChange:am})})]}),S?(0,d.jsx)("div",{className:"mt-3 rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:S}):null]})]});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aA,{session:a,bridgeId:g,active:j,onToggleCollapse:x,className:z,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:ao,composerToolbar:aq,composerSettings:Y?{summary:ap,pending:W,error:S,content:ar}:null,apiPaths:{feed:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed?limit=120&${ae}`,stream:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed/stream?limit=120&${ae}`,send:`/api/projects/${encodeURIComponent(c)}/dispatcher/send?${ae}`,approve:`/api/projects/${encodeURIComponent(c)}/dispatcher/approve?${ae}`,reject:`/api/projects/${encodeURIComponent(c)}/dispatcher/reject?${ae}`,interrupt:`/api/projects/${encodeURIComponent(c)}/dispatcher/interrupt?${ae}`,integration:`/api/projects/${encodeURIComponent(c)}/dispatcher/integration?${ae}`}}),ad?(0,d.jsx)(aF,{thread:ad,deleting:u===ad.id,error:Q,onCancel:()=>{u||(P(null),R(null))},onConfirm:an}):null]})}}};
1
+ "use strict";exports.id=4191,exports.ids=[4191],exports.modules={3639:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]])},7233:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},16249:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(91515);function e(a,b){let c=b.trim(),e=(0,d.q)(a);if(!c)return c;if("claude-code"===e){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}c(53092)},18540:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]])},31084:(a,b,c)=>{c.d(b,{J:()=>e,s:()=>f});var d=c(19954);function e(a){let b=(0,d.C0)(a);if(!b)return"/";let c=new URLSearchParams;return c.set("bridge",b),`/?${c.toString()}`}function f(a,b={}){let c,e=a.trim(),g=(0,d.DW)(e)?e:(c=(0,d.C0)(b.bridgeId))?(0,d.Bp)(c,e):e,h=new URLSearchParams,i=b.tab?.trim();i&&h.set("tab",i);let j=h.toString(),k=`/sessions/${encodeURIComponent(g)}`;return j.length>0?`${k}?${j}`:k}},40729:(a,b,c)=>{c.d(b,{s:()=>r});var d=c(92692),e=c(48350),f=c(27576),g=c(18530);let h=(0,c(2131).A)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);var i=c(86018),j=c(72511),k=c(93544),l=c(23726),m=c(39088),n=c(16249);function o(a){return"xhigh"===a?"Extra High":a.split(/[_-\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function p({agent:a}){let b=(0,m.h7)(a);return(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 sm:gap-1",children:[(0,d.jsx)(i.N,{seed:{label:a},className:"h-3.5 w-3.5 border-none bg-transparent sm:h-3 sm:w-3"}),(0,d.jsx)("span",{className:"truncate",children:b?.label??a})]})}function q({label:a,title:b,disabled:c=!1,accent:g=!1,triggerClassName:h,contentClassName:i,children:l}){return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,disabled:c,children:(0,d.jsxs)("button",{type:"button",disabled:c,title:b,className:(0,k.cn)("inline-flex h-9 min-w-0 items-center gap-1.5 rounded-[11px] border px-2.5 text-[12px] font-medium transition disabled:cursor-not-allowed disabled:opacity-60 sm:h-[30px] sm:gap-1 sm:rounded-[9px] sm:px-2 sm:text-[11.5px]",g?"border-[rgba(214,163,126,0.28)] bg-[rgba(66,44,35,0.94)] text-[#f2d9cd] hover:bg-[rgba(78,52,41,0.98)]":"border-[rgba(255,255,255,0.08)] bg-[#272220] text-[#f3ead8] hover:bg-[#312926]",h),children:[(0,d.jsx)("span",{className:"min-w-0 truncate",children:a}),(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.55)] sm:h-2.5 sm:w-2.5"})]})}),(0,d.jsx)(j.ww,{align:"start",sideOffset:6,className:(0,k.cn)("w-[calc(100vw-1rem)] max-w-[22rem] rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)] sm:w-auto sm:min-w-[200px] sm:max-w-[26rem] sm:rounded-[10px] sm:p-1.5",i),children:l})]})}function r({agent:a,agentOptions:b,agentLabel:c,modelSelection:f,modelAccess:j,runtimeModelCatalogs:s,disabled:t=!1,className:u,onAgentChange:v,onModelSelectionChange:w}){let x=(0,l.Ik)(a,j,s),y=(0,l.xb)(f)??f.catalogModel,z=y?(0,n.M)(a,y):"Change model",A=(0,l.iL)(a,j,s,y),B=x.length>0,C=f.reasoningEffort.trim().toLowerCase();return(0,d.jsxs)("div",{className:(0,k.cn)("grid w-full grid-cols-[repeat(auto-fit,minmax(7.25rem,1fr))] gap-1.5 sm:flex sm:flex-wrap sm:items-center",u),children:[(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(q,{label:(0,d.jsx)(p,{agent:a}),title:`Change ${c.toLowerCase()} (${(0,m.h7)(a)?.label??a})`,disabled:t,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[6.75rem]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:c}),b.map(b=>{let f=(0,m.h7)(b),h=a===b;return(0,d.jsxs)(e.q7,{onSelect:()=>v(b),className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsx)(i.N,{seed:{label:b},className:"h-4 w-4 border-none bg-transparent sm:h-3.5 sm:w-3.5"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:f?.label??b}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:f?.description??c})]}),h?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},b)})]})}),B?(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(q,{label:z,title:`Change model${y?` (${z})`:""}`,disabled:t,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[11.75rem]",contentClassName:"sm:min-w-[220px]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Change model"}),x.map(b=>{let c=b.id===y;return(0,d.jsxs)(e.q7,{onSelect:()=>{let c=(0,l.iL)(a,j,s,b.id);w({catalogModel:b.id,customModel:"",reasoningEffort:c.some(a=>a.id===C)?C:(0,l.YS)(a,j,s,b.id)})},className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12px]",children:b.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:b.description})]}),c?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},b.id)})]})}):null,B&&A.length>0?(0,d.jsx)("div",{className:"min-w-0 sm:flex-none",children:(0,d.jsxs)(q,{label:(0,d.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,d.jsx)(h,{className:"h-3.5 w-3.5 text-[#d7b6a5] sm:h-3 sm:w-3"}),(0,d.jsx)("span",{children:o(C||A[0].id)})]}),title:`Change thinking level (${o(C||A[0].id)})`,disabled:t,accent:!0,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[7rem]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Thinking"}),A.map(a=>{let b=a.id===C;return(0,d.jsxs)(e.q7,{onSelect:()=>w({...f,reasoningEffort:a.id}),className:"flex min-h-[40px] cursor-default items-center gap-2.5 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] sm:min-h-[34px] sm:rounded-[7px] sm:px-2 sm:py-1.5 sm:text-[12px]",children:[(0,d.jsx)(h,{className:"h-4 w-4 text-[#d7b6a5] sm:h-3.5 sm:w-3.5"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:a.label}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:a.description})]}),b?(0,d.jsx)(g.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},a.id)})]})}):null]})}},48495:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},72186:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(2131).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},76204:(a,b,c)=>{c.d(b,{AR:()=>e,Fp:()=>g,M_:()=>f,b:()=>h});let d=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function e(a){for(let b of a){let a=function(a){if("system"!==a.kind)return null;let b=a.metadata?.eventType;return"string"==typeof b&&b.trim().length>0?b.trim():null}(b);if(a&&d.has(a))return a}return null}function f(a,b){return!!(a.changedProjectIds?.includes(b)||a.sessions.some(a=>a.projectId===b))||"snapshot_delta"===a.type&&0===a.sessions.length}function g(a){}function h(a,b){return()=>{}}},76360:(a,b,c)=>{c.d(b,{Ek:()=>o,IF:()=>n,Kl:()=>p,Qs:()=>g,Vx:()=>k,es:()=>f,qK:()=>l,uP:()=>m});var d=c(91515),e=c(46818);let f=["codex","claude-code","gemini","openclaw","letta"],g=["codex","claude-code","gemini","cursor-cli","openclaw","pi","letta"],h=new Set(f),i=new Set(g);function j(a){let b=(0,d.q)(a??"");if(!b)return null;switch(b){case"claude":case"claude-code":case"claudecode":return"claude-code";case"cursor":case"cursor-agent":case"cursor-cli":return"cursor-cli";case"letta":case"letta-code":return"letta";default:return b}}function k(a){let b=function(a,b="codex"){let c,d=j(a);return d&&i.has(d)?d:null!==(c=j(b))&&i.has(c)?j(b)??"codex":"codex"}(a);return{runtimeAgent:function(a,b="codex"){let c,d=j(a);return d&&h.has(d)?d:null!==(c=j(b))&&h.has(c)?j(b)??"codex":"codex"}(a),implementationAgent:b}}function l(a){return j(a.sessionAgent)??j(a.legacyMetadataAgent)}function m(a){return a.isDispatcher?l(a)??"codex":j(a.repositoryAgent)??l(a)??"codex"}async function n(a,b={}){let c=b.fetchImpl??fetch,d=b.timeoutMs??15e3,f=new AbortController,g=globalThis.setTimeout(()=>f.abort(),d);try{let b=await c((0,e.S)(`/api/projects/${a.projectId}/dispatcher/preferences?threadId=${encodeURIComponent(a.threadId)}`,a.bridgeId),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({dispatcherAgent:a.dispatcherAgent,dispatcherModel:a.dispatcherModel,dispatcherReasoningEffort:a.dispatcherReasoningEffort,implementationAgent:a.implementationAgent,implementationModel:a.implementationModel,implementationReasoningEffort:a.implementationReasoningEffort}),signal:f.signal}),d=await b.json().catch(()=>null);if(!b.ok)throw Error(d?.error??"Failed to update dispatcher preferences");return d?.thread??null}catch(a){if(a instanceof Error&&"AbortError"===a.name)throw Error(`Updating dispatcher preferences timed out after ${d%1e3==0?`${d/1e3}s`:`${d}ms`}. The backend may be busy.`);throw a}finally{clearTimeout(g)}}function o(a){return JSON.stringify([a.projectId.trim(),a.bridgeId?.trim()??"",a.threadId.trim()])}function p(a){let b=!1,c=new Map,d=new Map,e=[],f=()=>{for(let a of c.values())if(a.inFlight||void 0!==a.pendingPayload)return!0;return!1},g=b=>{let e=c.get(b),f=!!(e?.inFlight||e?.pendingPayload!==void 0);f!==(d.get(b)??!1)&&(f?d.set(b,!0):d.delete(b),a.onPendingChange?.(b,f))},h=()=>{if(f())return;let a=e;for(let b of(e=[],a))b()},i=async e=>{if(b)return void h();let f=c.get(e);if(!f||f.inFlight||void 0===f.pendingPayload)return void h();let j=f.pendingPayload;f.pendingPayload=void 0,f.inFlight=!0,g(e);try{let c=await a.send(j);b||a.onSuccess?.(c,j)}catch(c){b||a.onError?.(c,j)}finally{f.inFlight=!1,b?(c.clear(),d.clear()):void 0!==f.pendingPayload?i(e):(c.delete(e),g(e)),h()}};return{schedule(d){if(b)return;let e=a.getScopeKey(d),f=c.get(e)??{inFlight:!1,pendingPayload:void 0};f.pendingPayload=d,c.set(e,f),g(e),i(e)},isPending(a){let b=c.get(a);return!!(b?.inFlight||b?.pendingPayload!==void 0)},waitForIdle:()=>f()?new Promise(a=>{e.push(a)}):Promise.resolve(),dispose(){b=!0;let e=[...d.keys()];for(let b of(c.clear(),d.clear(),e))a.onPendingChange?.(b,!1);h()}}}},94191:(a,b,c)=>{c.r(b),c.d(b,{DispatcherPane:()=>aI});var d=c(92692),e=c(48350),f=c(71277),g=c(56192),h=c(78784),i=c(79711),j=c(2131);let k=(0,j.A)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]);var l=c(18530),m=c(7233);let n=(0,j.A)("pencil-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}],["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",key:"1a8usu"}]]);var o=c(40729),p=c(90665),q=c(67994),r=c(76578),s=c(91356),t=c(11560);let u=(0,j.A)("braces",[["path",{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",key:"ezmyqa"}],["path",{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",key:"e1hn23"}]]);var v=c(32518),w=c(92975),x=c(37913),y=c(71887),z=c(11884),A=c(92181),B=c(48495),C=c(27576),D=c(3639),E=c(18075),F=c(68530),G=c(20604),H=c(32450);let I=(0,j.A)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);var J=c(29321),K=c(18540),L=c(72186),M=c(51812),N=c(86018),O=c(72511),P=c(40677);function Q(a){let b=[],c=new Set;for(let d of a){let a=d.trim();!a||c.has(a)||(c.add(a),b.push(a))}return b}function R(a,b){let c=b?.displayPath?.trim();if(c)return c;let d=b?.name?.trim();return d?d:a.trim()}let S=new Set(["queued","spawning","running","working"]);function T(a){return"string"==typeof a&&a.trim().length>0?a:null}function U(a){let b=a?.trim().toLowerCase()??"";return S.has(b)}function V(a){var b;if("tool"!==a.kind)return null;let c=Array.isArray(b=a.metadata.toolContent)?b.map(a=>T(a)).filter(a=>null!==a):[],d=T(a.metadata.toolStatus)?.trim().toLowerCase()??"",e="error"===d||"failed"===d?"error":"running"===d||"working"===d?"running":"success"===d||"completed"===d||"complete"===d?"success":a.streaming?"running":"pending";return{kind:T(a.metadata.toolKind)?.toLowerCase()??null,title:T(a.metadata.toolTitle)?.trim()||a.text.trim()||"Tool call",status:e,lines:c,preview:c[0]??null}}function W(){return{followLatest:!0,showJumpToLatest:!1,unseenCount:0,unseenEntryIds:[]}}function X(a,b){return b.nearBottom?W():b.isUserInitiated&&b.scrollTop<b.previousScrollTop?{...a,followLatest:!1,showJumpToLatest:!0}:a}var Y=c(1071),Z=c(93544);function $({className:a}){return(0,d.jsx)("span",{className:(0,Z.cn)("inline-flex items-center gap-0.5",a),"aria-label":"Working",children:[0,1,2].map(a=>(0,d.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-[var(--status-working)]",style:{animation:"run-dot 1.4s ease-in-out infinite",animationDelay:`${.16*a}s`}},a))})}var _=c(19954),aa=c(46818),ab=c(31084);c(76204);var ac=c(76360),ad=c(39088),ae=c(69839);function af(a,b=32){let{clientHeight:c,scrollHeight:d,scrollTop:e}=a;return![c,d,e].every(Number.isFinite)||Math.max(0,d-c-e)<=Math.max(0,b)}c(6694);let ag={entries:[],totalEntries:0,windowLimit:120,truncated:!1,sessionStatus:null,approvalState:null,parserState:null,runtimeStatus:null,source:null,error:null,integration:null},ah=[s.A],ai={h1:({children:a})=>(0,d.jsx)("h1",{className:"mb-5 text-[22px] font-semibold tracking-[-0.03em] text-[var(--vk-text-strong)] last:mb-0 sm:text-[28px] lg:text-[36px]",children:a}),h2:({children:a})=>(0,d.jsx)("h2",{className:"mb-4 mt-8 text-[20px] font-semibold tracking-[-0.02em] text-[var(--vk-text-strong)] first:mt-0 last:mb-0",children:a}),h3:({children:a})=>(0,d.jsx)("h3",{className:"mb-3 mt-6 text-[16px] font-semibold text-[var(--vk-text-normal)] first:mt-0 last:mb-0",children:a}),p:({children:a})=>(0,d.jsx)("p",{className:"mb-3 last:mb-0",children:a}),hr:()=>(0,d.jsx)("hr",{className:"my-8 border-0 border-t border-[var(--vk-border)]"}),pre:({children:a})=>(0,d.jsx)("pre",{className:"mb-4 overflow-x-auto rounded-[10px] border border-[var(--vk-border)] bg-[#151413] p-3 text-[12px] text-[var(--vk-text-normal)] last:mb-0",children:a}),code:({children:a,className:b})=>(0,d.jsx)("code",{className:(0,Z.cn)("rounded-[6px] bg-[#171615] px-1.5 py-0.5 font-mono text-[12px] text-[var(--vk-text-normal)]",b),children:a}),ul:({children:a})=>(0,d.jsx)("ul",{className:"mb-3 list-disc pl-5 last:mb-0",children:a}),ol:({children:a})=>(0,d.jsx)("ol",{className:"mb-3 list-decimal pl-5 last:mb-0",children:a}),li:({children:a})=>(0,d.jsx)("li",{className:"mb-1 last:mb-0",children:a}),table:({children:a})=>(0,d.jsx)("div",{className:"mb-4 overflow-x-auto rounded-[12px] border border-[var(--vk-border)]",children:(0,d.jsx)("table",{className:"min-w-full border-collapse text-left text-[13px]",children:a})}),thead:({children:a})=>(0,d.jsx)("thead",{className:"bg-[rgba(255,255,255,0.03)]",children:a}),tbody:({children:a})=>(0,d.jsx)("tbody",{children:a}),tr:({children:a})=>(0,d.jsx)("tr",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:a}),th:({children:a})=>(0,d.jsx)("th",{className:"px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)]",children:a}),td:({children:a})=>(0,d.jsx)("td",{className:"px-4 py-3 align-top text-[13px] text-[var(--vk-text-muted)]",children:a})};function aj(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function ak(a){return"string"==typeof a&&a.trim().length>0?a:null}function al(a){let b=aj(a),c=ak(b.id),d=ak(b.kind),e="string"==typeof b.text?b.text:"";return c&&d?{id:c,kind:d,label:ak(b.label)??"Session",text:e,createdAt:ak(b.createdAt),attachments:Array.isArray(b.attachments)?b.attachments:[],source:ak(b.source)??"session",streaming:!0===b.streaming,metadata:aj(b.metadata)}:null}function am(a){let b=aj(a),c=ak(b.id),d=ak(b.repo),e=ak(b.path);if(!c||!d||!e)return null;let f=aj(b.pathHealth);return{id:c,displayName:ak(b.displayName)??c,repo:d,path:e,agent:ak(b.agent)??"codex",agentPermissions:ak(b.agentPermissions)??"default",agentModel:ak(b.agentModel)??"",agentReasoningEffort:ak(b.agentReasoningEffort)??"",workspaceMode:ak(b.workspaceMode)??"local",runtimeMode:ak(b.runtimeMode)??"direct",scmMode:ak(b.scmMode)??"git",defaultWorkingDirectory:ak(b.defaultWorkingDirectory)??"",defaultBranch:ak(b.defaultBranch)??"main",devServerScript:ak(b.devServerScript)??"",devServerCwd:ak(b.devServerCwd)??"",devServerUrl:ak(b.devServerUrl)??"",devServerPort:ak(b.devServerPort)??"",devServerHost:ak(b.devServerHost)??"",devServerPath:ak(b.devServerPath)??"",devServerHttps:!0===b.devServerHttps,setupScript:ak(b.setupScript)??"",runSetupInParallel:!0===b.runSetupInParallel,cleanupScript:ak(b.cleanupScript)??"",archiveScript:ak(b.archiveScript)??"",copyFiles:ak(b.copyFiles)??"",pathHealth:{exists:!0===f.exists,isGitRepository:!0===f.isGitRepository,suggestedPath:ak(f.suggestedPath)}}}function an(a,b=84){let c=a.replace(/\s+/g," ").trim();return c.length<=b?c:`${c.slice(0,Math.max(0,b-1)).trimEnd()}…`}function ao({value:a,maxLength:b=84,className:c}){let e=a.trim(),g=e.length>b||a.includes("\n"),[h,i]=(0,f.useState)(!1);return g?(0,d.jsx)("button",{type:"button",onClick:()=>i(a=>!a),"aria-expanded":h,title:h?"Collapse text":"Expand text",className:(0,Z.cn)("max-w-full text-left transition-colors hover:bg-[rgba(255,255,255,0.08)]",h?"whitespace-pre-wrap break-words":"truncate",c),children:h?e:an(e,b)}):(0,d.jsx)("span",{className:c,children:e})}function ap(a){let b=(0,ad.h7)(a);return b?.label?b.label:a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}let aq=(0,f.memo)(function({text:a}){return(0,d.jsx)(r.o,{remarkPlugins:ah,className:"min-w-0 break-words [overflow-wrap:anywhere]",components:ai,children:a})});function ar({label:a,tone:b="neutral"}){return(0,d.jsxs)("div",{className:(0,Z.cn)("mb-3 flex items-center gap-3 rounded-[10px] border px-3 py-2","prompt"===b?"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.05)] text-[#f4ede7]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-normal)]"),children:[(0,d.jsx)("div",{className:"flex h-9 w-9 shrink-0 items-center justify-center rounded-[8px] bg-[rgba(0,0,0,0.22)]",children:(0,d.jsx)(t.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Attached context"})]})]})}function as({toolKind:a,toolTitle:b,className:c="h-4 w-4"}){let e=b.trim().toLowerCase(),f=a?.trim().toLowerCase()??"";return"thinking"===f||"thinking"===e?(0,d.jsx)(u,{className:(0,Z.cn)(c,"text-[var(--vk-text-normal)]")}):"read"===f||e.startsWith("read ")||e.includes("review request")?(0,d.jsx)(t.A,{className:c}):"write"===f||"edit"===f||"multiedit"===f||e.startsWith("write")||e.startsWith("edit")?(0,d.jsx)(n,{className:c}):"grep"===f||"search"===f||"find"===f?(0,d.jsx)(v.A,{className:c}):"ls"===f||"glob"===f||"open"===f?(0,d.jsx)(w.A,{className:c}):"websearch"===f||"webfetch"===f?(0,d.jsx)(x.A,{className:c}):"task"===f||"todowrite"===f?(0,d.jsx)(k,{className:c}):e.includes("diff")||e.includes("workspace diff")||e.includes("git diff")?(0,d.jsx)(y.A,{className:c}):"bash"===f||"command"===f||e.startsWith("get diff")||e.startsWith("run ")?(0,d.jsx)(z.A,{className:c}):(0,d.jsx)(A.A,{className:c})}function at(a){switch(a){case"create":return"Task created";case"update":return"Task updated";case"handoff":return"Task handed off"}}let au=(0,f.memo)(function({entry:a,assistantAgentLabel:b}){let c,e,g=function(a){if(!a)return null;let b=new Date(a).getTime();if(!Number.isFinite(b))return null;let c=Date.now()-b;return c<6e4?"just now":c<36e5?`${Math.max(1,Math.floor(c/6e4))}m ago`:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(b)}(a.createdAt),i="assistant"===a.kind?b:a.label||"Session",j=a.attachments.map(a=>{let b=aj(a);return ak(b.name)??ak(b.path)??("string"==typeof a?a:null)}).filter(a=>!!a),m=V(a),n=(c=T(a.metadata.toolKind)?.toLowerCase()??null,e=T(a.metadata.toolTitle)?.toLowerCase()??null,"tool"===a.kind?"thinking"===c||"thinking"===e:"status"===a.kind&&("thinking"===c||"thinking"===a.label.trim().toLowerCase())),o="status"===a.kind&&"session-status"===a.source,p=function(a){if("system"!==a.kind)return null;let b=ak(a.metadata.eventType),c=null;if("dispatcher_task_created"===b?c="create":"dispatcher_task_updated"===b?c="update":"dispatcher_task_handed_off"===b&&(c="handoff"),!c)return null;let d=ak(a.metadata.taskId),e=ak(a.metadata.taskRef)??d,f=ak(a.metadata.taskTitle);return d&&e&&f?{operation:c,taskId:d,taskRef:e,taskTitle:f,taskRoleLabel:ak(a.metadata.taskRoleLabel),taskAgent:ak(a.metadata.taskAgent),taskType:ak(a.metadata.taskType)}:null}(a),[q,r]=(0,f.useState)(!1),s=a.streaming?(0,d.jsx)("span",{"aria-hidden":"true",className:"ml-1 inline-block h-4 w-[2px] rounded-full bg-[rgba(240,233,223,0.8)] align-middle animate-pulse"}):null;if(n){let b=m?.lines.length?m.lines:"thinking"===a.text.trim().toLowerCase()||0===a.text.trim().length?[]:[a.text.trim()],c=m?.status==="running"||a.streaming,e=b.length>0;return(0,d.jsxs)("div",{role:c?"status":void 0,"aria-live":c?"polite":void 0,className:"min-w-0 py-1 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(u,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-normal)]"}),(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:c?"Thinking":"Thought"}),c?(0,d.jsx)($,{}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),e?(0,d.jsxs)("button",{type:"button",onClick:()=>r(a=>!a),className:"ml-auto inline-flex h-6 items-center gap-1 rounded-[6px] px-1.5 text-[11px] text-[var(--vk-text-muted)] transition-colors hover:bg-[rgba(255,255,255,0.05)] hover:text-[var(--vk-text-normal)]","aria-expanded":q,"aria-label":q?"Hide thinking details":"Show thinking details",children:[(0,d.jsx)("span",{children:q?"Hide":"Details"}),q?(0,d.jsx)(B.A,{className:"h-3 w-3"}):(0,d.jsx)(C.A,{className:"h-3 w-3"})]}):null]}),q?(0,d.jsx)("div",{className:"ml-5 mt-1 space-y-1 border-l border-[var(--vk-border)] pl-3",children:b.map((b,c)=>(0,d.jsx)(ao,{value:b,maxLength:220,className:"block font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]"},`${a.id}-thinking-${c}`))}):null]})}if(m){let b="error"===m.status?"Error":"success"===m.status?"Done":"running"===m.status?"Running":"Pending",c="error"===m.status?"text-[var(--vk-red)]":"success"===m.status?"text-[var(--vk-green)]":"text-[var(--vk-text-muted)]",e="error"===m.status?(0,d.jsx)(D.A,{className:"h-3.5 w-3.5"}):"success"===m.status?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}):"running"===m.status?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"}),f=m.lines.length>0,g=m.preview?an(m.preview,96):null;return(0,d.jsxs)("div",{role:"running"===m.status?"status":void 0,"aria-live":"running"===m.status?"polite":void 0,className:"min-w-0 py-1 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(as,{toolKind:m.kind,toolTitle:m.title,className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"max-w-[9rem] shrink-0 truncate font-medium text-[var(--vk-text-normal)]",children:m.title||"Tool call"}),g?(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-[11px] text-[var(--vk-text-muted)]",children:g}):(0,d.jsx)("span",{className:"min-w-0 flex-1"}),(0,d.jsxs)("span",{className:(0,Z.cn)("inline-flex shrink-0 items-center gap-1 text-[11px]",c),children:[e,(0,d.jsx)("span",{children:b})]}),f?(0,d.jsx)("button",{type:"button",onClick:()=>r(a=>!a),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] transition-colors hover:bg-[rgba(255,255,255,0.05)] hover:text-[var(--vk-text-normal)]","aria-expanded":q,"aria-label":q?"Hide tool details":"Show tool details",children:q?(0,d.jsx)(B.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(C.A,{className:"h-3.5 w-3.5"})}):null]}),q?(0,d.jsx)("div",{className:"ml-5 mt-1 max-h-56 space-y-1 overflow-y-auto border-l border-[var(--vk-border)] pl-3 pr-1",children:m.lines.map((b,c)=>(0,d.jsx)(ao,{value:b,maxLength:220,className:"block font-mono text-[11px] leading-5 text-[var(--vk-text-muted)]"},`${a.id}-${c}`))}):null]})}return p?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(k,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:at(p.operation)}),g?(0,d.jsx)("span",{className:"ml-auto text-[11px]",children:g}):null]}),(0,d.jsxs)("div",{className:"rounded-[12px] border border-[rgba(129,101,83,0.35)] bg-[rgba(62,47,40,0.72)] px-4 py-3 text-[15px] leading-6 text-[#efe4dc]",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start gap-2",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"text-[12px] font-medium uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:at(p.operation)}),(0,d.jsx)("p",{className:"mt-1 break-words text-[16px] font-semibold text-[#fff5ee]",children:p.taskTitle})]}),(0,d.jsx)("span",{className:"rounded-full border border-[rgba(255,255,255,0.12)] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium text-[#fff5ee]",children:p.taskRef})]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-[11px] text-[rgba(255,255,255,0.72)]",children:[p.taskRoleLabel?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:p.taskRoleLabel}):null,p.taskAgent?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:ap(p.taskAgent)}):null,p.taskType?(0,d.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:p.taskType}):null]})]})]}):o?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("div",{className:"rounded-[22px] border border-[rgba(113,84,68,0.45)] bg-[rgba(54,40,34,0.9)] px-4 py-3 text-[15px] leading-7 text-[#efe4dc] shadow-[0_8px_18px_rgba(0,0,0,0.14)]",children:(0,d.jsx)(aq,{text:a.text})}),g?(0,d.jsx)("div",{className:"text-right text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):"user"===a.kind?(0,d.jsxs)("div",{className:"ml-auto max-w-[88%]",children:[(0,d.jsxs)("div",{className:"rounded-[14px] border border-[rgba(124,94,78,0.45)] bg-[rgba(52,39,35,0.92)] px-4 py-3 text-[#f1e7e0] shadow-[0_10px_24px_rgba(0,0,0,0.18)]",children:[j.map(b=>(0,d.jsx)(ar,{label:b,tone:"prompt"},`${a.id}-${b}`)),(0,d.jsx)("div",{className:"text-[15px] leading-7 text-[#f4ede7]",children:(0,d.jsx)(aq,{text:a.text})})]}),g?(0,d.jsx)("div",{className:"mt-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):"assistant"===a.kind?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"text-[15px] leading-8 text-[var(--vk-text-normal)]",children:[j.map(b=>(0,d.jsx)(ar,{label:b},`${a.id}-${b}`)),(0,d.jsx)(aq,{text:a.text}),s]}),g?(0,d.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:g}):null]}):(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["status"===a.kind?(0,d.jsx)(E.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(D.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:i}),g?(0,d.jsx)("span",{className:"ml-auto text-[11px]",children:g}):null]}),(0,d.jsxs)("div",{className:(0,Z.cn)("rounded-[12px] border px-4 py-3 text-[15px] leading-7","border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] text-[var(--vk-text-muted)]"),children:[j.map(b=>(0,d.jsx)(ar,{label:b},`${a.id}-${b}`)),(0,d.jsx)(aq,{text:a.text})]})]})});function av({project:a,disabled:b=!1,saving:c=!1,agents:f=[],onChange:g}){let i=a?.agent?.trim()||"codex",j=f.find(a=>a.name.toLowerCase()===i.toLowerCase()),k=!j||(j.installed??!0),m=f&&f.length>0?f:ad.pN;return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:b||!a,className:"inline-flex h-10 w-full min-w-0 max-w-full items-center justify-between gap-3 rounded-[8px] border border-[var(--vk-accent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_88%,black_12%)] px-3 text-left text-[13px] text-white shadow-[0_10px_24px_rgba(0,0,0,0.18)] transition hover:bg-[var(--accent-hover)] disabled:cursor-not-allowed disabled:opacity-60 sm:min-w-[220px] sm:w-auto","aria-label":"Select coding agent",title:a?`Coding agent: ${ap(i)}`:"Project agent unavailable",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(N.N,{seed:{label:i},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsxs)("span",{className:"truncate flex items-center gap-1.5",children:[c?"Saving agent…":`Coding Agent \xb7 ${ap(i)}`,!k&&(0,d.jsx)("span",{className:"inline-flex h-2 w-2 rounded-full bg-[var(--vk-orange)] animate-pulse",title:"Not installed"})]})]}),c?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(C.A,{className:"h-4 w-4 shrink-0"})]})}),(0,d.jsxs)(O.ww,{align:"start",className:"w-[calc(100vw-1rem)] min-w-0 max-w-[250px] rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)] sm:w-auto sm:min-w-[250px]",children:[(0,d.jsx)("p",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Coding agent"}),m.map(a=>{let b=a.name===i,c=a.installed??!0;return(0,d.jsxs)(e.q7,{onSelect:()=>g(a.name),className:"flex min-h-[46px] cursor-default items-center gap-3 rounded-[8px] px-3 py-2 text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)]",children:[(0,d.jsx)(N.N,{seed:{label:a.name},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("p",{className:"truncate text-[13px] font-medium",children:a.label||a.name}),c?(0,d.jsx)("span",{className:"inline-flex items-center rounded-full bg-[color:color-mix(in_srgb,var(--vk-green)_15%,transparent)] px-1.5 py-0.5 text-[9px] font-medium text-[var(--vk-green)] border border-[color:color-mix(in_srgb,var(--vk-green)_25%,transparent)]",children:"Ready"}):(0,d.jsx)("span",{className:"inline-flex items-center rounded-full bg-[color:color-mix(in_srgb,var(--vk-text-muted)_20%,transparent)] px-1.5 py-0.5 text-[9px] font-medium text-[var(--vk-text-muted)] border border-[rgba(255,255,255,0.05)]",children:"Not Installed"})]}),(0,d.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.6)]",children:a.description})]}),b?(0,d.jsx)(l.A,{className:"h-4 w-4 text-white"}):null]},a.name)})]})]})}let aw="approval_required",ax=new Set(["queued","spawning","running","working"]),ay=["## proposed plan","## intended board mutations","## intended tool calls","## task packet","task packet","board mutations"],az=["approve this plan","approve the plan","approve this proposal","request changes","plan-only mode","paused before mutating the board","approve it or request changes","ask for explicit approval","explicit approval"],aA=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Spacebar"]);function aB({session:a,bridgeId:b=null,active:c=!0,onClose:e,onToggleCollapse:g,className:i,hideOpenSessionAction:j=!1,hideRepositoryControls:k=!1,hideSessionStatusBadge:m=!1,headerActions:n=null,composerInsert:o=null,composerToolbar:r=null,composerSettings:s=null,apiPaths:u}){let w=(0,q.useRouter)(),[x,y]=(0,f.useState)(ag),[z,A]=(0,f.useState)(!0),[B,E]=(0,f.useState)(null),[O,S]=(0,f.useState)(!1),[ah,ai]=(0,f.useState)(""),[an,aq]=(0,f.useState)([]),[ar,as]=(0,f.useState)(null),[at,aC]=(0,f.useState)(!1),[aD,aE]=(0,f.useState)(null),[aF,aG]=(0,f.useState)(!0),[aH,aI]=(0,f.useState)(null),[aJ,aK]=(0,f.useState)(!1),{agents:aL=[]}=(0,ae._)(b),[aM,aN]=(0,f.useState)(!1),[aO,aP]=(0,f.useState)(!1),[aQ,aR]=(0,f.useState)(""),[aS,aT]=(0,f.useState)(!1),[aU,aV]=(0,f.useState)(null),[aW,aX]=(0,f.useState)([]),[aY,aZ]=(0,f.useState)(!1),[a$,a_]=(0,f.useState)(null),[a0,a1]=(0,f.useState)(null),[a2,a3]=(0,f.useState)(()=>W()),a4="project_dispatcher"===a.metadata.sessionKind,a5=(0,f.useMemo)(()=>(0,ac.qK)({sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null}),[a.agent,a.metadata.agent]),a6=(0,f.useMemo)(()=>ap(a5??"assistant"),[a5]),a7=(0,f.useMemo)(()=>(0,ac.uP)({isDispatcher:a4,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:aD?.agent??null}),[a4,aD?.agent,a.agent,a.metadata.agent]),a8=(0,f.useMemo)(()=>aL.find(a=>a.name.toLowerCase()===a7.toLowerCase()),[aL,a7]),a9=(0,f.useMemo)(()=>!a8||(a8.installed??!0),[a8]),ba=(0,f.useRef)(null),bb=(0,f.useRef)(null),bc=(0,f.useRef)(null);(0,f.useRef)([]);let[bd,be]=(0,f.useState)(!0),bf=(0,f.useRef)(W()),bg=(0,f.useRef)(0),bh=(0,f.useRef)(0),bi=(0,f.useRef)(0),bj=(0,f.useRef)(x),bk=(0,f.useRef)(a$),bl=c&&bd;(0,f.useRef)(Date.now());let bm=(0,f.useRef)(null),bn=(0,f.useRef)(null);(0,f.useRef)(null);let bo=(0,f.useRef)(0),bp=(0,f.useRef)(0),bq=(0,f.useRef)(0);(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0);let br=(0,f.useRef)(0),bs=(0,f.useRef)(!1),bt=(0,f.useRef)(null);(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0),(0,f.useRef)(0);let bu=(0,f.useCallback)(a=>{a3(b=>{let c="function"==typeof a?a(b):a,d=b.followLatest===c.followLatest&&b.showJumpToLatest===c.showJumpToLatest&&b.unseenCount===c.unseenCount&&b.unseenEntryIds.length===c.unseenEntryIds.length&&b.unseenEntryIds.every((a,b)=>a===c.unseenEntryIds[b])?b:c;return bf.current=d,d})},[]),bv=(0,f.useCallback)(()=>{let a=W();bf.current=a,a3(a)},[]),bw=(0,f.useCallback)(()=>{null!==bt.current&&(window.clearTimeout(bt.current),bt.current=null)},[]),bx=(0,f.useCallback)(()=>{bi.current=performance.now()+320},[]),by=(0,f.useCallback)(a=>{let b=bb.current;if(!b)return;let c=bg.current;bh.current+=1,a?b.scrollTo({top:b.scrollHeight,behavior:a}):b.scrollTo({top:b.scrollHeight}),window.requestAnimationFrame(()=>{let a=bb.current;if(!a){bh.current=Math.max(0,bh.current-1);return}bu(b=>X(b,{nearBottom:af(a),previousScrollTop:c,scrollTop:a.scrollTop,isUserInitiated:!1})),bg.current=a.scrollTop,bh.current=Math.max(0,bh.current-1)})},[bu]),bz=(0,f.useMemo)(()=>({feed:u.feed,stream:u.stream,send:u.send,interrupt:u.interrupt??null,approve:u.approve??null,reject:u.reject??null,contextFiles:u.contextFiles??"/api/context-files",repositories:u.repositories??"/api/repositories"}),[u]);(0,f.useMemo)(()=>{var b,c;let d;return b=bz.contextFiles,c=a.projectId,(d=new URL(b,"http://localhost")).searchParams.set("projectId",c),`${d.pathname}${d.search}${d.hash}`},[a.projectId,bz.contextFiles]);let bA=(0,f.useMemo)(()=>{if("project_dispatcher"===a.metadata.sessionKind)return`Dispatcher / ${a.projectId}`;let b=a.issueId?.trim()||a.projectId,c=a.branch?.trim()||(0,_.kV)(a.id).slice(0,8);return`${b} / ${c}`},[a.branch,a.id,a.issueId,a.metadata.sessionKind,a.projectId]),bB=(0,f.useMemo)(()=>ap(a4?a5??"agent":aD?.agent?.trim()||a5||"agent"),[a5,a4,aD?.agent]),bC=(0,f.useMemo)(()=>{let a,b,c;return a0&&!U(a0)&&U(x.sessionStatus)?(a=!1,b=x.entries.map(b=>{let c=b;if(b.streaming&&(c={...c,streaming:!1}),"tool"===b.kind){let a=T(b.metadata.toolStatus)?.trim().toLowerCase()??"";("running"===a||"working"===a)&&(c={...c,metadata:{...c.metadata,toolStatus:"error"}})}return c!==b&&(a=!0),c}),c=U(x.sessionStatus)?"killed":x.sessionStatus,a||c!==x.sessionStatus?{...x,entries:b,parserState:null,sessionStatus:c}:x):x},[a0,x]),bD=(0,f.useMemo)(()=>a$||at?"working":a0?.trim()||bC.sessionStatus?.trim()||a.status,[a0,a$,bC.sessionStatus,at,a.status]),bE=(0,f.useMemo)(()=>bD.trim().toLowerCase(),[bD]),bF=(0,f.useMemo)(()=>a$&&a$&&null===function(a,b){let c=[...b.attachments].sort(),d=b.feedBaselineLastEntryId?a.entries.findIndex(a=>a.id===b.feedBaselineLastEntryId):-1;for(let f=0;f<a.entries.length;f+=1){var e;let g=a.entries[f];if(g?.kind!=="user")continue;let h=g.attachments.map(a=>"string"==typeof a?T(a):!a||"object"!=typeof a||Array.isArray(a)?null:T(a.path)??T(a.name)).filter(a=>null!==a).sort();if(!(g.text.trim()===b.text.trim()&&h.length===c.length&&h.every((a,b)=>a===c[b])))continue;let i=(e=f,Math.max(a.totalEntries-a.entries.length,0)+e);if(d>=0?f>d:i>=b.feedBaselineTotalEntries)return g}return null}(bC,a$)?[...bC.entries,{id:a$.id,kind:"user",label:"You",text:a$.text,createdAt:a$.createdAt,attachments:a$.attachments.map(a=>({path:a})),source:"optimistic",streaming:!1,metadata:{}}]:[...bC.entries],[a$,bC]),bG=bC.approvalState??a.metadata.acpPlanApprovalState??null,bH=(0,f.useMemo)(()=>a4&&function(a,b,c,d){if(b!==aw)return!1;if(d?.kind===aw)return!0;if(c?.trim().toLowerCase()!=="needs_input")return!1;for(let b=a.length-1;b>=0;b--){let c=a[b];if("tool"!==c.kind&&"status"!==c.kind&&"system"!==c.kind){if("user"===c.kind)return!1;if("assistant"===c.kind)return function(a){let b=a.trim().toLowerCase();if(b.length<160)return!1;let c=ay.reduce((a,c)=>a+ +!!b.includes(c),0),d=az.reduce((a,c)=>a+ +!!b.includes(c),0);return c>=2&&d>=1}(c.text)}}return!1}(bF,bG,bD,bC.parserState),[bG,a4,bC.parserState,bD,bF]),bI=!!bz.interrupt&&ax.has(bE),bJ=a4&&bI,bK=bI&&!bJ,bL=!k||!m||bK,bM="archived"!==a.status&&!(a4&&bI),bN=(0,f.useMemo)(()=>{var a;return!!(a={message:ah,attachments:an,canContinue:bM,sending:at,isActiveInstalled:a9}).canContinue&&!a.sending&&!!a.isActiveInstalled&&(a.message.trim().length>0||Q(a.attachments).length>0)},[bM,ah,an,a9,at]),bO=(0,f.useMemo)(()=>(function(a,b){if(!U(b))return!1;let c=function(a){for(let b=a.length-1;b>=0;b-=1)if(a[b]?.kind==="user")return b;return -1}(a);return!(c<0)&&!a.slice(c+1).some(a=>{if(a.streaming)return!0;let b=V(a);return b?.status==="running"||b?.status==="pending"})})(bF,bD),[bD,bF]),bP=(0,f.useMemo)(()=>a4&&"errored"===bE?bC.error?.trim()||null:null,[a4,bE,bC.error]),bQ=(0,f.useMemo)(()=>new Map(aW.map(a=>[a.path,a])),[aW]),bR=(0,f.useMemo)(()=>(function(a,b){let c=b.trim().toLowerCase(),d=c?a.filter(a=>`${a.path} ${a.displayPath??""} ${a.name} ${a.source??""}`.toLowerCase().includes(c)):[...a],e=new Map;for(let a of d)e.has(a.path)||e.set(a.path,a);return[...e.values()]})(aW,aQ),[aW,aQ]),bS=(0,f.useMemo)(()=>an.map(a=>({path:a,label:R(a,bQ.get(a))})),[bQ,an]),bT=!!B&&O,bU=!!B&&!bT;(0,f.useCallback)(async()=>{if(k){aE(null),aI(null),aG(!1);return}aG(!0),aI(null);try{let c=await fetch((0,aa.S)(bz.repositories,b),{cache:"no-store"}),d=aj(await c.json().catch(()=>null));if(!c.ok)throw Error(ak(d.error)??`Failed to load project settings (${c.status})`);let e=Array.isArray(d.repositories)?d.repositories.map(am).find(b=>null!==b&&b.id===a.projectId)??null:null;aE(e),e||aI("Project settings were not found for this session.")}catch(a){aE(null),aI(a instanceof Error?a.message:"Failed to load project settings")}finally{aG(!1)}},[b,k,a.projectId,bz.repositories]);let bV=(0,f.useCallback)(async(a={})=>{let c=a.showLoading??!0,d=!0===a.preserveExistingOnError,e=void 0===a.pendingEntry?bk.current:a.pendingEntry,f=bo.current+1;bo.current=f;let g=br.current;bp.current+=1,c&&A(!0),E(null),S(!1);try{var h;let a,c,d,e,i=await fetch((0,aa.S)(bz.feed,b),{cache:"no-store"}),j=(h=await i.json().catch(()=>null),e=aj(h),{entries:Array.isArray(e.entries)?e.entries.map(al).filter(a=>null!==a):[],totalEntries:"number"==typeof e.totalEntries?e.totalEntries:0,windowLimit:"number"==typeof e.windowLimit?e.windowLimit:120,truncated:!0===e.truncated,sessionStatus:ak(e.sessionStatus),approvalState:ak(e.approvalState),parserState:(a=aj(e.parserState),(c=ak(a.kind))?{kind:c,message:"string"==typeof a.message?a.message:"",command:ak(a.command)}:null),runtimeStatus:(d=aj(e.runtimeStatus),0===Object.keys(d).length?null:d),source:ak(e.source),error:ak(e.error),integration:function(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b=aj(a.openclaw),c=aj(a.heartbeat),d=aj(a.memory),e=ak(a.projectId),f=ak(a.threadId);return e&&f?{projectId:e,threadId:f,bridgeId:null===a.bridgeId?null:ak(a.bridgeId),openclaw:{threadId:null===b.threadId?null:ak(b.threadId),sessionId:null===b.sessionId?null:ak(b.sessionId)},heartbeat:{state:null===c.state?null:ak(c.state),nextAt:null===c.nextAt?null:ak(c.nextAt)},memory:{projectPath:null===d.projectPath?null:ak(d.projectPath),sessionPath:null===d.sessionPath?null:ak(d.sessionPath)}}:null}(e.integration)});if(bo.current!==f||br.current!==g)return;if(!i.ok)throw Error(j.error??`Failed to load session feed (${i.status})`);let k=Date.now();null===bm.current&&(bm.current=k),bn.current=k,bj.current=j,y(j)}catch(b){if(bq.current+=1,bo.current!==f||br.current!==g)return;let a=b instanceof Error?b.message:"Failed to load session feed";S(function(a,b={}){return!b.preserveExistingOnError||!(a.entries.length>0||b.pendingEntry||a.totalEntries>0||U(a.sessionStatus)||a.approvalState||a.parserState||a.runtimeStatus||a.truncated||a.error)}(bj.current,{preserveExistingOnError:d,pendingEntry:e})),E(a)}finally{bo.current===f&&A(!1)}},[b,bz.feed]),bW=(0,f.useCallback)(a=>{let b=bg.current,c=a.currentTarget;if(bg.current=c.scrollTop,bh.current>0)return;let d=performance.now();bu(a=>{var e;return X(a,{nearBottom:af(c),previousScrollTop:b,scrollTop:c.scrollTop,isUserInitiated:(e=bi.current,Number.isFinite(e)&&e>0&&d<=e)})})},[bu]),bX=(0,f.useCallback)(a=>{a.buttons>0&&bx()},[bx]),bY=(0,f.useCallback)(a=>{a.altKey||a.ctrlKey||a.metaKey||aA.has(a.key)&&bx()},[bx]),bZ=(0,f.useCallback)(a=>{aq(b=>{let c=Q(b);return c.includes(a)?c.filter(b=>b!==a):[...c,a]})},[]),b$=(0,f.useCallback)(a=>{aq(b=>b.filter(b=>b!==a))},[]),b_=(0,f.useCallback)(async(a,c)=>{let d=Q(c);if(0===a.trim().length&&0===d.length||at||bs.current)return!1;bs.current=!0;let e=bj.current,f={id:`pending-${Date.now()}`,text:a.trim(),attachments:d,createdAt:new Date().toISOString(),feedBaselineTotalEntries:e.totalEntries,feedBaselineLastEntryId:e.entries[e.entries.length-1]?.id??null};bw(),bv(),bk.current=f,a_(f),aC(!0),as(null);try{let c,e=await fetch((0,aa.S)(bz.send,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((c=Q(d)).length>0?{message:a.trim(),attachments:c}:{message:a.trim()})}),g=await e.json().catch(()=>null);if(!e.ok)throw Error(ak(aj(g).error)??`Failed to send message (${e.status})`);let h=br.current;return bt.current=window.setTimeout(()=>{bt.current=null,bk.current?.id!==f.id||br.current===h&&bV({showLoading:!1,preserveExistingOnError:!0,pendingEntry:f})},1500),!0}catch(a){return bw(),bk.current?.id===f.id&&(bk.current=null),a_(a=>a?.id===f.id?null:a),as(a instanceof Error?a.message:"Failed to send message"),!1}finally{bs.current=!1,aC(!1)}},[b,bw,bV,bv,at,bz.send]),b0=(0,f.useCallback)(async()=>{!bN||await b_(ah,an)&&(ai(""),aq([]),aP(!1))},[bN,ah,an,b_]),b1=(0,f.useCallback)(async a=>{let c="approve"===a?bz.approve:bz.reject;if(!c)return void await b_(a,[]);aC(!0),as(null);try{let d=await fetch((0,aa.S)(c,b),{method:"POST"}),e=aj(await d.json().catch(()=>null));if(!d.ok)throw Error(ak(e.error)??`Failed to ${a} plan (${d.status})`);ai(""),bV({showLoading:!1,preserveExistingOnError:!0})}catch(b){as(b instanceof Error?b.message:`Failed to ${a} plan`)}finally{aC(!1)}},[b,bV,b_,bz.approve,bz.reject]),b2=(0,f.useCallback)(a=>{var b;let c="function"==typeof window.matchMedia&&window.matchMedia(P.In).matches;"Enter"!==(b={key:a.key,shiftKey:a.shiftKey,isComposing:a.nativeEvent.isComposing,isDesktopXl:c}).key||b.shiftKey||b.isComposing||b.isDesktopXl||(a.preventDefault(),bN&&b0())},[bN,b0]),b3=(0,f.useCallback)(async a=>{if(aD&&!aJ&&a!==aD.agent){aK(!0),aI(null);try{let c=await fetch((0,aa.S)(bz.repositories,b),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...aD,agent:a})}),d=aj(await c.json().catch(()=>null));if(!c.ok)throw Error(ak(d.error)??`Failed to update coding agent (${c.status})`);let e=am(d.repository);e?aE(e):aE(b=>b?{...b,agent:a}:b)}catch(a){aI(a instanceof Error?a.message:"Failed to update coding agent")}finally{aK(!1)}}},[b,aD,aJ,bz.repositories]),b4=(0,f.useCallback)(async()=>{if(!bz.interrupt)return;aC(!0),as(null);let a=!0;try{let c=await fetch((0,aa.S)(bz.interrupt,b),{method:"POST"}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(ak(aj(d).error)??`Failed to interrupt session (${c.status})`);bk.current=null,a_(null),a1("killed");let e=bV({showLoading:!1,preserveExistingOnError:!0,pendingEntry:null});aC(!1),a=!1,await e}catch(a){as(a instanceof Error?a.message:"Failed to interrupt session")}finally{a&&aC(!1)}},[b,bV,bz.interrupt]);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("aside",{className:(0,Z.cn)("flex min-h-0 w-full min-w-0 shrink-0 flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:w-[405px] xl:border-l xl:border-t-0",P.mq,i),children:[(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] pl-14 pr-3 text-[12px] text-[var(--vk-text-muted)] sm:px-3",children:[(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:bA}),(0,d.jsx)("span",{className:(0,Z.cn)("inline-flex items-center rounded-[999px] px-2 py-0.5 text-[10px] uppercase tracking-wide",bl?"bg-[color:color-mix(in_srgb,var(--vk-green)_18%,transparent)] text-[var(--vk-green)]":"bg-[color:color-mix(in_srgb,var(--vk-text-muted)_12%,transparent)] text-[var(--vk-text-muted)]"),children:bl?"live":"paused"}),n,g?(0,d.jsx)("button",{type:"button",onClick:g,className:"hidden h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:inline-flex","aria-label":"Collapse dispatcher",title:"Collapse dispatcher",children:(0,d.jsx)(F.A,{className:"h-3.5 w-3.5"})}):null,j?null:(0,d.jsx)("button",{type:"button",onClick:()=>w.push((0,ab.s)(a.id,{bridgeId:b,tab:null})),className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open full session",children:(0,d.jsx)(G.A,{className:"h-3.5 w-3.5"})}),e?(0,d.jsx)("button",{type:"button",onClick:e,className:"inline-flex h-6 w-6 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Close docked session",children:(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{ref:bb,role:"region","aria-label":"Dispatcher conversation",tabIndex:0,onScroll:bW,onWheelCapture:bx,onTouchStartCapture:bx,onTouchMoveCapture:bx,onPointerDownCapture:bx,onPointerMoveCapture:bX,onKeyDownCapture:bY,className:(0,Z.cn)(P.tV,"px-3 py-4 sm:px-4"),children:z?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher activity..."]}):bT?(0,d.jsx)("div",{className:"rounded-[12px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:B}):(0,d.jsxs)("div",{ref:bc,className:"space-y-5",children:[bU?(0,d.jsx)("div",{className:"rounded-[12px] border border-[color:color-mix(in_srgb,var(--vk-red)_45%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:B}):null,bC.parserState||bC.truncated?(0,d.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-x-2 gap-y-2 text-[12px] text-[var(--vk-text-muted)]",children:[bC.parserState?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2 py-0.5",children:[(0,d.jsx)(h.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{children:bC.parserState.kind})]}),bC.parserState.command?(0,d.jsx)(ao,{value:bC.parserState.command,maxLength:72,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px]"}):null]}):null,bC.truncated?(0,d.jsxs)(d.Fragment,{children:[bC.parserState?(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}):null,(0,d.jsxs)("span",{children:["Showing latest ",bC.windowLimit]})]}):null]}):null,0!==bF.length||bO?(0,d.jsxs)(d.Fragment,{children:[bF.map(a=>(0,d.jsx)("div",{className:"tool"===a.kind?"!mt-1.5":void 0,children:(0,d.jsx)(au,{entry:a,assistantAgentLabel:a6})},a.id)),bO?(0,d.jsxs)("div",{role:"status","aria-live":"polite",className:"flex items-center gap-2 py-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)($,{}),(0,d.jsx)("span",{children:"Dispatcher is working…"})]}):null]}):a9?(0,d.jsx)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"No dispatcher activity yet."}):(0,d.jsxs)("div",{className:"relative overflow-hidden rounded-[16px] border border-[color:color-mix(in_srgb,var(--vk-orange)_25%,rgba(255,255,255,0.06))] bg-[rgba(25,23,22,0.65)] p-5 shadow-[0_15px_40px_rgba(0,0,0,0.35)] backdrop-blur-md transition-all duration-300 hover:border-[color:color-mix(in_srgb,var(--vk-orange)_40%,rgba(255,255,255,0.1))]",children:[(0,d.jsx)("div",{className:"pointer-events-none absolute right-0 top-0 h-40 w-40 bg-[radial-gradient(circle_at_top_right,color-mix(in_srgb,var(--vk-orange)_12%,transparent),transparent_70%)]"}),(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("div",{className:"shrink-0 rounded-[10px] border border-[color:color-mix(in_srgb,var(--vk-orange)_25%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_15%,transparent)] p-2 text-[var(--vk-orange)]",children:(0,d.jsx)(D.A,{className:"h-5 w-5 animate-pulse"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("h4",{className:"text-[14px] font-semibold tracking-wide text-[#f5ebd7]",children:"Coding Agent Setup Required"}),(0,d.jsxs)("p",{className:"mt-1.5 text-[12px] leading-5 text-[rgba(255,255,255,0.7)]",children:["The selected agent ",(0,d.jsx)("strong",{className:"text-white",children:ap(a7)})," is not installed or configured on your system. Conductor orchestrates tasks by dispatching them to this agent."]})]})]}),a8?.installHint||(0,ad.h7)(a7)?.installHint?(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("div",{className:"mb-2 text-[11px] font-semibold uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Installation Command"}),(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-[8px] border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.25)] p-2 font-mono text-[12px] text-[#e0dacb]",children:[(0,d.jsx)(I,{className:"h-3.5 w-3.5 shrink-0 text-[rgba(255,255,255,0.4)]"}),(0,d.jsx)("span",{className:"flex-1 truncate select-all",children:a8?.installHint||(0,ad.h7)(a7)?.installHint}),(0,d.jsx)("button",{type:"button",onClick:()=>{let a=a8?.installHint||(0,ad.h7)(a7)?.installHint;a&&navigator.clipboard.writeText(a).then(()=>{aN(!0),setTimeout(()=>aN(!1),2e3)}).catch(a=>{console.error("Failed to copy installation command to clipboard:",a)})},className:"rounded-[4px] p-1 text-[var(--vk-text-muted)] transition hover:bg-[rgba(255,255,255,0.06)] hover:text-white",title:"Copy install command",children:aM?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 text-[var(--vk-green)]"}):(0,d.jsx)(J.A,{className:"h-3.5 w-3.5"})})]})]}):null,(0,d.jsxs)("div",{className:"mt-4 flex flex-wrap gap-x-4 gap-y-2 border-t border-[rgba(255,255,255,0.06)] pt-3.5",children:[a8?.homepage||(0,ad.h7)(a7)?.homepage?(0,d.jsxs)("a",{href:a8?.homepage||(0,ad.h7)(a7)?.homepage||void 0,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-[11px] text-[var(--vk-accent)] hover:underline",children:[(0,d.jsx)("span",{children:"Visit homepage"}),(0,d.jsx)(G.A,{className:"h-3 w-3"})]}):null,a8?.setupUrl||(0,ad.h7)(a7)?.setupUrl?(0,d.jsxs)("a",{href:a8?.setupUrl||(0,ad.h7)(a7)?.setupUrl||void 0,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1.5 text-[11px] text-[var(--vk-accent)] hover:underline",children:[(0,d.jsx)("span",{children:"Setup credentials"}),(0,d.jsx)(G.A,{className:"h-3 w-3"})]}):null]}),aL.filter(a=>!1!==a.installed&&a.name!==a7).length>0?(0,d.jsxs)("div",{className:"mt-4 border-t border-[rgba(255,255,255,0.06)] pt-3",children:[(0,d.jsx)("div",{className:"mb-2 text-[11px] text-[rgba(255,255,255,0.5)]",children:"Or switch to an installed agent ready on your system:"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:aL.filter(a=>!1!==a.installed&&a.name!==a7).map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>void b3(a.name),className:"inline-flex items-center gap-1.5 rounded-[6px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-2 py-1 text-[11px] text-[#f3efea] transition hover:border-[rgba(255,255,255,0.15)] hover:bg-[rgba(255,255,255,0.08)]",children:[(0,d.jsx)(N.N,{seed:{label:a.name},className:"h-3.5 w-3.5 border-none bg-transparent"}),(0,d.jsx)("span",{children:a.label||a.name}),(0,d.jsx)(K.A,{className:"ml-0.5 h-2.5 w-2.5 opacity-60"})]},a.name))})]}):null]})]})}),(0,d.jsxs)("div",{className:"border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 pb-[calc(1rem+env(safe-area-inset-bottom))] pt-3 sm:px-4 sm:pb-4",children:[bL?(0,d.jsxs)("div",{className:"mb-3 flex min-w-0 flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[k?null:(0,d.jsx)(av,{project:aD,disabled:aF,saving:aJ,agents:aL,onChange:a=>void b3(a)}),m?null:(0,d.jsxs)("div",{className:(0,Z.cn)("inline-flex w-fit max-w-full items-center gap-2 rounded-[999px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-1 text-[11px] text-[var(--vk-text-muted)]",k?null:"sm:ml-auto"),children:[(0,d.jsx)(N.N,{seed:{label:bB},className:"h-4 w-4 border-none bg-transparent"}),(0,d.jsx)("span",{children:bB}),(0,d.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,d.jsx)("span",{children:bD})]}),bK?(0,d.jsxs)(Y.$,{type:"button",variant:"outline",size:"sm",disabled:at,onClick:()=>void b4(),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[at?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Stop"})]}):null]}):null,a2.showJumpToLatest?(0,d.jsx)("div",{className:"mb-2 flex justify-end",children:(0,d.jsxs)(Y.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{bv(),by("smooth")},className:"h-[30px] rounded-[999px] border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 text-[12px]",children:["Jump to latest",a2.unseenCount>0?` \xb7 ${a2.unseenCount} new`:""]})}):null,aH?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(D.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:aH})]}):null,ar?(0,d.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,d.jsx)(D.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{children:ar})]}):null,bH?(0,d.jsxs)("div",{className:"mb-3 rounded-[12px] border border-[rgba(204,163,92,0.35)] bg-[rgba(64,49,27,0.58)] px-3 py-3 text-[12px] text-[#f1e3bf]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#f6ead0]",children:[(0,d.jsx)(D.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Plan-only review ready"})]}),(0,d.jsx)("p",{className:"mt-2 leading-5 text-[#dccba1]",children:"The dispatcher is paused before mutating the board for this turn. Review the proposal above, then approve it or request changes."}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsxs)(Y.$,{type:"button",size:"sm",disabled:!bM||at,onClick:()=>void b1("approve"),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.08)] bg-[#e6c786] px-3 text-[13px] text-[#22170d] hover:bg-[#edd39d]",children:[at?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Approve plan"})]}),(0,d.jsxs)(Y.$,{type:"button",variant:"outline",size:"sm",disabled:!bM||at,onClick:()=>void b1("reject"),className:"h-[31px] rounded-[999px] border-[rgba(255,255,255,0.14)] bg-[rgba(255,255,255,0.03)] px-3 text-[13px] text-[#f3ead8] hover:bg-[rgba(255,255,255,0.08)]",children:[(0,d.jsx)(H.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Request changes"})]})]})]}):null,bP?(0,d.jsxs)("div",{className:"mb-3 rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(82,27,27,0.5)] px-3 py-3 text-[12px] text-[#f3c5c5]",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#ffd7d7]",children:[(0,d.jsx)(D.A,{className:"h-4 w-4"}),(0,d.jsx)("span",{children:"Dispatcher runtime exited"})]}),(0,d.jsx)("p",{className:"mt-2 leading-5 text-[#f0bcbc]",children:"Use the dispatcher settings below to change the runtime, then retry your message."}),(0,d.jsx)("p",{className:"mt-2 rounded-[8px] bg-[rgba(0,0,0,0.18)] px-2.5 py-2 font-mono text-[11px] text-[#ffe4e4]",children:bP})]}):null,(0,d.jsxs)("form",{onSubmit:a=>{a.preventDefault(),b0()},className:"rounded-[28px] border border-[rgba(255,255,255,0.08)] bg-[#141212]/95 px-3 py-3 shadow-[0_18px_48px_rgba(0,0,0,0.24)] backdrop-blur-sm",children:[bS.length>0?(0,d.jsx)("div",{className:"mb-2.5 flex flex-wrap gap-2",children:bS.map(a=>(0,d.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1.5 rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-3 py-1 text-[11px] text-[var(--vk-text-normal)]",children:[(0,d.jsx)(t.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:a.label}),(0,d.jsx)("button",{type:"button",onClick:()=>b$(a.path),className:"inline-flex h-4 w-4 items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[rgba(255,255,255,0.08)] hover:text-[var(--vk-text-normal)]","aria-label":`Remove attachment ${a.label}`,children:(0,d.jsx)(H.A,{className:"h-3 w-3"})})]},a.path))}):null,r?(0,d.jsx)("div",{className:"mb-2.5 hidden xl:block",children:r}):null,(0,d.jsxs)("div",{className:"flex items-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>aP(!0),disabled:at,className:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Add workspace attachment",children:(0,d.jsx)(L.A,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("textarea",{ref:ba,value:ah,onChange:a=>ai(a.target.value),onKeyDown:b2,onFocus:()=>{bf.current.followLatest&&by()},placeholder:a9?"Ask the dispatcher to shape work, create tasks, or send attachments…":`Please install ${ap(a7)} or switch agents to send messages...`,disabled:!bM||at||!a9,rows:1,className:"max-h-[160px] w-full resize-none overflow-y-hidden bg-transparent text-[15px] leading-6 text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)] disabled:opacity-60 sm:text-[16px]"}),(0,d.jsxs)("div",{className:"mt-2 flex min-w-0 items-center gap-2 xl:hidden",children:[s?(0,d.jsxs)("button",{type:"button",onClick:()=>aZ(!0),className:(0,Z.cn)("inline-flex min-w-0 max-w-full items-center gap-2 rounded-full border px-3 py-1.5 text-[11px] font-medium transition",s.error?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] text-[#ffd7d7]":"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[var(--vk-text-normal)] hover:bg-[rgba(255,255,255,0.08)]"),"aria-label":"Open dispatcher settings",children:[s.pending?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}):null,(0,d.jsx)("span",{className:"truncate",children:s.summary}),(0,d.jsx)(C.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"})]}):null,s?.error?(0,d.jsx)("span",{className:"truncate text-[11px] text-[var(--vk-red)]",children:"Fix runtime settings"}):null]})]}),bJ?(0,d.jsx)("button",{type:"button",disabled:at,onClick:()=>void b4(),className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.1)] disabled:cursor-not-allowed disabled:opacity-60","aria-label":"Stop dispatcher",children:at?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(H.A,{className:"h-4 w-4"})}):(0,d.jsx)("button",{type:"submit",disabled:!bN,className:"inline-flex h-11 w-11 shrink-0 items-center justify-center rounded-full bg-[#f3e8da] text-[#1d1612] transition hover:bg-[#fff3e5] disabled:cursor-not-allowed disabled:bg-[rgba(255,255,255,0.12)] disabled:text-[rgba(255,255,255,0.45)]","aria-label":"Send message",children:at?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(M.A,{className:"h-4 w-4"})})]})]})]})]}),s?(0,d.jsx)(p.bL,{open:aY,onOpenChange:aZ,children:(0,d.jsxs)(p.ZL,{children:[(0,d.jsx)(p.hJ,{className:P.A8}),(0,d.jsxs)(p.UC,{className:P.V8,children:[(0,d.jsx)(p.hE,{className:"sr-only",children:"Dispatcher settings"}),(0,d.jsx)(p.VY,{className:"sr-only",children:"Review and adjust the dispatcher runtime and default task handoff preferences for this conversation."}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:s.content}),(0,d.jsx)("div",{className:"flex items-center justify-end border-t border-[var(--vk-border)] px-4 py-3",children:(0,d.jsx)(p.bm,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"inline-flex h-9 items-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-4 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)]",children:"Done"})})})]})]})]})}):null,(0,d.jsx)(p.bL,{open:aO,onOpenChange:aP,children:(0,d.jsxs)(p.ZL,{children:[(0,d.jsx)(p.hJ,{className:P.A8}),(0,d.jsxs)(p.UC,{className:P.V8,children:[(0,d.jsx)(p.hE,{className:"sr-only",children:"Add workspace attachments"}),(0,d.jsx)(p.VY,{className:"sr-only",children:"Search project context files and select workspace attachments to add to the next dispatcher message."}),(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-strong)]",children:"Add workspace attachments"}),(0,d.jsx)("p",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:"Search the current project context files and attach them directly to this dispatcher turn."})]}),(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("label",{className:"block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Search"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-2 rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] px-3 py-2",children:[(0,d.jsx)(v.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:aQ,onChange:a=>aR(a.target.value),placeholder:"Filter workspace files",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:aS?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading workspace files..."]}):aU?(0,d.jsx)("div",{className:"rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:aU}):0===bR.length?(0,d.jsx)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-4 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"No matching workspace files."}):(0,d.jsx)("div",{className:"space-y-2",children:bR.map(a=>{let b=an.includes(a.path);return(0,d.jsxs)("button",{type:"button",onClick:()=>bZ(a.path),className:(0,Z.cn)("flex w-full items-start gap-3 rounded-[14px] border px-3 py-3 text-left transition",b?"border-[rgba(243,232,218,0.35)] bg-[rgba(243,232,218,0.08)]":"border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.02)] hover:bg-[rgba(255,255,255,0.05)]"),"aria-pressed":b,children:[(0,d.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] text-[var(--vk-text-normal)]",children:b?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5"}):(0,d.jsx)(t.A,{className:"h-3.5 w-3.5"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate text-[13px] font-medium text-[var(--vk-text-normal)]",children:R(a.path,a)}),(0,d.jsx)("span",{className:"mt-1 block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.path})]})]},a.path)})})}),(0,d.jsxs)("div",{className:"flex items-center justify-between border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsxs)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:[an.length," attachment",1===an.length?"":"s"," selected"]}),(0,d.jsx)("button",{type:"button",onClick:()=>aP(!1),className:"inline-flex h-9 items-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-4 text-[13px] text-[var(--vk-text-normal)] transition hover:bg-[rgba(255,255,255,0.08)]",children:"Done"})]})]})]})]})})]})}var aC=c(94215),aD=c(23726),aE=c(16249);function aF(a,b,c=""){let d=a.metadata?.[b];return"string"==typeof d&&d.trim().length>0?d:c}function aG(a){let b=(a.summary?.trim()||a.metadata.summary?.trim()||"").replace(/\s+/g," ").trim();return b||("needs_input"===a.status?"Waiting for follow-up":"working"===a.status?"Working":`Thread ${a.id.slice(0,8)}`)}function aH({thread:a,deleting:b,error:c,onCancel:e,onConfirm:f}){if("u"<typeof document)return null;let i=aG(a);return(0,g.createPortal)((0,d.jsx)("div",{className:`fixed ${aC.Rn} z-[140] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center`,onClick:()=>{b||e()},children:(0,d.jsxs)("div",{className:`surface-card flex ${aC.Cf} w-full max-w-md flex-col overflow-hidden rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]`,onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"delete-dispatcher-thread-title",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("h2",{id:"delete-dispatcher-thread-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Delete Dispatcher Thread"}),(0,d.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Delete thread ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:a.id.slice(0,8)})," from this project."]})]}),(0,d.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,d.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This removes the dispatcher conversation and its saved thread state. Repository files on disk are not changed."}),(0,d.jsxs)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-3 py-2",children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Thread summary"}),(0,d.jsx)("p",{className:"mt-1 line-clamp-4 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:i})]}),c?(0,d.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:c}):null]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)(Y.$,{type:"button",variant:"ghost",onClick:e,disabled:b,className:"oc-mobile-touch-target",children:"Cancel"}),(0,d.jsxs)(Y.$,{type:"button",variant:"danger",onClick:()=>void f(),disabled:b,className:"oc-mobile-touch-target",children:[b?(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Delete Thread"]})]})]})}),document.body)}function aI({thread:a,threads:b=[],projectId:c,bridgeId:g,active:j=!0,modelAccess:p={},runtimeModelCatalogs:q={},onSelectThread:r,onDeleteThread:s,onThreadUpdated:t,deletingThreadId:u=null,onStartNewConversation:v,creatingConversation:w=!1,onToggleCollapse:x,onBackToBoard:y,className:z}){let A=(0,f.useMemo)(()=>(0,ac.uP)({isDispatcher:!0,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:null}),[a.agent,a.metadata.agent]),B=(0,f.useMemo)(()=>a.model?.trim()||aF(a,"model"),[a]),C=(0,f.useMemo)(()=>a.reasoningEffort?.trim()||aF(a,"reasoningEffort"),[a]),D=(0,f.useMemo)(()=>aF(a,"acpImplementationAgent","codex"),[a]),E=(0,f.useMemo)(()=>aF(a,"acpImplementationModel"),[a]),F=(0,f.useMemo)(()=>aF(a,"acpImplementationReasoningEffort"),[a]),[G,H]=(0,f.useState)(A),[I,J]=(0,f.useState)(()=>(0,aD.c0)(A,p,q,B||null,C||null)),[K,L]=(0,f.useState)(D),[M,N]=(0,f.useState)(!1),[P,Q]=(0,f.useState)(null),[R,S]=(0,f.useState)(null),[T,U]=(0,f.useState)(null),[V,W]=(0,f.useState)(()=>(0,aD.c0)(D,p,q,E||null,F||null)),[X,Y]=(0,f.useState)(!1),Z=Object.keys(q).length>0,$=(0,f.useMemo)(()=>(0,ac.Ek)({projectId:c,bridgeId:g,threadId:a.id}),[g,c,a.id]),_=(0,f.useRef)($);_.current=$;let aa=(0,f.useRef)(a),ab=(0,f.useCallback)(a=>{let b=(0,ac.uP)({isDispatcher:!0,sessionAgent:a.agent??null,legacyMetadataAgent:a.metadata.agent??null,repositoryAgent:null}),c=a.model?.trim()||aF(a,"model"),d=a.reasoningEffort?.trim()||aF(a,"reasoningEffort"),e=aF(a,"acpImplementationAgent","codex"),f=aF(a,"acpImplementationModel"),g=aF(a,"acpImplementationReasoningEffort");H(b),J((0,aD.c0)(b,p,q,c||null,d||null)),L(e),W((0,aD.c0)(e,p,q,f||null,g||null))},[p,q]),ae=(0,f.useMemo)(()=>b.find(a=>a.id===P)??null,[P,b]),af=(0,f.useMemo)(()=>`threadId=${encodeURIComponent(a.id)}`,[a.id]),ag=b.length>0&&(b.length>1||!!s),ah=(0,f.useRef)(t);ah.current=t;let ai=(0,f.useRef)(null);ai.current||(ai.current=(0,ac.Kl)({getScopeKey:a=>(0,ac.Ek)(a),send:a=>(0,ac.IF)(a),onSuccess:(a,b)=>{(0,ac.Ek)(b)===_.current&&(U(null),a?.id&&(aa.current=a)),a?.id&&ah.current?.(a)},onError:(a,b)=>{if((0,ac.Ek)(b)!==_.current)return;let c=aa.current;U(a instanceof Error?a.message:"Failed to update dispatcher preferences"),ab(c)},onPendingChange:(a,b)=>{a===_.current&&Y(b)}}));let aj=(0,f.useCallback)((b,d,e,f)=>{U(null),ai.current?.schedule({projectId:c,bridgeId:g,threadId:a.id,dispatcherAgent:b,dispatcherModel:(0,aD.xb)(d)??"",dispatcherReasoningEffort:(0,aD.aB)(d)??"",implementationAgent:e,implementationModel:(0,aD.xb)(f)??"",implementationReasoningEffort:(0,aD.aB)(f)??""})},[g,c,a.id]),ak=(0,f.useCallback)(a=>{let b=(0,aD.c0)(a,p,q,null,null);H(a),J(b),aj(a,b,K,V)},[K,V,p,aj,q]),al=(0,f.useCallback)(a=>{J(a),aj(G,a,K,V)},[K,V,aj,G]),am=(0,f.useCallback)(a=>{let b=(0,aD.c0)(a,p,q,null,null);L(a),W(b),aj(G,I,a,b)},[p,aj,G,q,I]),an=(0,f.useCallback)(a=>{W(a),aj(G,I,K,a)},[K,aj,G,I]),ao=(0,f.useCallback)(async()=>{if(ae&&s){S(null);try{await s(ae.id),Q(null)}catch(a){S(a instanceof Error?a.message:"Failed to delete dispatcher thread")}}},[ae,s]),ap=(0,d.jsxs)(d.Fragment,{children:[y?(0,d.jsx)("button",{type:"button",onClick:y,className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:hidden","aria-label":"Back to board",title:"Back to board",children:(0,d.jsx)(i.A,{className:"h-4 w-4"})}):null,ag?(0,d.jsxs)(e.bL,{open:M,onOpenChange:N,children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Open dispatcher threads",title:"Open dispatcher threads",children:(0,d.jsx)(k,{className:"h-3.5 w-3.5"})})}),(0,d.jsxs)(O.ww,{align:"end",className:"w-[calc(100vw-1rem)] max-w-[26rem] rounded-[12px] border border-[rgba(255,255,255,0.08)] bg-[#1c1a19] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.45)]",children:[(0,d.jsx)("div",{className:"px-3 pb-2 pt-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:"Threads"}),(0,d.jsx)("div",{className:"space-y-1 pr-1",children:b.map(b=>{let c=b.id===a.id,f=u===b.id,g=aG(b);return(0,d.jsxs)("div",{className:"flex items-stretch gap-2",children:[(0,d.jsx)(e.q7,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",onClick:()=>{r?.(b.id),N(!1)},disabled:f,className:"flex min-h-[64px] min-w-0 flex-1 items-start gap-3 rounded-[10px] px-3 py-3 text-left text-[13px] text-[#f3efea] outline-none transition hover:bg-[rgba(255,255,255,0.06)] focus:bg-[rgba(255,255,255,0.06)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,d.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] text-[rgba(255,255,255,0.72)]",children:c?(0,d.jsx)(l.A,{className:"h-3 w-3"}):(0,d.jsx)(k,{className:"h-3 w-3"})}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block line-clamp-2 break-words text-[13px] font-medium leading-5",children:g}),(0,d.jsxs)("span",{className:"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[11px] text-[rgba(255,255,255,0.58)]",children:[(0,d.jsx)("span",{children:function(a){let b=new Date(a).getTime();if(!Number.isFinite(b))return"Recently";let c=Math.max(0,Math.round((Date.now()-b)/1e3));return c<60?"Just now":c<3600?`${Math.floor(c/60)}m ago`:c<86400?`${Math.floor(c/3600)}h ago`:`${Math.floor(c/86400)}d ago`}(b.lastActivityAt)}),(0,d.jsx)("span",{className:"truncate",children:b.id.slice(0,8)})]})]})]})}),s?(0,d.jsx)("button",{type:"button",onClick:()=>{N(!1),S(null),Q(b.id)},disabled:!!u,className:"inline-flex w-11 shrink-0 items-center justify-center rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.03)] text-[rgba(255,255,255,0.68)] transition hover:border-[rgba(210,81,81,0.4)] hover:bg-[rgba(210,81,81,0.12)] hover:text-[#f08b8b] disabled:cursor-not-allowed disabled:opacity-50","aria-label":`Delete dispatcher thread ${b.id.slice(0,8)}`,title:"Delete thread",children:f?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(m.A,{className:"h-4 w-4"})}):null]},b.id)})})]})]}):null,v?(0,d.jsx)("button",{type:"button",onClick:v,disabled:w,className:"inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:cursor-not-allowed disabled:opacity-60 sm:h-6 sm:w-6 sm:rounded-[3px]","aria-label":"Start new dispatcher thread",title:"Start new dispatcher thread",children:w?(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n,{className:"h-3.5 w-3.5"})}):null]}),aq=(0,f.useMemo)(()=>{var a;let b,c,d;return a={agent:G,model:(0,aD.xb)(I)??I.catalogModel,reasoningEffort:(0,aD.aB)(I)??I.reasoningEffort},b=[(0,ad.h7)(a.agent)?.label??a.agent],c=a.model?.trim()?(0,aE.M)(a.agent,a.model.trim()):null,d=function(a){let b=a?.trim().toLowerCase()??"";if(!b)return null;switch(b){case"low":return"Low";case"medium":return"Medium";case"high":return"High";case"max":case"xhigh":case"extra-high":case"extra_high":case"extra high":return"Max";default:return b.split(/[_-\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}}(a.reasoningEffort),c&&b.push(c),d&&b.push(d),b.join(" \xb7 ")},[G,I]),ar=Z?(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Dispatcher runtime"}),(0,d.jsx)(o.s,{agent:G,agentOptions:ac.es,agentLabel:"Runtime agent",modelSelection:I,modelAccess:p,runtimeModelCatalogs:q,disabled:X,onAgentChange:ak,onModelSelectionChange:al})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"mb-1 text-[10px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,d.jsx)(o.s,{agent:K,agentOptions:ac.Qs,agentLabel:"Handoff agent",modelSelection:V,modelAccess:p,runtimeModelCatalogs:q,disabled:X,onAgentChange:am,onModelSelectionChange:an})]}),T?(0,d.jsx)("div",{className:"rounded-[10px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:T}):null]}):null,as=(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-strong)]",children:"Dispatcher settings"}),(0,d.jsx)("p",{className:"mt-1 text-[11px] leading-5 text-[var(--vk-text-muted)]",children:"Keep runtime changes close to the composer. Expand task handoff settings only when you need to change the default implementation agent."})]}),(0,d.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:[(0,d.jsxs)("div",{className:"rounded-[16px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Dispatcher runtime"}),(0,d.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-normal)]",children:aq})]}),X?(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(255,255,255,0.04)] px-2 py-1 text-[10px] font-medium uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"h-3 w-3 animate-spin"}),"Saving"]}):null]}),(0,d.jsx)("div",{className:"mt-3",children:(0,d.jsx)(o.s,{agent:G,agentOptions:ac.es,agentLabel:"Runtime agent",modelSelection:I,modelAccess:p,runtimeModelCatalogs:q,disabled:X,onAgentChange:ak,onModelSelectionChange:al})})]}),(0,d.jsxs)("details",{className:"mt-3 rounded-[16px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)]",children:[(0,d.jsx)("summary",{className:"cursor-pointer list-none px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)] [&::-webkit-details-marker]:hidden",children:(0,d.jsxs)("span",{className:"flex items-center justify-between gap-3",children:[(0,d.jsx)("span",{children:"Advanced task handoff"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(0,ad.h7)(K)?.label??K})]})}),(0,d.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-4",children:(0,d.jsx)(o.s,{agent:K,agentOptions:ac.Qs,agentLabel:"Handoff agent",modelSelection:V,modelAccess:p,runtimeModelCatalogs:q,disabled:X,onAgentChange:am,onModelSelectionChange:an})})]}),T?(0,d.jsx)("div",{className:"mt-3 rounded-[12px] border border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:T}):null]})]});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(aB,{session:a,bridgeId:g,active:j,onToggleCollapse:x,className:z,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:ap,composerToolbar:ar,composerSettings:Z?{summary:aq,pending:X,error:T,content:as}:null,apiPaths:{feed:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed?limit=120&${af}`,stream:`/api/projects/${encodeURIComponent(c)}/dispatcher/feed/stream?limit=120&${af}`,send:`/api/projects/${encodeURIComponent(c)}/dispatcher/send?${af}`,approve:`/api/projects/${encodeURIComponent(c)}/dispatcher/approve?${af}`,reject:`/api/projects/${encodeURIComponent(c)}/dispatcher/reject?${af}`,interrupt:`/api/projects/${encodeURIComponent(c)}/dispatcher/interrupt?${af}`,integration:`/api/projects/${encodeURIComponent(c)}/dispatcher/integration?${af}`}}),ae?(0,d.jsx)(aH,{thread:ae,deleting:u===ae.id,error:R,onCancel:()=>{u||(Q(null),S(null))},onConfirm:ao}):null]})}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=5658,exports.ids=[5658],exports.modules={35531:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00dc8cdac0e5d3191bc163037b775a69c29f4728b9",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")},75658:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>d.a,deleteKeylessAction:()=>f,syncKeylessConfigAction:()=>g});var d=c(35531),e=c(85660);let f=(0,e.createServerReference)("00f12dfaa039d850c3157c45f344e7ed41092dcb8e",e.callServer,void 0,e.findSourceMapURL,"deleteKeylessAction"),g=(0,e.createServerReference)("40b9c6f54c08f996dcef07d1492ca6d37daf2f885a",e.callServer,void 0,e.findSourceMapURL,"syncKeylessConfigAction")}};
@@ -0,0 +1 @@
1
+ exports.id=5734,exports.ids=[5734],exports.modules={9128:(a,b,c)=>{Promise.resolve().then(c.bind(c,96476)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,56470)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},10663:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00a83f3e7d71dea075bc986d565951deaf2ee181f3":()=>d.y});var d=c(30254)},14276:()=>{},22280:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},36026:(a,b,c)=>{"use strict";function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(90260),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",a),...c})})).displayName="TooltipContent"},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},49812:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00a83f3e7d71dea075bc986d565951deaf2ee181f3",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},58778:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"00dc8cdac0e5d3191bc163037b775a69c29f4728b9":()=>d.ai,"00f12dfaa039d850c3157c45f344e7ed41092dcb8e":()=>d.at,"40b9c6f54c08f996dcef07d1492ca6d37daf2f885a":()=>d.ot});var d=c(78113)},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>y,metadata:()=>v,viewport:()=>w});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(56004),j=c.n(i),k=c(62078),l=c.n(k),m=c(27511),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${j().variable} ${f().variable} ${h().variable} ${l().variable}`,u="1"===process.env.VERCEL||"true"===process.env.VERCEL,v={title:"Conductor",description:"Multi-agent orchestrator dashboard"},w={width:"device-width",initialScale:1,viewportFit:"cover"};function x({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,u?(0,d.jsx)(n.Analytics,{}):null]})})})]})}async function y({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(x,{children:a})}):(0,d.jsx)(x,{children:a})}},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))}};
@@ -0,0 +1,2 @@
1
+ "use strict";exports.id=5790,exports.ids=[5790],exports.modules={1071:(a,b,c)=>{c.d(b,{$:()=>j});var d=c(92692),e=c(93544),f=c(74745),g=c(71277);let h={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},i={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},j=(0,g.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:g,children:j,...k},l)=>{let m=c?f.DX:"button";return(0,d.jsx)(m,{ref:l,className:(0,e.cn)("oc-mobile-touch-target inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",h[a],i[b],g),...k,children:j})});j.displayName="Button"},19954:(a,b,c)=>{c.d(b,{Bp:()=>f,C0:()=>e,DW:()=>g,kV:()=>h});let d="bridge:";function e(a){let b=a?.trim();return b&&b.length>0?b:null}function f(a,b){return`${d}${a}:${b}`}function g(a){let b=a?.trim();if(!b||!b.startsWith(d))return null;let c=b.slice(d.length),f=c.indexOf(":");if(f<=0||f>=c.length-1)return null;let g=e(c.slice(0,f)),h=c.slice(f+1).trim();return g&&0!==h.length?{bridgeId:g,sessionId:h}:null}function h(a){let b=a?.trim()??"";return b?g(b)?.sessionId??b:""}},30144:(a,b,c)=>{c.d(b,{Xt:()=>d});function d(a){let b=a?.trim();return"Bridge relay URL is not configured"===b||"RELAY_JWT_SECRET is required for bridge relay access"===b||"RELAY_JWT_SECRET must contain at least 32 bytes"===b}},46818:(a,b,c)=>{c.d(b,{S:()=>e,y:()=>f});var d=c(19954);function e(a,b){let c=(0,d.C0)(b);if(!c)return a;let e=new URL(a,"http://127.0.0.1");return e.searchParams.set("bridgeId",c),`${e.pathname}${e.search}${e.hash}`}function f(a){let b=function(a){if(!a)return null;if(a instanceof URL)return a;if("string"==typeof a)try{return new URL(a,"http://127.0.0.1")}catch{return null}if("string"==typeof a.href)try{return new URL(a.href)}catch{}return null}(a);if(!b)return null;let c=(0,d.C0)(b.searchParams.get("bridge")??b.searchParams.get("bridgeId"));if(c)return c;let e=(0,d.DW)(b.searchParams.get("session"))?.bridgeId;if(e)return e;let f=b.pathname.match(/^\/sessions\/([^/]+)$/);if(!f)return null;try{return(0,d.DW)(decodeURIComponent(f[1]))?.bridgeId??null}catch{return null}}},48980:(a,b,c)=>{function d(a){let b=a?.trim().toLowerCase()??"";return!!b&&(b.includes("127.0.0.1:4749")||b.includes("older bridge build")||b.includes("one-time local bridge upgrade"))}function e(a){return`This laptop needs a one-time local bridge upgrade before ${function(a){switch(a){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(a)} can run from the dashboard.`}function f(a){let b=a?.trim()||"This laptop";return`${b} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}c.d(b,{Az:()=>d,IG:()=>e,_5:()=>f})},60361:(a,b,c)=>{c.d(b,{i:()=>o});var d=c(92692),e=c(71277),f=c(58599),g=c.n(f),h=c(60153),i=c(29321),j=c(92181),k=c(1071),l=c(93544),m=c(48980),n=c(81461);function o({deviceId:a,deviceName:b,deviceOs:c,dashboardUrl:f,installScriptUrl:p,installPowerShellUrl:q,relayUrl:r,className:s}){let[t,u]=(0,e.useState)(!1),v=(0,e.useMemo)(()=>(0,n.Y8)(c),[c]),w="windows"===v?q:p,x=(0,e.useMemo)(()=>(0,n.$y)(w,f,r,v),[f,r,w,v]),y=(0,e.useMemo)(()=>(0,n.kw)(a),[a]);return(0,d.jsxs)("div",{className:(0,l.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",s),children:[(0,d.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,d.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,m._5)(b)}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,d.jsxs)(k.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(u(!1),navigator.clipboard.writeText(x).then(()=>{u(!0)}).catch(()=>{u(!1)})):u(!1)},children:[t?(0,d.jsx)(h.A,{className:"h-4 w-4"}):(0,d.jsx)(i.A,{className:"h-4 w-4"}),t?"Repair command copied":"Copy repair command"]}),(0,d.jsx)(k.$,{asChild:!0,variant:"outline",size:"sm",children:(0,d.jsxs)(g(),{href:y,children:[(0,d.jsx)(j.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},62465:(a,b,c)=>{c.d(b,{Jn:()=>e,k$:()=>f,wP:()=>g});let d='MesloLGM Nerd Font, MesloLGM NF, MesloLGS NF, MesloLGS Nerd Font, Hack Nerd Font, FiraCode Nerd Font, JetBrainsMono Nerd Font, CaskaydiaCove Nerd Font, Menlo, Monaco, "Courier New", SF Mono, SF Pro, monospace';function e(a){var b;return(b="number"==typeof a&&Number.isFinite(a)&&a>0?a:1280)<420?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:10,lineHeight:1.1}:b<560?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:11,lineHeight:1.15}:b<768?{fontFamily:"'SF Mono', Menlo, Monaco, monospace",fontSize:12,lineHeight:1.2}:b<1024?{fontFamily:d,fontSize:13,lineHeight:1.2}:{fontFamily:d,fontSize:14,lineHeight:1.2}}function f(){return!1}function g(a,b,c,d){let e=Number.isFinite(a)?Math.max(0,a):0,f=Number.isFinite(b)?Math.max(0,b):e,g=Number.isFinite(c)?Math.max(0,c):0,h=Number.isFinite(d)?Math.max(0,d):0,i=Math.max(0,e-(f+g));return{usableHeight:Math.round(Math.max(0,f-Math.max(0,h-g))),keyboardInset:Math.round(i),keyboardVisible:i>=80}}},66562:(a,b,c)=>{c.d(b,{y:()=>d});function d(){let a=function(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}(process.env.CONDUCTOR_BRIDGE_RELAY_URL??process.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL);return a||null}},69125:(a,b,c)=>{function d(a,b){return"string"==typeof a&&a.trim().length>0?a.trim():b}function e(a){let b="string"==typeof a?a.trim():"";return b?` (build ${b})`:""}function f(a){return Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a).map(a=>{let b,c,e;return b=d(a.hostname,"unknown-host"),c=d(a.os,"unknown-os"),e=d(a.arch,"unknown-arch"),{device_id:d(a.device_id,b),device_name:d(a.device_name,b),hostname:b,os:c,arch:e,connected:!0===a.connected,last_status:a.last_status?{hostname:d(a.last_status.hostname,b),os:d(a.last_status.os,c),connected:!0===a.last_status.connected,version:"string"==typeof a.last_status.version&&a.last_status.version.trim().length>0?a.last_status.version.trim():null}:null}}):[]}c.d(b,{oH:()=>f,wj:()=>e})},72511:(a,b,c)=>{c.d(b,{ww:()=>h});var d=c(92692),e=c(48350),f=c(71277),g=c(93544);let h=(0,f.forwardRef)(function({children:a,className:b,collisionPadding:c=16,sideOffset:f=8,hideWhenDetached:h=!0,style:i,...j},k){let l={...i,maxHeight:"min(var(--radix-dropdown-menu-content-available-height), max(0px, calc(var(--oc-visual-viewport-height, 100dvh) - max(1rem, env(safe-area-inset-top)) - max(1rem, env(safe-area-inset-bottom)))))",maxWidth:"min(var(--radix-dropdown-menu-content-available-width), max(0px, calc(100vw - max(0.5rem, env(safe-area-inset-left)) - max(0.5rem, env(safe-area-inset-right)))))"};return(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:k,collisionPadding:c,sideOffset:f,hideWhenDetached:h,className:(0,g.cn)(b,"oc-mobile-menu-content z-[160] overflow-y-auto overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch] outline-none"),style:l,...j,children:a})})});h.displayName="MobileDropdownMenuContent"},79451:(a,b,c)=>{c.d(b,{J:()=>C});var d=c(92692),e=c(71277),f=c(48350),g=c(58599),h=c.n(g),i=c(67994),j=c(74580),k=c(27576),l=c(78784),m=c(92181),n=c(65626),o=c(20982),p=c(98718),q=(c(60361),c(72511)),r=c(95528),s=c(48980),t=c(93544),u=c(94297),v=c(30144),w=c(81461),x=c(69125),y=c(66562);let z="/bridge/connect";function A({label:a,tone:b,className:c,title:e,suffix:f}){let g="online"===b?{pill:"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]",dot:"bg-[var(--vk-green)]"}:"neutral"===b?{pill:"border-[var(--vk-border)] bg-[rgba(255,255,255,0.04)] text-[var(--vk-text-muted)]",dot:"bg-[var(--vk-text-muted)]"}:{pill:"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",dot:"bg-[var(--vk-red)]"};return(0,d.jsxs)("span",{className:(0,t.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",g.pill,c),title:e,children:[(0,d.jsx)("span",{className:(0,t.cn)("h-2.5 w-2.5 rounded-full",g.dot)}),(0,d.jsx)("span",{children:a}),f]})}function B({className:a}){(0,i.useRouter)(),(0,i.usePathname)();let b=(0,i.useSearchParams)(),[c,g]=(0,e.useState)([]),[C,D]=(0,e.useState)(!0),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)(null),[I,J]=(0,e.useState)({deviceId:null,phase:"idle",message:null}),[K,L]=(0,e.useState)({deviceId:null,kind:null,status:"idle",message:null}),[M,N]=(0,e.useState)(null);(0,e.useRef)(new Set);let O=!!(0,y.y)()&&null===M,P=(0,e.useCallback)(async a=>{if(!O){a&&D(!1),g([]),F(null);return}a&&D(!0);try{let a=await fetch("/api/bridge/devices",{cache:"no-store"}),b=await a.json().catch(()=>null);if(!a.ok){if((0,v.Xt)(b?.error)){N(b?.error??null),g([]),F(null);return}throw Error(b?.error??`Failed to load bridge devices (${a.status})`)}g((0,x.oH)(b?.devices)),N(null),F(null)}catch(a){F(a instanceof Error?a.message:"Failed to load bridge devices.")}finally{D(!1)}},[O]),Q=c.filter(a=>a.connected),R=b.get("bridge")?.trim()||null,S=R?c.find(a=>a.device_id===R)??null:null,T=O&&!C&&0===Q.length,U=G?c.find(a=>a.device_id===G)??null:null,V=T?S?.device_id?(0,w.kw)(S.device_id):U?.device_id?(0,w.kw)(U.device_id):c[0]?.device_id?(0,w.kw)(c[0].device_id):z:z,W=Q.length>0,X={relayConfigured:O,connectedDevices:Q.length,totalDevices:c.length,loading:C},Y=X.connectedDevices>0?"Online":X.relayConfigured?X.loading?"Checking":0===X.totalDevices?"No bridge":"Bridge offline":"Local backend",Z=X.connectedDevices>0?"online":!X.relayConfigured||0===X.totalDevices||X.loading?"neutral":"offline",$=O?E??(W?`${Q.length} bridge${1===Q.length?"":"s"} online`:c.length>0?"No paired bridges are online":"No paired bridges yet"):"Local backend is running. Paired-device bridge relay is not configured.",_=(0,e.useCallback)(async a=>{L({deviceId:a.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${a.device_name}.`});try{let b=await (0,u.b)(a.device_id);L({deviceId:a.device_id,kind:"restart",status:"completed",message:`${b} Waiting for ${a.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(a=>{window.setTimeout(()=>{P(!1)},a)})}catch(b){L({deviceId:a.device_id,kind:"restart",status:"failed",message:b instanceof Error?b.message:`Failed to restart ${a.device_name}.`})}},[P]),aa=(0,e.useCallback)(async a=>{L({deviceId:a.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${a.device_name}.`});try{let b=(0,w.pj)(window.location.origin,(0,w.Y8)(a.os)),c=await (0,u.E)(a.device_id,b);L({deviceId:a.device_id,kind:"repair",status:"completed",message:c}),window.setTimeout(()=>{P(!1)},2e3)}catch(b){L({deviceId:a.device_id,kind:"repair",status:"failed",message:b instanceof Error?b.message:`Failed to repair ${a.device_name}.`})}},[P]),ab=(0,e.useCallback)(async a=>{await (0,r.jV)(a,J),window.setTimeout(()=>{P(!1)},2e3)},[P]);return T?(0,d.jsx)(h(),{href:V,prefetch:!0,className:"inline-flex",title:c.length>0?"Reconnect paired device":"Pair a device",children:(0,d.jsx)(A,{label:Y,tone:Z,className:a,title:c.length>0?"Reconnect paired device":"Pair a device",suffix:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})}):(0,d.jsxs)(f.bL,{children:[(0,d.jsx)(f.l9,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"outline-none",children:(0,d.jsx)(A,{label:Y,tone:Z,className:a,title:$,suffix:(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,d.jsxs)(q.ww,{align:"end",className:"w-[min(320px,calc(100vw-1rem))] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,d.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,d.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,d.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:W?`${Q.length} device${1===Q.length?"":"s"} online`:O?C?"Loading device status":"No live bridge connection":"Local backend is healthy. Paired-device relay is not configured."}),(0,d.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),E?(0,d.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:E}):null,I.message?(0,d.jsxs)("div",{className:(0,t.cn)("mt-2 flex flex-wrap items-center gap-2 text-[12px] leading-5","failed"===I.phase?"text-[var(--vk-red)]":"skipped"===I.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,d.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,r.qv)(I.phase)}),(0,d.jsx)("span",{children:I.message})]}):null]}),(0,d.jsx)("div",{className:"mt-2",children:c.length>0?c.map(a=>{let b=(0,r.xv)(I,a.device_id),c="running"===K.status&&K.deviceId===a.device_id,e=c&&"repair"===K.kind,f=c&&"restart"===K.kind;return K.deviceId===a.device_id&&(0,s.Az)(K.message)||I.deviceId===a.device_id&&(0,s.Az)(I.message),(0,d.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.device_name}),(0,d.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[a.hostname," \xb7 ",a.os,"/",a.arch,(0,x.wj)(a.last_status?.version)]}),(0,d.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",a.last_status?.hostname??a.hostname,(0,x.wj)(a.last_status?.version)]}),I.message&&I.deviceId===a.device_id?(0,d.jsxs)("div",{className:(0,t.cn)("mt-1 flex flex-wrap items-center gap-2 text-[11px] leading-5","failed"===I.phase?"text-[var(--vk-red)]":"skipped"===I.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:[(0,d.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.16em] text-[var(--vk-text-muted)]",children:(0,r.qv)(I.phase)}),(0,d.jsx)("span",{children:I.message})]}):null,K.message&&K.deviceId===a.device_id?(0,d.jsx)("div",{className:(0,t.cn)("mt-1 text-[11px] leading-5","failed"===K.status?"text-[var(--vk-red)]":"completed"===K.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:K.message}):null,null,a.connected?(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:c||b,onClick:()=>{aa(a)},children:[e?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:b||c,onClick:()=>{ab(a)},children:[b?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),b?"Updating...":"Update Conductor"]}),(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:c||b,onClick:()=>{_(a)},children:[f?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,d.jsx)(A,{label:!0===a.connected?"Online":"Offline",tone:!0===a.connected?"online":"offline"})]})},a.device_id)}):(0,d.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:C?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,d.jsx)(f.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,d.jsx)(f.q7,{asChild:!0,children:(0,d.jsxs)(h(),{href:z,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,d.jsx)("span",{children:"Open paired devices"}),(0,d.jsx)(p.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})]})}function C({connected:a,className:b,title:c}={}){return"boolean"==typeof a?(0,d.jsx)(A,{label:a?"Online":"Offline",tone:a?"online":"offline",className:b,title:c}):(0,d.jsx)(B,{className:b})}},81461:(a,b,c)=>{function d(a){return/^[A-Za-z0-9_./:=@%+-]+$/.test(a)?a:`'${a.replace(/'/g,"'\"'\"'")}'`}function e(a){return a.map(d).join(" ")}function f(a){return`'${a.replace(/'/g,"''")}'`}function g(a){return/^[A-Za-z0-9_./:=@%+\\-]+$/.test(a)?a:f(a)}function h(a,b="unix"){return"windows"===b?["& (Join-Path $HOME '.conductor\\bin\\conductor-bridge.exe')",...a.map(g)].join(" "):e(["conductor-bridge",...a])}function i(a){return(a?.trim().toLowerCase()??"").startsWith("windows")?"windows":"unix"}function j(a,b="unix"){return new URL("windows"===b?"/bridge/install.ps1":"/bridge/install.sh",a).toString()}function k(a){return`/bridge/connect?device=${encodeURIComponent(a)}#bridge-setup`}function l(a,b="unix"){return"windows"===b?`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${f(a)})))`:`curl -fsSL ${d(a)} | sh`}function m(a,b,c,g="unix"){if("windows"===g){let d=[`& ([scriptblock]::Create((Invoke-RestMethod -Uri ${f(a)})))`,"-Connect","-DashboardUrl",f(b)];return c?.trim()&&d.push("-RelayUrl",f(c.trim())),d.join(" ")}let h=["sh","-s","--","--connect","--dashboard-url",b];return c?.trim()&&h.push("--relay-url",c.trim()),`curl -fsSL ${d(a)} | ${e(h)}`}function n(a,b,c="unix"){let d=["connect","--dashboard-url",a];return b?.trim()&&d.push("--relay-url",b.trim()),h(d,c)}function o(a,b,c="unix"){let d=["pair","--code",a?.trim()||"ABC123"],e=["daemon"];return b?.trim()&&(d.push("--relay-url",b.trim()),e.push("--relay-url",b.trim())),`${h(d,c)}
2
+ ${h(e,c)}`}c.d(b,{$y:()=>m,G7:()=>l,Y8:()=>i,hI:()=>n,kw:()=>k,pj:()=>j,zd:()=>o})},84213:(a,b,c)=>{function d({children:a,lockDocumentScrolling:b=!1}){return a}c.d(b,{x:()=>d}),c(71277),c(94215)},89612:(a,b,c)=>{c.d(b,{C:()=>d,n:()=>e});let d=new Set(["archived","done","killed","errored","terminated","merged","cleanup"]);function e(a){return"merged"===a.status||"archived"===a.status||"killed"===a.status||"errored"===a.status||"cleanup"===a.status||"done"===a.status||"terminated"===a.status||a.pr&&("merged"===a.pr.state||"closed"===a.pr.state)?"done":"mergeable"===a.status||"approved"===a.status||a.pr?.mergeability.mergeable?"merge":"waiting_input"===a.activity||"blocked"===a.activity||"needs_input"===a.status||"stuck"===a.status?"respond":"queued"===a.status?"pending":"exited"===a.activity?"respond":"ci_failed"===a.status||"changes_requested"===a.status||a.pr&&("failing"===a.pr.ciStatus||"changes_requested"===a.pr.reviewDecision||!a.pr.mergeability.noConflicts)?"review":"review_pending"===a.status||a.pr&&!a.pr.isDraft&&("pending"===a.pr.reviewDecision||"none"===a.pr.reviewDecision)?"pending":"working"}},94215:(a,b,c)=>{c.d(b,{Aw:()=>n,Bx:()=>j,Cf:()=>l,Kc:()=>f,Rn:()=>i,e:()=>e,hU:()=>p,lZ:()=>o,mn:()=>q,tE:()=>h,tc:()=>d,w1:()=>m,w4:()=>g,yq:()=>k});let d="--oc-safe-viewport-height",e="--oc-visual-viewport-height",f="--oc-visual-viewport-offset-top",g="conductor-app-shell-active",h="var(--oc-safe-viewport-height,100dvh)",i="inset-x-0 top-[var(--oc-visual-viewport-offset-top,0px)] h-[var(--oc-visual-viewport-height,100dvh)]",j="max-h-[var(--oc-safe-viewport-height,100dvh)]",k="h-[var(--oc-visual-viewport-height,100dvh)]",l="max-h-[calc(var(--oc-visual-viewport-height,100dvh)-1.5rem)]",m="sm:max-h-[calc(var(--oc-visual-viewport-height,100dvh)-3rem)]",n="top-[calc(var(--oc-visual-viewport-offset-top,0px)+10dvh)] h-[calc(var(--oc-visual-viewport-height,100dvh)-10dvh)]";function o(a,b,c,d,e){let f=Math.max(0,...[b,c].map(a=>Number.isFinite(a)?Math.max(0,a):0));if(!(Number.isFinite(d)&&d>0))return Math.round(f);let g=Number.isFinite(e)?Math.max(0,e):0;return 0===g?Math.round(f):Math.round(Math.max(0,...[a,f,d+g].map(a=>Number.isFinite(a)?Math.max(0,a):0)))}function p(a,b){return!!Number.isFinite(a)&&!!Number.isFinite(b)&&!(a<=0)&&!(b<=0)&&Math.round(a)!==Math.round(b)}function q(a,b,c){let d=Number.isFinite(a)&&a>0,e=d?Math.max(0,a):0,f=Number.isFinite(b)&&b>0,g=f?Math.max(0,b):e,h=f&&Number.isFinite(c)?Math.max(0,c):0,i=d?Math.min(e,h+g):h+g,j=Math.min(h,i);return{visibleHeight:Math.round(Math.max(0,i-j)),offsetTop:Math.round(j),bottom:Math.round(i)}}},94297:(a,b,c)=>{c.d(b,{E:()=>f,b:()=>e});var d=c(48980);async function e(a){let b=await g(a,"service-restart",{});return b?.message??"Bridge service restart scheduled. This laptop should reconnect once the bridge is back online."}async function f(a,b){let c=await g(a,"repair",{installScriptUrl:b});return c?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function g(a,b,c){let e=await fetch(`/api/bridge/devices/${encodeURIComponent(a)}/${b}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c),cache:"no-store"}),f=await e.json().catch(()=>null);if(!e.ok){var g,h;let a;throw Error((g=f?.error??f?.message??null,h=e.status,a=g?.trim()??"",(0,d.Az)(a)?(0,d.IG)("repair"===b?"repair":"restart"):a||`Failed to run ${b} on the bridge service (${h})`))}return f}},95528:(a,b,c)=>{c.d(b,{N8:()=>j,Tr:()=>m,jV:()=>n,m7:()=>l,qv:()=>f,xv:()=>g});var d=c(46818),e=c(48980);function f(a){switch(a){case"checking":return"Checking";case"updating":return"Updating";case"restarting":return"Restarting";case"completed":return"Completed";case"skipped":return"Skipped";case"failed":return"Failed";default:return"Idle"}}function g(a,b){return a.deviceId===b&&("checking"===a.phase||"updating"===a.phase||"restarting"===a.phase)}function h(a,b){return b.jobMessage??`Installing Conductor ${b.latestVersion??"latest"} on ${a.device_name}.`}function i(a){let b=a.currentVersion?.trim();return b?` (build ${b})`:""}function j(a){if(!a.enabled)switch(a.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return a.updateAvailable?a.canAutoUpdate?`This laptop is already running the latest Conductor release${i(a)}.`:"npx"===a.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":a.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${a.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${i(a)}.`}async function k(a,b){var c,f;let g=b?.method??"GET",h=`/api/bridge/devices/${encodeURIComponent(a)}/app-update`,i=new URL((0,d.S)(h,a),window.location.origin);b?.force&&i.searchParams.set("force","1");let j=await fetch(i.toString(),{method:g,headers:b?.body?{"Content-Type":"application/json"}:void 0,body:b?.body?JSON.stringify(b.body):void 0,cache:"no-store"}),k=await j.json().catch(()=>null);if(!j.ok){let a;throw Error((c=k&&"object"==typeof k&&"error"in k&&"string"==typeof k.error?k.error:null,f=j.status,a=c?.trim()??"",(0,e.Az)(a)?(0,e.IG)("update"):a||`Failed to update Conductor on this laptop (${f})`))}let l=k&&"object"==typeof k?k:null;if(!l)throw Error("Paired device returned an invalid update payload.");return l}function l(a){}function m(){return null}async function n(a,b){let c=(c,d)=>{b({deviceId:a.device_id,phase:c,message:d})};c("checking",`Checking for Conductor updates on ${a.device_name}.`);try{let b=await k(a.device_id,{force:!0});if(b.restarting)return void c("restarting",b.jobMessage??`Restart scheduled on ${a.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===b.jobStatus)c("updating",h(a,b));else{if(!b.updateAvailable||!b.enabled||!b.canAutoUpdate)return void c(b.enabled&&b.canAutoUpdate?"completed":"skipped",j(b));b=await k(a.device_id,{method:"POST"}),c("updating",h(a,b))}let d=Date.now()+3e5;for(;Date.now()<d&&"running"===b.jobStatus;){if(await new Promise(a=>{window.setTimeout(a,1500)}),(b=await k(a.device_id)).restarting)return void c("restarting",b.jobMessage??`Restart scheduled on ${a.device_name}. This page will reconnect once the bridge runtime is back online.`);c("updating",h(a,b))}if("running"===b.jobStatus)return void c("updating",`The package update is still running on ${a.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===b.jobStatus)throw Error(b.jobMessage??b.error??`Automatic package update failed on ${a.device_name}.`);if(b.restartRequired){if(b.canRestart){b=await k(a.device_id,{method:"POST",body:{action:"restart"}}),c("restarting",b.jobMessage??`Restart scheduled on ${a.device_name} to finish updating Conductor.`);return}c("completed",b.jobMessage??`The latest Conductor package is installed on ${a.device_name}. Restart that laptop to finish updating.`);return}c("completed",b.jobMessage??`${a.device_name} is now updated to Conductor ${b.latestVersion??"latest"}.`)}catch(b){c("failed",b instanceof Error?b.message:`Failed to auto-update ${a.device_name}.`)}}}};