conductor-oss 0.44.0 → 0.45.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 (107) 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 +3 -3
  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 +12 -12
  7. package/web/.next/standalone/packages/web/.next/routes-manifest.json +20 -0
  8. package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
  10. package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  11. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  13. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  14. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  15. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
  18. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
  21. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
  22. package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
  23. package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
  24. package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  25. package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
  27. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  28. package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  29. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
  30. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
  31. package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
  32. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
  33. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
  34. package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
  35. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
  36. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
  37. package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
  38. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
  39. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
  40. package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
  41. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
  42. package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
  43. package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
  44. package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +3 -3
  45. package/web/.next/standalone/packages/web/.next/server/chunks/1830.js +1 -0
  46. package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
  47. package/web/.next/standalone/packages/web/.next/server/chunks/3802.js +1 -0
  48. package/web/.next/standalone/packages/web/.next/server/chunks/4682.js +1 -1
  49. package/web/.next/standalone/packages/web/.next/server/chunks/5538.js +1 -1
  50. package/web/.next/standalone/packages/web/.next/server/chunks/6014.js +1 -0
  51. package/web/.next/standalone/packages/web/.next/server/chunks/6054.js +1 -1
  52. package/web/.next/standalone/packages/web/.next/server/chunks/7023.js +1 -1
  53. package/web/.next/standalone/packages/web/.next/server/chunks/7287.js +1 -1
  54. package/web/.next/standalone/packages/web/.next/server/chunks/795.js +1 -0
  55. package/web/.next/standalone/packages/web/.next/server/chunks/8851.js +1 -1
  56. package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
  57. package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
  58. package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
  59. package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
  60. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  61. package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  62. package/web/.next/standalone/packages/web/.next/static/chunks/{4443.9537c100f954c481.js → 4443.c6aebbef04aeeaca.js} +1 -1
  63. package/web/.next/standalone/packages/web/.next/static/chunks/{474.b4a3543b5ea98458.js → 474.d51d3c524fefdcc2.js} +1 -1
  64. package/web/.next/standalone/packages/web/.next/static/chunks/{4997-853e6666e334c1e1.js → 4997-6e23921a13646cd3.js} +1 -1
  65. package/web/.next/{static/chunks/6173.8ee24c9b5fdb6622.js → standalone/packages/web/.next/static/chunks/6173.7b94481b495f6e16.js} +1 -1
  66. package/web/.next/{static/chunks/6183.ffc42b1d85d16e96.js → standalone/packages/web/.next/static/chunks/6183.1f6ee612d8020d51.js} +1 -1
  67. package/web/.next/standalone/packages/web/.next/static/chunks/{8510-9a649a52fa024f76.js → 8510-b53b1eec2d5f6472.js} +1 -1
  68. package/web/.next/standalone/packages/web/.next/static/chunks/8607.4d72be8768c9e179.js +1 -0
  69. package/web/.next/{static/chunks/6529-f1e32c79f8791cfa.js → standalone/packages/web/.next/static/chunks/9083-71b1ac941c487c6e.js} +1 -1
  70. package/web/.next/standalone/packages/web/.next/static/chunks/{9450-294d54fd5e76a9fe.js → 9450-ed49d12c703bda26.js} +1 -1
  71. package/web/.next/standalone/packages/web/.next/static/chunks/{9739.27ae497b7099f321.js → 9739.f6a4f2d4e67afb8d.js} +1 -1
  72. package/web/.next/standalone/packages/web/.next/static/chunks/9987.879f90f445003d89.js +1 -0
  73. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-6c29191b590ea0a2.js +1 -0
  74. package/web/.next/standalone/packages/web/.next/static/chunks/app/{page-88cae45644b1094b.js → page-1227c6cee94aa208.js} +1 -1
  75. package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-a11bba53afca0210.js → page-3949d8bd9297b710.js} +1 -1
  76. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-79e8b6ab920e4663.js +1 -0
  77. package/web/.next/static/chunks/{4443.9537c100f954c481.js → 4443.c6aebbef04aeeaca.js} +1 -1
  78. package/web/.next/static/chunks/{474.b4a3543b5ea98458.js → 474.d51d3c524fefdcc2.js} +1 -1
  79. package/web/.next/static/chunks/{4997-853e6666e334c1e1.js → 4997-6e23921a13646cd3.js} +1 -1
  80. package/web/.next/{standalone/packages/web/.next/static/chunks/6173.8ee24c9b5fdb6622.js → static/chunks/6173.7b94481b495f6e16.js} +1 -1
  81. package/web/.next/{standalone/packages/web/.next/static/chunks/6183.ffc42b1d85d16e96.js → static/chunks/6183.1f6ee612d8020d51.js} +1 -1
  82. package/web/.next/static/chunks/{8510-9a649a52fa024f76.js → 8510-b53b1eec2d5f6472.js} +1 -1
  83. package/web/.next/static/chunks/8607.4d72be8768c9e179.js +1 -0
  84. package/web/.next/{standalone/packages/web/.next/static/chunks/6529-f1e32c79f8791cfa.js → static/chunks/9083-71b1ac941c487c6e.js} +1 -1
  85. package/web/.next/static/chunks/{9450-294d54fd5e76a9fe.js → 9450-ed49d12c703bda26.js} +1 -1
  86. package/web/.next/static/chunks/{9739.27ae497b7099f321.js → 9739.f6a4f2d4e67afb8d.js} +1 -1
  87. package/web/.next/static/chunks/9987.879f90f445003d89.js +1 -0
  88. package/web/.next/static/chunks/app/layout-6c29191b590ea0a2.js +1 -0
  89. package/web/.next/static/chunks/app/{page-88cae45644b1094b.js → page-1227c6cee94aa208.js} +1 -1
  90. package/web/.next/static/chunks/app/sessions/[id]/{page-a11bba53afca0210.js → page-3949d8bd9297b710.js} +1 -1
  91. package/web/.next/static/chunks/webpack-79e8b6ab920e4663.js +1 -0
  92. package/web/.next/standalone/packages/web/.next/server/chunks/10.js +0 -1
  93. package/web/.next/standalone/packages/web/.next/server/chunks/3083.js +0 -1
  94. package/web/.next/standalone/packages/web/.next/server/chunks/4345.js +0 -1
  95. package/web/.next/standalone/packages/web/.next/server/chunks/875.js +0 -1
  96. package/web/.next/standalone/packages/web/.next/static/chunks/5135.f3acc215b764a57d.js +0 -1
  97. package/web/.next/standalone/packages/web/.next/static/chunks/8083.160acfcbe41ffab3.js +0 -1
  98. package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-b23d138f8fe123eb.js +0 -1
  99. package/web/.next/standalone/packages/web/.next/static/chunks/webpack-ba10cf90277ce1be.js +0 -1
  100. package/web/.next/static/chunks/5135.f3acc215b764a57d.js +0 -1
  101. package/web/.next/static/chunks/8083.160acfcbe41ffab3.js +0 -1
  102. package/web/.next/static/chunks/app/layout-b23d138f8fe123eb.js +0 -1
  103. package/web/.next/static/chunks/webpack-ba10cf90277ce1be.js +0 -1
  104. /package/web/.next/standalone/packages/web/.next/static/{kz3nfaxwr3RYJXxymvvF0 → dj0AZ-BuKLN7Oz3l7Q7YP}/_buildManifest.js +0 -0
  105. /package/web/.next/standalone/packages/web/.next/static/{kz3nfaxwr3RYJXxymvvF0 → dj0AZ-BuKLN7Oz3l7Q7YP}/_ssgManifest.js +0 -0
  106. /package/web/.next/static/{kz3nfaxwr3RYJXxymvvF0 → dj0AZ-BuKLN7Oz3l7Q7YP}/_buildManifest.js +0 -0
  107. /package/web/.next/static/{kz3nfaxwr3RYJXxymvvF0 → dj0AZ-BuKLN7Oz3l7Q7YP}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ exports.id=3802,exports.ids=[3802],exports.modules={14276:()=>{},22675:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,87839)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},36026:(a,b,c)=>{"use strict";function d(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}function e(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}function f(){let a=d(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=d(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_URL);if(b)return b;let c=e(process.env.CONDUCTOR_BACKEND_PORT);if(null!==c)return`http://127.0.0.1:${c}`;let f=e(process.env.NEXT_PUBLIC_CONDUCTOR_BACKEND_PORT);return null!==f?`http://127.0.0.1:${f}`:null}function g(){let a=f();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>g,_:()=>f})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(49588),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",a),...c})})).displayName="TooltipContent"},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},48250:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"001d000713e25c877c247e47cff4ec7beba46afd55":()=>d.y});var d=c(30254)},59627:(a,b,c)=>{Promise.resolve().then(c.bind(c,33996)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,19867)),Promise.resolve().then(c.bind(c,89833)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},65413:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("001d000713e25c877c247e47cff4ec7beba46afd55",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},92987:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"0030e563a88b4438e115442dd89ef365705e741e61":()=>e.at,"007f6bbe32985dc788f6ccefc7fb334cb8be9f9c04":()=>e.AZ,"00975e615d00aaff6962ca50d4e814c9a1c44b64c8":()=>e.ai,"00fb07f57b90a19a40eab635cf90de6eadfd3633a5":()=>d.i,"4028c9459b3069c8438e2282c40173e66267ad14e5":()=>e.ot,"405060a88b099f16eb008db8f36811e50db96c1585":()=>d.$});var d=c(35515),e=c(78113)},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>y,metadata:()=>v,viewport:()=>w});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(56004),j=c.n(i),k=c(62078),l=c.n(k),m=c(76323),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${j().variable} ${f().variable} ${h().variable} ${l().variable}`,u="1"===process.env.VERCEL||"true"===process.env.VERCEL,v={title:"Conductor",description:"Multi-agent orchestrator dashboard"},w={width:"device-width",initialScale:1};function x({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,u?(0,d.jsx)(n.Analytics,{}):null]})})})]})}async function y({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,clerkJSUrl:f.clerkJSUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(x,{children:a})}):(0,d.jsx)(x,{children:a})}},96674:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(85660);let e=(0,d.createServerReference)("007f6bbe32985dc788f6ccefc7fb334cb8be9f9c04",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))}};
@@ -1 +1 @@
1
- "use strict";exports.id=4682,exports.ids=[4682],exports.modules={2599:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},31084:(a,b,c)=>{c.d(b,{J:()=>e,s:()=>f});var d=c(19954);function e(a){let b=(0,d.C0)(a);if(!b)return"/";let c=new URLSearchParams;return c.set("bridge",b),`/?${c.toString()}`}function f(a,b={}){let c,e=a.trim(),g=(0,d.DW)(e)?e:(c=(0,d.C0)(b.bridgeId))?(0,d.Bp)(c,e):e,h=new URLSearchParams,i=b.tab?.trim();i&&h.set("tab",i);let j=h.toString(),k=`/sessions/${encodeURIComponent(g)}`;return j.length>0?`${k}?${j}`:k}},32301:(a,b,c)=>{c.r(b),c.d(b,{WorkspaceOverview:()=>I});var d=c(92692),e=c(71277),f=c(80763),g=c(2599),h=c(50898),i=c(57658),j=c(4977),k=c(1071),l=c(48582),m=c(54761),n=c(89612),o=c(37303);let p=(0,o.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var q=c(71943);let r=(0,o.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var s=c(93544);let t={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},u={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function v({activity:a,dotOnly:b=!1,size:c=6}){let e=null!==a&&a in t?t[a]:{...u,label:a??"unknown"},f="active"===a;return b?(0,d.jsx)("div",{className:`shrink-0 rounded-full ${f?"attention-glow":""}`,style:{width:c,height:c,background:e.dot}}):(0,d.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:e.bg},children:[(0,d.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${f?"attention-glow":""}`,style:{background:e.dot}}),(0,d.jsx)("span",{className:"text-[10px] font-medium",style:{color:e.text},children:e.label})]})}var w=c(44462);let x={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function y({status:a,failedCount:b,compact:c,prUrl:e}){let f=x[a]??x.none;if("none"===a||!a)return(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let g="failing"===a&&b&&b>0?`${b} check${b>1?"s":""} failing`:f.label,h=(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:f.bg,color:f.text},children:[!c&&(0,d.jsx)("span",{children:f.icon}),g]});return e?(0,d.jsx)("a",{href:`${e}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"hover:opacity-80",children:h}):h}function z({additions:a,deletions:b,compact:c}){let e,f=(e=a+b)<10?"XS":e<50?"S":e<200?"M":e<500?"L":"XL";return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,d.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",a]}),(0,d.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",b]}),!c&&(0,d.jsx)("span",{className:"text-[var(--text-faint)]",children:f})]})}var A=c(31084);let B=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function C(a){let b=0;for(let c of a)b=31*b+c.charCodeAt(0)|0;return B[Math.abs(b)%B.length]}let D={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},E={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function F({decision:a}){let b="approved"===a,c="changes_requested"===a;return(0,d.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:b?"color-mix(in srgb, var(--status-ready) 12%, transparent)":c?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:b?"var(--status-ready)":c?"var(--status-error)":"var(--text-faint)"},children:b?"✅ Approved":c?"Changes req.":`Review: ${a||"pending"}`})}function G({session:a,onSelect:b,onRestore:c}){let[f,g]=(0,e.useState)(!1),h="merged"===a.status||a.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===a.status||"terminated"===a.status?{label:a.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:a.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},j=C(a.projectId),k="merged"!==a.status&&n.C.has(a.status);return(0,d.jsxs)("div",{className:(0,s.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",f&&"border-[rgba(255,255,255,0.1)]"),onClick:a=>{a.target.closest("a, button, input")||g(!f)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:h.bg,color:h.color},children:h.label}),(0,d.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:j.bg,color:j.text},children:a.projectId}),(0,d.jsx)("div",{className:"flex-1"}),k&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),c?.(a.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,d.jsx)(p,{className:"h-3 w-3"}),"restore"]})]}),(0,d.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:a.summary||a.projectId}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[a.branch&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,d.jsx)(i.A,{className:"h-2.5 w-2.5 opacity-50"}),a.branch]}),a.pr&&(0,d.jsxs)("a",{href:a.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",a.pr.number]}),a.pr?.additions!=null&&a.pr?.deletions!=null&&(0,d.jsx)(z,{additions:a.pr.additions,deletions:a.pr.deletions})]}),f&&(0,d.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[a.pr&&(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,d.jsx)(y,{status:a.pr.ciStatus,prUrl:a.pr.url}),(0,d.jsx)(F,{decision:a.pr.reviewDecision})]}),!a.pr&&(0,d.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function H({session:a,onSelect:b,onSend:c,onKill:f,onRestore:g,compact:h}){let j,k,[l,m]=(0,e.useState)(!1),[o,t]=(0,e.useState)(""),[u,x]=(0,e.useState)(!1),[B,I]=(0,e.useState)(()=>Date.now()),J=(0,n.n)(a),K=n.C.has(a.status),L=K&&"merged"!==a.status,M=C(a.projectId),N=function(a){let b=a.cost;if(!b)return null;try{let a=JSON.parse(b);return a.estimatedCostUsd??a.totalUSD??null}catch{return null}}(a.metadata),O=(j=[],(k=a.pr)&&("failing"===k.ciStatus&&j.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===k.reviewDecision&&j.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),k.mergeability.noConflicts||j.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),k.mergeability.mergeable&&k.mergeability.ciPassing&&k.mergeability.approved&&"open"===k.state&&j.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),j),P=a.metadata?.agent,Q=a.pr,R=Q?.state==="open"&&Q.mergeability.mergeable&&Q.mergeability.ciPassing&&Q.mergeability.approved,S=(0,e.useCallback)(async()=>{let b=o.trim();if(b&&!u){x(!0);try{await Promise.resolve(c?.(a.id,b)),t("")}finally{setTimeout(()=>x(!1),1500)}}},[o,u,c,a.id]);if("done"===J||h)return(0,d.jsx)(G,{session:a,onSelect:b,onSend:c,onKill:f,onRestore:g});let T=R?D.merge:O.length>0?D.respond:J in D?D[J]:"border-[rgba(255,255,255,0.08)]",U=J in E?E[J]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,d.jsxs)("div",{className:(0,s.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",T),onClick:c=>{c.target.closest("a, button, input, textarea")||b?.(a.id)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(v,{activity:a.activity}),(0,d.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:a.id}),(0,d.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:M.bg,color:M.text},children:a.projectId}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(a,b){let c=Math.floor((b-new Date(a).getTime())/6e4);if(c<1)return"now";if(c<60)return`${c}m`;let d=Math.floor(c/60);return d<24?`${d}h`:`${Math.floor(d/24)}d`}(a.createdAt,B)}),(0,d.jsx)("a",{href:(0,A.s)(a.id,{bridgeId:a.bridgeId,tab:"terminal"}),onClick:a=>a.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,d.jsx)(q.A,{className:"h-3 w-3"})})]}),(0,d.jsx)("div",{className:"mt-1.5",children:(0,d.jsx)("p",{className:(0,s.cn)("leading-snug line-clamp-2",U),children:a.summary||a.projectId})}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[a.branch&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,d.jsx)(i.A,{className:"h-2.5 w-2.5 opacity-50"}),a.branch]}),Q&&(0,d.jsxs)("a",{href:Q.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",Q.number]}),Q?.additions!=null&&Q?.deletions!=null&&(0,d.jsx)(z,{additions:Q.additions,deletions:Q.deletions}),P&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,d.jsx)(w.N,{seed:{label:P},className:"h-4 w-4"}),P]})]}),O.length>0&&(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[O.map(a=>(0,d.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:a.bg,color:a.color,border:`1px solid ${a.borderColor}`},children:a.label},a.key)),Q&&(0,d.jsx)(y,{status:Q.ciStatus,compact:!0,prUrl:Q.url}),Q&&"none"!==Q.reviewDecision&&"pending"!==Q.reviewDecision&&(0,d.jsx)(F,{decision:Q.reviewDecision})]}),(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=N&&(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",N.toFixed(2)]}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(a,b){let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"-";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(a.createdAt,a.lastActivityAt)}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:a.status.replace(/_/g," ")})]}),!K&&(0,d.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,d.jsx)("input",{type:"text",value:o,onChange:a=>t(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),S())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:a=>a.stopPropagation()}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),S()},disabled:u||0===o.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:u?"Sent":"Send"})]}),K&&(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),g?.(a.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,d.jsx)(p,{className:"h-3 w-3"}),"Restore"]}),(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,d.jsx)(r,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function I({projects:a,sessions:b,onCreateWorkspace:c,onSelectSession:o}){let p=(0,e.useMemo)(()=>b.filter(a=>"archived"!==a.status),[b]),q=(0,e.useMemo)(()=>(function(a,b){let c=[];for(let d of a){let a=c.length;for(;a>0&&0>c[a-1].lastActivityAt.localeCompare(d.lastActivityAt);)a-=1;!(a>=b)&&(c.splice(a,0,d),c.length>b&&c.pop())}return c})(p,Math.max(p.length,12)),[p]),r=(0,e.useMemo)(()=>{let a=0,b=0,c=0;for(let d of p){let e=(0,n.n)(d);"done"!==e&&(a+=1),"merge"===e?(c+=1,b+=1):("respond"===e||"review"===e)&&(b+=1)}return{active:a,attention:b,merge:c}},[p]),s=0===a.length&&0===p.length,t=[{label:"Projects",value:String(a.length),icon:f.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(r.active),icon:g.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(r.attention),icon:h.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(r.merge),icon:i.A,caption:"Cleared to land"}];return s?(0,d.jsx)("div",{className:"flex h-full min-h-0 w-full flex-col overflow-y-auto overscroll-contain bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] lg:overflow-hidden",children:(0,d.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,d.jsx)("div",{className:"mb-4 flex justify-end",children:(0,d.jsx)(k.$,{variant:"outline",size:"md",onClick:c,children:"Add workspace"})}),(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsx)(m.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,d.jsxs)(m.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,d.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(j.A,{className:"h-6 w-6"})}),(0,d.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,d.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,d.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,d.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,d.jsx)(k.$,{variant:"primary",size:"md",onClick:c,children:"Add workspace"}),(0,d.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,d.jsx)("div",{className:"flex h-full min-h-0 w-full flex-col overflow-y-auto overscroll-contain bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] lg:overflow-hidden",children:(0,d.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{className:"max-w-3xl",children:[(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,d.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,d.jsx)(k.$,{variant:"outline",size:"md",onClick:c,children:"Add workspace"})})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:t.map(({label:a,value:b,icon:c,caption:e})=>(0,d.jsx)(m.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,d.jsxs)(m.Wu,{className:"flex items-center gap-3 py-3",children:[(0,d.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(c,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:a}),(0,d.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:b}),(0,d.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:e})]})]})},a))}),(0,d.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,d.jsxs)(m.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,d.jsxs)(m.aR,{className:"justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,d.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,d.jsx)(l.E,{variant:"outline",children:p.length})]}),(0,d.jsx)(m.Wu,{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto",children:0===q.length?(0,d.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):q.map(a=>(0,d.jsx)(H,{session:a,onSelect:o},a.id))})]})})]})})}},48582:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(92692),e=c(93544);let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function g({variant:a="default",className:b,children:c}){return(0,d.jsx)("span",{className:(0,e.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",f[a],b),children:c})}},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])}};
1
+ "use strict";exports.id=4682,exports.ids=[4682],exports.modules={2599:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},31084:(a,b,c)=>{c.d(b,{J:()=>e,s:()=>f});var d=c(19954);function e(a){let b=(0,d.C0)(a);if(!b)return"/";let c=new URLSearchParams;return c.set("bridge",b),`/?${c.toString()}`}function f(a,b={}){let c,e=a.trim(),g=(0,d.DW)(e)?e:(c=(0,d.C0)(b.bridgeId))?(0,d.Bp)(c,e):e,h=new URLSearchParams,i=b.tab?.trim();i&&h.set("tab",i);let j=h.toString(),k=`/sessions/${encodeURIComponent(g)}`;return j.length>0?`${k}?${j}`:k}},32301:(a,b,c)=>{c.r(b),c.d(b,{WorkspaceOverview:()=>I});var d=c(92692),e=c(71277),f=c(80763),g=c(2599),h=c(50898),i=c(57658),j=c(4977),k=c(1071),l=c(48582),m=c(54761),n=c(89612),o=c(37303);let p=(0,o.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var q=c(71943);let r=(0,o.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var s=c(93544);let t={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},u={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function v({activity:a,dotOnly:b=!1,size:c=6}){let e=null!==a&&a in t?t[a]:{...u,label:a??"unknown"},f="active"===a;return b?(0,d.jsx)("div",{className:`shrink-0 rounded-full ${f?"attention-glow":""}`,style:{width:c,height:c,background:e.dot}}):(0,d.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:e.bg},children:[(0,d.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${f?"attention-glow":""}`,style:{background:e.dot}}),(0,d.jsx)("span",{className:"text-[10px] font-medium",style:{color:e.text},children:e.label})]})}var w=c(86018);let x={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function y({status:a,failedCount:b,compact:c,prUrl:e}){let f=x[a]??x.none;if("none"===a||!a)return(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let g="failing"===a&&b&&b>0?`${b} check${b>1?"s":""} failing`:f.label,h=(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:f.bg,color:f.text},children:[!c&&(0,d.jsx)("span",{children:f.icon}),g]});return e?(0,d.jsx)("a",{href:`${e}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"hover:opacity-80",children:h}):h}function z({additions:a,deletions:b,compact:c}){let e,f=(e=a+b)<10?"XS":e<50?"S":e<200?"M":e<500?"L":"XL";return(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,d.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",a]}),(0,d.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",b]}),!c&&(0,d.jsx)("span",{className:"text-[var(--text-faint)]",children:f})]})}var A=c(31084);let B=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function C(a){let b=0;for(let c of a)b=31*b+c.charCodeAt(0)|0;return B[Math.abs(b)%B.length]}let D={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},E={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function F({decision:a}){let b="approved"===a,c="changes_requested"===a;return(0,d.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:b?"color-mix(in srgb, var(--status-ready) 12%, transparent)":c?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:b?"var(--status-ready)":c?"var(--status-error)":"var(--text-faint)"},children:b?"✅ Approved":c?"Changes req.":`Review: ${a||"pending"}`})}function G({session:a,onSelect:b,onRestore:c}){let[f,g]=(0,e.useState)(!1),h="merged"===a.status||a.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===a.status||"terminated"===a.status?{label:a.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:a.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},j=C(a.projectId),k="merged"!==a.status&&n.C.has(a.status);return(0,d.jsxs)("div",{className:(0,s.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",f&&"border-[rgba(255,255,255,0.1)]"),onClick:a=>{a.target.closest("a, button, input")||g(!f)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:h.bg,color:h.color},children:h.label}),(0,d.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:j.bg,color:j.text},children:a.projectId}),(0,d.jsx)("div",{className:"flex-1"}),k&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),c?.(a.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,d.jsx)(p,{className:"h-3 w-3"}),"restore"]})]}),(0,d.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:a.summary||a.projectId}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[a.branch&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,d.jsx)(i.A,{className:"h-2.5 w-2.5 opacity-50"}),a.branch]}),a.pr&&(0,d.jsxs)("a",{href:a.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",a.pr.number]}),a.pr?.additions!=null&&a.pr?.deletions!=null&&(0,d.jsx)(z,{additions:a.pr.additions,deletions:a.pr.deletions})]}),f&&(0,d.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[a.pr&&(0,d.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,d.jsx)(y,{status:a.pr.ciStatus,prUrl:a.pr.url}),(0,d.jsx)(F,{decision:a.pr.reviewDecision})]}),!a.pr&&(0,d.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function H({session:a,onSelect:b,onSend:c,onKill:f,onRestore:g,compact:h}){let j,k,[l,m]=(0,e.useState)(!1),[o,t]=(0,e.useState)(""),[u,x]=(0,e.useState)(!1),[B,I]=(0,e.useState)(()=>Date.now()),J=(0,n.n)(a),K=n.C.has(a.status),L=K&&"merged"!==a.status,M=C(a.projectId),N=function(a){let b=a.cost;if(!b)return null;try{let a=JSON.parse(b);return a.estimatedCostUsd??a.totalUSD??null}catch{return null}}(a.metadata),O=(j=[],(k=a.pr)&&("failing"===k.ciStatus&&j.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===k.reviewDecision&&j.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),k.mergeability.noConflicts||j.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),k.mergeability.mergeable&&k.mergeability.ciPassing&&k.mergeability.approved&&"open"===k.state&&j.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),j),P=a.metadata?.agent,Q=a.pr,R=Q?.state==="open"&&Q.mergeability.mergeable&&Q.mergeability.ciPassing&&Q.mergeability.approved,S=(0,e.useCallback)(async()=>{let b=o.trim();if(b&&!u){x(!0);try{await Promise.resolve(c?.(a.id,b)),t("")}finally{setTimeout(()=>x(!1),1500)}}},[o,u,c,a.id]);if("done"===J||h)return(0,d.jsx)(G,{session:a,onSelect:b,onSend:c,onKill:f,onRestore:g});let T=R?D.merge:O.length>0?D.respond:J in D?D[J]:"border-[rgba(255,255,255,0.08)]",U=J in E?E[J]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,d.jsxs)("div",{className:(0,s.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",T),onClick:c=>{c.target.closest("a, button, input, textarea")||b?.(a.id)},children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(v,{activity:a.activity}),(0,d.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:a.id}),(0,d.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:M.bg,color:M.text},children:a.projectId}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(a,b){let c=Math.floor((b-new Date(a).getTime())/6e4);if(c<1)return"now";if(c<60)return`${c}m`;let d=Math.floor(c/60);return d<24?`${d}h`:`${Math.floor(d/24)}d`}(a.createdAt,B)}),(0,d.jsx)("a",{href:(0,A.s)(a.id,{bridgeId:a.bridgeId,tab:"terminal"}),onClick:a=>a.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,d.jsx)(q.A,{className:"h-3 w-3"})})]}),(0,d.jsx)("div",{className:"mt-1.5",children:(0,d.jsx)("p",{className:(0,s.cn)("leading-snug line-clamp-2",U),children:a.summary||a.projectId})}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[a.branch&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,d.jsx)(i.A,{className:"h-2.5 w-2.5 opacity-50"}),a.branch]}),Q&&(0,d.jsxs)("a",{href:Q.url,target:"_blank",rel:"noopener noreferrer",onClick:a=>a.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",Q.number]}),Q?.additions!=null&&Q?.deletions!=null&&(0,d.jsx)(z,{additions:Q.additions,deletions:Q.deletions}),P&&(0,d.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,d.jsx)(w.N,{seed:{label:P},className:"h-4 w-4"}),P]})]}),O.length>0&&(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[O.map(a=>(0,d.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:a.bg,color:a.color,border:`1px solid ${a.borderColor}`},children:a.label},a.key)),Q&&(0,d.jsx)(y,{status:Q.ciStatus,compact:!0,prUrl:Q.url}),Q&&"none"!==Q.reviewDecision&&"pending"!==Q.reviewDecision&&(0,d.jsx)(F,{decision:Q.reviewDecision})]}),(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=N&&(0,d.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",N.toFixed(2)]}),(0,d.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(a,b){let c=new Date(b).getTime()-new Date(a).getTime();if(c<0)return"-";let d=Math.floor(c/1e3);if(d<60)return`${d}s`;let e=Math.floor(d/60);if(e<60)return`${e}m`;let f=Math.floor(e/60);return`${f}h ${e%60}m`}(a.createdAt,a.lastActivityAt)}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:a.status.replace(/_/g," ")})]}),!K&&(0,d.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,d.jsx)("input",{type:"text",value:o,onChange:a=>t(a.target.value),onKeyDown:a=>{"Enter"===a.key&&(a.preventDefault(),S())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:a=>a.stopPropagation()}),(0,d.jsx)("button",{onClick:a=>{a.stopPropagation(),S()},disabled:u||0===o.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:u?"Sent":"Send"})]}),K&&(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),g?.(a.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,d.jsx)(p,{className:"h-3 w-3"}),"Restore"]}),(0,d.jsxs)("button",{onClick:b=>{b.stopPropagation(),f?.(a.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,d.jsx)(r,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function I({projects:a,sessions:b,onCreateWorkspace:c,onSelectSession:o}){let p=(0,e.useMemo)(()=>b.filter(a=>"archived"!==a.status),[b]),q=(0,e.useMemo)(()=>(function(a,b){let c=[];for(let d of a){let a=c.length;for(;a>0&&0>c[a-1].lastActivityAt.localeCompare(d.lastActivityAt);)a-=1;!(a>=b)&&(c.splice(a,0,d),c.length>b&&c.pop())}return c})(p,Math.max(p.length,12)),[p]),r=(0,e.useMemo)(()=>{let a=0,b=0,c=0;for(let d of p){let e=(0,n.n)(d);"done"!==e&&(a+=1),"merge"===e?(c+=1,b+=1):("respond"===e||"review"===e)&&(b+=1)}return{active:a,attention:b,merge:c}},[p]),s=0===a.length&&0===p.length,t=[{label:"Projects",value:String(a.length),icon:f.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(r.active),icon:g.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(r.attention),icon:h.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(r.merge),icon:i.A,caption:"Cleared to land"}];return s?(0,d.jsx)("div",{className:"flex h-full min-h-0 w-full flex-col overflow-y-auto overscroll-contain bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] lg:overflow-hidden",children:(0,d.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,d.jsx)("div",{className:"mb-4 flex justify-end",children:(0,d.jsx)(k.$,{variant:"outline",size:"md",onClick:c,children:"Add workspace"})}),(0,d.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,d.jsx)(m.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,d.jsxs)(m.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,d.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(j.A,{className:"h-6 w-6"})}),(0,d.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,d.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,d.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,d.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,d.jsx)(k.$,{variant:"primary",size:"md",onClick:c,children:"Add workspace"}),(0,d.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,d.jsx)("div",{className:"flex h-full min-h-0 w-full flex-col overflow-y-auto overscroll-contain bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] lg:overflow-hidden",children:(0,d.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{className:"max-w-3xl",children:[(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,d.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,d.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,d.jsx)(k.$,{variant:"outline",size:"md",onClick:c,children:"Add workspace"})})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:t.map(({label:a,value:b,icon:c,caption:e})=>(0,d.jsx)(m.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,d.jsxs)(m.Wu,{className:"flex items-center gap-3 py-3",children:[(0,d.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(c,{className:"h-4 w-4"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:a}),(0,d.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:b}),(0,d.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:e})]})]})},a))}),(0,d.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,d.jsxs)(m.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,d.jsxs)(m.aR,{className:"justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,d.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,d.jsx)(l.E,{variant:"outline",children:p.length})]}),(0,d.jsx)(m.Wu,{className:"flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto",children:0===q.length?(0,d.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):q.map(a=>(0,d.jsx)(H,{session:a,onSelect:o},a.id))})]})})]})})}},48582:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(92692),e=c(93544);let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function g({variant:a="default",className:b,children:c}){return(0,d.jsx)("span",{className:(0,e.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",f[a],b),children:c})}},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},54761:(a,b,c)=>{c.d(b,{Wu:()=>h,Zp:()=>f,aR:()=>g});var d=c(92692),e=c(93544);let f=(0,c(71277).forwardRef)(({className:a,...b},c)=>(0,d.jsx)("div",{ref:c,className:(0,e.cn)("surface-card rounded-[var(--radius-md)] border",a),...b}));function g({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",a),...b})}function h({className:a,...b}){return(0,d.jsx)("div",{className:(0,e.cn)("px-3 py-2",a),...b})}f.displayName="Card"},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])}};
@@ -1 +1 @@
1
- "use strict";exports.id=5538,exports.ids=[5538],exports.modules={9249:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},16249:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(91515);function e(a,b){let c=b.trim(),e=(0,d.q)(a);if(!c)return c;if("claude-code"===e){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}c(53092)},45538:(a,b,c)=>{c.r(b),c.d(b,{WorkspaceSidebarPanel:()=>y});var d=c(92692),e=c(71277),f=c(56192),g=c(9249),h=c(2625),i=c(93544),j=c(89612),k=c(59789);let l=(0,c(37303).A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var m=c(44462),n=c(19954),o=c(16249);let p=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function q(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function r(a){let b=a.branch?.trim(),c=a.model?.trim(),d=a.metadata.agent?.trim()??"";if(b&&c)return`${b} \xb7 ${(0,o.M)(d,c)}`;if(b)return b;if(c)return(0,o.M)(d,c);let e=a.summary?.trim()||a.metadata.summary?.trim();return e||(a.status?.trim()?a.status.replace(/[_-]+/g," "):(0,n.kV)(a.id).slice(0,8))}function s(){let[a,b]=(0,e.useState)(0);return(0,d.jsx)("span",{"aria-hidden":"true",className:"inline-block select-none font-mono text-[18px] leading-none text-[var(--vk-text-strong)]",children:p[a]})}function t({running:a}){return a?(0,d.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center",children:(0,d.jsx)(s,{})}):null}function u({additions:a,deletions:b,isSelected:c}){return(0,d.jsx)("span",{className:(0,i.cn)("inline-flex shrink-0 items-center rounded-[10px] px-3 py-1.5 font-mono text-[12px] leading-none tabular-nums",c?"bg-[rgba(255,255,255,0.1)]":"bg-[rgba(255,255,255,0.06)]"),children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-3",children:[(0,d.jsxs)("span",{className:"text-[#18c58f]",children:["+",a]}),(0,d.jsxs)("span",{className:"text-[#f26d6d]",children:["−",b]})]})})}function v(a,b,c){a.stopPropagation(),a.preventDefault(),c(b,{tab:"diff"})}function w({sessions:a,selectedId:b,onSelect:c,onArchive:f,onCreateWorkspace:g,showHeader:h=!0}){let[n,o]=(0,e.useState)(""),[p,s]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),z=(0,e.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!n.trim())return b;let c=n.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=q(a),g=r(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[n,a]),A=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),f&&p!==b){s(b);try{await f(b)}catch(a){console.error("Failed to archive session",a),y(b),window.setTimeout(()=>y(null),3e3)}finally{s(a=>a===b?null:a)}}},B=(0,e.useMemo)(()=>[...z].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[z]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,d.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,d.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,d.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,d.jsx)("div",{className:(0,i.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,d.jsxs)("label",{className:"flex h-[38px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:h-[30px]",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:n,onChange:a=>o(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,d.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===B.length?(0,d.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,d.jsx)("div",{className:"space-y-2",children:B.map(a=>{let e=(0,j.n)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,e),k=a.metadata.agent?.trim()||null,n=a.id===b,o="waiting_input"!==a.activity&&"blocked"!==a.activity&&("spawning"===a.status||"working"===a.status),s=p===a.id,w=x===a.id;return(0,d.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,i.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors","[content-visibility:auto] [contain-intrinsic-size:92px]",n?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_10%,var(--vk-bg-hover))]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsx)(t,{running:o}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-start gap-2",children:[(0,d.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[k?(0,d.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:k,"aria-label":`${k} agent`,children:(0,d.jsx)(m.N,{seed:{label:k},className:"h-4 w-4"})}):null,(0,d.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:q(a)})]}),g?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"hidden shrink-0 sm:block",children:(0,d.jsx)("button",{type:"button",onClick:b=>v(b,a.id,c),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&v(b,a.id,c)},className:"rounded-[10px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","aria-label":`Open diff for session ${a.id}`,title:"Open diff tab",children:(0,d.jsx)(u,{additions:g.additions,deletions:g.deletions,isSelected:n})})}),(0,d.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium sm:hidden",children:(0,d.jsx)("span",{className:h.className,children:h.label})})]}):(0,d.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:(0,d.jsx)("span",{className:h.className,children:h.label})})]}),(0,d.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:r(a)})]}),f?(0,d.jsx)("button",{type:"button",onClick:b=>void A(b,a.id),disabled:s,className:(0,i.cn)("mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition sm:h-7 sm:w-7","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",s&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:w?"Archive failed":"Archive session",children:(0,d.jsx)(l,{className:(0,i.cn)("h-3.5 w-3.5",w&&"text-red-400")})}):null]},a.id)})})})]})}var x=c(1071);let y=(0,e.memo)(function({projects:a,selectedProjectId:b,onSelectProject:c,onUnlinkProject:k,sessions:l,selectedSessionId:m,onSelectSession:n,onArchiveSession:o,onCreateWorkspace:p}){let[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)(null),y=(0,e.useMemo)(()=>{let a=new Map;for(let b of l){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,j.n)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[l]),z=(0,e.useMemo)(()=>a.find(a=>a.id===s)??null,[s,a]);async function A(){if(k&&s){r(s),v(null);try{await k(s),t(null)}catch(a){v(a instanceof Error?a.message:"Failed to unlink project.")}finally{r(null)}}}return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,d.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,d.jsx)("div",{className:"flex justify-center text-center",children:(0,d.jsx)("p",{className:"font-brand-header text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,d.jsxs)("button",{type:"button",onClick:p,className:"mt-3 inline-flex h-11 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-8","aria-label":"Add workspace",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Add Workspace"})]})]}),(0,d.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,d.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,d.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>c(null),className:(0,i.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===b?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:"All projects"}),(0,d.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:a.length})]}),a.map(a=>{let e,f=b===a.id,g=y.get(a.id)??{total:0,active:0},j=q===a.id,l=(e=[],a.agentModel?.trim()&&e.push(`Model: ${a.agentModel.trim()}`),a.agentReasoningEffort?.trim()&&e.push(`Reasoning: ${a.agentReasoningEffort.trim()}`),e.length>0?e.join(" \xb7 "):null);return(0,d.jsxs)("div",{className:(0,i.cn)("group relative mb-1.5 flex items-center rounded-[6px]",f?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:(0,i.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",f?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,d.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,d.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null,l?(0,d.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:l}):null]}),(0,d.jsxs)("span",{className:"shrink-0 text-right",children:[(0,d.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[g.active," active"]}),(0,d.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[g.total," total"]})]})]}),k&&(0,d.jsx)("button",{type:"button",disabled:j,onClick:b=>{b.stopPropagation(),v(null),t(a.id)},className:"mr-2 inline-flex shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,d.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,d.jsx)(w,{sessions:l,selectedId:m,onSelect:n,onArchive:o,onCreateWorkspace:p,showHeader:!1})})]}),z&&"u">typeof document?(0,f.createPortal)((0,d.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{q||(t(null),v(null))},children:(0,d.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,d.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:z.id})," from this workspace configuration."]})]}),(0,d.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,d.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),u?(0,d.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:u}):null]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)(x.$,{type:"button",variant:"ghost",onClick:()=>{t(null),v(null)},disabled:null!==q,children:"Cancel"}),(0,d.jsx)(x.$,{type:"button",variant:"danger",onClick:()=>void A(),disabled:null!==q,children:q===z.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})})}};
1
+ "use strict";exports.id=5538,exports.ids=[5538],exports.modules={9249:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},16249:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(91515);function e(a,b){let c=b.trim(),e=(0,d.q)(a);if(!c)return c;if("claude-code"===e){let a=c.toLowerCase();if("opus"===a)return"Claude Opus";if("sonnet"===a)return"Claude Sonnet";if("haiku"===a)return"Claude Haiku";let b=a.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(b){let a=b[1];return`Claude ${a[0]?.toUpperCase()+a.slice(1)} ${b[2]}.${b[3]}`}}return c.split(/[-_]+/g).filter(Boolean).map(a=>"gpt"===a.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(a)?a:a[0]?.toUpperCase()+a.slice(1)).join("-")}c(53092)},45538:(a,b,c)=>{c.r(b),c.d(b,{WorkspaceSidebarPanel:()=>y});var d=c(92692),e=c(71277),f=c(56192),g=c(9249),h=c(2625),i=c(93544),j=c(89612),k=c(59789);let l=(0,c(37303).A)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var m=c(86018),n=c(19954),o=c(16249);let p=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"];function q(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function r(a){let b=a.branch?.trim(),c=a.model?.trim(),d=a.metadata.agent?.trim()??"";if(b&&c)return`${b} \xb7 ${(0,o.M)(d,c)}`;if(b)return b;if(c)return(0,o.M)(d,c);let e=a.summary?.trim()||a.metadata.summary?.trim();return e||(a.status?.trim()?a.status.replace(/[_-]+/g," "):(0,n.kV)(a.id).slice(0,8))}function s(){let[a,b]=(0,e.useState)(0);return(0,d.jsx)("span",{"aria-hidden":"true",className:"inline-block select-none font-mono text-[18px] leading-none text-[var(--vk-text-strong)]",children:p[a]})}function t({running:a}){return a?(0,d.jsx)("span",{className:"mt-0.5 inline-flex h-5 w-5 shrink-0 items-center justify-center",children:(0,d.jsx)(s,{})}):null}function u({additions:a,deletions:b,isSelected:c}){return(0,d.jsx)("span",{className:(0,i.cn)("inline-flex shrink-0 items-center rounded-[10px] px-3 py-1.5 font-mono text-[12px] leading-none tabular-nums",c?"bg-[rgba(255,255,255,0.1)]":"bg-[rgba(255,255,255,0.06)]"),children:(0,d.jsxs)("span",{className:"inline-flex items-center gap-3",children:[(0,d.jsxs)("span",{className:"text-[#18c58f]",children:["+",a]}),(0,d.jsxs)("span",{className:"text-[#f26d6d]",children:["−",b]})]})})}function v(a,b,c){a.stopPropagation(),a.preventDefault(),c(b,{tab:"diff"})}function w({sessions:a,selectedId:b,onSelect:c,onArchive:f,onCreateWorkspace:g,showHeader:h=!0}){let[n,o]=(0,e.useState)(""),[p,s]=(0,e.useState)(null),[x,y]=(0,e.useState)(null),z=(0,e.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!n.trim())return b;let c=n.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=q(a),g=r(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[n,a]),A=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),f&&p!==b){s(b);try{await f(b)}catch(a){console.error("Failed to archive session",a),y(b),window.setTimeout(()=>y(null),3e3)}finally{s(a=>a===b?null:a)}}},B=(0,e.useMemo)(()=>[...z].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[z]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,d.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,d.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,d.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,d.jsx)("div",{className:(0,i.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,d.jsxs)("label",{className:"flex h-[38px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:h-[30px]",children:[(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:n,onChange:a=>o(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,d.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===B.length?(0,d.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,d.jsx)("div",{className:"space-y-2",children:B.map(a=>{let e=(0,j.n)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,e),k=a.metadata.agent?.trim()||null,n=a.id===b,o="waiting_input"!==a.activity&&"blocked"!==a.activity&&("spawning"===a.status||"working"===a.status),s=p===a.id,w=x===a.id;return(0,d.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,i.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors","[content-visibility:auto] [contain-intrinsic-size:92px]",n?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_10%,var(--vk-bg-hover))]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsx)(t,{running:o}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-start gap-2",children:[(0,d.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[k?(0,d.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:k,"aria-label":`${k} agent`,children:(0,d.jsx)(m.N,{seed:{label:k},className:"h-4 w-4"})}):null,(0,d.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:q(a)})]}),g?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("span",{className:"hidden shrink-0 sm:block",children:(0,d.jsx)("button",{type:"button",onClick:b=>v(b,a.id,c),onKeyDown:b=>{("Enter"===b.key||" "===b.key)&&v(b,a.id,c)},className:"rounded-[10px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","aria-label":`Open diff for session ${a.id}`,title:"Open diff tab",children:(0,d.jsx)(u,{additions:g.additions,deletions:g.deletions,isSelected:n})})}),(0,d.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium sm:hidden",children:(0,d.jsx)("span",{className:h.className,children:h.label})})]}):(0,d.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:(0,d.jsx)("span",{className:h.className,children:h.label})})]}),(0,d.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:r(a)})]}),f?(0,d.jsx)("button",{type:"button",onClick:b=>void A(b,a.id),disabled:s,className:(0,i.cn)("mt-0.5 inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition sm:h-7 sm:w-7","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",s&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:w?"Archive failed":"Archive session",children:(0,d.jsx)(l,{className:(0,i.cn)("h-3.5 w-3.5",w&&"text-red-400")})}):null]},a.id)})})})]})}var x=c(1071);let y=(0,e.memo)(function({projects:a,selectedProjectId:b,onSelectProject:c,onUnlinkProject:k,sessions:l,selectedSessionId:m,onSelectSession:n,onArchiveSession:o,onCreateWorkspace:p}){let[q,r]=(0,e.useState)(null),[s,t]=(0,e.useState)(null),[u,v]=(0,e.useState)(null),y=(0,e.useMemo)(()=>{let a=new Map;for(let b of l){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,j.n)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[l]),z=(0,e.useMemo)(()=>a.find(a=>a.id===s)??null,[s,a]);async function A(){if(k&&s){r(s),v(null);try{await k(s),t(null)}catch(a){v(a instanceof Error?a.message:"Failed to unlink project.")}finally{r(null)}}}return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,d.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,d.jsx)("div",{className:"flex justify-center text-center",children:(0,d.jsx)("p",{className:"font-brand-header text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,d.jsxs)("button",{type:"button",onClick:p,className:"mt-3 inline-flex h-11 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-8","aria-label":"Add workspace",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("span",{children:"Add Workspace"})]})]}),(0,d.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,d.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,d.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,d.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>c(null),className:(0,i.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===b?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,d.jsx)("span",{className:"truncate",children:"All projects"}),(0,d.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:a.length})]}),a.map(a=>{let e,f=b===a.id,g=y.get(a.id)??{total:0,active:0},j=q===a.id,l=(e=[],a.agentModel?.trim()&&e.push(`Model: ${a.agentModel.trim()}`),a.agentReasoningEffort?.trim()&&e.push(`Reasoning: ${a.agentReasoningEffort.trim()}`),e.length>0?e.join(" \xb7 "):null);return(0,d.jsxs)("div",{className:(0,i.cn)("group relative mb-1.5 flex items-center rounded-[6px]",f?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,d.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:(0,i.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",f?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,d.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,d.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,d.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null,l?(0,d.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:l}):null]}),(0,d.jsxs)("span",{className:"shrink-0 text-right",children:[(0,d.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[g.active," active"]}),(0,d.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[g.total," total"]})]})]}),k&&(0,d.jsx)("button",{type:"button",disabled:j,onClick:b=>{b.stopPropagation(),v(null),t(a.id)},className:"mr-2 inline-flex shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,d.jsx)(h.A,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,d.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,d.jsx)(w,{sessions:l,selectedId:m,onSelect:n,onArchive:o,onCreateWorkspace:p,showHeader:!1})})]}),z&&"u">typeof document?(0,f.createPortal)((0,d.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{q||(t(null),v(null))},children:(0,d.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,d.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,d.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:z.id})," from this workspace configuration."]})]}),(0,d.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,d.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),u?(0,d.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:u}):null]}),(0,d.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)(x.$,{type:"button",variant:"ghost",onClick:()=>{t(null),v(null)},disabled:null!==q,children:"Cancel"}),(0,d.jsx)(x.$,{type:"button",variant:"danger",onClick:()=>void A(),disabled:null!==q,children:q===z.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})})}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6014,exports.ids=[6014,9789],exports.modules={7071:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]])},46953:(a,b,c)=>{c.r(b),c.d(b,{ProjectDispatcherPanel:()=>p});var d=c(92692),e=c(71277),f=c(17024),g=c(19382),h=c(64583),i=c(34075),j=c(7287);function k(a,b){return new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()}function l(a){return[...a].sort(k)}var m=c(1071),n=c(23726),o=c(46818);function p({projectId:a,bridgeId:b,defaultAgent:c,modelAccess:k,runtimeModelCatalogs:q,collapsed:r=!1,onToggleCollapsed:s}){let[t,u]=(0,e.useState)([]),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!0),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)(c),[H,I]=(0,e.useState)(()=>(0,n.c0)(c,k,q,null,null)),J=(0,e.useMemo)(()=>v?t.find(a=>a.id===v)??t[0]??null:t[0]??null,[t,v]),K=(0,e.useCallback)(async()=>{y(!0);try{let c=await fetch((0,o.S)(`/api/projects/${a}/dispatchers`,b),{cache:"no-store"}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??"Failed to load dispatcher sessions");let e=Array.isArray(d?.threads)?l(d.threads):[],f="string"==typeof d?.activeThreadId&&d.activeThreadId.trim().length>0?d.activeThreadId:null;u(e),w(a=>a&&e.some(b=>b.id===a)?a:f&&e.some(a=>a.id===f)?f:e[0]?.id??null),E(null)}catch(a){E(a instanceof Error?a.message:"Failed to load dispatcher sessions")}finally{y(!1)}},[b,a]),L=(0,e.useCallback)(async c=>{A(!0),E(null);try{let d=J?function(a,b,c=""){let d=a.metadata?.[b];return"string"==typeof d&&d.trim().length>0?d:c}(J,"agent"):"",e="openclaw"===F?"openclaw":"openclaw"===d?"":d,f=await fetch((0,o.S)(`/api/projects/${a}/dispatcher`,b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({forceNew:c,dispatcherAgent:e,implementationAgent:F,implementationModel:H.customModel.trim()||H.catalogModel,implementationReasoningEffort:H.reasoningEffort})}),g=await f.json().catch(()=>null);if(!f.ok)throw Error(g?.error??"Failed to start dispatcher");let h=g?.thread??null;if(!h?.id)throw Error("Dispatcher response did not include a thread");u(a=>l([h,...a.filter(a=>a.id!==h.id)])),w(h.id)}catch(a){E(a instanceof Error?a.message:"Failed to start dispatcher")}finally{A(!1)}},[b,J?.metadata?.agent,F,H.catalogModel,H.customModel,H.reasoningEffort,a]),M=(0,e.useCallback)(async c=>{C(c),E(null);try{let d=await fetch((0,o.S)(`/api/projects/${a}/dispatcher?threadId=${encodeURIComponent(c)}`,b),{method:"DELETE"}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??"Failed to delete dispatcher thread");await K()}catch(b){let a=b instanceof Error?b.message:"Failed to delete dispatcher thread";throw E(a),b instanceof Error?b:Error(a)}finally{C(a=>a===c?null:a)}},[b,K,a]);return r?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-panel)]",children:(0,d.jsxs)("button",{type:"button",onClick:s,className:"flex h-[33px] w-full items-center gap-2 border-b border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] xl:h-full xl:flex-col xl:justify-start xl:px-0 xl:py-3","aria-label":"Expand dispatcher",title:"Expand dispatcher",children:[(0,d.jsx)(f.A,{className:"h-4 w-4 shrink-0"}),(0,d.jsx)("span",{className:"truncate xl:hidden",children:"Dispatcher"}),(0,d.jsx)(g.A,{className:"ml-auto h-4 w-4 shrink-0 xl:ml-0"})]})}):x&&!J?(0,d.jsx)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Loading dispatcher..."]})}):J?(0,d.jsxs)("section",{className:"flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[D?(0,d.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[rgba(210,81,81,0.08)] px-3 py-2 text-[12px] text-[#d25151]",children:D}):null,(0,d.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:(0,d.jsx)(j.DispatcherPane,{thread:J,threads:t,projectId:a,bridgeId:b,modelAccess:k,runtimeModelCatalogs:q,onSelectThread:w,onDeleteThread:a=>void M(a),deletingThreadId:B,onStartNewConversation:()=>void L(!0),creatingConversation:z,onToggleCollapse:s,className:"w-full border-l-0 border-t-0 xl:w-full"})})]}):(0,d.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)("div",{className:"flex h-[33px] items-center gap-2 border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:"Dispatcher"}),s?(0,d.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,d.jsx)(g.A,{className:"h-3.5 w-3.5"})}):null]}),(0,d.jsx)("div",{className:"flex min-h-0 flex-1 items-center justify-center overflow-y-auto p-4 sm:p-6",children:(0,d.jsxs)("div",{className:"w-full max-w-[520px] rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-5 text-center shadow-[0_16px_48px_rgba(0,0,0,0.18)]",children:[(0,d.jsx)("div",{className:"mx-auto flex h-10 w-10 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,d.jsx)(f.A,{className:"h-5 w-5"})}),(0,d.jsx)("h2",{className:"mt-4 text-[18px] font-semibold text-[var(--vk-text-strong)]",children:"Start dispatcher"}),(0,d.jsx)("p",{className:"mt-2 text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"Use the dispatcher to review the current repo state, shape work, and propose board changes."}),(0,d.jsxs)("div",{className:"mt-5 rounded-[12px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.16)] p-3 text-left",children:[(0,d.jsx)("p",{className:"mb-3 text-[11px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Default task handoff"}),(0,d.jsx)(i.s,{implementationAgent:F,modelSelection:H,modelAccess:k,runtimeModelCatalogs:q,disabled:z,onImplementationAgentChange:a=>{G(a),I((0,n.c0)(a,k,q,null,null))},onModelSelectionChange:I})]}),D?(0,d.jsx)("div",{className:"mt-4 text-[13px] text-[#d25151]",children:D}):null,(0,d.jsx)("div",{className:"mt-5 flex items-center justify-center gap-3",children:(0,d.jsxs)(m.$,{onClick:()=>void L(!1),disabled:z,children:[z?(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"}):null,"Start dispatcher"]})})]})})]})}},50898:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},52404:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]])},57658:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).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"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};