conductor-oss 0.3.1 → 0.3.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/node_modules/@conductor-oss/plugin-agent-amp/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-ccr/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-claude-code/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-codex/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-cursor-cli/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-droid/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-gemini/dist/index.d.ts +44 -2
- package/node_modules/@conductor-oss/plugin-agent-gemini/dist/index.js +203 -17
- package/node_modules/@conductor-oss/plugin-agent-gemini/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-github-copilot/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-opencode/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-agent-qwen-code/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-mcp-server/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-notifier-desktop/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-notifier-discord/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-runtime-tmux/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-scm-github/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-terminal-web/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-tracker-github/package.json +1 -1
- package/node_modules/@conductor-oss/plugin-workspace-worktree/package.json +1 -1
- package/package.json +24 -23
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +2 -2
- 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/__PAGE__.segment.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/_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/server-reference-manifest.json +7 -7
- 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/_not-found.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/index.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
- package/web/.next/standalone/packages/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page/server-reference-manifest.json +7 -7
- 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/server-reference-manifest.json +7 -7
- 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/sign-in/[[...sign-in]]/page/server-reference-manifest.json +7 -7
- 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/unlock/page/server-reference-manifest.json +7 -7
- 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/chunks/ssr/[root-of-the-server]__6622b514._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__869d9ac0._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__9dc23e5a._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{[root-of-the-server]__c3eb4913._.js → [root-of-the-server]__a324b6db._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__b388693f._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_0e1412de._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_3acfb388._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_668c9201._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_69e05fca._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_80efe193._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_b6d31783._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_c0f0e227._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/_f36ddaa9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{node_modules_@clerk_nextjs_dist_esm_app-router_129dde21._.js → node_modules_@clerk_nextjs_dist_esm_app-router_6ed7a74d._.js} +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_9e576054._.js +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_f2ebd7a9._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_79316445._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_a078c137._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_app_page_tsx_cd282e82._.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/{packages_web_src_components_aad7de7c._.js → packages_web_src_components_80ce6eea._.js} +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +2 -2
- 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 +8 -8
- package/web/.next/standalone/packages/web/.next/static/chunks/25438e9094804f85.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{5c5637796e242130.js → 34d660195aaf8635.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/{07a5ac7389686572.js → 3814813ead38f9ae.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/524a7c2a8e85ea2f.js +1 -0
- package/web/.next/{static/chunks/e8d146cc2723147b.js → standalone/packages/web/.next/static/chunks/5672ef74a562c5dd.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/77d150e9b7dda43c.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/8ec81b945f12169b.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/aa158726d4a10331.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/d3cd3cf58c908ec9.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/df9658182f4f7d54.css +3 -0
- package/web/.next/standalone/packages/web/package.json +1 -0
- package/web/.next/standalone/packages/web/src/components/layout/Sidebar.tsx +20 -2
- package/web/.next/standalone/packages/web/src/components/layout/WorkspaceSidebarPanel.tsx +64 -74
- package/web/.next/standalone/packages/web/src/components/sessions/SessionOverview.tsx +114 -50
- package/web/.next/standalone/packages/web/src/features/dashboard/DashboardClient.tsx +459 -115
- package/web/.next/standalone/packages/web/src/features/dashboard/components/WorkspaceOverview.tsx +13 -31
- package/web/.next/standalone/packages/web/src/features/sessions/SessionPageClient.tsx +4 -1
- package/web/.next/standalone/packages/web/src/hooks/useSessions.ts +13 -0
- package/web/.next/standalone/packages/web/src/lib/types.ts +3 -0
- package/web/.next/static/chunks/25438e9094804f85.js +1 -0
- package/web/.next/static/chunks/{5c5637796e242130.js → 34d660195aaf8635.js} +2 -2
- package/web/.next/static/chunks/{07a5ac7389686572.js → 3814813ead38f9ae.js} +1 -1
- package/web/.next/static/chunks/524a7c2a8e85ea2f.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/e8d146cc2723147b.js → static/chunks/5672ef74a562c5dd.js} +1 -1
- package/web/.next/static/chunks/77d150e9b7dda43c.js +1 -0
- package/web/.next/static/chunks/8ec81b945f12169b.js +1 -0
- package/web/.next/static/chunks/aa158726d4a10331.js +1 -0
- package/web/.next/static/chunks/d3cd3cf58c908ec9.js +1 -0
- package/web/.next/static/chunks/df9658182f4f7d54.css +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/ssr/node_modules_@clerk_nextjs_dist_esm_app-router_1776df7f._.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/3603312f8407bd12.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/382be8f0b30c5f08.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/479b8cb58c95a8a0.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/53e4f3b495e423c9.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/5e05e67a26b7ecbc.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/6d083840413686dd.css +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/c7c1bd729f17c8bf.js +0 -1
- package/web/.next/static/chunks/3603312f8407bd12.js +0 -1
- package/web/.next/static/chunks/382be8f0b30c5f08.js +0 -1
- package/web/.next/static/chunks/479b8cb58c95a8a0.js +0 -1
- package/web/.next/static/chunks/53e4f3b495e423c9.js +0 -1
- package/web/.next/static/chunks/5e05e67a26b7ecbc.js +0 -1
- package/web/.next/static/chunks/6d083840413686dd.css +0 -3
- package/web/.next/static/chunks/c7c1bd729f17c8bf.js +0 -1
- /package/web/.next/standalone/packages/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_ssgManifest.js +0 -0
- /package/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_buildManifest.js +0 -0
- /package/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{oFTStwDpHHac4pinj0rAJ → -Z2NIcYE-i0soCDJ1TgtS}/_ssgManifest.js +0 -0
package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_79316445._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[72865,a=>{"use strict";var b=a.i(72131),c=a.i(9341);function d(a){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!0),[h,i]=(0,b.useState)(null),j=(0,b.useRef)(!0),k=(0,b.useCallback)(a=>{e(b=>!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(!d||!e||d.id!==e.id||d.status!==e.status||d.activity!==e.activity||d.projectId!==e.projectId||d.issueId!==e.issueId||d.branch!==e.branch||d.lastActivityAt!==e.lastActivityAt||d.summary!==e.summary)return!1}return!0}(b,a)?a:b)},[]),l=(0,b.useCallback)(async()=>{try{let b="string"==typeof a&&a.trim().length>0?`?project=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/sessions${b}`);if(!c.ok)throw Error(`Failed to fetch sessions: ${c.status}`);let d=await c.json(),e=Array.isArray(d)?d:Array.isArray(d.sessions)?d.sessions:[];if(!j.current)return;k(e),i(null)}catch(a){j.current&&i(a instanceof Error?a.message:"Unknown error")}finally{j.current&&g(!1)}},[k,a]);return(0,b.useEffect)(()=>{j.current=!0,g(!0),l();let b=null,d=()=>{null!==b&&(window.clearTimeout(b),b=null)},e=()=>{d(),b=window.setTimeout(async()=>{j.current&&(await l(),j.current&&e())},"visible"===document.visibilityState?15e3:45e3)};e();let f=(0,c.subscribeToSnapshotEvents)(b=>{var c;let d;j.current&&(k((c=b.sessions,(d=a?.trim())?c.filter(a=>a.projectId===d):c)),i(null),g(!1))}),h=()=>{l(),e()},m=()=>{"visible"===document.visibilityState?h():e()};return window.addEventListener("focus",h),document.addEventListener("visibilitychange",m),()=>{j.current=!1,f(),d(),window.removeEventListener("focus",h),document.removeEventListener("visibilitychange",m)}},[k,l,a]),{sessions:d,loading:f,error:h,refresh:l}}a.s(["useSessions",()=>d])},35757,a=>{"use strict";var b=a.i(72131);function c(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function d(){let[a,d]=(0,b.useState)([]),[e,f]=(0,b.useState)(!0),[g,h]=(0,b.useState)(null),i=(0,b.useRef)(!1),j=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/config");if(!a.ok)throw Error(`Failed to fetch config: ${a.status}`);let b=await a.json();d(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?c("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):c(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>c(a,b&&"object"==typeof b?b:null)):[]:[]}(b)),h(null)}catch(a){d([]),h(a instanceof Error?a.message:"Failed to fetch config")}finally{f(!1)}},[]);return(0,b.useEffect)(()=>{i.current||(i.current=!0,j())},[j]),{projects:a,loading:e,error:g,refresh:j}}a.s(["useConfig",()=>d])},48171,62586,6444,71541,5913,a=>{"use strict";let b,c,d;var e=a.i(87924),f=a.i(72131),g=a.i(70106);let h=(0,g.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),i=(0,g.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var j=a.i(26006);let k="conductor-workspace-sidebar-width";function l({sidebar:a,children:b,sidebarOpen:c,onToggleSidebar:d}){let[g,l]=(0,f.useState)(356),[m,n]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{let a=window.localStorage.getItem(k),b=a?Number.parseInt(a,10):NaN;Number.isFinite(b)&&l(Math.min(460,Math.max(296,b)))}catch{}},[]),(0,f.useEffect)(()=>{if(!m)return;let a=a=>{l(Math.min(460,Math.max(296,a.clientX)))},b=()=>{n(!1)};return window.addEventListener("mousemove",a),window.addEventListener("mouseup",b),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",b),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(k,String(g))}catch{}}},[m,g]);let o={"--workspace-sidebar-width":`${g}px`};return(0,e.jsxs)("div",{style:o,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:[c&&(0,e.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,e.jsx)("aside",{className:(0,j.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-[min(90vw,var(--workspace-sidebar-width))] flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-transform duration-200 lg:relative lg:w-[var(--workspace-sidebar-width)]",c?"translate-x-0":"-translate-x-full lg:-translate-x-0 lg:w-0 lg:overflow-hidden lg:border-r-0","lg:left-auto"),children:a}),c?(0,e.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>n(!0),"aria-hidden":"true",children:(0,e.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,e.jsx)(i,{className:"h-4 w-4"})}),(0,e.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Open workspace panel",children:(0,e.jsx)(h,{className:"h-4 w-4"})}),b]})]})}a.s(["AppShell",()=>l],48171);let m=(0,g.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),n=(0,f.memo)(function({title:a,onOpenPreferences:b}){return(0,e.jsxs)("header",{className:"flex h-12 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,e.jsx)("div",{className:"min-w-0 flex-1 text-center",children:(0,e.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),b?(0,e.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,e.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,e.jsx)(m,{className:"h-4 w-4"})})}):null]})});a.s(["TopBar",0,n],62586);let o=(0,g.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);a.s(["Layers3",()=>o],6444);var p=a.i(15618),q=a.i(33508),r=a.i(69630);let s=(0,g.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var t=a.i(87532);let u=[{top:0,left:1,delay:"0ms",opacity:1},{top:0,left:9,delay:"120ms",opacity:.9},{top:6,left:1,delay:"240ms",opacity:.8},{top:6,left:9,delay:"360ms",opacity:.7},{top:12,left:1,delay:"480ms",opacity:.6},{top:12,left:9,delay:"600ms",opacity:.45}];function v(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function w(a){let b=a.branch?.trim();if(b)return b;let c=a.summary?.trim()||a.metadata.summary?.trim();return c||(a.status?.trim()?a.status.replace(/[_-]+/g," "):a.id.slice(0,8))}function x({running:a}){return(0,e.jsx)("span",{className:"mt-1 inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-orange)]",children:(0,e.jsx)("span",{className:"relative h-[12px] w-[10px]",children:u.map((b,c)=>(0,e.jsx)("span",{className:(0,j.cn)("absolute h-[2px] w-[2px] rounded-full bg-current",a&&"animate-pulse"),style:{top:`${Math.round(.75*b.top)}px`,left:`${Math.round(.75*b.left)}px`,opacity:b.opacity,animationDelay:b.delay}},c))})})}function y({sessions:a,selectedId:b,onSelect:c,onArchive:d,onCreateWorkspace:g,showHeader:h=!0}){let[i,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(null),[n,o]=(0,f.useState)(null),p=(0,f.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!i.trim())return b;let c=i.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=v(a),g=w(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[i,a]),q=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),d&&l!==b){m(b);try{await d(b)}catch(a){console.error("Failed to archive session",a),o(b),window.setTimeout(()=>o(null),3e3)}finally{m(a=>a===b?null:a)}}},u=(0,f.useMemo)(()=>[...p].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[p]);return(0,e.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,e.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,e.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,e.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,e.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,e.jsx)("div",{className:(0,j.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,e.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,e.jsx)(t.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,e.jsx)("input",{value:i,onChange:a=>k(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===u.length?(0,e.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,e.jsx)("div",{className:"space-y-2",children:u.map(a=>{let f=(0,r.getAttentionLevel)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,f),i=a.id===b,k=l===a.id,m=n===a.id;return(0,e.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,j.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",i?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)(x,{running:"working"===f}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsxs)("span",{className:"flex items-start gap-2",children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:v(a)}),(0,e.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:g?(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[#18c58f]",children:["+",g.additions]}),(0,e.jsxs)("span",{className:"text-[#f26d6d]",children:["-",g.deletions]})]}):(0,e.jsx)("span",{className:h.className,children:h.label})})]}),(0,e.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:w(a)})]}),d?(0,e.jsx)("button",{type:"button",onClick:b=>void q(b,a.id),disabled:k,className:(0,j.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",k&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:m?"Archive failed":"Archive session",children:(0,e.jsx)(s,{className:(0,j.cn)("h-3.5 w-3.5",m&&"text-red-400")})}):null]},a.id)})})})]})}var z=a.i(70121),A=Symbol.for("react.lazy"),B=f[" use ".trim().toString()];function C(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===A&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var D=((d=f.forwardRef((a,b)=>{let{children:c,...d}=a;if(C(c)&&"function"==typeof B&&(c=B(c._payload)),f.isValidElement(c)){var e;let a,g,h=(e=c,(g=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(g=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==f.Fragment&&(i.ref=b?(0,z.composeRefs)(b,h):h),f.cloneElement(c,i)}return f.Children.count(c)>1?f.Children.only(null):null})).displayName="Slot.SlotClone",b=d,(c=f.forwardRef((a,c)=>{let{children:d,...g}=a;C(d)&&"function"==typeof B&&(d=B(d._payload));let h=f.Children.toArray(d),i=h.find(F);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null);return(0,e.jsx)(b,{...g,ref:c,children:f.isValidElement(a)?f.cloneElement(a,void 0,d):null})}return(0,e.jsx)(b,{...g,ref:c,children:d})})).displayName="Slot.Slot",c),E=Symbol("radix.slottable");function F(a){return f.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===E}let G={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},H={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},I=(0,f.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:d,children:f,...g},h)=>(0,e.jsx)(c?D:"button",{ref:h,className:(0,j.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",G[a],H[b],d),...g,children:f}));I.displayName="Button",a.s(["Button",0,I],71541);let J=(0,f.memo)(function({orgLabel:a,projects:b,selectedProjectId:c,onSelectProject:d,onUnlinkProject:g,sessions:h,selectedSessionId:i,onSelectSession:k,onArchiveSession:l,onCreateWorkspace:m}){let[n,s]=(0,f.useState)(null),[t,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(null),x=(0,f.useMemo)(()=>{let a=new Map;for(let b of h){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,r.getAttentionLevel)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[h]),z=(0,f.useMemo)(()=>h.filter(a=>"archived"!==a.status&&"done"!==(0,r.getAttentionLevel)(a)).length,[h]),A=(0,f.useMemo)(()=>b.find(a=>a.id===t)??null,[t,b]);async function B(){if(g&&t){s(t),w(null);try{await g(t),u(null)}catch(a){w(a instanceof Error?a.message:"Failed to unlink project.")}finally{s(null)}}}return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,e.jsxs)("div",{className:"flex items-start gap-3",children:[(0,e.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,e.jsx)(o,{className:"h-4 w-4"})}),(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-[15px] font-medium leading-[21px] text-[var(--vk-text-strong)]",children:a}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[b.length," projects, ",z," active sessions"]})]})]}),(0,e.jsxs)("button",{type:"button",onClick:m,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,e.jsx)(p.Plus,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{children:"Add Workspace"})]})]}),(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,e.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,e.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,e.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>d(null),className:(0,j.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===c?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,e.jsx)("span",{className:"truncate",children:"All projects"}),(0,e.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:b.length})]}),b.map(a=>{let b=c===a.id,f=x.get(a.id)??{total:0,active:0},h=n===a.id;return(0,e.jsxs)("div",{className:(0,j.cn)("group relative mb-1.5 flex items-center rounded-[6px]",b?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsxs)("button",{type:"button",onClick:()=>d(a.id),className:(0,j.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",b?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,e.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,e.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null]}),(0,e.jsxs)("span",{className:"shrink-0 text-right",children:[(0,e.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[f.active," active"]}),(0,e.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[f.total," total"]})]})]}),g&&(0,e.jsx)("button",{type:"button",disabled:h,onClick:b=>{b.stopPropagation(),w(null),u(a.id)},className:"mr-2 hidden shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] group-hover:inline-flex disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,e.jsx)(q.X,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,e.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,e.jsx)(y,{sessions:h,selectedId:i,onSelect:k,onArchive:l,onCreateWorkspace:m,showHeader:!1})})]}),A&&(0,e.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{n||(u(null),w(null))},children:(0,e.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,e.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,e.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:A.id})," from this workspace configuration."]})]}),(0,e.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,e.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),v?(0,e.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:v}):null]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)(I,{type:"button",variant:"ghost",onClick:()=>{u(null),w(null)},disabled:null!==n,children:"Cancel"}),(0,e.jsx)(I,{type:"button",variant:"danger",onClick:()=>void B(),disabled:null!==n,children:n===A.id?"Unlinking...":"Unlink Project"})]})]})})]})});a.s(["WorkspaceSidebarPanel",0,J],5913)}];
|
|
1
|
+
module.exports=[72865,a=>{"use strict";var b=a.i(72131),c=a.i(9341);function d(a){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!0),[h,i]=(0,b.useState)(null),j=(0,b.useRef)(!0),k=(0,b.useCallback)(a=>{e(b=>!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(!d||!e||d.id!==e.id||d.status!==e.status||d.activity!==e.activity||d.projectId!==e.projectId||d.issueId!==e.issueId||d.branch!==e.branch||d.lastActivityAt!==e.lastActivityAt||d.summary!==e.summary)return!1;let f=d.metadata??{},g=e.metadata??{},h=Object.keys(f),i=Object.keys(g);if(h.length!==i.length)return!1;for(let a of h)if(f[a]!==g[a])return!1}return!0}(b,a)?a:b)},[]),l=(0,b.useCallback)(async()=>{try{let b="string"==typeof a&&a.trim().length>0?`?project=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/sessions${b}`);if(!c.ok)throw Error(`Failed to fetch sessions: ${c.status}`);let d=await c.json(),e=Array.isArray(d)?d:Array.isArray(d.sessions)?d.sessions:[];if(!j.current)return;k(e),i(null)}catch(a){j.current&&i(a instanceof Error?a.message:"Unknown error")}finally{j.current&&g(!1)}},[k,a]);return(0,b.useEffect)(()=>{j.current=!0,g(!0),l();let b=null,d=()=>{null!==b&&(window.clearTimeout(b),b=null)},e=()=>{d(),b=window.setTimeout(async()=>{j.current&&(await l(),j.current&&e())},"visible"===document.visibilityState?15e3:45e3)};e();let f=(0,c.subscribeToSnapshotEvents)(b=>{var c;let d;j.current&&(k((c=b.sessions,(d=a?.trim())?c.filter(a=>a.projectId===d):c)),i(null),g(!1))}),h=()=>{l(),e()},m=()=>{"visible"===document.visibilityState?h():e()};return window.addEventListener("focus",h),document.addEventListener("visibilitychange",m),()=>{j.current=!1,f(),d(),window.removeEventListener("focus",h),document.removeEventListener("visibilitychange",m)}},[k,l,a]),{sessions:d,loading:f,error:h,refresh:l}}a.s(["useSessions",()=>d])},35757,a=>{"use strict";var b=a.i(72131);function c(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function d(){let[a,d]=(0,b.useState)([]),[e,f]=(0,b.useState)(!0),[g,h]=(0,b.useState)(null),i=(0,b.useRef)(!1),j=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/config");if(!a.ok)throw Error(`Failed to fetch config: ${a.status}`);let b=await a.json();d(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?c("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):c(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>c(a,b&&"object"==typeof b?b:null)):[]:[]}(b)),h(null)}catch(a){d([]),h(a instanceof Error?a.message:"Failed to fetch config")}finally{f(!1)}},[]);return(0,b.useEffect)(()=>{i.current||(i.current=!0,j())},[j]),{projects:a,loading:e,error:g,refresh:j}}a.s(["useConfig",()=>d])},48171,62586,71541,5913,a=>{"use strict";let b,c,d;var e=a.i(87924),f=a.i(72131),g=a.i(70106);let h=(0,g.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),i=(0,g.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var j=a.i(26006);let k="conductor-workspace-sidebar-width";function l({sidebar:a,children:b,sidebarOpen:c,onToggleSidebar:d}){let[g,l]=(0,f.useState)(356),[m,n]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{let a=window.localStorage.getItem(k),b=a?Number.parseInt(a,10):NaN;Number.isFinite(b)&&l(Math.min(460,Math.max(296,b)))}catch{}},[]),(0,f.useEffect)(()=>{if(!m)return;let a=a=>{l(Math.min(460,Math.max(296,a.clientX)))},b=()=>{n(!1)};return window.addEventListener("mousemove",a),window.addEventListener("mouseup",b),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",b),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(k,String(g))}catch{}}},[m,g]);let o={"--workspace-sidebar-width":`${g}px`};return(0,e.jsxs)("div",{style:o,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:[c&&(0,e.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,e.jsx)("aside",{className:(0,j.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-[min(90vw,var(--workspace-sidebar-width))] flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-transform duration-200 lg:relative lg:w-[var(--workspace-sidebar-width)]",c?"translate-x-0":"-translate-x-full lg:-translate-x-0 lg:w-0 lg:overflow-hidden lg:border-r-0","lg:left-auto"),children:a}),c?(0,e.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>n(!0),"aria-hidden":"true",children:(0,e.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,e.jsx)(i,{className:"h-4 w-4"})}),(0,e.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Open workspace panel",children:(0,e.jsx)(h,{className:"h-4 w-4"})}),b]})]})}a.s(["AppShell",()=>l],48171);let m=(0,g.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),n=(0,f.memo)(function({title:a,onOpenPreferences:b}){return(0,e.jsxs)("header",{className:"flex h-12 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,e.jsx)("div",{className:"min-w-0 flex-1 text-center",children:(0,e.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),b?(0,e.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,e.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,e.jsx)(m,{className:"h-4 w-4"})})}):null]})});a.s(["TopBar",0,n],62586);var o=a.i(35112),p=a.i(15618),q=a.i(33508),r=a.i(69630);let s=(0,g.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var t=a.i(87532),u=a.i(52806);let v=[{top:0,left:1,delay:"0ms",opacity:1},{top:0,left:9,delay:"120ms",opacity:.9},{top:6,left:1,delay:"240ms",opacity:.8},{top:6,left:9,delay:"360ms",opacity:.7},{top:12,left:1,delay:"480ms",opacity:.6},{top:12,left:9,delay:"600ms",opacity:.45}];function w(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function x(a){let b=a.branch?.trim();if(b)return b;let c=a.summary?.trim()||a.metadata.summary?.trim();return c||(a.status?.trim()?a.status.replace(/[_-]+/g," "):a.id.slice(0,8))}function y({running:a}){return(0,e.jsx)("span",{className:"mt-1 inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-orange)]",children:(0,e.jsx)("span",{className:"relative h-[12px] w-[10px]",children:v.map((b,c)=>(0,e.jsx)("span",{className:(0,j.cn)("absolute h-[2px] w-[2px] rounded-full bg-current",a&&"animate-pulse"),style:{top:`${Math.round(.75*b.top)}px`,left:`${Math.round(.75*b.left)}px`,opacity:b.opacity,animationDelay:b.delay}},c))})})}function z({sessions:a,selectedId:b,onSelect:c,onArchive:d,onCreateWorkspace:g,showHeader:h=!0}){let[i,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(null),[n,o]=(0,f.useState)(null),p=(0,f.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!i.trim())return b;let c=i.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=w(a),g=x(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[i,a]),q=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),d&&l!==b){m(b);try{await d(b)}catch(a){console.error("Failed to archive session",a),o(b),window.setTimeout(()=>o(null),3e3)}finally{m(a=>a===b?null:a)}}},v=(0,f.useMemo)(()=>[...p].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[p]);return(0,e.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,e.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,e.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,e.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,e.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,e.jsx)("div",{className:(0,j.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,e.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,e.jsx)(t.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,e.jsx)("input",{value:i,onChange:a=>k(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===v.length?(0,e.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,e.jsx)("div",{className:"space-y-2",children:v.map(a=>{let f=(0,r.getAttentionLevel)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,f),i=a.metadata.agent?.trim()||null,k=a.id===b,m=l===a.id,o=n===a.id;return(0,e.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,j.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",k?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)(y,{running:"working"===f}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsxs)("span",{className:"flex items-start gap-2",children:[(0,e.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[i?(0,e.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:i,"aria-label":`${i} agent`,children:(0,e.jsx)(u.AgentTileIcon,{seed:{label:i},className:"h-4 w-4"})}):null,(0,e.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:w(a)})]}),(0,e.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:g?(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[#18c58f]",children:["+",g.additions]}),(0,e.jsxs)("span",{className:"text-[#f26d6d]",children:["-",g.deletions]})]}):(0,e.jsx)("span",{className:h.className,children:h.label})})]}),(0,e.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:x(a)})]}),d?(0,e.jsx)("button",{type:"button",onClick:b=>void q(b,a.id),disabled:m,className:(0,j.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",m&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:o?"Archive failed":"Archive session",children:(0,e.jsx)(s,{className:(0,j.cn)("h-3.5 w-3.5",o&&"text-red-400")})}):null]},a.id)})})})]})}var A=a.i(70121),B=Symbol.for("react.lazy"),C=f[" use ".trim().toString()];function D(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===B&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var E=((d=f.forwardRef((a,b)=>{let{children:c,...d}=a;if(D(c)&&"function"==typeof C&&(c=C(c._payload)),f.isValidElement(c)){var e;let a,g,h=(e=c,(g=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(g=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==f.Fragment&&(i.ref=b?(0,A.composeRefs)(b,h):h),f.cloneElement(c,i)}return f.Children.count(c)>1?f.Children.only(null):null})).displayName="Slot.SlotClone",b=d,(c=f.forwardRef((a,c)=>{let{children:d,...g}=a;D(d)&&"function"==typeof C&&(d=C(d._payload));let h=f.Children.toArray(d),i=h.find(G);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null);return(0,e.jsx)(b,{...g,ref:c,children:f.isValidElement(a)?f.cloneElement(a,void 0,d):null})}return(0,e.jsx)(b,{...g,ref:c,children:d})})).displayName="Slot.Slot",c),F=Symbol("radix.slottable");function G(a){return f.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===F}let H={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},I={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},J=(0,f.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:d,children:f,...g},h)=>(0,e.jsx)(c?E:"button",{ref:h,className:(0,j.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",H[a],I[b],d),...g,children:f}));J.displayName="Button",a.s(["Button",0,J],71541);let K=(0,f.memo)(function({projects:a,selectedProjectId:b,onSelectProject:c,onUnlinkProject:d,sessions:g,selectedSessionId:h,onSelectSession:i,onArchiveSession:k,onCreateWorkspace:l}){let[m,n]=(0,f.useState)(null),[s,t]=(0,f.useState)(null),[u,v]=(0,f.useState)(null),w=(0,f.useMemo)(()=>{let a=new Map;for(let b of g){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,r.getAttentionLevel)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[g]),x=(0,f.useMemo)(()=>a.find(a=>a.id===s)??null,[s,a]);async function y(){if(d&&s){n(s),v(null);try{await d(s),t(null)}catch(a){v(a instanceof Error?a.message:"Failed to unlink project.")}finally{n(null)}}}return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,e.jsx)("div",{className:"flex justify-center text-center",children:(0,e.jsx)("p",{className:"text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,e.jsxs)("button",{type:"button",onClick:l,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,e.jsx)(p.Plus,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{children:"Add Workspace"})]})]}),(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,e.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,e.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,e.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>c(null),className:(0,j.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===b?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,e.jsx)("span",{className:"truncate",children:"All projects"}),(0,e.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:a.length})]}),a.map(a=>{let f=b===a.id,g=w.get(a.id)??{total:0,active:0},h=m===a.id;return(0,e.jsxs)("div",{className:(0,j.cn)("group relative mb-1.5 flex items-center rounded-[6px]",f?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:(0,j.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",f?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,e.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,e.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null]}),(0,e.jsxs)("span",{className:"shrink-0 text-right",children:[(0,e.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[g.active," active"]}),(0,e.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[g.total," total"]})]})]}),d&&(0,e.jsx)("button",{type:"button",disabled:h,onClick:b=>{b.stopPropagation(),v(null),t(a.id)},className:"mr-2 hidden shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] group-hover:inline-flex disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,e.jsx)(q.X,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,e.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,e.jsx)(z,{sessions:g,selectedId:h,onSelect:i,onArchive:k,onCreateWorkspace:l,showHeader:!1})})]}),x&&"u">typeof document?(0,o.createPortal)((0,e.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{m||(t(null),v(null))},children:(0,e.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,e.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,e.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:x.id})," from this workspace configuration."]})]}),(0,e.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,e.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),u?(0,e.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:u}):null]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)(J,{type:"button",variant:"ghost",onClick:()=>{t(null),v(null)},disabled:null!==m,children:"Cancel"}),(0,e.jsx)(J,{type:"button",variant:"danger",onClick:()=>void y(),disabled:null!==m,children:m===x.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})});a.s(["WorkspaceSidebarPanel",0,K],5913)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_web_src_79316445._.js.map
|
package/web/.next/standalone/packages/web/.next/server/chunks/ssr/packages_web_src_a078c137._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[48171,62586,6444,71541,5913,a=>{"use strict";let b,c,d;var e=a.i(87924),f=a.i(72131),g=a.i(70106);let h=(0,g.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),i=(0,g.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var j=a.i(26006);let k="conductor-workspace-sidebar-width";function l({sidebar:a,children:b,sidebarOpen:c,onToggleSidebar:d}){let[g,l]=(0,f.useState)(356),[m,n]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{let a=window.localStorage.getItem(k),b=a?Number.parseInt(a,10):NaN;Number.isFinite(b)&&l(Math.min(460,Math.max(296,b)))}catch{}},[]),(0,f.useEffect)(()=>{if(!m)return;let a=a=>{l(Math.min(460,Math.max(296,a.clientX)))},b=()=>{n(!1)};return window.addEventListener("mousemove",a),window.addEventListener("mouseup",b),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",b),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(k,String(g))}catch{}}},[m,g]);let o={"--workspace-sidebar-width":`${g}px`};return(0,e.jsxs)("div",{style:o,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:[c&&(0,e.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,e.jsx)("aside",{className:(0,j.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-[min(90vw,var(--workspace-sidebar-width))] flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-transform duration-200 lg:relative lg:w-[var(--workspace-sidebar-width)]",c?"translate-x-0":"-translate-x-full lg:-translate-x-0 lg:w-0 lg:overflow-hidden lg:border-r-0","lg:left-auto"),children:a}),c?(0,e.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>n(!0),"aria-hidden":"true",children:(0,e.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,e.jsx)(i,{className:"h-4 w-4"})}),(0,e.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Open workspace panel",children:(0,e.jsx)(h,{className:"h-4 w-4"})}),b]})]})}a.s(["AppShell",()=>l],48171);let m=(0,g.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),n=(0,f.memo)(function({title:a,onOpenPreferences:b}){return(0,e.jsxs)("header",{className:"flex h-12 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,e.jsx)("div",{className:"min-w-0 flex-1 text-center",children:(0,e.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),b?(0,e.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,e.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,e.jsx)(m,{className:"h-4 w-4"})})}):null]})});a.s(["TopBar",0,n],62586);let o=(0,g.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);a.s(["Layers3",()=>o],6444);var p=a.i(15618),q=a.i(33508),r=a.i(69630);let s=(0,g.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var t=a.i(87532);let u=[{top:0,left:1,delay:"0ms",opacity:1},{top:0,left:9,delay:"120ms",opacity:.9},{top:6,left:1,delay:"240ms",opacity:.8},{top:6,left:9,delay:"360ms",opacity:.7},{top:12,left:1,delay:"480ms",opacity:.6},{top:12,left:9,delay:"600ms",opacity:.45}];function v(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function w(a){let b=a.branch?.trim();if(b)return b;let c=a.summary?.trim()||a.metadata.summary?.trim();return c||(a.status?.trim()?a.status.replace(/[_-]+/g," "):a.id.slice(0,8))}function x({running:a}){return(0,e.jsx)("span",{className:"mt-1 inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-orange)]",children:(0,e.jsx)("span",{className:"relative h-[12px] w-[10px]",children:u.map((b,c)=>(0,e.jsx)("span",{className:(0,j.cn)("absolute h-[2px] w-[2px] rounded-full bg-current",a&&"animate-pulse"),style:{top:`${Math.round(.75*b.top)}px`,left:`${Math.round(.75*b.left)}px`,opacity:b.opacity,animationDelay:b.delay}},c))})})}function y({sessions:a,selectedId:b,onSelect:c,onArchive:d,onCreateWorkspace:g,showHeader:h=!0}){let[i,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(null),[n,o]=(0,f.useState)(null),p=(0,f.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!i.trim())return b;let c=i.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=v(a),g=w(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[i,a]),q=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),d&&l!==b){m(b);try{await d(b)}catch(a){console.error("Failed to archive session",a),o(b),window.setTimeout(()=>o(null),3e3)}finally{m(a=>a===b?null:a)}}},u=(0,f.useMemo)(()=>[...p].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[p]);return(0,e.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,e.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,e.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,e.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,e.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,e.jsx)("div",{className:(0,j.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,e.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,e.jsx)(t.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,e.jsx)("input",{value:i,onChange:a=>k(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===u.length?(0,e.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,e.jsx)("div",{className:"space-y-2",children:u.map(a=>{let f=(0,r.getAttentionLevel)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,f),i=a.id===b,k=l===a.id,m=n===a.id;return(0,e.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,j.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",i?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)(x,{running:"working"===f}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsxs)("span",{className:"flex items-start gap-2",children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:v(a)}),(0,e.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:g?(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[#18c58f]",children:["+",g.additions]}),(0,e.jsxs)("span",{className:"text-[#f26d6d]",children:["-",g.deletions]})]}):(0,e.jsx)("span",{className:h.className,children:h.label})})]}),(0,e.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:w(a)})]}),d?(0,e.jsx)("button",{type:"button",onClick:b=>void q(b,a.id),disabled:k,className:(0,j.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",k&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:m?"Archive failed":"Archive session",children:(0,e.jsx)(s,{className:(0,j.cn)("h-3.5 w-3.5",m&&"text-red-400")})}):null]},a.id)})})})]})}var z=a.i(70121),A=Symbol.for("react.lazy"),B=f[" use ".trim().toString()];function C(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===A&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var D=((d=f.forwardRef((a,b)=>{let{children:c,...d}=a;if(C(c)&&"function"==typeof B&&(c=B(c._payload)),f.isValidElement(c)){var e;let a,g,h=(e=c,(g=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(g=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==f.Fragment&&(i.ref=b?(0,z.composeRefs)(b,h):h),f.cloneElement(c,i)}return f.Children.count(c)>1?f.Children.only(null):null})).displayName="Slot.SlotClone",b=d,(c=f.forwardRef((a,c)=>{let{children:d,...g}=a;C(d)&&"function"==typeof B&&(d=B(d._payload));let h=f.Children.toArray(d),i=h.find(F);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null);return(0,e.jsx)(b,{...g,ref:c,children:f.isValidElement(a)?f.cloneElement(a,void 0,d):null})}return(0,e.jsx)(b,{...g,ref:c,children:d})})).displayName="Slot.Slot",c),E=Symbol("radix.slottable");function F(a){return f.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===E}let G={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},H={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},I=(0,f.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:d,children:f,...g},h)=>(0,e.jsx)(c?D:"button",{ref:h,className:(0,j.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",G[a],H[b],d),...g,children:f}));I.displayName="Button",a.s(["Button",0,I],71541);let J=(0,f.memo)(function({orgLabel:a,projects:b,selectedProjectId:c,onSelectProject:d,onUnlinkProject:g,sessions:h,selectedSessionId:i,onSelectSession:k,onArchiveSession:l,onCreateWorkspace:m}){let[n,s]=(0,f.useState)(null),[t,u]=(0,f.useState)(null),[v,w]=(0,f.useState)(null),x=(0,f.useMemo)(()=>{let a=new Map;for(let b of h){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,r.getAttentionLevel)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[h]),z=(0,f.useMemo)(()=>h.filter(a=>"archived"!==a.status&&"done"!==(0,r.getAttentionLevel)(a)).length,[h]),A=(0,f.useMemo)(()=>b.find(a=>a.id===t)??null,[t,b]);async function B(){if(g&&t){s(t),w(null);try{await g(t),u(null)}catch(a){w(a instanceof Error?a.message:"Failed to unlink project.")}finally{s(null)}}}return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,e.jsxs)("div",{className:"flex items-start gap-3",children:[(0,e.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[10px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,e.jsx)(o,{className:"h-4 w-4"})}),(0,e.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,e.jsx)("p",{className:"truncate text-[15px] font-medium leading-[21px] text-[var(--vk-text-strong)]",children:a}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[b.length," projects, ",z," active sessions"]})]})]}),(0,e.jsxs)("button",{type:"button",onClick:m,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,e.jsx)(p.Plus,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{children:"Add Workspace"})]})]}),(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,e.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,e.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,e.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>d(null),className:(0,j.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===c?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,e.jsx)("span",{className:"truncate",children:"All projects"}),(0,e.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:b.length})]}),b.map(a=>{let b=c===a.id,f=x.get(a.id)??{total:0,active:0},h=n===a.id;return(0,e.jsxs)("div",{className:(0,j.cn)("group relative mb-1.5 flex items-center rounded-[6px]",b?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsxs)("button",{type:"button",onClick:()=>d(a.id),className:(0,j.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",b?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,e.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,e.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null]}),(0,e.jsxs)("span",{className:"shrink-0 text-right",children:[(0,e.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[f.active," active"]}),(0,e.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[f.total," total"]})]})]}),g&&(0,e.jsx)("button",{type:"button",disabled:h,onClick:b=>{b.stopPropagation(),w(null),u(a.id)},className:"mr-2 hidden shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] group-hover:inline-flex disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,e.jsx)(q.X,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,e.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,e.jsx)(y,{sessions:h,selectedId:i,onSelect:k,onArchive:l,onCreateWorkspace:m,showHeader:!1})})]}),A&&(0,e.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{n||(u(null),w(null))},children:(0,e.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,e.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,e.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:A.id})," from this workspace configuration."]})]}),(0,e.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,e.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),v?(0,e.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:v}):null]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)(I,{type:"button",variant:"ghost",onClick:()=>{u(null),w(null)},disabled:null!==n,children:"Cancel"}),(0,e.jsx)(I,{type:"button",variant:"danger",onClick:()=>void B(),disabled:null!==n,children:n===A.id?"Unlinking...":"Unlink Project"})]})]})})]})});a.s(["WorkspaceSidebarPanel",0,J],5913)},35757,a=>{"use strict";var b=a.i(72131);function c(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function d(){let[a,d]=(0,b.useState)([]),[e,f]=(0,b.useState)(!0),[g,h]=(0,b.useState)(null),i=(0,b.useRef)(!1),j=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/config");if(!a.ok)throw Error(`Failed to fetch config: ${a.status}`);let b=await a.json();d(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?c("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):c(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>c(a,b&&"object"==typeof b?b:null)):[]:[]}(b)),h(null)}catch(a){d([]),h(a instanceof Error?a.message:"Failed to fetch config")}finally{f(!1)}},[]);return(0,b.useEffect)(()=>{i.current||(i.current=!0,j())},[j]),{projects:a,loading:e,error:g,refresh:j}}a.s(["useConfig",()=>d])},72865,a=>{"use strict";var b=a.i(72131),c=a.i(9341);function d(a){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!0),[h,i]=(0,b.useState)(null),j=(0,b.useRef)(!0),k=(0,b.useCallback)(a=>{e(b=>!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(!d||!e||d.id!==e.id||d.status!==e.status||d.activity!==e.activity||d.projectId!==e.projectId||d.issueId!==e.issueId||d.branch!==e.branch||d.lastActivityAt!==e.lastActivityAt||d.summary!==e.summary)return!1}return!0}(b,a)?a:b)},[]),l=(0,b.useCallback)(async()=>{try{let b="string"==typeof a&&a.trim().length>0?`?project=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/sessions${b}`);if(!c.ok)throw Error(`Failed to fetch sessions: ${c.status}`);let d=await c.json(),e=Array.isArray(d)?d:Array.isArray(d.sessions)?d.sessions:[];if(!j.current)return;k(e),i(null)}catch(a){j.current&&i(a instanceof Error?a.message:"Unknown error")}finally{j.current&&g(!1)}},[k,a]);return(0,b.useEffect)(()=>{j.current=!0,g(!0),l();let b=null,d=()=>{null!==b&&(window.clearTimeout(b),b=null)},e=()=>{d(),b=window.setTimeout(async()=>{j.current&&(await l(),j.current&&e())},"visible"===document.visibilityState?15e3:45e3)};e();let f=(0,c.subscribeToSnapshotEvents)(b=>{var c;let d;j.current&&(k((c=b.sessions,(d=a?.trim())?c.filter(a=>a.projectId===d):c)),i(null),g(!1))}),h=()=>{l(),e()},m=()=>{"visible"===document.visibilityState?h():e()};return window.addEventListener("focus",h),document.addEventListener("visibilitychange",m),()=>{j.current=!1,f(),d(),window.removeEventListener("focus",h),document.removeEventListener("visibilitychange",m)}},[k,l,a]),{sessions:d,loading:f,error:h,refresh:l}}a.s(["useSessions",()=>d])}];
|
|
1
|
+
module.exports=[48171,62586,71541,5913,a=>{"use strict";let b,c,d;var e=a.i(87924),f=a.i(72131),g=a.i(70106);let h=(0,g.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]),i=(0,g.default)("panel-right-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]]);var j=a.i(26006);let k="conductor-workspace-sidebar-width";function l({sidebar:a,children:b,sidebarOpen:c,onToggleSidebar:d}){let[g,l]=(0,f.useState)(356),[m,n]=(0,f.useState)(!1);(0,f.useEffect)(()=>{try{let a=window.localStorage.getItem(k),b=a?Number.parseInt(a,10):NaN;Number.isFinite(b)&&l(Math.min(460,Math.max(296,b)))}catch{}},[]),(0,f.useEffect)(()=>{if(!m)return;let a=a=>{l(Math.min(460,Math.max(296,a.clientX)))},b=()=>{n(!1)};return window.addEventListener("mousemove",a),window.addEventListener("mouseup",b),document.body.style.userSelect="none",document.body.style.cursor="col-resize",()=>{window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",b),document.body.style.userSelect="",document.body.style.cursor="";try{window.localStorage.setItem(k,String(g))}catch{}}},[m,g]);let o={"--workspace-sidebar-width":`${g}px`};return(0,e.jsxs)("div",{style:o,className:"relative flex h-dvh min-h-[100dvh] w-full max-w-full overflow-hidden bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:[c&&(0,e.jsx)("button",{type:"button",className:"absolute inset-0 z-20 bg-black/45 lg:hidden",onClick:d,"aria-label":"Close workspace panel"}),(0,e.jsx)("aside",{className:(0,j.cn)("absolute inset-y-0 left-0 z-30 flex h-full w-[min(90vw,var(--workspace-sidebar-width))] flex-col border-r border-[var(--vk-border)] bg-[var(--vk-bg-panel)] transition-transform duration-200 lg:relative lg:w-[var(--workspace-sidebar-width)]",c?"translate-x-0":"-translate-x-full lg:-translate-x-0 lg:w-0 lg:overflow-hidden lg:border-r-0","lg:left-auto"),children:a}),c?(0,e.jsx)("div",{className:"absolute bottom-0 left-[var(--workspace-sidebar-width)] top-0 z-30 hidden w-2 -translate-x-1/2 cursor-col-resize lg:block",onMouseDown:()=>n(!0),"aria-hidden":"true",children:(0,e.jsx)("div",{className:"mx-auto h-full w-px bg-transparent transition-colors hover:bg-[var(--vk-border)]"})}):null,c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-[var(--workspace-sidebar-width)] top-2 z-40 hidden h-7 w-7 -translate-x-1/2 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] shadow-[0_0_0_1px_rgba(0,0,0,0.25)] hover:bg-[var(--vk-bg-hover)] lg:inline-flex","aria-label":"Hide workspace panel",children:(0,e.jsx)(i,{className:"h-4 w-4"})}),(0,e.jsxs)("main",{className:"relative flex min-w-0 flex-1 flex-col overflow-hidden bg-[var(--vk-bg-main)]",children:[!c&&(0,e.jsx)("button",{type:"button",onClick:d,className:"absolute left-2 top-2 z-40 inline-flex h-7 w-7 items-center justify-center rounded-[4px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Open workspace panel",children:(0,e.jsx)(h,{className:"h-4 w-4"})}),b]})]})}a.s(["AppShell",()=>l],48171);let m=(0,g.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),n=(0,f.memo)(function({title:a,onOpenPreferences:b}){return(0,e.jsxs)("header",{className:"flex h-12 items-center border-b border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-4 text-[13px] text-[var(--vk-text-muted)] sm:h-14 sm:px-5 sm:text-[14px]",children:[(0,e.jsx)("div",{className:"min-w-0 flex-1 text-center",children:(0,e.jsx)("span",{className:"block truncate font-medium tracking-[0.01em] text-[var(--vk-text-normal)]",children:a??"All Projects"})}),b?(0,e.jsx)("div",{className:"ml-1 flex shrink-0",children:(0,e.jsx)("button",{type:"button",onClick:b,className:"inline-flex h-8 w-8 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]","aria-label":"Open preferences",title:"Preferences",children:(0,e.jsx)(m,{className:"h-4 w-4"})})}):null]})});a.s(["TopBar",0,n],62586);var o=a.i(35112),p=a.i(15618),q=a.i(33508),r=a.i(69630);let s=(0,g.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]);var t=a.i(87532),u=a.i(52806);let v=[{top:0,left:1,delay:"0ms",opacity:1},{top:0,left:9,delay:"120ms",opacity:.9},{top:6,left:1,delay:"240ms",opacity:.8},{top:6,left:9,delay:"360ms",opacity:.7},{top:12,left:1,delay:"480ms",opacity:.6},{top:12,left:9,delay:"600ms",opacity:.45}];function w(a){let b=a.metadata.worktree?.trim()??"";return b&&b.replace(/\\/g,"/").replace(/\/+$/,"").includes("/worktrees/")?"worktree":"local"}function x(a){let b=a.branch?.trim();if(b)return b;let c=a.summary?.trim()||a.metadata.summary?.trim();return c||(a.status?.trim()?a.status.replace(/[_-]+/g," "):a.id.slice(0,8))}function y({running:a}){return(0,e.jsx)("span",{className:"mt-1 inline-flex h-4 w-4 shrink-0 items-center justify-center text-[var(--vk-orange)]",children:(0,e.jsx)("span",{className:"relative h-[12px] w-[10px]",children:v.map((b,c)=>(0,e.jsx)("span",{className:(0,j.cn)("absolute h-[2px] w-[2px] rounded-full bg-current",a&&"animate-pulse"),style:{top:`${Math.round(.75*b.top)}px`,left:`${Math.round(.75*b.left)}px`,opacity:b.opacity,animationDelay:b.delay}},c))})})}function z({sessions:a,selectedId:b,onSelect:c,onArchive:d,onCreateWorkspace:g,showHeader:h=!0}){let[i,k]=(0,f.useState)(""),[l,m]=(0,f.useState)(null),[n,o]=(0,f.useState)(null),p=(0,f.useMemo)(()=>{let b=a.filter(a=>"archived"!==a.status);if(!i.trim())return b;let c=i.toLowerCase();return b.filter(a=>{let b=a.summary??"",d=a.branch??"",e=a.metadata.agent??"",f=w(a),g=x(a);return a.id.toLowerCase().includes(c)||a.projectId.toLowerCase().includes(c)||b.toLowerCase().includes(c)||d.toLowerCase().includes(c)||e.toLowerCase().includes(c)||f.toLowerCase().includes(c)||g.toLowerCase().includes(c)})},[i,a]),q=async(a,b)=>{if(a.stopPropagation(),a.preventDefault(),d&&l!==b){m(b);try{await d(b)}catch(a){console.error("Failed to archive session",a),o(b),window.setTimeout(()=>o(null),3e3)}finally{m(a=>a===b?null:a)}}},v=(0,f.useMemo)(()=>[...p].sort((a,b)=>new Date(b.lastActivityAt).getTime()-new Date(a.lastActivityAt).getTime()),[p]);return(0,e.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[h&&(0,e.jsxs)("div",{className:"flex h-[33px] items-center gap-1 px-2",children:[(0,e.jsx)("p",{className:"text-[16px] text-[var(--vk-text-normal)]",children:"Workspaces"}),g&&(0,e.jsx)("button",{type:"button",onClick:g,className:"ml-auto inline-flex h-5 w-5 items-center justify-center rounded-[3px] text-[var(--vk-orange)] hover:bg-[var(--vk-bg-hover)] lg:hidden","aria-label":"New workspace",children:(0,e.jsx)("span",{className:"text-[14px]",children:"+"})})]}),(0,e.jsx)("div",{className:(0,j.cn)("flex h-[38px] items-center px-2 pb-1.5",!h&&"pt-1.5"),children:(0,e.jsxs)("label",{className:"flex h-[30px] flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2",children:[(0,e.jsx)(t.Search,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,e.jsx)("input",{value:i,onChange:a=>k(a.target.value),placeholder:"Search...",className:"ml-1.5 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})}),(0,e.jsx)("div",{className:"flex-1 overflow-y-auto px-2 pb-2",children:0===v.length?(0,e.jsx)("p",{className:"px-2 py-2 text-[14px] text-[var(--vk-text-muted)]",children:"No sessions"}):(0,e.jsx)("div",{className:"space-y-2",children:v.map(a=>{let f=(0,r.getAttentionLevel)(a),g=function(a){for(let b of[a.metadata.lastStderr,a.metadata.summary,a.summary]){if(!b)continue;let a=b.match(/(\d+)\s+insertions?\(\+\),\s+(\d+)\s+deletions?\(-\)/i);if(!a)continue;let c=Number.parseInt(a[1]??"0",10),d=Number.parseInt(a[2]??"0",10);if(Number.isFinite(c)&&Number.isFinite(d))return{additions:c,deletions:d}}return null}(a),h=function(a,b){let c=`${a.summary??""} ${a.metadata.summary??""}`.toLowerCase();if("killed"===a.status||c.includes("interrupted"))return{label:"Interrupted",className:"text-[var(--vk-orange)]"};switch(b){case"merge":return{label:"Ready",className:"text-[var(--vk-green)]"};case"respond":return{label:"Needs input",className:"text-[var(--vk-red)]"};case"review":return{label:"Review",className:"text-[var(--vk-orange)]"};case"working":return{label:"Running",className:"text-[#4e87f3]"};case"done":return{label:"Done",className:"text-[var(--vk-text-muted)]"};default:return{label:"Queued",className:"text-[var(--vk-text-muted)]"}}}(a,f),i=a.metadata.agent?.trim()||null,k=a.id===b,m=l===a.id,o=n===a.id;return(0,e.jsxs)("div",{onClick:()=>c(a.id),onKeyDown:b=>{var d;return d=a.id,void(("Enter"===b.key||" "===b.key)&&(b.preventDefault(),c(d)))},role:"button",tabIndex:0,className:(0,j.cn)("group flex w-full items-start gap-3 rounded-[8px] border px-3 py-3 text-left transition-colors",k?"border-[rgba(234,122,42,0.28)] bg-[rgba(255,255,255,0.08)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)(y,{running:"working"===f}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsxs)("span",{className:"flex items-start gap-2",children:[(0,e.jsxs)("span",{className:"min-w-0 flex flex-1 items-center gap-2",children:[i?(0,e.jsx)("span",{className:"inline-flex h-5 w-5 shrink-0 items-center justify-center",title:i,"aria-label":`${i} agent`,children:(0,e.jsx)(u.AgentTileIcon,{seed:{label:i},className:"h-4 w-4"})}):null,(0,e.jsx)("span",{className:"min-w-0 truncate text-[14px] font-medium text-[var(--vk-text-strong)]",children:w(a)})]}),(0,e.jsx)("span",{className:"shrink-0 rounded-[8px] bg-[rgba(255,255,255,0.06)] px-2.5 py-1 text-[11px] font-medium",children:g?(0,e.jsxs)("span",{className:"flex items-center gap-2",children:[(0,e.jsxs)("span",{className:"text-[#18c58f]",children:["+",g.additions]}),(0,e.jsxs)("span",{className:"text-[#f26d6d]",children:["-",g.deletions]})]}):(0,e.jsx)("span",{className:h.className,children:h.label})})]}),(0,e.jsx)("span",{className:"mt-1 block truncate text-[12px] text-[var(--vk-text-muted)]",children:x(a)})]}),d?(0,e.jsx)("button",{type:"button",onClick:b=>void q(b,a.id),disabled:m,className:(0,j.cn)("mt-0.5 inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-[6px] border border-[var(--vk-border)] text-[var(--vk-text-muted)] transition","opacity-70 group-hover:opacity-100 focus-visible:opacity-100","hover:border-[var(--vk-border)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",m&&"cursor-wait opacity-100"),"aria-label":`Archive session ${a.id}`,title:o?"Archive failed":"Archive session",children:(0,e.jsx)(s,{className:(0,j.cn)("h-3.5 w-3.5",o&&"text-red-400")})}):null]},a.id)})})})]})}var A=a.i(70121),B=Symbol.for("react.lazy"),C=f[" use ".trim().toString()];function D(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===B&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var E=((d=f.forwardRef((a,b)=>{let{children:c,...d}=a;if(D(c)&&"function"==typeof C&&(c=C(c._payload)),f.isValidElement(c)){var e;let a,g,h=(e=c,(g=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(g=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==f.Fragment&&(i.ref=b?(0,A.composeRefs)(b,h):h),f.cloneElement(c,i)}return f.Children.count(c)>1?f.Children.only(null):null})).displayName="Slot.SlotClone",b=d,(c=f.forwardRef((a,c)=>{let{children:d,...g}=a;D(d)&&"function"==typeof C&&(d=C(d._payload));let h=f.Children.toArray(d),i=h.find(G);if(i){let a=i.props.children,d=h.map(b=>b!==i?b:f.Children.count(a)>1?f.Children.only(null):f.isValidElement(a)?a.props.children:null);return(0,e.jsx)(b,{...g,ref:c,children:f.isValidElement(a)?f.cloneElement(a,void 0,d):null})}return(0,e.jsx)(b,{...g,ref:c,children:d})})).displayName="Slot.Slot",c),F=Symbol("radix.slottable");function G(a){return f.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===F}let H={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},I={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},J=(0,f.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:d,children:f,...g},h)=>(0,e.jsx)(c?E:"button",{ref:h,className:(0,j.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",H[a],I[b],d),...g,children:f}));J.displayName="Button",a.s(["Button",0,J],71541);let K=(0,f.memo)(function({projects:a,selectedProjectId:b,onSelectProject:c,onUnlinkProject:d,sessions:g,selectedSessionId:h,onSelectSession:i,onArchiveSession:k,onCreateWorkspace:l}){let[m,n]=(0,f.useState)(null),[s,t]=(0,f.useState)(null),[u,v]=(0,f.useState)(null),w=(0,f.useMemo)(()=>{let a=new Map;for(let b of g){if("archived"===b.status)continue;let c=a.get(b.projectId)??{total:0,active:0};c.total+=1,"done"!==(0,r.getAttentionLevel)(b)&&(c.active+=1),a.set(b.projectId,c)}return a},[g]),x=(0,f.useMemo)(()=>a.find(a=>a.id===s)??null,[s,a]);async function y(){if(d&&s){n(s),v(null);try{await d(s),t(null)}catch(a){v(a instanceof Error?a.message:"Failed to unlink project.")}finally{n(null)}}}return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-col bg-[var(--vk-bg-panel)]",children:[(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] px-4 py-4",children:[(0,e.jsx)("div",{className:"flex justify-center text-center",children:(0,e.jsx)("p",{className:"text-[22px] font-bold leading-none uppercase tracking-[0.32em] text-[var(--vk-text-strong)]",children:"Conductor"})}),(0,e.jsxs)("button",{type:"button",onClick:l,className:"mt-3 inline-flex h-8 w-full items-center justify-center gap-1 rounded-[6px] border border-[var(--vk-border)] px-2 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Add workspace",children:[(0,e.jsx)(p.Plus,{className:"h-3.5 w-3.5"}),(0,e.jsx)("span",{children:"Add Workspace"})]})]}),(0,e.jsxs)("section",{className:"border-b border-[var(--vk-border)] pb-2 pt-1.5",children:[(0,e.jsx)("div",{className:"flex h-[28px] items-center px-3",children:(0,e.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Projects"})}),(0,e.jsxs)("div",{className:"max-h-[260px] overflow-y-auto px-2",children:[(0,e.jsxs)("button",{type:"button",onClick:()=>c(null),className:(0,j.cn)("mb-1.5 flex w-full items-center gap-3 rounded-[6px] px-3 py-2.5 text-left text-[14px] leading-[21px]",null===b?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsx)("span",{className:"h-2.5 w-2.5 rounded-full bg-[var(--vk-text-muted)]"}),(0,e.jsx)("span",{className:"truncate",children:"All projects"}),(0,e.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:a.length})]}),a.map(a=>{let f=b===a.id,g=w.get(a.id)??{total:0,active:0},h=m===a.id;return(0,e.jsxs)("div",{className:(0,j.cn)("group relative mb-1.5 flex items-center rounded-[6px]",f?"bg-[var(--vk-bg-hover)]":"hover:bg-[var(--vk-bg-hover)]"),children:[(0,e.jsxs)("button",{type:"button",onClick:()=>c(a.id),className:(0,j.cn)("flex min-w-0 flex-1 items-center gap-3 px-3 py-2.5 text-left text-[14px] leading-[21px]",f?"text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)]"),children:[(0,e.jsx)("span",{className:"mt-1 h-2.5 w-2.5 shrink-0 rounded-full bg-[#3c83f6]"}),(0,e.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,e.jsx)("span",{className:"block truncate",children:a.id}),a.description?(0,e.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:a.description}):null]}),(0,e.jsxs)("span",{className:"shrink-0 text-right",children:[(0,e.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-normal)]",children:[g.active," active"]}),(0,e.jsxs)("span",{className:"block text-[10px] text-[var(--vk-text-muted)]",children:[g.total," total"]})]})]}),d&&(0,e.jsx)("button",{type:"button",disabled:h,onClick:b=>{b.stopPropagation(),v(null),t(a.id)},className:"mr-2 hidden shrink-0 items-center justify-center rounded-[4px] p-1 text-[var(--vk-text-muted)] hover:bg-[var(--vk-red)]/10 hover:text-[var(--vk-red)] group-hover:inline-flex disabled:opacity-50","aria-label":`Unlink ${a.id}`,title:"Unlink project",children:(0,e.jsx)(q.X,{className:"h-3.5 w-3.5"})})]},a.id)})]})]}),(0,e.jsx)("section",{className:"flex min-h-0 flex-1 flex-col pt-1.5",children:(0,e.jsx)(z,{sessions:g,selectedId:h,onSelect:i,onArchive:k,onCreateWorkspace:l,showHeader:!1})})]}),x&&"u">typeof document?(0,o.createPortal)((0,e.jsx)("div",{className:"fixed inset-0 z-[80] flex items-center justify-center bg-black/60 px-4",onClick:()=>{m||(t(null),v(null))},children:(0,e.jsxs)("div",{className:"surface-card w-full max-w-md rounded-[var(--radius-lg)] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_90px_rgba(0,0,0,0.55)]",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"unlink-project-title",children:[(0,e.jsxs)("div",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)("h2",{id:"unlink-project-title",className:"text-[17px] font-medium text-[var(--vk-text-strong)]",children:"Unlink Project"}),(0,e.jsxs)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:["Remove ",(0,e.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:x.id})," from this workspace configuration."]})]}),(0,e.jsxs)("div",{className:"space-y-3 px-4 py-4",children:[(0,e.jsx)("p",{className:"text-[13px] leading-5 text-[var(--vk-text-normal)]",children:"This only removes the project from Conductor. Repository files on disk are not deleted."}),u?(0,e.jsx)("div",{className:"rounded-[var(--radius-md)] border border-[var(--vk-red)]/35 bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[12px] text-[var(--vk-red)]",children:u}):null]}),(0,e.jsxs)("div",{className:"flex items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,e.jsx)(J,{type:"button",variant:"ghost",onClick:()=>{t(null),v(null)},disabled:null!==m,children:"Cancel"}),(0,e.jsx)(J,{type:"button",variant:"danger",onClick:()=>void y(),disabled:null!==m,children:m===x.id?"Unlinking...":"Unlink Project"})]})]})}),document.body):null]})});a.s(["WorkspaceSidebarPanel",0,K],5913)},35757,a=>{"use strict";var b=a.i(72131);function c(a,b){return{id:a,repo:"string"==typeof b?.repo?b.repo:null,path:"string"==typeof b?.path?b.path:null,iconUrl:"string"==typeof b?.iconUrl?b.iconUrl:null,boardDir:"string"==typeof b?.boardDir?b.boardDir:null,boardFile:"string"==typeof b?.boardFile?b.boardFile:null,description:"string"==typeof b?.description?b.description:null,defaultBranch:"string"==typeof b?.defaultBranch&&b.defaultBranch.trim().length>0?b.defaultBranch:"main",agent:"string"==typeof b?.agent&&b.agent.trim().length>0?b.agent:"claude-code",agentPermissions:"string"==typeof b?.agentPermissions&&b.agentPermissions.trim().length>0?b.agentPermissions:null,agentModel:"string"==typeof b?.agentModel&&b.agentModel.trim().length>0?b.agentModel:null,agentReasoningEffort:"string"==typeof b?.agentReasoningEffort&&b.agentReasoningEffort.trim().length>0?b.agentReasoningEffort:null}}function d(){let[a,d]=(0,b.useState)([]),[e,f]=(0,b.useState)(!0),[g,h]=(0,b.useState)(null),i=(0,b.useRef)(!1),j=(0,b.useCallback)(async()=>{try{let a=await fetch("/api/config");if(!a.ok)throw Error(`Failed to fetch config: ${a.status}`);let b=await a.json();d(function(a){if(!a||"object"!=typeof a)return[];let b=a.projects;return b?Array.isArray(b)?b.map((a,b)=>a&&"object"==typeof a?c("string"==typeof a.id&&a.id.trim().length>0?a.id:`project-${b+1}`,a):c(`project-${b+1}`,null)):"object"==typeof b?Object.entries(b).map(([a,b])=>c(a,b&&"object"==typeof b?b:null)):[]:[]}(b)),h(null)}catch(a){d([]),h(a instanceof Error?a.message:"Failed to fetch config")}finally{f(!1)}},[]);return(0,b.useEffect)(()=>{i.current||(i.current=!0,j())},[j]),{projects:a,loading:e,error:g,refresh:j}}a.s(["useConfig",()=>d])},72865,a=>{"use strict";var b=a.i(72131),c=a.i(9341);function d(a){let[d,e]=(0,b.useState)([]),[f,g]=(0,b.useState)(!0),[h,i]=(0,b.useState)(null),j=(0,b.useRef)(!0),k=(0,b.useCallback)(a=>{e(b=>!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c+=1){let d=a[c],e=b[c];if(!d||!e||d.id!==e.id||d.status!==e.status||d.activity!==e.activity||d.projectId!==e.projectId||d.issueId!==e.issueId||d.branch!==e.branch||d.lastActivityAt!==e.lastActivityAt||d.summary!==e.summary)return!1;let f=d.metadata??{},g=e.metadata??{},h=Object.keys(f),i=Object.keys(g);if(h.length!==i.length)return!1;for(let a of h)if(f[a]!==g[a])return!1}return!0}(b,a)?a:b)},[]),l=(0,b.useCallback)(async()=>{try{let b="string"==typeof a&&a.trim().length>0?`?project=${encodeURIComponent(a.trim())}`:"",c=await fetch(`/api/sessions${b}`);if(!c.ok)throw Error(`Failed to fetch sessions: ${c.status}`);let d=await c.json(),e=Array.isArray(d)?d:Array.isArray(d.sessions)?d.sessions:[];if(!j.current)return;k(e),i(null)}catch(a){j.current&&i(a instanceof Error?a.message:"Unknown error")}finally{j.current&&g(!1)}},[k,a]);return(0,b.useEffect)(()=>{j.current=!0,g(!0),l();let b=null,d=()=>{null!==b&&(window.clearTimeout(b),b=null)},e=()=>{d(),b=window.setTimeout(async()=>{j.current&&(await l(),j.current&&e())},"visible"===document.visibilityState?15e3:45e3)};e();let f=(0,c.subscribeToSnapshotEvents)(b=>{var c;let d;j.current&&(k((c=b.sessions,(d=a?.trim())?c.filter(a=>a.projectId===d):c)),i(null),g(!1))}),h=()=>{l(),e()},m=()=>{"visible"===document.visibilityState?h():e()};return window.addEventListener("focus",h),document.addEventListener("visibilitychange",m),()=>{j.current=!1,f(),d(),window.removeEventListener("focus",h),document.removeEventListener("visibilitychange",m)}},[k,l,a]),{sessions:d,loading:f,error:h,refresh:l}}a.s(["useSessions",()=>d])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=packages_web_src_a078c137._.js.map
|