conductor-oss 0.43.1 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/package.json +5 -5
  2. package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
  3. package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -5
  4. package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
  5. package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
  6. package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +9 -9
  7. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  23. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  24. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -5
  44. package/web/.next/standalone/packages/web/.next/server/chunks/10.js +1 -0
  45. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  46. package/web/.next/standalone/packages/web/.next/server/chunks/2831.js +1 -1
  47. package/web/.next/standalone/packages/web/.next/server/chunks/3083.js +1 -0
  48. package/web/.next/standalone/packages/web/.next/server/chunks/4682.js +1 -0
  49. package/web/.next/standalone/packages/web/.next/server/chunks/7287.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/chunks/8851.js +1 -1
  51. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  55. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  57. package/web/.next/standalone/packages/web/.next/static/chunks/{4443.5dfc1ec4441257a2.js → 4443.9537c100f954c481.js} +1 -1
  58. package/web/.next/standalone/packages/web/.next/static/chunks/6173.8ee24c9b5fdb6622.js +1 -0
  59. package/web/.next/standalone/packages/web/.next/static/chunks/6183.ffc42b1d85d16e96.js +3 -0
  60. package/web/.next/standalone/packages/web/.next/static/chunks/8083.160acfcbe41ffab3.js +1 -0
  61. package/web/.next/standalone/packages/web/.next/static/chunks/{8510-14607fedc10a9634.js → 8510-9a649a52fa024f76.js} +1 -1
  62. package/web/.next/standalone/packages/web/.next/static/chunks/9739.27ae497b7099f321.js +1 -0
  63. package/web/.next/standalone/packages/web/.next/static/chunks/9847.3952abeb0ffc77d6.js +1 -0
  64. package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-0f0ae4981d52b986.js → layout-b23d138f8fe123eb.js} +1 -1
  65. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-88cae45644b1094b.js +1 -0
  66. package/web/.next/standalone/packages/web/.next/static/chunks/{webpack-494b0cca73ea9e9f.js → webpack-ba10cf90277ce1be.js} +1 -1
  67. package/web/.next/standalone/packages/web/.next/static/css/4b04fcd2163d55fc.css +1 -0
  68. package/web/.next/static/chunks/{4443.5dfc1ec4441257a2.js → 4443.9537c100f954c481.js} +1 -1
  69. package/web/.next/static/chunks/6173.8ee24c9b5fdb6622.js +1 -0
  70. package/web/.next/static/chunks/6183.ffc42b1d85d16e96.js +3 -0
  71. package/web/.next/static/chunks/8083.160acfcbe41ffab3.js +1 -0
  72. package/web/.next/static/chunks/{8510-14607fedc10a9634.js → 8510-9a649a52fa024f76.js} +1 -1
  73. package/web/.next/static/chunks/9739.27ae497b7099f321.js +1 -0
  74. package/web/.next/static/chunks/9847.3952abeb0ffc77d6.js +1 -0
  75. package/web/.next/static/chunks/app/{layout-0f0ae4981d52b986.js → layout-b23d138f8fe123eb.js} +1 -1
  76. package/web/.next/static/chunks/app/page-88cae45644b1094b.js +1 -0
  77. package/web/.next/static/chunks/{webpack-494b0cca73ea9e9f.js → webpack-ba10cf90277ce1be.js} +1 -1
  78. package/web/.next/static/css/4b04fcd2163d55fc.css +1 -0
  79. package/web/.next/standalone/packages/web/.next/server/chunks/3803.js +0 -1
  80. package/web/.next/standalone/packages/web/.next/server/chunks/5265.js +0 -1
  81. package/web/.next/standalone/packages/web/.next/server/chunks/9853.js +0 -1
  82. package/web/.next/standalone/packages/web/.next/static/chunks/6183.961d019bfc0bd0d8.js +0 -3
  83. package/web/.next/standalone/packages/web/.next/static/chunks/6455.e0046dee3482960c.js +0 -1
  84. package/web/.next/standalone/packages/web/.next/static/chunks/7865.a99fea0e127969e4.js +0 -1
  85. package/web/.next/standalone/packages/web/.next/static/chunks/9739.93afef4b0df014dc.js +0 -1
  86. package/web/.next/standalone/packages/web/.next/static/chunks/9847.da8acdb00ef77e17.js +0 -1
  87. package/web/.next/standalone/packages/web/.next/static/chunks/app/page-ae7b829a79eab3d0.js +0 -1
  88. package/web/.next/standalone/packages/web/.next/static/css/2e39903b46c003dc.css +0 -1
  89. package/web/.next/static/chunks/6183.961d019bfc0bd0d8.js +0 -3
  90. package/web/.next/static/chunks/6455.e0046dee3482960c.js +0 -1
  91. package/web/.next/static/chunks/7865.a99fea0e127969e4.js +0 -1
  92. package/web/.next/static/chunks/9739.93afef4b0df014dc.js +0 -1
  93. package/web/.next/static/chunks/9847.da8acdb00ef77e17.js +0 -1
  94. package/web/.next/static/chunks/app/page-ae7b829a79eab3d0.js +0 -1
  95. package/web/.next/static/css/2e39903b46c003dc.css +0 -1
  96. /package/web/.next/standalone/packages/web/.next/static/{Yu94fZrOQ4dqCxpjIiIyS → kz3nfaxwr3RYJXxymvvF0}/_buildManifest.js +0 -0
  97. /package/web/.next/standalone/packages/web/.next/static/{Yu94fZrOQ4dqCxpjIiIyS → kz3nfaxwr3RYJXxymvvF0}/_ssgManifest.js +0 -0
  98. /package/web/.next/static/{Yu94fZrOQ4dqCxpjIiIyS → kz3nfaxwr3RYJXxymvvF0}/_buildManifest.js +0 -0
  99. /package/web/.next/static/{Yu94fZrOQ4dqCxpjIiIyS → kz3nfaxwr3RYJXxymvvF0}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6183],{10563:(e,t,a)=>{a.d(t,{s:()=>g});var r=a(54568),s=a(40448),n=a(34041),l=a(34309),i=a(64265),o=a(90124),d=a(46916),c=a(88272),x=a(33866),m=a(64323);let p=["codex","claude-code","gemini","openclaw"];function u(e){return"xhigh"===e?"Extra High":e.split(/[_-\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function h({agent:e}){let t=(0,x.h7)(e);return(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5 sm:gap-1",children:[(0,r.jsx)(o.N,{seed:{label:e},className:"h-3.5 w-3.5 border-none bg-transparent sm:h-3 sm:w-3"}),(0,r.jsx)("span",{className:"truncate",children:t?.label??e})]})}function b({label:e,title:t,disabled:a=!1,accent:l=!1,triggerClassName:i,contentClassName:o,children:c}){return(0,r.jsxs)(s.bL,{children:[(0,r.jsx)(s.l9,{asChild:!0,disabled:a,children:(0,r.jsxs)("button",{type:"button",disabled:a,title:t,className:(0,d.cn)("inline-flex h-10 min-w-0 items-center gap-2 rounded-[11px] border px-3 text-[13px] 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]",l?"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]",i),children:[(0,r.jsx)("span",{className:"min-w-0 truncate",children:e}),(0,r.jsx)(n.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,r.jsx)(s.ZL,{children:(0,r.jsx)(s.UC,{align:"start",collisionPadding:8,sideOffset:6,className:(0,d.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",o),children:c})})]})}function g({implementationAgent:e,modelSelection:t,modelAccess:a,runtimeModelCatalogs:n,disabled:f=!1,className:v,onImplementationAgentChange:j,onModelSelectionChange:w}){let k=(0,c.Ik)(e,a,n),N=(0,c.xb)(t)??t.catalogModel,y=N?(0,m.M)(e,N):"Change model",S=(0,c.iL)(e,a,n,N),C=k.length>0,A=t.reasoningEffort.trim().toLowerCase();return(0,r.jsxs)("div",{className:(0,d.cn)("grid w-full gap-1.5 sm:flex sm:flex-wrap sm:items-center",v),children:[(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:(0,r.jsx)(h,{agent:e}),title:`Change coding agent (${(0,x.h7)(e)?.label??e})`,disabled:f,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[6.75rem]",children:[(0,r.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:"Coding agent"}),p.map(t=>{let a=(0,x.h7)(t),n=e===t;return(0,r.jsxs)(s.q7,{onSelect:()=>j(t),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,r.jsx)(o.N,{seed:{label:t},className:"h-4 w-4 border-none bg-transparent sm:h-3.5 sm:w-3.5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:a?.label??t}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:a?.description??"Coding agent"})]}),n?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},t)})]})}),C?(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:y,title:`Change model${N?` (${y})`:""}`,disabled:f,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,r.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"}),k.map(t=>{let i=t.id===N;return(0,r.jsxs)(s.q7,{onSelect:()=>{let r=(0,c.iL)(e,a,n,t.id);w({catalogModel:t.id,customModel:"",reasoningEffort:r.some(e=>e.id===A)?A:(0,c.YS)(e,a,n,t.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,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12px]",children:t.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:t.description})]}),i?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},t.id)})]})}):null,C&&S.length>0?(0,r.jsx)("div",{className:"col-span-2 min-w-0 sm:flex-none",children:(0,r.jsxs)(b,{label:(0,r.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 text-[#d7b6a5] sm:h-3 sm:w-3"}),(0,r.jsx)("span",{children:u(A||S[0].id)})]}),title:`Change thinking level (${u(A||S[0].id)})`,disabled:f,accent:!0,triggerClassName:"w-full justify-between sm:h-[27px] sm:w-auto sm:justify-start sm:max-w-[7rem]",children:[(0,r.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"}),S.map(e=>{let a=e.id===A;return(0,r.jsxs)(s.q7,{onSelect:()=>w({...t,reasoningEffort:e.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,r.jsx)(i.A,{className:"h-4 w-4 text-[#d7b6a5] sm:h-3.5 sm:w-3.5"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium sm:text-[12.5px]",children:e.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.58)] sm:text-[10.5px]",children:e.description})]}),a?(0,r.jsx)(l.A,{className:"h-4 w-4 text-[#f2d9cd] sm:h-3.5 sm:w-3.5"}):null]},e.id)})]})}):null]})}},18259:(e,t,a)=>{a.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let r="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(r,{detail:e}))}function o(e,t){let a=a=>{let r=a.detail;r&&r.projectId===e&&t(r)};return window.addEventListener(r,a),()=>{window.removeEventListener(r,a)}}},18510:(e,t,a)=>{a.d(t,{J:()=>s,s:()=>n});var r=a(10926);function s(e){let t=(0,r.C0)(e);if(!t)return"/";let a=new URLSearchParams;return a.set("bridge",t),`/?${a.toString()}`}function n(e,t={}){let a,s=e.trim(),l=(0,r.DW)(s)?s:(a=(0,r.C0)(t.bridgeId))?(0,r.Bp)(a,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},56183:(e,t,a)=>{a.r(t),a.d(t,{DispatcherPane:()=>em});var r=a(54568),s=a(40448),n=a(7620),l=a(97509),i=a(58299),o=a(96770),d=a(34309),c=a(44968),x=a(38491),m=a(10563),p=a(79748),u=a(8281),h=a(1426),b=a(2939),g=a(76587),f=a(23555),v=a(45894),j=a(97380),w=a(58588),k=a(69863),N=a(87242),y=a(46548),S=a(14796),C=a(34041),A=a(76265),_=a(26083),$=a(36645),E=a(82797),I=a(90124),L=a(76081),T=a(10926),M=a(46916),P=a(31404),R=a(18510),F=a(18259),D=a(33866),O=a(92070);function U(e,t=32){let{clientHeight:a,scrollHeight:r,scrollTop:s}=e;return![a,r,s].every(Number.isFinite)||Math.max(0,r-a-s)<=Math.max(0,t)}let q={entries:[],totalEntries:0,windowLimit:120,truncated:!1,sessionStatus:null,approvalState:null,parserState:null,runtimeStatus:null,source:null,error:null,integration:null};function z(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function H(e){return"string"==typeof e&&e.trim().length>0?e:null}function W(e){let t=z(e),a=H(t.id),r=H(t.kind),s="string"==typeof t.text?t.text:"";return a&&r?{id:a,kind:r,label:H(t.label)??"Session",text:s,createdAt:H(t.createdAt),attachments:Array.isArray(t.attachments)?t.attachments:[],source:H(t.source)??"session",streaming:!0===t.streaming,metadata:z(t.metadata)}:null}function B(e){let t=z(e),a=H(t.kind);return a?{kind:a,message:"string"==typeof t.message?t.message:"",command:H(t.command)}:null}function J(e){let t=z(e);return 0===Object.keys(t).length?null:t}function K(e){if(!e||"object"!=typeof e||Array.isArray(e))return null;let t=z(e.openclaw),a=z(e.heartbeat),r=z(e.memory),s=H(e.projectId),n=H(e.threadId);return s&&n?{projectId:s,threadId:n,bridgeId:null===e.bridgeId?null:H(e.bridgeId),openclaw:{threadId:null===t.threadId?null:H(t.threadId),sessionId:null===t.sessionId?null:H(t.sessionId)},heartbeat:{state:null===a.state?null:H(a.state),nextAt:null===a.nextAt?null:H(a.nextAt)},memory:{projectPath:null===r.projectPath?null:H(r.projectPath),sessionPath:null===r.sessionPath?null:H(r.sessionPath)}}:null}function G(e){let t=z(e);return{entries:Array.isArray(t.entries)?t.entries.map(W).filter(e=>null!==e):[],totalEntries:"number"==typeof t.totalEntries?t.totalEntries:0,windowLimit:"number"==typeof t.windowLimit?t.windowLimit:120,truncated:!0===t.truncated,sessionStatus:H(t.sessionStatus),approvalState:H(t.approvalState),parserState:B(t.parserState),runtimeStatus:J(t.runtimeStatus),source:H(t.source),error:H(t.error),integration:K(t.integration)}}function Z(e){let t=z(e),a=H(t.id),r=H(t.repo),s=H(t.path);if(!a||!r||!s)return null;let n=z(t.pathHealth);return{id:a,displayName:H(t.displayName)??a,repo:r,path:s,agent:H(t.agent)??"codex",agentPermissions:H(t.agentPermissions)??"skip",agentModel:H(t.agentModel)??"",agentReasoningEffort:H(t.agentReasoningEffort)??"",workspaceMode:H(t.workspaceMode)??"local",runtimeMode:H(t.runtimeMode)??"ttyd",scmMode:H(t.scmMode)??"git",defaultWorkingDirectory:H(t.defaultWorkingDirectory)??"",defaultBranch:H(t.defaultBranch)??"main",devServerScript:H(t.devServerScript)??"",devServerCwd:H(t.devServerCwd)??"",devServerUrl:H(t.devServerUrl)??"",devServerPort:H(t.devServerPort)??"",devServerHost:H(t.devServerHost)??"",devServerPath:H(t.devServerPath)??"",devServerHttps:!0===t.devServerHttps,setupScript:H(t.setupScript)??"",runSetupInParallel:!0===t.runSetupInParallel,cleanupScript:H(t.cleanupScript)??"",archiveScript:H(t.archiveScript)??"",copyFiles:H(t.copyFiles)??"",pathHealth:{exists:!0===n.exists,isGitRepository:!0===n.isGitRepository,suggestedPath:H(n.suggestedPath)}}}function V({value:e,maxLength:t=84,className:a}){let s=e.trim(),l=s.length>t||e.includes("\n"),[i,o]=(0,n.useState)(!1);return l?(0,r.jsx)("button",{type:"button",onClick:()=>o(e=>!e),"aria-expanded":i,title:i?"Collapse text":"Expand text",className:(0,M.cn)("max-w-full text-left transition-colors hover:bg-[rgba(255,255,255,0.08)]",i?"whitespace-pre-wrap break-words":"truncate",a),children:i?s:function(e,t=84){let a=e.replace(/\s+/g," ").trim();return a.length<=t?a:`${a.slice(0,Math.max(0,t-1)).trimEnd()}…`}(s,t)}):(0,r.jsx)("span",{className:a,children:s})}function Y(e){let t=(0,D.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function Q({text:e}){return(0,r.jsx)(u.o,{remarkPlugins:[h.A],className:"min-w-0 break-words [overflow-wrap:anywhere]",components:{h1:({children:e})=>(0,r.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:e}),h2:({children:e})=>(0,r.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:e}),h3:({children:e})=>(0,r.jsx)("h3",{className:"mb-3 mt-6 text-[16px] font-semibold text-[var(--vk-text-normal)] first:mt-0 last:mb-0",children:e}),p:({children:e})=>(0,r.jsx)("p",{className:"mb-3 last:mb-0",children:e}),hr:()=>(0,r.jsx)("hr",{className:"my-8 border-0 border-t border-[var(--vk-border)]"}),pre:({children:e})=>(0,r.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:e}),code:({children:e,className:t})=>(0,r.jsx)("code",{className:(0,M.cn)("rounded-[6px] bg-[#171615] px-1.5 py-0.5 font-mono text-[12px] text-[var(--vk-text-normal)]",t),children:e}),ul:({children:e})=>(0,r.jsx)("ul",{className:"mb-3 list-disc pl-5 last:mb-0",children:e}),ol:({children:e})=>(0,r.jsx)("ol",{className:"mb-3 list-decimal pl-5 last:mb-0",children:e}),li:({children:e})=>(0,r.jsx)("li",{className:"mb-1 last:mb-0",children:e}),table:({children:e})=>(0,r.jsx)("div",{className:"mb-4 overflow-x-auto rounded-[12px] border border-[var(--vk-border)]",children:(0,r.jsx)("table",{className:"min-w-full border-collapse text-left text-[13px]",children:e})}),thead:({children:e})=>(0,r.jsx)("thead",{className:"bg-[rgba(255,255,255,0.03)]",children:e}),tbody:({children:e})=>(0,r.jsx)("tbody",{children:e}),tr:({children:e})=>(0,r.jsx)("tr",{className:"border-b border-[var(--vk-border)] last:border-b-0",children:e}),th:({children:e})=>(0,r.jsx)("th",{className:"px-4 py-3 text-[12px] font-medium text-[var(--vk-text-normal)]",children:e}),td:({children:e})=>(0,r.jsx)("td",{className:"px-4 py-3 align-top text-[13px] text-[var(--vk-text-muted)]",children:e})},children:e})}function X({label:e,tone:t="neutral"}){return(0,r.jsxs)("div",{className:(0,M.cn)("mb-3 flex items-center gap-3 rounded-[10px] border px-3 py-2","prompt"===t?"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,r.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,r.jsx)(b.A,{className:"h-4 w-4"})}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium",children:e}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Attached context"})]})]})}function ee({toolKind:e,toolTitle:t,className:a="h-4 w-4"}){let s=t.trim().toLowerCase(),n=e?.trim().toLowerCase()??"";return"thinking"===n||"thinking"===s?(0,r.jsx)(g.A,{className:(0,M.cn)(a,"text-[var(--vk-text-normal)]")}):"read"===n||s.startsWith("read ")||s.includes("review request")?(0,r.jsx)(b.A,{className:a}):"write"===n||"edit"===n||"multiedit"===n||s.startsWith("write")||s.startsWith("edit")?(0,r.jsx)(x.A,{className:a}):"grep"===n||"search"===n||"find"===n?(0,r.jsx)(f.A,{className:a}):"ls"===n||"glob"===n||"open"===n?(0,r.jsx)(v.A,{className:a}):"websearch"===n||"webfetch"===n?(0,r.jsx)(j.A,{className:a}):"task"===n||"todowrite"===n?(0,r.jsx)(o.A,{className:a}):s.includes("diff")||s.includes("workspace diff")||s.includes("git diff")?(0,r.jsx)(w.A,{className:a}):"bash"===n||"command"===n||s.startsWith("get diff")||s.startsWith("run ")?(0,r.jsx)(k.A,{className:a}):(0,r.jsx)(N.A,{className:a})}function et(e){switch(e){case"create":return"Task created";case"update":return"Task updated";case"handoff":return"Task handed off"}}function ea({entry:e,session:t}){var a;let s=function(e){if(!e)return null;let t=new Date(e).getTime();if(!Number.isFinite(t))return null;let a=Date.now()-t;return a<6e4?"just now":a<36e5?`${Math.max(1,Math.floor(a/6e4))}m ago`:new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(t)}(e.createdAt),n="assistant"===e.kind?"runtime"===e.source?"Thinking":Y(t.metadata.agent?.trim()||"assistant"):e.label||"Session",l=e.attachments.map(e=>{let t=z(e);return H(t.name)??H(t.path)??("string"==typeof e?e:null)}).filter(e=>!!e),i=H(e.metadata.toolTitle)??e.text,d=H(e.metadata.toolKind)?.toLowerCase()??null,c=Array.isArray(a=e.metadata.toolContent)?a.map(e=>H(e)).filter(e=>null!==e):[],x=c[0]??null,m=c[1]??null,p="assistant"===e.kind&&"runtime"===e.source,u="status"===e.kind&&"session-status"===e.source,h=function(e){if("system"!==e.kind)return null;let t=H(e.metadata.eventType),a=null;if("dispatcher_task_created"===t?a="create":"dispatcher_task_updated"===t?a="update":"dispatcher_task_handed_off"===t&&(a="handoff"),!a)return null;let r=H(e.metadata.taskId),s=H(e.metadata.taskRef)??r,n=H(e.metadata.taskTitle);return r&&s&&n?{operation:a,taskId:r,taskRef:s,taskTitle:n,taskRoleLabel:H(e.metadata.taskRoleLabel),taskAgent:H(e.metadata.taskAgent),taskType:H(e.metadata.taskType)}:null}(e);return"tool"===e.kind?(0,r.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,r.jsx)(ee,{toolKind:d,toolTitle:i,className:"h-4 w-4"})}),(0,r.jsxs)("div",{className:"min-w-0 flex-1 space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:i||"Tool call"}),x?(0,r.jsx)(V,{value:x,maxLength:72,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]"}):null,s?(0,r.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}),m?(0,r.jsx)(V,{value:m,maxLength:140,className:"block rounded-[6px] bg-[rgba(255,255,255,0.03)] px-2 py-1 text-[12px] leading-5 text-[var(--vk-text-muted)]"}):null]})]}):h?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(o.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:et(h.operation)}),s?(0,r.jsx)("span",{className:"ml-auto text-[11px]",children:s}):null]}),(0,r.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,r.jsxs)("div",{className:"flex flex-wrap items-start gap-2",children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"text-[12px] font-medium uppercase tracking-[0.08em] text-[rgba(255,255,255,0.58)]",children:et(h.operation)}),(0,r.jsx)("p",{className:"mt-1 break-words text-[16px] font-semibold text-[#fff5ee]",children:h.taskTitle})]}),(0,r.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:h.taskRef})]}),(0,r.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2 text-[11px] text-[rgba(255,255,255,0.72)]",children:[h.taskRoleLabel?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:h.taskRoleLabel}):null,h.taskAgent?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:Y(h.taskAgent)}):null,h.taskType?(0,r.jsx)("span",{className:"rounded-full bg-[rgba(255,255,255,0.08)] px-2.5 py-1",children:h.taskType}):null]})]})]}):p?(0,r.jsxs)("div",{className:"flex items-start gap-3 text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("div",{className:"mt-[2px] flex h-5 w-5 shrink-0 items-center justify-center text-[var(--vk-text-muted)]",children:(0,r.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-normal)]"})}),(0,r.jsx)("div",{className:"min-w-0 flex-1",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:"Thinking"}),e.text.trim().length>0?(0,r.jsx)(V,{value:e.text,maxLength:96,className:"rounded-[6px] bg-[rgba(255,255,255,0.05)] px-2 py-0.5 font-mono text-[11px] text-[var(--vk-text-muted)]"}):null,s?(0,r.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:s}):null]})})]}):u?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.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,r.jsx)(Q,{text:e.text})}),s?(0,r.jsx)("div",{className:"text-right text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):"user"===e.kind?(0,r.jsxs)("div",{className:"ml-auto max-w-[88%]",children:[(0,r.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:[l.map(t=>(0,r.jsx)(X,{label:t,tone:"prompt"},`${e.id}-${t}`)),(0,r.jsx)("div",{className:"text-[15px] leading-7 text-[#f4ede7]",children:(0,r.jsx)(Q,{text:e.text})})]}),s?(0,r.jsx)("div",{className:"mt-1 text-right text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):"assistant"===e.kind?(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"text-[15px] leading-8 text-[var(--vk-text-normal)]",children:[l.map(t=>(0,r.jsx)(X,{label:t},`${e.id}-${t}`)),(0,r.jsx)(Q,{text:e.text})]}),s?(0,r.jsx)("div",{className:"text-[11px] text-[var(--vk-text-muted)]",children:s}):null]}):(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["status"===e.kind?(0,r.jsx)(y.A,{className:"h-3.5 w-3.5"}):(0,r.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:n}),s?(0,r.jsx)("span",{className:"ml-auto text-[11px]",children:s}):null]}),(0,r.jsxs)("div",{className:(0,M.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:[l.map(t=>(0,r.jsx)(X,{label:t},`${e.id}-${t}`)),(0,r.jsx)(Q,{text:e.text})]})]})}function er({project:e,disabled:t=!1,saving:a=!1,onChange:n}){let l=e?.agent?.trim()||"codex";return(0,r.jsxs)(s.bL,{children:[(0,r.jsx)(s.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:t||!e,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:e?`Coding agent: ${Y(l)}`:"Project agent unavailable",children:[(0,r.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,r.jsx)(I.N,{seed:{label:l},className:"h-5 w-5 border-none bg-transparent"}),(0,r.jsx)("span",{className:"truncate",children:a?"Saving agent…":`Coding Agent \xb7 ${Y(l)}`})]}),a?(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(C.A,{className:"h-4 w-4 shrink-0"})]})}),(0,r.jsx)(s.ZL,{children:(0,r.jsxs)(s.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,r.jsx)("p",{className:"px-3 pb-1 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Coding agent"}),D.pN.map(e=>{let t=e.name===l;return(0,r.jsxs)(s.q7,{onSelect:()=>n(e.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,r.jsx)(I.N,{seed:{label:e.name},className:"h-5 w-5 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("p",{className:"truncate text-[13px] font-medium",children:e.label}),(0,r.jsx)("p",{className:"truncate text-[11px] text-[rgba(255,255,255,0.6)]",children:e.description})]}),t?(0,r.jsx)(d.A,{className:"h-4 w-4 text-white"}):null]},e.name)})]})})]})}let es=new Set(["queued","spawning","running","working"]),en=["## proposed plan","## intended board mutations","## intended tool calls","## task packet","task packet","board mutations"],el=["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"];function ei({session:e,bridgeId:t=null,onClose:a,onToggleCollapse:s,className:l,hideOpenSessionAction:o=!1,hideRepositoryControls:c=!1,hideSessionStatusBadge:x=!1,headerActions:m=null,composerInsert:u=null,composerToolbar:h=null,apiPaths:b}){let g=(0,p.useRouter)(),[f,v]=(0,n.useState)(q),[j,w]=(0,n.useState)(!0),[k,N]=(0,n.useState)(null),[y,C]=(0,n.useState)(""),[D,Q]=(0,n.useState)(null),[X,ee]=(0,n.useState)(!1),[et,eo]=(0,n.useState)(null),[ed,ec]=(0,n.useState)(!0),[ex,em]=(0,n.useState)(null),[ep,eu]=(0,n.useState)(!1),eh=(0,n.useRef)(null),eb=(0,n.useRef)(null),eg=(0,n.useRef)(!0),ef=(0,n.useMemo)(()=>({feed:b.feed,stream:b.stream,send:b.send,interrupt:b.interrupt??null,repositories:b.repositories??"/api/repositories"}),[b]),ev=(0,n.useMemo)(()=>{if("project_dispatcher"===e.metadata.sessionKind)return`Dispatcher / ${e.projectId}`;let t=e.issueId?.trim()||e.projectId,a=e.branch?.trim()||(0,T.kV)(e.id).slice(0,8);return`${t} / ${a}`},[e.branch,e.id,e.issueId,e.metadata.sessionKind,e.projectId]),ej=(0,n.useMemo)(()=>Y(et?.agent?.trim()||e.metadata.agent?.trim()||"agent"),[et?.agent,e.metadata.agent]),ew=(0,n.useMemo)(()=>f.sessionStatus?.trim()||e.status,[f.sessionStatus,e.status]),ek=(0,n.useMemo)(()=>ew.trim().toLowerCase(),[ew]),eN="project_dispatcher"===e.metadata.sessionKind,ey=f.approvalState??e.metadata.acpPlanApprovalState??null,eS=(0,n.useMemo)(()=>eN&&function(e,t,a){if("approval_required"!==t||a?.trim().toLowerCase()!=="needs_input")return!1;for(let t=e.length-1;t>=0;t--){let a=e[t];if("tool"!==a.kind&&"status"!==a.kind&&"system"!==a.kind){if("user"===a.kind)return!1;if("assistant"===a.kind)return function(e){let t=e.trim().toLowerCase();if(t.length<160)return!1;let a=en.reduce((e,a)=>e+ +!!t.includes(a),0),r=el.reduce((e,a)=>e+ +!!t.includes(a),0);return a>=2&&r>=1}(a.text)}}return!1}(f.entries,ey,f.sessionStatus??e.status),[ey,eN,f.entries,f.sessionStatus,e.status]),eC=!!ef.interrupt&&es.has(ek),eA=eN&&eC,e_=eC&&!eA,e$=!c||!x||e_,eE="archived"!==e.status&&!(eN&&eC),eI=(0,n.useCallback)(async()=>{if(c){eo(null),em(null),ec(!1);return}ec(!0),em(null);try{let a=await fetch((0,P.S)(ef.repositories,t),{cache:"no-store"}),r=z(await a.json().catch(()=>null));if(!a.ok)throw Error(H(r.error)??`Failed to load project settings (${a.status})`);let s=Array.isArray(r.repositories)?r.repositories.map(Z).find(t=>null!==t&&t.id===e.projectId)??null:null;eo(s),s||em("Project settings were not found for this session.")}catch(e){eo(null),em(e instanceof Error?e.message:"Failed to load project settings")}finally{ec(!1)}},[t,c,e.projectId,ef.repositories]),eL=(0,n.useCallback)(async()=>{w(!0),N(null);try{let e=await fetch((0,P.S)(ef.feed,t),{cache:"no-store"}),a=G(await e.json().catch(()=>null));if(!e.ok)throw Error(a.error??`Failed to load session feed (${e.status})`);v(a)}catch(e){N(e instanceof Error?e.message:"Failed to load session feed"),v(q)}finally{w(!1)}},[t,ef.feed]);(0,n.useEffect)(()=>{eL()},[eL]),(0,n.useEffect)(()=>{c||eI()},[c,eI]),(0,n.useEffect)(()=>{let a=!1,r=null,s=0,n={current:null},l=()=>{null!==r&&(window.clearTimeout(r),r=null)},i=t=>{let a=null;try{a=JSON.parse(t)}catch{eL();return}let r=a&&"object"==typeof a&&!Array.isArray(a)?a:null;if(r?.type==="refresh"){(0,F.Fp)({projectId:e.projectId,reason:"dispatcher_feed_refresh"}),eL();return}let s=function(e){let t=z(e),a=H(t.type);if(!a&&Array.isArray(t.entries))return{type:"replace",payload:G(e)};if("replace"===a)return{type:a,payload:G(t.payload)};if("append"===a){let e=G(t);return{type:a,entries:e.entries,totalEntries:e.totalEntries,windowLimit:e.windowLimit,truncated:e.truncated,sessionStatus:e.sessionStatus,approvalState:e.approvalState,parserState:e.parserState,runtimeStatus:e.runtimeStatus,source:e.source,error:e.error,integration:e.integration}}if("patch"===a){let e=H(t.entryId);return e?{type:a,entryId:e,entry:W(t.entry),textDelta:"string"==typeof t.textDelta?t.textDelta:null,totalEntries:"number"==typeof t.totalEntries?t.totalEntries:0,windowLimit:"number"==typeof t.windowLimit?t.windowLimit:120,truncated:!0===t.truncated,sessionStatus:H(t.sessionStatus),approvalState:H(t.approvalState),parserState:B(t.parserState),runtimeStatus:J(t.runtimeStatus),source:H(t.source),error:H(t.error),integration:K(t.integration)}:null}return null}(a);if(!s)return;let n="append"===s.type?(0,F.AR)(s.entries):null;n&&(0,F.Fp)({projectId:e.projectId,reason:n}),v(e=>(function(e,t){if("replace"===t.type)return t.payload;if("append"===t.type)return{entries:[...e.entries,...t.entries],totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration};let a=t.entry;if(!a)return{...e,totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration};let r=e.entries.slice(),s=-1;for(let e=r.length-1;e>=0;e-=1)if(r[e]?.id===t.entryId){s=e;break}if(s>=0){let e=r[s];null!==t.textDelta&&a.text.startsWith(e.text)?r[s]={...a,text:e.text+t.textDelta}:r[s]=a}else r.push(a);return{entries:r,totalEntries:t.totalEntries,windowLimit:t.windowLimit,truncated:t.truncated,sessionStatus:t.sessionStatus,approvalState:t.approvalState,parserState:t.parserState,runtimeStatus:t.runtimeStatus,source:t.source,error:t.error,integration:t.integration??e.integration}})(e,s))},o=()=>{if(a)return;l();let e=0===s?250:Math.min(500*2**(s-1),12e3);s+=1,r=window.setTimeout(()=>{r=null,d()},e)},d=async()=>{if(a)return;n.current?.abort();let e=new AbortController;n.current=e;let r=(0,P.S)(ef.stream,t);try{let t=await fetch(r,{cache:"no-store",signal:e.signal});if(!t.ok||!t.body){a||(eL(),o());return}for await(let r of(s=0,(0,O.w)(t.body,e.signal))){if(a)return;i(r.data)}a||(eL(),o())}catch{a||e.signal.aborted||(eL(),o())}};return d(),()=>{a=!0,l(),n.current?.abort()}},[t,eL,e.projectId,ef.stream]),(0,n.useEffect)(()=>{eg.current=!0},[e.id]),(0,n.useEffect)(()=>{if(!eh.current||!eg.current)return;let e=window.requestAnimationFrame(()=>{let e=eh.current;e&&eg.current&&(e.scrollTo({top:e.scrollHeight}),eg.current=U(e))});return()=>window.cancelAnimationFrame(e)},[f]),(0,n.useEffect)(()=>{let e=eh.current,t=eb.current;if(!e||!t||"u"<typeof ResizeObserver)return;let a=new ResizeObserver(()=>{eg.current&&(e.scrollTo({top:e.scrollHeight}),eg.current=U(e))});return a.observe(t),()=>a.disconnect()},[j,k,e.id]);let eT=(0,n.useCallback)(e=>{eg.current=U(e.currentTarget)},[]);(0,n.useEffect)(()=>{u&&C(e=>{let t=u.draftText.trim();if(!t)return e;let a=e.trim();return a?a.includes(t)?e:`${e.trimEnd()}
2
+
3
+ ${t}`:t})},[u]);let eM=(0,n.useCallback)(async e=>{let a=e.trim();if(!a||X)return!1;ee(!0),Q(null);try{let e=await fetch((0,P.S)(ef.send,t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({message:a})}),r=await e.json().catch(()=>null);if(!e.ok)throw Error(H(z(r).error)??`Failed to send message (${e.status})`);return!0}catch(e){return Q(e instanceof Error?e.message:"Failed to send message"),!1}finally{ee(!1)}},[t,X,ef.send]),eP=(0,n.useCallback)(async()=>{let e=y.trim();!e||await eM(e)&&C("")},[y,eM]),eR=(0,n.useCallback)(async e=>{await eM(e)},[eM]),eF=(0,n.useCallback)(async e=>{if(et&&!ep&&e!==et.agent){eu(!0),em(null);try{let a=await fetch((0,P.S)(ef.repositories,t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({...et,agent:e})}),r=z(await a.json().catch(()=>null));if(!a.ok)throw Error(H(r.error)??`Failed to update coding agent (${a.status})`);let s=Z(r.repository);s?eo(s):eo(t=>t?{...t,agent:e}:t)}catch(e){em(e instanceof Error?e.message:"Failed to update coding agent")}finally{eu(!1)}}},[t,et,ep,ef.repositories]),eD=(0,n.useCallback)(async()=>{if(ef.interrupt){ee(!0),Q(null);try{let e=await fetch((0,P.S)(ef.interrupt,t),{method:"POST"}),a=await e.json().catch(()=>null);if(!e.ok)throw Error(H(z(a).error)??`Failed to interrupt session (${e.status})`)}catch(e){Q(e instanceof Error?e.message:"Failed to interrupt session")}finally{ee(!1)}}},[t,ef.interrupt]);return(0,r.jsxs)("aside",{className:(0,M.cn)("flex h-full 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",l),children:[(0,r.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate",children:ev}),m,s?(0,r.jsx)("button",{type:"button",onClick:s,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,r.jsx)(A.A,{className:"h-3.5 w-3.5"})}):null,o?null:(0,r.jsx)("button",{type:"button",onClick:()=>g.push((0,R.s)(e.id,{bridgeId:t,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,r.jsx)(_.A,{className:"h-3.5 w-3.5"})}),a?(0,r.jsx)("button",{type:"button",onClick:a,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,r.jsx)($.A,{className:"h-3.5 w-3.5"})}):null]}),(0,r.jsx)("div",{ref:eh,onScroll:eT,className:"min-h-0 min-w-0 flex-1 overflow-y-auto overflow-x-hidden px-3 py-4 sm:px-4",children:j?(0,r.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher activity..."]}):k?(0,r.jsx)("div",{className:"rounded-[3px] 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:k}):(0,r.jsxs)("div",{ref:eb,className:"space-y-5",children:[f.parserState||f.truncated?(0,r.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:[f.parserState?(0,r.jsxs)(r.Fragment,{children:[(0,r.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,r.jsx)(i.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:f.parserState.kind})]}),f.parserState.command?(0,r.jsx)(V,{value:f.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,f.truncated?(0,r.jsxs)(r.Fragment,{children:[f.parserState?(0,r.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}):null,(0,r.jsxs)("span",{children:["Showing latest ",f.windowLimit]})]}):null]}):null,0===f.entries.length?(0,r.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."}):f.entries.map(t=>(0,r.jsx)(ea,{entry:t,session:e},t.id))]})}),(0,r.jsxs)("div",{className:"border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-4 sm:px-4",children:[e$?(0,r.jsxs)("div",{className:"mb-3 flex min-w-0 flex-col gap-2 sm:flex-row sm:flex-wrap sm:items-center",children:[c?null:(0,r.jsx)(er,{project:et,disabled:ed,saving:ep,onChange:e=>void eF(e)}),x?null:(0,r.jsxs)("div",{className:(0,M.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)]",c?null:"sm:ml-auto"),children:[(0,r.jsx)(I.N,{seed:{label:ej},className:"h-4 w-4 border-none bg-transparent"}),(0,r.jsx)("span",{children:ej}),(0,r.jsx)("span",{className:"text-[var(--vk-text-dim)]",children:"•"}),(0,r.jsx)("span",{children:ew})]}),e_?(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:X,onClick:()=>void eD(),className:"h-[31px] rounded-[6px] 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:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Stop"})]}):null]}):null,ex?(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,r.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:ex})]}):null,D?(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5 text-[11px] text-[var(--vk-red)]",children:[(0,r.jsx)(S.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:D})]}):null,eS?(0,r.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,r.jsxs)("div",{className:"flex items-center gap-2 text-[13px] font-medium text-[#f6ead0]",children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Plan-only review ready"})]}),(0,r.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,r.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,r.jsxs)(L.$,{type:"button",size:"sm",disabled:!eE||X,onClick:()=>void eR("approve"),className:"h-[31px] rounded-[6px] border-[rgba(255,255,255,0.08)] bg-[#e6c786] px-3 text-[13px] text-[#22170d] hover:bg-[#edd39d]",children:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(d.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Approve plan"})]}),(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:!eE||X,onClick:()=>void eR("reject"),className:"h-[31px] rounded-[6px] 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,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Request changes"})]})]})]}):null,(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),eP()},className:"rounded-[3px] border border-[var(--vk-border)] bg-[#1f1f1f] px-2.5 py-2.5 sm:px-3 sm:py-3",children:[h?(0,r.jsx)("div",{className:"mb-2.5 sm:mb-3",children:h}):null,(0,r.jsx)("textarea",{value:y,onChange:e=>C(e.target.value),placeholder:"Ask the dispatcher to shape work, create tasks, or update the board...",disabled:!eE||X,rows:2,className:"w-full resize-none bg-transparent text-[15px] leading-5 text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)] disabled:opacity-60 sm:text-[16px] sm:leading-6"}),(0,r.jsx)("div",{className:"mt-2.5 flex items-center justify-end sm:mt-3",children:eA?(0,r.jsxs)(L.$,{type:"button",variant:"outline",size:"sm",disabled:X,onClick:()=>void eD(),className:"h-[29px] rounded-[3px] border-[var(--vk-border)] bg-[#292929] px-3 text-[14px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)($.A,{className:"h-3.5 w-3.5"}),(0,r.jsx)("span",{children:"Stop"})]}):(0,r.jsx)(L.$,{type:"submit",variant:"outline",size:"sm",disabled:!eE||X||0===y.trim().length,className:"h-[29px] rounded-[3px] border-[var(--vk-border)] bg-[#292929] px-3 text-[14px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:X?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"Send"}),(0,r.jsx)(E.A,{className:"h-3.5 w-3.5"})]})})})]})]})]})}var eo=a(88272);function ed(e,t,a=""){let r=e.metadata?.[t];return"string"==typeof r&&r.trim().length>0?r:a}function ec(e){let t=(e.summary?.trim()||e.metadata.summary?.trim()||"").replace(/\s+/g," ").trim();return t||("needs_input"===e.status?"Waiting for follow-up":"working"===e.status?"Working":`Thread ${e.id.slice(0,8)}`)}function ex({thread:e,deleting:t,error:a,onCancel:s,onConfirm:n}){if("u"<typeof document)return null;let o=ec(e);return(0,l.createPortal)((0,r.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{t||s()},children:(0,r.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:e=>e.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"delete-dispatcher-thread-title",children:[(0,r.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,r.jsx)("h2",{id:"delete-dispatcher-thread-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Delete Dispatcher Thread"}),(0,r.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Delete thread ",(0,r.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:e.id.slice(0,8)})," from this project."]})]}),(0,r.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,r.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,r.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,r.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Thread summary"}),(0,r.jsx)("p",{className:"mt-1 line-clamp-4 text-[13px] leading-5 text-[var(--vk-text-normal)]",children:o})]}),a?(0,r.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:a}):null]}),(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,r.jsx)(L.$,{type:"button",variant:"ghost",onClick:s,disabled:t,children:"Cancel"}),(0,r.jsxs)(L.$,{type:"button",variant:"danger",onClick:()=>void n(),disabled:t,children:[t?(0,r.jsx)(i.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Delete Thread"]})]})]})}),document.body)}function em({thread:e,threads:t=[],projectId:a,bridgeId:l,modelAccess:p={},runtimeModelCatalogs:u={},onSelectThread:h,onDeleteThread:b,deletingThreadId:g=null,onStartNewConversation:f,creatingConversation:v=!1,onToggleCollapse:j,className:w}){let k=(0,n.useMemo)(()=>ed(e,"acpImplementationAgent","codex"),[e]),N=(0,n.useMemo)(()=>ed(e,"acpImplementationModel"),[e]),y=(0,n.useMemo)(()=>ed(e,"acpImplementationReasoningEffort"),[e]),[S,C]=(0,n.useState)(k),[A,_]=(0,n.useState)(!1),[$,E]=(0,n.useState)(null),[I,L]=(0,n.useState)(null),[T,M]=(0,n.useState)(()=>(0,eo.c0)(k,p,u,N||null,y||null)),[R,F]=(0,n.useState)(!1),D=Object.keys(u).length>0;(0,n.useEffect)(()=>{C(k),M((0,eo.c0)(k,p,u,N||null,y||null))},[p,k,N,y,u]);let O=(0,n.useMemo)(()=>t.find(e=>e.id===$)??null,[$,t]);(0,n.useEffect)(()=>{$&&!O&&(E(null),L(null))},[O,$]);let U=(0,n.useMemo)(()=>`threadId=${encodeURIComponent(e.id)}`,[e.id]),q=t.length>0&&(t.length>1||!!b),z=(0,n.useCallback)(async(e,t)=>{F(!0);try{let r={implementationAgent:e,implementationModel:(0,eo.xb)(t)??"",implementationReasoningEffort:(0,eo.aB)(t)??""},s=await fetch((0,P.S)(`/api/projects/${a}/dispatcher/preferences?${U}`,l),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!s.ok){let e=await s.json().catch(()=>null);throw Error(e?.error??"Failed to update dispatcher preferences")}}finally{F(!1)}},[l,a,U]),H=(0,n.useCallback)(e=>{let t=(0,eo.c0)(e,p,u,null,null);C(e),M(t),z(e,t)},[p,z,u]),W=(0,n.useCallback)(e=>{M(e),z(S,e)},[S,z]),B=(0,n.useCallback)(async()=>{if(O&&b){L(null);try{await b(O.id),E(null)}catch(e){L(e instanceof Error?e.message:"Failed to delete dispatcher thread")}}},[O,b]),J=(0,r.jsxs)(r.Fragment,{children:[q?(0,r.jsxs)(s.bL,{open:A,onOpenChange:_,children:[(0,r.jsx)(s.l9,{asChild:!0,children:(0,r.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,r.jsx)(o.A,{className:"h-3.5 w-3.5"})})}),(0,r.jsx)(s.ZL,{children:(0,r.jsxs)(s.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,r.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,r.jsx)("div",{className:"max-h-[70vh] space-y-1 overflow-y-auto pr-1",children:t.map(t=>{let a=t.id===e.id,n=g===t.id,l=ec(t);return(0,r.jsxs)("div",{className:"flex items-stretch gap-2",children:[(0,r.jsx)(s.q7,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",onClick:()=>{h?.(t.id),_(!1)},disabled:n,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,r.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:a?(0,r.jsx)(d.A,{className:"h-3 w-3"}):(0,r.jsx)(o.A,{className:"h-3 w-3"})}),(0,r.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,r.jsx)("span",{className:"block line-clamp-2 break-words text-[13px] font-medium leading-5",children:l}),(0,r.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,r.jsx)("span",{children:function(e){let t=new Date(e).getTime();if(!Number.isFinite(t))return"Recently";let a=Math.max(0,Math.round((Date.now()-t)/1e3));return a<60?"Just now":a<3600?`${Math.floor(a/60)}m ago`:a<86400?`${Math.floor(a/3600)}h ago`:`${Math.floor(a/86400)}d ago`}(t.lastActivityAt)}),(0,r.jsx)("span",{className:"truncate",children:t.id.slice(0,8)})]})]})]})}),b?(0,r.jsx)("button",{type:"button",onClick:()=>{_(!1),L(null),E(t.id)},disabled:!!g,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 ${t.id.slice(0,8)}`,title:"Delete thread",children:n?(0,r.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,r.jsx)(c.A,{className:"h-4 w-4"})}):null]},t.id)})})]})})]}):null,f?(0,r.jsx)("button",{type:"button",onClick:f,disabled:v,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:v?(0,r.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,r.jsx)(x.A,{className:"h-3.5 w-3.5"})}):null]}),K=D?(0,r.jsx)(m.s,{implementationAgent:S,modelSelection:T,modelAccess:p,runtimeModelCatalogs:u,disabled:R,onImplementationAgentChange:H,onModelSelectionChange:W}):null;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(ei,{session:e,bridgeId:l,onToggleCollapse:j,className:w,hideOpenSessionAction:!0,hideRepositoryControls:!0,hideSessionStatusBadge:!0,headerActions:J,composerToolbar:K,apiPaths:{feed:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed?limit=120&${U}`,stream:`/api/projects/${encodeURIComponent(a)}/dispatcher/feed/stream?limit=120&${U}`,send:`/api/projects/${encodeURIComponent(a)}/dispatcher/send?${U}`,interrupt:`/api/projects/${encodeURIComponent(a)}/dispatcher/interrupt?${U}`,integration:`/api/projects/${encodeURIComponent(a)}/dispatcher/integration?${U}`}}),O?(0,r.jsx)(ex,{thread:O,deleting:g===O.id,error:I,onCancel:()=>{g||(E(null),L(null))},onConfirm:B}):null]})}},64323:(e,t,a)=>{a.d(t,{M:()=>s});var r=a(5739);function s(e,t){let a=t.trim(),s=(0,r.q)(e);if(!a)return a;if("claude-code"===s){let e=a.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return a.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}a(76196)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8083],{8083:(e,c,r)=>{r.r(c),r.d(c,{createOrReadKeylessAction:()=>l.a,deleteKeylessAction:()=>t,detectKeylessEnvDriftAction:()=>s.A,syncKeylessConfigAction:()=>n});var a=r(5974);let t=(0,a.createServerReference)("004b2317e5bcb1cc312f641f0f311f53b699935774",a.callServer,void 0,a.findSourceMapURL,"deleteKeylessAction");var s=r(28777),l=r(51921);let n=(0,a.createServerReference)("4041bda0259761fda86deb81e4ac2102b44a1383df",a.callServer,void 0,a.findSourceMapURL,"syncKeylessConfigAction")},51921:(e,c,r)=>{r.d(c,{a:()=>t});var a=r(5974);let t=(0,a.createServerReference)("00a38d197e5ba97b53ad73087646826c41eb8253f6",a.callServer,void 0,a.findSourceMapURL,"createOrReadKeylessAction")}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(6455).then(r.bind(r,86455)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(69997),T=r(56467);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8510],{2609:(e,t,r)=>{"use strict";r.d(t,{T5:()=>s.T5,hP:()=>n.hP,nO:()=>s.nO,yC:()=>o}),r(16744);var n=r(70590),s=r(87835);function o(e,t,r){let s=t.path||(null==r?void 0:r.path);return"path"===(t.routing||(null==r?void 0:r.routing)||"path")?s?{...r,...t,routing:"path"}:n.sb.throw((0,n.kd)(e)):t.path?n.sb.throw((0,n.s7)(e)):{...r,...t,path:void 0}}},2896:(e,t,r)=>{"use strict";function n({moduleIds:e}){return null}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PreloadChunks",{enumerable:!0,get:function(){return n}}),r(54568),r(97509),r(85999),r(12918),r(32106)},5974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={callServer:function(){return o.callServer},createServerReference:function(){return i.createServerReference},findSourceMapURL:function(){return a.findSourceMapURL}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(34273),a=r(16409),i=r(97102)},6035:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(59113).createAsyncLocalStorage)()},6974:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(74468)._(r(7620)).default.createContext(null)},10594:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={default:function(){return h},handleClientScriptLoad:function(){return y},initScriptLoader:function(){return v}};for(var s in n)Object.defineProperty(t,s,{enumerable:!0,get:n[s]});let o=r(74468),a=r(99649),i=r(54568),l=o._(r(97509)),c=a._(r(7620)),u=r(2737),d=r(66161),p=r(71341),f=new Map,b=new Set,m=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:s=null,dangerouslySetInnerHTML:o,children:a="",strategy:i="afterInteractive",onError:c,stylesheets:u}=e,p=r||t;if(p&&b.has(p))return;if(f.has(t)){b.add(p),f.get(t).then(n,c);return}let m=()=>{s&&s(),b.add(p)},y=document.createElement("script"),v=new Promise((e,t)=>{y.addEventListener("load",function(t){e(),n&&n.call(this,t),m()}),y.addEventListener("error",function(e){t(e)})}).catch(function(e){c&&c(e)});o?(y.innerHTML=o.__html||"",m()):a?(y.textContent="string"==typeof a?a:Array.isArray(a)?a.join(""):"",m()):t&&(y.src=t,f.set(t,v)),(0,d.setAttributesFromProps)(y,e),"worker"===i&&y.setAttribute("type","text/partytown"),y.setAttribute("data-nscript",i),u&&(e=>{if(l.default.preinit)return e.forEach(e=>{l.default.preinit(e,{as:"style"})});{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}})(u),document.body.appendChild(y)};function y(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}):m(e)}function v(e){e.forEach(y),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");b.add(t)})}function _(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:s=null,strategy:o="afterInteractive",onError:a,stylesheets:d,...f}=e,{updateScripts:y,scripts:v,getIsSsr:_,appDir:h,nonce:g}=(0,c.useContext)(u.HeadManagerContext);g=f.nonce||g;let w=(0,c.useRef)(!1);(0,c.useEffect)(()=>{let e=t||r;w.current||(s&&e&&b.has(e)&&s(),w.current=!0)},[s,t,r]);let E=(0,c.useRef)(!1);if((0,c.useEffect)(()=>{if(!E.current){if("afterInteractive"===o)m(e);else"lazyOnload"===o&&("complete"===document.readyState?(0,p.requestIdleCallback)(()=>m(e)):window.addEventListener("load",()=>{(0,p.requestIdleCallback)(()=>m(e))}));E.current=!0}},[e,o]),("beforeInteractive"===o||"worker"===o)&&(y?(v[o]=(v[o]||[]).concat([{id:t,src:r,onLoad:n,onReady:s,onError:a,...f,nonce:g}]),y(v)):_&&_()?b.add(t||r):_&&!_()&&m({...e,nonce:g})),h){if(d&&d.forEach(e=>{l.default.preinit(e,{as:"style"})}),"beforeInteractive"===o)if(!r)return f.dangerouslySetInnerHTML&&(f.children=f.dangerouslySetInnerHTML.__html,delete f.dangerouslySetInnerHTML),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([0,{...f,id:t}])})`}});else return l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin}),(0,i.jsx)("script",{nonce:g,dangerouslySetInnerHTML:{__html:`(self.__next_s=self.__next_s||[]).push(${JSON.stringify([r,{...f,id:t}])})`}});"afterInteractive"===o&&r&&l.default.preload(r,f.integrity?{as:"script",integrity:f.integrity,nonce:g,crossOrigin:f.crossOrigin}:{as:"script",nonce:g,crossOrigin:f.crossOrigin})}return null}Object.defineProperty(_,"__nextScript",{value:!0});let h=_;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},23597:(e,t,r)=>{"use strict";function n({reason:e,children:t}){return t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BailoutToCSR",{enumerable:!0,get:function(){return n}}),r(61841)},30679:(e,t,r)=>{"use strict";r.d(t,{PromisifiedAuthProvider:()=>l,d:()=>c});var n=r(30524),s=r(2609),o=r(45836),a=r(7620);let i=a.createContext(null);function l({authPromise:e,children:t}){return a.createElement(i.Provider,{value:e},t)}function c(e={}){let t=(0,o.useRouter)(),r=a.useContext(i),l=r;return(r&&"then"in r&&(l=a.use(r)),"u"<typeof window)?t?(0,n.As)(e):(0,s.hP)({...l,...e}):(0,n.As)({...l,...e})}},36727:(e,t,r)=>{"use strict";r.r(t),r.d(t,{KeylessCookieSync:()=>a});var n=r(79748),s=r(7620),o=r(38036);function a(e){var t;let a=(null==(t=(0,n.useSelectedLayoutSegments)()[0])?void 0:t.startsWith("/_not-found"))||!1;return(0,s.useEffect)(()=>{o.I&&!a&&r.e(8083).then(r.bind(r,8083)).then(t=>t.syncKeylessConfigAction({...e,returnUrl:window.location.href}))},[a]),e.children}},37204:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ClientClerkProvider:()=>O});var n=r(30524),s=r(20602);let o=new Set;var a=r(42925),i=r(79748),l=r(99321),c=r(7620);let u="u">typeof window?c.useLayoutEffect:c.useEffect,d=c.createContext(void 0);d.displayName="ClerkNextOptionsCtx";let p=()=>{let e=c.useContext(d);return null==e?void 0:e.value},f=e=>{let{children:t,options:r}=e;return c.createElement(d.Provider,{value:{value:r}},t)};var b=r(2609),m=r(10594),y=r.n(m);function v(e){let{publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a}=p(),{domain:i,proxyUrl:l}=(0,n.ho)();if(!t)return null;let u={domain:i,proxyUrl:l,publishableKey:t,clerkJSUrl:r,clerkJSVersion:s,clerkJSVariant:o,nonce:a},d=(0,b.nO)(u),f="app"===e.router?"script":y();return c.createElement(f,{src:d,"data-clerk-js-script":!0,async:!0,defer:"pages"!==e.router&&void 0,crossOrigin:"anonymous",strategy:"pages"===e.router?"beforeInteractive":void 0,...(0,b.T5)(u)})}var _=r(38036),h=r(76975),g=r(67160),w=r(63680);let E=e=>{var t;return{...e,publishableKey:e.publishableKey||w.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY||"",clerkJSUrl:e.clerkJSUrl||w.env.NEXT_PUBLIC_CLERK_JS_URL,clerkJSVersion:e.clerkJSVersion||w.env.NEXT_PUBLIC_CLERK_JS_VERSION,proxyUrl:e.proxyUrl||w.env.NEXT_PUBLIC_CLERK_PROXY_URL||"",domain:e.domain||w.env.NEXT_PUBLIC_CLERK_DOMAIN||"",isSatellite:e.isSatellite||(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_IS_SATELLITE),signInUrl:e.signInUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_URL||"",signUpUrl:e.signUpUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_URL||"",signInForceRedirectUrl:e.signInForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FORCE_REDIRECT_URL||"",signUpForceRedirectUrl:e.signUpForceRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FORCE_REDIRECT_URL||"",signInFallbackRedirectUrl:e.signInFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL||"",signUpFallbackRedirectUrl:e.signUpFallbackRedirectUrl||w.env.NEXT_PUBLIC_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL||"",afterSignInUrl:e.afterSignInUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL||"",afterSignUpUrl:e.afterSignUpUrl||w.env.NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL||"",newSubscriptionRedirectUrl:e.newSubscriptionRedirectUrl||w.env.NEXT_PUBLIC_CLERK_CHECKOUT_CONTINUE_URL||"",telemetry:null!=(t=e.telemetry)?t:{disabled:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DISABLED),debug:(0,h.zz)(w.env.NEXT_PUBLIC_CLERK_TELEMETRY_DEBUG)},sdkMetadata:g.tm}};var x=r(3102),C=r(57042);let k=()=>{var e,t;let r=(0,n.ho)(),{pagesRouter:s}=(0,C.r)();return null==(t=r.telemetry)||t.record((0,x.YF)({router:s?"pages":"app",...(null==(e=null==globalThis?void 0:globalThis.next)?void 0:e.version)?{nextjsVersion:globalThis.next.version}:{}})),null};var L=r(43458),R=r(28777),T=r(58231);let j=e=>{var t;return null!=window.__clerk_internal_navigations||(window.__clerk_internal_navigations={}),null!=(t=window.__clerk_internal_navigations)[e]||(t[e]={}),window.__clerk_internal_navigations[e]},I=e=>{let{windowNav:t,routerNav:r,name:n}=e,s=(0,i.usePathname)(),[o,a]=(0,c.useTransition)();t&&(j(n).fun=(e,s)=>new Promise(o=>{var i,l;null!=(i=j(n)).promisesBuffer||(i.promisesBuffer=[]),null==(l=j(n).promisesBuffer)||l.push(o),a(()=>{var n,o,a;if((null==(n=null==s?void 0:s.__internal_metadata)?void 0:n.navigationType)==="internal")t((null!=(a=null==(o=window.next)?void 0:o.version)?a:"")<"14.1.0"?history.state:null,"",e);else r(e)})}));let l=()=>{var e;null==(e=j(n).promisesBuffer)||e.forEach(e=>e()),j(n).promisesBuffer=[]};return(0,c.useEffect)(()=>(l(),l),[]),(0,c.useEffect)(()=>{o||l()},[s,o]),(0,c.useCallback)((e,t)=>j(n).fun(e,t),[])},P=(0,a.default)(()=>r.e(4443).then(r.bind(r,34443)).then(e=>e.KeylessCreatorOrReader),{loadableGenerated:{webpack:()=>[34443]}}),S=e=>{let t,r;if(L.M0){var a,d;let e=`Clerk:
2
2
  Your current Next.js version (${l.version}) will be deprecated in the next major release of "@clerk/nextjs". Please upgrade to next@14.1.0 or later.`;(0,s.M)()?(a=e,o.has(a)||(o.add(a),console.warn(a))):(d=`
3
3
  \x1b[43m----------
4
4
  ${e}
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9739],{2939:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},18259:(e,t,r)=>{r.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let a="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function o(e,t){let r=r=>{let a=r.detail;a&&a.projectId===e&&t(a)};return window.addEventListener(a,r),()=>{window.removeEventListener(a,r)}}},18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},23555:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},26083:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},26463:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},59207:(e,t,r)=>{r.d(t,{g:()=>l});var a=r(7620),s=r(31404);function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e,t){let r=t?.enabled??!0,[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(r),[c,x]=(0,a.useState)(null),m=(0,a.useCallback)(async()=>{if(!r){i(null),x(null),d(!1);return}try{var t;let r,a,l,o=await fetch((0,s.S)("/api/preferences",e)),d=await o.json().catch(()=>null);if(!o.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${o.status}`);i((t=d?.preferences,r=n(t),l=(a=n(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===l?null:"string"==typeof l&&l.trim().length>0?l.trim():"abstract-sound-4"}})),x(null)}catch(e){i(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,r]);return(0,a.useEffect)(()=>{r&&m()},[r,m]),{preferences:r?l:null,loading:!!r&&o,error:r?c:null,refresh:m}}},61469:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},67447:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},76265:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(13454).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},79739:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceKanban:()=>e_});var a=r(54568),s=r(40448),n=r(7620),l=r(79748),i=r(58299),o=r(26083),d=r(34041),c=r(76265),x=r(45894),m=r(26463),p=r(13454);let u=(0,p.A)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);var v=r(2939),h=r(34309);let b=(0,p.A)("pencil",[["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"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),g=(0,p.A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),f=(0,p.A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var k=r(67447),j=r(23555),y=r(54299);let N=(0,p.A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),w=(0,p.A)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var C=r(36645);let A=(0,p.A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var S=r(61469),P=r(60527),$=r(90124),I=r(59207),E=r(10926),M=r(31404),_=r(46916),R=r(18510),L=r(18259),D=r(17210),O=r(76050);function F(e){return(0,O.tK)({metadata:e?.metadata??{}})}let T={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},B={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},z={intake:"New tasks",ready:"Cleared to dispatch",dispatching:"Launching agents",inProgress:"Agents working",needsInput:"Human needed",blocked:"Blocked on dependency",errored:"Needs attention",review:"Code waiting on eyes",merge:"Ready to land",done:"Completed",cancelled:"Cancelled"},G={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},U=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],H=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}],J="z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",q="conductor:board-layout",W="conductor:board-list-view:v2",V=["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"],K=["high","medium","low"],Z={roles:[],priorities:[],agents:[],sortField:"title",sortDir:"asc",groupBy:"status",collapsedGroups:[]},Q={...Z,groupBy:"none"},Y=[{label:"All",roles:[]},{label:"Active",roles:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]},{label:"Backlog",roles:["intake","ready"]},{label:"Done",roles:["done","cancelled"]}];function X(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function ee(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function et(e,t){if(!t)return!0;let r=e.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${e.text} ${e.agent??""} ${e.type??""} ${e.priority??""} ${e.issueId??""} ${e.notes??""} ${e.briefPath??""} ${e.attachments.join(" ")} ${r}`.toLowerCase().includes(t)}function er(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ea(e){return e.taskRef?.trim()||(e.id.length>12?`TASK-${e.id.split("-")[0]?.toUpperCase()??e.id.toUpperCase()}`:e.id)}function es(e){return V.indexOf(e)}function en(e){if(!e)return K.length;let t=K.indexOf(e);return t>=0?t:K.length}function el(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function ei(e,t){if(e.length!==t.length)return!1;let r=[...e].sort(),a=[...t].sort();return r.every((e,t)=>e===a[t])}function eo(e){try{var t;let r=window.localStorage.getItem(e);if(!r)return{...Z};let a=JSON.parse(r),s={...Z,...a,roles:Array.isArray(a.roles)?a.roles.filter(e=>V.includes(e)):[],priorities:Array.isArray(a.priorities)?a.priorities.filter(e=>"string"==typeof e):[],agents:Array.isArray(a.agents)?a.agents.filter(e=>"string"==typeof e):[],groupBy:(t=a.groupBy,"status"===t||"priority"===t||"assignee"===t||"none"===t?t:Z.groupBy),collapsedGroups:Array.isArray(a.collapsedGroups)?a.collapsedGroups.filter(e=>"string"==typeof e):[]};return ei(s.roles,Q.roles)&&ei(s.priorities,Q.priorities)&&ei(s.agents,Q.agents)&&s.sortField===Q.sortField&&s.sortDir===Q.sortDir&&s.groupBy===Q.groupBy&&ei(s.collapsedGroups,Q.collapsedGroups)?{...s,groupBy:Z.groupBy}:s}catch{return{...Z}}}function ed(e){return e.split("/").map(e=>e.trim()).filter(Boolean)}function ec(e,t){return e.kind!==t.kind?"folder"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base",numeric:!0})}function ex(e){let t=e.displayPath?.trim();return t&&t.length>0?t:e.path}function em({attachment:e,onOpen:t,opening:r=!1}){return(0,a.jsxs)("button",{type:"button",onClick:t,disabled:r,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[r?(0,a.jsx)(i.A,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:e})]})}function ep({node:e,depth:t,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b}){var g;let f=10+16*t;if("folder"===e.kind){let i=r.has(e.path);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${f}px`,paddingRight:"10px"},"aria-expanded":i,children:[i?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),i?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),i?(0,a.jsx)("ul",{children:e.children.map(e=>(0,a.jsx)(ep,{node:e,depth:t+1,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b},e.path))}):null]})}let k=s.includes(e.path);return(0,a.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${f+22}px`,paddingRight:"10px"},children:[(0,a.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,a.jsx)("input",{type:"checkbox",checked:k,onChange:()=>h(e.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===e.file.kind?(0,a.jsx)(u,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(v.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:ex(e.file)}),(0,a.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.file.kind,e.file.source?` \xb7 ${e.file.source}`:"",e.file.sizeBytes?` \xb7 ${!(g=e.file.sizeBytes)||g<=0?"":g<1024?`${g} B`:g<1048576?`${(g/1024).toFixed(1)} KB`:`${(g/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>b(e.path),disabled:n===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${l}: ${e.path}`,"aria-label":`${l}: ${e.path}`,children:[n===e.path?(0,a.jsx)(i.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:l})]})]})})}function eu({value:e,options:t,disabled:r=!1,onChange:n,ariaLabel:l}){return(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:r,"aria-label":l,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:er(e)})]}),(0,a.jsx)(d.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{align:"start",sideOffset:6,className:`${J} min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]`,children:[(0,a.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),t.map(t=>{let r=t===e;return(0,a.jsxs)(s.q7,{onSelect:()=>n(t),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:t},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate",children:er(t)}),(0,a.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:r?(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},t)})]})})]})}function ev(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.briefPath!==r.briefPath||t.vaultBriefPath!==r.vaultBriefPath||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],i=t.recentWebhookDeliveries??[];if(l.length!==i.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(i[e]))return!1;return!0}function eh(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,briefPath:e.briefPath??null,vaultBriefPath:e.vaultBriefPath??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function eb(e){return e.branch?.trim()||e.summary?.trim()||(0,E.kV)(e.id).slice(0,8)}function eg(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function ef(e,t){let r=e.filter(e=>{var r,a,s;return r=e,r.metadata?.sessionKind!=="board_planning"&&(a=e,s=t,!!(a.id===s.attemptRef||a.metadata?.taskId===s.id||s.taskRef?.trim()&&a.metadata?.taskRef?.trim()===s.taskRef.trim())||a.issueId?.trim()===eg(s))}).sort((e,r)=>eI(e,r,t.attemptRef??null)),a=t.attemptRef?r.find(e=>e.id===t.attemptRef)??null:r[0]??null,s=t.attemptRef&&!r.some(e=>e.id===t.attemptRef)?t.attemptRef:null;return{linkedSessions:r,primaryLinkedSession:a,unresolvedPrimaryLink:s}}function ek(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((Date.now()-t)/1e3);if(r<60)return"just now";let a=Math.round(r/60);if(a<60)return`${a}m ago`;let s=Math.round(a/60);if(s<24)return`${s}h ago`;let n=Math.round(s/24);return n<30?`${n}d ago`:eA(e)}function ej(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function ey(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"Running":"done"===t?"Done":"killed"===t?"Interrupted":"errored"===t?"Errored":"archived"===t?"Archived":e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function eN(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===t?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===t||"archived"===t?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===t?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function ew(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}function eC(e){if(!e?.id)return"No GitHub Project linked";let t="number"==typeof e.number?`#${e.number}`:"Project";return`${t} ${e.title?.trim()||"Untitled"}`.trim()}function eA(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(t))}function eS(e,t){if(!e)return null;for(let r of e.columns){let e=r.tasks.find(e=>e.id===t);if(e)return{task:e,role:r.role}}return null}function eP(e,t){return e?.columns.find(e=>e.role===t)??null}function e$(e,t,r){let a=eP(e,r);if(!a)return 0;let s=a.tasks.length;return t?.role===r&&a.tasks.findIndex(e=>e.id===t.taskId)>=0&&(s-=1),Math.max(s,0)}function eI(e,t,r){if(r){if(e.id===r&&t.id!==r)return -1;if(t.id===r&&e.id!==r)return 1}let a=e.lastActivityAt?Date.parse(e.lastActivityAt):0;return(t.lastActivityAt?Date.parse(t.lastActivityAt):0)-a}function eE({task:e,role:t,layout:r,boardRepository:s,projectSessions:n,openingContextPath:l,onOpenContextAttachment:i,onOpenSessionView:d,onOpenEditor:c,dragEnabled:x=!1,isDragging:m=!1,onDragStart:p,onDragOver:u,onDragEnd:v}){let{title:h,description:f}=ee(e.text),k=ew(s,e.issueId),{linkedSessions:j,primaryLinkedSession:y,unresolvedPrimaryLink:N}=ef(n,e),w=ea(e);return(0,a.jsxs)("div",{draggable:x,onDragStart:x&&p?()=>{p()}:void 0,onDragOver:x?u:void 0,onDragEnd:x?v:void 0,className:(0,_.cn)("kanban"===r?"rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]":"rounded-[10px] border border-[var(--vk-border)] bg-[rgba(23,25,30,0.72)] p-4 shadow-[0_10px_24px_rgba(0,0,0,0.18)]",m&&"opacity-60"),children:[(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[12px] text-[var(--vk-text-muted)]",children:w}),(0,a.jsx)("button",{type:"button",onClick:()=>c(e,t),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,a.jsx)(b,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)("p",{className:"pt-1 text-[15px] leading-[22px] text-[var(--vk-text-normal)]",children:h}),f&&(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:f}),e.notes&&(0,a.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:e.notes}),e.commentCount>0&&(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3.5 w-3.5"}),(0,a.jsxs)("span",{children:[e.commentCount," comment",1===e.commentCount?"":"s"]})]}),(e.issueId||e.briefPath||e.attachments.length>0)&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.issueId?k?(0,a.jsxs)("a",{href:k,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsxs)("span",{children:["Issue #",e.issueId]}),(0,a.jsx)(o.A,{className:"h-3 w-3"})]}):(0,a.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",e.issueId]}):null,e.briefPath?(0,a.jsx)(em,{attachment:e.briefPath,opening:l===e.briefPath,onOpen:()=>void i(e.briefPath)}):null,e.attachments.map(t=>(0,a.jsx)(em,{attachment:t,opening:l===t,onOpen:()=>void i(t)},`${e.id}-${t}`))]}),(j.length>0||N)&&(0,a.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:j.length+ +!!N})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[y?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(y.id,F(y)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:y.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ej(y)?(0,a.jsx)($.N,{seed:{label:ej(y)},className:"h-5 w-5"}):null,(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:eb(y)}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eN(y.status)}`,children:ey(y.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,j.filter(e=>e.id!==y?.id).map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>void d(e.id,F(e)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[ej(e)?(0,a.jsx)($.N,{seed:{label:ej(e)},className:"h-5 w-5"}):null,(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:eb(e)})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eN(e.status)}`,children:ey(e.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),N?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(N,"terminal"),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:N,children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:N}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("div",{className:"flex min-w-0 items-center gap-1.5",children:e.agent?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)($.N,{seed:{label:e.agent},className:"h-6 w-6"}),(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:er(e.agent)})]}):(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No agent"})}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[e.type&&(0,a.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.type}),e.priority&&(0,a.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.priority})]})]})]})}function eM({entry:e,boardRepository:t,projectSessions:r,onOpenEditor:s,onOpenSessionView:n}){let{task:l,role:i}=e,{title:o}=ee(l.text),d=ea(l),c=ew(t,l.issueId),{linkedSessions:x,primaryLinkedSession:m}=ef(r,l),p=x.some(e=>{let t=e.status.trim().toLowerCase();return"working"===t||"running"===t}),u=function(e,t){let r=0;for(let e of t){let t=e.lastActivityAt?Date.parse(e.lastActivityAt):0;!Number.isNaN(t)&&t>r&&(r=t)}for(let t of e.comments){let e=Date.parse(t.timestamp);!Number.isNaN(e)&&e>r&&(r=e)}return r>0?new Date(r).toISOString():null}(l,x);return(0,a.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>s(l,i),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s(l,i))},className:"group flex items-start gap-2 border-b border-[var(--vk-border)] py-2.5 pl-2 pr-3 text-sm text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)] last:border-b-0 sm:items-center sm:py-2 sm:pl-1",children:[(0,a.jsx)("span",{className:"shrink-0 pt-px sm:hidden",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1 sm:contents",children:[(0,a.jsx)("span",{className:"line-clamp-2 text-[14px] sm:order-2 sm:min-w-0 sm:flex-1 sm:truncate sm:line-clamp-none",children:o}),(0,a.jsxs)("span",{className:"flex items-center gap-2 sm:order-1 sm:shrink-0",children:[(0,a.jsx)("span",{className:"hidden shrink-0 sm:inline-flex",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:T[i]}})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-[var(--vk-text-muted)]",children:d}),p?(0,a.jsxs)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),m&&n(m.id,F(m))},className:"inline-flex items-center gap-1 rounded-full bg-[color:color-mix(in_srgb,var(--status-working)_18%,transparent)] px-2 py-0.5 text-[10px] font-medium text-[var(--status-working)]",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"absolute inline-flex h-full w-full animate-pulse rounded-full bg-[var(--status-working)] opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-[var(--status-working)]"})]}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Live"})]}):null,u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:ek(u)})]}):null]})]}),(0,a.jsxs)("span",{className:"ml-auto hidden shrink-0 items-center gap-2 sm:order-3 sm:flex sm:gap-3",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 overflow-hidden md:flex md:max-w-[240px]",children:[l.type?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.type}):null,l.priority?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.priority}):null,l.commentCount>0?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3 w-3"}),l.commentCount]}):null]}),(0,a.jsx)("div",{className:"flex w-[180px] shrink-0 items-center rounded-md px-2 py-1",children:l.agent?(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 text-[12px]",children:[(0,a.jsx)($.N,{seed:{label:l.agent},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:er(l.agent)})]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3"})}),"No agent"]})}),c?(0,a.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["#",l.issueId]}):m?(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),n(m.id,F(m))},className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:eb(m)}):null,u?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:ek(u)}):null]})]})}function e_({projectId:e,bridgeId:t,defaultAgent:r,agentOptions:x,projectSessions:m,projectLabel:p,headerAccessory:u,onOpenSession:v}){var b;let E=(0,l.useRouter)(),{preferences:O}=(0,I.g)(t),F=e?`${W}:${e}`:W,[Z,Q]=(0,n.useState)(null),[ea,ef]=(0,n.useState)(!1),[ek,ej]=(0,n.useState)(null),[ey,eN]=(0,n.useState)(""),[ew,eR]=(0,n.useState)("active"),[eL,eD]=(0,n.useState)(()=>{let e=window.localStorage.getItem(q);return"list"===e||"kanban"===e?e:"kanban"}),[eO,eF]=(0,n.useState)(()=>eo(F)),[eT,eB]=(0,n.useState)(!1),[ez,eG]=(0,n.useState)("intake"),[eU,eH]=(0,n.useState)(""),[eJ,eq]=(0,n.useState)(""),[eW,eV]=(0,n.useState)(r),[eK,eZ]=(0,n.useState)("feature"),[eQ,eY]=(0,n.useState)("medium"),[eX,e0]=(0,n.useState)(""),[e1,e2]=(0,n.useState)([]),[e5,e3]=(0,n.useState)([]),[e4,e6]=(0,n.useState)(""),[e8,e9]=(0,n.useState)([]),[e7,te]=(0,n.useState)(!1),[tt,tr]=(0,n.useState)(null),[ta,ts]=(0,n.useState)(null),[tn,tl]=(0,n.useState)([]),[ti,to]=(0,n.useState)(!1),[td,tc]=(0,n.useState)(null),[tx,tm]=(0,n.useState)(null),[tp,tu]=(0,n.useState)("intake"),[tv,th]=(0,n.useState)(""),[tb,tg]=(0,n.useState)(""),[tf,tk]=(0,n.useState)(r),[tj,ty]=(0,n.useState)("feature"),[tN,tw]=(0,n.useState)("medium"),[tC,tA]=(0,n.useState)(""),[tS,tP]=(0,n.useState)(""),[t$,tI]=(0,n.useState)(""),[tE,tM]=(0,n.useState)(!1),[t_,tR]=(0,n.useState)(null),[tL,tD]=(0,n.useState)(""),[tO,tF]=(0,n.useState)(!1),[tT,tB]=(0,n.useState)(null),[tz,tG]=(0,n.useState)(null),[tU,tH]=(0,n.useState)(null),[tJ,tq]=(0,n.useState)(!1),[tW,tV]=(0,n.useState)(!1),[tK,tZ]=(0,n.useState)(!1),[tQ,tY]=(0,n.useState)(null),[tX,t0]=(0,n.useState)(null),[t1,t2]=(0,n.useState)(""),t5=(0,n.useRef)(!1),t3=(0,n.useRef)(!1),t4=(0,n.useRef)(null),t6=(0,n.useRef)(null),t8=(0,n.useRef)(Promise.resolve(null)),t9=(0,n.useRef)(0),t7="obsidian"===(b=O?.markdownEditor?.trim()||"obsidian")||"vscode"===b||"typora"===b||"logseq"===b?`Open in ${G[b]??"your editor"}`:"Open file",[re,rt]=(0,n.useState)(!0),[rr,ra]=(0,n.useState)(!1),rs=(0,n.useMemo)(()=>{let e=[...new Set(x.filter(Boolean))];return e.includes(r)||e.unshift(r),e},[x,r]);(0,n.useEffect)(()=>{t6.current=Z},[Z]),(0,n.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(min-width: 640px)"),t=()=>{ra(e.matches)};return t(),e.addEventListener?.("change",t),window.addEventListener("resize",t),()=>{e.removeEventListener?.("change",t),window.removeEventListener("resize",t)}},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(q,eL)},[eL]),(0,n.useEffect)(()=>{eF(eo(F))},[F]),(0,n.useEffect)(()=>{window.localStorage.setItem(F,JSON.stringify(eO))},[F,eO]),(0,n.useEffect)(()=>{rs.includes(eW)||eV(rs[0]??r)},[eW,r,rs]),(0,n.useEffect)(()=>{rs.includes(tf)||tk(rs[0]??r)},[r,tf,rs]);let rn=(0,n.useCallback)(e=>{eF(t=>({...t,...e}))},[]);(0,n.useEffect)(()=>{if(!eT&&!tx||!e)return;let r=!1;return(async()=>{te(!0),tr(null);try{let a=await fetch((0,M.S)(`/api/context-files?projectId=${encodeURIComponent(e)}`,t)),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to load context files: ${a.status}`);if(r)return;let n=Array.isArray(s?.files)?s.files:[];e9(n)}catch(e){if(r)return;e9([]),tr(e instanceof Error?e.message:"Failed to load context files")}finally{r||te(!1)}})(),()=>{r=!0}},[t,eT,tx,e]),(0,n.useEffect)(()=>{t5.current=!1,tq(!1),tY(null),t0(null),t2("")},[t,e]);let rl=(0,n.useCallback)(async r=>{if(!e){Q(null),ej(null),ef(!1),t5.current=!1;return}if(!t3.current&&(!r?.silent||!(t9.current>0))){t3.current=!0,r?.silent||ef(!0);try{let r=await fetch((0,M.S)(`/api/boards?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load board: ${r.status}`);let s=eh(a);t5.current=!0,Q(e=>ev(e,s)?e:s),ej(null)}catch(e){r?.silent&&t5.current||(Q(null),ej(e instanceof Error?e.message:"Failed to load board"))}finally{r?.silent||ef(!1),t3.current=!1}}},[t,e]),ri=(0,n.useCallback)((e,r="terminal")=>{v?v(e,{tab:r}):E.push((0,R.s)(e,{bridgeId:t,tab:r}))},[t,v,E]),ro=(0,n.useCallback)(t=>{if(!e)return;null!==t4.current&&(window.clearTimeout(t4.current),t4.current=null);let r=t?.debounceMs??250;t4.current=window.setTimeout(()=>{t4.current=null,rl(t)},r)},[rl,e]);(0,n.useEffect)(()=>{if(e)return(0,D.L)(t=>{"snapshot"!==t.type&&"snapshot_delta"!==t.type||(0,L.M_)(t,e)&&ro({silent:!0,debounceMs:80})})},[e,ro]),(0,n.useEffect)(()=>{if(e)return(0,L.b)(e,()=>{ro({silent:!0,debounceMs:80})})},[e,ro]),(0,n.useEffect)(()=>{rl({silent:!1})},[rl]);let rd=(0,n.useCallback)(async()=>{if(!e){t0(null),tY(null);return}tV(!0),tY(null);try{let r=await fetch((0,M.S)(`/api/github/projects?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load GitHub Projects (${r.status})`);let s={...a,projects:Array.isArray(a.projects)?a.projects:[]};t0(s),t2(s.linkedProject?.id?.trim()||s.projects[0]?.id?.trim()||"")}catch(e){tY(e instanceof Error?e.message:"Failed to load GitHub Projects"),t0(null),t2("")}finally{tV(!1)}},[t,e]);(0,n.useEffect)(()=>{if(!e)return;let t=()=>{re&&rl({silent:!0})},r=null,a=()=>{let e=re?5e3:2e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{let e="visible"===document.visibilityState;rt(e),e&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[rl,re,e]),(0,n.useEffect)(()=>{e&&t5.current&&ro({silent:!0})},[e,m,ro]),(0,n.useEffect)(()=>()=>{null!==t4.current&&(window.clearTimeout(t4.current),t4.current=null)},[rl,e]),(0,n.useEffect)(()=>{tJ&&e&&rd()},[rd,e,tJ]);let rc=Z?.columns??[],rx=(0,n.useMemo)(()=>{let e=ey.trim().toLowerCase(),t="all"===ew?null:new Set("backlog"===ew?["intake","ready"]:"cancelled"===ew?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return rc.filter(e=>!t||t.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>et(t,e))}:t)},[rc,ey,ew]),rm="kanban"===eL&&0===ey.trim().length,rp=(0,n.useMemo)(()=>{let e;return e=0,eO.roles.length>0&&(e+=1),eO.priorities.length>0&&(e+=1),eO.agents.length>0&&(e+=1),e},[eO]),ru=(0,n.useMemo)(()=>{let e=new Set;for(let t of rc)for(let r of t.tasks)r.agent?.trim()&&e.add(r.agent.trim());return[...e].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:"base"}))},[rc]),rv=(0,n.useMemo)(()=>{let e=ey.trim().toLowerCase(),t=rc.flatMap(e=>e.tasks.map(t=>({task:t,role:e.role,heading:e.heading||B[e.role]})));e&&(t=t.filter(t=>et(t.task,e))),eO.roles.length>0&&(t=t.filter(e=>eO.roles.includes(e.role))),eO.priorities.length>0&&(t=t.filter(e=>null!=e.task.priority&&eO.priorities.includes(e.task.priority))),eO.agents.length>0&&(t=t.filter(e=>{let t=e.task.agent?.trim();return t?eO.agents.includes(t):eO.agents.includes("__unassigned")}));let r=[...t];return r.sort((e,t)=>{let r="asc"===eO.sortDir?1:-1;switch(eO.sortField){case"status":return r*(es(e.role)-es(t.role));case"priority":return r*(en(e.task.priority)-en(t.task.priority));case"agent":return r*(e.task.agent??"").localeCompare(t.task.agent??"");default:{let a=ee(e.task.text).title,s=ee(t.task.text).title;return r*a.localeCompare(s)}}}),r},[rc,eO,ey]),rh=(0,n.useMemo)(()=>{if("none"===eO.groupBy)return[{key:"__all",label:null,items:rv}];if("status"===eO.groupBy)return V.map(e=>{let t=rv.filter(t=>t.role===e);return 0===t.length?null:{key:e,label:t[0]?.heading||B[e],items:t}}).filter(e=>null!==e);if("priority"===eO.groupBy)return K.map(e=>{let t=rv.filter(t=>t.task.priority===e);return 0===t.length?null:{key:e,label:e[0]?.toUpperCase()+e.slice(1),items:t}}).filter(e=>null!==e);let e=new Map;for(let t of rv){let r=t.task.agent?.trim()||"__unassigned",a=e.get(r)??[];a.push(t),e.set(r,a)}return[...e.entries()].map(([e,t])=>({key:e,label:"__unassigned"===e?"No agent":er(e),items:t})).sort((e,t)=>(e.label??"").localeCompare(t.label??"",void 0,{sensitivity:"base"}))},[rv,eO.groupBy]),rb=(0,n.useMemo)(()=>rh.filter(e=>null!=e.label).map(e=>e.key),[rh]),rg=rb.length>0&&rb.every(e=>eO.collapsedGroups.includes(e)),rf=(0,n.useMemo)(()=>{let e=e4.trim().toLowerCase(),t=e?e8.filter(t=>`${t.path} ${ex(t)} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):e8,r=new Map;for(let e of t)r.has(e.path)||r.set(e.path,e);return[...r.values()]},[e8,e4]),rk=(0,n.useMemo)(()=>(function(e){let t=new Map;t.set("",new Map);let r=(e,r)=>(t.has(e)||t.set(e,new Map),{kind:"folder",name:r,path:e,children:[]});for(let a of e){let e=ex(a),s=ed(e);if(0===s.length)continue;let n="";for(let e=0;e<s.length-1;e+=1){let a=s[e],l=n?`${n}/${a}`:a,i=t.get(n)??new Map;t.set(n,i),i.has(l)||i.set(l,r(l,a)),t.has(l)||t.set(l,new Map),n=l}let l=t.get(n)??new Map;l.set(a.path,{kind:"file",name:a.name,path:a.path,file:{...a,displayPath:e}}),t.set(n,l)}let a=e=>[...t.get(e)?.values()??[]].map(e=>"folder"===e.kind?{...e,children:a(e.path)}:e).sort(ec);return a("")})(rf),[rf]),rj=(0,n.useMemo)(()=>new Map(e8.map(e=>[e.path,e])),[e8]),ry=(0,n.useMemo)(()=>e1.map(e=>rj.get(e)).filter(e=>!!e),[rj,e1]),rN=(0,n.useMemo)(()=>new Set(rk.filter(e=>"folder"===e.kind).map(e=>e.path)),[rk]),rw=(0,n.useMemo)(()=>e4.trim().length>0?function e(t,r=new Set){for(let a of t)"folder"===a.kind&&(r.add(a.path),e(a.children,r));return r}(rk):function(e){let t=new Set;for(let r of e){let e=ed(r),a="";for(let r=0;r<e.length-1;r+=1)a=a?`${a}/${e[r]}`:e[r],t.add(a)}return t}(e1.map(e=>{let t=rj.get(e);return t?ex(t):e})),[rj,e4,rk,e1]),rC=(0,n.useMemo)(()=>{let e=new Set(rN);for(let t of e5)e.add(t);for(let t of rw)e.add(t);return e},[rw,rN,e5]),rA=(0,n.useMemo)(()=>{let e=rc.find(e=>e.role===ez);return e?.heading||B[ez]},[rc,ez]),rS=(0,n.useMemo)(()=>{if(!tx)return m;let e=eS(Z,tx.task.id)??tx,t=eg(e.task);return[...m].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:eI(r,a,e.task.attemptRef)})},[Z,tx,m]),rP=(0,n.useMemo)(()=>tx?eS(Z,tx.task.id)??tx:null,[Z,tx]);function r$(e){eG(e),eB(!0),eH(""),eq(""),eV(rs[0]??r),eZ("feature"),eY("medium"),tc(null),e0(""),e6(""),e2([]),e3([]),tl([])}let rI=(0,n.useCallback)(async t=>{if(e){ts(t),tx?tR(null):eT?tc(null):ej(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",tx?tR(r):eT?tc(r):ej(r)}finally{ts(e=>e===t?null:e)}}},[eT,tx,e]);function rE(e){e2(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function rM(e){e3(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function r_(){if(e&&eU.trim()){to(!0),tc(null);try{let r=await fetch((0,M.S)("/api/boards",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:eU.trim(),description:eJ.trim()||void 0,contextNotes:eX.trim()||void 0,attachments:e1.length>0?e1:void 0,agent:eW,role:ez,type:eK.trim()||void 0,priority:eQ.trim()||void 0})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to create task: ${r.status}`);let s=eh(a),n=s.columns.flatMap(e=>e.tasks).find(e=>e.id===a.createdTaskId);if(tn.length>0&&n){let r=new FormData;for(let t of(r.append("projectId",e),r.append("taskRef",n.taskRef?.trim()||n.id),tn))r.append("files",t);let a=await fetch((0,M.S)("/api/attachments",t),{method:"POST",body:r}),l=await a.json().catch(()=>null);if(!a.ok)throw Error(l?.error??`Upload failed: ${a.status}`);let i=(l?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e);if(i.length>0){let r=await fetch((0,M.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:n.id,attachments:[...new Set([...n.attachments,...i])]})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to attach uploads: ${r.status}`);s=eh(a)}}Q(e=>({...e??s,...s})),eH(""),eq(""),eZ("feature"),eY("medium"),e0(""),e2([]),e6(""),tl([]),eB(!1)}catch(e){tc(e instanceof Error?e.message:"Failed to create task")}finally{to(!1)}}}async function rR(r,a){if(!e)return null;let s=t6.current;if(s&&a?.optimisticUpdate){let e=a.optimisticUpdate(s);e&&(t6.current=e,Q(t=>ev(t,e)?t:e))}t9.current+=1;let n=t8.current.catch(()=>null).then(async()=>{let a=await fetch((0,M.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update board: ${a.status}`);let n=eh(s);return t6.current=n,Q(e=>ev(e,n)?e:n),ej(null),n});t8.current=n.then(()=>null,()=>null);try{return await n}catch(e){throw a?.optimisticUpdate&&s&&(t6.current=s,Q(e=>ev(e,s)?e:s)),e}finally{t9.current=Math.max(0,t9.current-1)}}async function rL(r){if(e&&!tK){tZ(!0),tY(null);try{let a=await fetch((0,M.S)("/api/github/projects",t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:r?.id?r:null})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update GitHub Project link (${a.status})`);Q(e=>e?{...e,githubProject:s?.githubProject??null}:e),await rd()}catch(e){tY(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{tZ(!1)}}}async function rD(r){if(e&&!tK){tZ(!0),tY(null);try{let a=await fetch((0,M.S)("/api/github/projects/sync",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to ${r} GitHub Project (${a.status})`);if(s?.board){let e=eh(s.board);Q(t=>ev(t,e)?t:e)}else await rl({silent:!0});await rd()}catch(e){tY(e instanceof Error?e.message:`Failed to ${r} GitHub Project`)}finally{tZ(!1)}}}function rO(e,t){let{title:a,description:s}=ee(e.text);tm({task:e,role:t}),tu(t),th(a),tg(s),tk(e.agent??rs[0]??r),ty(e.type??"feature"),tw(e.priority??"medium"),tA(e.issueId??""),tP(e.notes??""),tI(e.attemptRef??""),tR(null),tD(""),tB(null)}function rF(){tE||tO||(tm(null),tR(null),tD(""),tB(null))}async function rT(){if(rP&&tv.trim()){tM(!0),tR(null);try{await rR({taskId:rP.task.id,role:tp,title:tv.trim(),description:tb,contextNotes:tS.trim()||"",issueId:tC.trim()||"",agent:tf,type:tj,priority:tN,attemptRef:t$,taskRef:t$?rP.task.taskRef??rP.task.id:rP.task.taskRef??""}),tm(null)}catch(e){tR(e instanceof Error?e.message:"Failed to update task")}finally{tM(!1)}}}async function rB(){if(e&&rP&&tL.trim()){tF(!0),tB(null);try{let r=await fetch((0,M.S)("/api/boards/comments",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:rP.task.id,body:tL.trim()})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to add comment: ${r.status}`);let s=eh(a);Q(e=>ev(e,s)?e:s),tD("")}catch(e){tB(e instanceof Error?e.message:"Failed to add comment")}finally{tF(!1)}}}async function rz(e){if(!tz)return;let t=eP(t6.current,tz.role),r=t?.tasks.findIndex(e=>e.id===tz.taskId)??-1,a=e$(t6.current,tz,e),s=tU?.role===e?tU.index:a,n=tz.role!==e||s!==r;try{n&&await rR({taskId:tz.taskId,role:e,targetIndex:s},{optimisticUpdate:t=>(function(e,t,r,a){if(!e)return e;let s=e.columns.map(e=>({...e,tasks:[...e.tasks]})),n=-1,l=-1,i=null;for(let e=0;e<s.length;e+=1){let r=s[e]?.tasks.findIndex(e=>e.id===t)??-1;if(r>=0){n=e,l=r,i=s[e].tasks.splice(r,1)[0]??null;break}}if(!i||n<0)return e;let o=s.findIndex(e=>e.role===r);o<0&&(s.push({role:r,heading:B[r],tasks:[]}),o=s.length-1);let d=s[o].tasks,c=Math.max(0,Math.min(a,d.length));return(d.splice(c,0,i),n===o&&l===c)?e:{...e,columns:s}})(t,tz.taskId,e,s)})}catch(e){ej(e instanceof Error?e.message:"Failed to move task")}finally{tG(null),tH(null)}}return e?(0,a.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden sm:overflow-hidden",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 sm:mb-4",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("h1",{className:"truncate text-[20px] font-medium leading-[28px] text-[var(--vk-text-normal)] sm:text-[24px] sm:leading-[32px]",children:p?.trim()||e})}),u?(0,a.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:u}):null]}),"list"===eL?(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 sm:gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:gap-3",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>r$("intake"),className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"New Issue"})]}),rb.length>0?(0,a.jsx)("button",{type:"button",onClick:()=>rn({collapsedGroups:rg?[]:rb}),className:"hidden h-[31px] w-[31px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:inline-flex","aria-label":rg?"Expand groups":"Collapse groups",title:rg?"Expand groups":"Collapse groups",children:rg?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"})}):null,(0,a.jsxs)("label",{className:"relative w-48 sm:w-64 md:w-80",children:[(0,a.jsx)(j.A,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ey,onChange:e=>eN(e.target.value),placeholder:"Search issues...",className:"h-[31px] w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-7 pr-3 text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsxs)("div",{className:"mr-1 flex items-center overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","list"===eL?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eD("list"),title:"List view",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("button",{type:"button",className:(0,_.cn)("p-1.5 transition-colors","text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eD("kanban"),title:"Board view",children:(0,a.jsx)(N,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:(0,_.cn)("inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] hover:bg-[var(--vk-bg-hover)]",rp>0?"text-[var(--vk-orange)]":"text-[var(--vk-text-muted)]"),children:[(0,a.jsx)(w,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:rp>0?`Filters: ${rp}`:"Filter"}),rp>0?(0,a.jsx)("span",{className:"text-[10px] font-medium sm:hidden",children:rp}):null,rp>0?(0,a.jsx)(C.A,{className:"hidden h-3 w-3 sm:block",onClick:e=>{e.preventDefault(),e.stopPropagation(),rn({roles:[],priorities:[],agents:[]})}}):null]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${J} w-[min(420px,calc(100vw-2rem))]`,children:(0,a.jsxs)("div",{className:"space-y-3 p-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pt-1",children:[(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[var(--vk-text-normal)]",children:"Filters"}),rp>0?(0,a.jsx)("button",{type:"button",onClick:()=>rn({roles:[],priorities:[],agents:[]}),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:"Clear"}):null]}),(0,a.jsxs)("div",{className:"space-y-1.5 px-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Quick filters"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:Y.map(e=>{let t=ei(eO.roles,e.roles);return(0,a.jsx)("button",{type:"button",onClick:()=>rn({roles:t?[]:[...e.roles]}),className:(0,_.cn)("rounded-full border px-2.5 py-1 text-[11px] transition-colors",t?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] text-[var(--vk-text-normal)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.label)})})]}),(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)]"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 px-2 pb-2 sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Status"}),(0,a.jsx)("div",{className:"space-y-0.5",children:V.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({roles:el(eO.roles,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e]}}),(0,a.jsx)("span",{className:"flex-1 truncate",children:B[e]}),eO.roles.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("div",{className:"space-y-0.5",children:K.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({priorities:el(eO.priorities,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"flex-1 truncate capitalize",children:e}),eO.priorities.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Assignee"}),(0,a.jsxs)("div",{className:"max-h-40 space-y-0.5 overflow-y-auto",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rn({agents:el(eO.agents,"__unassigned")}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})}),(0,a.jsx)("span",{className:"flex-1 truncate",children:"No agent"}),eO.agents.includes("__unassigned")?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]}),ru.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({agents:el(eO.agents,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:er(e)}),eO.agents.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))]})]})]})]})]})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${J} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["title","Title"],["agent","Agent"]].map(([e,t])=>{let r=eO.sortField===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rn({sortField:e,sortDir:r&&"asc"===eO.sortDir?"desc":"asc"}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"asc"===eO.sortDir?"↑":"↓"}):null]},e)})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${J} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["assignee","Assignee"],["none","None"]].map(([e,t])=>{let r=eO.groupBy===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rn({groupBy:e}),className:(0,_.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e)})})})]})]})]}):(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,t])=>(0,a.jsx)("button",{type:"button",onClick:()=>eR(e),className:(0,_.cn)("px-3 py-[5px] text-[13px]",ew===e?"rounded-[2px] bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:t},e))}),(0,a.jsxs)("button",{type:"button",onClick:()=>eD("list"),className:"inline-flex h-[31px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Switch to list view",title:"Switch to list view",children:[(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"List view"})]}),(0,a.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,a.jsxs)("label",{className:"flex h-[31px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:ey,onChange:e=>eN(e.target.value),placeholder:"Search issues...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>r$("intake"),className:"inline-flex h-[31px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-orange)] px-3 text-[14px] text-white hover:bg-[var(--accent-hover)] sm:w-auto",children:[(0,a.jsx)("span",{children:"New Issue"}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})]})]})]}),(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>tq(e=>!e),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,a.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:Z?.githubProject?.id?eC(Z.githubProject):"Connect"})]}),Z?.githubProject?.url?(0,a.jsxs)("a",{href:Z.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-[38px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{children:"Open Project"}),(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"})]}):null]}),"kanban"===eL&&!rm&&(0,a.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."}),tJ&&(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"mb-1 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Linked project"}),(0,a.jsxs)("select",{value:t1,onChange:e=>t2(e.target.value),disabled:tW||tK,className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",children:tW?"Loading GitHub Projects...":"Select a GitHub Project"}),(tX?.projects??[]).map(e=>(0,a.jsx)("option",{value:e.id??"",children:eC(e)},e.id??"unknown"))]})]}),(0,a.jsx)("button",{type:"button",disabled:!t1||tW||tK,onClick:()=>{rL(tX?.projects.find(e=>e.id===t1)??null)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tK?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Connect"}),(0,a.jsx)("button",{type:"button",disabled:!Z?.githubProject?.id||tK,onClick:()=>void rL(null),className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,a.jsxs)("button",{type:"button",disabled:!Z?.githubProject?.id||tK,onClick:()=>void rD("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tK?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(P.A,{className:"h-4 w-4"}),"Pull"]}),(0,a.jsx)("button",{type:"button",disabled:!Z?.githubProject?.id||tK,onClick:()=>void rD("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"})]}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsxs)("span",{children:["Repository:"," ",Z?.repository?.trim()||tX?.repository?.trim()||"Not configured"]}),tX?.ownerLogin?(0,a.jsxs)("span",{children:["Owner: ",tX.ownerLogin]}):null]}),tQ&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tQ}),(Z?.recentWebhookDeliveries?.length??0)>0&&(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(Z?.recentWebhookDeliveries??[]).length})]}),(0,a.jsx)("div",{className:"space-y-2",children:(Z?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var t;let r,s;return(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(r=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===r?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(t=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":t}),(0,a.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,a.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:eA(e.timestamp)})]}),(0,a.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]})]})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 touch-pan-y sm:p-4 sm:touch-auto",children:ea?(0,a.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):ek?(0,a.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:ek}):"kanban"===eL?(0,a.jsx)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain touch-pan-y sm:touch-auto",children:(0,a.jsx)("div",{className:"flex min-w-0 flex-row items-stretch gap-3 overflow-x-auto overscroll-x-contain pb-3 [-webkit-overflow-scrolling:touch] px-0.5 sm:h-full sm:gap-0 sm:overflow-x-auto sm:px-0 sm:pb-3",children:rx.map(e=>{let t=rc.find(t=>t.role===e.role),r=rm&&tz?.role===e.role?t?.tasks.findIndex(e=>e.id===tz.taskId)??-1:-1,s=Math.max((t?.tasks.length??e.tasks.length)-(r>=0),0);return(0,a.jsxs)("article",{className:(0,_.cn)("flex max-h-[min(560px,65dvh)] min-h-0 w-[min(85vw,320px)] shrink-0 flex-col border border-[var(--vk-border)] bg-[var(--vk-bg-main)] shadow-none sm:max-h-none sm:h-full sm:min-h-[560px] sm:w-[320px] sm:border-l-0 first:sm:border-l",tz&&"snap-start"),children:[(0,a.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:T[e.role]}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:e.heading||B[e.role]}),(0,a.jsx)("p",{className:"truncate text-[10px] text-[var(--text-faint)]",children:z[e.role]})]}),(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.tasks.length}),(0,a.jsx)("button",{type:"button",onClick:()=>r$(e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${e.heading}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:(0,_.cn)("flex-1 min-h-0 overflow-y-auto overscroll-contain px-3 pb-3 pt-2",tz?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:t=>rm?function(e,t){if(!tz||(e.preventDefault(),e.target!==e.currentTarget))return;let r=e$(t6.current,tz,t);tH(e=>e?.role===t&&e.index===r?e:{role:t,index:r})}(t,e.role):void 0,onDrop:t=>{t.preventDefault(),rm&&rz(e.role)},children:[rm&&tU?.role===e.role&&0===tU.index?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===e.tasks.length&&(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,a.jsx)("div",{className:"space-y-2",children:e.tasks.map(s=>{let n=t?.tasks.findIndex(e=>e.id===s.id)??0,l=r>=0?s.id===tz?.taskId?null:n>r?n-1:n:n;return(0,a.jsxs)("div",{children:[rm&&tU?.role===e.role&&null!==l&&tU.index===l?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,a.jsx)(eE,{task:s,role:e.role,layout:"kanban",boardRepository:Z?.repository,projectSessions:m,openingContextPath:ta,onOpenContextAttachment:rI,onOpenSessionView:ri,onOpenEditor:rO,dragEnabled:rm,isDragging:tz?.taskId===s.id,onDragStart:()=>{var t,r;let a;return tG({taskId:t=s.id,role:r=e.role}),a=e$(t6.current,{taskId:t,role:r},r),void tH({role:r,index:a})},onDragOver:t=>(function(e,t,r){if(!tz)return;e.preventDefault();let a=function(e,t,r,a,s,n){let l=eP(e,r);if(!l)return 0;let i=l.tasks.findIndex(e=>e.id===a);if(i<0)return e$(e,t,r);let o=n.getBoundingClientRect(),d=i+ +("after"==(s<o.top+o.height/2?"before":"after"));if(t?.role===r){let e=l.tasks.findIndex(e=>e.id===t.taskId);e>=0&&e<d&&(d-=1)}return d}(t6.current,tz,t,r,e.clientY,e.currentTarget);tH(e=>e?.role===t&&e.index===a?e:{role:t,index:a})})(t,e.role,s.id),onDragEnd:()=>{tG(null),tH(null)}})]},`${e.role}-${s.id}`)})}),rm&&tU?.role===e.role&&tU.index===s?(0,a.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},e.role)})})})}):0===rv.length?(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center px-6 text-center",children:[(0,a.jsx)("div",{className:"mb-4 inline-flex h-12 w-12 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]",children:(0,a.jsx)(y.A,{className:"h-5 w-5"})}),(0,a.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-normal)]",children:"No tasks match the current filters or search."}),(0,a.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-muted)]",children:"Adjust the current view or create a new board task."}),(0,a.jsxs)("button",{type:"button",onClick:()=>r$("intake"),className:"mt-4 inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:"New Issue"})]})]}):(0,a.jsx)("div",{className:"space-y-4",children:rh.map(e=>{let t=rr&&null!=e.label&&eO.collapsedGroups.includes(e.key),r="status"===eO.groupBy&&V.includes(e.key)?e.key:"intake";return(0,a.jsxs)("section",{className:"space-y-2",children:[e.label?(0,a.jsxs)("div",{className:"flex items-center py-1.5 pl-1 pr-3",children:[rr?(0,a.jsxs)("button",{type:"button",onClick:()=>rn({collapsedGroups:t?eO.collapsedGroups.filter(t=>t!==e.key):[...eO.collapsedGroups,e.key]}),className:"hidden items-center gap-1.5 sm:flex",children:[(0,a.jsx)(c.A,{className:(0,_.cn)("h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)] transition-transform",!t&&"rotate-90")}),(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label})]}):(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label}),(0,a.jsx)("button",{type:"button",onClick:()=>r$(r),className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":`Add task to ${e.label}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}):null,t?null:(0,a.jsx)("div",{children:e.items.map(e=>(0,a.jsx)(eM,{entry:e,boardRepository:Z?.repository,projectSessions:m,onOpenEditor:rO,onOpenSessionView:ri},`${e.role}-${e.task.id}`))})]},e.key)})})}),rP&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:rF,children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[560px] sm:rounded-[6px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,a.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,a.jsx)("input",{value:tv,onChange:e=>th(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,a.jsx)("textarea",{value:tb,onChange:e=>tg(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,a.jsx)("select",{value:tp,onChange:e=>tu(X(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:Z?.columns.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||B[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,a.jsx)(eu,{value:tf,options:rs,disabled:tE,onChange:tk,ariaLabel:"Select agent for task"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,a.jsx)("input",{value:tj,onChange:e=>ty(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("input",{value:tN,onChange:e=>tw(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,a.jsx)("input",{value:tC,onChange:e=>tA(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,a.jsx)("textarea",{value:tS,onChange:e=>tP(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),rP.task.attachments.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rP.task.attachments.map(e=>(0,a.jsx)(em,{attachment:e,opening:ta===e,onOpen:()=>void rI(e)},e))})]}),(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:rP.task.commentCount})]}),(0,a.jsx)("div",{className:"space-y-2",children:rP.task.comments.length>0?rP.task.comments.map(e=>(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:eA(e.timestamp)})]}),(0,a.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,a.jsxs)("label",{className:"mt-3 block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,a.jsx)("textarea",{value:tL,onChange:e=>tD(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tT&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tT}),(0,a.jsx)("div",{className:"mt-3 flex justify-end",children:(0,a.jsxs)("button",{type:"button",onClick:()=>void rB(),disabled:!tL.trim()||tO,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tO?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,a.jsxs)("select",{value:t$,onChange:e=>tI(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),rS.map(e=>(0,a.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[eb(e)," \xb7 ",e.status]},e.id))]})]}),t_&&(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:t_})]}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("button",{type:"button",onClick:rF,disabled:tE||tO,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rT(),disabled:!tv.trim()||tE,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tE?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),eT&&(0,a.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!ti&&eB(!1),children:(0,a.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[980px] sm:rounded-[10px] sm:border",onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column \xb7 ",rA]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent \xb7 ",er(eW)]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[e1.length+tn.length," ","attachment",e1.length+tn.length===1?"":"s"]})]})]})}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,a.jsx)("div",{className:"space-y-4",children:(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,a.jsx)("input",{value:eU,onChange:e=>eH(e.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,a.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,a.jsx)("textarea",{value:eJ,onChange:e=>eq(e.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,a.jsx)("textarea",{value:eX,onChange:e=>e0(e.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,a.jsx)("select",{value:ez,onChange:e=>eG(X(e.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:rc.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||B[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,a.jsx)(eu,{value:eW,options:rs,disabled:ti,onChange:eV,ariaLabel:"Select agent for new task"})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:U.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eZ(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eK===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:H.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eY(e.value),className:(0,_.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eQ===e.value?"high"===e.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]})]}),(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,a.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(tl(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})]}),(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[e1.length," existing file",1===e1.length?"":"s"," selected",tn.length>0?` \xb7 ${tn.length} upload${1===tn.length?"":"s"} ready`:""]}),ry.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ry.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rE(e.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${ex(e)}`,children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},e.path))})]}),tn.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:tn.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{tl(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},`${e.name}-${e.size}-${e.lastModified}`))})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,a.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:e4,onChange:e=>e6(e.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:e7?(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:"Loading context files..."})]}):tt?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:tt}):0===rf.length?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,a.jsx)("ul",{className:"py-1",children:rk.map(e=>(0,a.jsx)(ep,{node:e,depth:0,expandedFolders:rC,selectedPaths:e1,openingContextPath:ta,contextOpenLabel:t7,onToggleFolder:rM,onTogglePath:rE,onOpenPath:e=>void rI(e)},e.path))})})]})]})]})}),td&&(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:td})}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,a.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:eU.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>eB(!1),disabled:ti,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void r_(),disabled:!eU.trim()||ti,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:ti?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its board."})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9847],{33866:(e,t,n)=>{n.d(t,{BO:()=>i,Ge:()=>c,a6:()=>p,h7:()=>a,iQ:()=>r,pN:()=>l});var o=n(5739);let l=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"hermes",label:"Hermes",description:"Nous Research Hermes Agent CLI",homepage:"https://hermes-agent.nousresearch.com/",iconUrl:"/agents/hermes.png",installHint:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",installUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/",setupUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"openclaw",label:"OpenClaw",description:"OpenClaw gateway-backed chat runtime",homepage:"https://github.com/openclaw/openclaw#readme",iconUrl:null,installHint:"Configure the OpenClaw gateway in backend runtime settings",installUrl:"https://github.com/openclaw/openclaw",setupUrl:"https://github.com/openclaw/openclaw",surfaces:["dispatcher"]},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],i=l.map(e=>e.name),s=new Map(l.map(e=>[(0,o.q)(e.name),e]));function a(e){return s.get((0,o.q)(e))??null}function r(e){let t=a(e);return!t||(t.surfaces?.includes("terminal")??!0)}function c(e){let t=[],n=new Set;for(let l of e){let e=l.trim();if(!e||!r(e))continue;let i=(0,o.q)(e);n.has(i)||(n.add(i),t.push(e))}return t}function p(e,t){let n="string"==typeof e?e.trim():"";if(n&&r(n))return n;let o=t.trim();return o&&r(o)?o:l.find(e=>r(e.name))?.name??"codex"}},88272:(e,t,n)=>{n.d(t,{c0:()=>m,Z3:()=>s,Ik:()=>c,iL:()=>p,YS:()=>u,ZA:()=>d,xb:()=>g,aB:()=>h});var o=n(76196),l=n(5739);function i(e){return"openclaw"===(0,l.q)(e)}function s(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function a(e,t){return t[(0,l.q)(e)]??null}function r(e){if(!e)return[];let t=[],n=new Set;for(let o of Object.values(e.modelsByAccess))if(Array.isArray(o))for(let e of o)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function c(e,t,n){if(i(e))return[];let l=a(e,n),s=(0,o.Tk)(e,t),c=l&&s?l.modelsByAccess[s]??[]:[],p=r(l);if(p.length>0){let e=[],t=new Set;for(let n of[...c,...p])!n?.id||t.has(n.id)||(t.add(n.id),e.push(n));return e}return(0,o.d8)(e,t)}function p(e,t,n,l){if(i(e))return[];let s=a(e,n),r=(0,o.Tk)(e,t);if(s){if(!s)return[];let e=l?.trim();return e&&s.reasoningOptionsByModel?.[e]?.length?s.reasoningOptionsByModel[e]??[]:r?s.reasoningOptionsByAccess?.[r]??[]:[]}return(0,o.u6)(e,t)}function u(e,t,n,l){if(i(e))return"";let s=a(e,n),r=(0,o.Tk)(e,t);return s?function(e,t,n){if(!e)return null;let o=t?.trim();return o&&e.defaultReasoningByModel?.[o]?e.defaultReasoningByModel[o]??null:n?e.defaultReasoningByAccess?.[n]??null:null}(s,l,r)??"":(0,o.DZ)(e,t)??""}function d(e,t){if(i(e))return"";let n=a(e,t),l=n?.customModelPlaceholder.trim();if(l)return l;let s=(0,o.yM)(e)?.label??"agent";return`Enter exact ${s} model id`}function m(e,t,n,l,d){if(i(e))return s();let m=l?.trim()??"",g=d?.trim().toLowerCase()??"",h=a(e,n),f=c(e,t,n),w=function(e,t,n){if(i(e))return"";let l=a(e,n),s=(0,o.Tk)(e,t);if(l)return(l&&s?l.defaultModelByAccess[s]??null:null)??r(l)[0]?.id??"";return(0,o.O$)(e,t)??""}(e,t,n),b=r(h).length>0,C=o=>{let l=p(e,t,n,o);return g.length>0&&l.some(e=>e.id===g)?g:u(e,t,n,o)};if(m.length>0){if(f.some(e=>e.id===m))return{catalogModel:m,customModel:"",reasoningEffort:C(m)};if(!b)return{catalogModel:w,customModel:m,reasoningEffort:C(m)}}return{catalogModel:w,customModel:"",reasoningEffort:C(w)}}function g(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function h(e){let t=e.reasoningEffort.trim().toLowerCase();return t.length>0?t:void 0}}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},56467:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00b2b74ff7d10e07022f10398b0a8c58c50572cfcf",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},69997:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("000d8119b5c4ceafe80914152a9749787cd0455a46",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.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",e),...t})})).displayName="TooltipContent"},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[9271,9306,3357,524,3051,8510,587,1968,7358],()=>e(e.s=98709)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{28777:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0056bf92f894c3281d9d227124fb075571d7e93355",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},58231:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0070718ce3d7e4cef108885d2b8a705d93b3e28620",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.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",e),...t})})).displayName="TooltipContent"},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[9271,9306,3357,524,3051,8510,587,1968,7358],()=>e(e.s=98709)),_N_E=e.O()}]);