conductor-oss 0.60.2 → 0.60.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +12 -12
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +7 -7
- package/web/.next/standalone/packages/web/.next/server/chunks/{8873.js → 1827.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/2089.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/4371.js +7 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5160.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5791.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6034.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6829.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/7548.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{12432.9586b2fc81d3f775.js → 12432.595a494ed29872fb.js} +2 -2
- package/web/.next/{static/chunks/28510-fa63a95fcd6d079f.js → standalone/packages/web/.next/static/chunks/28510-a6a58cf869019e55.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{34443.95a5230833827d44.js → 34443.97d747c13b1f809c.js} +1 -1
- package/web/.next/{static/chunks/35493-8b652e38e4127892.js → standalone/packages/web/.next/static/chunks/35493-c39caef34f8d7b4d.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/41964-5cc960d5d3b3be1e.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/64457.738f53a138a71a8c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{16800.f3aea328447dd14d.js → 70232.eda405393dca2b67.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/81132.8414066d4a5a3014.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/90694.044c53c7cbbb704b.js +5 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-f6a1f96453e7bcb2.js → layout-2f6d2acf7b4f1710.js} +1 -1
- package/web/.next/{static/chunks/app/page-7af6ca5f90a39899.js → standalone/packages/web/.next/static/chunks/app/page-bdcab127a414cc21.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-f21c81b0e8c9c67e.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/c2fa70be76f26a63.css +1 -0
- package/web/.next/static/chunks/{12432.9586b2fc81d3f775.js → 12432.595a494ed29872fb.js} +2 -2
- package/web/.next/{standalone/packages/web/.next/static/chunks/28510-fa63a95fcd6d079f.js → static/chunks/28510-a6a58cf869019e55.js} +1 -1
- package/web/.next/static/chunks/{34443.95a5230833827d44.js → 34443.97d747c13b1f809c.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/35493-8b652e38e4127892.js → static/chunks/35493-c39caef34f8d7b4d.js} +1 -1
- package/web/.next/static/chunks/41964-5cc960d5d3b3be1e.js +1 -0
- package/web/.next/static/chunks/64457.738f53a138a71a8c.js +1 -0
- package/web/.next/static/chunks/{16800.f3aea328447dd14d.js → 70232.eda405393dca2b67.js} +1 -1
- package/web/.next/static/chunks/81132.8414066d4a5a3014.js +3 -0
- package/web/.next/static/chunks/90694.044c53c7cbbb704b.js +5 -0
- package/web/.next/static/chunks/app/{layout-f6a1f96453e7bcb2.js → layout-2f6d2acf7b4f1710.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/app/page-7af6ca5f90a39899.js → static/chunks/app/page-bdcab127a414cc21.js} +1 -1
- package/web/.next/static/chunks/webpack-f21c81b0e8c9c67e.js +1 -0
- package/web/.next/static/css/c2fa70be76f26a63.css +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/4886.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/6614.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/7553.js +0 -7
- package/web/.next/standalone/packages/web/.next/static/chunks/21425.889cf2d0a430bc95.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/22482.6c525cdac09a2925.js +0 -5
- package/web/.next/standalone/packages/web/.next/static/chunks/32368.e2d99a545e03d91b.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/41964-8937c4b676119b7b.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-3d6b64eeae3dc189.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/396688a096470ab8.css +0 -1
- package/web/.next/static/chunks/21425.889cf2d0a430bc95.js +0 -1
- package/web/.next/static/chunks/22482.6c525cdac09a2925.js +0 -5
- package/web/.next/static/chunks/32368.e2d99a545e03d91b.js +0 -3
- package/web/.next/static/chunks/41964-8937c4b676119b7b.js +0 -1
- package/web/.next/static/chunks/webpack-3d6b64eeae3dc189.js +0 -1
- package/web/.next/static/css/396688a096470ab8.css +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{M5TTXGtLVvID0q6xB6_Pd → HItuEdI3C5Zt-1qWjaj0n}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{M5TTXGtLVvID0q6xB6_Pd → HItuEdI3C5Zt-1qWjaj0n}/_ssgManifest.js +0 -0
- /package/web/.next/static/{M5TTXGtLVvID0q6xB6_Pd → HItuEdI3C5Zt-1qWjaj0n}/_buildManifest.js +0 -0
- /package/web/.next/static/{M5TTXGtLVvID0q6xB6_Pd → HItuEdI3C5Zt-1qWjaj0n}/_ssgManifest.js +0 -0
package/web/.next/static/chunks/app/{layout-f6a1f96453e7bcb2.js → layout-2f6d2acf7b4f1710.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{30445:(e,r,t)=>{"use strict";t.d(r,{A:()=>n});var o=t(5974);let n=(0,o.createServerReference)("0052e0670dcb389b99076175ec7fddf48e02e7780f",o.callServer,void 0,o.findSourceMapURL,"detectKeylessEnvDriftAction")},46916:(e,r,t)=>{"use strict";t.d(r,{cn:()=>s});var o=t(9917),n=t(2809);function s(...e){return(0,n.QP)((0,o.$)(e))}},48204:(e,r,t)=>{"use strict";t.d(r,{ThemeProvider:()=>d});var o=t(54568),n=t(7620);let s=(0,n.createContext)({theme:"dark",toggleTheme:()=>{}});function i(e){let r=document.documentElement;r.classList.remove("dark","light"),r.classList.add(e)}function d({children:e}){let[r,t]=(0,n.useState)("dark");(0,n.useEffect)(()=>{let e=localStorage.getItem("conductor-theme");if("light"===e||"dark"===e){t(e),i(e);return}i("dark")},[]);let a=(0,n.useCallback)(()=>{t(e=>{let r="dark"===e?"light":"dark";return localStorage.setItem("conductor-theme",r),i(r),r})},[]);return(0,o.jsx)(s.Provider,{value:{theme:r,toggleTheme:a},children:e})}},74471:()=>{},92690:(e,r,t)=>{"use strict";t.d(r,{TooltipProvider:()=>d});var o=t(54568),n=t(97257),s=t(7620),i=t(46916);let d=n.Kq;n.bL,n.l9,(0,s.forwardRef)(({className:e,sideOffset:r=8,...t},s)=>(0,o.jsx)(n.ZL,{children:(0,o.jsx)(n.UC,{ref:s,sideOffset:r,className:(0,i.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",e),...t})})).displayName="TooltipContent"},97431:(e,r,t)=>{"use strict";t.d(r,{y:()=>n});var o=t(5974);let n=(0,o.createServerReference)("00904aef1e3ba6ff9ac6505919bf6bb74a037369f0",o.callServer,void 0,o.findSourceMapURL,"invalidateCacheAction")},98709:(e,r,t)=>{Promise.resolve().then(t.bind(t,37204)),Promise.resolve().then(t.bind(t,36727)),Promise.resolve().then(t.bind(t,76940)),Promise.resolve().then(t.bind(t,48914)),Promise.resolve().then(t.bind(t,30679)),Promise.resolve().then(t.bind(t,62520)),Promise.resolve().then(t.bind(t,93603)),Promise.resolve().then(t.t.bind(t,48477,23)),Promise.resolve().then(t.t.bind(t,91745,23)),Promise.resolve().then(t.t.bind(t,79584,23)),Promise.resolve().then(t.t.bind(t,84978,23)),Promise.resolve().then(t.t.bind(t,74471,23)),Promise.resolve().then(t.bind(t,48204)),Promise.resolve().then(t.bind(t,92690))}},e=>{e.O(0,[49271,89306,63357,30524,33051,28510,587,61968,77358],()=>e(e.s=98709)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58974,99847],{12529:(e,t,n)=>{Promise.resolve().then(n.bind(n,60594))},33866:(e,t,n)=>{"use strict";n.d(t,{BO:()=>l,Ge:()=>d,a6:()=>c,h7:()=>i,iQ:()=>o,pN:()=>a});var r=n(5739);let a=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"hermes",label:"Hermes",description:"Nous Research Hermes Agent CLI",homepage:"https://hermes-agent.nousresearch.com/",iconUrl:"/agents/hermes.png",installHint:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",installUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/",setupUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"letta",label:"Letta Code",description:"Letta Code CLI (memory-first agent)",homepage:"https://docs.letta.com/letta-code",iconUrl:"/agents/letta-light.svg",installHint:"npm install -g @letta-ai/letta-code",installUrl:"https://docs.letta.com/letta-code",setupUrl:"https://app.letta.com/"},{name:"openclaw",label:"OpenClaw",description:"OpenClaw gateway-backed chat runtime",homepage:"https://github.com/openclaw/openclaw#readme",iconUrl:null,installHint:"Configure the OpenClaw gateway in backend runtime settings",installUrl:"https://github.com/openclaw/openclaw",setupUrl:"https://github.com/openclaw/openclaw",surfaces:["dispatcher"]},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],l=a.map(e=>e.name),s=new Map(a.map(e=>[(0,r.q)(e.name),e]));function i(e){return s.get((0,r.q)(e))??null}function o(e){let t=i(e);return!t||(t.surfaces?.includes("terminal")??!0)}function d(e){let t=[],n=new Set;for(let a of e){let e=a.trim();if(!e||!o(e))continue;let l=(0,r.q)(e);n.has(l)||(n.add(l),t.push(e))}return t}function c(e,t){let n="string"==typeof e?e.trim():"";if(n&&o(n))return n;let r=t.trim();return r&&o(r)?r:a.find(e=>o(e.name))?.name??"codex"}},51164:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(76196);let a=["pro","max","api"],l=["chatgpt","api"],s=["default"],i=["oauth","api"],o=["oauth","api"];function d(e,t,n){return"string"==typeof e&&t.includes(e)?e:n}function c(e){let t=!e||"object"!=typeof e||Array.isArray(e)?{}:{...e},n=(0,r.Zp)();return{amp:d(t.amp,s,n.amp),claudeCode:d(t.claudeCode,a,n.claudeCode),codex:d(t.codex,l,n.codex),cursorCli:d(t.cursorCli,s,n.cursorCli),droid:d(t.droid,s,n.droid),gemini:d(t.gemini,i,n.gemini),githubCopilot:d(t.githubCopilot,s,n.githubCopilot),opencode:d(t.opencode,s,n.opencode),qwenCode:d(t.qwenCode,o,n.qwenCode),ccr:d(t.ccr,s,n.ccr)}}},60594:(e,t,n)=>{"use strict";n.d(t,{default:()=>ek});var r=n(54568),a=n(42925),l=n(79748),s=n(7620),i=n(96869);n(76196);var o=n(52353),d=n(20487),c=n(50549),p=n(57917),u=n(21048),x=n(55341),m=n(30824),h=n(34737),g=n(20670),f=n(8008),v=n(58299),b=n(36645),w=n(84736),j=n(7086),k=n(54299),y=n(34041),N=n(34309),C=n(68476),A=n(20732),S=n(45894),I=n(5739),E=n(33866),M=n(35821),$=n(95106),L=n(53649),U=n(86011),P=n(31404),O=n(10926);let B=new Map,q=new Map;function F(e){let t=q.get(e);return t||(t={agents:[],loading:!0,lastFetchedAt:0,inFlight:null,retryTimeout:null},q.set(e,t)),t}function _(e){let t=B.get(e);return t||(t=new Set,B.set(e,t)),t}function T(e){for(let t of _(e))t()}function R(e){let t=F(e);return t.agents.length>0&&Date.now()-t.lastFetchedAt<3e4}function D(e,t){let n=F(e);null===n.retryTimeout&&(n.retryTimeout=window.setTimeout(()=>{F(e).retryTimeout=null,W(e,t,!0)},1e4))}async function W(e,t,n=!1){let r=F(e);if(!n&&R(e)){r.loading&&(r.loading=!1,T(e));return}return r.inFlight||(r.loading=!0,T(e),r.inFlight=(async()=>{try{var n;let a=await fetch((0,P.S)("/api/agents",t),{cache:"no-store"});if(!a.ok)throw Error(`Failed to fetch agents: ${a.status}`);let l=(n=await a.json(),Array.isArray(n)?n:n&&"object"==typeof n&&"agents"in n&&Array.isArray(n.agents)?n.agents:[]);l.length>0?(r.agents=l,r.lastFetchedAt=Date.now(),null!==r.retryTimeout&&(window.clearTimeout(r.retryTimeout),r.retryTimeout=null)):D(e,t)}catch{D(e,t)}finally{r.loading=!1,r.inFlight=null,T(e)}})()),r.inFlight}var H=n(46012),V=n(862),G=n(97882),z=n(39702),Z=n(86181),J=n(72410),X=n(85905),Q=n(84527),K=n(15115),Y=n(83770);function ee(e){return e.map(e=>(0,O.C0)(e)).filter(e=>null!==e)}var et=n(67506),en=n(76050),er=n(51164),ea=n(88272);let el="claude-code",es="conductor-board-dispatcher-panel-width";function ei(e){let t=e?.trim();return t&&t.length>0?t:null}function eo(e,t){return Math.min(Math.min(720,Math.max(320,Math.floor(.55*(Number.isFinite(t)&&t>0?t:720)))),Math.max(320,Math.round(e)))}let ed=(0,a.default)(()=>Promise.all([n.e(35493),n.e(35863)]).then(n.bind(n,35493)).then(e=>e.SessionDetail),{loadableGenerated:{webpack:()=>[35493]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),ec=(0,a.default)(()=>Promise.all([n.e(29450),n.e(79167)]).then(n.bind(n,29450)).then(e=>e.WorkspaceSidebarPanel),{loadableGenerated:{webpack:()=>[29450]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),ep=(0,a.default)(()=>n.e(66173).then(n.bind(n,66173)).then(e=>e.WorkspaceOverview),{loadableGenerated:{webpack:()=>[66173]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),eu=(0,a.default)(()=>n.e(79739).then(n.bind(n,79739)).then(e=>e.WorkspaceKanban),{loadableGenerated:{webpack:()=>[79739]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),ex=(0,a.default)(()=>Promise.all([n.e(39526),n.e(16800),n.e(12432),n.e(58607)]).then(n.bind(n,44838)).then(e=>e.ProjectDispatcherPanel),{loadableGenerated:{webpack:()=>[44838]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),em=(0,a.default)(()=>Promise.all([n.e(77401),n.e(39526),n.e(16800),n.e(22482),n.e(32368)]).then(n.bind(n,32368)).then(e=>e.ProjectNotesWorkspace),{loadableGenerated:{webpack:()=>[32368]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading notes workspace..."})}),eh=(0,a.default)(()=>Promise.all([n.e(53470),n.e(30524),n.e(56817)]).then(n.bind(n,56817)).then(e=>e.NewWorkspaceDialog),{loadableGenerated:{webpack:()=>[56817]},loading:()=>null}),eg=(0,a.default)(()=>Promise.all([n.e(53470),n.e(30524),n.e(56817)]).then(n.bind(n,56817)).then(e=>e.SettingsDialog),{loadableGenerated:{webpack:()=>[56817]},loading:()=>null});function ef(e){let t=(0,E.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ev(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function eb(e){let[t]=e.split(" - ");return(t??e).trim()}function ew(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function ej(e,t){let n=ew(e),r=ew(n.notifications),a=r.soundFile,l="string"==typeof n.codingAgent&&n.codingAgent.trim().length>0?n.codingAgent.trim():t,s=(0,E.a6)(l,t),i="string"==typeof n.ide&&n.ide.trim().length>0?n.ide.trim():"vscode",o="string"==typeof n.markdownEditor&&n.markdownEditor.trim().length>0?n.markdownEditor.trim():"obsidian",d="string"==typeof n.markdownEditorPath?n.markdownEditorPath.trim():"",c=Array.isArray(n.filesystemBrowseRoots)?n.filesystemBrowseRoots.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean):[];return{onboardingAcknowledged:!0===n.onboardingAcknowledged,codingAgent:s,ide:i,markdownEditor:o,markdownEditorPath:d,filesystemBrowseRoots:c,modelAccess:(0,er.v)(n.modelAccess),notifications:{soundEnabled:!1!==r.soundEnabled,soundFile:null===a?null:"string"==typeof a&&a.trim().length>0?a.trim():"abstract-sound-4"}}}function ek({requiresPairedDeviceScope:e=!1}){let t=(0,l.useRouter)(),n=(0,l.usePathname)(),a=(0,l.useSearchParams)(),i=(0,s.useMemo)(()=>ei(a.get("project")),[a]),o=(0,s.useMemo)(()=>ei(a.get("session")),[a]),d=(0,s.useMemo)(()=>{var e;return"board"===(e=a.get("view"))?"board":"notes"===e?"notes":"direct"},[a]),c=(0,s.useMemo)(()=>ei(a.get("bridge")),[a]),[p,u]=(0,s.useState)(c??""),h=(0,O.C0)(p),g=(0,s.useMemo)(()=>(0,O.DW)(o)?.bridgeId??null,[o]),w=c??g,j=h??g,[k,y]=(0,s.useState)([]),[N,C]=(0,s.useState)("loading"),[A,S]=(0,s.useState)(null),B=!!(0,et.y)()&&null===A,q=(0,s.useMemo)(()=>k.filter(e=>e.connected),[k]),T=(0,s.useMemo)(()=>q.map(e=>e.bridgeId),[q]),D=(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!1;let a=(0,O.C0)(t);return!!a&&("loading"===r||"ready"===r&&!ee(n).includes(a))})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:T,bridgeInventoryStatus:N}),[N,T,j,e]);(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!0;let a=(0,O.C0)(t);return!!a&&"ready"===r&&ee(n).includes(a)})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:T,bridgeInventoryStatus:N}),[N,T,j,e]);let J=(0,s.useMemo)(()=>!e||!!j,[j,e]),{projects:X,loading:ev,error:eb,refresh:ew}=(0,L.U)(j,{enabled:J}),{agents:eN}=function(e,t){let n=t?.enabled??!0,r=(0,O.C0)(e)??"local",[a,l]=(0,s.useState)({agents:[],loading:n});return(0,s.useEffect)(()=>{if(!n)return void l({agents:[],loading:!1});let t=()=>{let e;return l({agents:(e=F(r)).agents,loading:e.loading})};_(r).add(t),t(),W(r,e);let a=()=>{R(r)||W(r,e,!0)},s=()=>{"visible"!==document.visibilityState||R(r)||W(r,e,!0)};return window.addEventListener("focus",a),document.addEventListener("visibilitychange",s),()=>{_(r).delete(t),window.removeEventListener("focus",a),document.removeEventListener("visibilitychange",s)}},[e,n,r]),n?a:{agents:[],loading:!1}}(j,{enabled:J}),{mobileSidebarOpen:eC,desktopSidebarOpen:eA,toggleSidebar:eS,closeSidebarOnMobile:eI,syncSidebarForViewport:eE}=(0,H.T)({initialDesktopOpen:!1}),eM=eC||eA,e$=!o||eM,{sessions:eL,loading:eU,error:eP,refresh:eO}=(0,$.t)(i,{enabled:e$&&J,bridgeId:j}),[eB,eq]=(0,s.useState)(""),[eF,e_]=(0,s.useState)(""),[eT,eR]=(0,s.useState)((0,ea.Z3)()),[eD,eW]=(0,s.useState)(!1),[eH,eV]=(0,s.useState)(null),[eG,ez]=(0,s.useState)(null),[eZ,eJ]=(0,s.useState)(!1),[eX,eQ]=(0,s.useState)(!1),[eK,eY]=(0,s.useState)(null),[e0,e1]=(0,s.useState)(null),[e3,e4]=(0,s.useState)(!0),[e2,e5]=(0,s.useState)(!1),[e6,e7]=(0,s.useState)(null),[e9,e8]=(0,s.useState)(!1),[te,tt]=(0,s.useState)(!1),[tn,tr]=(0,s.useState)(()=>o?[o]:[]),[ta,tl]=(0,s.useState)(!1),[ts,ti]=(0,s.useState)(!1),[to,td]=(0,s.useState)(()=>o?"chat":"board"),[tc,tp]=(0,s.useState)(!1),[tu,tx]=(0,s.useState)(405),[tm,th]=(0,s.useState)(!1),tg=(0,s.useRef)(null),tf=(0,s.useRef)(i);(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{tl((0,Z.k$)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(min-width: 1280px)"):null,t=()=>{ti(e?.matches??window.innerWidth>=1280)};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{if("board"!==d||null===i){tf.current=i,td("board");return}let e=tf.current!==i;(tf.current=i,o)?td("chat"):e&&td("board")},[i,o,d]),(0,s.useEffect)(()=>{try{let e=window.localStorage.getItem(es),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&tx(eo(t,window.innerWidth))}catch{}let e=()=>{tx(e=>eo(e,window.innerWidth))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.useEffect)(()=>{if(!tm)return;let e=e=>{let t=window.innerWidth;tx(eo(t-e.clientX,t))},t=()=>{th(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(es,String(tu))}catch{}}},[tm,tu]),(0,s.useEffect)(()=>{if(!B){y([]),C("ready"),e&&t.replace("/bridge/connect");return}let n=!1,r=window.innerWidth<768,a=D?r?8e3:4e3:r?3e4:15e3;async function l(){try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,Y.Xt)(t?.error)){n||(S(t?.error??null),y([]),C("ready"));return}throw Error(`Failed to fetch bridges: ${e.status}`)}n||(S(null),y((0,K.oH)(t?.devices).map(e=>({bridgeId:e.device_id,hostname:e.last_status?.hostname??e.hostname,os:`${e.last_status?.os??`${e.os}/${e.arch}`}${(0,K.wj)(e.last_status?.version)}`,capabilities:[],connected:e.connected,status:e.connected?"connected":"offline",connectedAt:"",lastSeenAt:""}))),C("ready"))}catch{n||(y([]),C("error"))}}l();let s=window.setInterval(()=>{l()},a);return()=>{n=!0,window.clearInterval(s)}},[B,D,e,t]),(0,s.useEffect)(()=>{let t=function({requiresPairedDeviceScope:e,requestedBridgeId:t,selectedBridgeId:n,connectedBridgeIds:r}){let a=(0,O.C0)(t),l=(0,O.C0)(n),s=ee(r);return e?a||(0===s.length?"":l&&s.includes(l)?l:s[0]??""):l&&s.includes(l)?l:""}({requiresPairedDeviceScope:e,requestedBridgeId:w,selectedBridgeId:p,connectedBridgeIds:T});t!==p&&u(t)},[T,w,e,p]),(0,s.useEffect)(()=>{!e||j||"ready"!==N||q.length>0||t.replace("/bridge/connect")},[N,q.length,j,e,t]),(0,s.useEffect)(()=>{u(c??"")},[c]);let tv=(0,s.useMemo)(()=>new Map(eL.map(e=>[e.id,e])),[eL]),{session:tb,loading:tw,error:tj}=(0,M.w)(o,null,{enabled:!!o&&J,bridgeId:j}),tk=eH??eb??eP??tj??e6,ty=(0,s.useMemo)(()=>{let e=new Map;for(let t of eL){let n=e.get(t.projectId);n?n.push(t):e.set(t.projectId,[t])}return e},[eL]),tN=(0,s.useCallback)((e,r="push")=>{let l=new URLSearchParams(a.toString()),s=(e,t)=>{let n="string"==typeof t?t.trim():"";n.length>0?l.set(e,n):l.delete(e)};"projectId"in e&&s("project",e.projectId),"sessionId"in e&&s("session",e.sessionId),"workspaceView"in e&&("board"===e.workspaceView?l.set("view","board"):"notes"===e.workspaceView?l.set("view","notes"):l.delete("view")),"tab"in e&&(e.tab&&"dispatcher"!==e.tab?l.set("tab",e.tab):l.delete("tab")),"bridgeId"in e&&s("bridge",e.bridgeId),l.has("project")||l.delete("view"),l.has("session")||l.delete("tab");let i=l.toString(),o=i.length>0?`${n}?${i}`:n;"replace"===r?t.replace(o,{scroll:!1}):t.push(o,{scroll:!1})},[n,t,a]);(0,s.useEffect)(()=>{let e=(0,O.C0)(p);(c??null)!==e&&tN({bridgeId:e},"replace")},[c,tN,p]),(0,s.useEffect)(()=>{if(!ev&&!eb){if(0===X.length){null!==i&&tN({projectId:null,workspaceView:null},"replace");return}null===i||X.some(e=>e.id===i)||tN({projectId:o?null:X[0]?.id??null,workspaceView:o?null:d},"replace")}},[eb,ev,tN,X,i,o,d]),(0,s.useEffect)(()=>{if(o){if(e$){if(eU||eP)return;eL.some(e=>e.id===o)||tN({sessionId:null,tab:null},"replace");return}!tw&&(tb||tN({sessionId:null,tab:null},"replace"))}},[eL,tN,e$,o,tw,tb,eP,eU]),(0,s.useEffect)(()=>{o?tr(e=>[o,...e.filter(e=>e!==o)].slice(0,1)):tr([])},[o]),(0,s.useEffect)(()=>{o&&tg.current&&tg.current!==o&&(tg.current=null)},[o]),(0,s.useEffect)(()=>{o&&e$&&!eU&&!eP&&tr(e=>e.filter(e=>e===o||tv.has(e)))},[e$,o,tv,eP,eU]);let tC=(0,s.useMemo)(()=>tb,[tb]),tA=(0,s.useMemo)(()=>X.find(e=>e.id===i)??null,[X,i]),tS=(0,s.useMemo)(()=>i?ty.get(i)??[]:[],[i,ty]),tI=(0,s.useMemo)(()=>tC??(o?tv.get(o)??null:null),[tC,o,tv]),tE=(0,s.useMemo)(()=>{let e=a.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e&&"dispatcher"!==e&&"terminal"===(0,en.tK)(tI)},[tI,a]),tM=!!o&&tE&&ta,t$=(0,s.useMemo)(()=>tA&&("board"===d||"notes"===d)?[tA.id,tA.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):tC?[tC.projectId,tC.branch].filter(Boolean).join(" \xb7 "):tA?[tA.id,tA.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):"All Projects",[tA,tC,d]),tL=(0,s.useMemo)(()=>j?k.find(e=>e.bridgeId===j)??null:null,[k,j]),tU=tL?`Device \xb7 ${tL.hostname}`:D?"Device \xb7 Reconnecting":e?"Scope \xb7 Paired device required":"Scope \xb7 Local backend",tP=tL?`Showing projects and sessions from ${tL.hostname}.`:D?"Waiting for the selected laptop to reconnect before loading dashboard data.":e?"Hosted dashboard access must target a connected laptop.":"Showing projects and sessions from the local backend because no paired laptop is selected.",tO=tL?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":D?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]":e?"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]",tB=(0,s.useMemo)(()=>{let e=Array.isArray(eN)?eN:[],t=new Set;for(let e of E.pN)t.add(e.name);for(let n of e)n.name&&t.add(n.name);for(let e of X)e.agent&&t.add(e.agent);e0?.codingAgent&&t.add(e0.codingAgent),eF&&t.add(eF),0===t.size&&t.add(e0?.codingAgent||el);let n=(0,E.Ge)(t);return 0===n.length&&n.push((0,E.a6)(e0?.codingAgent||el,el)),n},[eN,e0?.codingAgent,X,eF]),tq=(0,s.useMemo)(()=>{let e={};for(let t of E.pN)e[(0,I.q)(t.name)]={name:t.name,ready:!1,installed:!1,configured:!1,homepage:t.homepage,description:t.description,installHint:t.installHint??null,installUrl:t.installUrl??t.homepage??null,setupUrl:t.setupUrl??t.homepage??null};for(let t of Array.isArray(eN)?eN:[]){if(!t.name)continue;let n=(0,I.q)(t.name),r=(0,E.h7)(t.name);e[(0,I.q)(t.name)]={name:r?.name??t.name,ready:!0===t.ready,installed:!1!==t.installed,configured:!0===t.configured,homepage:"string"==typeof t.homepage?t.homepage:r?.homepage??e[n]?.homepage??null,description:"string"==typeof t.description?t.description:r?.description??e[n]?.description??null,installHint:"string"==typeof t.installHint?t.installHint:r?.installHint??e[n]?.installHint??null,installUrl:"string"==typeof t.installUrl?t.installUrl:r?.installUrl??e[n]?.installUrl??null,setupUrl:"string"==typeof t.setupUrl?t.setupUrl:r?.setupUrl??e[n]?.setupUrl??null}}return e},[eN]),tF=(0,s.useMemo)(()=>{let e={};for(let t of Array.isArray(eN)?eN:[])t.name&&t.runtimeModelCatalog&&(e[(0,I.q)(t.name)]=t.runtimeModelCatalog);return e},[eN]),t_=(0,s.useCallback)(e=>{let t=tq[(0,I.q)(e)],n=(0,E.h7)(e),r=t?.installed?t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage:t?.installUrl??n?.installUrl??t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage;r&&window.open(r,"_blank","noopener,noreferrer")},[tq]);async function tT(t,n){e5(!0),e7(null);try{if(e&&!j)throw Error("Pair or reconnect a laptop before saving preferences.");let r=await fetch((0,P.S)("/api/preferences",j),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??a?.reason??`Failed to save preferences: ${r.status}`);let l=ej(a?.preferences,t.codingAgent||el);return e1(l),e_(l.codingAgent),n?.closeDialog!==!1&&e8(!1),!0}catch(e){return e7(e instanceof Error?e.message:"Failed to save preferences"),!1}finally{e5(!1)}}(0,s.useEffect)(()=>{let e=!1;return async function(){if(!J){e||(e1(null),e7(null),e4(!1));return}e4(!0);try{let t=await fetch((0,P.S)("/api/preferences",j)),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??n?.reason??`Failed to load preferences: ${t.status}`);if(e)return;let r=ej(n?.preferences,el);e1(r),e7(null)}catch(t){if(e)return;e1(ej(null,el)),e7(t instanceof Error?t.message:"Failed to load preferences")}finally{e||e4(!1)}}(),()=>{e=!0}},[j,J]),(0,s.useEffect)(()=>{e0&&(eF||e_(e0.codingAgent))},[e0,eF]),(0,s.useEffect)(()=>{if(!e3){if(!e0||e&&!j)return void e8(!1);e0.onboardingAcknowledged||e8(!0)}},[j,e0,e3,e]),(0,s.useEffect)(()=>{if(0!==tB.length&&(!eF||!tB.includes(eF))){let e=e0?.codingAgent||el;e_(tB.includes(e)?e:tB[0]??el)}},[tB,e0?.codingAgent,eF]),(0,s.useEffect)(()=>{let e=(0,E.a6)(eF||tA?.agent||e0?.codingAgent||el,el),t=tA&&(0,I.q)(tA.agent)===(0,I.q)(e)?tA.agentModel:null,n=tA&&(0,I.q)(tA.agent)===(0,I.q)(e)?tA.agentReasoningEffort:null;eR((0,ea.c0)(e,e0?.modelAccess??(0,er.v)(null),tF,t,n))},[e0?.modelAccess,e0?.codingAgent,tF,eF,tA]);let tR=(0,s.useCallback)(()=>{e&&!j?ez("Pair or reconnect a laptop before adding a workspace."):(ez(null),eY(null),eV(null),eJ(!0),eE())},[j,e,eE]);(0,s.useEffect)(()=>{te&&!e9&&(tt(!1),tR())},[te,e9]),(0,s.useEffect)(()=>{(!e||j)&&ez(null)},[j,e]);let tD=(0,s.useCallback)(async t=>{let n=eB.trim(),r=(0,ea.xb)(eT),a=(0,ea.aB)(eT),l=t?.bridgeId??j??null;if(e&&!l)return eV("Pair or reconnect a laptop before launching an agent session."),!1;let s=t?.projectId??i??X[0]?.id;if(!s)return eV("No project is configured in conductor.yaml"),!1;let o=(0,E.a6)(eF||el,el),d=tq[(0,I.q)(o)]??null;if(d&&!d.ready)return eV(d.installed?`${ef(o)} is not ready yet. Finish setup or authentication and try again.`:`${ef(o)} is not installed on this machine yet. Open setup and try again.`),t_(o),!1;eW(!0),eV(null);try{let e=await fetch((0,P.S)("/api/sessions",l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:s,prompt:n,...t?.issueId?.trim()?{issueId:t.issueId.trim()}:{},agent:o,...t?.branch?{branch:t.branch}:{},...t?.baseBranch?{baseBranch:t.baseBranch}:{},..."boolean"==typeof t?.useWorktree?{useWorktree:t.useWorktree}:{},...t?.permissionMode?{permissionMode:t.permissionMode}:{},...r?{model:r}:{},...a?{reasoningEffort:a}:{},...t?.attachments&&t.attachments.length>0?{attachments:t.attachments}:{}})}),i=await e.json().catch(()=>null);if(!e.ok)throw Error(i?.error??`Failed to create workspace: ${e.status}`);if(!i?.session?.id)throw Error("Session created but response is missing session id");return eq(""),eE(),tg.current=i.session.id,await eO(),tN({projectId:s,sessionId:i.session.id,tab:null,bridgeId:l},"push"),!0}catch(e){return eV(e instanceof Error?e.message:"Failed to create workspace"),!1}finally{eW(!1)}},[tq,eT,tN,t_,X,eB,eO,eF,j,i,e,eE]),tW=(0,s.useCallback)(async e=>{(await (0,Q.J)(e,{bridgeId:j}),o===e)?tN({projectId:null,sessionId:null,workspaceView:null,tab:null},"replace"):j&&eO()},[j,tN,eO,o]),tH=(0,s.useCallback)(async t=>{if(e&&!j)return void eY("Pair or reconnect a laptop before adding a workspace.");eQ(!0),eY(null);try{let e=await fetch((0,P.S)("/api/workspaces",j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await e.json().catch(()=>null);if(!e.ok)throw Error(n?.error??`Failed to add workspace: ${e.status}`);let r=n?.project?.id;if(!r)throw Error("Workspace created but response is missing project id");await ew(),eq(""),eE(),eJ(!1),tN({projectId:r,sessionId:null,workspaceView:"direct",tab:null,bridgeId:j??null},"push")}catch(e){eY(e instanceof Error?e.message:"Failed to add workspace")}finally{eQ(!1)}},[j,tN,ew,e,eE]),tV=!e3&&!!e0&&(!e||!!j)&&!e0.onboardingAcknowledged,tG=e0??ej(null,eF||el),tz=(0,E.a6)(eF||tG.codingAgent||el,el),tZ=i??tb?.projectId??null;(0,U.Q)({enabled:!e3,projectId:tZ,preferences:tG.notifications,bridgeId:j});let tJ=(0,s.useCallback)(e=>{tN({projectId:e,sessionId:null,workspaceView:e?d:null,tab:null},"push"),e_((0,E.a6)(e0?.codingAgent||el,el)),td("board"),eI()},[eI,tN,e0?.codingAgent,d]),tX=(0,s.useCallback)((e,t)=>{var n,r;let a,l=tv.get(e)??null;tN((n=i??null,r=t?.tab,a={projectId:l?.projectId??n??null,sessionId:e,tab:r??(0,en.tK)(l)},"board"===d||"notes"===d?{...a,workspaceView:"direct"}:a),"push"),eI()},[eI,tN,i,tv,d]),tQ=(0,s.useCallback)(()=>{e&&!j?t.push("/bridge/connect"):e8(!0)},[j,e,t]),tK=(0,s.useCallback)(()=>{eX||eJ(!1)},[eX]),tY=(0,s.useCallback)(()=>{e2||tV||(e8(!1),e7(null))},[tV,e2]),t0=(0,s.useCallback)(()=>{tp(e=>!e)},[]),t1=(0,s.useCallback)(async e=>{let t=encodeURIComponent(e),n=await fetch((0,P.S)(`/api/repositories/${t}`,j),{method:"DELETE"});(404===n.status||405===n.status)&&(n=await fetch((0,P.S)(`/api/repositories?id=${t}`,j),{method:"DELETE"}));let r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error??`Failed to unlink project (${n.status})`);await ew()},[j,ew]),t3=(0,s.useMemo)(()=>eM?(0,r.jsx)(ec,{projects:X,selectedProjectId:i,onSelectProject:tJ,onUnlinkProject:t1,sessions:eL,selectedSessionId:o,onSelectSession:tX,onArchiveSession:tW,onCreateWorkspace:tR}):null,[eL,tW,tJ,tX,t1,tR,X,i,o,eM]),t4=(0,s.useMemo)(()=>{let t=tA?(0,r.jsxs)("div",{role:"group","aria-label":"Project workspace view",className:"hidden w-fit rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px xl:inline-flex",children:[(0,r.jsx)("button",{type:"button","aria-pressed":"direct"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"direct"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"direct"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button","aria-pressed":"board"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"board"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"board"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"}),(0,r.jsx)("button",{type:"button","aria-pressed":"notes"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"notes"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"notes"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Notes"})]}):null;return"board"===d?(0,r.jsx)(eu,{projectId:i,bridgeId:j,defaultAgent:tz,agentOptions:tB,projectSessions:tS,projectLabel:tA?.id??i,headerAccessory:t,onOpenSession:tX}):"notes"===d&&i?(0,r.jsx)(em,{projectId:i,bridgeId:j,sessions:tS,selectedSessionId:o}):(0,r.jsx)(ey,{prompt:eB,setPrompt:eq,selectedAgent:tz,setSelectedAgent:e_,agentStates:tq,modelSelection:eT,setModelSelection:eR,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,agentOptions:tB,projects:X,bridges:k,selectedBridgeId:p,setSelectedBridgeId:u,requiresPairedDeviceScope:e,selectedProjectId:i,onSelectProject:tJ,projectLabel:i??"All projects",hasProject:X.length>0,creating:eD,error:tk,onOpenAddWorkspace:tR,onOpenAgentSetup:t_,onCreate:tD})},[tB,tq,k,eD,tD,eT,t_,tR,X,tS,tA,o,tX,eB,tz,tG.modelAccess,e,tF,p,i,eq,tk,d,tN]),t2=(0,s.useMemo)(()=>{if(!tA)return t4;let e=({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{role:"group","aria-label":"Project workspace view",className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsx)("button",{type:"button","aria-pressed":"direct"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"direct"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"direct"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button","aria-pressed":"board"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"board"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"board"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"}),(0,r.jsx)("button",{type:"button","aria-pressed":"notes"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"notes"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"notes"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Notes"})]});if("board"===d){let t={"--dispatcher-panel-width":`${tu}px`},n=!ts,a=!n||"board"===to,l=!n||"chat"===to,s=n&&null===o,i=ts&&tc&&null===o,c=null!==o||!tc;return(0,r.jsxs)("div",{style:t,className:"relative flex h-full min-h-0 flex-1 flex-col overflow-hidden",children:[n?(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[e({fullWidth:!0,compact:!0}),s?(({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>{td("board"),tN({projectId:tA.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"board"===to,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"board"===to?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(x.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Board"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>{td("chat"),tN({projectId:tA.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"chat"===to,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"chat"===to?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(m.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Dispatcher"})]})]}))({fullWidth:!0,compact:!0}):null]})}):null,(0,r.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden xl:flex-row",children:[(0,r.jsx)("div",{className:`${a?"block":"hidden"} min-h-0 min-w-0 flex-1 overflow-hidden xl:block`,children:t4}),c?(0,r.jsx)("div",{className:"absolute bottom-0 right-[var(--dispatcher-panel-width)] top-0 z-20 hidden w-2 translate-x-1/2 cursor-col-resize xl:block",onMouseDown:e=>{e.preventDefault(),th(!0)},"aria-hidden":"true",children:(0,r.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,(0,r.jsxs)("div",{className:`${l?"flex":"hidden xl:flex"} ${i?"flex-1 min-h-0 xl:h-auto xl:max-h-none xl:w-[56px] xl:flex-none xl:min-h-0":"flex-1 min-h-[min(360px,50dvh)] xl:w-[var(--dispatcher-panel-width)] xl:flex-none xl:min-h-0"} flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:border-l xl:border-t-0`,children:[n&&l&&null!==o?(0,r.jsx)("div",{className:"flex items-center border-b border-[var(--vk-border)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("button",{type:"button",onClick:()=>td("board"),className:"inline-flex items-center gap-1.5 rounded-[4px] px-2 py-1 text-[12px] font-medium text-[var(--vk-text-muted)] transition-colors hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-strong)]",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:"Back to board"})]})}):null,o?tI?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:tn.map(e=>{let t=e===o,n=t?tI:tv.get(e)??null;return n&&n.projectId===tA.id?(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative z-10 h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden opacity-0 select-none",children:(0,r.jsx)(ed,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tg.current===e,immersiveMobileMode:t&&tM})},e):null})}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-[var(--vk-bg-panel)] text-[13px] text-[var(--vk-text-muted)]",children:"Loading session workspace..."}):(0,r.jsx)(ex,{projectId:tA.id,bridgeId:j,defaultAgent:tz,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,collapsed:i,onToggleCollapsed:t0})]})]})]})}return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,r.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[tA.id," \xb7 ",tA.defaultBranch||"main"]})]}),(0,r.jsx)("div",{className:"hidden xl:inline-flex",children:e()}),(0,r.jsx)("div",{className:"xl:hidden",children:e({fullWidth:!0,compact:!0})})]})}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t4})]})},[to,tc,tu,tI,j,t0,tM,tn,tN,tz,tA,tS,o,tv,ts,t4,d]),t5=(0,s.useMemo)(()=>D?(0,r.jsx)("div",{className:"flex h-full min-h-0 flex-1 items-center justify-center bg-[var(--vk-bg-main)] px-4",children:(0,r.jsxs)("div",{className:"w-full max-w-md rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-5 py-5 text-center shadow-[0_18px_50px_rgba(0,0,0,0.18)]",children:[(0,r.jsx)("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]",children:(0,r.jsx)(v.A,{className:"h-5 w-5 animate-spin"})}),(0,r.jsx)("h2",{className:"mt-4 text-[18px] font-medium text-[var(--vk-text-strong)]",children:"Reconnecting paired laptop"}),(0,r.jsx)("p",{className:"mt-2 text-[14px] leading-6 text-[var(--vk-text-muted)]",children:"Waiting for the selected laptop to report online before loading its projects and sessions."})]})}):o&&(null===i||"board"!==d&&"notes"!==d)?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:tn.map(e=>{let t=e===o,n=t?tC:tv.get(e)??null;return(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative z-10 h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden opacity-0 select-none",children:(0,r.jsx)(ed,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tg.current===e,immersiveMobileMode:t&&tM,onOpenSidebar:eS})},e)})}):null!==i?(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t2}):(0,r.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,r.jsx)(ep,{projects:X,sessions:eL,onCreateWorkspace:tR,onSelectSession:tX})}),[eL,tn,t2,tC,o,tX,tR,X,i,tv,D,eS,d]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(V.G,{mobileSidebarOpen:eC,desktopSidebarOpen:eA,onToggleSidebar:eS,hideMobileSidebarToggle:tM,sidebar:t3,children:[tM?null:(0,r.jsx)(G.V,{title:t$,onOpenPreferences:tQ,rightContent:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${tO}`,title:tP,children:tU}),(0,r.jsx)(z.J,{})]})}),(0,r.jsxs)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${tM?"bg-[#060404]":""}`,children:[eG?(0,r.jsx)("div",{className:"border-b border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,var(--vk-bg-panel))] px-3 py-2 text-[13px] text-[var(--vk-red)] sm:px-4",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("p",{className:"min-w-0 flex-1",children:eG}),(0,r.jsx)("button",{type:"button",onClick:()=>ez(null),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[4px] text-[var(--vk-red)]/80 hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)]","aria-label":"Dismiss workspace action error",children:(0,r.jsx)(b.A,{className:"h-4 w-4"})})]})}):null,t5]})]}),eZ?(0,r.jsx)(eh,{open:eZ,onClose:tK,onCreate:tH,creating:eX,error:eK,defaultAgent:tz,agentOptions:tB,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,bridgeId:j}):null,e9||tV?(0,r.jsx)(eg,{open:e9,mode:tV?"onboarding":"settings",creating:e2,error:e6,current:tG,projectCount:X.length,agentOptions:tB,agentStates:tq,runtimeModelCatalogs:tF,onRepositoriesChanged:ew,onOnboardingComplete:({needsProject:e})=>{e&&tt(!0)},onOpenAgentSetup:t_,onClose:tY,onSave:tT,bridgeId:j}):null]})}c.A,p.A,u.A,x.A,m.A,h.A,g.A,g.A,p.A,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(e=>"custom"!==e.id),c.A,o.mWn,d.$$9,o.i4$,c.A;let ey=(0,s.memo)(function({prompt:e,setPrompt:t,selectedAgent:n,setSelectedAgent:a,agentStates:l,modelSelection:o,setModelSelection:d,modelAccess:c,runtimeModelCatalogs:p,agentOptions:u,projects:x,bridges:m,selectedBridgeId:f,setSelectedBridgeId:M,requiresPairedDeviceScope:$,selectedProjectId:L,onSelectProject:U,projectLabel:O,hasProject:B,creating:q,error:F,onOpenAddWorkspace:_,onOpenAgentSetup:T,onCreate:R}){let D=(0,s.useMemo)(()=>{let e=new Map(E.BO.map((e,t)=>[e,t]));return[...u].sort((t,n)=>{let r=e.get((0,I.q)(t))??Number.MAX_SAFE_INTEGER,a=e.get((0,I.q)(n))??Number.MAX_SAFE_INTEGER;return r!==a?r-a:ef(t).localeCompare(ef(n))})},[u]),W=ef(n),H=l[(0,I.q)(n)]??null,V=(0,s.useMemo)(()=>[...x].sort((e,t)=>e.id.localeCompare(t.id)),[x]),G=L??V[0]?.id??null,z=(0,s.useMemo)(()=>V.find(e=>e.id===G)??null,[G,V]),Z=(0,s.useMemo)(()=>m.filter(e=>e.connected),[m]),Q=(0,s.useMemo)(()=>!f||Z.some(e=>e.bridgeId===f),[Z,f]),[K,Y]=(0,s.useState)([]),[ee,et]=(0,s.useState)(!1),[en,er]=(0,s.useState)(""),[el,es]=(0,s.useState)(""),[ei,eo]=(0,s.useState)([]),[ed,ec]=(0,s.useState)(!1),[ep,eu]=(0,s.useState)(!1),[ex,em]=(0,s.useState)(!1),[eh,eg]=(0,s.useState)(!1),[ew,ej]=(0,s.useState)("default"),[ek,ey]=(0,s.useState)([]),[eN,eC]=(0,s.useState)(!1),[eA,eS]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!z){Y([]),er(""),et(!1);return}Y([]),er(z.defaultBranch.trim()||"main"),et(!1)},[z]),(0,s.useEffect)(()=>{if(!G){eo([]),es(""),ec(!1);return}eo([]),es(""),ec(!1)},[G]);let eI=(0,s.useCallback)(async()=>{if(!z)return;let e=z.defaultBranch.trim()||"main";if(!z.path?.trim()){Y([e]),er(t=>t.trim().length>0?t:e);return}et(!0);try{let t=new URLSearchParams({path:z.path}),n=await fetch((0,P.S)(`/api/workspaces/branches?${t.toString()}`,f)),r=await n.json().catch(()=>null),a=Array.isArray(r?.branches)?r.branches.filter(e=>"string"==typeof e&&e.trim().length>0):[],l="string"==typeof r?.defaultBranch&&r.defaultBranch.trim().length>0?r.defaultBranch.trim():e,s=a.length>0?a:[l];Y(s),er(e=>e.trim().length>0&&s.includes(e)?e:l)}catch{Y([e]),er(e)}finally{et(!1)}},[f,z]),eE=(0,s.useCallback)(async()=>{if(G){ec(!0);try{let e=await fetch((0,P.S)(`/api/boards?projectId=${encodeURIComponent(G)}`,f)),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load tasks: ${e.status}`);let n=(Array.isArray(t?.columns)?t.columns:[]).flatMap(e=>Array.isArray(e.tasks)?e.tasks:[]),r=new Set,a=n.filter(e=>{let t=ev(e);return!(!t||r.has(t))&&(r.add(t),!0)});eo(a),es(e=>a.some(t=>ev(t)===e)?e:"")}catch{eo([]),es("")}finally{ec(!1)}}},[G,f]);(0,s.useEffect)(()=>{!ex||ee||K.length>0||eI()},[ee,ex,K.length,eI]),(0,s.useEffect)(()=>{!ep||ed||ei.length>0||eE()},[ei.length,eE,ed,ep]);let eM=(0,s.useMemo)(()=>(0,ea.Ik)(n,c,p),[c,p,n]),e$=(0,s.useMemo)(()=>ei.find(e=>ev(e)===el)??null,[ei,el]),eL=(0,ea.xb)(o)??"",eU=(0,s.useMemo)(()=>{let e=new Set,t=[],r=eL.trim();for(let n of eM)e.has(n.id)||(e.add(n.id),t.push(n));return r&&!e.has(r)&&(e.add(r),t.unshift({id:r,label:function(e,t){let n=t.trim(),r=(0,I.q)(e);if(!n)return n;if("claude-code"===r){let e=n.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return n.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}(n,r),description:"Current selected model.",access:[]})),t},[eM,n,eL]),eP=(0,s.useMemo)(()=>!H||H.ready||eL?eL?eU.find(e=>e.id===eL)?.label??eL:"Default":"Setup required",[eU,H,eL]),eO=(0,s.useMemo)(()=>(0,ea.iL)(n,c,p,eL),[c,p,n,eL]),eB=(0,ea.aB)(o)??"",eq=(0,s.useMemo)(()=>{let e=eO.find(e=>e.id===eB);return e?e.label:eB||(eO[0]?.label??"Default")},[eO,eB]),eF="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",e_=`${eF} max-h-[min(360px,50vh)] overflow-y-auto`,eT="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",eR=[{id:"default",label:"Default",icon:g.A},{id:"auto",label:"Auto",icon:w.A},{id:"ask",label:"Ask",icon:j.A},{id:"plan",label:"Plan",icon:k.A}],eD=eR.find(e=>e.id===ew)??eR[0],eW="launchpad-attachment-input",eH=q||eN,eV=e=>{let t=e.repo?.trim();if(t){let e=t.split("/").filter(Boolean),n=e[e.length-1]?.replace(/\.git$/i,"");if(n)return n}return e.id},eG=z?eV(z):null,ez=z?`${eG} \xb7 ${en||z.defaultBranch||"main"}`:B?O:"Select project",eZ=e$?.taskRef?.trim()||e$?.issueId?.trim()||e$?.id||"",eJ=e$?eb(e$.text):"Choose a task, bug, or issue from this project's board",eX=z?.id??G??null,eQ=(0,s.useCallback)(e=>{let t=Array.from(e.currentTarget.files??[]);if(e.currentTarget.value="",!t.length)return;let n=new Set(ek.map(e=>`${e.name}:${e.size}:${e.lastModified}`)),r=t.filter(e=>!n.has(`${e.name}:${e.size}:${e.lastModified}`));r.length>0&&ey(e=>[...e,...r]),eS(null)},[ek]),eK=(0,s.useCallback)(e=>{ey(t=>t.filter((t,n)=>n!==e))},[]),eY=(0,s.useCallback)(async()=>{let e;if(eS(null),!eX||!z)return R({projectId:eX??void 0,...eh?{baseBranch:en||z?.defaultBranch||void 0}:{branch:en||z?.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew});eC(!0),eS(null);try{ek.length>0&&(e=await (0,X.P)({files:ek,projectId:z.id,taskRef:el.trim()||void 0,bridgeId:f||void 0}))}catch(e){return eS(e instanceof Error?e.message:"Failed to upload attachment"),!1}finally{eC(!1)}let t=await R({projectId:eX??void 0,...eh?{baseBranch:en||z.defaultBranch||void 0}:{branch:en||z.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew,...e&&e.length>0?{attachments:e}:{}});return t&&(ey([]),eS(null)),t},[el,eX,R,ew,en,z,z?.defaultBranch,f,ek,eh]);return(0,s.useEffect)(()=>{ey([]),eS(null)},[eX]),(0,r.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,r.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,r.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),f?null:(0,r.jsxs)("div",{className:"mb-4 flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"mt-0.5 h-[14px] w-[14px] shrink-0"}),(0,r.jsx)("span",{children:$?"Pair or reconnect a laptop to browse workspaces and launch coding agents from the web dashboard.":"Showing projects and sessions from the local backend. Pair a laptop and select it here to browse that device instead."})]}),(0,r.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2 sm:flex-row sm:items-center",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:flex-1",children:[(0,r.jsx)(J.N,{seed:{label:n},className:"h-[25px] w-[25px] shrink-0 border-none bg-transparent"}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[31px] min-w-0 max-w-full items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-[280px]","aria-label":"Select agent",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate pr-1 text-left",children:W}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),D.map(e=>{let t=e===n,s=l[(0,I.q)(e)]??null;return(0,r.jsxs)(i.q7,{onSelect:()=>a(e),className:eT,children:[(0,r.jsx)(J.N,{seed:{label:e},className:"h-6 w-6 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{children:ef(e)}),s?.ready?null:(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:s?.installed?"Setup required":"Not installed"})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e)})]})})]})]}),(0,r.jsxs)(i.bL,{onOpenChange:eu,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:!G,className:"flex h-[31px] w-full min-w-0 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:w-[240px] sm:shrink-0","aria-label":"Select task",children:[(0,r.jsx)("span",{className:`min-w-0 flex-1 truncate text-[14px] leading-[21px] ${eZ?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}`,children:eZ||"No task"}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"end",side:"bottom",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Tasks"}),(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eJ}),(0,r.jsxs)(i.q7,{onSelect:()=>es(""),className:eT,children:[(0,r.jsx)("span",{children:"No linked task"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),ed?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):ei.length>0?ei.map(e=>{let t=ev(e),n=eb(e.text),a=[e.type,e.priority].filter(Boolean).join(" \xb7 ");return(0,r.jsxs)(i.q7,{onSelect:()=>es(t),className:`${eT} min-w-[320px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:e.taskRef?.trim()||n}),(0,r.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[e.taskRef?.trim()?n:t,a?` \xb7 ${a}`:""]})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el===t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},t)}):(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,r.jsx)("div",{className:"rounded-[3.5px]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,r.jsxs)("div",{className:"relative w-full",children:[(0,r.jsx)("textarea",{value:e,onChange:e=>t(e.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-16 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,r.jsxs)("label",{htmlFor:eW,className:`absolute right-[18px] top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] ${eX?"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-50"}`,children:[(0,r.jsx)("input",{id:eW,type:"file",accept:"*/*",multiple:!0,onChange:eQ,disabled:!eX||eH,className:"hidden"}),(0,r.jsx)(C.A,{className:"h-[14px] w-[14px]"})]}),(0,r.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(A.A,{className:"h-[14px] w-[14px]"})})]}),ek.length>0?(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ek.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"max-w-[160px] truncate",title:e.name,children:e.name}),(0,r.jsx)("button",{type:"button","aria-label":`Remove attachment ${e.name}`,onClick:()=>eK(t),className:"inline-flex h-[14px] w-[14px] items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(b.A,{className:"h-3 w-3"})})]},`${e.name}-${e.size}-${e.lastModified}-${t}`))}):null,(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,r.jsx)(g.A,{className:"h-[15px] w-[15px]"})})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),V.map(e=>{let t=eV(e),n=e.id!==t?e.id:e.path?.trim()||e.repo?.trim()||null;return(0,r.jsxs)(i.q7,{onSelect:()=>U(e.id),className:`${eT} min-w-[280px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:t}),n?(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:n}):null]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:e.id===G?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)}),(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsxs)(i.q7,{onSelect:_,className:eT,children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Add Workspace"})]})]})})]}),eO.length>0?(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","aria-label":"Select reasoning effort",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eq}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Reasoning"}),eO.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>d({...o,reasoningEffort:e.id}),className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eB===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id))]})})]}):null,(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eP}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,r.jsxs)(i.q7,{onSelect:()=>d((0,ea.c0)(n,c,p,z?.agentModel,z?.agentReasoningEffort)),className:eT,children:[(0,r.jsx)("span",{children:"Default"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),eU.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>{var t;let r;return t=e.id,r=(0,ea.iL)(n,c,p,t),void d({catalogModel:t,customModel:"",reasoningEffort:r.some(e=>e.id===o.reasoningEffort)?o.reasoningEffort:(0,ea.YS)(n,c,p,t)})},className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)),0===eU.length?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,H&&!H.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,r.jsx)("span",{children:eD.label}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),eR.map(({id:e,label:t,icon:n})=>(0,r.jsxs)(i.q7,{onSelect:()=>ej(e),className:eT,children:[(0,r.jsx)(n,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ew===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]}),Z.length>0?(0,r.jsxs)("label",{className:"inline-flex h-[29px] max-w-[260px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px] text-[var(--vk-text-muted)]"}),(0,r.jsxs)("select",{value:f,onChange:e=>M(e.target.value),className:"min-w-0 flex-1 bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none",children:[$?null:(0,r.jsx)("option",{value:"",children:"Local backend"}),Z.map(e=>(0,r.jsxs)("option",{value:e.bridgeId,children:[e.hostname," \xb7 ",e.os]},e.bridgeId))]})]}):(0,r.jsxs)("div",{className:"inline-flex h-[29px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px]"}),(0,r.jsx)("span",{children:f&&!Q?"Waiting for selected device":$?"No device connected":"Local backend"})]}),(0,r.jsxs)(i.bL,{onOpenChange:em,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",disabled:!z,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:ez})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),eG?(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eG}):null,ee?(0,r.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):K.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>er(e),className:eT,children:[(0,r.jsx)("span",{children:e}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:en===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]})]}),(0,r.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,r.jsx)("button",{type:"button",onClick:eY,disabled:eH||!G,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:eH?(0,r.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),H&&!H.ready?(0,r.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[W," is not ready on this machine."]}),(0,r.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:H.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install"})]})}):null,(0,r.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)("input",{type:"checkbox",checked:eh,onChange:e=>eg(e.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,r.jsxs)("span",{children:["Use worktree isolation",(0,r.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),F&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:F}),eA&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:eA})]})})})},85905:(e,t,n)=>{"use strict";n.d(t,{P:()=>l});var r=n(31404);function a(e){return e&&"object"==typeof e?e:null}async function l({files:e,projectId:t,taskRef:n,bridgeId:s,preferAbsolute:i=!0}){if(!e.length)return[];let o=t.trim();if(!o)throw Error("Project id is required to upload attachments");let d=new FormData;d.append("projectId",o);let c=n?.trim();for(let t of(c&&d.append("taskRef",c),e))d.append("files",t);let p=await fetch((0,r.S)("/api/attachments",s),{method:"POST",body:d}),u=await p.json().catch(()=>null);if(!p.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(u?.error??`Failed to upload ${t}`)}let x=(Array.isArray(u?.files)?u.files:u?[u]:[]).map(e=>(function(e,t){let n=a(e);if(!n)return null;let r=a(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,i)).filter(e=>!!e);if(0===x.length)throw Error("Attachment upload succeeded but did not return a usable file path");return x}},88272:(e,t,n)=>{"use strict";n.d(t,{c0:()=>x,Z3:()=>s,Ik:()=>d,iL:()=>c,YS:()=>p,ZA:()=>u,xb:()=>m,aB:()=>h});var r=n(76196),a=n(5739);function l(e){return"openclaw"===(0,a.q)(e)}function s(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function i(e,t){return t[(0,a.q)(e)]??null}function o(e){if(!e)return[];let t=[],n=new Set;for(let r of Object.values(e.modelsByAccess))if(Array.isArray(r))for(let e of r)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function d(e,t,n){if(l(e))return[];let a=i(e,n),s=(0,r.Tk)(e,t),d=a&&s?a.modelsByAccess[s]??[]:[],c=o(a);if(c.length>0){let e=[],t=new Set;for(let n of[...d,...c])!n?.id||t.has(n.id)||(t.add(n.id),e.push(n));return e}return(0,r.d8)(e,t)}function c(e,t,n,a){if(l(e))return[];let s=i(e,n),o=(0,r.Tk)(e,t);if(s){if(!s)return[];let e=a?.trim();return e&&s.reasoningOptionsByModel?.[e]?.length?s.reasoningOptionsByModel[e]??[]:o?s.reasoningOptionsByAccess?.[o]??[]:[]}return(0,r.u6)(e,t)}function p(e,t,n,a){if(l(e))return"";let s=i(e,n),o=(0,r.Tk)(e,t);return s?function(e,t,n){if(!e)return null;let r=t?.trim();return r&&e.defaultReasoningByModel?.[r]?e.defaultReasoningByModel[r]??null:n?e.defaultReasoningByAccess?.[n]??null:null}(s,a,o)??"":(0,r.DZ)(e,t)??""}function u(e,t){if(l(e))return"";let n=i(e,t),a=n?.customModelPlaceholder.trim();if(a)return a;let s=(0,r.yM)(e)?.label??"agent";return`Enter exact ${s} model id`}function x(e,t,n,a,u){if(l(e))return s();let x=a?.trim()??"",m=u?.trim().toLowerCase()??"",h=i(e,n),g=d(e,t,n),f=function(e,t,n){if(l(e))return"";let a=i(e,n),s=(0,r.Tk)(e,t);if(a)return(a&&s?a.defaultModelByAccess[s]??null:null)??o(a)[0]?.id??"";return(0,r.O$)(e,t)??""}(e,t,n),v=o(h).length>0,b=r=>{let a=c(e,t,n,r);return m.length>0&&a.some(e=>e.id===m)?m:p(e,t,n,r)};if(x.length>0){if(g.some(e=>e.id===x))return{catalogModel:x,customModel:"",reasoningEffort:b(x)};if(!v)return{catalogModel:f,customModel:x,reasoningEffort:b(x)}}return{catalogModel:f,customModel:"",reasoningEffort:b(f)}}function m(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function h(e){let t=e.reasoningEffort.trim().toLowerCase();return t.length>0?t:void 0}}},e=>{e.O(0,[3036,80691,63357,65587,33051,61962,79083,69703,41964,587,61968,77358],()=>e(e.s=12529)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58974,99847],{12529:(e,t,n)=>{Promise.resolve().then(n.bind(n,60594))},33866:(e,t,n)=>{"use strict";n.d(t,{BO:()=>l,Ge:()=>d,a6:()=>c,h7:()=>i,iQ:()=>o,pN:()=>a});var r=n(5739);let a=[{name:"codex",label:"Codex",description:"OpenAI Codex CLI",homepage:"https://github.com/openai/codex",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/openai.svg",installHint:"npm install -g @openai/codex",installUrl:"https://github.com/openai/codex",setupUrl:"https://chatgpt.com/codex"},{name:"gemini",label:"Gemini",description:"Google Gemini CLI",homepage:"https://ai.google.dev/gemini-api/docs",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/googlegemini.svg",installHint:"npm install -g @google/gemini-cli",installUrl:"https://ai.google.dev/gemini-api/docs",setupUrl:"https://aistudio.google.com/"},{name:"qwen-code",label:"Qwen Code",description:"Qwen Code CLI",homepage:"https://qwenlm.github.io/announcements/",iconUrl:null,installHint:"npm install -g @qwen-code/qwen-code@latest",installUrl:"https://qwenlm.github.io/announcements/",setupUrl:"https://chat.qwen.ai/"},{name:"droid",label:"Droid",description:"Factory Droid CLI",homepage:"https://github.com/Factory-AI/factory",iconUrl:"https://raw.githubusercontent.com/Factory-AI/factory/main/docs/images/droid_logo_cli.png",installHint:"npm install -g @factory/cli",installUrl:"https://github.com/Factory-AI/factory"},{name:"claude-code",label:"Claude Code",description:"Claude Code CLI",homepage:"https://www.anthropic.com/claude",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @anthropic-ai/claude-code",installUrl:"https://www.anthropic.com/claude-code",setupUrl:"https://claude.ai/"},{name:"amp",label:"Amp",description:"Amp Code CLI",homepage:"https://www.ampcode.com",iconUrl:"https://ampcode.com/amp-mark-color.svg",installHint:"npm install -g @sourcegraph/amp",installUrl:"https://www.ampcode.com"},{name:"hermes",label:"Hermes",description:"Nous Research Hermes Agent CLI",homepage:"https://hermes-agent.nousresearch.com/",iconUrl:"/agents/hermes.png",installHint:"curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash",installUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/",setupUrl:"https://hermes-agent.nousresearch.com/docs/getting-started/installation/"},{name:"opencode",label:"OpenCode",description:"OpenCode CLI",homepage:"https://opencode.ai",iconUrl:null,installHint:"npm install -g opencode-ai",installUrl:"https://opencode.ai"},{name:"letta",label:"Letta Code",description:"Letta Code CLI (memory-first agent)",homepage:"https://docs.letta.com/letta-code",iconUrl:"/agents/letta-light.svg",installHint:"npm install -g @letta-ai/letta-code",installUrl:"https://docs.letta.com/letta-code",setupUrl:"https://app.letta.com/"},{name:"openclaw",label:"OpenClaw",description:"OpenClaw gateway-backed chat runtime",homepage:"https://github.com/openclaw/openclaw#readme",iconUrl:null,installHint:"Configure the OpenClaw gateway in backend runtime settings",installUrl:"https://github.com/openclaw/openclaw",setupUrl:"https://github.com/openclaw/openclaw",surfaces:["dispatcher"]},{name:"github-copilot",label:"GitHub Copilot",description:"GitHub Copilot CLI",homepage:"https://docs.github.com/copilot/how-tos/copilot-cli",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/githubcopilot.svg",installHint:"npm install -g @github/copilot",installUrl:"https://docs.github.com/copilot/how-tos/copilot-cli",setupUrl:"https://github.com/settings/copilot"},{name:"cursor-cli",label:"Cursor Agent",description:"Cursor Agent CLI",homepage:"https://www.cursor.com",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/cursor.svg",installHint:"npm install -g cursor-agent"},{name:"ccr",label:"CCR",description:"Claude Code Router",homepage:"https://www.npmjs.com/package/@musistudio/claude-code-router",iconUrl:"https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/claude.svg",installHint:"npm install -g @musistudio/claude-code-router",installUrl:"https://www.npmjs.com/package/@musistudio/claude-code-router"}],l=a.map(e=>e.name),s=new Map(a.map(e=>[(0,r.q)(e.name),e]));function i(e){return s.get((0,r.q)(e))??null}function o(e){let t=i(e);return!t||(t.surfaces?.includes("terminal")??!0)}function d(e){let t=[],n=new Set;for(let a of e){let e=a.trim();if(!e||!o(e))continue;let l=(0,r.q)(e);n.has(l)||(n.add(l),t.push(e))}return t}function c(e,t){let n="string"==typeof e?e.trim():"";if(n&&o(n))return n;let r=t.trim();return r&&o(r)?r:a.find(e=>o(e.name))?.name??"codex"}},51164:(e,t,n)=>{"use strict";n.d(t,{v:()=>c});var r=n(76196);let a=["pro","max","api"],l=["chatgpt","api"],s=["default"],i=["oauth","api"],o=["oauth","api"];function d(e,t,n){return"string"==typeof e&&t.includes(e)?e:n}function c(e){let t=!e||"object"!=typeof e||Array.isArray(e)?{}:{...e},n=(0,r.Zp)();return{amp:d(t.amp,s,n.amp),claudeCode:d(t.claudeCode,a,n.claudeCode),codex:d(t.codex,l,n.codex),cursorCli:d(t.cursorCli,s,n.cursorCli),droid:d(t.droid,s,n.droid),gemini:d(t.gemini,i,n.gemini),githubCopilot:d(t.githubCopilot,s,n.githubCopilot),opencode:d(t.opencode,s,n.opencode),qwenCode:d(t.qwenCode,o,n.qwenCode),ccr:d(t.ccr,s,n.ccr)}}},60594:(e,t,n)=>{"use strict";n.d(t,{default:()=>ek});var r=n(54568),a=n(42925),l=n(79748),s=n(7620),i=n(96869);n(76196);var o=n(52353),d=n(20487),c=n(50549),p=n(57917),u=n(21048),x=n(55341),m=n(30824),h=n(34737),g=n(20670),f=n(8008),v=n(58299),b=n(36645),w=n(84736),j=n(7086),k=n(54299),y=n(34041),N=n(34309),C=n(68476),A=n(20732),S=n(45894),I=n(5739),E=n(33866),M=n(35821),$=n(95106),L=n(53649),U=n(86011),P=n(31404),O=n(10926);let B=new Map,q=new Map;function F(e){let t=q.get(e);return t||(t={agents:[],loading:!0,lastFetchedAt:0,inFlight:null,retryTimeout:null},q.set(e,t)),t}function _(e){let t=B.get(e);return t||(t=new Set,B.set(e,t)),t}function T(e){for(let t of _(e))t()}function R(e){let t=F(e);return t.agents.length>0&&Date.now()-t.lastFetchedAt<3e4}function D(e,t){let n=F(e);null===n.retryTimeout&&(n.retryTimeout=window.setTimeout(()=>{F(e).retryTimeout=null,W(e,t,!0)},1e4))}async function W(e,t,n=!1){let r=F(e);if(!n&&R(e)){r.loading&&(r.loading=!1,T(e));return}return r.inFlight||(r.loading=!0,T(e),r.inFlight=(async()=>{try{var n;let a=await fetch((0,P.S)("/api/agents",t),{cache:"no-store"});if(!a.ok)throw Error(`Failed to fetch agents: ${a.status}`);let l=(n=await a.json(),Array.isArray(n)?n:n&&"object"==typeof n&&"agents"in n&&Array.isArray(n.agents)?n.agents:[]);l.length>0?(r.agents=l,r.lastFetchedAt=Date.now(),null!==r.retryTimeout&&(window.clearTimeout(r.retryTimeout),r.retryTimeout=null)):D(e,t)}catch{D(e,t)}finally{r.loading=!1,r.inFlight=null,T(e)}})()),r.inFlight}var H=n(46012),V=n(862),G=n(97882),z=n(39702),Z=n(86181),J=n(72410),X=n(85905),Q=n(84527),K=n(15115),Y=n(83770);function ee(e){return e.map(e=>(0,O.C0)(e)).filter(e=>null!==e)}var et=n(67506),en=n(76050),er=n(51164),ea=n(88272);let el="claude-code",es="conductor-board-dispatcher-panel-width";function ei(e){let t=e?.trim();return t&&t.length>0?t:null}function eo(e,t){return Math.min(Math.min(720,Math.max(320,Math.floor(.55*(Number.isFinite(t)&&t>0?t:720)))),Math.max(320,Math.round(e)))}let ed=(0,a.default)(()=>Promise.all([n.e(35493),n.e(35863)]).then(n.bind(n,35493)).then(e=>e.SessionDetail),{loadableGenerated:{webpack:()=>[35493]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading session..."})}),ec=(0,a.default)(()=>Promise.all([n.e(29450),n.e(79167)]).then(n.bind(n,29450)).then(e=>e.WorkspaceSidebarPanel),{loadableGenerated:{webpack:()=>[29450]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace panel..."})}),ep=(0,a.default)(()=>n.e(66173).then(n.bind(n,66173)).then(e=>e.WorkspaceOverview),{loadableGenerated:{webpack:()=>[66173]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading workspace..."})}),eu=(0,a.default)(()=>n.e(79739).then(n.bind(n,79739)).then(e=>e.WorkspaceKanban),{loadableGenerated:{webpack:()=>[79739]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading board..."})}),ex=(0,a.default)(()=>Promise.all([n.e(39526),n.e(70232),n.e(12432),n.e(58607)]).then(n.bind(n,44838)).then(e=>e.ProjectDispatcherPanel),{loadableGenerated:{webpack:()=>[44838]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading dispatcher..."})}),em=(0,a.default)(()=>Promise.all([n.e(77401),n.e(39526),n.e(70232),n.e(90694),n.e(81132)]).then(n.bind(n,81132)).then(e=>e.ProjectNotesWorkspace),{loadableGenerated:{webpack:()=>[81132]},loading:()=>(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"Loading notes workspace..."})}),eh=(0,a.default)(()=>Promise.all([n.e(53470),n.e(30524),n.e(56817)]).then(n.bind(n,56817)).then(e=>e.NewWorkspaceDialog),{loadableGenerated:{webpack:()=>[56817]},loading:()=>null}),eg=(0,a.default)(()=>Promise.all([n.e(53470),n.e(30524),n.e(56817)]).then(n.bind(n,56817)).then(e=>e.SettingsDialog),{loadableGenerated:{webpack:()=>[56817]},loading:()=>null});function ef(e){let t=(0,E.h7)(e);return t?.label?t.label:e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function ev(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function eb(e){let[t]=e.split(" - ");return(t??e).trim()}function ew(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function ej(e,t){let n=ew(e),r=ew(n.notifications),a=r.soundFile,l="string"==typeof n.codingAgent&&n.codingAgent.trim().length>0?n.codingAgent.trim():t,s=(0,E.a6)(l,t),i="string"==typeof n.ide&&n.ide.trim().length>0?n.ide.trim():"vscode",o="string"==typeof n.markdownEditor&&n.markdownEditor.trim().length>0?n.markdownEditor.trim():"obsidian",d="string"==typeof n.markdownEditorPath?n.markdownEditorPath.trim():"",c=Array.isArray(n.filesystemBrowseRoots)?n.filesystemBrowseRoots.filter(e=>"string"==typeof e).map(e=>e.trim()).filter(Boolean):[];return{onboardingAcknowledged:!0===n.onboardingAcknowledged,codingAgent:s,ide:i,markdownEditor:o,markdownEditorPath:d,filesystemBrowseRoots:c,modelAccess:(0,er.v)(n.modelAccess),notifications:{soundEnabled:!1!==r.soundEnabled,soundFile:null===a?null:"string"==typeof a&&a.trim().length>0?a.trim():"abstract-sound-4"}}}function ek({requiresPairedDeviceScope:e=!1}){let t=(0,l.useRouter)(),n=(0,l.usePathname)(),a=(0,l.useSearchParams)(),i=(0,s.useMemo)(()=>ei(a.get("project")),[a]),o=(0,s.useMemo)(()=>ei(a.get("session")),[a]),d=(0,s.useMemo)(()=>{var e;return"board"===(e=a.get("view"))?"board":"notes"===e?"notes":"direct"},[a]),c=(0,s.useMemo)(()=>ei(a.get("bridge")),[a]),[p,u]=(0,s.useState)(c??""),h=(0,O.C0)(p),g=(0,s.useMemo)(()=>(0,O.DW)(o)?.bridgeId??null,[o]),w=c??g,j=h??g,[k,y]=(0,s.useState)([]),[N,C]=(0,s.useState)("loading"),[A,S]=(0,s.useState)(null),B=!!(0,et.y)()&&null===A,q=(0,s.useMemo)(()=>k.filter(e=>e.connected),[k]),T=(0,s.useMemo)(()=>q.map(e=>e.bridgeId),[q]),D=(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!1;let a=(0,O.C0)(t);return!!a&&("loading"===r||"ready"===r&&!ee(n).includes(a))})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:T,bridgeInventoryStatus:N}),[N,T,j,e]);(0,s.useMemo)(()=>(function({requiresPairedDeviceScope:e,effectiveBridgeId:t,connectedBridgeIds:n,bridgeInventoryStatus:r}){if(!e)return!0;let a=(0,O.C0)(t);return!!a&&"ready"===r&&ee(n).includes(a)})({requiresPairedDeviceScope:e,effectiveBridgeId:j,connectedBridgeIds:T,bridgeInventoryStatus:N}),[N,T,j,e]);let J=(0,s.useMemo)(()=>!e||!!j,[j,e]),{projects:X,loading:ev,error:eb,refresh:ew}=(0,L.U)(j,{enabled:J}),{agents:eN}=function(e,t){let n=t?.enabled??!0,r=(0,O.C0)(e)??"local",[a,l]=(0,s.useState)({agents:[],loading:n});return(0,s.useEffect)(()=>{if(!n)return void l({agents:[],loading:!1});let t=()=>{let e;return l({agents:(e=F(r)).agents,loading:e.loading})};_(r).add(t),t(),W(r,e);let a=()=>{R(r)||W(r,e,!0)},s=()=>{"visible"!==document.visibilityState||R(r)||W(r,e,!0)};return window.addEventListener("focus",a),document.addEventListener("visibilitychange",s),()=>{_(r).delete(t),window.removeEventListener("focus",a),document.removeEventListener("visibilitychange",s)}},[e,n,r]),n?a:{agents:[],loading:!1}}(j,{enabled:J}),{mobileSidebarOpen:eC,desktopSidebarOpen:eA,toggleSidebar:eS,closeSidebarOnMobile:eI,syncSidebarForViewport:eE}=(0,H.T)({initialDesktopOpen:!1}),eM=eC||eA,e$=!o||eM,{sessions:eL,loading:eU,error:eP,refresh:eO}=(0,$.t)(i,{enabled:e$&&J,bridgeId:j}),[eB,eq]=(0,s.useState)(""),[eF,e_]=(0,s.useState)(""),[eT,eR]=(0,s.useState)((0,ea.Z3)()),[eD,eW]=(0,s.useState)(!1),[eH,eV]=(0,s.useState)(null),[eG,ez]=(0,s.useState)(null),[eZ,eJ]=(0,s.useState)(!1),[eX,eQ]=(0,s.useState)(!1),[eK,eY]=(0,s.useState)(null),[e0,e1]=(0,s.useState)(null),[e3,e4]=(0,s.useState)(!0),[e2,e5]=(0,s.useState)(!1),[e6,e7]=(0,s.useState)(null),[e9,e8]=(0,s.useState)(!1),[te,tt]=(0,s.useState)(!1),[tn,tr]=(0,s.useState)(()=>o?[o]:[]),[ta,tl]=(0,s.useState)(!1),[ts,ti]=(0,s.useState)(!1),[to,td]=(0,s.useState)(()=>o?"chat":"board"),[tc,tp]=(0,s.useState)(!1),[tu,tx]=(0,s.useState)(405),[tm,th]=(0,s.useState)(!1),tg=(0,s.useRef)(null),tf=(0,s.useRef)(i);(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(pointer: coarse)"):null,t=()=>{tl((0,Z.k$)())};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{let e="function"==typeof window.matchMedia?window.matchMedia("(min-width: 1280px)"):null,t=()=>{ti(e?.matches??window.innerWidth>=1280)};return t(),window.addEventListener("resize",t),e?.addEventListener?.("change",t),()=>{window.removeEventListener("resize",t),e?.removeEventListener?.("change",t)}},[]),(0,s.useEffect)(()=>{if("board"!==d||null===i){tf.current=i,td("board");return}let e=tf.current!==i;(tf.current=i,o)?td("chat"):e&&td("board")},[i,o,d]),(0,s.useEffect)(()=>{try{let e=window.localStorage.getItem(es),t=e?Number.parseInt(e,10):NaN;Number.isFinite(t)&&tx(eo(t,window.innerWidth))}catch{}let e=()=>{tx(e=>eo(e,window.innerWidth))};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[]),(0,s.useEffect)(()=>{if(!tm)return;let e=e=>{let t=window.innerWidth;tx(eo(t-e.clientX,t))},t=()=>{th(!1)};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(es,String(tu))}catch{}}},[tm,tu]),(0,s.useEffect)(()=>{if(!B){y([]),C("ready"),e&&t.replace("/bridge/connect");return}let n=!1,r=window.innerWidth<768,a=D?r?8e3:4e3:r?3e4:15e3;async function l(){try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok){if((0,Y.Xt)(t?.error)){n||(S(t?.error??null),y([]),C("ready"));return}throw Error(`Failed to fetch bridges: ${e.status}`)}n||(S(null),y((0,K.oH)(t?.devices).map(e=>({bridgeId:e.device_id,hostname:e.last_status?.hostname??e.hostname,os:`${e.last_status?.os??`${e.os}/${e.arch}`}${(0,K.wj)(e.last_status?.version)}`,capabilities:[],connected:e.connected,status:e.connected?"connected":"offline",connectedAt:"",lastSeenAt:""}))),C("ready"))}catch{n||(y([]),C("error"))}}l();let s=window.setInterval(()=>{l()},a);return()=>{n=!0,window.clearInterval(s)}},[B,D,e,t]),(0,s.useEffect)(()=>{let t=function({requiresPairedDeviceScope:e,requestedBridgeId:t,selectedBridgeId:n,connectedBridgeIds:r}){let a=(0,O.C0)(t),l=(0,O.C0)(n),s=ee(r);return e?a||(0===s.length?"":l&&s.includes(l)?l:s[0]??""):l&&s.includes(l)?l:""}({requiresPairedDeviceScope:e,requestedBridgeId:w,selectedBridgeId:p,connectedBridgeIds:T});t!==p&&u(t)},[T,w,e,p]),(0,s.useEffect)(()=>{!e||j||"ready"!==N||q.length>0||t.replace("/bridge/connect")},[N,q.length,j,e,t]),(0,s.useEffect)(()=>{u(c??"")},[c]);let tv=(0,s.useMemo)(()=>new Map(eL.map(e=>[e.id,e])),[eL]),{session:tb,loading:tw,error:tj}=(0,M.w)(o,null,{enabled:!!o&&J,bridgeId:j}),tk=eH??eb??eP??tj??e6,ty=(0,s.useMemo)(()=>{let e=new Map;for(let t of eL){let n=e.get(t.projectId);n?n.push(t):e.set(t.projectId,[t])}return e},[eL]),tN=(0,s.useCallback)((e,r="push")=>{let l=new URLSearchParams(a.toString()),s=(e,t)=>{let n="string"==typeof t?t.trim():"";n.length>0?l.set(e,n):l.delete(e)};"projectId"in e&&s("project",e.projectId),"sessionId"in e&&s("session",e.sessionId),"workspaceView"in e&&("board"===e.workspaceView?l.set("view","board"):"notes"===e.workspaceView?l.set("view","notes"):l.delete("view")),"tab"in e&&(e.tab&&"dispatcher"!==e.tab?l.set("tab",e.tab):l.delete("tab")),"bridgeId"in e&&s("bridge",e.bridgeId),l.has("project")||l.delete("view"),l.has("session")||l.delete("tab");let i=l.toString(),o=i.length>0?`${n}?${i}`:n;"replace"===r?t.replace(o,{scroll:!1}):t.push(o,{scroll:!1})},[n,t,a]);(0,s.useEffect)(()=>{let e=(0,O.C0)(p);(c??null)!==e&&tN({bridgeId:e},"replace")},[c,tN,p]),(0,s.useEffect)(()=>{if(!ev&&!eb){if(0===X.length){null!==i&&tN({projectId:null,workspaceView:null},"replace");return}null===i||X.some(e=>e.id===i)||tN({projectId:o?null:X[0]?.id??null,workspaceView:o?null:d},"replace")}},[eb,ev,tN,X,i,o,d]),(0,s.useEffect)(()=>{if(o){if(e$){if(eU||eP)return;eL.some(e=>e.id===o)||tN({sessionId:null,tab:null},"replace");return}!tw&&(tb||tN({sessionId:null,tab:null},"replace"))}},[eL,tN,e$,o,tw,tb,eP,eU]),(0,s.useEffect)(()=>{o?tr(e=>[o,...e.filter(e=>e!==o)].slice(0,1)):tr([])},[o]),(0,s.useEffect)(()=>{o&&tg.current&&tg.current!==o&&(tg.current=null)},[o]),(0,s.useEffect)(()=>{o&&e$&&!eU&&!eP&&tr(e=>e.filter(e=>e===o||tv.has(e)))},[e$,o,tv,eP,eU]);let tC=(0,s.useMemo)(()=>tb,[tb]),tA=(0,s.useMemo)(()=>X.find(e=>e.id===i)??null,[X,i]),tS=(0,s.useMemo)(()=>i?ty.get(i)??[]:[],[i,ty]),tI=(0,s.useMemo)(()=>tC??(o?tv.get(o)??null:null),[tC,o,tv]),tE=(0,s.useMemo)(()=>{let e=a.get("tab");return"overview"!==e&&"preview"!==e&&"diff"!==e&&"dispatcher"!==e&&"terminal"===(0,en.tK)(tI)},[tI,a]),tM=!!o&&tE&&ta,t$=(0,s.useMemo)(()=>tA&&("board"===d||"notes"===d)?[tA.id,tA.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):tC?[tC.projectId,tC.branch].filter(Boolean).join(" \xb7 "):tA?[tA.id,tA.defaultBranch||"main"].filter(Boolean).join(" \xb7 "):"All Projects",[tA,tC,d]),tL=(0,s.useMemo)(()=>j?k.find(e=>e.bridgeId===j)??null:null,[k,j]),tU=tL?`Device \xb7 ${tL.hostname}`:D?"Device \xb7 Reconnecting":e?"Scope \xb7 Paired device required":"Scope \xb7 Local backend",tP=tL?`Showing projects and sessions from ${tL.hostname}.`:D?"Waiting for the selected laptop to reconnect before loading dashboard data.":e?"Hosted dashboard access must target a connected laptop.":"Showing projects and sessions from the local backend because no paired laptop is selected.",tO=tL?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":D?"border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]":e?"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-muted)]",tB=(0,s.useMemo)(()=>{let e=Array.isArray(eN)?eN:[],t=new Set;for(let e of E.pN)t.add(e.name);for(let n of e)n.name&&t.add(n.name);for(let e of X)e.agent&&t.add(e.agent);e0?.codingAgent&&t.add(e0.codingAgent),eF&&t.add(eF),0===t.size&&t.add(e0?.codingAgent||el);let n=(0,E.Ge)(t);return 0===n.length&&n.push((0,E.a6)(e0?.codingAgent||el,el)),n},[eN,e0?.codingAgent,X,eF]),tq=(0,s.useMemo)(()=>{let e={};for(let t of E.pN)e[(0,I.q)(t.name)]={name:t.name,ready:!1,installed:!1,configured:!1,homepage:t.homepage,description:t.description,installHint:t.installHint??null,installUrl:t.installUrl??t.homepage??null,setupUrl:t.setupUrl??t.homepage??null};for(let t of Array.isArray(eN)?eN:[]){if(!t.name)continue;let n=(0,I.q)(t.name),r=(0,E.h7)(t.name);e[(0,I.q)(t.name)]={name:r?.name??t.name,ready:!0===t.ready,installed:!1!==t.installed,configured:!0===t.configured,homepage:"string"==typeof t.homepage?t.homepage:r?.homepage??e[n]?.homepage??null,description:"string"==typeof t.description?t.description:r?.description??e[n]?.description??null,installHint:"string"==typeof t.installHint?t.installHint:r?.installHint??e[n]?.installHint??null,installUrl:"string"==typeof t.installUrl?t.installUrl:r?.installUrl??e[n]?.installUrl??null,setupUrl:"string"==typeof t.setupUrl?t.setupUrl:r?.setupUrl??e[n]?.setupUrl??null}}return e},[eN]),tF=(0,s.useMemo)(()=>{let e={};for(let t of Array.isArray(eN)?eN:[])t.name&&t.runtimeModelCatalog&&(e[(0,I.q)(t.name)]=t.runtimeModelCatalog);return e},[eN]),t_=(0,s.useCallback)(e=>{let t=tq[(0,I.q)(e)],n=(0,E.h7)(e),r=t?.installed?t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage:t?.installUrl??n?.installUrl??t?.setupUrl??n?.setupUrl??t?.homepage??n?.homepage;r&&window.open(r,"_blank","noopener,noreferrer")},[tq]);async function tT(t,n){e5(!0),e7(null);try{if(e&&!j)throw Error("Pair or reconnect a laptop before saving preferences.");let r=await fetch((0,P.S)("/api/preferences",j),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??a?.reason??`Failed to save preferences: ${r.status}`);let l=ej(a?.preferences,t.codingAgent||el);return e1(l),e_(l.codingAgent),n?.closeDialog!==!1&&e8(!1),!0}catch(e){return e7(e instanceof Error?e.message:"Failed to save preferences"),!1}finally{e5(!1)}}(0,s.useEffect)(()=>{let e=!1;return async function(){if(!J){e||(e1(null),e7(null),e4(!1));return}e4(!0);try{let t=await fetch((0,P.S)("/api/preferences",j)),n=await t.json().catch(()=>null);if(!t.ok)throw Error(n?.error??n?.reason??`Failed to load preferences: ${t.status}`);if(e)return;let r=ej(n?.preferences,el);e1(r),e7(null)}catch(t){if(e)return;e1(ej(null,el)),e7(t instanceof Error?t.message:"Failed to load preferences")}finally{e||e4(!1)}}(),()=>{e=!0}},[j,J]),(0,s.useEffect)(()=>{e0&&(eF||e_(e0.codingAgent))},[e0,eF]),(0,s.useEffect)(()=>{if(!e3){if(!e0||e&&!j)return void e8(!1);e0.onboardingAcknowledged||e8(!0)}},[j,e0,e3,e]),(0,s.useEffect)(()=>{if(0!==tB.length&&(!eF||!tB.includes(eF))){let e=e0?.codingAgent||el;e_(tB.includes(e)?e:tB[0]??el)}},[tB,e0?.codingAgent,eF]),(0,s.useEffect)(()=>{let e=(0,E.a6)(eF||tA?.agent||e0?.codingAgent||el,el),t=tA&&(0,I.q)(tA.agent)===(0,I.q)(e)?tA.agentModel:null,n=tA&&(0,I.q)(tA.agent)===(0,I.q)(e)?tA.agentReasoningEffort:null;eR((0,ea.c0)(e,e0?.modelAccess??(0,er.v)(null),tF,t,n))},[e0?.modelAccess,e0?.codingAgent,tF,eF,tA]);let tR=(0,s.useCallback)(()=>{e&&!j?ez("Pair or reconnect a laptop before adding a workspace."):(ez(null),eY(null),eV(null),eJ(!0),eE())},[j,e,eE]);(0,s.useEffect)(()=>{te&&!e9&&(tt(!1),tR())},[te,e9]),(0,s.useEffect)(()=>{(!e||j)&&ez(null)},[j,e]);let tD=(0,s.useCallback)(async t=>{let n=eB.trim(),r=(0,ea.xb)(eT),a=(0,ea.aB)(eT),l=t?.bridgeId??j??null;if(e&&!l)return eV("Pair or reconnect a laptop before launching an agent session."),!1;let s=t?.projectId??i??X[0]?.id;if(!s)return eV("No project is configured in conductor.yaml"),!1;let o=(0,E.a6)(eF||el,el),d=tq[(0,I.q)(o)]??null;if(d&&!d.ready)return eV(d.installed?`${ef(o)} is not ready yet. Finish setup or authentication and try again.`:`${ef(o)} is not installed on this machine yet. Open setup and try again.`),t_(o),!1;eW(!0),eV(null);try{let e=await fetch((0,P.S)("/api/sessions",l),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:s,prompt:n,...t?.issueId?.trim()?{issueId:t.issueId.trim()}:{},agent:o,...t?.branch?{branch:t.branch}:{},...t?.baseBranch?{baseBranch:t.baseBranch}:{},..."boolean"==typeof t?.useWorktree?{useWorktree:t.useWorktree}:{},...t?.permissionMode?{permissionMode:t.permissionMode}:{},...r?{model:r}:{},...a?{reasoningEffort:a}:{},...t?.attachments&&t.attachments.length>0?{attachments:t.attachments}:{}})}),i=await e.json().catch(()=>null);if(!e.ok)throw Error(i?.error??`Failed to create workspace: ${e.status}`);if(!i?.session?.id)throw Error("Session created but response is missing session id");return eq(""),eE(),tg.current=i.session.id,await eO(),tN({projectId:s,sessionId:i.session.id,tab:null,bridgeId:l},"push"),!0}catch(e){return eV(e instanceof Error?e.message:"Failed to create workspace"),!1}finally{eW(!1)}},[tq,eT,tN,t_,X,eB,eO,eF,j,i,e,eE]),tW=(0,s.useCallback)(async e=>{(await (0,Q.J)(e,{bridgeId:j}),o===e)?tN({projectId:null,sessionId:null,workspaceView:null,tab:null},"replace"):j&&eO()},[j,tN,eO,o]),tH=(0,s.useCallback)(async t=>{if(e&&!j)return void eY("Pair or reconnect a laptop before adding a workspace.");eQ(!0),eY(null);try{let e=await fetch((0,P.S)("/api/workspaces",j),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await e.json().catch(()=>null);if(!e.ok)throw Error(n?.error??`Failed to add workspace: ${e.status}`);let r=n?.project?.id;if(!r)throw Error("Workspace created but response is missing project id");await ew(),eq(""),eE(),eJ(!1),tN({projectId:r,sessionId:null,workspaceView:"direct",tab:null,bridgeId:j??null},"push")}catch(e){eY(e instanceof Error?e.message:"Failed to add workspace")}finally{eQ(!1)}},[j,tN,ew,e,eE]),tV=!e3&&!!e0&&(!e||!!j)&&!e0.onboardingAcknowledged,tG=e0??ej(null,eF||el),tz=(0,E.a6)(eF||tG.codingAgent||el,el),tZ=i??tb?.projectId??null;(0,U.Q)({enabled:!e3,projectId:tZ,preferences:tG.notifications,bridgeId:j});let tJ=(0,s.useCallback)(e=>{tN({projectId:e,sessionId:null,workspaceView:e?d:null,tab:null},"push"),e_((0,E.a6)(e0?.codingAgent||el,el)),td("board"),eI()},[eI,tN,e0?.codingAgent,d]),tX=(0,s.useCallback)((e,t)=>{var n,r;let a,l=tv.get(e)??null;tN((n=i??null,r=t?.tab,a={projectId:l?.projectId??n??null,sessionId:e,tab:r??(0,en.tK)(l)},"board"===d||"notes"===d?{...a,workspaceView:"direct"}:a),"push"),eI()},[eI,tN,i,tv,d]),tQ=(0,s.useCallback)(()=>{e&&!j?t.push("/bridge/connect"):e8(!0)},[j,e,t]),tK=(0,s.useCallback)(()=>{eX||eJ(!1)},[eX]),tY=(0,s.useCallback)(()=>{e2||tV||(e8(!1),e7(null))},[tV,e2]),t0=(0,s.useCallback)(()=>{tp(e=>!e)},[]),t1=(0,s.useCallback)(async e=>{let t=encodeURIComponent(e),n=await fetch((0,P.S)(`/api/repositories/${t}`,j),{method:"DELETE"});(404===n.status||405===n.status)&&(n=await fetch((0,P.S)(`/api/repositories?id=${t}`,j),{method:"DELETE"}));let r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.error??`Failed to unlink project (${n.status})`);await ew()},[j,ew]),t3=(0,s.useMemo)(()=>eM?(0,r.jsx)(ec,{projects:X,selectedProjectId:i,onSelectProject:tJ,onUnlinkProject:t1,sessions:eL,selectedSessionId:o,onSelectSession:tX,onArchiveSession:tW,onCreateWorkspace:tR}):null,[eL,tW,tJ,tX,t1,tR,X,i,o,eM]),t4=(0,s.useMemo)(()=>{let t=tA?(0,r.jsxs)("div",{role:"group","aria-label":"Project workspace view",className:"hidden w-fit rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px xl:inline-flex",children:[(0,r.jsx)("button",{type:"button","aria-pressed":"direct"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"direct"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"direct"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button","aria-pressed":"board"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"board"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"board"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"}),(0,r.jsx)("button",{type:"button","aria-pressed":"notes"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"notes"},"replace"),className:`min-h-[31px] rounded-[2px] px-3 text-[13px] ${"notes"===d?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Notes"})]}):null;return"board"===d?(0,r.jsx)(eu,{projectId:i,bridgeId:j,defaultAgent:tz,agentOptions:tB,projectSessions:tS,projectLabel:tA?.id??i,headerAccessory:t,onOpenSession:tX}):"notes"===d&&i?(0,r.jsx)(em,{projectId:i,bridgeId:j,sessions:tS,selectedSessionId:o}):(0,r.jsx)(ey,{prompt:eB,setPrompt:eq,selectedAgent:tz,setSelectedAgent:e_,agentStates:tq,modelSelection:eT,setModelSelection:eR,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,agentOptions:tB,projects:X,bridges:k,selectedBridgeId:p,setSelectedBridgeId:u,requiresPairedDeviceScope:e,selectedProjectId:i,onSelectProject:tJ,projectLabel:i??"All projects",hasProject:X.length>0,creating:eD,error:tk,onOpenAddWorkspace:tR,onOpenAgentSetup:t_,onCreate:tD})},[tB,tq,k,eD,tD,eT,t_,tR,X,tS,tA,o,tX,eB,tz,tG.modelAccess,e,tF,p,i,eq,tk,d,tN]),t2=(0,s.useMemo)(()=>{if(!tA)return t4;let e=({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{role:"group","aria-label":"Project workspace view",className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsx)("button",{type:"button","aria-pressed":"direct"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"direct"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"direct"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Direct launch"}),(0,r.jsx)("button",{type:"button","aria-pressed":"board"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"board"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"board"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Board view"}),(0,r.jsx)("button",{type:"button","aria-pressed":"notes"===d,onClick:()=>tN({projectId:tA.id,workspaceView:"notes"},"replace"),className:`${t?"min-h-[30px] px-3 text-[12px]":"min-h-[32px] px-3 text-[13px]"} flex-1 rounded-[4px] ${"notes"===d?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:"Notes"})]});if("board"===d){let t={"--dispatcher-panel-width":`${tu}px`},n=!ts,a=!n||"board"===to,l=!n||"chat"===to,s=n&&null===o,i=ts&&tc&&null===o,c=null!==o||!tc;return(0,r.jsxs)("div",{style:t,className:"relative flex h-full min-h-0 flex-1 flex-col overflow-hidden",children:[n?(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[e({fullWidth:!0,compact:!0}),s?(({fullWidth:e=!1,compact:t=!1}={})=>(0,r.jsxs)("div",{className:`inline-flex ${e?"w-full":"w-fit"} rounded-[6px] border border-[var(--vk-border)] ${t?"p-0.5":"p-1"}`,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>{td("board"),tN({projectId:tA.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"board"===to,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"board"===to?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(x.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Board"})]}),(0,r.jsxs)("button",{type:"button",onClick:()=>{td("chat"),tN({projectId:tA.id,workspaceView:"board"},"replace")},"aria-pressed":"board"===d&&"chat"===to,className:`inline-flex flex-1 items-center justify-center rounded-[4px] font-medium transition-colors ${t?"min-h-[30px] gap-1 px-2.5 text-[11px]":"min-h-[34px] gap-1.5 px-3 text-[12px]"} ${"board"===d&&"chat"===to?"bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"}`,children:[(0,r.jsx)(m.A,{className:`${t?"h-3 w-3":"h-3.5 w-3.5"} shrink-0`}),(0,r.jsx)("span",{children:"Dispatcher"})]})]}))({fullWidth:!0,compact:!0}):null]})}):null,(0,r.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col overflow-hidden xl:flex-row",children:[(0,r.jsx)("div",{className:`${a?"block":"hidden"} min-h-0 min-w-0 flex-1 overflow-hidden xl:block`,children:t4}),c?(0,r.jsx)("div",{className:"absolute bottom-0 right-[var(--dispatcher-panel-width)] top-0 z-20 hidden w-2 translate-x-1/2 cursor-col-resize xl:block",onMouseDown:e=>{e.preventDefault(),th(!0)},"aria-hidden":"true",children:(0,r.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,(0,r.jsxs)("div",{className:`${l?"flex":"hidden xl:flex"} ${i?"flex-1 min-h-0 xl:h-auto xl:max-h-none xl:w-[56px] xl:flex-none xl:min-h-0":"flex-1 min-h-[min(360px,50dvh)] xl:w-[var(--dispatcher-panel-width)] xl:flex-none xl:min-h-0"} flex-col overflow-hidden border-t border-[var(--vk-border)] bg-[var(--vk-bg-panel)] xl:border-l xl:border-t-0`,children:[n&&l&&null!==o?(0,r.jsx)("div",{className:"flex items-center border-b border-[var(--vk-border)] px-3 py-2 xl:hidden",children:(0,r.jsxs)("button",{type:"button",onClick:()=>td("board"),className:"inline-flex items-center gap-1.5 rounded-[4px] px-2 py-1 text-[12px] font-medium text-[var(--vk-text-muted)] transition-colors hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-strong)]",children:[(0,r.jsx)(f.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,r.jsx)("span",{children:"Back to board"})]})}):null,o?tI?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:tn.map(e=>{let t=e===o,n=t?tI:tv.get(e)??null;return n&&n.projectId===tA.id?(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative z-10 h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden opacity-0 select-none",children:(0,r.jsx)(ed,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tg.current===e,immersiveMobileMode:t&&tM})},e):null})}):(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-[var(--vk-bg-panel)] text-[13px] text-[var(--vk-text-muted)]",children:"Loading session workspace..."}):(0,r.jsx)(ex,{projectId:tA.id,bridgeId:j,defaultAgent:tz,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,collapsed:i,onToggleCollapsed:t0})]})]})]})}return(0,r.jsxs)("div",{className:"flex h-full min-h-0 flex-col overflow-hidden",children:[(0,r.jsx)("div",{className:"border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)]/70 px-3 py-3 sm:px-4",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Project Workspace"}),(0,r.jsxs)("p",{className:"mt-1 truncate text-[14px] text-[var(--vk-text-strong)]",children:[tA.id," \xb7 ",tA.defaultBranch||"main"]})]}),(0,r.jsx)("div",{className:"hidden xl:inline-flex",children:e()}),(0,r.jsx)("div",{className:"xl:hidden",children:e({fullWidth:!0,compact:!0})})]})}),(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t4})]})},[to,tc,tu,tI,j,t0,tM,tn,tN,tz,tA,tS,o,tv,ts,t4,d]),t5=(0,s.useMemo)(()=>D?(0,r.jsx)("div",{className:"flex h-full min-h-0 flex-1 items-center justify-center bg-[var(--vk-bg-main)] px-4",children:(0,r.jsxs)("div",{className:"w-full max-w-md rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-5 py-5 text-center shadow-[0_18px_50px_rgba(0,0,0,0.18)]",children:[(0,r.jsx)("div",{className:"mx-auto flex h-11 w-11 items-center justify-center rounded-full border border-[color:color-mix(in_srgb,var(--vk-accent)_30%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-accent)_12%,transparent)] text-[var(--vk-accent)]",children:(0,r.jsx)(v.A,{className:"h-5 w-5 animate-spin"})}),(0,r.jsx)("h2",{className:"mt-4 text-[18px] font-medium text-[var(--vk-text-strong)]",children:"Reconnecting paired laptop"}),(0,r.jsx)("p",{className:"mt-2 text-[14px] leading-6 text-[var(--vk-text-muted)]",children:"Waiting for the selected laptop to report online before loading its projects and sessions."})]})}):o&&(null===i||"board"!==d&&"notes"!==d)?(0,r.jsx)("div",{className:"relative min-h-0 h-full min-w-0 flex-1 overflow-hidden",children:tn.map(e=>{let t=e===o,n=t?tC:tv.get(e)??null;return(0,r.jsx)("div",{"aria-hidden":!t,className:t?"relative z-10 h-full min-w-0":"pointer-events-none absolute inset-0 overflow-hidden opacity-0 select-none",children:(0,r.jsx)(ed,{sessionId:e,initialSession:n,bridgeId:j,active:t,suppressPreviewAutoOpen:t&&tg.current===e,immersiveMobileMode:t&&tM,onOpenSidebar:eS})},e)})}):null!==i?(0,r.jsx)("div",{className:"min-h-0 flex-1 overflow-hidden",children:t2}):(0,r.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 overflow-hidden",children:(0,r.jsx)(ep,{projects:X,sessions:eL,onCreateWorkspace:tR,onSelectSession:tX})}),[eL,tn,t2,tC,o,tX,tR,X,i,tv,D,eS,d]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(V.G,{mobileSidebarOpen:eC,desktopSidebarOpen:eA,onToggleSidebar:eS,hideMobileSidebarToggle:tM,sidebar:t3,children:[tM?null:(0,r.jsx)(G.V,{title:t$,onOpenPreferences:tQ,rightContent:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:`inline-flex items-center rounded-full border px-2 py-0.5 text-[11px] font-medium ${tO}`,title:tP,children:tU}),(0,r.jsx)(z.J,{})]})}),(0,r.jsxs)("div",{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden ${tM?"bg-[#060404]":""}`,children:[eG?(0,r.jsx)("div",{className:"border-b border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,var(--vk-bg-panel))] px-3 py-2 text-[13px] text-[var(--vk-red)] sm:px-4",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("p",{className:"min-w-0 flex-1",children:eG}),(0,r.jsx)("button",{type:"button",onClick:()=>ez(null),className:"inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-[4px] text-[var(--vk-red)]/80 hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)]","aria-label":"Dismiss workspace action error",children:(0,r.jsx)(b.A,{className:"h-4 w-4"})})]})}):null,t5]})]}),eZ?(0,r.jsx)(eh,{open:eZ,onClose:tK,onCreate:tH,creating:eX,error:eK,defaultAgent:tz,agentOptions:tB,modelAccess:tG.modelAccess,runtimeModelCatalogs:tF,bridgeId:j}):null,e9||tV?(0,r.jsx)(eg,{open:e9,mode:tV?"onboarding":"settings",creating:e2,error:e6,current:tG,projectCount:X.length,agentOptions:tB,agentStates:tq,runtimeModelCatalogs:tF,onRepositoriesChanged:ew,onOnboardingComplete:({needsProject:e})=>{e&&tt(!0)},onOpenAgentSetup:t_,onClose:tY,onSave:tT,bridgeId:j}):null]})}c.A,p.A,u.A,x.A,m.A,h.A,g.A,g.A,p.A,[{id:"vscode",label:"VS Code"},{id:"vscode-insiders",label:"VS Code Insiders"},{id:"cursor",label:"Cursor"},{id:"windsurf",label:"Windsurf"},{id:"intellij-idea",label:"IntelliJ IDEA"},{id:"zed",label:"Zed"},{id:"xcode",label:"Xcode"},{id:"antigravity",label:"Antigravity"},{id:"custom",label:"Custom"}].filter(e=>"custom"!==e.id),c.A,o.mWn,d.$$9,o.i4$,c.A;let ey=(0,s.memo)(function({prompt:e,setPrompt:t,selectedAgent:n,setSelectedAgent:a,agentStates:l,modelSelection:o,setModelSelection:d,modelAccess:c,runtimeModelCatalogs:p,agentOptions:u,projects:x,bridges:m,selectedBridgeId:f,setSelectedBridgeId:M,requiresPairedDeviceScope:$,selectedProjectId:L,onSelectProject:U,projectLabel:O,hasProject:B,creating:q,error:F,onOpenAddWorkspace:_,onOpenAgentSetup:T,onCreate:R}){let D=(0,s.useMemo)(()=>{let e=new Map(E.BO.map((e,t)=>[e,t]));return[...u].sort((t,n)=>{let r=e.get((0,I.q)(t))??Number.MAX_SAFE_INTEGER,a=e.get((0,I.q)(n))??Number.MAX_SAFE_INTEGER;return r!==a?r-a:ef(t).localeCompare(ef(n))})},[u]),W=ef(n),H=l[(0,I.q)(n)]??null,V=(0,s.useMemo)(()=>[...x].sort((e,t)=>e.id.localeCompare(t.id)),[x]),G=L??V[0]?.id??null,z=(0,s.useMemo)(()=>V.find(e=>e.id===G)??null,[G,V]),Z=(0,s.useMemo)(()=>m.filter(e=>e.connected),[m]),Q=(0,s.useMemo)(()=>!f||Z.some(e=>e.bridgeId===f),[Z,f]),[K,Y]=(0,s.useState)([]),[ee,et]=(0,s.useState)(!1),[en,er]=(0,s.useState)(""),[el,es]=(0,s.useState)(""),[ei,eo]=(0,s.useState)([]),[ed,ec]=(0,s.useState)(!1),[ep,eu]=(0,s.useState)(!1),[ex,em]=(0,s.useState)(!1),[eh,eg]=(0,s.useState)(!1),[ew,ej]=(0,s.useState)("default"),[ek,ey]=(0,s.useState)([]),[eN,eC]=(0,s.useState)(!1),[eA,eS]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(!z){Y([]),er(""),et(!1);return}Y([]),er(z.defaultBranch.trim()||"main"),et(!1)},[z]),(0,s.useEffect)(()=>{if(!G){eo([]),es(""),ec(!1);return}eo([]),es(""),ec(!1)},[G]);let eI=(0,s.useCallback)(async()=>{if(!z)return;let e=z.defaultBranch.trim()||"main";if(!z.path?.trim()){Y([e]),er(t=>t.trim().length>0?t:e);return}et(!0);try{let t=new URLSearchParams({path:z.path}),n=await fetch((0,P.S)(`/api/workspaces/branches?${t.toString()}`,f)),r=await n.json().catch(()=>null),a=Array.isArray(r?.branches)?r.branches.filter(e=>"string"==typeof e&&e.trim().length>0):[],l="string"==typeof r?.defaultBranch&&r.defaultBranch.trim().length>0?r.defaultBranch.trim():e,s=a.length>0?a:[l];Y(s),er(e=>e.trim().length>0&&s.includes(e)?e:l)}catch{Y([e]),er(e)}finally{et(!1)}},[f,z]),eE=(0,s.useCallback)(async()=>{if(G){ec(!0);try{let e=await fetch((0,P.S)(`/api/boards?projectId=${encodeURIComponent(G)}`,f)),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load tasks: ${e.status}`);let n=(Array.isArray(t?.columns)?t.columns:[]).flatMap(e=>Array.isArray(e.tasks)?e.tasks:[]),r=new Set,a=n.filter(e=>{let t=ev(e);return!(!t||r.has(t))&&(r.add(t),!0)});eo(a),es(e=>a.some(t=>ev(t)===e)?e:"")}catch{eo([]),es("")}finally{ec(!1)}}},[G,f]);(0,s.useEffect)(()=>{!ex||ee||K.length>0||eI()},[ee,ex,K.length,eI]),(0,s.useEffect)(()=>{!ep||ed||ei.length>0||eE()},[ei.length,eE,ed,ep]);let eM=(0,s.useMemo)(()=>(0,ea.Ik)(n,c,p),[c,p,n]),e$=(0,s.useMemo)(()=>ei.find(e=>ev(e)===el)??null,[ei,el]),eL=(0,ea.xb)(o)??"",eU=(0,s.useMemo)(()=>{let e=new Set,t=[],r=eL.trim();for(let n of eM)e.has(n.id)||(e.add(n.id),t.push(n));return r&&!e.has(r)&&(e.add(r),t.unshift({id:r,label:function(e,t){let n=t.trim(),r=(0,I.q)(e);if(!n)return n;if("claude-code"===r){let e=n.toLowerCase();if("opus"===e)return"Claude Opus";if("sonnet"===e)return"Claude Sonnet";if("haiku"===e)return"Claude Haiku";let t=e.match(/^claude-(sonnet|opus|haiku)-(\d+)-(\d+)(?:-\d{8})?$/);if(t){let e=t[1];return`Claude ${e[0]?.toUpperCase()+e.slice(1)} ${t[2]}.${t[3]}`}}return n.split(/[-_]+/g).filter(Boolean).map(e=>"gpt"===e.toLowerCase()?"GPT":/^\d+(?:\.\d+)?$/.test(e)?e:e[0]?.toUpperCase()+e.slice(1)).join("-")}(n,r),description:"Current selected model.",access:[]})),t},[eM,n,eL]),eP=(0,s.useMemo)(()=>!H||H.ready||eL?eL?eU.find(e=>e.id===eL)?.label??eL:"Default":"Setup required",[eU,H,eL]),eO=(0,s.useMemo)(()=>(0,ea.iL)(n,c,p,eL),[c,p,n,eL]),eB=(0,ea.aB)(o)??"",eq=(0,s.useMemo)(()=>{let e=eO.find(e=>e.id===eB);return e?e.label:eB||(eO[0]?.label??"Default")},[eO,eB]),eF="z-50 min-w-[240px] max-w-[calc(100vw-32px)] rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] sm:max-w-none",e_=`${eF} max-h-[min(360px,50vh)] overflow-y-auto`,eT="flex min-h-[44px] cursor-default items-center gap-2 rounded-[3px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)] sm:min-h-[36px]",eR=[{id:"default",label:"Default",icon:g.A},{id:"auto",label:"Auto",icon:w.A},{id:"ask",label:"Ask",icon:j.A},{id:"plan",label:"Plan",icon:k.A}],eD=eR.find(e=>e.id===ew)??eR[0],eW="launchpad-attachment-input",eH=q||eN,eV=e=>{let t=e.repo?.trim();if(t){let e=t.split("/").filter(Boolean),n=e[e.length-1]?.replace(/\.git$/i,"");if(n)return n}return e.id},eG=z?eV(z):null,ez=z?`${eG} \xb7 ${en||z.defaultBranch||"main"}`:B?O:"Select project",eZ=e$?.taskRef?.trim()||e$?.issueId?.trim()||e$?.id||"",eJ=e$?eb(e$.text):"Choose a task, bug, or issue from this project's board",eX=z?.id??G??null,eQ=(0,s.useCallback)(e=>{let t=Array.from(e.currentTarget.files??[]);if(e.currentTarget.value="",!t.length)return;let n=new Set(ek.map(e=>`${e.name}:${e.size}:${e.lastModified}`)),r=t.filter(e=>!n.has(`${e.name}:${e.size}:${e.lastModified}`));r.length>0&&ey(e=>[...e,...r]),eS(null)},[ek]),eK=(0,s.useCallback)(e=>{ey(t=>t.filter((t,n)=>n!==e))},[]),eY=(0,s.useCallback)(async()=>{let e;if(eS(null),!eX||!z)return R({projectId:eX??void 0,...eh?{baseBranch:en||z?.defaultBranch||void 0}:{branch:en||z?.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew});eC(!0),eS(null);try{ek.length>0&&(e=await (0,X.P)({files:ek,projectId:z.id,taskRef:el.trim()||void 0,bridgeId:f||void 0}))}catch(e){return eS(e instanceof Error?e.message:"Failed to upload attachment"),!1}finally{eC(!1)}let t=await R({projectId:eX??void 0,...eh?{baseBranch:en||z.defaultBranch||void 0}:{branch:en||z.defaultBranch||void 0},issueId:el.trim()||void 0,bridgeId:f||void 0,useWorktree:eh,permissionMode:ew,...e&&e.length>0?{attachments:e}:{}});return t&&(ey([]),eS(null)),t},[el,eX,R,ew,en,z,z?.defaultBranch,f,ek,eh]);return(0,s.useEffect)(()=>{ey([]),eS(null)},[eX]),(0,r.jsx)("section",{className:"flex h-full min-h-0 items-start justify-center overflow-auto bg-[var(--vk-bg-main)] px-3 py-4 sm:items-center sm:px-6 sm:py-6",children:(0,r.jsxs)("div",{className:"w-full max-w-[768px]",children:[(0,r.jsx)("h1",{className:"pb-4 text-center text-[30px] font-medium leading-[34px] tracking-[-0.7px] text-[var(--vk-text-strong)] sm:text-[36px] sm:leading-[40px] sm:tracking-[-0.9px]",children:"What would you like to work on?"}),f?null:(0,r.jsxs)("div",{className:"mb-4 flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"mt-0.5 h-[14px] w-[14px] shrink-0"}),(0,r.jsx)("span",{children:$?"Pair or reconnect a laptop to browse workspaces and launch coding agents from the web dashboard.":"Showing projects and sessions from the local backend. Pair a laptop and select it here to browse that device instead."})]}),(0,r.jsxs)("div",{className:"mx-auto w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[(0,r.jsxs)("div",{className:"flex flex-col gap-2 border-b border-[var(--vk-border)] px-2 pb-[9px] pt-2 sm:flex-row sm:items-center",children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:flex-1",children:[(0,r.jsx)(J.N,{seed:{label:n},className:"h-[25px] w-[25px] shrink-0 border-none bg-transparent"}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[31px] min-w-0 max-w-full items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] sm:max-w-[280px]","aria-label":"Select agent",children:[(0,r.jsx)("span",{className:"min-w-0 flex-1 truncate pr-1 text-left",children:W}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Agents"}),D.map(e=>{let t=e===n,s=l[(0,I.q)(e)]??null;return(0,r.jsxs)(i.q7,{onSelect:()=>a(e),className:eT,children:[(0,r.jsx)(J.N,{seed:{label:e},className:"h-6 w-6 border-none bg-transparent"}),(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{children:ef(e)}),s?.ready?null:(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--vk-text-muted)]",children:s?.installed?"Setup required":"Not installed"})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e)})]})})]})]}),(0,r.jsxs)(i.bL,{onOpenChange:eu,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:!G,className:"flex h-[31px] w-full min-w-0 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-left disabled:cursor-not-allowed disabled:opacity-50 sm:w-[240px] sm:shrink-0","aria-label":"Select task",children:[(0,r.jsx)("span",{className:`min-w-0 flex-1 truncate text-[14px] leading-[21px] ${eZ?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"}`,children:eZ||"No task"}),(0,r.jsx)(y.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"end",side:"bottom",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Tasks"}),(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eJ}),(0,r.jsxs)(i.q7,{onSelect:()=>es(""),className:eT,children:[(0,r.jsx)("span",{children:"No linked task"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),ed?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Loading board tasks..."}):ei.length>0?ei.map(e=>{let t=ev(e),n=eb(e.text),a=[e.type,e.priority].filter(Boolean).join(" \xb7 ");return(0,r.jsxs)(i.q7,{onSelect:()=>es(t),className:`${eT} min-w-[320px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:e.taskRef?.trim()||n}),(0,r.jsxs)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:[e.taskRef?.trim()?n:t,a?` \xb7 ${a}`:""]})]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:el===t?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},t)}):(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"No existing tasks were found for this project."})]})})]})]}),(0,r.jsx)("div",{className:"rounded-[3.5px]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-3 p-2",children:[(0,r.jsxs)("div",{className:"relative w-full",children:[(0,r.jsx)("textarea",{value:e,onChange:e=>t(e.target.value),placeholder:"Optional launch prompt. Leave empty to open the native CLI.",rows:1,className:"min-h-[24px] w-full resize-none bg-transparent pr-16 text-[16px] leading-[24px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"}),(0,r.jsxs)("label",{htmlFor:eW,className:`absolute right-[18px] top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] ${eX?"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]":"cursor-not-allowed opacity-50"}`,children:[(0,r.jsx)("input",{id:eW,type:"file",accept:"*/*",multiple:!0,onChange:eQ,disabled:!eX||eH,className:"hidden"}),(0,r.jsx)(C.A,{className:"h-[14px] w-[14px]"})]}),(0,r.jsx)("button",{type:"button","aria-label":"Preview",className:"absolute right-0 top-0 inline-flex h-[24px] w-[24px] items-center justify-center rounded-[4px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(A.A,{className:"h-[14px] w-[14px]"})})]}),ek.length>0?(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:ek.map((e,t)=>(0,r.jsxs)("span",{className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)("span",{className:"max-w-[160px] truncate",title:e.name,children:e.name}),(0,r.jsx)("button",{type:"button","aria-label":`Remove attachment ${e.name}`,onClick:()=>eK(t),className:"inline-flex h-[14px] w-[14px] items-center justify-center rounded-full text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:(0,r.jsx)(b.A,{className:"h-3 w-3"})})]},`${e.name}-${e.size}-${e.lastModified}-${t}`))}):null,(0,r.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-1 gap-y-2",children:[(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",className:"inline-flex h-[29px] w-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Select workspace or project",children:(0,r.jsx)(g.A,{className:"h-[15px] w-[15px]"})})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Projects"}),V.map(e=>{let t=eV(e),n=e.id!==t?e.id:e.path?.trim()||e.repo?.trim()||null;return(0,r.jsxs)(i.q7,{onSelect:()=>U(e.id),className:`${eT} min-w-[280px] items-start`,children:[(0,r.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,r.jsx)("div",{className:"truncate",children:t}),n?(0,r.jsx)("div",{className:"truncate text-[12px] leading-[16px] text-[var(--text-faint)]",children:n}):null]}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:e.id===G?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)}),(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsxs)(i.q7,{onSelect:_,className:eT,children:[(0,r.jsx)(S.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:"Add Workspace"})]})]})})]}),eO.length>0?(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button","aria-label":"Select reasoning effort",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eq}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Reasoning"}),eO.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>d({...o,reasoningEffort:e.id}),className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eB===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id))]})})]}):null,(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,r.jsx)("span",{children:eP}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Model"}),(0,r.jsxs)(i.q7,{onSelect:()=>d((0,ea.c0)(n,c,p,z?.agentModel,z?.agentReasoningEffort)),className:eT,children:[(0,r.jsx)("span",{children:"Default"}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL?null:(0,r.jsx)(N.A,{className:"h-4 w-4"})})]}),eU.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>{var t;let r;return t=e.id,r=(0,ea.iL)(n,c,p,t),void d({catalogModel:t,customModel:"",reasoningEffort:r.some(e=>e.id===o.reasoningEffort)?o.reasoningEffort:(0,ea.YS)(n,c,p,t)})},className:eT,children:[(0,r.jsx)("span",{children:e.label}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:eL===e.id?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e.id)),0===eU.length?(0,r.jsx)("div",{className:"px-3 py-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:"Models will appear here after the selected agent is installed and its runtime catalog is detected."}):null,H&&!H.ready?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.wv,{className:"my-1 h-px bg-[var(--vk-border)]"}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"flex w-full items-center rounded-[3px] px-3 py-2 text-left text-[13px] text-[var(--vk-orange)] transition hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install guide"})]}):null]})})]}),(0,r.jsxs)(i.bL,{children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",className:"inline-flex h-[29px] items-center gap-[4px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,r.jsx)("span",{children:eD.label}),(0,r.jsx)(y.A,{className:"h-[10px] w-[10px] text-[var(--vk-text-muted)]"})]})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",sideOffset:6,className:eF,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Permissions"}),eR.map(({id:e,label:t,icon:n})=>(0,r.jsxs)(i.q7,{onSelect:()=>ej(e),className:eT,children:[(0,r.jsx)(n,{className:"h-4 w-4"}),(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:ew===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]}),Z.length>0?(0,r.jsxs)("label",{className:"inline-flex h-[29px] max-w-[260px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px] text-[var(--vk-text-muted)]"}),(0,r.jsxs)("select",{value:f,onChange:e=>M(e.target.value),className:"min-w-0 flex-1 bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none",children:[$?null:(0,r.jsx)("option",{value:"",children:"Local backend"}),Z.map(e=>(0,r.jsxs)("option",{value:e.bridgeId,children:[e.hostname," \xb7 ",e.os]},e.bridgeId))]})]}):(0,r.jsxs)("div",{className:"inline-flex h-[29px] items-center gap-[6px] rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-[9px] py-[5px] text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:[(0,r.jsx)(h.A,{className:"h-[14px] w-[14px]"}),(0,r.jsx)("span",{children:f&&!Q?"Waiting for selected device":$?"No device connected":"Local backend"})]}),(0,r.jsxs)(i.bL,{onOpenChange:em,children:[(0,r.jsx)(i.l9,{asChild:!0,children:(0,r.jsx)("button",{type:"button",disabled:!z,className:"inline-flex min-h-[29px] max-w-[320px] items-center justify-center truncate text-[14px] leading-[21px] text-[var(--vk-text-normal)] hover:text-[var(--vk-text-strong)] disabled:cursor-not-allowed disabled:opacity-50",children:ez})}),(0,r.jsx)(i.ZL,{children:(0,r.jsxs)(i.UC,{align:"start",side:"bottom",sideOffset:6,avoidCollisions:!1,className:e_,children:[(0,r.jsx)("p",{className:"px-3 pb-1 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-muted)]",children:"Branch"}),eG?(0,r.jsx)("p",{className:"px-3 pb-2 text-[12px] leading-[16px] text-[var(--text-faint)]",children:eG}):null,ee?(0,r.jsx)("div",{className:"px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-muted)]",children:"Loading branches..."}):K.map(e=>(0,r.jsxs)(i.q7,{onSelect:()=>er(e),className:eT,children:[(0,r.jsx)("span",{children:e}),(0,r.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:en===e?(0,r.jsx)(N.A,{className:"h-4 w-4"}):null})]},e))]})})]})]}),(0,r.jsx)("div",{className:"flex w-full justify-end sm:w-auto",children:(0,r.jsx)("button",{type:"button",onClick:eY,disabled:eH||!G,className:"inline-flex min-h-[29px] items-center justify-center rounded-[3px] bg-[var(--vk-bg-hover)] px-[8px] py-[6.5px] text-[16px] leading-[16px] text-[var(--vk-text-strong)] transition-colors hover:bg-[var(--vk-bg-active)] disabled:cursor-not-allowed disabled:opacity-50",children:eH?(0,r.jsx)(v.A,{className:"h-4 w-4 animate-spin"}):"Launch"})})]}),H&&!H.ready?(0,r.jsx)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:(0,r.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsxs)("p",{className:"text-[13px] text-[var(--vk-text-strong)]",children:[W," is not ready on this machine."]}),(0,r.jsx)("p",{className:"pt-0.5 text-[12px] text-[var(--vk-text-muted)]",children:H.installed?"Finish login or local setup to load models and start streaming sessions.":"Install the CLI first, then its models and authentication state will appear here."})]}),(0,r.jsx)("button",{type:"button",onClick:()=>T(n),className:"inline-flex h-[29px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)]",children:H.installed?"Open setup":"Open install"})]})}):null,(0,r.jsxs)("label",{className:"flex items-start gap-2 rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,r.jsx)("input",{type:"checkbox",checked:eh,onChange:e=>eg(e.target.checked),className:"mt-0.5 h-4 w-4 rounded border border-[var(--vk-border)] bg-transparent accent-[var(--vk-orange)]"}),(0,r.jsxs)("span",{children:["Use worktree isolation",(0,r.jsx)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:"If unchecked, the session runs directly on the selected branch in the local repo."})]})]})]})})]}),F&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:F}),eA&&(0,r.jsx)("p",{className:"pt-2 text-[12px] text-[var(--status-error)]",children:eA})]})})})},85905:(e,t,n)=>{"use strict";n.d(t,{P:()=>l});var r=n(31404);function a(e){return e&&"object"==typeof e?e:null}async function l({files:e,projectId:t,taskRef:n,bridgeId:s,preferAbsolute:i=!0}){if(!e.length)return[];let o=t.trim();if(!o)throw Error("Project id is required to upload attachments");let d=new FormData;d.append("projectId",o);let c=n?.trim();for(let t of(c&&d.append("taskRef",c),e))d.append("files",t);let p=await fetch((0,r.S)("/api/attachments",s),{method:"POST",body:d}),u=await p.json().catch(()=>null);if(!p.ok){let t=1===e.length?e[0]?.name??"attachment":`${e.length} attachments`;throw Error(u?.error??`Failed to upload ${t}`)}let x=(Array.isArray(u?.files)?u.files:u?[u]:[]).map(e=>(function(e,t){let n=a(e);if(!n)return null;let r=a(n.attachment);for(let e of t?[n.absolutePath,n.path,n.filePath,r?.absolutePath,r?.path,r?.filePath]:[n.path,n.absolutePath,n.filePath,r?.path,r?.absolutePath,r?.filePath])if("string"==typeof e&&e.trim().length>0)return e.trim();return null})(e,i)).filter(e=>!!e);if(0===x.length)throw Error("Attachment upload succeeded but did not return a usable file path");return x}},88272:(e,t,n)=>{"use strict";n.d(t,{c0:()=>x,Z3:()=>s,Ik:()=>d,iL:()=>c,YS:()=>p,ZA:()=>u,xb:()=>m,aB:()=>h});var r=n(76196),a=n(5739);function l(e){return"openclaw"===(0,a.q)(e)}function s(){return{catalogModel:"",customModel:"",reasoningEffort:""}}function i(e,t){return t[(0,a.q)(e)]??null}function o(e){if(!e)return[];let t=[],n=new Set;for(let r of Object.values(e.modelsByAccess))if(Array.isArray(r))for(let e of r)!e?.id||n.has(e.id)||(n.add(e.id),t.push(e));return t}function d(e,t,n){if(l(e))return[];let a=i(e,n),s=(0,r.Tk)(e,t),d=a&&s?a.modelsByAccess[s]??[]:[],c=o(a);if(c.length>0){let e=[],t=new Set;for(let n of[...d,...c])!n?.id||t.has(n.id)||(t.add(n.id),e.push(n));return e}return(0,r.d8)(e,t)}function c(e,t,n,a){if(l(e))return[];let s=i(e,n),o=(0,r.Tk)(e,t);if(s){if(!s)return[];let e=a?.trim();return e&&s.reasoningOptionsByModel?.[e]?.length?s.reasoningOptionsByModel[e]??[]:o?s.reasoningOptionsByAccess?.[o]??[]:[]}return(0,r.u6)(e,t)}function p(e,t,n,a){if(l(e))return"";let s=i(e,n),o=(0,r.Tk)(e,t);return s?function(e,t,n){if(!e)return null;let r=t?.trim();return r&&e.defaultReasoningByModel?.[r]?e.defaultReasoningByModel[r]??null:n?e.defaultReasoningByAccess?.[n]??null:null}(s,a,o)??"":(0,r.DZ)(e,t)??""}function u(e,t){if(l(e))return"";let n=i(e,t),a=n?.customModelPlaceholder.trim();if(a)return a;let s=(0,r.yM)(e)?.label??"agent";return`Enter exact ${s} model id`}function x(e,t,n,a,u){if(l(e))return s();let x=a?.trim()??"",m=u?.trim().toLowerCase()??"",h=i(e,n),g=d(e,t,n),f=function(e,t,n){if(l(e))return"";let a=i(e,n),s=(0,r.Tk)(e,t);if(a)return(a&&s?a.defaultModelByAccess[s]??null:null)??o(a)[0]?.id??"";return(0,r.O$)(e,t)??""}(e,t,n),v=o(h).length>0,b=r=>{let a=c(e,t,n,r);return m.length>0&&a.some(e=>e.id===m)?m:p(e,t,n,r)};if(x.length>0){if(g.some(e=>e.id===x))return{catalogModel:x,customModel:"",reasoningEffort:b(x)};if(!v)return{catalogModel:f,customModel:x,reasoningEffort:b(x)}}return{catalogModel:f,customModel:"",reasoningEffort:b(f)}}function m(e){let t=e.customModel.trim();if(t.length>0)return t;let n=e.catalogModel.trim();return n.length>0?n:void 0}function h(e){let t=e.reasoningEffort.trim().toLowerCase();return t.length>0?t:void 0}}},e=>{e.O(0,[3036,80691,63357,65587,33051,61962,79083,69703,41964,587,61968,77358],()=>e(e.s=12529)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";var e,d,a,f,c,b,t,r,o={},n={};function i(e){var d=n[e];if(void 0!==d)return d.exports;var a=n[e]={exports:{}},f=!0;try{o[e].call(a.exports,a,a.exports,i),f=!1}finally{f&&delete n[e]}return a.exports}i.m=o,e=[],i.O=(d,a,f,c)=>{if(a){c=c||0;for(var b=e.length;b>0&&e[b-1][2]>c;b--)e[b]=e[b-1];e[b]=[a,f,c];return}for(var t=1/0,b=0;b<e.length;b++){for(var[a,f,c]=e[b],r=!0,o=0;o<a.length;o++)(!1&c||t>=c)&&Object.keys(i.O).every(e=>i.O[e](a[o]))?a.splice(o--,1):(r=!1,c<t&&(t=c));if(r){e.splice(b--,1);var n=f();void 0!==n&&(d=n)}}return d},i.n=e=>{var d=e&&e.__esModule?()=>e.default:()=>e;return i.d(d,{a:d}),d},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.t=function(e,f){if(1&f&&(e=this(e)),8&f||"object"==typeof e&&e&&(4&f&&e.__esModule||16&f&&"function"==typeof e.then))return e;var c=Object.create(null);i.r(c);var b={};d=d||[null,a({}),a([]),a(a)];for(var t=2&f&&e;"object"==typeof t&&!~d.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach(d=>b[d]=()=>e[d]);return b.default=()=>e,i.d(c,b),c},i.d=(e,d)=>{for(var a in d)i.o(d,a)&&!i.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:d[a]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce((d,a)=>(i.f[a](e,d),d),[])),i.u=e=>35493===e?"static/chunks/"+e+"-c39caef34f8d7b4d.js":29450===e?"static/chunks/"+e+"-8d186ad90ecd95e7.js":30524===e?"static/chunks/"+e+"-9eeaedf66a1f71f9.js":883===e?"static/chunks/883-bd3ca76b76fb6a07.js":"static/chunks/"+(({3616:"d917f8c9",4762:"b3ef812f",9992:"b74732b4",23849:"87851ddc",30260:"336436a7",31659:"a4f73d83",33543:"6907ee1e",53470:"7545c6b5",59430:"59a51a4c",68561:"f1fd93f1",74177:"19a2cade",77401:"baeaa4ff",81917:"58f38233",99223:"08e9f8d4"})[e]||e)+"."+({347:"06e7bb721073d0b1",401:"dae54b037209112d",614:"2281a8b0c301797b",652:"12ff6c934f10168a",997:"09c037d3028aae00",1087:"4ca163e5ca349fb0",1220:"754b8fdccae1a987",1343:"e183b62a101e2a28",1424:"d874b297bea813a1",1888:"7f6a783f833d6c2f",1890:"1de505c9bbb58403",2118:"6d7d5b626ea9d95e",2133:"b03bb559e8b4074e",2248:"181dfaa9b563f715",2514:"c93421442d8d5fc7",2643:"d8509333d39edf34",2766:"6708336cdaaec987",2818:"c726390e344d6293",3219:"cc7c5745c8155aa9",3616:"5680ad3780812343",3843:"cde2fe886e4eb9f2",3922:"6f871228307155f8",4243:"24bcba953391f85b",4494:"3fec2e34f52c1b92",4762:"c82050d496b46242",5372:"621cb4a4a00231d0",5387:"a19edfb860f62e94",5911:"8eb7af0352c2aa13",5990:"0ae6c8167a662ebb",6294:"f625e24dda25ad33",6498:"c68cf2fed1f8e223",6581:"5259699ff777ee21",6639:"509ba1e7aa03a5d0",6836:"28cea96e95318a01",6858:"083125bdb146331f",6872:"9c725c17d996f1d2",7302:"2383b86fb58a68b6",7388:"de247364c0d07eef",7403:"25b1d8574003a276",7540:"cc573f0982af80f8",7915:"4ff095add809bba6",8043:"337f0eccb0fea28c",8179:"3106e7c063997aa3",8414:"ab44334e110076e4",8564:"52775d4281d72165",8706:"bd4abfb526b585cc",8733:"c626198538458c59",8829:"47909d63508cc7ab",9175:"9790d827e86e77dd",9327:"57b60dbce23abd74",9336:"57f0540627cf97d0",9362:"1174737b6562746d",9531:"3016f53df0c2a542",9602:"8c998080def3f0e0",9838:"2fdcaa6189bd967a",9992:"b957826bf9891669",10338:"3554b169f6961c85",10443:"61301248987920a1",10587:"2b6658997550e051",10659:"f9aaa8b3ebfc980a",10695:"f0f1e975640b47c2",10841:"763bf43f35ff652d",10877:"27c33a4bdad654bd",10896:"3939b2420d992cb7",10920:"fe3204951b400db8",11251:"451a2e1d506cdff8",11319:"62b7b5a7c1becab9",11949:"abe41f38407e442a",12432:"595a494ed29872fb",13502:"e8a057da18410bd8",13649:"a8afd1d58c629c6a",13714:"d8a526ffe73942a3",13831:"c5add20802d784d5",13838:"d4fbb1a900f422f2",14235:"4486de8e822c5198",14305:"7fd18a4c5802a451",14352:"cb03f2b37c64af4d",14947:"d5e6bc3e8010edb1",15350:"baf21036bbdbd234",15436:"4c0d6c95148b8b73",15644:"b456be1d73667d55",15672:"a0bd160c9550e3db",16119:"a82e9237865e4bd3",16258:"6757839c24d08ddd",16267:"7e5db85d6928c974",16675:"0825c39091dbbdc7",17565:"b3bcf4cb53d73f8c",17582:"d054aee5d79cf586",18194:"4aea393775fc4a6c",18495:"1d0f78fe3a414e5f",18599:"ea7b4cf5cd23f795",18959:"216817a493b759d4",19381:"433ae4dc4fb44b4f",19388:"a692df4776f9dee8",19406:"04136e47c9312bdb",19668:"7d620c888eca208b",19710:"32a62ea145f00db9",19724:"10b2c18c12eacef2",19750:"2aa515100dd8ad70",20039:"c9d3950b4f63c84a",20049:"614345e6556f3f0a",20505:"7664b2c58d4d4b81",20520:"fbb4664073bcee7b",20638:"fb86f0217dadf72b",20736:"7e38bcdddea7813b",20869:"b345557e9e2640a5",20918:"2fc546832497dd01",20936:"e8dc2fe0c54393be",22094:"80a5ec4bdc0307a6",22572:"340bd41944b4b2f3",22618:"6f472740dd31c80b",22672:"6ce40e7368da4400",22799:"74589a5dd4041ad9",23111:"a80db7d22557e562",23303:"4b099704d75d10ba",23348:"c16122459ef6e36f",23531:"11eff8ef04dd723b",23849:"a115eb4b7a53d630",24021:"f31b0658d32a16a3",24063:"655a15e89cf3aa23",24185:"b36907bafcabd9c2",24315:"b4199b1b2bf0d590",24429:"cae6b1ab666cb907",24695:"9429b353a4f6e957",24891:"746ca5a48181e7ea",24896:"bc21c58e5b9ea0aa",24982:"a12d0bce12aa81fd",25406:"9a159aeba766eed5",25503:"c57b82dd8e96d465",25660:"868ff954c2773b80",26227:"bb9527055e761121",26439:"7c5f1cedc1df19bb",26721:"27cd88c497fbb7aa",26795:"a2b71b56d431e43b",26866:"da7df15102380a9e",27559:"dd48bb87969a053a",27572:"0136bc0e2bd0d17d",27604:"ef3b5cf25b6538c8",27902:"b6ee92688a9d23fd",28090:"12a9542c9a87ea40",28130:"6d0b2ccb6f2f59db",28218:"7ecddc294c538d04",28392:"961f324fbc1952f9",28645:"d9adf933ec1a78eb",29085:"6a2ea7eda8849598",29120:"3387d29b02057991",29121:"08103d5ce49bf88d",29151:"26c335992e39b4e6",29203:"c4b776c58687f700",29683:"2383b86fb58a68b6",29707:"007781d186a58548",30260:"f0c3cc63152862d8",30690:"a8c29f006eadb5c9",30723:"c8d24e1427ee8d8f",30803:"83f42fc17d024501",30941:"758ca168d474ae2d",31006:"344c65afdbd40693",31356:"14c0e48164b1c681",31569:"7a9d59aafe542b60",31659:"698a79e74128fe57",31973:"9a2c00f1db0c95ad",32194:"95573cb90f920d26",32716:"7366927bddad7511",32944:"71b6cc703e2c5244",33035:"73d932f8a5145142",33543:"d98eb4c5484fad2f",33685:"1b140e75e6820426",33750:"e540a6c576cc6ac9",34380:"280b3302121b40f5",34443:"97d747c13b1f809c",34605:"8a3e4a5c39a8eeb0",34743:"ccbff9ca95a44ee0",34849:"dae6b7038f44974c",35322:"8d427cee92388f3d",35811:"3f442ba1613382d3",35863:"c344da3f5e1ece6c",36902:"58a2e10d61e1c29c",36976:"73324829796a53a3",37383:"97e27d1c5d4fe773",37504:"2009903f22428e0b",37520:"f4417e2e4b0933a8",37578:"f0f30ee486d91d73",37668:"804fa74c6bed7446",37966:"566503bdb6e994c1",37990:"9e5281f849e5c037",38132:"0572d2ed1e9c804d",38894:"5f4b0c9fabc233d2",39354:"9db3eb83084c24a4",39355:"b8bc8299a710cc9a",39526:"f045c0ad796a945b",39647:"0e87dd8d3510e96f",39914:"890f7dad8216898f",40143:"fa1b58d4f9203bda",40205:"5181da38623e6f0d",41095:"799106c2cfe24962",41159:"03211fa2456b2acc",41390:"9d74caef17e4da9b",42394:"b044f4e73df4f3b8",43309:"f7f17eb9a8c5c176",43518:"554487eaea4f2fbe",43826:"aad5f521f032cb60",43971:"78cca6926cb705d4",44107:"9271541a503c1009",44160:"99b301098e78e832",44486:"b7550d054b8d893c",45299:"a99c235116569099",45355:"c1a6223ee31a5580",45482:"b205ef065821d0d2",45910:"482e5e6e77319a02",46202:"9a06ac8b8d82fd1a",46778:"2621d5b490f1cf3c",47460:"e71365a89ac6ee45",47538:"33fc80cfa5524be0",47576:"b578792b51b17127",47921:"4deab70b2858690b",48093:"b87c27c97453844f",48129:"8d9de44001f2cb38",48735:"66f45ab20c38b09b",49730:"4279b7f1f8b34f53",49781:"89a28d9a9b87937e",50284:"5e0a29eec9b9b857",50423:"83dbf748d1904417",50566:"517b83caa4cb476a",50759:"4cdfd6f2f5acfde9",50823:"8b2ba5a74e889cf7",50901:"91d165d25913cc82",51081:"ef0dde832aeb55ca",51506:"b87f165f5ccdd60e",51745:"da32aa13baf427c9",51924:"3c1cf438e5da48f5",52029:"1e42d0dc6b6c15a6",52187:"32ed636e8994eaa3",52725:"99064a7826058328",53048:"33c6fc532f39bde7",53211:"08186216f24fa44a",53403:"b6e88dd53346561f",53470:"8133d4939d9fd36d",54319:"05c2487c4c9a75e7",54606:"0dbe7d55d59537e9",54733:"295decc12610553f",55171:"d764b1b1201267af",55559:"955d29e7f1d15f85",55623:"fc2d575acd527888",55788:"a649922aa45169b1",55968:"d68807c9c7a4e901",56114:"767b568a3bc934a6",56318:"913c8adf07ffc6b3",56453:"e8ff900311966d46",56558:"65e39d90dee6819e",56702:"8d3c0e117b6399ac",56772:"891013f851fa5886",56817:"b52ffdd6a5e8e679",56944:"7c6924ec406a5b54",57009:"162784f04c7d2694",57099:"d18e32fcb82511cd",57654:"f8052e3cd1c5215d",57799:"32f5b9781c7a11b4",58607:"eabd886c80f1df38",58716:"88529a94938ddd51",58745:"862a15566dcaf4ca",58791:"07cb5549e42e01de",59344:"0f311ce2728a90a7",59430:"29ea2122aba73e97",59506:"986a99f959682a2c",59907:"f942634edee1bd7d",60251:"f0fa32e9884f794d",60633:"efb22d7f605ddec0",60634:"84ce0b609d1cc1fd",60667:"eee6ba54a449c530",60705:"6ddaf17217262def",60763:"ee79857321baa5cd",60931:"88178f3bd212a45f",61221:"9b14fa1cfaa8c748",62002:"a53cf013439337ea",62009:"b8d5a1f29fb86e6d",62033:"726b5765f23a0520",62213:"8c2cece7eaca59a6",62518:"ca7beacc115dfb0c",62533:"63216282dcd5d697",62726:"b67448ecb51b7a75",63025:"ccfec069c1c5ec44",63027:"175b32d25aad6313",63446:"912ed03a7bc4ee8f",63583:"807003b2c762ae1b",63971:"2d9433a3c1f34d4e",64163:"85d0043e74a81c1d",64201:"504ee81dea9ecab9",64280:"71d7dd7f77a9a12a",64457:"738f53a138a71a8c",64481:"abc063ff2e2056ba",64715:"59785c29a6e90e1c",65361:"a43511766a7c55fc",65403:"a0cd388aec107126",65453:"d024715dc3e78a51",65541:"6ce19c70662f5269",66143:"2d7dc3fca654a2d7",66153:"073e12aa5799c8dc",66173:"b9ad09199df2d44d",66543:"170f3d5f7d46ac1e",66660:"bc9a48d8022b71d3",66820:"8cb9fb3ba2d1a551",67077:"60e7cbfb3cd2ba85",67082:"c74182a8424104d4",67268:"e9c6f3b5e95de86c",67450:"fc1c2dd5454b2094",67452:"a1e9e76c98f635e3",67588:"1ffa1d320e6b4107",67735:"218703c5bd4f6614",67952:"986fd9e6b59d5f09",68048:"d1b9f6628d726198",68561:"f8f5c0ba494e48d8",68672:"1bf511c62c7d673d",68724:"12c15d30d63388a8",69982:"679e7c9bd15d063f",70195:"f2834c4640e97db0",70232:"eda405393dca2b67",70850:"0646f06a6846b93b",70920:"ec30839403a4d469",71046:"ddbeba82c7bd57bd",71227:"c054c8ed3239694b",71604:"b31e829f2960b9da",71613:"b3232e10c6dc570e",72196:"e6495ef71adfe003",72295:"374e1f5686670cdf",72582:"8a2de3e57be630dc",73834:"e1b8e7ba95397723",74177:"ecb2fbcf75dd9b06",74186:"e623a6676af0fdd8",74293:"acc9a6dfd8d27dea",74314:"e4d7077f729ac1ea",74446:"644335ba81e043b0",74582:"54646e30bff52f47",74742:"e91650b4eda92250",74889:"9107a336aa4184a6",74910:"e9d56869b80f9aa8",75013:"15f8074fb0b52ebd",75059:"c1c39f1e82e285dd",75965:"a79591c801849ec1",76056:"783a9635f598cc3e",76446:"fe0fb771f3a7a13e",76637:"fcb5ed58ca93baa4",76674:"5bb1b1c28fbffcba",76884:"7bdd7655a6ff8f62",76934:"b47ad8aa8aa88906",76982:"1c23dd6f8fb5e274",76990:"6cda08f9d5508f3c",77279:"2eface1e42acbef6",77302:"41d3ad63ab8ca9e5",77401:"622b5c8aec8b1189",78028:"bf0b2f113b19ba37",78115:"eee4885708b33717",78424:"44584e0629eab2a0",78658:"9ebf4a8a74789924",78967:"4e6d1425f781c0f6",79167:"6eff790c20304ba0",79492:"0422ada12fe96a41",79739:"f779af05a3e0f6cf",79752:"256306a124d3bf70",79763:"7e5a6bb07ec07472",80491:"74115868c7312e47",80643:"091ae5c16d2b8391",80999:"c9e1b4ea42144f5a",81132:"8414066d4a5a3014",81516:"6c312e26b0a4162b",81811:"33937cf1c9245ec5",81874:"d7e8e971d89868fb",81917:"d153920d64544f67",82008:"ef1dc9d9d03aa638",82136:"ae2c66904fa89515",83445:"bf53e626238eba6a",83609:"a736d41c919d94b6",83742:"86da416e90e96d34",84351:"9061b170727fbe66",84388:"c99bac53b9729065",84611:"54f22e75c3e992d0",84921:"2383b86fb58a68b6",85699:"a53be3f8e9616771",85794:"fbdf567688094c95",86097:"2182486489d760ac",86226:"57f8fa18d3fbdfeb",86845:"2fad4b014219ba50",87266:"cfe4bdc115ebe5f9",87805:"5b98edd276a34d22",88198:"36c979aee9396968",88499:"4ce6a20561fcd327",88678:"1c0300e5445d2efa",89003:"8d55d621cf8c801b",89115:"9cc4e020dce5bd3f",89291:"5a5766f3e0d41536",89514:"20df96413785ac61",89624:"f2f1a291e3431dda",89643:"4c1388b56f2118be",90021:"5608640b95c24bd2",90066:"a8e48e0cc7e17f24",90694:"044c53c7cbbb704b",90949:"fb894af7ac324639",91052:"11187063f52e41ab",91256:"6c1be7ddd1b7a0fd",91485:"791b58e728643507",92333:"3c74596acf217cc3",92351:"cc2beff19a2b8d52",92505:"43b498226c6e7ada",93444:"4d8052c333e3e861",93514:"05e809fc49375ade",93736:"0cb06bbe9fedfb97",94404:"2f11f0106307666a",94589:"ce5d707af1539b83",94610:"7c4a07f1050a489b",94651:"813c18b5396cc024",95034:"6afa225cdf55753f",95185:"a226ffd62b4fdf7a",95488:"5a1ab9a5b84e58bb",95937:"5009f89d06bf00d1",96092:"1bc844d62d178a64",96300:"f6ed1ec901737448",96347:"6d8a42be44e9a36a",96546:"4bfe7124f256733d",96750:"74955a0743eccba5",96910:"7650ca74df30c19a",97052:"c63a6db109553333",97078:"85314c57c0c94034",97245:"240c3c032099a67d",97511:"91b41018d27c03a0",97605:"bd69b7f79b1e7a64",97813:"45e93fb2a4158956",97885:"7da4398a6ff31d09",98e3:"e761d01a6196d98d",98432:"3fa70ae0dbd10380",98595:"2768c0f60010e3a2",98614:"8b8b7c6730dba6cf",98707:"150fbab37041ba34",98748:"37e79ec25fbf2331",99054:"52c4689a71ff1114",99136:"554eee0ef1b66614",99223:"a2ac8c6939c7886b",99369:"d7a968602c358f8a",99439:"8a1538bf80da4e21",99650:"93cd2e7f689783eb",99826:"3ee9172d112f17b0",99847:"3e12b40395d113fe"})[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,d)=>Object.prototype.hasOwnProperty.call(e,d),f={},i.l=(e,d,a,c)=>{if(f[e])return void f[e].push(d);if(void 0!==a)for(var b,t,r=document.getElementsByTagName("script"),o=0;o<r.length;o++){var n=r[o];if(n.getAttribute("src")==e||n.getAttribute("data-webpack")=="_N_E:"+a){b=n;break}}b||(t=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,i.nc&&b.setAttribute("nonce",i.nc),b.setAttribute("data-webpack","_N_E:"+a),b.src=i.tu(e)),f[e]=[d];var u=(d,a)=>{b.onerror=b.onload=null,clearTimeout(s);var c=f[e];if(delete f[e],b.parentNode&&b.parentNode.removeChild(b),c&&c.forEach(e=>e(a)),d)return d(a)},s=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),t&&document.head.appendChild(b)},i.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.tt=()=>(void 0===c&&(c={createScriptURL:e=>e},"u">typeof trustedTypes&&trustedTypes.createPolicy&&(c=trustedTypes.createPolicy("nextjs#bundler",c))),c),i.tu=e=>i.tt().createScriptURL(e),i.p="/_next/",b={78068:0,49271:0,89306:0,87268:0},i.f.j=(e,d)=>{var a=i.o(b,e)?b[e]:void 0;if(0!==a)if(a)d.push(a[2]);else if(/^((780|872)68|49271|89306)$/.test(e))b[e]=0;else{var f=new Promise((d,f)=>a=b[e]=[d,f]);d.push(a[2]=f);var c=i.p+i.u(e),t=Error();i.l(c,d=>{if(i.o(b,e)&&(0!==(a=b[e])&&(b[e]=void 0),a)){var f=d&&("load"===d.type?"missing":d.type),c=d&&d.target&&d.target.src;t.message="Loading chunk "+e+" failed.\n("+f+": "+c+")",t.name="ChunkLoadError",t.type=f,t.request=c,a[1](t)}},"chunk-"+e,e)}},i.O.j=e=>0===b[e],t=(e,d)=>{var a,f,[c,t,r]=d,o=0;if(c.some(e=>0!==b[e])){for(a in t)i.o(t,a)&&(i.m[a]=t[a]);if(r)var n=r(i)}for(e&&e(d);o<c.length;o++)f=c[o],i.o(b,f)&&b[f]&&b[f][0](),b[f]=0;return i.O(n)},(r=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r)),i.nc=void 0})();
|