@jlongo78/agent-spaces 0.9.8 → 0.9.10
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/prerender-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +23 -0
- package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.html +1 -1
- package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/analytics.html +1 -1
- package/.next/standalone/.next/server/app/analytics.rsc +2 -2
- package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/claude/usage/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route.js +8 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/claude/usage/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js +8 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js +8 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/cortex.html +1 -1
- package/.next/standalone/.next/server/app/cortex.rsc +2 -2
- package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/projects.html +1 -1
- package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/sessions.html +1 -1
- package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/settings.html +1 -1
- package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/terminal.html +1 -1
- package/.next/standalone/.next/server/app/m/terminal.rsc +2 -2
- package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m.html +1 -1
- package/.next/standalone/.next/server/app/m.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.html +1 -1
- package/.next/standalone/.next/server/app/network.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.html +1 -1
- package/.next/standalone/.next/server/app/sessions.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.html +1 -1
- package/.next/standalone/.next/server/app/terminal.rsc +3 -3
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/vr.html +1 -1
- package/.next/standalone/.next/server/app/vr.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.html +1 -1
- package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__046c9b91._.js +16 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ac4ea3f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0facd39e._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10bc76a3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__115f3934._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +52 -24
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17a3b966._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__17d3a2b2._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1fe0f452._.js +127 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__20b5e9c4._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__28d6fbd8._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a3f866b._.js +16 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__316617e7._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__32ad8f71._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__35457394._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__35de78e6._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3685ffcb._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__38954988._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3a32b624._.js +111 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +17 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c6ce9ed._.js +16 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__65676930._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +16 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c64af29._.js +22 -9
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__73aed9f5._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__79b6a9bb._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7db704c6._.js +17 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c2e1260._.js +111 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d536cb5._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f2ccc41._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__95c9d682._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9edcff87._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a049dfc2._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a83262a1._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d7f822._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__bfcd7fd4._.js +13 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c011bf91._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c37d6380._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cae392eb._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc2616bb._.js +16 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d59c6c15._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5c1db32._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dba60c86._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__de14b9ae._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e10643d1._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3477417._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4db362e._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e4e70b86._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e54925af._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8cbeaca._.js +111 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8edc5b0._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eab4d83b._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f056fd83._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9cd277._.js +15 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +15 -2
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_claude_usage_route_actions_fe002ec1.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_workspaces_[id]_todos_route_actions_0d4ffac5.js +3 -0
- package/.next/standalone/.next/server/chunks/ce889_server_app_api_workspaces_[id]_todos_[todoId]_route_actions_754fe6b9.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_17b946fd._.js → _20c2cf3a._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_5f55bf8f._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_settings_page_tsx_f74824b3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +1 -1
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__ca3f649e._.js +2 -2
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/14216197f9dcbe5b.css +3 -0
- package/.next/standalone/.next/static/chunks/{0852575eb90c1e8d.js → 4c9fb0a38f041a3d.js} +2 -2
- package/.next/standalone/.next/static/chunks/8f6f93ab45a5ff5b.js +1 -0
- package/.next/standalone/.next/static/chunks/{e62bb488d02db247.js → d2566c2dcf53fef3.js} +1 -1
- package/.next/standalone/.next/static/chunks/{7f6a14f1849fa94d.js → ff7d85dade44d1f3.js} +1 -1
- package/.next/standalone/bin/cortex-hook.js +8 -3
- package/.next/standalone/bin/cortex-learn-hook.js +7 -2
- package/.next/standalone/bin/scrub-standalone.js +89 -0
- package/.next/standalone/bin/terminal-server.js +44 -16
- package/.next/standalone/docs/features/claude-usage.md +105 -0
- package/.next/standalone/docs/features/workspace-todos.md +127 -0
- package/.next/standalone/docs/superpowers/plans/2026-04-21-workspace-todos.md +1097 -0
- package/.next/standalone/docs/superpowers/plans/2026-04-22-claude-usage-display.md +749 -0
- package/.next/standalone/docs/superpowers/specs/2026-04-21-workspace-todos-design.md +180 -0
- package/.next/standalone/docs/superpowers/specs/2026-04-22-claude-usage-display-design.md +183 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +2 -2
- package/.next/standalone/src/app/(desktop)/settings/page.tsx +40 -1
- package/.next/standalone/src/app/(desktop)/terminal/page.tsx +54 -2
- package/.next/standalone/src/app/api/chat/route.ts +56 -53
- package/.next/standalone/src/app/api/claude/usage/route.ts +33 -0
- package/.next/standalone/src/app/api/config/route.ts +3 -0
- package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +2 -1
- package/.next/standalone/src/app/api/workspaces/[id]/todos/[todoId]/route.ts +55 -0
- package/.next/standalone/src/app/api/workspaces/[id]/todos/route.ts +43 -0
- package/.next/standalone/src/components/claude/claude-usage-strip.tsx +175 -0
- package/.next/standalone/src/components/workspace/workspace-todos.tsx +265 -0
- package/.next/standalone/src/hooks/use-claude-usage.ts +66 -0
- package/.next/standalone/src/lib/claude/credentials.ts +36 -0
- package/.next/standalone/src/lib/claude/usage.ts +69 -0
- package/.next/standalone/src/lib/config.ts +3 -0
- package/.next/standalone/src/lib/db/queries.ts +103 -1
- package/.next/standalone/src/lib/db/schema.ts +18 -0
- package/.next/standalone/src/lib/spawn-env.ts +32 -0
- package/.next/standalone/src/lib/terminal/server.ts +3 -3
- package/.next/standalone/src/middleware.ts +23 -5
- package/.next/standalone/src/types/claude.ts +39 -0
- package/.next/standalone/tests/db/workspace-todos.test.ts +156 -0
- package/bin/cortex-hook.js +8 -3
- package/bin/cortex-learn-hook.js +7 -2
- package/bin/scrub-standalone.js +89 -0
- package/bin/terminal-server.js +44 -16
- package/package.json +2 -2
- package/.next/standalone/.claude/settings.local.json +0 -68
- package/.next/standalone/.claude/spaces-env.json +0 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e2a996e5._.js +0 -114
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +0 -13
- package/.next/standalone/.next/server/chunks/ssr/_3ba93bdd._.js +0 -3
- package/.next/standalone/.next/static/chunks/074df89a63b6a854.js +0 -1
- package/.next/standalone/.next/static/chunks/2b769d1597e4fc1c.css +0 -3
- package/.next/standalone/.spaces/cortex-context.md +0 -51
- package/.next/standalone/cortex-hook-debug.log +0 -57
- package/.next/standalone/docs/plans/2026-03-02-security-audit.md +0 -229
- /package/.next/standalone/.next/static/{u1pHON3drz1mBi7owkbBP → HNrWymrkgOP9Z4WIaYeOj}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{u1pHON3drz1mBi7owkbBP → HNrWymrkgOP9Z4WIaYeOj}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{u1pHON3drz1mBi7owkbBP → HNrWymrkgOP9Z4WIaYeOj}/_ssgManifest.js +0 -0
package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js
CHANGED
|
@@ -82,6 +82,6 @@ module.exports=[266490,a=>{"use strict";let b,c,d;var e,f,g,h,i,j,k,l,m,n,o,p,q,
|
|
|
82
82
|
if (e.data?.type === 'file-update') renderFile(e.data.file);
|
|
83
83
|
if (e.data?.type === 'close-popup') { savePos(); window.close(); }
|
|
84
84
|
};
|
|
85
|
-
</script></body></html>`),g.document.close(),setTimeout(()=>{v.current?.postMessage({type:"file-update",file:a})},100),w.current&&clearInterval(w.current),w.current=setInterval(()=>{u.current?.closed&&(dp({wasPoppedOut:!1}),z.current&&t(!1),u.current=null,w.current&&(clearInterval(w.current),w.current=null))},500)}},E=(0,y.useRef)(null),[F,G]=(0,y.useState)(!1),[H,I]=(0,y.useState)(!1),J=async a=>{if(g&&0!==a.length){G(!0);try{let b=new FormData;for(let c of(b.append("dir",g),Array.from(a)))b.append("files",c);await fetch((0,cT.api)("/api/files"),{method:"POST",body:b});let c=await B(g);j(c.items)}catch{}finally{G(!1)}}},K=e?g.replace(e,"").replace(/^[/\\]/,""):"",L=K?K.split(/[/\\]/):[],M=o&&!s,O=k&&g!==e;return e?(0,x.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,x.jsx)("button",{onClick:a,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}),c.length>1&&(0,x.jsx)("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-zinc-800/30 flex-shrink-0 overflow-x-auto",children:c.map(a=>{let b=a.split(/[/\\]/).pop()||a,c=a===e;return(0,x.jsx)("button",{onClick:()=>{f(a),h(a),n(new Set),p(null)},className:`px-2 py-0.5 text-[10px] rounded transition-colors flex-shrink-0 ${c?"bg-amber-500/15 text-amber-400 border border-amber-500/30":"text-zinc-500 hover:text-zinc-300 border border-transparent"}`,title:a,children:b},a)})}),(0,x.jsxs)("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-zinc-800/30 overflow-x-auto text-[10px] flex-shrink-0",children:[O&&(0,x.jsx)("button",{onClick:()=>{k&&g!==e&&h(k)},className:"text-zinc-500 hover:text-zinc-300 flex-shrink-0",children:(0,x.jsx)(dh,{className:"w-3 h-3"})}),(0,x.jsx)("input",{ref:E,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&J(a.target.files),a.target.value=""}}),(0,x.jsx)("button",{onClick:()=>E.current?.click(),className:"text-zinc-600 hover:text-zinc-300 flex-shrink-0 ml-auto",title:"Upload files to current directory",children:(0,x.jsx)(dk.Upload,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>h(e),className:"text-zinc-500 hover:text-zinc-300 truncate flex-shrink-0",children:e.split(/[/\\]/).pop()}),L.map((a,b)=>(0,x.jsxs)("span",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-zinc-700",children:"/"}),(0,x.jsx)("button",{onClick:()=>{h(e+"/"+L.slice(0,b+1).join("/"))},className:"text-zinc-500 hover:text-zinc-300",children:a})]},b))]}),s&&o&&(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800/30 bg-zinc-900/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Viewing:"}),(0,x.jsx)("span",{className:"text-[10px] text-zinc-400 font-mono truncate flex-1",children:o.name}),(0,x.jsx)("button",{onClick:()=>{dp({wasPoppedOut:!1}),u.current&&!u.current.closed&&u.current.close(),u.current=null,t(!1),w.current&&(clearInterval(w.current),w.current=null)},className:"text-zinc-500 hover:text-zinc-300 transition-colors",title:"Pop back into panel",children:(0,x.jsx)(R,{className:"w-3 h-3"})})]}),(0,x.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,x.jsx)("div",{className:`overflow-y-auto ${M?"max-h-[40%] border-b border-zinc-800/30":"flex-1"} ${H?"ring-2 ring-inset ring-amber-500/50 bg-amber-500/5":""}`,onDragOver:a=>{a.preventDefault(),I(!0)},onDragLeave:()=>I(!1),onDrop:a=>{a.preventDefault(),I(!1),a.dataTransfer.files.length>0&&J(a.dataTransfer.files)},children:F?(0,x.jsx)("div",{className:"p-3 text-xs text-amber-400",children:"Uploading..."}):q?(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Loading..."}):0===i.length?(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Empty directory"}):(0,x.jsx)("div",{className:"py-1",children:i.map(a=>(0,x.jsx)(dv,{item:a,depth:0,expanded:m.has(a.path),expandedDirs:m,onClick:C,loadDir:B,activeFile:o?.path},a.path))})}),M&&(0,x.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-zinc-800/30 flex-shrink-0",children:[(0,x.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,x.jsx)("span",{className:`text-xs font-mono truncate ${dq(o.ext)}`,children:o.name}),(0,x.jsx)("span",{className:"text-[9px] text-zinc-600",children:o.lines?`${o.lines} lines`:ds(o.size)}),o.truncated&&(0,x.jsx)("span",{className:"text-[9px] text-amber-500",children:"(truncated)"})]}),(0,x.jsxs)("div",{className:"flex items-center gap-1",children:[(0,x.jsx)("button",{onClick:()=>{var a,b;let c;return o&&(a=o.path,b=o.name,void((c=document.createElement("a")).href=(0,cT.api)(`/api/files?raw=${encodeURIComponent(a)}`),c.download=b,c.click()))},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Download file",children:(0,x.jsx)(dj,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>{o&&D(o)},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Open in new window",children:(0,x.jsx)(di.ExternalLink,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>p(null),className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3 h-3"})})]})]}),(0,x.jsx)("div",{className:"flex-1 overflow-auto",children:(0,x.jsx)(du,{file:o})})]})]})]}):(0,x.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,x.jsx)("button",{onClick:a,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}),(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-500",children:0===c.length?"No development directories configured. Add them in Settings.":"Loading..."})]})}function du({file:a}){return a.error?(0,x.jsx)("div",{className:"p-3 text-xs text-red-400",children:a.error}):a.image&&a.rawUrl?(0,x.jsx)("div",{className:"flex items-center justify-center p-4 min-h-[200px]",children:(0,x.jsx)("img",{src:(0,cT.api)(a.rawUrl),alt:a.name,className:"max-w-full max-h-[60vh] object-contain rounded"})}):a.image&&a.tooLarge?(0,x.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Image too large (",ds(a.size),")"]}):a.pdf&&a.rawUrl?(0,x.jsx)("iframe",{src:(0,cT.api)(a.rawUrl),className:"w-full h-full border-none",title:a.name}):a.binary?(0,x.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Binary file (",a.ext,", ",ds(a.size),")"]}):void 0!==a.content?(0,x.jsx)("pre",{className:"text-[11px] leading-4 font-mono p-0 m-0",children:(0,x.jsx)("table",{className:"border-collapse w-full",children:(0,x.jsx)("tbody",{children:a.content.split("\n").map((b,c)=>(0,x.jsxs)("tr",{className:"hover:bg-zinc-800/30",children:[(0,x.jsx)("td",{className:"text-right pr-3 pl-3 text-zinc-700 select-none w-[1%] whitespace-nowrap",children:c+1}),(0,x.jsx)("td",{className:`pr-3 whitespace-pre ${dq(a.ext)}`,children:b||" "})]},c))})})}):null}function dv({item:a,depth:b,expanded:c,expandedDirs:d,onClick:e,loadDir:f,activeFile:g}){let[h,i]=(0,y.useState)(null);(0,y.useEffect)(()=>{c&&a.isDir&&!h&&f(a.path).then(a=>i(a.items))},[c,a.isDir,a.path,h,f]);let j=g===a.path;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("button",{onClick:()=>e(a),className:`flex items-center gap-1.5 w-full text-left px-2 py-[3px] text-[11px] transition-colors ${j?"bg-indigo-500/10 text-indigo-300":"text-zinc-400 hover:bg-zinc-800/50 hover:text-zinc-200"}`,style:{paddingLeft:`${8+14*b}px`},children:[a.isDir?c?(0,x.jsx)(G.ChevronDown,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,x.jsx)(H.ChevronRight,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,x.jsx)("span",{className:"w-3 flex-shrink-0"}),(0,x.jsx)(dr,{item:a}),(0,x.jsx)("span",{className:"truncate",children:a.name})]}),c&&a.isDir&&h&&h.map(a=>(0,x.jsx)(dv,{item:a,depth:b+1,expanded:d.has(a.path),expandedDirs:d,onClick:e,loadDir:f,activeFile:g},a.path))]})}function dw({messages:a,onSend:b,loading:c}){let[d,e]=(0,y.useState)(""),f=(0,y.useRef)(null);(0,y.useEffect)(()=>{f.current&&(f.current.scrollTop=f.current.scrollHeight)},[a,c]);let g=()=>{let a=d.trim();a&&!c&&(e(""),b(a))};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("div",{ref:f,className:"flex-1 overflow-y-auto px-6 py-4 space-y-4",children:[0===a.length&&!c&&(0,x.jsxs)("div",{className:"text-center py-12",children:[(0,x.jsx)("p",{className:"text-zinc-400 text-sm mb-1",children:"Describe the project you want to build."}),(0,x.jsx)("p",{className:"text-zinc-600 text-xs",children:"I'll help you plan the workspace, agents, and initial tasks."})]}),a.map((a,b)=>(0,x.jsx)("div",{className:`flex ${"user"===a.role?"justify-end":"justify-start"}`,children:(0,x.jsx)("div",{className:`max-w-[80%] rounded-lg px-3 py-2 text-sm ${"user"===a.role?"bg-indigo-600 text-white":"bg-zinc-800 text-zinc-200"}`,children:(0,x.jsx)("p",{className:"whitespace-pre-wrap",children:a.content})})},b)),c&&(0,x.jsx)("div",{className:"flex justify-start",children:(0,x.jsx)("div",{className:"bg-zinc-800 rounded-lg px-4 py-3",children:(0,x.jsxs)("div",{className:"flex gap-1",children:[(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})})})]}),(0,x.jsx)("div",{className:"px-6 py-3 border-t border-zinc-800 flex-shrink-0",children:(0,x.jsxs)("div",{className:"flex gap-2",children:[(0,x.jsx)("textarea",{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),g())},placeholder:"Describe your project...",rows:2,className:"flex-1 bg-zinc-900 border border-zinc-700 rounded-lg px-3 py-2 text-sm text-zinc-200 placeholder:text-zinc-600 focus:outline-none focus:border-zinc-500 resize-none"}),(0,x.jsx)("button",{onClick:g,disabled:!d.trim()||c,className:"px-4 bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg flex items-center gap-1.5 text-sm self-end",children:(0,x.jsx)(c_.Send,{className:"w-3.5 h-3.5"})})]})})]})}let dx=(0,I.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),dy={claude:"#6366f1",codex:"#22c55e",gemini:"#3b82f6",aider:"#f59e0b",shell:"#78716c",custom:"#a855f7"};function dz({plan:a,onReview:b}){return a?(0,x.jsxs)("div",{className:"flex flex-col h-full",children:[(0,x.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:"Workspace"}),(0,x.jsxs)("div",{className:"bg-zinc-800/50 rounded-lg p-3 border border-zinc-700/50",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,x.jsx)("span",{className:"w-3 h-3 rounded-full",style:{backgroundColor:a.workspace.color}}),(0,x.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:a.workspace.name})]}),a.workspace.description&&(0,x.jsx)("p",{className:"text-xs text-zinc-400 mt-1",children:a.workspace.description})]})]}),a.panes.length>0&&(0,x.jsxs)("div",{children:[(0,x.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:["Panes (",a.panes.length,")"]}),(0,x.jsx)("div",{className:"space-y-2",children:a.panes.map((a,b)=>(0,x.jsxs)("div",{className:"bg-zinc-800/50 rounded-lg p-3 border border-zinc-700/50",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,x.jsx)(B.Terminal,{className:"w-3 h-3 text-zinc-500"}),(0,x.jsx)("span",{className:"text-xs font-medium text-zinc-200",children:a.title}),(0,x.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium",style:{backgroundColor:`${dy[a.agentType]||"#6366f1"}20`,color:dy[a.agentType]||"#6366f1"},children:a.agentType})]}),a.description&&(0,x.jsx)("p",{className:"text-[11px] text-zinc-500 mt-1",children:a.description}),a.cwd&&(0,x.jsx)("p",{className:"text-[10px] text-zinc-600 font-mono mt-1",children:a.cwd})]},b))})]}),a.summary&&(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:"Summary"}),(0,x.jsx)("p",{className:"text-xs text-zinc-400",children:a.summary})]})]}),(0,x.jsx)("div",{className:"px-5 py-3 border-t border-zinc-800 flex-shrink-0",children:(0,x.jsx)("button",{onClick:b,disabled:!a.panes.length,className:"w-full py-2 text-sm font-medium bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:"Review Plan"})})]}):(0,x.jsxs)("div",{className:"flex flex-col items-center justify-center h-full px-6 text-center",children:[(0,x.jsx)(dx,{className:"w-8 h-8 text-zinc-700 mb-3"}),(0,x.jsx)("p",{className:"text-zinc-500 text-sm",children:"Your project plan will appear here as you chat."})]})}var dA=a.i(400210);let dB=(0,I.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),dC=[{value:"claude",label:"Claude Code"},{value:"codex",label:"Codex"},{value:"gemini",label:"Gemini"},{value:"aider",label:"Aider"},{value:"forge",label:"Forge"},{value:"shell",label:"Shell"},{value:"custom",label:"Custom"}],dD=["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c"];function dE({plan:a,onUpdate:b,onBack:c,onLaunch:d}){let[e,f]=(0,y.useState)([]);(0,y.useEffect)(()=>{fetch((0,cT.api)("/api/config")).then(a=>a.json()).then(a=>{a.customModels&&f(a.customModels)}).catch(()=>{})},[]);let g=(c,d)=>{b({...a,workspace:{...a.workspace,[c]:d}})},h=(c,d,e)=>{let f=[...a.panes];f[c]={...f[c],[d]:e},b({...a,panes:f})},i=a.workspace.name.trim()&&a.panes.length>0&&a.panes.every(a=>a.cwd.trim());return(0,x.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-6 space-y-6",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between",children:[(0,x.jsxs)("button",{onClick:c,className:"flex items-center gap-1.5 text-xs text-zinc-400 hover:text-white",children:[(0,x.jsx)(dA.ArrowLeft,{className:"w-3.5 h-3.5"}),"Back to Chat"]}),(0,x.jsxs)("button",{onClick:d,disabled:!i,className:"flex items-center gap-1.5 px-4 py-2 text-sm font-medium bg-green-600 hover:bg-green-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:[(0,x.jsx)(dB,{className:"w-3.5 h-3.5"}),"Launch Space"]})]}),(0,x.jsxs)("div",{className:"bg-zinc-900 rounded-lg border border-zinc-700 p-4 space-y-3",children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:"Workspace"}),(0,x.jsxs)("div",{className:"flex gap-3",children:[(0,x.jsxs)("div",{className:"flex-1",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Name"}),(0,x.jsx)("input",{value:a.workspace.name,onChange:a=>g("name",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-3 py-1.5 text-sm text-zinc-200 focus:outline-none focus:border-zinc-500"})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Color"}),(0,x.jsx)("div",{className:"flex gap-1 flex-wrap",style:{width:128},children:dD.map(b=>(0,x.jsx)("button",{onClick:()=>g("color",b),className:`w-5 h-5 rounded-full ${a.workspace.color===b?"ring-2 ring-white ring-offset-1 ring-offset-zinc-900":"hover:ring-1 hover:ring-zinc-500"}`,style:{backgroundColor:b}},b))})]})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Description"}),(0,x.jsx)("textarea",{value:a.workspace.description,onChange:a=>g("description",a.target.value),rows:2,className:"w-full bg-zinc-800 border border-zinc-700 rounded px-3 py-1.5 text-sm text-zinc-200 focus:outline-none focus:border-zinc-500 resize-none"})]})]}),(0,x.jsxs)("div",{className:"space-y-3",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between",children:[(0,x.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:["Panes (",a.panes.length,")"]}),(0,x.jsxs)("button",{onClick:()=>{b({...a,panes:[...a.panes,{title:"New Pane",agentType:"claude",cwd:"~",description:""}]})},className:"flex items-center gap-1 text-xs text-zinc-400 hover:text-white",children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3"})," Add Pane"]})]}),a.panes.map((c,d)=>(0,x.jsx)("div",{className:"bg-zinc-900 rounded-lg border border-zinc-700 p-4 space-y-2.5",children:(0,x.jsxs)("div",{className:"flex items-start gap-3",children:[(0,x.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,x.jsxs)("div",{className:"flex gap-3",children:[(0,x.jsxs)("div",{className:"flex-1",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Title"}),(0,x.jsx)("input",{value:c.title,onChange:a=>h(d,"title",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 focus:outline-none focus:border-zinc-500"})]}),(0,x.jsxs)("div",{className:"w-32",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Agent"}),(0,x.jsx)("select",{value:c.agentType,onChange:a=>h(d,"agentType",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200",children:dC.map(a=>(0,x.jsx)("option",{value:a.value,children:a.label},a.value))})]}),"forge"===c.agentType&&e.length>0&&(0,x.jsxs)("div",{className:"w-40",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Custom Model"}),(0,x.jsxs)("select",{value:c.customModelId||"",onChange:a=>h(d,"customModelId",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200",children:[(0,x.jsx)("option",{value:"",children:"Default"}),e.map(a=>(0,x.jsx)("option",{value:a.id,children:a.name},a.id))]})]})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Working Directory"}),(0,x.jsx)("input",{value:c.cwd,onChange:a=>h(d,"cwd",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs font-mono text-zinc-200 focus:outline-none focus:border-zinc-500",placeholder:"/path/to/project"})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Initial Prompt (optional)"}),(0,x.jsx)("textarea",{value:c.initialPrompt||"",onChange:a=>h(d,"initialPrompt",a.target.value),rows:2,className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 focus:outline-none focus:border-zinc-500 resize-none",placeholder:"What should this agent start working on?"})]})]}),(0,x.jsx)("button",{onClick:()=>{b({...a,panes:a.panes.filter((a,b)=>b!==d)})},className:"text-zinc-600 hover:text-red-400 mt-4",title:"Remove pane",children:(0,x.jsx)(K.Trash2,{className:"w-3.5 h-3.5"})})]})},d))]}),(0,x.jsx)("div",{className:"flex justify-end pt-2",children:(0,x.jsxs)("button",{onClick:d,disabled:!i,className:"flex items-center gap-1.5 px-6 py-2.5 text-sm font-medium bg-green-600 hover:bg-green-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:[(0,x.jsx)(dB,{className:"w-4 h-4"}),"Launch Space"]})})]})}function dF({isOpen:a,onClose:b,onLaunch:c}){let[d,e]=(0,y.useState)([]),[f,g]=(0,y.useState)(null),[h,i]=(0,y.useState)(!1),[j,k]=(0,y.useState)("chat"),[l,m]=(0,y.useState)(null),n=(0,y.useCallback)(async a=>{let b=[...d,{role:"user",content:a}];e(b),i(!0),m(null);try{let a=await fetch((0,cT.api)("/api/wizard/chat"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:b,currentPlan:f})}),c=await a.json();if(!a.ok)throw Error(c.error);e([...b,{role:"assistant",content:c.reply}]),c.plan&&g(c.plan)}catch(a){m(a.message)}i(!1)},[d,f]),o=(0,y.useCallback)(async()=>{if(f)try{let a=await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.workspace.name,description:f.workspace.description,color:f.workspace.color})}),d=(await a.json()).id;for(let a of f.panes)await fetch((0,cT.api)("/api/panes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a.title,agentType:a.agentType,cwd:a.cwd,customCommand:a.customCommand,workspaceId:d,customModelId:a.customModelId})});c(d),b()}catch(a){m(a.message)}},[f,c,b]);return a?(0,x.jsxs)("div",{className:"fixed inset-0 z-50 bg-zinc-950/95 flex flex-col",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-6 py-3 border-b border-zinc-800 flex-shrink-0",children:[(0,x.jsx)("h2",{className:"text-sm font-semibold text-zinc-100",children:"Plan a Project"}),(0,x.jsx)("button",{onClick:b,className:"text-zinc-500 hover:text-white",children:(0,x.jsx)(N.X,{className:"w-4 h-4"})})]}),l&&(0,x.jsx)("div",{className:"px-6 py-2 bg-red-500/10 border-b border-red-500/20 text-xs text-red-400",children:l}),(0,x.jsx)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:"chat"===j?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("div",{className:"flex-1 flex flex-col border-r border-zinc-800 min-w-0",children:(0,x.jsx)(dw,{messages:d,onSend:n,loading:h})}),(0,x.jsx)("div",{className:"w-[380px] flex-shrink-0 overflow-y-auto",children:(0,x.jsx)(dz,{plan:f,onReview:()=>k("review")})})]}):(0,x.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,x.jsx)(dE,{plan:f,onUpdate:g,onBack:()=>k("chat"),onLaunch:o})})})]}):null}function dG({panes:a,renderPane:b}){if(0===a.length)return null;if(1===a.length)return(0,x.jsx)("div",{className:"flex-1 p-1 overflow-hidden",children:(0,x.jsx)(dH,{id:a[0].id,children:c=>b(a[0],c)})});let c=a.length<=4?2:3,d=[];for(let b=0;b<a.length;b+=c)d.push(a.slice(b,b+c));return(0,x.jsx)(cJ,{orientation:"vertical",className:"flex-1 p-1",children:d.map((a,c)=>(0,x.jsxs)(y.default.Fragment,{children:[c>0&&(0,x.jsx)(cN,{className:"h-1.5 flex items-center justify-center group cursor-row-resize",children:(0,x.jsx)("div",{className:"w-8 h-0.5 rounded-full bg-zinc-700 group-hover:bg-zinc-500 group-active:bg-indigo-500 transition-colors"})}),(0,x.jsx)(cL,{minSize:15,children:1===a.length?(0,x.jsx)("div",{className:"h-full p-0.5",children:(0,x.jsx)(dH,{id:a[0].id,children:c=>b(a[0],c)})}):(0,x.jsx)(cJ,{orientation:"horizontal",className:"h-full",children:a.map((a,c)=>(0,x.jsxs)(y.default.Fragment,{children:[c>0&&(0,x.jsx)(cN,{className:"w-1.5 flex items-center justify-center group cursor-col-resize",children:(0,x.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-700 group-hover:bg-zinc-500 group-active:bg-indigo-500 transition-colors"})}),(0,x.jsx)(cL,{minSize:15,children:(0,x.jsx)("div",{className:"h-full p-0.5",children:(0,x.jsx)(dH,{id:a.id,children:c=>b(a,c)})})})]},a.id))})})]},`row-${c}`))})}function dH({id:a,children:b}){let{attributes:c,listeners:d,setNodeRef:e,transform:f,transition:g,isDragging:h}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bK,attributes:g,disabled:h,data:i,getNewIndex:j=bJ,id:k,strategy:l,resizeObserverConfig:m,transition:o=bL}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:x}=(0,y.useContext)(bH),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,y.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,y.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:G}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=an("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,y.useContext)(bp),k=(0,y.useRef)({disabled:c}),l=(0,y.useRef)(!1),m=(0,y.useRef)(null),o=(0,y.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...by,...e},s=ai(null!=q?q:d),t=bc({callback:(0,y.useCallback)(()=>{if(!l.current){l.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=ak((0,y.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),l.current=!1),a&&t.observe(a))},[t])),w=ai(b);return(0,y.useEffect)(()=>{t&&u.current&&(t.disconnect(),l.current=!1,t.observe(u.current))},[u,t]),(0,y.useEffect)(()=>(h({type:n.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:m,data:w}}),()=>h({type:n.UnregisterDroppable,key:f,id:d})),[d]),(0,y.useEffect)(()=>{c!==k.current.disabled&&(h({type:n.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:m,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...m}}),{active:H,activatorEvent:I,activeNodeRect:J,attributes:K,setNodeRef:L,listeners:M,isDragging:N,over:O,setActivatorNodeRef:P,transform:Q}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=an("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,y.useContext)(bp),{role:n=bx,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,y.useContext)(q?bu:bw),[s,t]=ak(),[u,v]=ak(),w=(0,y.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),x=ai(c);return ag(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:x}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,y.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bx||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bO,...g},disabled:z.draggable}),R=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,y.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(G,L),S=!!H,T=S&&!t&&bC(r)&&bC(v),U=!w&&N,V=U&&T?Q:null,W=T?null!=V?V:(null!=l?l:x)({rects:u,activeNodeRect:J,activeIndex:r,overIndex:v,index:A}):null,X=bC(r)&&bC(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,Y=null==H?void 0:H.id,Z=(0,y.useRef)({activeId:Y,items:p,newIndex:X,containerId:q}),$=p!==Z.current.items,_=f({active:H,containerId:q,isDragging:N,isSorting:S,id:k,index:A,items:p,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:o,wasDragging:null!=Z.current.activeId}),aa=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,y.useState)(null),h=(0,y.useRef)(c);return ag(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aN(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,y.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!_,index:A,node:E,rect:D});return(0,y.useEffect)(()=>{S&&Z.current.newIndex!==X&&(Z.current.newIndex=X),q!==Z.current.containerId&&(Z.current.containerId=q),p!==Z.current.items&&(Z.current.items=p)},[S,X,q,p]),(0,y.useEffect)(()=>{if(Y===Z.current.activeId)return;if(null!=Y&&null==Z.current.activeId){Z.current.activeId=Y;return}let a=setTimeout(()=>{Z.current.activeId=Y},50);return()=>clearTimeout(a)},[Y]),{active:H,activeIndex:r,attributes:K,data:B,rect:D,index:A,newIndex:X,items:p,isOver:F,isSorting:S,isDragging:N,listeners:M,node:E,overIndex:v,over:O,setNodeRef:R,setActivatorNodeRef:P,setDroppableNodeRef:G,setDraggableNodeRef:L,transform:null!=aa?aa:W,transition:aa||$&&Z.current.newIndex===A?bN:(!U||ar(I))&&o&&(S||_)?at.Transition.toString({...o,property:bM}):void 0}}({id:a}),i={transform:at.Transform.toString(f),transition:g,opacity:h?.5:1,zIndex:h?50:"auto"};return(0,x.jsx)("div",{ref:e,style:i,className:"h-full",children:b({...c,...d})})}function dI(){return(0,x.jsx)(cY.TotpGate,{children:a=>(0,x.jsx)(dJ,{terminalToken:a})})}function dJ({terminalToken:a}){let b=(0,Y.useRouter)(),{basePath:c,hasNetwork:d,hasCollaboration:e,hasCortex:f}=(0,cW.useTier)(),[g,h]=(0,y.useState)([]),[i,j]=(0,y.useState)(!0),[k,l]=(0,y.useState)(!0),[m,n]=(0,y.useState)(!1),[o,p]=(0,y.useState)(null),[q,r]=(0,y.useState)(new Set),[s,t]=(0,y.useState)(new Set),[u,v]=(0,y.useState)(!1),[w,I]=(0,y.useState)(!0);!function(){let a=(0,c3.useQueryClient)(),{hasCollaboration:b}=(0,cW.useTier)();(0,y.useEffect)(()=>{if(!b)return;let c=new EventSource((0,cT.api)("/api/events")),d=()=>{a.invalidateQueries({queryKey:["workspace-messages"]})},e=()=>{a.invalidateQueries({queryKey:["workspace-context"]})};return c.addEventListener("workspace:message",d),c.addEventListener("workspace:request",d),c.addEventListener("workspace:context_updated",e),()=>{c.removeEventListener("workspace:message",d),c.removeEventListener("workspace:request",d),c.removeEventListener("workspace:context_updated",e),c.close()}},[a,b])}();let[$,_]=(0,y.useState)([]),[aa,ab]=(0,y.useState)(null),[ac,ad]=(0,y.useState)(!1),[ae,af]=(0,y.useState)(!1),[ag,ah]=(0,y.useState)(!1),[ai,aj]=(0,y.useState)(""),[ak,al]=(0,y.useState)("#6366f1"),[am,an]=(0,y.useState)(null),[ao,ap]=(0,y.useState)(""),[aq,ar]=(0,y.useState)(null),[as,at]=(0,y.useState)(!1),[au,av]=(0,y.useState)(null),aw=(0,y.useCallback)(a=>{av(a),at(!0)},[]),[ax,ay]=(0,y.useState)(""),[az,aA]=(0,y.useState)(""),[aB,aC]=(0,y.useState)("#6366f1"),[aE,aF]=(0,y.useState)(""),[aG,aH]=(0,y.useState)("claude"),[aJ,aK]=(0,y.useState)("new"),[aL,aM]=(0,y.useState)(""),[aN,aO]=(0,y.useState)(""),aP=(0,c$.useRemoteWorkspaces)(),[aQ,aR]=(0,y.useState)(new Set),aS=(0,y.useCallback)(a=>{aR(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),[aT,aU]=(0,y.useState)(""),[aV,aW]=(0,y.useState)([]),[aX,aY]=(0,y.useState)(!1),[aZ,a$]=(0,y.useState)(!1),[a_,a0]=(0,y.useState)(null),[a1,a2]=(0,y.useState)(!0),a4=(0,y.useRef)(null),a5=(0,y.useRef)(null),a6=(0,y.useRef)(null),a7=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/workspaces")),b=await a.json();_(b);let c=b.find(a=>a.isActive);return ab(c||null),l(!1),c||null},[]),a9=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/panes")),b=await a.json();h(b);let c=new Set;for(let a of b)a.isPopout&&c.add(a.id);t(c),j(!1)},[]);(0,y.useEffect)(()=>{a7()},[a7]),(0,y.useEffect)(()=>{u&&a9()},[u,a9]),(0,y.useEffect)(()=>{let a=new BroadcastChannel("spaces-panes");return a6.current=a,a.onmessage=a=>{let b=a.data;"popout-opened"===b.type?t(a=>new Set(a).add(b.paneId)):"popout-closed"===b.type?(t(a=>{let c=new Set(a);return c.delete(b.paneId),c}),h(a=>a.map(a=>a.id===b.paneId?{...a,isPopout:!1}:a))):"pane-updated"===b.type&&h(a=>a.map(a=>a.id===b.paneId?{...a,...b.data}:a))},()=>a.close()},[a9]);let[ba,bb]=(0,y.useState)(0);(0,y.useEffect)(()=>{if(!i)for(let a of g)a.isPopout&&bk(a)},[i,ba]),(0,y.useEffect)(()=>{if(!(cZ.AGENT_TYPES[aG]?.supportsResume&&"resume"===aJ))return;aY(!0);let a=setTimeout(()=>{let a=new URLSearchParams({sortBy:"modified",sortDir:"DESC",limit:"200"});aT&&a.set("search",aT),a1&&az&&a.set("projectPath",az),a.set("agentType",aG),fetch((0,cT.api)(`/api/sessions?${a}`)).then(a=>a.json()).then(a=>{aW(a.sessions||[]),aY(!1)}).catch(()=>aY(!1))},300*!!aT);return()=>clearTimeout(a)},[aG,aJ,aT,a1,az]),(0,y.useEffect)(()=>{function a(a){a4.current&&!a4.current.contains(a.target)&&a$(!1),a5.current&&!a5.current.contains(a.target)&&ad(!1)}return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]);let bc=(0,y.useCallback)(async()=>{let a,b=cZ.AGENT_TYPES[aG],c=az||a_?.projectPath||"/";"shell"!==aG&&(a="resume"===aJ&&b?.supportsResume?a_?.sessionId||aE:"new");let d=ax||(a_?a_.customName||a_.firstPrompt?.slice(0,50)||b?.name||"Agent":"")||("shell"===aG?"Terminal":b?.name||"Agent"),e=aa?.collaboration&&"shell"!==aG,f=await fetch((0,cT.api)("/api/panes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:d,color:aB,cwd:c,claudeSessionId:a,agentType:aG,customCommand:"custom"===aG?aL:void 0,nodeId:aN||void 0,isCollaborating:e||void 0})}),g=await f.json();h(a=>[...a,g]),(0,c7.track)("pane_created",{agentType:aG}),n(!1),ay(""),aA(""),aC("#6366f1"),aF(""),aH("shell"),aK("new"),aM(""),aO(""),a0(null),aU("")},[ax,az,aB,aE,aG,aJ,aL,aN,a_]),bd=(0,y.useCallback)(async a=>{let b=g.find(b=>b.id===a);await fetch((0,cT.api)(`/api/panes/${a}`),{method:"DELETE"}),h(b=>b.filter(b=>b.id!==a)),b&&(0,c7.track)("pane_closed",{agentType:b.agentType}),o===a&&p(null),t(b=>{let c=new Set(b);return c.delete(a),c})},[o,g]),be=(0,y.useCallback)(async(a,b)=>{await fetch((0,cT.api)(`/api/panes/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),h(c=>c.map(c=>c.id===a?{...c,...b}:c))},[]),bf=(0,y.useCallback)(a=>{p(b=>b===a?null:a)},[]),bg=(0,y.useCallback)(a=>{r(b=>new Set(b).add(a)),o===a&&p(null)},[o]),bh=(0,y.useCallback)(a=>{r(b=>{let c=new Set(b);return c.delete(a),c})},[]),bi=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,y.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}(aD(a8,{activationConstraint:{distance:8}}),aD(a3)),bj=(0,y.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&h(a=>{let d=a.findIndex(a=>a.id===b.id),e=a.findIndex(a=>a.id===c.id);if(-1===d||-1===e)return a;let f=bB(a,d,e);return f.forEach((a,b)=>{a.sortOrder!==b&&fetch((0,cT.api)(`/api/panes/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({sortOrder:b})}).catch(()=>{})}),f.map((a,b)=>({...a,sortOrder:b}))})},[]),bk=(0,y.useCallback)(a=>{let b=a.winWidth||900,c=a.winHeight||600,d=a.winX??Math.round(screen.width/2-b/2),e=a.winY??Math.round(screen.height/2-c/2),f=`left=${d},top=${e},width=${b},height=${c},menubar=no,toolbar=no,location=no,status=no`;window.open((0,cT.api)(`/terminal/pane/${a.id}`),`spaces-pane-${a.id}`,f),t(b=>new Set(b).add(a.id)),fetch((0,cT.api)(`/api/panes/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!0,winX:d,winY:e,winWidth:b,winHeight:c})})},[]),bl=(0,y.useCallback)(a=>{let b=g.find(b=>b.id===a);b&&bk(b)},[g,bk]),bm=(0,y.useCallback)(async a=>{a6.current?.postMessage({type:"close-popouts"}),await fetch((0,cT.api)(`/api/panes/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!1})}),t(b=>{let c=new Set(b);return c.delete(a),c})},[]),bn=(0,y.useCallback)(()=>{s.size>0&&(a6.current?.postMessage({type:"close-popouts"}),t(new Set))},[s]),bo=(0,y.useCallback)(async a=>{bn(),await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"switch",workspaceId:a})}),p(null),await a7(),await a9(),ad(!1),u?(0,c7.track)("workspace_switched"):(0,c7.track)("workspace_entered"),v(!0),bb(a=>a+1)},[a7,a9,bn,u]),bp=(0,y.useCallback)(async()=>{ai.trim()&&aa&&(await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"duplicate",sourceId:aa.id,name:ai.trim(),color:ak})}),aj(""),al("#6366f1"),af(!1),await a7())},[ai,ak,aa,a7]),bq=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"New Space",color:"#6366f1"})}),b=await a.json();(0,c7.track)("workspace_created"),await bo(b.id)},[bo]),br=(0,y.useCallback)(async a=>{bn(),await fetch((0,cT.api)(`/api/workspaces/${a}`),{method:"DELETE"}),(0,c7.track)("workspace_deleted"),await a7(),await a9(),ad(!1)},[a7,a9,bn]),bs=(0,y.useCallback)(()=>{bn(),h([]),v(!1)},[bn]),bt=(0,y.useCallback)(async(a,b)=>{await fetch((0,cT.api)(`/api/workspaces/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),an(null),await a7()},[a7]),bu=g.filter(a=>!s.has(a.id)&&!q.has(a.id)),bw=g.filter(a=>q.has(a.id));return u?i?(0,x.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,x.jsx)(A.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,x.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-zinc-800 flex-shrink-0",children:[(0,x.jsxs)("div",{className:"flex items-center gap-3",children:[(0,x.jsx)("button",{onClick:bs,className:"p-1.5 -ml-1 text-zinc-500 hover:text-white hover:bg-zinc-800 rounded-md transition-colors",title:"Close space and go home",children:(0,x.jsx)(P.Home,{className:"w-4 h-4"})}),(0,x.jsx)("div",{className:"w-px h-4 bg-zinc-800"}),(0,x.jsx)("h1",{className:"text-sm font-semibold",children:"Spaces"}),(0,x.jsxs)("div",{ref:a5,className:"relative",children:[(0,x.jsxs)("button",{onClick:()=>ad(!ac),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs bg-zinc-800 border border-zinc-700 rounded-md hover:border-zinc-600 transition-colors",children:[aa&&(0,x.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:aa.color}}),(0,x.jsx)("span",{className:"max-w-[150px] truncate",children:aa?.name||"No space"}),(0,x.jsx)(G.ChevronDown,{className:"w-3 h-3 text-zinc-500"})]}),ac&&(0,x.jsxs)("div",{className:"absolute z-50 top-full left-0 mt-1 w-72 bg-zinc-800 border border-zinc-700 rounded-md shadow-xl overflow-hidden",children:[(0,x.jsx)("div",{className:"p-2 border-b border-zinc-700/50 text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Switch Space"}),(0,x.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:$.map(a=>(0,x.jsx)("div",{className:"flex items-center gap-2 hover:bg-zinc-700/50 transition-colors group",children:am===a.id?(0,x.jsxs)("div",{className:"flex items-center gap-1 flex-1 px-3 py-2",children:[(0,x.jsx)("input",{autoFocus:!0,value:ao,onChange:a=>ap(a.target.value),onKeyDown:b=>{"Enter"===b.key&&bt(a.id,ao),"Escape"===b.key&&an(null)},className:"flex-1 bg-transparent border border-zinc-600 rounded px-1.5 py-0.5 text-xs focus:outline-none focus:border-indigo-400"}),(0,x.jsx)("button",{onClick:()=>bt(a.id,ao),className:"text-green-400 hover:text-green-300",children:(0,x.jsx)(M.Check,{className:"w-3 h-3"})})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("button",{onClick:()=>bo(a.id),className:"flex items-center gap-2 flex-1 px-3 py-2 text-left",children:[(0,x.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsx)("span",{className:"text-xs text-white truncate flex-1",children:a.name}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[a.paneCount||0," panes"]}),a.isActive&&(0,x.jsx)("span",{className:"text-[10px] text-indigo-400",children:"active"})]}),(0,x.jsxs)("div",{className:"flex items-center gap-0.5 pr-2 opacity-0 group-hover:opacity-100",children:[(0,x.jsx)("button",{onClick:b=>{b.stopPropagation(),an(a.id),ap(a.name)},className:"p-1 text-zinc-500 hover:text-white rounded",title:"Rename",children:(0,x.jsx)(L.Pencil,{className:"w-2.5 h-2.5"})}),!a.isActive&&$.length>1&&(0,x.jsx)("button",{onClick:b=>{b.stopPropagation(),confirm(`Delete space "${a.name}" and all its panes?`)&&br(a.id)},className:"p-1 text-zinc-500 hover:text-red-400 rounded",title:"Delete",children:(0,x.jsx)(K.Trash2,{className:"w-2.5 h-2.5"})})]})]})},a.id))}),(0,x.jsxs)("div",{className:"border-t border-zinc-700/50 p-1.5 flex gap-1",children:[(0,x.jsxs)("button",{onClick:bq,className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-zinc-400 hover:text-white hover:bg-zinc-700 rounded transition-colors flex-1",children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3"})," New Empty"]}),(0,x.jsxs)("button",{onClick:()=>{ah(!0),ad(!1)},className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-indigo-400 hover:text-indigo-300 hover:bg-indigo-500/10 rounded transition-colors flex-1",children:[(0,x.jsx)(X,{className:"w-3 h-3"})," Plan Project"]}),(0,x.jsxs)("button",{onClick:()=>{af(!0),ad(!1)},className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-zinc-400 hover:text-white hover:bg-zinc-700 rounded transition-colors flex-1",children:[(0,x.jsx)(O.Copy,{className:"w-3 h-3"})," Duplicate"]})]})]})]}),(0,x.jsxs)("span",{className:"text-[11px] text-zinc-500",children:[bu.length," pane",1!==bu.length?"s":"",s.size>0&&` + ${s.size} popped out`]})]}),(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsxs)("button",{onClick:()=>at(!as),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${as?"border-amber-500/50 bg-amber-600/20 text-amber-400":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,title:as?"Hide file explorer":"Show file explorer",children:[(0,x.jsx)(E.FolderOpen,{className:"w-3.5 h-3.5"}),"Files"]}),e&&aa&&(0,x.jsxs)("button",{onClick:async()=>{let a=!aa.collaboration;for(let b of(await fetch((0,cT.api)(`/api/workspaces/${aa.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({collaboration:a})}),ab(b=>b?{...b,collaboration:a}:b),_(b=>b.map(b=>b.id===aa.id?{...b,collaboration:a}:b)),g.filter(a=>a.workspaceId===aa.id&&"shell"!==a.agentType)))b.isCollaborating!==a&&await be(b.id,{isCollaborating:a})},className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${aa.collaboration?"border-indigo-500/50 bg-indigo-600/20 text-indigo-400":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,title:aa.collaboration?"Collaboration enabled — click to disable":"Enable collaboration for this workspace",children:[(0,x.jsx)(U.Users,{className:"w-3.5 h-3.5"}),"Collab"]}),(0,x.jsxs)("button",{onClick:bs,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs border border-zinc-700 text-zinc-400 rounded-md hover:text-white hover:border-zinc-600 transition-colors",title:"Close space and return home",children:[(0,x.jsx)(Q,{className:"w-3.5 h-3.5"}),"Close"]}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"flex items-center gap-1.5 px-3 py-1.5 text-xs bg-indigo-600 text-white rounded-md hover:bg-indigo-500 transition-colors",children:[(0,x.jsx)(z.Plus,{className:"w-3.5 h-3.5"}),"Add Pane"]})]})]}),ae&&(0,x.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-3",children:(0,x.jsxs)("div",{className:"max-w-md flex items-center gap-2",children:[(0,x.jsx)(J,{className:"w-4 h-4 text-indigo-400 flex-shrink-0"}),(0,x.jsx)("input",{autoFocus:!0,type:"text",placeholder:"New space name...",value:ai,onChange:a=>aj(a.target.value),onKeyDown:a=>"Enter"===a.key&&bp(),className:"flex-1 px-3 py-1.5 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white"}),(0,x.jsx)(cO.ColorPicker,{value:ak,onChange:al}),(0,x.jsx)("button",{onClick:bp,disabled:!ai.trim(),className:"px-3 py-1.5 text-xs bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:"Save"}),(0,x.jsx)("button",{onClick:()=>af(!1),className:"p-1.5 text-zinc-400 hover:text-white",children:(0,x.jsx)(N.X,{className:"w-4 h-4"})})]})}),m&&(0,x.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-4",children:(0,x.jsxs)("div",{className:"max-w-lg space-y-3",children:[(0,x.jsx)("h3",{className:"text-sm font-semibold",children:"Add Pane"}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Agent"}),(0,x.jsx)("div",{className:"grid grid-cols-3 gap-1.5",children:cZ.AGENT_LIST.map(a=>(0,x.jsxs)("button",{onClick:()=>{aH(a.id),aK("new"),a0(null),aF("")},className:`flex items-center gap-2 px-3 py-2 rounded-md border text-left transition-colors ${aG===a.id?"border-indigo-500 bg-indigo-600/20 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:[(0,x.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsxs)("div",{className:"min-w-0",children:[(0,x.jsx)("div",{className:"text-xs font-medium truncate",children:a.name}),(0,x.jsx)("div",{className:"text-[10px] text-zinc-500 truncate",children:a.description})]})]},a.id))})]}),cZ.AGENT_TYPES[aG]?.supportsResume&&(0,x.jsxs)("div",{className:"flex gap-2",children:[(0,x.jsx)("button",{onClick:()=>{aK("new"),a0(null),aF("")},className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"new"===aJ?"bg-indigo-600 border-indigo-500 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:"New Session"}),(0,x.jsx)("button",{onClick:()=>aK("resume"),className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"resume"===aJ?"bg-indigo-600 border-indigo-500 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:"Resume Session"})]}),"custom"===aG&&(0,x.jsx)("input",{type:"text",placeholder:"Command to run (e.g. python agent.py)",value:aL,onChange:a=>aM(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white font-mono"}),(0,x.jsx)(cX,{value:aN,onChange:aO}),(0,x.jsx)("input",{type:"text",placeholder:"Title (optional)",value:ax,onChange:a=>ay(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white"}),aN?(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Working directory (on remote node)"}),(0,x.jsx)("input",{type:"text",placeholder:"e.g. /home/user/project or ~ for home",value:az,onChange:a=>aA(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white font-mono"})]}):(0,x.jsx)(cU,{value:az,onChange:aA}),cZ.AGENT_TYPES[aG]?.supportsResume&&"resume"===aJ&&(0,x.jsxs)("div",{ref:a4,className:"relative",children:[a_?(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md",children:[(0,x.jsx)(D.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 flex-shrink-0"}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-white truncate",children:a_.customName||a_.firstPrompt?.slice(0,60)||"Untitled"}),(0,x.jsxs)("div",{className:"text-[10px] text-zinc-500 flex items-center gap-2",children:[(0,x.jsx)("span",{children:a_.projectName}),(0,x.jsxs)("span",{children:[a_.messageCount," msgs"]}),(0,x.jsxs)("span",{className:"font-mono",children:[a_.sessionId.slice(0,8),"..."]})]})]}),(0,x.jsx)("button",{onClick:()=>{a0(null),a$(!0)},className:"text-zinc-400 hover:text-white text-xs",children:"Change"})]}):(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md cursor-text",onClick:()=>a$(!0),children:[(0,x.jsx)(C.Search,{className:"w-3.5 h-3.5 text-zinc-500"}),(0,x.jsx)("input",{type:"text",placeholder:"Search sessions by name, prompt, or project...",value:aT,onChange:a=>{aU(a.target.value),a$(!0)},onFocus:()=>a$(!0),className:"flex-1 bg-transparent focus:outline-none text-white placeholder:text-zinc-500"}),az&&(0,x.jsx)("button",{onClick:a=>{a.stopPropagation(),a2(!a1)},className:`flex-shrink-0 px-1.5 py-0.5 text-[10px] rounded border transition-colors ${a1?"border-indigo-500/50 bg-indigo-600/20 text-indigo-400":"border-zinc-600 text-zinc-500 hover:text-zinc-400"}`,title:a1?"Showing sessions for this directory — click to show all":"Showing all sessions — click to filter by directory",children:a1?az.split("/").pop():"All"}),(0,x.jsx)(G.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-500"})]}),aZ&&!a_&&(0,x.jsx)("div",{className:"absolute z-50 top-full left-0 right-0 mt-1 max-h-[300px] overflow-y-auto bg-zinc-800 border border-zinc-700 rounded-md shadow-xl",children:aX?(0,x.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,x.jsx)(A.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"}),(0,x.jsx)("span",{className:"text-xs text-zinc-400 ml-2",children:"Loading sessions..."})]}):0===aV.length?(0,x.jsx)("div",{className:"py-4 px-3 text-xs text-zinc-500 text-center",children:aT?"No sessions match your search":"No sessions found"}):aV.map(a=>(0,x.jsx)("button",{onClick:()=>{a0(a),aF(a.sessionId),!az&&a.projectPath&&aA(a.projectPath),ax||ay(a.customName||""),a$(!1)},className:"w-full text-left px-3 py-2.5 hover:bg-zinc-700 border-b border-zinc-700/50 last:border-0 transition-colors",children:(0,x.jsxs)("div",{className:"flex items-start gap-2",children:[(0,x.jsx)(D.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 mt-0.5 flex-shrink-0"}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-xs text-white truncate",children:a.customName||a.firstPrompt?.slice(0,70)||"Untitled session"}),(0,x.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,x.jsxs)("span",{className:"text-[10px] text-indigo-400/70 flex items-center gap-0.5",children:[(0,x.jsx)(E.FolderOpen,{className:"w-2.5 h-2.5"}),a.projectName]}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[a.messageCount," msgs"]}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500 flex items-center gap-0.5",children:[(0,x.jsx)(F.Clock,{className:"w-2.5 h-2.5"}),new Date(a.modified).toLocaleDateString()]}),a.starred&&(0,x.jsx)("span",{className:"text-[10px]",children:"★"})]}),a.tags?.length>0&&(0,x.jsx)("div",{className:"flex gap-1 mt-1",children:a.tags.map(a=>(0,x.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 bg-zinc-700 rounded text-zinc-400",children:a},a))})]})]})},a.sessionId))})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Color"}),(0,x.jsx)(cO.ColorPicker,{value:aB,onChange:aC})]}),(0,x.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,x.jsx)("button",{onClick:bc,disabled:"custom"===aG&&!aL.trim(),className:"px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50 disabled:cursor-not-allowed",children:"Create"}),(0,x.jsx)("button",{onClick:()=>n(!1),className:"px-4 py-2 text-sm border border-zinc-700 text-zinc-400 rounded-md hover:text-white hover:border-zinc-600",children:"Cancel"})]})]})}),s.size>0&&(0,x.jsxs)("div",{className:"flex items-center gap-2 px-4 py-1.5 border-b border-zinc-800 bg-zinc-900/50",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Popped out:"}),g.filter(a=>s.has(a.id)).map(a=>(0,x.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,x.jsxs)("button",{onClick:()=>bk(a),className:"flex items-center gap-1 px-2 py-0.5 text-[10px] bg-zinc-800 border border-zinc-700 rounded-l text-zinc-400 hover:text-white hover:border-zinc-600",title:"Focus popout window",children:[(0,x.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.title]}),(0,x.jsx)("button",{onClick:()=>bm(a.id),className:"px-1 py-0.5 text-[10px] bg-zinc-800 border border-zinc-700 border-l-0 rounded-r text-zinc-500 hover:text-white hover:border-zinc-600",title:"Pop back into grid",children:(0,x.jsx)(R,{className:"w-2.5 h-2.5"})})]},a.id))]}),(0,x.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[as&&(0,x.jsx)("div",{className:"w-64 flex-shrink-0",children:(0,x.jsx)(dt,{onClose:()=>at(!1),navigateTo:au})}),0===bu.length&&0===s.size&&0===q.size?(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,x.jsxs)("div",{className:"text-center space-y-3",children:[(0,x.jsx)("img",{src:`${c}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto opacity-30"}),(0,x.jsx)("p",{className:"text-zinc-500",children:"No panes yet."}),(0,x.jsx)("p",{className:"text-zinc-600 text-xs",children:"Add a pane to start a shell, Claude, Codex, Gemini, or any agent."}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 inline-flex items-center gap-2",children:[(0,x.jsx)(z.Plus,{className:"w-4 h-4"}),"Add your first pane"]})]})}):0===bu.length?(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,x.jsxs)("div",{className:"text-center space-y-2",children:[(0,x.jsx)("p",{className:"text-zinc-500 text-sm",children:q.size>0&&s.size>0?"All panes are minimized or popped out.":q.size>0?"All panes are minimized. Use the toolbar to restore them.":"All panes are popped out to separate windows."}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"px-3 py-1.5 text-xs text-zinc-400 hover:text-white border border-zinc-700 rounded-md hover:border-zinc-600 inline-flex items-center gap-1.5",children:[(0,x.jsx)(z.Plus,{className:"w-3.5 h-3.5"}),"Add another pane"]})]})}):(0,x.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,x.jsx)(bv,{sensors:bi,collisionDetection:aI,onDragEnd:bj,children:(0,x.jsx)(bI,{items:bu.map(a=>a.id),strategy:bF,children:(0,x.jsx)(dG,{panes:o?bu.filter(a=>a.id===o):bu,renderPane:(b,c)=>(0,x.jsx)(Z.TerminalPane,{pane:b,onClose:bd,onUpdate:be,isMaximized:o===b.id,onToggleMaximize:bf,onMinimize:bg,onPopout:bl,onBrowse:aw,terminalToken:a,workspaceCollaboration:aa?.collaboration,dragHandleProps:c})})})}),bw.length>0&&(0,x.jsx)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 border-t border-zinc-800 flex-shrink-0 overflow-x-auto bg-zinc-950",children:bw.map(a=>(0,x.jsxs)("button",{onClick:()=>bh(a.id),className:"flex items-center gap-1.5 px-2.5 py-1 text-[11px] rounded-md border border-zinc-700 hover:border-zinc-500 bg-zinc-800/50 hover:bg-zinc-700/50 text-zinc-400 hover:text-white transition-colors flex-shrink-0",title:`Restore ${a.title}`,children:[(0,x.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsx)("span",{className:"truncate max-w-[100px]",children:a.title}),(0,x.jsx)(W.Maximize2,{className:"w-2.5 h-2.5 text-zinc-500"})]},a.id))})]}),aa?.collaboration&&(0,x.jsx)(c4,{workspaceId:aa?.id??null,panes:bu.map(a=>({id:a.id,title:a.title,agentType:a.agentType,color:a.color})),collapsed:w,onToggle:()=>I(!w)})]}),(0,x.jsx)(dF,{isOpen:ag,onClose:()=>ah(!1),onLaunch:a=>{ah(!1),bo(a)}})]}):(0,x.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,x.jsx)("div",{className:"absolute top-4 left-4",children:(0,x.jsxs)("button",{onClick:()=>b.push("/"),className:"flex items-center gap-2 px-3 py-1.5 text-xs text-zinc-500 hover:text-white hover:bg-zinc-800 rounded-md transition-colors",children:[(0,x.jsx)(P.Home,{className:"w-3.5 h-3.5"}),"Home"]})}),(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 overflow-y-auto min-h-0",children:(0,x.jsxs)("div",{className:"w-full max-w-2xl my-auto",children:[(0,x.jsxs)("div",{className:"text-center mb-10",children:[(0,x.jsx)("img",{src:`${c}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto mb-4"}),(0,x.jsx)("h1",{className:"text-2xl font-bold mb-2",children:"Spaces"}),(0,x.jsx)("p",{className:"text-zinc-400 text-sm",children:"Choose a workspace to open, or create a new one."})]}),k?(0,x.jsx)("div",{className:"flex justify-center py-12",children:(0,x.jsx)(A.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("div",{className:"grid grid-cols-2 gap-3 mb-6",children:$.map(a=>(0,x.jsxs)("div",{className:`relative bg-zinc-900 border rounded-lg transition-all ${aq===a.id?"border-zinc-600":"border-zinc-800 hover:border-zinc-600 hover:bg-zinc-800/50"}`,children:[(0,x.jsxs)("button",{onClick:()=>bo(a.id),className:"flex items-center gap-3 p-4 text-left w-full group",children:[(0,x.jsx)("span",{className:"w-3.5 h-3.5 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-sm font-medium text-white truncate",children:a.name}),(0,x.jsxs)("div",{className:"text-xs text-zinc-500 mt-0.5",children:[a.paneCount||0," pane",1!==(a.paneCount||0)?"s":"",a.isActive&&(0,x.jsx)("span",{className:"text-indigo-400 ml-2",children:"last active"})]})]}),(0,x.jsx)(B.Terminal,{className:"w-4 h-4 text-zinc-600 group-hover:text-zinc-400 transition-colors"})]}),f&&(0,x.jsx)("button",{onClick:()=>ar(aq===a.id?null:a.id),className:`absolute top-2 right-2 p-1 rounded transition-colors ${aq===a.id?"text-purple-400 bg-purple-500/10":"text-zinc-700 hover:text-zinc-400"}`,title:"Knowledge lobe settings",children:(0,x.jsx)(V.Brain,{className:"w-3.5 h-3.5"})}),aq===a.id&&(0,x.jsx)("div",{className:"px-4 pb-4 border-t border-zinc-800/50 pt-3",children:(0,x.jsx)(db,{workspaceId:a.id,workspaceName:a.name})})]},a.id))}),(0,x.jsxs)("div",{className:"flex justify-center gap-3",children:[(0,x.jsxs)("button",{onClick:bq,className:"flex items-center gap-2 px-4 py-2.5 text-sm border border-zinc-700 text-zinc-400 rounded-lg hover:text-white hover:border-zinc-500 transition-colors",children:[(0,x.jsx)(z.Plus,{className:"w-4 h-4"}),"New Workspace"]}),(0,x.jsxs)("button",{onClick:()=>ah(!0),className:"flex items-center gap-2 px-4 py-2.5 text-sm border border-dashed border-indigo-500/50 text-indigo-400 rounded-lg hover:text-indigo-300 hover:border-indigo-400 hover:bg-indigo-500/10 transition-colors",children:[(0,x.jsx)(X,{className:"w-4 h-4"}),"Plan a Project"]})]}),d&&aP.isLoading&&(0,x.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4 mt-6 border-t border-zinc-800",children:[(0,x.jsx)(A.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"}),(0,x.jsx)("span",{className:"text-xs text-zinc-500",children:"Loading network spaces..."})]}),d&&aP.data?.remote&&aP.data.remote.length>0&&(0,x.jsxs)("div",{className:"mt-6 border-t border-zinc-800 pt-6",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,x.jsx)(S.Globe,{className:"w-4 h-4 text-zinc-500"}),(0,x.jsx)("h2",{className:"text-sm font-medium text-zinc-400",children:"Network Spaces"})]}),aP.data.remote.map(a=>(0,x.jsxs)("div",{className:"mb-3",children:[(0,x.jsxs)("button",{onClick:()=>aS(a.nodeId),className:"flex items-center gap-2 w-full px-2 py-1.5 text-left text-xs text-zinc-400 hover:text-white rounded-md hover:bg-zinc-800/50 transition-colors",children:[aQ.has(a.nodeId)?(0,x.jsx)(H.ChevronRight,{className:"w-3.5 h-3.5 text-zinc-600"}):(0,x.jsx)(G.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-600"}),(0,x.jsx)(S.Globe,{className:"w-3 h-3 text-zinc-600"}),(0,x.jsx)("span",{className:"font-medium",children:a.nodeName}),(0,x.jsxs)("span",{className:"text-zinc-600",children:[a.workspaces.length," space",1!==a.workspaces.length?"s":""]})]}),!aQ.has(a.nodeId)&&(0,x.jsx)("div",{className:"grid grid-cols-2 gap-2 mt-2 ml-5",children:a.workspaces.map(c=>(0,x.jsxs)("button",{onClick:()=>{b.push(`/terminal/remote/${a.nodeId}/${c.id}`)},className:"flex items-center gap-3 p-3 bg-zinc-900/50 border border-zinc-800/50 rounded-lg hover:border-zinc-600 hover:bg-zinc-800/30 transition-colors text-left group",children:[(0,x.jsx)("span",{className:"w-3 h-3 rounded-full flex-shrink-0 ring-1 ring-zinc-700",style:{backgroundColor:c.color}}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-xs font-medium text-zinc-300 truncate",children:c.name}),(0,x.jsxs)("div",{className:"text-[10px] text-zinc-600 mt-0.5",children:[c.paneCount||0," pane",1!==(c.paneCount||0)?"s":""]})]}),(0,x.jsx)(S.Globe,{className:"w-3 h-3 text-zinc-700 group-hover:text-zinc-500 transition-colors"})]},`${a.nodeId}-${c.id}`))})]},a.nodeId)),aP.data.errors&&aP.data.errors.length>0&&(0,x.jsx)("div",{className:"mt-3 space-y-1",children:aP.data.errors.map(a=>(0,x.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-[10px] text-zinc-600",children:[(0,x.jsx)(T.AlertCircle,{className:"w-3 h-3 text-red-500/50"}),(0,x.jsxs)("span",{children:[a.nodeName,": ",a.error]})]},a.nodeId))})]})]})]})}),(0,x.jsx)(dF,{isOpen:ag,onClose:()=>ah(!1),onLaunch:a=>{ah(!1),bo(a)}})]})}a.s(["default",()=>dI],266490)}];
|
|
85
|
+
</script></body></html>`),g.document.close(),setTimeout(()=>{v.current?.postMessage({type:"file-update",file:a})},100),w.current&&clearInterval(w.current),w.current=setInterval(()=>{u.current?.closed&&(dp({wasPoppedOut:!1}),z.current&&t(!1),u.current=null,w.current&&(clearInterval(w.current),w.current=null))},500)}},E=(0,y.useRef)(null),[F,G]=(0,y.useState)(!1),[H,I]=(0,y.useState)(!1),J=async a=>{if(g&&0!==a.length){G(!0);try{let b=new FormData;for(let c of(b.append("dir",g),Array.from(a)))b.append("files",c);await fetch((0,cT.api)("/api/files"),{method:"POST",body:b});let c=await B(g);j(c.items)}catch{}finally{G(!1)}}},K=e?g.replace(e,"").replace(/^[/\\]/,""):"",L=K?K.split(/[/\\]/):[],M=o&&!s,O=k&&g!==e;return e?(0,x.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,x.jsx)("button",{onClick:a,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}),c.length>1&&(0,x.jsx)("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-zinc-800/30 flex-shrink-0 overflow-x-auto",children:c.map(a=>{let b=a.split(/[/\\]/).pop()||a,c=a===e;return(0,x.jsx)("button",{onClick:()=>{f(a),h(a),n(new Set),p(null)},className:`px-2 py-0.5 text-[10px] rounded transition-colors flex-shrink-0 ${c?"bg-amber-500/15 text-amber-400 border border-amber-500/30":"text-zinc-500 hover:text-zinc-300 border border-transparent"}`,title:a,children:b},a)})}),(0,x.jsxs)("div",{className:"flex items-center gap-1 px-3 py-1.5 border-b border-zinc-800/30 overflow-x-auto text-[10px] flex-shrink-0",children:[O&&(0,x.jsx)("button",{onClick:()=>{k&&g!==e&&h(k)},className:"text-zinc-500 hover:text-zinc-300 flex-shrink-0",children:(0,x.jsx)(dh,{className:"w-3 h-3"})}),(0,x.jsx)("input",{ref:E,type:"file",multiple:!0,className:"hidden",onChange:a=>{a.target.files&&J(a.target.files),a.target.value=""}}),(0,x.jsx)("button",{onClick:()=>E.current?.click(),className:"text-zinc-600 hover:text-zinc-300 flex-shrink-0 ml-auto",title:"Upload files to current directory",children:(0,x.jsx)(dk.Upload,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>h(e),className:"text-zinc-500 hover:text-zinc-300 truncate flex-shrink-0",children:e.split(/[/\\]/).pop()}),L.map((a,b)=>(0,x.jsxs)("span",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-zinc-700",children:"/"}),(0,x.jsx)("button",{onClick:()=>{h(e+"/"+L.slice(0,b+1).join("/"))},className:"text-zinc-500 hover:text-zinc-300",children:a})]},b))]}),s&&o&&(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 border-b border-zinc-800/30 bg-zinc-900/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Viewing:"}),(0,x.jsx)("span",{className:"text-[10px] text-zinc-400 font-mono truncate flex-1",children:o.name}),(0,x.jsx)("button",{onClick:()=>{dp({wasPoppedOut:!1}),u.current&&!u.current.closed&&u.current.close(),u.current=null,t(!1),w.current&&(clearInterval(w.current),w.current=null)},className:"text-zinc-500 hover:text-zinc-300 transition-colors",title:"Pop back into panel",children:(0,x.jsx)(R,{className:"w-3 h-3"})})]}),(0,x.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,x.jsx)("div",{className:`overflow-y-auto ${M?"max-h-[40%] border-b border-zinc-800/30":"flex-1"} ${H?"ring-2 ring-inset ring-amber-500/50 bg-amber-500/5":""}`,onDragOver:a=>{a.preventDefault(),I(!0)},onDragLeave:()=>I(!1),onDrop:a=>{a.preventDefault(),I(!1),a.dataTransfer.files.length>0&&J(a.dataTransfer.files)},children:F?(0,x.jsx)("div",{className:"p-3 text-xs text-amber-400",children:"Uploading..."}):q?(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Loading..."}):0===i.length?(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Empty directory"}):(0,x.jsx)("div",{className:"py-1",children:i.map(a=>(0,x.jsx)(dv,{item:a,depth:0,expanded:m.has(a.path),expandedDirs:m,onClick:C,loadDir:B,activeFile:o?.path},a.path))})}),M&&(0,x.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-zinc-800/30 flex-shrink-0",children:[(0,x.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,x.jsx)("span",{className:`text-xs font-mono truncate ${dq(o.ext)}`,children:o.name}),(0,x.jsx)("span",{className:"text-[9px] text-zinc-600",children:o.lines?`${o.lines} lines`:ds(o.size)}),o.truncated&&(0,x.jsx)("span",{className:"text-[9px] text-amber-500",children:"(truncated)"})]}),(0,x.jsxs)("div",{className:"flex items-center gap-1",children:[(0,x.jsx)("button",{onClick:()=>{var a,b;let c;return o&&(a=o.path,b=o.name,void((c=document.createElement("a")).href=(0,cT.api)(`/api/files?raw=${encodeURIComponent(a)}`),c.download=b,c.click()))},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Download file",children:(0,x.jsx)(dj,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>{o&&D(o)},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Open in new window",children:(0,x.jsx)(di.ExternalLink,{className:"w-3 h-3"})}),(0,x.jsx)("button",{onClick:()=>p(null),className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3 h-3"})})]})]}),(0,x.jsx)("div",{className:"flex-1 overflow-auto",children:(0,x.jsx)(du,{file:o})})]})]})]}):(0,x.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,x.jsx)("button",{onClick:a,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,x.jsx)(N.X,{className:"w-3.5 h-3.5"})})]}),(0,x.jsx)("div",{className:"p-3 text-xs text-zinc-500",children:0===c.length?"No development directories configured. Add them in Settings.":"Loading..."})]})}function du({file:a}){return a.error?(0,x.jsx)("div",{className:"p-3 text-xs text-red-400",children:a.error}):a.image&&a.rawUrl?(0,x.jsx)("div",{className:"flex items-center justify-center p-4 min-h-[200px]",children:(0,x.jsx)("img",{src:(0,cT.api)(a.rawUrl),alt:a.name,className:"max-w-full max-h-[60vh] object-contain rounded"})}):a.image&&a.tooLarge?(0,x.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Image too large (",ds(a.size),")"]}):a.pdf&&a.rawUrl?(0,x.jsx)("iframe",{src:(0,cT.api)(a.rawUrl),className:"w-full h-full border-none",title:a.name}):a.binary?(0,x.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Binary file (",a.ext,", ",ds(a.size),")"]}):void 0!==a.content?(0,x.jsx)("pre",{className:"text-[11px] leading-4 font-mono p-0 m-0",children:(0,x.jsx)("table",{className:"border-collapse w-full",children:(0,x.jsx)("tbody",{children:a.content.split("\n").map((b,c)=>(0,x.jsxs)("tr",{className:"hover:bg-zinc-800/30",children:[(0,x.jsx)("td",{className:"text-right pr-3 pl-3 text-zinc-700 select-none w-[1%] whitespace-nowrap",children:c+1}),(0,x.jsx)("td",{className:`pr-3 whitespace-pre ${dq(a.ext)}`,children:b||" "})]},c))})})}):null}function dv({item:a,depth:b,expanded:c,expandedDirs:d,onClick:e,loadDir:f,activeFile:g}){let[h,i]=(0,y.useState)(null);(0,y.useEffect)(()=>{c&&a.isDir&&!h&&f(a.path).then(a=>i(a.items))},[c,a.isDir,a.path,h,f]);let j=g===a.path;return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("button",{onClick:()=>e(a),className:`flex items-center gap-1.5 w-full text-left px-2 py-[3px] text-[11px] transition-colors ${j?"bg-indigo-500/10 text-indigo-300":"text-zinc-400 hover:bg-zinc-800/50 hover:text-zinc-200"}`,style:{paddingLeft:`${8+14*b}px`},children:[a.isDir?c?(0,x.jsx)(G.ChevronDown,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,x.jsx)(H.ChevronRight,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,x.jsx)("span",{className:"w-3 flex-shrink-0"}),(0,x.jsx)(dr,{item:a}),(0,x.jsx)("span",{className:"truncate",children:a.name})]}),c&&a.isDir&&h&&h.map(a=>(0,x.jsx)(dv,{item:a,depth:b+1,expanded:d.has(a.path),expandedDirs:d,onClick:e,loadDir:f,activeFile:g},a.path))]})}function dw({messages:a,onSend:b,loading:c}){let[d,e]=(0,y.useState)(""),f=(0,y.useRef)(null);(0,y.useEffect)(()=>{f.current&&(f.current.scrollTop=f.current.scrollHeight)},[a,c]);let g=()=>{let a=d.trim();a&&!c&&(e(""),b(a))};return(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("div",{ref:f,className:"flex-1 overflow-y-auto px-6 py-4 space-y-4",children:[0===a.length&&!c&&(0,x.jsxs)("div",{className:"text-center py-12",children:[(0,x.jsx)("p",{className:"text-zinc-400 text-sm mb-1",children:"Describe the project you want to build."}),(0,x.jsx)("p",{className:"text-zinc-600 text-xs",children:"I'll help you plan the workspace, agents, and initial tasks."})]}),a.map((a,b)=>(0,x.jsx)("div",{className:`flex ${"user"===a.role?"justify-end":"justify-start"}`,children:(0,x.jsx)("div",{className:`max-w-[80%] rounded-lg px-3 py-2 text-sm ${"user"===a.role?"bg-indigo-600 text-white":"bg-zinc-800 text-zinc-200"}`,children:(0,x.jsx)("p",{className:"whitespace-pre-wrap",children:a.content})})},b)),c&&(0,x.jsx)("div",{className:"flex justify-start",children:(0,x.jsx)("div",{className:"bg-zinc-800 rounded-lg px-4 py-3",children:(0,x.jsxs)("div",{className:"flex gap-1",children:[(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),(0,x.jsx)("span",{className:"w-2 h-2 bg-zinc-500 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})})})]}),(0,x.jsx)("div",{className:"px-6 py-3 border-t border-zinc-800 flex-shrink-0",children:(0,x.jsxs)("div",{className:"flex gap-2",children:[(0,x.jsx)("textarea",{value:d,onChange:a=>e(a.target.value),onKeyDown:a=>{"Enter"!==a.key||a.shiftKey||(a.preventDefault(),g())},placeholder:"Describe your project...",rows:2,className:"flex-1 bg-zinc-900 border border-zinc-700 rounded-lg px-3 py-2 text-sm text-zinc-200 placeholder:text-zinc-600 focus:outline-none focus:border-zinc-500 resize-none"}),(0,x.jsx)("button",{onClick:g,disabled:!d.trim()||c,className:"px-4 bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg flex items-center gap-1.5 text-sm self-end",children:(0,x.jsx)(c_.Send,{className:"w-3.5 h-3.5"})})]})})]})}let dx=(0,I.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),dy={claude:"#6366f1",codex:"#22c55e",gemini:"#3b82f6",aider:"#f59e0b",shell:"#78716c",custom:"#a855f7"};function dz({plan:a,onReview:b}){return a?(0,x.jsxs)("div",{className:"flex flex-col h-full",children:[(0,x.jsxs)("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-4",children:[(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:"Workspace"}),(0,x.jsxs)("div",{className:"bg-zinc-800/50 rounded-lg p-3 border border-zinc-700/50",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,x.jsx)("span",{className:"w-3 h-3 rounded-full",style:{backgroundColor:a.workspace.color}}),(0,x.jsx)("span",{className:"text-sm font-medium text-zinc-200",children:a.workspace.name})]}),a.workspace.description&&(0,x.jsx)("p",{className:"text-xs text-zinc-400 mt-1",children:a.workspace.description})]})]}),a.panes.length>0&&(0,x.jsxs)("div",{children:[(0,x.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:["Panes (",a.panes.length,")"]}),(0,x.jsx)("div",{className:"space-y-2",children:a.panes.map((a,b)=>(0,x.jsxs)("div",{className:"bg-zinc-800/50 rounded-lg p-3 border border-zinc-700/50",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,x.jsx)(B.Terminal,{className:"w-3 h-3 text-zinc-500"}),(0,x.jsx)("span",{className:"text-xs font-medium text-zinc-200",children:a.title}),(0,x.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium",style:{backgroundColor:`${dy[a.agentType]||"#6366f1"}20`,color:dy[a.agentType]||"#6366f1"},children:a.agentType})]}),a.description&&(0,x.jsx)("p",{className:"text-[11px] text-zinc-500 mt-1",children:a.description}),a.cwd&&(0,x.jsx)("p",{className:"text-[10px] text-zinc-600 font-mono mt-1",children:a.cwd})]},b))})]}),a.summary&&(0,x.jsxs)("div",{children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 mb-1.5",children:"Summary"}),(0,x.jsx)("p",{className:"text-xs text-zinc-400",children:a.summary})]})]}),(0,x.jsx)("div",{className:"px-5 py-3 border-t border-zinc-800 flex-shrink-0",children:(0,x.jsx)("button",{onClick:b,disabled:!a.panes.length,className:"w-full py-2 text-sm font-medium bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:"Review Plan"})})]}):(0,x.jsxs)("div",{className:"flex flex-col items-center justify-center h-full px-6 text-center",children:[(0,x.jsx)(dx,{className:"w-8 h-8 text-zinc-700 mb-3"}),(0,x.jsx)("p",{className:"text-zinc-500 text-sm",children:"Your project plan will appear here as you chat."})]})}var dA=a.i(400210);let dB=(0,I.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]),dC=[{value:"claude",label:"Claude Code"},{value:"codex",label:"Codex"},{value:"gemini",label:"Gemini"},{value:"aider",label:"Aider"},{value:"forge",label:"Forge"},{value:"shell",label:"Shell"},{value:"custom",label:"Custom"}],dD=["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c"];function dE({plan:a,onUpdate:b,onBack:c,onLaunch:d}){let[e,f]=(0,y.useState)([]);(0,y.useEffect)(()=>{fetch((0,cT.api)("/api/config")).then(a=>a.json()).then(a=>{a.customModels&&f(a.customModels)}).catch(()=>{})},[]);let g=(c,d)=>{b({...a,workspace:{...a.workspace,[c]:d}})},h=(c,d,e)=>{let f=[...a.panes];f[c]={...f[c],[d]:e},b({...a,panes:f})},i=a.workspace.name.trim()&&a.panes.length>0&&a.panes.every(a=>a.cwd.trim());return(0,x.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-6 space-y-6",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between",children:[(0,x.jsxs)("button",{onClick:c,className:"flex items-center gap-1.5 text-xs text-zinc-400 hover:text-white",children:[(0,x.jsx)(dA.ArrowLeft,{className:"w-3.5 h-3.5"}),"Back to Chat"]}),(0,x.jsxs)("button",{onClick:d,disabled:!i,className:"flex items-center gap-1.5 px-4 py-2 text-sm font-medium bg-green-600 hover:bg-green-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:[(0,x.jsx)(dB,{className:"w-3.5 h-3.5"}),"Launch Space"]})]}),(0,x.jsxs)("div",{className:"bg-zinc-900 rounded-lg border border-zinc-700 p-4 space-y-3",children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:"Workspace"}),(0,x.jsxs)("div",{className:"flex gap-3",children:[(0,x.jsxs)("div",{className:"flex-1",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Name"}),(0,x.jsx)("input",{value:a.workspace.name,onChange:a=>g("name",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-3 py-1.5 text-sm text-zinc-200 focus:outline-none focus:border-zinc-500"})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Color"}),(0,x.jsx)("div",{className:"flex gap-1 flex-wrap",style:{width:128},children:dD.map(b=>(0,x.jsx)("button",{onClick:()=>g("color",b),className:`w-5 h-5 rounded-full ${a.workspace.color===b?"ring-2 ring-white ring-offset-1 ring-offset-zinc-900":"hover:ring-1 hover:ring-zinc-500"}`,style:{backgroundColor:b}},b))})]})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Description"}),(0,x.jsx)("textarea",{value:a.workspace.description,onChange:a=>g("description",a.target.value),rows:2,className:"w-full bg-zinc-800 border border-zinc-700 rounded px-3 py-1.5 text-sm text-zinc-200 focus:outline-none focus:border-zinc-500 resize-none"})]})]}),(0,x.jsxs)("div",{className:"space-y-3",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between",children:[(0,x.jsxs)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500",children:["Panes (",a.panes.length,")"]}),(0,x.jsxs)("button",{onClick:()=>{b({...a,panes:[...a.panes,{title:"New Pane",agentType:"claude",cwd:"~",description:""}]})},className:"flex items-center gap-1 text-xs text-zinc-400 hover:text-white",children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3"})," Add Pane"]})]}),a.panes.map((c,d)=>(0,x.jsx)("div",{className:"bg-zinc-900 rounded-lg border border-zinc-700 p-4 space-y-2.5",children:(0,x.jsxs)("div",{className:"flex items-start gap-3",children:[(0,x.jsxs)("div",{className:"flex-1 space-y-2.5",children:[(0,x.jsxs)("div",{className:"flex gap-3",children:[(0,x.jsxs)("div",{className:"flex-1",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Title"}),(0,x.jsx)("input",{value:c.title,onChange:a=>h(d,"title",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 focus:outline-none focus:border-zinc-500"})]}),(0,x.jsxs)("div",{className:"w-32",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Agent"}),(0,x.jsx)("select",{value:c.agentType,onChange:a=>h(d,"agentType",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200",children:dC.map(a=>(0,x.jsx)("option",{value:a.value,children:a.label},a.value))})]}),"forge"===c.agentType&&e.length>0&&(0,x.jsxs)("div",{className:"w-40",children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Custom Model"}),(0,x.jsxs)("select",{value:c.customModelId||"",onChange:a=>h(d,"customModelId",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200",children:[(0,x.jsx)("option",{value:"",children:"Default"}),e.map(a=>(0,x.jsx)("option",{value:a.id,children:a.name},a.id))]})]})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Working Directory"}),(0,x.jsx)("input",{value:c.cwd,onChange:a=>h(d,"cwd",a.target.value),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs font-mono text-zinc-200 focus:outline-none focus:border-zinc-500",placeholder:"/path/to/project"})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[10px] text-zinc-500 block mb-1",children:"Initial Prompt (optional)"}),(0,x.jsx)("textarea",{value:c.initialPrompt||"",onChange:a=>h(d,"initialPrompt",a.target.value),rows:2,className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 focus:outline-none focus:border-zinc-500 resize-none",placeholder:"What should this agent start working on?"})]})]}),(0,x.jsx)("button",{onClick:()=>{b({...a,panes:a.panes.filter((a,b)=>b!==d)})},className:"text-zinc-600 hover:text-red-400 mt-4",title:"Remove pane",children:(0,x.jsx)(K.Trash2,{className:"w-3.5 h-3.5"})})]})},d))]}),(0,x.jsx)("div",{className:"flex justify-end pt-2",children:(0,x.jsxs)("button",{onClick:d,disabled:!i,className:"flex items-center gap-1.5 px-6 py-2.5 text-sm font-medium bg-green-600 hover:bg-green-500 disabled:bg-zinc-800 disabled:text-zinc-600 text-white rounded-lg transition-colors",children:[(0,x.jsx)(dB,{className:"w-4 h-4"}),"Launch Space"]})})]})}function dF({isOpen:a,onClose:b,onLaunch:c}){let[d,e]=(0,y.useState)([]),[f,g]=(0,y.useState)(null),[h,i]=(0,y.useState)(!1),[j,k]=(0,y.useState)("chat"),[l,m]=(0,y.useState)(null),n=(0,y.useCallback)(async a=>{let b=[...d,{role:"user",content:a}];e(b),i(!0),m(null);try{let a=await fetch((0,cT.api)("/api/wizard/chat"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messages:b,currentPlan:f})}),c=await a.json();if(!a.ok)throw Error(c.error);e([...b,{role:"assistant",content:c.reply}]),c.plan&&g(c.plan)}catch(a){m(a.message)}i(!1)},[d,f]),o=(0,y.useCallback)(async()=>{if(f)try{let a=await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.workspace.name,description:f.workspace.description,color:f.workspace.color})}),d=(await a.json()).id;for(let a of f.panes)await fetch((0,cT.api)("/api/panes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a.title,agentType:a.agentType,cwd:a.cwd,customCommand:a.customCommand,workspaceId:d,customModelId:a.customModelId})});c(d),b()}catch(a){m(a.message)}},[f,c,b]);return a?(0,x.jsxs)("div",{className:"fixed inset-0 z-50 bg-zinc-950/95 flex flex-col",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-6 py-3 border-b border-zinc-800 flex-shrink-0",children:[(0,x.jsx)("h2",{className:"text-sm font-semibold text-zinc-100",children:"Plan a Project"}),(0,x.jsx)("button",{onClick:b,className:"text-zinc-500 hover:text-white",children:(0,x.jsx)(N.X,{className:"w-4 h-4"})})]}),l&&(0,x.jsx)("div",{className:"px-6 py-2 bg-red-500/10 border-b border-red-500/20 text-xs text-red-400",children:l}),(0,x.jsx)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:"chat"===j?(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("div",{className:"flex-1 flex flex-col border-r border-zinc-800 min-w-0",children:(0,x.jsx)(dw,{messages:d,onSend:n,loading:h})}),(0,x.jsx)("div",{className:"w-[380px] flex-shrink-0 overflow-y-auto",children:(0,x.jsx)(dz,{plan:f,onReview:()=>k("review")})})]}):(0,x.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,x.jsx)(dE,{plan:f,onUpdate:g,onBack:()=>k("chat"),onLaunch:o})})})]}):null}function dG({workspace:a}){let b=a?.id??null,c=a?.color??"#6366f1",[d,e]=(0,y.useState)([]),[f,g]=(0,y.useState)(!1),[h,i]=(0,y.useState)(""),[j,k]=(0,y.useState)(null),[l,m]=(0,y.useState)(""),n=(0,y.useRef)(null);(0,y.useEffect)(()=>{if(null==b)return void e([]);let a=!1;return fetch((0,cT.api)(`/api/workspaces/${b}/todos`)).then(a=>a.json()).then(b=>{a||e(Array.isArray(b)?b:[])}).catch(()=>{a||e([])}),()=>{a=!0}},[b]);let o=(0,y.useCallback)(async()=>{let a=h.trim();if(!a||null==b){i(""),g(!1);return}let c=-Date.now(),d={id:c,workspaceId:b,text:a,completed:!1,sortOrder:Number.MAX_SAFE_INTEGER,created:new Date().toISOString(),completedAt:null};e(a=>[...a,d]),i(""),n.current?.focus();try{let d=await fetch((0,cT.api)(`/api/workspaces/${b}/todos`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:a})});if(!d.ok)throw Error(await d.text());let f=await d.json();e(a=>a.map(a=>a.id===c?f:a))}catch(a){console.error("failed to add todo",a),e(a=>a.filter(a=>a.id!==c))}},[h,b]),p=(0,y.useCallback)(async a=>{if(null==b)return;let c=!a.completed;e(b=>b.map(b=>b.id===a.id?{...b,completed:c,completedAt:c?new Date().toISOString():null}:b));try{let d=await fetch((0,cT.api)(`/api/workspaces/${b}/todos/${a.id}`),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({completed:c})});if(!d.ok)throw Error();let f=await d.json();e(b=>b.map(b=>b.id===a.id?f:b))}catch{e(b=>b.map(b=>b.id===a.id?a:b))}},[b]),q=(0,y.useCallback)(async a=>{if(null==b)return;let c=-1;e(b=>(c=b.findIndex(b=>b.id===a.id),b.filter(b=>b.id!==a.id)));try{if(!(await fetch((0,cT.api)(`/api/workspaces/${b}/todos/${a.id}`),{method:"DELETE"})).ok)throw Error()}catch{e(b=>{if(c<0||b.some(b=>b.id===a.id))return b;let d=[...b];return d.splice(Math.min(c,d.length),0,a),d})}},[b]),r=(0,y.useCallback)(async a=>{let c=l.trim();if(k(null),c&&c!==a.text&&null!=b){e(b=>b.map(b=>b.id===a.id?{...b,text:c}:b));try{if(!(await fetch((0,cT.api)(`/api/workspaces/${b}/todos/${a.id}`),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:c})})).ok)throw Error()}catch{e(b=>b.map(b=>b.id===a.id?{...b,text:a.text}:b))}}},[l,b]),s=(0,y.useCallback)(async()=>{if(null==b)return;let a=d.filter(a=>a.completed);0===a.length||(e(a=>a.filter(a=>!a.completed)),(await Promise.allSettled(a.map(a=>fetch((0,cT.api)(`/api/workspaces/${b}/todos/${a.id}`),{method:"DELETE"})))).some(a=>"rejected"===a.status||"fulfilled"===a.status&&!a.value.ok)&&fetch((0,cT.api)(`/api/workspaces/${b}/todos`)).then(a=>a.json()).then(a=>e(Array.isArray(a)?a:[])).catch(()=>{}))},[d,b]),t=[...d].sort((a,b)=>{if(a.completed!==b.completed)return a.completed?1:-1;if(!a.completed)return a.sortOrder-b.sortOrder;let c=a.completedAt??"";return(b.completedAt??"").localeCompare(c)}),u=t.filter(a=>a.completed).length,v="h-7 rounded-full inline-flex items-center gap-1.5 pl-2 pr-1 py-1 text-xs border whitespace-nowrap";return(0,x.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900/40 px-4 py-2 flex-shrink-0",children:(0,x.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 max-h-[30vh] overflow-y-auto",children:[t.map(a=>{let b=j===a.id,d={backgroundColor:`${c}22`,borderColor:`${c}66`,color:c},e=a.completed?{backgroundColor:"rgba(39, 39, 42, 0.5)",borderColor:"rgba(63, 63, 70, 0.5)",color:"rgb(113, 113, 122)"}:d;return(0,x.jsxs)("div",{className:`group ${v}`,style:e,children:[(0,x.jsx)("button",{onClick:()=>p(a),className:"w-3.5 h-3.5 rounded-full border-2 flex items-center justify-center flex-shrink-0 transition-colors",style:{borderColor:a.completed?c:`${c}aa`,backgroundColor:a.completed?c:"transparent"},"aria-label":a.completed?"Mark incomplete":"Mark complete",children:a.completed&&(0,x.jsx)(M.Check,{className:"w-2.5 h-2.5 text-white"})}),b?(0,x.jsx)("input",{autoFocus:!0,value:l,onChange:a=>m(a.target.value),onBlur:()=>r(a),onKeyDown:b=>{"Enter"===b.key&&r(a),"Escape"===b.key&&k(null)},className:"bg-transparent focus:outline-none max-w-[240px]",style:{color:"inherit"}}):(0,x.jsx)("button",{onClick:()=>{k(a.id),m(a.text)},className:`text-left truncate max-w-[200px] ${a.completed?"line-through":""}`,style:{color:"inherit"},children:a.text}),(0,x.jsx)("button",{onClick:()=>q(a),className:"opacity-0 group-hover:opacity-100 transition-opacity rounded-full p-0.5 hover:bg-black/20 flex-shrink-0",style:{color:"inherit"},"aria-label":"Delete todo",children:(0,x.jsx)(N.X,{className:"w-3 h-3"})})]},a.id)}),f?(0,x.jsxs)("div",{className:`${v} border-dashed border-zinc-600 text-zinc-300`,children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3 text-zinc-500 flex-shrink-0"}),(0,x.jsx)("input",{ref:n,autoFocus:!0,value:h,onChange:a=>i(a.target.value),onKeyDown:a=>{"Enter"===a.key&&o(),"Escape"===a.key&&(i(""),g(!1))},onBlur:()=>{h.trim()?o():g(!1)},placeholder:"todo…",className:"bg-transparent focus:outline-none text-xs placeholder:text-zinc-600 max-w-[200px]"})]}):(0,x.jsxs)("button",{onClick:()=>{null!=b&&g(!0)},disabled:null==b,className:"h-7 rounded-full inline-flex items-center gap-1 px-3 py-1 text-xs border border-dashed border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-500 transition-colors disabled:opacity-50 disabled:cursor-not-allowed whitespace-nowrap",children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3"}),null==b?"Select a workspace":"add todo"]}),u>0&&(0,x.jsxs)("button",{onClick:s,className:"ml-auto text-[10px] text-zinc-500 hover:text-zinc-300 px-2 py-1 transition-colors whitespace-nowrap",children:["clear ",u," done"]})]})})}var dH=a.i(501027),dI=a.i(431067);function dJ(a){return null==a?"#52525b":a<=70?"#22c55e":a<=90?"#f59e0b":"#ef4444"}function dK(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"now";let c=Math.floor(b/36e5),d=Math.floor(b%36e5/6e4);if(c>=24){let a=Math.floor(c/24);return`${a}d ${c-24*a}h`}return c>0?`${c}h ${d}m`:`${d}m`}function dL({label:a,limit:b}){if(!b||null==b.utilization)return null;let c=Math.min(100,Math.max(0,b.utilization)),d=dJ(c),e=dK(b.resets_at);return(0,x.jsxs)("div",{className:"flex items-center gap-1.5 text-[10px]",title:e?`${a}: ${Math.floor(c)}% used \xb7 resets in ${e}`:`${a}: ${Math.floor(c)}% used`,children:[(0,x.jsx)("span",{className:"text-zinc-400 font-medium",children:a}),(0,x.jsx)("div",{className:"w-12 h-1 bg-zinc-800 rounded-full overflow-hidden",children:(0,x.jsx)("div",{className:"h-full transition-all",style:{width:`${c}%`,backgroundColor:d}})}),(0,x.jsxs)("span",{className:"text-zinc-500 tabular-nums w-7 text-right",children:[Math.floor(c),"%"]})]})}function dM({enabled:a}){let b=function(a){let[b,c]=(0,y.useState)(null),d=(0,y.useRef)(0);return(0,y.useEffect)(()=>{if(!a){d.current=0;return}let b=!1;async function e(){try{let a=await fetch((0,cT.api)("/api/claude/usage"));if(!a.ok||b)return;let e=await a.json();if(b)return;"upstream_error"===e.status||"expired"===e.status?(d.current+=1,c(a=>a?.status==="ok"&&d.current<2?a:e)):(d.current=0,c(e))}catch{if(b)return;d.current+=1,c(a=>a?.status==="ok"&&d.current<2?a:{status:"upstream_error"})}}e();let f=setInterval(e,6e4);return()=>{b=!0,clearInterval(f)}},[a]),b}(a),[c,d]=(0,y.useState)(!1),e=(0,y.useRef)(null);if((0,y.useEffect)(()=>{if(c)return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a);function a(a){e.current&&!e.current.contains(a.target)&&d(!1)}},[c]),!a||!b)return null;if("unauthenticated"===b.status||"expired"===b.status)return(0,x.jsxs)("div",{className:"flex items-center gap-1.5 px-2 py-1 text-[10px] text-zinc-500 border border-zinc-800 rounded-md",title:"expired"===b.status?"OAuth token expired — run any Claude Code command to refresh":"No Claude.ai credentials found",children:[(0,x.jsx)(dI.LogIn,{className:"w-3 h-3"}),"sign in via Claude Code"]});if("upstream_error"===b.status)return null;let{data:f}=b,g=f.extra_usage,h=!!(g?.is_enabled&&g?.used_credits&&g.used_credits>0);return(0,x.jsxs)("div",{className:"relative",children:[(0,x.jsxs)("button",{onClick:()=>d(a=>!a),className:"flex items-center gap-2.5 px-2.5 py-1 border border-zinc-800 rounded-md hover:border-zinc-700 transition-colors",title:"Click for full usage detail",children:[(0,x.jsx)(dH.Zap,{className:"w-3 h-3 text-amber-400"}),(0,x.jsx)(dL,{label:"5h",limit:f.five_hour}),(0,x.jsx)(dL,{label:"7d",limit:f.seven_day}),(0,x.jsx)(dL,{label:"Opus",limit:f.seven_day_opus}),(0,x.jsx)(dL,{label:"Sonnet",limit:f.seven_day_sonnet}),h&&g?.used_credits!=null&&(0,x.jsxs)("span",{className:"text-[10px] text-amber-400 border-l border-zinc-800 pl-2",children:["+$",g.used_credits.toFixed(2)," overage"]})]}),c&&(0,x.jsxs)("div",{ref:e,className:"absolute top-full right-0 mt-1.5 z-50 w-80 p-3 bg-zinc-900 border border-zinc-700 rounded-md shadow-xl",children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 font-medium mb-2",children:"Plan Usage"}),(0,x.jsxs)("div",{className:"space-y-2",children:[(0,x.jsx)(dN,{label:"5-hour window",limit:f.five_hour}),(0,x.jsx)(dN,{label:"7-day (overall)",limit:f.seven_day}),(0,x.jsx)(dN,{label:"7-day · Opus",limit:f.seven_day_opus}),(0,x.jsx)(dN,{label:"7-day · Sonnet",limit:f.seven_day_sonnet}),(0,x.jsx)(dN,{label:"7-day · OAuth apps",limit:f.seven_day_oauth_apps})]}),g?.is_enabled&&(0,x.jsxs)("div",{className:"mt-3 pt-3 border-t border-zinc-800",children:[(0,x.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-zinc-500 font-medium mb-1.5",children:"Overage credits"}),(0,x.jsxs)("div",{className:"text-xs text-zinc-300",children:[null!=g.used_credits?`$${g.used_credits.toFixed(2)}`:"—",null!=g.monthly_limit&&(0,x.jsxs)("span",{className:"text-zinc-500",children:[" / $",g.monthly_limit.toFixed(2)," monthly"]})]})]})]})]})}function dN({label:a,limit:b}){if(!b||null==b.utilization)return(0,x.jsxs)("div",{className:"flex items-center justify-between text-xs",children:[(0,x.jsx)("span",{className:"text-zinc-400",children:a}),(0,x.jsx)("span",{className:"text-zinc-600",children:"—"})]});let c=Math.min(100,Math.max(0,b.utilization)),d=dJ(c),e=dK(b.resets_at);return(0,x.jsxs)("div",{children:[(0,x.jsxs)("div",{className:"flex items-center justify-between text-xs mb-1",children:[(0,x.jsx)("span",{className:"text-zinc-300",children:a}),(0,x.jsxs)("span",{className:"text-zinc-500 tabular-nums",children:[Math.floor(c),"%",e&&(0,x.jsxs)("span",{className:"ml-1.5 text-zinc-600",children:["· ",e]})]})]}),(0,x.jsx)("div",{className:"h-1.5 bg-zinc-800 rounded-full overflow-hidden",children:(0,x.jsx)("div",{className:"h-full transition-all",style:{width:`${c}%`,backgroundColor:d}})})]})}function dO({panes:a,renderPane:b}){if(0===a.length)return null;if(1===a.length)return(0,x.jsx)("div",{className:"flex-1 p-1 overflow-hidden",children:(0,x.jsx)(dP,{id:a[0].id,children:c=>b(a[0],c)})});let c=a.length<=4?2:3,d=[];for(let b=0;b<a.length;b+=c)d.push(a.slice(b,b+c));return(0,x.jsx)(cJ,{orientation:"vertical",className:"flex-1 p-1",children:d.map((a,c)=>(0,x.jsxs)(y.default.Fragment,{children:[c>0&&(0,x.jsx)(cN,{className:"h-1.5 flex items-center justify-center group cursor-row-resize",children:(0,x.jsx)("div",{className:"w-8 h-0.5 rounded-full bg-zinc-700 group-hover:bg-zinc-500 group-active:bg-indigo-500 transition-colors"})}),(0,x.jsx)(cL,{minSize:15,children:1===a.length?(0,x.jsx)("div",{className:"h-full p-0.5",children:(0,x.jsx)(dP,{id:a[0].id,children:c=>b(a[0],c)})}):(0,x.jsx)(cJ,{orientation:"horizontal",className:"h-full",children:a.map((a,c)=>(0,x.jsxs)(y.default.Fragment,{children:[c>0&&(0,x.jsx)(cN,{className:"w-1.5 flex items-center justify-center group cursor-col-resize",children:(0,x.jsx)("div",{className:"h-8 w-0.5 rounded-full bg-zinc-700 group-hover:bg-zinc-500 group-active:bg-indigo-500 transition-colors"})}),(0,x.jsx)(cL,{minSize:15,children:(0,x.jsx)("div",{className:"h-full p-0.5",children:(0,x.jsx)(dP,{id:a.id,children:c=>b(a,c)})})})]},a.id))})})]},`row-${c}`))})}function dP({id:a,children:b}){let{attributes:c,listeners:d,setNodeRef:e,transform:f,transition:g,isDragging:h}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bK,attributes:g,disabled:h,data:i,getNewIndex:j=bJ,id:k,strategy:l,resizeObserverConfig:m,transition:o=bL}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:x}=(0,y.useContext)(bH),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,y.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,y.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:G}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=an("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,y.useContext)(bp),k=(0,y.useRef)({disabled:c}),l=(0,y.useRef)(!1),m=(0,y.useRef)(null),o=(0,y.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...by,...e},s=ai(null!=q?q:d),t=bc({callback:(0,y.useCallback)(()=>{if(!l.current){l.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=ak((0,y.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),l.current=!1),a&&t.observe(a))},[t])),w=ai(b);return(0,y.useEffect)(()=>{t&&u.current&&(t.disconnect(),l.current=!1,t.observe(u.current))},[u,t]),(0,y.useEffect)(()=>(h({type:n.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:m,data:w}}),()=>h({type:n.UnregisterDroppable,key:f,id:d})),[d]),(0,y.useEffect)(()=>{c!==k.current.disabled&&(h({type:n.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:m,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...m}}),{active:H,activatorEvent:I,activeNodeRect:J,attributes:K,setNodeRef:L,listeners:M,isDragging:N,over:O,setActivatorNodeRef:P,transform:Q}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=an("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,y.useContext)(bp),{role:n=bx,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,y.useContext)(q?bu:bw),[s,t]=ak(),[u,v]=ak(),w=(0,y.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),x=ai(c);return ag(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:x}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,y.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bx||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bO,...g},disabled:z.draggable}),R=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,y.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(G,L),S=!!H,T=S&&!t&&bC(r)&&bC(v),U=!w&&N,V=U&&T?Q:null,W=T?null!=V?V:(null!=l?l:x)({rects:u,activeNodeRect:J,activeIndex:r,overIndex:v,index:A}):null,X=bC(r)&&bC(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,Y=null==H?void 0:H.id,Z=(0,y.useRef)({activeId:Y,items:p,newIndex:X,containerId:q}),$=p!==Z.current.items,_=f({active:H,containerId:q,isDragging:N,isSorting:S,id:k,index:A,items:p,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:o,wasDragging:null!=Z.current.activeId}),aa=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,y.useState)(null),h=(0,y.useRef)(c);return ag(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aN(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,y.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!_,index:A,node:E,rect:D});return(0,y.useEffect)(()=>{S&&Z.current.newIndex!==X&&(Z.current.newIndex=X),q!==Z.current.containerId&&(Z.current.containerId=q),p!==Z.current.items&&(Z.current.items=p)},[S,X,q,p]),(0,y.useEffect)(()=>{if(Y===Z.current.activeId)return;if(null!=Y&&null==Z.current.activeId){Z.current.activeId=Y;return}let a=setTimeout(()=>{Z.current.activeId=Y},50);return()=>clearTimeout(a)},[Y]),{active:H,activeIndex:r,attributes:K,data:B,rect:D,index:A,newIndex:X,items:p,isOver:F,isSorting:S,isDragging:N,listeners:M,node:E,overIndex:v,over:O,setNodeRef:R,setActivatorNodeRef:P,setDroppableNodeRef:G,setDraggableNodeRef:L,transform:null!=aa?aa:W,transition:aa||$&&Z.current.newIndex===A?bN:(!U||ar(I))&&o&&(S||_)?at.Transition.toString({...o,property:bM}):void 0}}({id:a}),i={transform:at.Transform.toString(f),transition:g,opacity:h?.5:1,zIndex:h?50:"auto"};return(0,x.jsx)("div",{ref:e,style:i,className:"h-full",children:b({...c,...d})})}function dQ(){return(0,x.jsx)(cY.TotpGate,{children:a=>(0,x.jsx)(dR,{terminalToken:a})})}function dR({terminalToken:a}){let b=(0,Y.useRouter)(),{basePath:c,hasNetwork:d,hasCollaboration:e,hasCortex:f}=(0,cW.useTier)(),[g,h]=(0,y.useState)([]),[i,j]=(0,y.useState)(!0),[k,l]=(0,y.useState)(!0),[m,n]=(0,y.useState)(!1),[o,p]=(0,y.useState)(null),[q,r]=(0,y.useState)(new Set),[s,t]=(0,y.useState)(new Set),[u,v]=(0,y.useState)(!1),[w,I]=(0,y.useState)(!0);!function(){let a=(0,c3.useQueryClient)(),{hasCollaboration:b}=(0,cW.useTier)();(0,y.useEffect)(()=>{if(!b)return;let c=new EventSource((0,cT.api)("/api/events")),d=()=>{a.invalidateQueries({queryKey:["workspace-messages"]})},e=()=>{a.invalidateQueries({queryKey:["workspace-context"]})};return c.addEventListener("workspace:message",d),c.addEventListener("workspace:request",d),c.addEventListener("workspace:context_updated",e),()=>{c.removeEventListener("workspace:message",d),c.removeEventListener("workspace:request",d),c.removeEventListener("workspace:context_updated",e),c.close()}},[a,b])}();let[$,_]=(0,y.useState)(!1);(0,y.useEffect)(()=>{fetch((0,cT.api)("/api/config")).then(a=>a.json()).then(a=>_(!!a.todosEnabled)).catch(()=>{})},[]);let[aa,ab]=(0,y.useState)([]),[ac,ad]=(0,y.useState)(null),[ae,af]=(0,y.useState)(!1),[ag,ah]=(0,y.useState)(!1),[ai,aj]=(0,y.useState)(!1),[ak,al]=(0,y.useState)(""),[am,an]=(0,y.useState)("#6366f1"),[ao,ap]=(0,y.useState)(null),[aq,ar]=(0,y.useState)(""),[as,at]=(0,y.useState)(null),au=(0,y.useRef)(null),[av,aw]=(0,y.useState)(null),[ax,ay]=(0,y.useState)(!1),[az,aA]=(0,y.useState)(null),aB=(0,y.useCallback)(a=>{aA(a),ay(!0)},[]),[aC,aE]=(0,y.useState)(""),[aF,aG]=(0,y.useState)(""),[aH,aJ]=(0,y.useState)("#6366f1"),[aK,aL]=(0,y.useState)(""),[aM,aN]=(0,y.useState)("claude"),[aO,aP]=(0,y.useState)("new"),[aQ,aR]=(0,y.useState)(""),[aS,aT]=(0,y.useState)(""),aU=(0,c$.useRemoteWorkspaces)(),[aV,aW]=(0,y.useState)(new Set),aX=(0,y.useCallback)(a=>{aW(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),[aY,aZ]=(0,y.useState)(""),[a$,a_]=(0,y.useState)([]),[a0,a1]=(0,y.useState)(!1),[a2,a4]=(0,y.useState)(!1),[a5,a6]=(0,y.useState)(null),[a7,a9]=(0,y.useState)(!0),ba=(0,y.useRef)(null),bb=(0,y.useRef)(null),bc=(0,y.useRef)(null),bd=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/workspaces")),b=await a.json();ab(b);let c=b.find(a=>a.isActive);return ad(c||null),l(!1),c||null},[]),be=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/panes")),b=await a.json();h(b);let c=new Set;for(let a of b)a.isPopout&&c.add(a.id);t(c),j(!1)},[]);(0,y.useEffect)(()=>{bd()},[bd]),(0,y.useEffect)(()=>{u&&be()},[u,be]),(0,y.useEffect)(()=>{let a=new BroadcastChannel("spaces-panes");return bc.current=a,a.onmessage=a=>{let b=a.data;"popout-opened"===b.type?t(a=>new Set(a).add(b.paneId)):"popout-closed"===b.type?(t(a=>{let c=new Set(a);return c.delete(b.paneId),c}),h(a=>a.map(a=>a.id===b.paneId?{...a,isPopout:!1}:a))):"pane-updated"===b.type&&h(a=>a.map(a=>a.id===b.paneId?{...a,...b.data}:a))},()=>a.close()},[be]);let[bf,bg]=(0,y.useState)(0);(0,y.useEffect)(()=>{if(!i)for(let a of g)a.isPopout&&bp(a)},[i,bf]),(0,y.useEffect)(()=>{if(!(cZ.AGENT_TYPES[aM]?.supportsResume&&"resume"===aO))return;a1(!0);let a=setTimeout(()=>{let a=new URLSearchParams({sortBy:"modified",sortDir:"DESC",limit:"200"});aY&&a.set("search",aY),a7&&aF&&a.set("projectPath",aF),a.set("agentType",aM),fetch((0,cT.api)(`/api/sessions?${a}`)).then(a=>a.json()).then(a=>{a_(a.sessions||[]),a1(!1)}).catch(()=>a1(!1))},300*!!aY);return()=>clearTimeout(a)},[aM,aO,aY,a7,aF]),(0,y.useEffect)(()=>{function a(a){ba.current&&!ba.current.contains(a.target)&&a4(!1),bb.current&&!bb.current.contains(a.target)&&af(!1),au.current&&!au.current.contains(a.target)&&at(null)}return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]);let bh=(0,y.useCallback)(async()=>{let a,b=cZ.AGENT_TYPES[aM],c=aF||a5?.projectPath||"/";"shell"!==aM&&(a="resume"===aO&&b?.supportsResume?a5?.sessionId||aK:"new");let d=aC||(a5?a5.customName||a5.firstPrompt?.slice(0,50)||b?.name||"Agent":"")||("shell"===aM?"Terminal":b?.name||"Agent"),e=ac?.collaboration&&"shell"!==aM,f=await fetch((0,cT.api)("/api/panes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:d,color:aH,cwd:c,claudeSessionId:a,agentType:aM,customCommand:"custom"===aM?aQ:void 0,nodeId:aS||void 0,isCollaborating:e||void 0})}),g=await f.json();h(a=>[...a,g]),(0,c7.track)("pane_created",{agentType:aM}),n(!1),aE(""),aG(""),aJ("#6366f1"),aL(""),aN("shell"),aP("new"),aR(""),aT(""),a6(null),aZ("")},[aC,aF,aH,aK,aM,aO,aQ,aS,a5]),bi=(0,y.useCallback)(async a=>{let b=g.find(b=>b.id===a);await fetch((0,cT.api)(`/api/panes/${a}`),{method:"DELETE"}),h(b=>b.filter(b=>b.id!==a)),b&&(0,c7.track)("pane_closed",{agentType:b.agentType}),o===a&&p(null),t(b=>{let c=new Set(b);return c.delete(a),c})},[o,g]),bj=(0,y.useCallback)(async(a,b)=>{await fetch((0,cT.api)(`/api/panes/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),h(c=>c.map(c=>c.id===a?{...c,...b}:c))},[]),bk=(0,y.useCallback)(a=>{p(b=>b===a?null:a)},[]),bl=(0,y.useCallback)(a=>{r(b=>new Set(b).add(a)),o===a&&p(null)},[o]),bm=(0,y.useCallback)(a=>{r(b=>{let c=new Set(b);return c.delete(a),c})},[]),bn=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,y.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}(aD(a8,{activationConstraint:{distance:8}}),aD(a3)),bo=(0,y.useCallback)(a=>{let{active:b,over:c}=a;c&&b.id!==c.id&&h(a=>{let d=a.findIndex(a=>a.id===b.id),e=a.findIndex(a=>a.id===c.id);if(-1===d||-1===e)return a;let f=bB(a,d,e);return f.forEach((a,b)=>{a.sortOrder!==b&&fetch((0,cT.api)(`/api/panes/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({sortOrder:b})}).catch(()=>{})}),f.map((a,b)=>({...a,sortOrder:b}))})},[]),bp=(0,y.useCallback)(a=>{let b=a.winWidth||900,c=a.winHeight||600,d=a.winX??Math.round(screen.width/2-b/2),e=a.winY??Math.round(screen.height/2-c/2),f=`left=${d},top=${e},width=${b},height=${c},menubar=no,toolbar=no,location=no,status=no`;window.open((0,cT.api)(`/terminal/pane/${a.id}`),`spaces-pane-${a.id}`,f),t(b=>new Set(b).add(a.id)),fetch((0,cT.api)(`/api/panes/${a.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!0,winX:d,winY:e,winWidth:b,winHeight:c})})},[]),bq=(0,y.useCallback)(a=>{let b=g.find(b=>b.id===a);b&&bp(b)},[g,bp]),br=(0,y.useCallback)(async a=>{bc.current?.postMessage({type:"close-popouts"}),await fetch((0,cT.api)(`/api/panes/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!1})}),t(b=>{let c=new Set(b);return c.delete(a),c})},[]),bs=(0,y.useCallback)(()=>{s.size>0&&(bc.current?.postMessage({type:"close-popouts"}),t(new Set))},[s]),bt=(0,y.useCallback)(async a=>{bs(),await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"switch",workspaceId:a})}),p(null),await bd(),await be(),af(!1),u?(0,c7.track)("workspace_switched"):(0,c7.track)("workspace_entered"),v(!0),bg(a=>a+1)},[bd,be,bs,u]),bu=(0,y.useCallback)(async()=>{ak.trim()&&ac&&(await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"duplicate",sourceId:ac.id,name:ak.trim(),color:am})}),al(""),an("#6366f1"),ah(!1),await bd())},[ak,am,ac,bd]),bw=(0,y.useCallback)(async()=>{let a=await fetch((0,cT.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"New Space",color:"#6366f1"})}),b=await a.json();(0,c7.track)("workspace_created"),await bt(b.id)},[bt]),bx=(0,y.useCallback)(async a=>{bs(),await fetch((0,cT.api)(`/api/workspaces/${a}`),{method:"DELETE"}),(0,c7.track)("workspace_deleted"),await bd(),await be(),af(!1)},[bd,be,bs]),by=(0,y.useCallback)(()=>{bs(),h([]),v(!1)},[bs]),bz=(0,y.useCallback)(async(a,b)=>{await fetch((0,cT.api)(`/api/workspaces/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),ap(null),await bd()},[bd]),bA=(0,y.useCallback)(async(a,b)=>{await fetch((0,cT.api)(`/api/workspaces/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({color:b})}),at(null),await bd()},[bd]),bC=g.filter(a=>!s.has(a.id)&&!q.has(a.id)),bD=g.filter(a=>q.has(a.id));return u?i?(0,x.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,x.jsx)(A.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,x.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,x.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-zinc-800 flex-shrink-0",children:[(0,x.jsxs)("div",{className:"flex items-center gap-3",children:[(0,x.jsx)("button",{onClick:by,className:"p-1.5 -ml-1 text-zinc-500 hover:text-white hover:bg-zinc-800 rounded-md transition-colors",title:"Close space and go home",children:(0,x.jsx)(P.Home,{className:"w-4 h-4"})}),(0,x.jsx)("div",{className:"w-px h-4 bg-zinc-800"}),(0,x.jsx)("h1",{className:"text-sm font-semibold",children:"Spaces"}),(0,x.jsxs)("div",{ref:bb,className:"relative",children:[(0,x.jsxs)("button",{onClick:()=>af(!ae),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs bg-zinc-800 border border-zinc-700 rounded-md hover:border-zinc-600 transition-colors",children:[ac&&(0,x.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:ac.color}}),(0,x.jsx)("span",{className:"max-w-[150px] truncate",children:ac?.name||"No space"}),(0,x.jsx)(G.ChevronDown,{className:"w-3 h-3 text-zinc-500"})]}),ae&&(0,x.jsxs)("div",{className:"absolute z-50 top-full left-0 mt-1 w-72 bg-zinc-800 border border-zinc-700 rounded-md shadow-xl overflow-hidden",children:[(0,x.jsx)("div",{className:"p-2 border-b border-zinc-700/50 text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Switch Space"}),(0,x.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:aa.map(a=>(0,x.jsx)("div",{className:"flex items-center gap-2 hover:bg-zinc-700/50 transition-colors group",children:ao===a.id?(0,x.jsxs)("div",{className:"flex items-center gap-1 flex-1 px-3 py-2",children:[(0,x.jsx)("input",{autoFocus:!0,value:aq,onChange:a=>ar(a.target.value),onKeyDown:b=>{"Enter"===b.key&&bz(a.id,aq),"Escape"===b.key&&ap(null)},className:"flex-1 bg-transparent border border-zinc-600 rounded px-1.5 py-0.5 text-xs focus:outline-none focus:border-indigo-400"}),(0,x.jsx)("button",{onClick:()=>bz(a.id,aq),className:"text-green-400 hover:text-green-300",children:(0,x.jsx)(M.Check,{className:"w-3 h-3"})})]}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsxs)("div",{className:"relative pl-3",children:[(0,x.jsx)("button",{onClick:b=>{b.stopPropagation(),at(as===a.id?null:a.id)},className:"w-2.5 h-2.5 rounded-full flex-shrink-0 hover:ring-2 hover:ring-zinc-500/50 transition-all",style:{backgroundColor:a.color},title:"Change color"}),as===a.id&&(0,x.jsx)("div",{ref:au,className:"absolute z-50 top-full left-0 mt-1.5 p-2 bg-zinc-800 border border-zinc-700 rounded-md shadow-xl",onClick:a=>a.stopPropagation(),children:(0,x.jsx)(cO.ColorPicker,{value:a.color,onChange:b=>bA(a.id,b)})})]}),(0,x.jsxs)("button",{onClick:()=>bt(a.id),className:"flex items-center gap-2 flex-1 py-2 pr-3 text-left",children:[(0,x.jsx)("span",{className:"text-xs text-white truncate flex-1",children:a.name}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[a.paneCount||0," panes"]}),a.isActive&&(0,x.jsx)("span",{className:"text-[10px] text-indigo-400",children:"active"})]}),(0,x.jsxs)("div",{className:"flex items-center gap-0.5 pr-2 opacity-0 group-hover:opacity-100",children:[(0,x.jsx)("button",{onClick:b=>{b.stopPropagation(),ap(a.id),ar(a.name)},className:"p-1 text-zinc-500 hover:text-white rounded",title:"Rename",children:(0,x.jsx)(L.Pencil,{className:"w-2.5 h-2.5"})}),!a.isActive&&aa.length>1&&(0,x.jsx)("button",{onClick:b=>{b.stopPropagation(),confirm(`Delete space "${a.name}" and all its panes?`)&&bx(a.id)},className:"p-1 text-zinc-500 hover:text-red-400 rounded",title:"Delete",children:(0,x.jsx)(K.Trash2,{className:"w-2.5 h-2.5"})})]})]})},a.id))}),(0,x.jsxs)("div",{className:"border-t border-zinc-700/50 p-1.5 flex gap-1",children:[(0,x.jsxs)("button",{onClick:bw,className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-zinc-400 hover:text-white hover:bg-zinc-700 rounded transition-colors flex-1",children:[(0,x.jsx)(z.Plus,{className:"w-3 h-3"})," New Empty"]}),(0,x.jsxs)("button",{onClick:()=>{aj(!0),af(!1)},className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-indigo-400 hover:text-indigo-300 hover:bg-indigo-500/10 rounded transition-colors flex-1",children:[(0,x.jsx)(X,{className:"w-3 h-3"})," Plan Project"]}),(0,x.jsxs)("button",{onClick:()=>{ah(!0),af(!1)},className:"flex items-center gap-1.5 px-2.5 py-1.5 text-[11px] text-zinc-400 hover:text-white hover:bg-zinc-700 rounded transition-colors flex-1",children:[(0,x.jsx)(O.Copy,{className:"w-3 h-3"})," Duplicate"]})]})]})]}),(0,x.jsxs)("span",{className:"text-[11px] text-zinc-500",children:[bC.length," pane",1!==bC.length?"s":"",s.size>0&&` + ${s.size} popped out`]})]}),(0,x.jsxs)("div",{className:"flex items-center gap-2",children:[(0,x.jsx)(dM,{enabled:g.some(a=>"claude"===a.agentType&&!s.has(a.id))}),(0,x.jsxs)("button",{onClick:()=>ay(!ax),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${ax?"border-amber-500/50 bg-amber-600/20 text-amber-400":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,title:ax?"Hide file explorer":"Show file explorer",children:[(0,x.jsx)(E.FolderOpen,{className:"w-3.5 h-3.5"}),"Files"]}),e&&ac&&(0,x.jsxs)("button",{onClick:async()=>{let a=!ac.collaboration;for(let b of(await fetch((0,cT.api)(`/api/workspaces/${ac.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({collaboration:a})}),ad(b=>b?{...b,collaboration:a}:b),ab(b=>b.map(b=>b.id===ac.id?{...b,collaboration:a}:b)),g.filter(a=>a.workspaceId===ac.id&&"shell"!==a.agentType)))b.isCollaborating!==a&&await bj(b.id,{isCollaborating:a})},className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${ac.collaboration?"border-indigo-500/50 bg-indigo-600/20 text-indigo-400":"border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:border-zinc-600"}`,title:ac.collaboration?"Collaboration enabled — click to disable":"Enable collaboration for this workspace",children:[(0,x.jsx)(U.Users,{className:"w-3.5 h-3.5"}),"Collab"]}),(0,x.jsxs)("button",{onClick:by,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs border border-zinc-700 text-zinc-400 rounded-md hover:text-white hover:border-zinc-600 transition-colors",title:"Close space and return home",children:[(0,x.jsx)(Q,{className:"w-3.5 h-3.5"}),"Close"]}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"flex items-center gap-1.5 px-3 py-1.5 text-xs bg-indigo-600 text-white rounded-md hover:bg-indigo-500 transition-colors",children:[(0,x.jsx)(z.Plus,{className:"w-3.5 h-3.5"}),"Add Pane"]})]})]}),ag&&(0,x.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-3",children:(0,x.jsxs)("div",{className:"max-w-md flex items-center gap-2",children:[(0,x.jsx)(J,{className:"w-4 h-4 text-indigo-400 flex-shrink-0"}),(0,x.jsx)("input",{autoFocus:!0,type:"text",placeholder:"New space name...",value:ak,onChange:a=>al(a.target.value),onKeyDown:a=>"Enter"===a.key&&bu(),className:"flex-1 px-3 py-1.5 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white"}),(0,x.jsx)(cO.ColorPicker,{value:am,onChange:an}),(0,x.jsx)("button",{onClick:bu,disabled:!ak.trim(),className:"px-3 py-1.5 text-xs bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:"Save"}),(0,x.jsx)("button",{onClick:()=>ah(!1),className:"p-1.5 text-zinc-400 hover:text-white",children:(0,x.jsx)(N.X,{className:"w-4 h-4"})})]})}),m&&(0,x.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-4",children:(0,x.jsxs)("div",{className:"max-w-lg space-y-3",children:[(0,x.jsx)("h3",{className:"text-sm font-semibold",children:"Add Pane"}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Agent"}),(0,x.jsx)("div",{className:"grid grid-cols-3 gap-1.5",children:cZ.AGENT_LIST.map(a=>(0,x.jsxs)("button",{onClick:()=>{aN(a.id),aP("new"),a6(null),aL("")},className:`flex items-center gap-2 px-3 py-2 rounded-md border text-left transition-colors ${aM===a.id?"border-indigo-500 bg-indigo-600/20 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:[(0,x.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsxs)("div",{className:"min-w-0",children:[(0,x.jsx)("div",{className:"text-xs font-medium truncate",children:a.name}),(0,x.jsx)("div",{className:"text-[10px] text-zinc-500 truncate",children:a.description})]})]},a.id))})]}),cZ.AGENT_TYPES[aM]?.supportsResume&&(0,x.jsxs)("div",{className:"flex gap-2",children:[(0,x.jsx)("button",{onClick:()=>{aP("new"),a6(null),aL("")},className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"new"===aO?"bg-indigo-600 border-indigo-500 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:"New Session"}),(0,x.jsx)("button",{onClick:()=>aP("resume"),className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"resume"===aO?"bg-indigo-600 border-indigo-500 text-white":"border-zinc-700 text-zinc-400 hover:text-white hover:border-zinc-600"}`,children:"Resume Session"})]}),"custom"===aM&&(0,x.jsx)("input",{type:"text",placeholder:"Command to run (e.g. python agent.py)",value:aQ,onChange:a=>aR(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white font-mono"}),(0,x.jsx)(cX,{value:aS,onChange:aT}),(0,x.jsx)("input",{type:"text",placeholder:"Title (optional)",value:aC,onChange:a=>aE(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white"}),aS?(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Working directory (on remote node)"}),(0,x.jsx)("input",{type:"text",placeholder:"e.g. /home/user/project or ~ for home",value:aF,onChange:a=>aG(a.target.value),className:"w-full px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white font-mono"})]}):(0,x.jsx)(cU,{value:aF,onChange:aG}),cZ.AGENT_TYPES[aM]?.supportsResume&&"resume"===aO&&(0,x.jsxs)("div",{ref:ba,className:"relative",children:[a5?(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md",children:[(0,x.jsx)(D.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 flex-shrink-0"}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-white truncate",children:a5.customName||a5.firstPrompt?.slice(0,60)||"Untitled"}),(0,x.jsxs)("div",{className:"text-[10px] text-zinc-500 flex items-center gap-2",children:[(0,x.jsx)("span",{children:a5.projectName}),(0,x.jsxs)("span",{children:[a5.messageCount," msgs"]}),(0,x.jsxs)("span",{className:"font-mono",children:[a5.sessionId.slice(0,8),"..."]})]})]}),(0,x.jsx)("button",{onClick:()=>{a6(null),a4(!0)},className:"text-zinc-400 hover:text-white text-xs",children:"Change"})]}):(0,x.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md cursor-text",onClick:()=>a4(!0),children:[(0,x.jsx)(C.Search,{className:"w-3.5 h-3.5 text-zinc-500"}),(0,x.jsx)("input",{type:"text",placeholder:"Search sessions by name, prompt, or project...",value:aY,onChange:a=>{aZ(a.target.value),a4(!0)},onFocus:()=>a4(!0),className:"flex-1 bg-transparent focus:outline-none text-white placeholder:text-zinc-500"}),aF&&(0,x.jsx)("button",{onClick:a=>{a.stopPropagation(),a9(!a7)},className:`flex-shrink-0 px-1.5 py-0.5 text-[10px] rounded border transition-colors ${a7?"border-indigo-500/50 bg-indigo-600/20 text-indigo-400":"border-zinc-600 text-zinc-500 hover:text-zinc-400"}`,title:a7?"Showing sessions for this directory — click to show all":"Showing all sessions — click to filter by directory",children:a7?aF.split("/").pop():"All"}),(0,x.jsx)(G.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-500"})]}),a2&&!a5&&(0,x.jsx)("div",{className:"absolute z-50 top-full left-0 right-0 mt-1 max-h-[300px] overflow-y-auto bg-zinc-800 border border-zinc-700 rounded-md shadow-xl",children:a0?(0,x.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,x.jsx)(A.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"}),(0,x.jsx)("span",{className:"text-xs text-zinc-400 ml-2",children:"Loading sessions..."})]}):0===a$.length?(0,x.jsx)("div",{className:"py-4 px-3 text-xs text-zinc-500 text-center",children:aY?"No sessions match your search":"No sessions found"}):a$.map(a=>(0,x.jsx)("button",{onClick:()=>{a6(a),aL(a.sessionId),!aF&&a.projectPath&&aG(a.projectPath),aC||aE(a.customName||""),a4(!1)},className:"w-full text-left px-3 py-2.5 hover:bg-zinc-700 border-b border-zinc-700/50 last:border-0 transition-colors",children:(0,x.jsxs)("div",{className:"flex items-start gap-2",children:[(0,x.jsx)(D.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 mt-0.5 flex-shrink-0"}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-xs text-white truncate",children:a.customName||a.firstPrompt?.slice(0,70)||"Untitled session"}),(0,x.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,x.jsxs)("span",{className:"text-[10px] text-indigo-400/70 flex items-center gap-0.5",children:[(0,x.jsx)(E.FolderOpen,{className:"w-2.5 h-2.5"}),a.projectName]}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[a.messageCount," msgs"]}),(0,x.jsxs)("span",{className:"text-[10px] text-zinc-500 flex items-center gap-0.5",children:[(0,x.jsx)(F.Clock,{className:"w-2.5 h-2.5"}),new Date(a.modified).toLocaleDateString()]}),a.starred&&(0,x.jsx)("span",{className:"text-[10px]",children:"★"})]}),a.tags?.length>0&&(0,x.jsx)("div",{className:"flex gap-1 mt-1",children:a.tags.map(a=>(0,x.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 bg-zinc-700 rounded text-zinc-400",children:a},a))})]})]})},a.sessionId))})]}),(0,x.jsxs)("div",{children:[(0,x.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Color"}),(0,x.jsx)(cO.ColorPicker,{value:aH,onChange:aJ})]}),(0,x.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,x.jsx)("button",{onClick:bh,disabled:"custom"===aM&&!aQ.trim(),className:"px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50 disabled:cursor-not-allowed",children:"Create"}),(0,x.jsx)("button",{onClick:()=>n(!1),className:"px-4 py-2 text-sm border border-zinc-700 text-zinc-400 rounded-md hover:text-white hover:border-zinc-600",children:"Cancel"})]})]})}),s.size>0&&(0,x.jsxs)("div",{className:"flex items-center gap-2 px-4 py-1.5 border-b border-zinc-800 bg-zinc-900/50",children:[(0,x.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Popped out:"}),g.filter(a=>s.has(a.id)).map(a=>(0,x.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,x.jsxs)("button",{onClick:()=>bp(a),className:"flex items-center gap-1 px-2 py-0.5 text-[10px] bg-zinc-800 border border-zinc-700 rounded-l text-zinc-400 hover:text-white hover:border-zinc-600",title:"Focus popout window",children:[(0,x.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:a.color}}),a.title]}),(0,x.jsx)("button",{onClick:()=>br(a.id),className:"px-1 py-0.5 text-[10px] bg-zinc-800 border border-zinc-700 border-l-0 rounded-r text-zinc-500 hover:text-white hover:border-zinc-600",title:"Pop back into grid",children:(0,x.jsx)(R,{className:"w-2.5 h-2.5"})})]},a.id))]}),$&&(0,x.jsx)(dG,{workspace:ac}),(0,x.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[ax&&(0,x.jsx)("div",{className:"w-64 flex-shrink-0",children:(0,x.jsx)(dt,{onClose:()=>ay(!1),navigateTo:az})}),0===bC.length&&0===s.size&&0===q.size?(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,x.jsxs)("div",{className:"text-center space-y-3",children:[(0,x.jsx)("img",{src:`${c}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto opacity-30"}),(0,x.jsx)("p",{className:"text-zinc-500",children:"No panes yet."}),(0,x.jsx)("p",{className:"text-zinc-600 text-xs",children:"Add a pane to start a shell, Claude, Codex, Gemini, or any agent."}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 inline-flex items-center gap-2",children:[(0,x.jsx)(z.Plus,{className:"w-4 h-4"}),"Add your first pane"]})]})}):0===bC.length?(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,x.jsxs)("div",{className:"text-center space-y-2",children:[(0,x.jsx)("p",{className:"text-zinc-500 text-sm",children:q.size>0&&s.size>0?"All panes are minimized or popped out.":q.size>0?"All panes are minimized. Use the toolbar to restore them.":"All panes are popped out to separate windows."}),(0,x.jsxs)("button",{onClick:()=>n(!0),className:"px-3 py-1.5 text-xs text-zinc-400 hover:text-white border border-zinc-700 rounded-md hover:border-zinc-600 inline-flex items-center gap-1.5",children:[(0,x.jsx)(z.Plus,{className:"w-3.5 h-3.5"}),"Add another pane"]})]})}):(0,x.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden min-h-0",children:[(0,x.jsx)(bv,{sensors:bn,collisionDetection:aI,onDragEnd:bo,children:(0,x.jsx)(bI,{items:bC.map(a=>a.id),strategy:bF,children:(0,x.jsx)(dO,{panes:o?bC.filter(a=>a.id===o):bC,renderPane:(b,c)=>(0,x.jsx)(Z.TerminalPane,{pane:b,onClose:bi,onUpdate:bj,isMaximized:o===b.id,onToggleMaximize:bk,onMinimize:bl,onPopout:bq,onBrowse:aB,terminalToken:a,workspaceCollaboration:ac?.collaboration,dragHandleProps:c})})})}),bD.length>0&&(0,x.jsx)("div",{className:"flex items-center gap-1.5 px-2 py-1.5 border-t border-zinc-800 flex-shrink-0 overflow-x-auto bg-zinc-950",children:bD.map(a=>(0,x.jsxs)("button",{onClick:()=>bm(a.id),className:"flex items-center gap-1.5 px-2.5 py-1 text-[11px] rounded-md border border-zinc-700 hover:border-zinc-500 bg-zinc-800/50 hover:bg-zinc-700/50 text-zinc-400 hover:text-white transition-colors flex-shrink-0",title:`Restore ${a.title}`,children:[(0,x.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsx)("span",{className:"truncate max-w-[100px]",children:a.title}),(0,x.jsx)(W.Maximize2,{className:"w-2.5 h-2.5 text-zinc-500"})]},a.id))})]}),ac?.collaboration&&(0,x.jsx)(c4,{workspaceId:ac?.id??null,panes:bC.map(a=>({id:a.id,title:a.title,agentType:a.agentType,color:a.color})),collapsed:w,onToggle:()=>I(!w)})]}),(0,x.jsx)(dF,{isOpen:ai,onClose:()=>aj(!1),onLaunch:a=>{aj(!1),bt(a)}})]}):(0,x.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,x.jsx)("div",{className:"absolute top-4 left-4",children:(0,x.jsxs)("button",{onClick:()=>b.push("/"),className:"flex items-center gap-2 px-3 py-1.5 text-xs text-zinc-500 hover:text-white hover:bg-zinc-800 rounded-md transition-colors",children:[(0,x.jsx)(P.Home,{className:"w-3.5 h-3.5"}),"Home"]})}),(0,x.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 overflow-y-auto min-h-0",children:(0,x.jsxs)("div",{className:"w-full max-w-2xl my-auto",children:[(0,x.jsxs)("div",{className:"text-center mb-10",children:[(0,x.jsx)("img",{src:`${c}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto mb-4"}),(0,x.jsx)("h1",{className:"text-2xl font-bold mb-2",children:"Spaces"}),(0,x.jsx)("p",{className:"text-zinc-400 text-sm",children:"Choose a workspace to open, or create a new one."})]}),k?(0,x.jsx)("div",{className:"flex justify-center py-12",children:(0,x.jsx)(A.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)("div",{className:"grid grid-cols-2 gap-3 mb-6",children:aa.map(a=>(0,x.jsxs)("div",{className:`relative bg-zinc-900 border rounded-lg transition-all ${av===a.id?"border-zinc-600":"border-zinc-800 hover:border-zinc-600 hover:bg-zinc-800/50"}`,children:[(0,x.jsxs)("button",{onClick:()=>bt(a.id),className:"flex items-center gap-3 p-4 text-left w-full group",children:[(0,x.jsx)("span",{className:"w-3.5 h-3.5 rounded-full flex-shrink-0",style:{backgroundColor:a.color}}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-sm font-medium text-white truncate",children:a.name}),(0,x.jsxs)("div",{className:"text-xs text-zinc-500 mt-0.5",children:[a.paneCount||0," pane",1!==(a.paneCount||0)?"s":"",a.isActive&&(0,x.jsx)("span",{className:"text-indigo-400 ml-2",children:"last active"})]})]}),(0,x.jsx)(B.Terminal,{className:"w-4 h-4 text-zinc-600 group-hover:text-zinc-400 transition-colors"})]}),f&&(0,x.jsx)("button",{onClick:()=>aw(av===a.id?null:a.id),className:`absolute top-2 right-2 p-1 rounded transition-colors ${av===a.id?"text-purple-400 bg-purple-500/10":"text-zinc-700 hover:text-zinc-400"}`,title:"Knowledge lobe settings",children:(0,x.jsx)(V.Brain,{className:"w-3.5 h-3.5"})}),av===a.id&&(0,x.jsx)("div",{className:"px-4 pb-4 border-t border-zinc-800/50 pt-3",children:(0,x.jsx)(db,{workspaceId:a.id,workspaceName:a.name})})]},a.id))}),(0,x.jsxs)("div",{className:"flex justify-center gap-3",children:[(0,x.jsxs)("button",{onClick:bw,className:"flex items-center gap-2 px-4 py-2.5 text-sm border border-zinc-700 text-zinc-400 rounded-lg hover:text-white hover:border-zinc-500 transition-colors",children:[(0,x.jsx)(z.Plus,{className:"w-4 h-4"}),"New Workspace"]}),(0,x.jsxs)("button",{onClick:()=>aj(!0),className:"flex items-center gap-2 px-4 py-2.5 text-sm border border-dashed border-indigo-500/50 text-indigo-400 rounded-lg hover:text-indigo-300 hover:border-indigo-400 hover:bg-indigo-500/10 transition-colors",children:[(0,x.jsx)(X,{className:"w-4 h-4"}),"Plan a Project"]})]}),d&&aU.isLoading&&(0,x.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4 mt-6 border-t border-zinc-800",children:[(0,x.jsx)(A.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"}),(0,x.jsx)("span",{className:"text-xs text-zinc-500",children:"Loading network spaces..."})]}),d&&aU.data?.remote&&aU.data.remote.length>0&&(0,x.jsxs)("div",{className:"mt-6 border-t border-zinc-800 pt-6",children:[(0,x.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,x.jsx)(S.Globe,{className:"w-4 h-4 text-zinc-500"}),(0,x.jsx)("h2",{className:"text-sm font-medium text-zinc-400",children:"Network Spaces"})]}),aU.data.remote.map(a=>(0,x.jsxs)("div",{className:"mb-3",children:[(0,x.jsxs)("button",{onClick:()=>aX(a.nodeId),className:"flex items-center gap-2 w-full px-2 py-1.5 text-left text-xs text-zinc-400 hover:text-white rounded-md hover:bg-zinc-800/50 transition-colors",children:[aV.has(a.nodeId)?(0,x.jsx)(H.ChevronRight,{className:"w-3.5 h-3.5 text-zinc-600"}):(0,x.jsx)(G.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-600"}),(0,x.jsx)(S.Globe,{className:"w-3 h-3 text-zinc-600"}),(0,x.jsx)("span",{className:"font-medium",children:a.nodeName}),(0,x.jsxs)("span",{className:"text-zinc-600",children:[a.workspaces.length," space",1!==a.workspaces.length?"s":""]})]}),!aV.has(a.nodeId)&&(0,x.jsx)("div",{className:"grid grid-cols-2 gap-2 mt-2 ml-5",children:a.workspaces.map(c=>(0,x.jsxs)("button",{onClick:()=>{b.push(`/terminal/remote/${a.nodeId}/${c.id}`)},className:"flex items-center gap-3 p-3 bg-zinc-900/50 border border-zinc-800/50 rounded-lg hover:border-zinc-600 hover:bg-zinc-800/30 transition-colors text-left group",children:[(0,x.jsx)("span",{className:"w-3 h-3 rounded-full flex-shrink-0 ring-1 ring-zinc-700",style:{backgroundColor:c.color}}),(0,x.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,x.jsx)("div",{className:"text-xs font-medium text-zinc-300 truncate",children:c.name}),(0,x.jsxs)("div",{className:"text-[10px] text-zinc-600 mt-0.5",children:[c.paneCount||0," pane",1!==(c.paneCount||0)?"s":""]})]}),(0,x.jsx)(S.Globe,{className:"w-3 h-3 text-zinc-700 group-hover:text-zinc-500 transition-colors"})]},`${a.nodeId}-${c.id}`))})]},a.nodeId)),aU.data.errors&&aU.data.errors.length>0&&(0,x.jsx)("div",{className:"mt-3 space-y-1",children:aU.data.errors.map(a=>(0,x.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-[10px] text-zinc-600",children:[(0,x.jsx)(T.AlertCircle,{className:"w-3 h-3 text-red-500/50"}),(0,x.jsxs)("span",{children:[a.nodeName,": ",a.error]})]},a.nodeId))})]})]})]})}),(0,x.jsx)(dF,{isOpen:ai,onClose:()=>aj(!1),onLaunch:a=>{aj(!1),bt(a)}})]})}a.s(["default",()=>dQ],266490)}];
|
|
86
86
|
|
|
87
87
|
//# sourceMappingURL=src_app_%28desktop%29_terminal_page_tsx_de5e8d85._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/[root-of-the-server]__90eeddae._.js",804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/[root-of-the-server]__90eeddae._.js",804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.9.10",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build && node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},951615,(e,t,s)=>{t.exports=e.x("node:buffer",()=>require("node:buffer"))},435825,(e,t,s)=>{self._ENTRIES||={};let n=Promise.resolve().then(()=>e.i(558217));n.catch(()=>{}),self._ENTRIES.middleware_middleware=new Proxy(n,{get(e,t){if("then"===t)return(t,s)=>e.then(t,s);let s=(...s)=>e.then(e=>(0,e[t])(...s));return s.then=(s,n)=>e.then(e=>e[t]).then(s,n),s}})}]);
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__90eeddae._.js.map
|