@jlongo78/agent-spaces 0.7.3 → 0.7.4
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 +7 -0
- package/.next/standalone/.next/build-manifest.json +2 -2
- package/.next/standalone/.next/routes-manifest.json +42 -0
- package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page.js +1 -1
- 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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/admin/users/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/analytics/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/cortex/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/network/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/projects/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/sessions/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/settings/page.js.nft.json +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 +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.js.nft.json +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.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/workspaces/page.js.nft.json +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 +17 -16
- 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 +5 -4
- package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +17 -16
- 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/cortex/curation/assess/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/assess/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +7 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/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/cortex.html +1 -1
- package/.next/standalone/.next/server/app/cortex.rsc +17 -16
- package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +17 -16
- 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.js.nft.json +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.js.nft.json +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 +4 -4
- package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +4 -4
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +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.js.nft.json +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 +4 -4
- package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +4 -4
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/m/settings/page.js.nft.json +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 +4 -4
- package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +4 -4
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/m/terminal/page.js.nft.json +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 +4 -4
- package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +4 -4
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/app/m.html +1 -1
- package/.next/standalone/.next/server/app/m.rsc +4 -4
- package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +4 -4
- 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 +2 -2
- package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/network.html +1 -1
- package/.next/standalone/.next/server/app/network.rsc +17 -16
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- 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 +5 -4
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +17 -16
- 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 +17 -16
- 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 +5 -4
- package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +17 -16
- 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/workspaces.html +1 -1
- package/.next/standalone/.next/server/app/workspaces.rsc +17 -16
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +2 -2
- 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 +5 -4
- package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +17 -16
- 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 +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__10e47926._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1665dc78._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d359752._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e8fabeb._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a386564._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c20fb38._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3ae92407._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4619e9bd._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a051043._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__508002e4._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c1f2459._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ec8c977._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__63cebc6c._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__64d30d4d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6dc1fb7e._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6faa04c0._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__74a34dc3._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4270b77._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b9545dd9._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf3c60c2._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d73273ca._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8417eb6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9223f55._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eee4c5e8._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f26ca49d._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f33e1101._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__f515f865._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fceb5d60._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__fed41403._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_curation_assess_route_actions_3e8ef2a6.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_curation_publish_route_actions_49238be3.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_curation_refine_route_actions_05675688.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_curation_review_route_actions_5cbb5f6b.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_curation_seed_route_actions_21084bdb.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_marketplace_browse_route_actions_7ed0768c.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_cortex_marketplace_preview_route_actions_38d4cc17.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__23f374a2._.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/{[root-of-the-server]__efef0a06._.js → [root-of-the-server]__ca5beb09._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_b4db3983._.js → _01842037._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_7dd2ac82._.js → _036cbaa2._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_10c0d382._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_163d0838._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_9303a965._.js → _43455582._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_7e63066a._.js → _67887e33._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_950142a4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_02bae6e5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +2 -2
- package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +1 -1
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/static/chunks/{a7b2795949a6c63e.js → 224aab5107987011.js} +2 -2
- package/.next/standalone/.next/static/chunks/415827af44b8c374.js +1 -0
- package/.next/standalone/.next/static/chunks/8a7f58872c123a53.css +3 -0
- package/.next/standalone/.next/static/chunks/b0484608571d975a.js +1 -0
- package/.next/standalone/.next/static/chunks/{e35e863c09511a51.js → b42a38df3e418ff0.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0e61e67b7b8fc3f3.js → c418112e102673ce.js} +1 -1
- package/.next/standalone/.next/static/chunks/d6474f65a17c483e.js +1 -0
- package/.next/standalone/.next/static/chunks/e2f0a2330dedff4b.js +85 -0
- package/.next/standalone/.next/static/chunks/f0c8b3f8cc1939ec.js +1 -0
- package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -0
- package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -0
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/src/app/(desktop)/cortex/page.tsx +7 -4
- package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -0
- package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -0
- package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -0
- package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -0
- package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -0
- package/.next/standalone/src/app/api/cortex/import/route.ts +51 -19
- package/.next/standalone/src/app/api/cortex/marketplace/browse/route.ts +43 -0
- package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -0
- package/.next/standalone/src/app/api/cortex/status/route.ts +40 -0
- package/.next/standalone/src/components/cortex/constants.ts +29 -0
- package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +80 -4
- package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -0
- package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -0
- package/.next/standalone/src/components/cortex/knowledge-card.tsx +1 -19
- package/.next/standalone/src/components/cortex/knowledge-tab.tsx +103 -1
- package/.next/standalone/src/components/cortex/lobe-settings.tsx +16 -0
- package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -0
- package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -0
- package/.next/standalone/src/lib/cortex/types.ts +1 -0
- package/bin/spaces.js +6 -17
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ecce08b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_cd50a174._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_e7a9e2b0._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_133a7c8a._.js +0 -3
- package/.next/standalone/.next/static/chunks/58d78765e5140dcb.js +0 -1
- package/.next/standalone/.next/static/chunks/78dd908e70bf8c4b.js +0 -85
- package/.next/standalone/.next/static/chunks/9196173f0d081f2c.js +0 -1
- package/.next/standalone/.next/static/chunks/9bd8a119aaeafc9e.js +0 -1
- package/.next/standalone/.next/static/chunks/f644c11ace7a0d9d.css +0 -3
- package/.next/standalone/src/components/cortex/context-tab.tsx +0 -171
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → Ku7_sP1T1UuqtRhUTiJZw}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → Ku7_sP1T1UuqtRhUTiJZw}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → Ku7_sP1T1UuqtRhUTiJZw}/_ssgManifest.js +0 -0
package/bin/spaces.js
CHANGED
|
@@ -351,29 +351,16 @@ function startServer() {
|
|
|
351
351
|
|
|
352
352
|
console.log('');
|
|
353
353
|
|
|
354
|
-
// ─── Background update check (non-blocking)
|
|
354
|
+
// ─── Background update check (non-blocking, repeats every 4h) ──
|
|
355
355
|
// Compare installed version against npm registry. Writes result to
|
|
356
356
|
// ~/.spaces/update-check.json so the UI can show a banner.
|
|
357
357
|
const updateCheckPath = path.join(SPACES_DIR, 'update-check.json');
|
|
358
|
-
|
|
358
|
+
const checkForUpdates = async (logIfAvailable = true) => {
|
|
359
359
|
try {
|
|
360
360
|
const pkg = require(path.join(projectDir, 'package.json'));
|
|
361
361
|
const currentVersion = pkg.version;
|
|
362
362
|
const npmName = pkg.name || '@jlongo78/agent-spaces';
|
|
363
363
|
|
|
364
|
-
// Skip if checked within the last hour
|
|
365
|
-
try {
|
|
366
|
-
if (fs.existsSync(updateCheckPath)) {
|
|
367
|
-
const cached = JSON.parse(fs.readFileSync(updateCheckPath, 'utf-8'));
|
|
368
|
-
if (Date.now() - (cached.checkedAt || 0) < 3600_000) {
|
|
369
|
-
if (cached.available) {
|
|
370
|
-
console.log(` Update available: ${currentVersion} → ${cached.latest} (run: npm i -g ${npmName})`);
|
|
371
|
-
}
|
|
372
|
-
return;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
} catch { /* check fresh */ }
|
|
376
|
-
|
|
377
364
|
const res = await fetch(`https://registry.npmjs.org/${encodeURIComponent(npmName)}/latest`, {
|
|
378
365
|
signal: AbortSignal.timeout(5000),
|
|
379
366
|
});
|
|
@@ -391,11 +378,13 @@ function startServer() {
|
|
|
391
378
|
|
|
392
379
|
fs.writeFileSync(updateCheckPath, JSON.stringify(result, null, 2));
|
|
393
380
|
|
|
394
|
-
if (result.available) {
|
|
381
|
+
if (result.available && logIfAvailable) {
|
|
395
382
|
console.log(` Update available: ${currentVersion} → ${latest} (run: npm i -g ${npmName})`);
|
|
396
383
|
}
|
|
397
384
|
} catch { /* network error — skip silently */ }
|
|
398
|
-
}
|
|
385
|
+
};
|
|
386
|
+
checkForUpdates(true);
|
|
387
|
+
setInterval(() => checkForUpdates(false), 4 * 3600_000); // re-check every 4 hours
|
|
399
388
|
|
|
400
389
|
// Also check addon updates (git-based packages)
|
|
401
390
|
const gitSafe = ['-c', 'safe.directory=*'];
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[36313,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.HooksClientContext},18341,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.ServerInsertedHtml},56704,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},20635,(a,b,c)=>{b.exports=a.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},9270,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored.contexts.AppRouterContext},38783,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactServerDOMTurbopackClient},81560,a=>{"use strict";let b=(0,a.i(60137).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);a.s(["Trash2",()=>b],81560)},68063,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getDeploymentId:function(){return f},getDeploymentIdQueryOrEmptyString:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(){return!1}function g(){return""}},63588,a=>{"use strict";let b=(0,a.i(60137).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);a.s(["MessageSquare",()=>b],63588)},96101,a=>{"use strict";let b=(0,a.i(60137).default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);a.s(["FolderOpen",()=>b],96101)},17545,a=>{"use strict";let b=(0,a.i(60137).default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);a.s(["Layers",()=>b],17545)},87532,a=>{"use strict";let b=(0,a.i(60137).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);a.s(["Search",()=>b],87532)},73570,a=>{"use strict";let b=(0,a.i(60137).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);a.s(["AlertTriangle",()=>b],73570)},61545,a=>{"use strict";let b=(0,a.i(60137).default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]);a.s(["Brain",()=>b],61545)},60137,a=>{"use strict";var b=a.i(72131);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],60137)},98621,a=>{"use strict";function b(){for(var a,b,c=0,d="",e=arguments.length;c<e;c++)(a=arguments[c])&&(b=function a(b){var c,d,e="";if("string"==typeof b||"number"==typeof b)e+=b;else if("object"==typeof b)if(Array.isArray(b)){var f=b.length;for(c=0;c<f;c++)b[c]&&(d=a(b[c]))&&(e&&(e+=" "),e+=d)}else for(d in b)b[d]&&(e&&(e+=" "),e+=d);return e}(a))&&(d&&(d+=" "),d+=b);return d}a.s(["clsx",()=>b])},46058,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},39118,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DEFAULT_SEGMENT_KEY:function(){return l},NOT_FOUND_SEGMENT_KEY:function(){return m},PAGE_SEGMENT_KEY:function(){return k},addSearchParamsIfPageSegment:function(){return i},computeSelectedLayoutSegment:function(){return j},getSegmentValue:function(){return f},getSelectedLayoutSegmentPath:function(){return function a(b,c,d=!0,e=[]){let g;if(d)g=b[1][c];else{let a=b[1];g=a.children??Object.values(a)[0]}if(!g)return e;let h=f(g[0]);return!h||h.startsWith(k)?e:(e.push(h),a(g,c,!1,e))}},isGroupSegment:function(){return g},isParallelRouteSegment:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return Array.isArray(a)?a[1]:a}function g(a){return"("===a[0]&&a.endsWith(")")}function h(a){return a.startsWith("@")&&"@children"!==a}function i(a,b){if(a.includes(k)){let a=JSON.stringify(b);return"{}"!==a?k+"?"+a:k}return a}function j(a,b){if(!a||0===a.length)return null;let c="children"===b?a[0]:a[a.length-1];return c===l?null:c}let k="__PAGE__",l="__DEFAULT__",m="/_not-found"},41997,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},21161,a=>{"use strict";let b=(0,a.i(60137).default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);a.s(["Settings",()=>b],21161)},33508,a=>{"use strict";let b=(0,a.i(60137).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],33508)},44494,a=>{"use strict";let b=(0,a.i(60137).default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);a.s(["Globe",()=>b],44494)},60246,a=>{"use strict";let b=(0,a.i(60137).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);a.s(["Users",()=>b],60246)},52495,a=>{"use strict";let b=(0,a.i(60137).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);a.s(["ExternalLink",()=>b],52495)},90669,a=>{"use strict";let b=(0,a.i(60137).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);a.s(["Activity",()=>b],90669)},30617,a=>{"use strict";let b=(0,a.i(60137).default)("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);a.s(["LayoutDashboard",()=>b],30617)},39761,a=>{"use strict";let b=(0,a.i(60137).default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);a.s(["BarChart3",()=>b],39761)},20005,a=>{"use strict";let b=(0,a.i(60137).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",()=>b],20005)},88731,a=>{"use strict";var b=a.i(87924),c=a.i(81560),d=a.i(73570),e=a.i(19032);let f={decision:"bg-blue-500/20 text-blue-400",preference:"bg-pink-500/20 text-pink-400",pattern:"bg-green-500/20 text-green-400",error_fix:"bg-amber-500/20 text-amber-400",context:"bg-gray-500/20 text-gray-400",code_pattern:"bg-cyan-500/20 text-cyan-400",command:"bg-orange-500/20 text-orange-400",conversation:"bg-slate-500/20 text-slate-400",summary:"bg-violet-500/20 text-violet-400"},g={public:"bg-green-500/20 text-green-400",internal:"bg-indigo-500/20 text-indigo-400",restricted:"bg-amber-500/20 text-amber-400",confidential:"bg-red-500/20 text-red-400"};function h({unit:a,onDelete:h,compact:i}){var j;let k,l=f[a.type]||f.context,m=(j=a.created,0===(k=Math.floor((Date.now()-new Date(j).getTime())/864e5))?"today":1===k?"1d ago":k<30?`${k}d ago`:k<365?`${Math.floor(k/30)}mo ago`:`${Math.floor(k/365)}y ago`),n=(a.contradiction_refs?.length??0)>0,o=a.evidence_score??a.confidence,p=null!=a.evidence_score?`${o.toFixed(2)} evidence`:`${Math.round(100*o)}%`,q=async()=>{await fetch((0,e.api)(`/api/cortex/knowledge/${a.id}`),{method:"DELETE"}),h?.(a.id)};return(0,b.jsxs)("div",{className:"group border border-white/5 rounded-lg p-3 hover:border-white/10 transition-colors",children:[(0,b.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${l}`,children:a.type.replace("_"," ")}),a.sensitivity&&(0,b.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${g[a.sensitivity]||g.internal}`,children:a.sensitivity}),a.scope&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-purple-500/10 text-purple-400",children:a.scope.level}),(a.stale_score??0)>.3&&(0,b.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-amber-500/20 text-amber-400",children:"stale"}),n&&(0,b.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-amber-500/20 text-amber-400 flex items-center gap-0.5",children:[(0,b.jsx)(d.AlertTriangle,{className:"w-2.5 h-2.5"})," contested"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-gray-500 shrink-0",children:[(0,b.jsx)("span",{children:m}),h&&(0,b.jsx)("button",{onClick:q,className:"opacity-0 group-hover:opacity-100 transition-opacity text-red-400 hover:text-red-300",children:(0,b.jsx)(c.Trash2,{className:"w-3 h-3"})})]})]}),(0,b.jsx)("p",{className:"text-xs text-gray-300 mt-1.5 leading-relaxed line-clamp-3",children:a.text}),!i&&a.origin&&(0,b.jsxs)("div",{className:"flex items-center gap-1.5 mt-1.5 text-[10px] text-gray-500 flex-wrap",children:[(0,b.jsxs)("span",{children:["by ",a.origin.creator_entity_id.replace("person-","")]}),(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{children:["via ",a.origin.source_type.replace("_"," ")]}),(a.corroborations??0)>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("span",{children:"·"}),(0,b.jsxs)("span",{className:"text-green-400",children:[a.corroborations," corr."]})]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,b.jsx)("div",{className:"flex-1 h-1 bg-white/5 rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-purple-500/50 rounded-full",style:{width:`${Math.round(100*o)}%`}})}),(0,b.jsx)("span",{className:"text-[10px] text-gray-500 tabular-nums",children:p})]})]})}a.s(["KnowledgeCard",()=>h])},91693,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(38246),e=a.i(50944),f=a.i(30617),g=a.i(63588),h=a.i(96101),i=a.i(17545),j=a.i(39761),k=a.i(21161),l=a.i(87532),m=a.i(60246),n=a.i(90669),o=a.i(20005),p=a.i(44494),q=a.i(61545),r=a.i(68114),s=a.i(58037),t=a.i(19032),u=a.i(97498);function v({onClick:a}){let{hasCortex:d}=(0,u.useTier)(),[e,f]=(0,c.useState)(null);if((0,c.useEffect)(()=>{if(!d)return;let a=async()=>{try{let a=await fetch((0,t.api)("/api/cortex/status"));a.ok&&f(await a.json())}catch{}};a();let b=setInterval(a,3e4);return()=>clearInterval(b)},[d]),!d||!e?.enabled)return null;let g=Object.values(e.layers||{}).reduce((a,b)=>a+(b.count||0),0),h="healthy"===e.status?"text-purple-400":"text-red-400";return(0,b.jsxs)("button",{onClick:a,className:`flex items-center gap-1.5 px-2 py-1 rounded-md hover:bg-white/5 transition-colors ${h}`,title:`Cortex: ${g} knowledge units`,children:[(0,b.jsx)(q.Brain,{className:"w-4 h-4"}),(0,b.jsx)("span",{className:"text-xs tabular-nums",children:g}),(0,b.jsx)("span",{className:"text-[9px] font-medium uppercase tracking-wider opacity-60",children:"Beta"})]})}var w=a.i(33508),x=a.i(52495),y=a.i(88731);function z({open:a,onClose:e}){let[f,g]=(0,c.useState)(""),[h,i]=(0,c.useState)([]),[j,k]=(0,c.useState)("workspace"),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(!1),q=(0,c.useCallback)(async()=>{try{let a=await fetch((0,t.api)("/api/cortex/status"));a.ok&&n(await a.json())}catch{}},[]),r=(0,c.useCallback)(async a=>{p(!0);try{let b=new URLSearchParams({limit:"20",layer:j});a&&b.set("q",a);let c=await fetch((0,t.api)(`/api/cortex/search?${b}`));if(c.ok){let a=await c.json();i(a.results||[])}}catch{}p(!1)},[j]);(0,c.useEffect)(()=>{a&&(q(),r(f||void 0))},[a,j,q,r]);let s=a=>{i(b=>b.filter(b=>b.id!==a)),q()};return a?(0,b.jsxs)("div",{className:"fixed right-0 top-0 bottom-0 w-96 bg-gray-950 border-l border-white/10 z-[60] flex flex-col shadow-2xl",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 p-4 border-b border-white/5",children:[(0,b.jsxs)("h2",{className:"text-sm font-medium text-gray-200",children:["Cortex",(0,b.jsx)("span",{className:"ml-2 text-[9px] font-medium uppercase tracking-wider text-purple-400 bg-purple-400/10 px-1.5 py-0.5 rounded",children:"Beta"})]}),(0,b.jsxs)(d.default,{href:"/cortex",className:"text-[10px] text-purple-400 hover:text-purple-300 flex items-center gap-1",onClick:e,children:["Full view ",(0,b.jsx)(x.ExternalLink,{className:"w-2.5 h-2.5"})]}),(0,b.jsx)("button",{onClick:e,className:"ml-auto text-gray-500 hover:text-gray-300",children:(0,b.jsx)(w.X,{className:"w-4 h-4"})})]}),m&&(0,b.jsx)("div",{className:"flex gap-4 px-4 py-2 text-[10px] text-gray-500 border-b border-white/5",children:Object.entries(m.layers||{}).map(([a,c])=>(0,b.jsxs)("span",{children:[a,": ",c.count]},a))}),(0,b.jsx)("div",{className:"p-3 border-b border-white/5",children:(0,b.jsx)("div",{className:"flex gap-2",children:(0,b.jsxs)("div",{className:"flex-1 relative",children:[(0,b.jsx)(l.Search,{className:"absolute left-2.5 top-2 w-3.5 h-3.5 text-gray-500"}),(0,b.jsx)("input",{value:f,onChange:a=>g(a.target.value),onKeyDown:a=>"Enter"===a.key&&void r(f.trim()||void 0),placeholder:"Search knowledge...",className:"w-full pl-8 pr-3 py-1.5 text-xs bg-white/5 border border-white/10 rounded-md text-gray-300 placeholder-gray-600 focus:outline-none focus:border-purple-500/50"})]})})}),(0,b.jsx)("div",{className:"flex border-b border-white/5",children:["personal","workspace","team"].map(a=>(0,b.jsx)("button",{onClick:()=>k(a),className:`flex-1 py-2 text-xs font-medium transition-colors ${j===a?"text-purple-400 border-b-2 border-purple-400":"text-gray-500 hover:text-gray-300"}`,children:a},a))}),(0,b.jsxs)("div",{className:"flex-1 overflow-y-auto p-3 space-y-2",children:[o&&(0,b.jsx)("p",{className:"text-xs text-gray-500 text-center py-4",children:"Searching..."}),!o&&0===h.length&&(0,b.jsx)("p",{className:"text-xs text-gray-500 text-center py-4",children:f?"No results":"No knowledge stored yet"}),h.map(a=>(0,b.jsx)(y.KnowledgeCard,{unit:a,onDelete:s},a.id))]})]}):null}let A=[{href:"/terminal",label:"Spaces",icon:i.Layers},{href:"/",label:"Dashboard",icon:f.LayoutDashboard},{href:"/sessions",label:"Sessions",icon:g.MessageSquare},{href:"/projects",label:"Projects",icon:h.FolderOpen},{href:"/analytics",label:"Analytics",icon:j.BarChart3},{href:"/network",label:"Network",icon:p.Globe},{href:"/cortex",label:"Cortex",icon:q.Brain},{href:"/settings",label:"Settings",icon:k.Settings}],B={"/":"dashboard","/terminal":"terminal","/sessions":"sessions","/projects":"projects","/analytics":"analytics","/network":"network","/cortex":"cortex","/settings":"settings","/admin/users":"admin_users","/admin/analytics":"admin_analytics"};function C(){let a=(0,e.usePathname)(),f=(0,e.useRouter)(),{hasAuth:g,hasAdmin:h,hasNetwork:i,hasCortex:j,basePath:k}=(0,u.useTier)(),[p,q]=(0,c.useState)(null),[w,x]=(0,c.useState)(!1);(0,c.useEffect)(()=>{let b=B[a]||(a.startsWith("/sessions/")?"session_detail":a.slice(1));(0,s.trackPageView)(b)},[a]),(0,c.useEffect)(()=>{g&&fetch((0,t.api)("/api/auth/me")).then(a=>a.json()).then(a=>q(a.role)).catch(()=>{})},[g]);let y=async()=>{await fetch((0,t.api)("/api/auth/logout"),{method:"POST"}),f.push("/login")};return(0,b.jsxs)("aside",{className:"w-56 border-r border-zinc-200 dark:border-zinc-800 bg-zinc-50 dark:bg-zinc-950 flex flex-col h-screen fixed left-0 top-0",children:[(0,b.jsx)("div",{className:"p-4 border-b border-zinc-200 dark:border-zinc-800",children:(0,b.jsx)(d.default,{href:"/",children:(0,b.jsx)("img",{src:`${k}/spaces_logo.png`,alt:"Spaces",width:180,height:60})})}),(0,b.jsxs)("nav",{className:"flex-1 p-2 space-y-1",children:[A.filter(({href:a})=>"/network"===a?i:"/cortex"!==a||j).map(({href:c,label:e,icon:f})=>{let g="/"===c?"/"===a:a.startsWith(c);return(0,b.jsxs)(d.default,{href:c,className:(0,r.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",g?"bg-indigo-50 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 font-medium":"text-zinc-600 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-900"),children:[(0,b.jsx)(f,{className:"w-4 h-4"}),e]},c)}),h&&"admin"===p&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(d.default,{href:"/admin/users",className:(0,r.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",a.startsWith("/admin/users")?"bg-indigo-50 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 font-medium":"text-zinc-600 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-900"),children:[(0,b.jsx)(m.Users,{className:"w-4 h-4"}),"Users"]}),(0,b.jsxs)(d.default,{href:"/admin/analytics",className:(0,r.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",a.startsWith("/admin/analytics")?"bg-indigo-50 text-indigo-700 dark:bg-indigo-950 dark:text-indigo-300 font-medium":"text-zinc-600 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-900"),children:[(0,b.jsx)(n.Activity,{className:"w-4 h-4"}),"Activity"]})]})]}),(0,b.jsxs)("div",{className:"p-3 border-t border-zinc-200 dark:border-zinc-800 space-y-1",children:[j&&(0,b.jsx)("div",{className:"flex justify-center py-1",children:(0,b.jsx)(v,{onClick:()=>x(a=>!a)})}),j&&(0,b.jsx)(z,{open:w,onClose:()=>x(!1)}),(0,b.jsxs)(d.default,{href:"/sessions?search=true",className:"flex items-center gap-2 px-3 py-2 text-sm text-zinc-500 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded-md",children:[(0,b.jsx)(l.Search,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Search"}),(0,b.jsx)("kbd",{className:"ml-auto text-[10px] bg-zinc-200 dark:bg-zinc-800 px-1.5 py-0.5 rounded",children:"Ctrl+K"})]}),g&&(0,b.jsxs)("button",{onClick:y,className:"flex items-center gap-2 px-3 py-2 text-sm text-zinc-500 dark:text-zinc-400 hover:bg-zinc-100 dark:hover:bg-zinc-900 rounded-md w-full",children:[(0,b.jsx)(o.LogOut,{className:"w-4 h-4"}),(0,b.jsx)("span",{children:"Sign out"})]})]})]})}a.s(["Sidebar",()=>C],91693)}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=%5Broot-of-the-server%5D__0ecce08b._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[96221,a=>{"use strict";let b=(0,a.i(60137).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>b],96221)},59603,a=>{"use strict";var b=a.i(33217),c=a.i(70025),d=a.i(37927),e=a.i(19032);function f(a={}){return(0,b.useQuery)({queryKey:["sessions",a],queryFn:async()=>{let b=new URLSearchParams;return a.projectId&&b.set("projectId",a.projectId),void 0!==a.starred&&b.set("starred",String(a.starred)),a.search&&b.set("search",a.search),a.agentType&&b.set("agentType",a.agentType),a.sortBy&&b.set("sortBy",a.sortBy),a.sortDir&&b.set("sortDir",a.sortDir),void 0!==a.offset&&b.set("offset",String(a.offset)),void 0!==a.limit&&b.set("limit",String(a.limit)),"all"===a.nodeFilter&&b.set("nodes","all"),(await fetch((0,e.api)(`/api/sessions?${b}`))).json()}})}function g(a){return(0,b.useQuery)({queryKey:["session",a],queryFn:async()=>{let b=await fetch((0,e.api)(`/api/sessions/${a}`));if(!b.ok)throw Error("Session not found");return b.json()},enabled:!!a})}function h(a,c=0,d=50,f){return(0,b.useQuery)({queryKey:["messages",a,c,d,f],queryFn:async()=>{let b=f?(0,e.api)(`/api/network/proxy/${f}/sessions/${a}/messages?offset=${c}&limit=${d}`):(0,e.api)(`/api/sessions/${a}/messages?offset=${c}&limit=${d}`);return(await fetch(b)).json()},enabled:!!a})}function i(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async a=>(await fetch((0,e.api)(`/api/sessions/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"star"})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function j(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({sessionId:a,notes:b})=>(await fetch((0,e.api)(`/api/sessions/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"notes",notes:b})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["session"]})}})}function k(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({sessionId:a,tagName:b})=>(await fetch((0,e.api)(`/api/sessions/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"tag",tagName:b})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]}),a.invalidateQueries({queryKey:["tags"]})}})}function l(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({sessionId:a,tagName:b})=>(await fetch((0,e.api)(`/api/sessions/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"removeTag",tagName:b})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]}),a.invalidateQueries({queryKey:["tags"]})}})}function m(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({sessionId:a,name:b})=>(await fetch((0,e.api)(`/api/sessions/${a}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",name:b})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function n(){return(0,b.useQuery)({queryKey:["tags"],queryFn:async()=>(await fetch((0,e.api)("/api/tags"))).json()})}function o(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async a=>(await fetch((0,e.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",tagId:a})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["tags"]}),a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function p(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({tagId:a,color:b})=>(await fetch((0,e.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"updateColor",tagId:a,color:b})})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["tags"]}),a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function q(){return(0,b.useQuery)({queryKey:["workspaces"],queryFn:async()=>(await fetch((0,e.api)("/api/workspaces"))).json()})}function r(){return(0,b.useQuery)({queryKey:["workspaces","remote"],queryFn:async()=>(await fetch((0,e.api)("/api/workspaces?nodes=all"))).json()})}function s(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({workspaceId:a,sessionId:b,nodeId:c,title:d,cwd:f,agentType:g})=>{let h=await fetch((0,e.api)(`/api/workspaces/${a}/sessions`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:b,nodeId:c,title:d,cwd:f,agentType:g})});if(!h.ok)throw Error("Failed to add session to workspace");return h.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["workspaces"]}),a.invalidateQueries({queryKey:["workspace-sessions"]}),a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function t(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async({workspaceId:a,sessionId:b})=>{let c=await fetch((0,e.api)(`/api/workspaces/${a}/sessions`),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:b})});if(!c.ok)throw Error("Failed to remove session from workspace");return c.json()},onSuccess:()=>{a.invalidateQueries({queryKey:["workspaces"]}),a.invalidateQueries({queryKey:["workspace-sessions"]}),a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["session"]})}})}function u(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async a=>(await fetch((0,e.api)("/api/bulk"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).json(),onSuccess:()=>{a.invalidateQueries({queryKey:["sessions"]}),a.invalidateQueries({queryKey:["workspaces"]}),a.invalidateQueries({queryKey:["tags"]})}})}function v(){return(0,b.useQuery)({queryKey:["projects"],queryFn:async()=>(await fetch((0,e.api)("/api/projects"))).json()})}function w(){return(0,b.useQuery)({queryKey:["analytics"],queryFn:async()=>(await fetch((0,e.api)("/api/analytics/overview"))).json()})}function x(){let a=(0,d.useQueryClient)();return(0,c.useMutation)({mutationFn:async()=>(await fetch((0,e.api)("/api/sync"),{method:"POST"})).json(),onSuccess:()=>{a.invalidateQueries()}})}a.s(["useAddSessionToWorkspace",()=>s,"useAddTag",()=>k,"useAnalytics",()=>w,"useBulkAction",()=>u,"useDeleteTag",()=>o,"useMessages",()=>h,"useProjects",()=>v,"useRemoteWorkspaces",()=>r,"useRemoveSessionFromWorkspace",()=>t,"useRemoveTag",()=>l,"useRenameSession",()=>m,"useSession",()=>g,"useSessions",()=>f,"useSync",()=>x,"useTags",()=>n,"useToggleStar",()=>i,"useUpdateNotes",()=>j,"useUpdateTagColor",()=>p,"useWorkspaces",()=>q])},210,a=>{"use strict";let b=(0,a.i(60137).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],210)},17299,a=>{"use strict";var b=a.i(87924),c=a.i(50944),d=a.i(210),e=a.i(68114);function f({title:a,showBack:f,backHref:g,right:h,className:i}){let j=(0,c.useRouter)();return(0,b.jsxs)("header",{className:(0,e.cn)("sticky top-0 z-40 bg-zinc-950/95 backdrop-blur-sm border-b border-zinc-800","flex items-center gap-3 px-4 h-14 flex-shrink-0",i),children:[f&&(0,b.jsx)("button",{onClick:()=>{g?j.push(g):j.back()},className:"p-1 -ml-1 text-zinc-400 hover:text-white",children:(0,b.jsx)(d.ArrowLeft,{className:"w-5 h-5"})}),(0,b.jsx)("h1",{className:"text-base font-semibold truncate flex-1",children:a}),h&&(0,b.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:h})]})}a.s(["MobileHeader",()=>f])},39761,a=>{"use strict";let b=(0,a.i(60137).default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);a.s(["BarChart3",()=>b],39761)},20005,a=>{"use strict";let b=(0,a.i(60137).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);a.s(["LogOut",()=>b],20005)},33508,a=>{"use strict";let b=(0,a.i(60137).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["X",()=>b],33508)},15618,a=>{"use strict";let b=(0,a.i(60137).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["Plus",()=>b],15618)},69520,a=>{"use strict";let b=(0,a.i(60137).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);a.s(["RefreshCw",()=>b],69520)},3314,a=>{"use strict";let b=(0,a.i(60137).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);a.s(["Shield",()=>b],3314)},67453,63572,a=>{"use strict";var b=a.i(60137);let c=(0,b.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CheckCircle2",()=>c],67453);let d=(0,b.default)("folder-code",[["path",{d:"M10 10.5 8 13l2 2.5",key:"m4t9c1"}],["path",{d:"m14 10.5 2 2.5-2 2.5",key:"14w2eb"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z",key:"1u1bxd"}]]);a.s(["FolderCode",()=>d],63572)},61552,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(59603),e=a.i(50944),f=a.i(17299),g=a.i(69520),h=a.i(96101),i=a.i(96221),j=a.i(3314),k=a.i(67453),l=a.i(39761),m=a.i(21161),n=a.i(20005),o=a.i(15618),p=a.i(33508),q=a.i(63572),r=a.i(19032),s=a.i(58037),t=a.i(97498);function u(){let{hasAuth:a,tier:u,version:v}=(0,t.useTier)(),w=(0,e.useRouter)(),x=(0,d.useSync)(),[y,z]=(0,c.useState)(""),[A,B]=(0,c.useState)([]),[C,D]=(0,c.useState)(""),[E,F]=(0,c.useState)(!1),[G,H]=(0,c.useState)(!0);(0,c.useEffect)(()=>{fetch((0,r.api)("/api/config")).then(a=>a.json()).then(a=>{F(a.telemetryOptOut),B(a.devDirectories||[]),H(!1)}).catch(()=>H(!1))},[]);let I=async a=>{B(a),await fetch((0,r.api)("/api/config"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({devDirectories:a})})},J=()=>{let a=C.trim();!a||A.includes(a)||(a.startsWith("/")||/^[A-Za-z]:[\\/]/.test(a))&&(I([...A,a]),D(""))},K=async()=>{let a=await x.mutateAsync();z(`Synced ${a.projects} projects, ${a.sessions} sessions`)},L=async()=>{let a=!E;F(a),(0,s.setOptOut)(a),await fetch((0,r.api)("/api/config"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({telemetryOptOut:a})})},M=async()=>{await fetch((0,r.api)("/api/auth/logout"),{method:"POST"}),w.push("/login")};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.MobileHeader,{title:"Settings"}),(0,b.jsxs)("div",{className:"px-4 py-4 space-y-4",children:[a&&(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(j.Shield,{className:"w-4 h-4"}),"Terminal Security"]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(k.CheckCircle2,{className:"w-4 h-4 text-green-500"}),(0,b.jsx)("span",{className:"text-xs text-green-500",children:"2FA Enabled"})]}),(0,b.jsx)("p",{className:"text-[11px] text-zinc-500 mt-1.5",children:"2FA is managed through the login flow."})]}),(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(h.FolderOpen,{className:"w-4 h-4"}),"Data Source"]}),(0,b.jsxs)("div",{className:"space-y-2 text-xs",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-zinc-500",children:"Agent Data:"}),(0,b.jsx)("span",{className:"font-mono ml-2",children:"~/.claude/ ~/.codex/ ~/.gemini/"})]}),(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-zinc-500",children:"Database:"}),(0,b.jsx)("span",{className:"font-mono ml-2",children:"~/.spaces/spaces.db"})]})]})]}),(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(q.FolderCode,{className:"w-4 h-4"}),"Dev Directories"]}),(0,b.jsx)("p",{className:"text-[11px] text-zinc-500 mb-3",children:"Restrict pane creation to these project roots."}),A.length>0&&(0,b.jsx)("div",{className:"space-y-1.5 mb-3",children:A.map(a=>(0,b.jsxs)("div",{className:"flex items-center gap-2 px-2.5 py-1.5 bg-zinc-800 rounded-md",children:[(0,b.jsx)(h.FolderOpen,{className:"w-3 h-3 text-amber-500/70 flex-shrink-0"}),(0,b.jsx)("span",{className:"font-mono text-[11px] flex-1 truncate",children:a}),(0,b.jsx)("button",{onClick:()=>{I(A.filter(b=>b!==a))},className:"text-zinc-500 hover:text-red-400",children:(0,b.jsx)(p.X,{className:"w-3 h-3"})})]},a))}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"text",placeholder:"u">typeof navigator&&navigator.platform?.startsWith("Win")?"C:\\Users\\you\\projects":"/home/user/projects",value:C,onChange:a=>D(a.target.value),onKeyDown:a=>"Enter"===a.key&&J(),className:"flex-1 px-2.5 py-1.5 text-xs bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 font-mono"}),(0,b.jsxs)("button",{onClick:J,disabled:!C.trim()||!(C.trim().startsWith("/")||/^[A-Za-z]:[\\/]/.test(C.trim())),className:"flex items-center gap-1 px-2.5 py-1.5 text-xs bg-indigo-600 text-white rounded-md disabled:opacity-50",children:[(0,b.jsx)(o.Plus,{className:"w-3 h-3"}),"Add"]})]})]}),(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(g.RefreshCw,{className:"w-4 h-4"}),"Data Sync"]}),(0,b.jsx)("p",{className:"text-[11px] text-zinc-500 mb-3",children:"Re-scan all agent sessions."}),(0,b.jsxs)("button",{onClick:K,disabled:x.isPending,className:"flex items-center gap-2 px-3 py-2 text-xs bg-indigo-600 text-white rounded-lg disabled:opacity-50",children:[x.isPending?(0,b.jsx)(i.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):(0,b.jsx)(g.RefreshCw,{className:"w-3.5 h-3.5"}),"Re-sync Now"]}),y&&(0,b.jsx)("p",{className:"text-[11px] text-green-500 mt-2",children:y})]}),(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(l.BarChart3,{className:"w-4 h-4"}),"Telemetry"]}),G?(0,b.jsx)(i.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"}):(0,b.jsxs)("label",{className:"flex items-center gap-3 cursor-pointer",children:[(0,b.jsx)("input",{type:"checkbox",checked:!E,onChange:L,className:"w-4 h-4 rounded border-zinc-700 text-indigo-500 focus:ring-indigo-500"}),(0,b.jsx)("span",{className:"text-xs",children:"Send anonymous usage data"})]})]}),(0,b.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,b.jsx)(m.Settings,{className:"w-4 h-4"}),"About"]}),(0,b.jsxs)("div",{className:"text-xs space-y-1 text-zinc-400",children:[(0,b.jsxs)("p",{children:["Version: ",v||"..."]}),(0,b.jsxs)("p",{children:["Tier: ",(0,b.jsx)("span",{className:"capitalize",children:u})]}),(0,b.jsx)("p",{children:"Data access: Read-only"})]})]}),a&&(0,b.jsxs)("button",{onClick:M,className:"flex items-center gap-2 w-full px-4 py-3 text-sm text-red-400 bg-zinc-900 border border-zinc-800 rounded-lg",children:[(0,b.jsx)(n.LogOut,{className:"w-4 h-4"}),"Sign out"]})]})]})}a.s(["default",()=>u])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_cd50a174._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[35112,(a,b,c)=>{"use strict";b.exports=a.r(42602).vendored["react-ssr"].ReactDOM},5784,a=>{"use strict";let b=(0,a.i(60137).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);a.s(["ChevronDown",()=>b],5784)},67552,a=>{"use strict";let b=(0,a.i(60137).default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);a.s(["ChevronUp",()=>b],67552)},65870,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(19032);function e(){let[a,e]=(0,c.useState)(null),[f,g]=(0,c.useState)(null),[h,i]=(0,c.useState)(null),[j,k]=(0,c.useState)(!1),[l,m]=(0,c.useState)("");(0,c.useEffect)(()=>{fetch((0,d.api)("/api/cortex/settings")).then(a=>a.json()).then(e).catch(()=>{}),fetch((0,d.api)("/api/cortex/usage")).then(a=>a.json()).then(i).catch(()=>{})},[]);let n=async a=>{k(!0);try{if((await fetch((0,d.api)("/api/cortex/settings"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).ok){let b={...a};b.anthropic_api_key&&(b.anthropic_api_key=`…${b.anthropic_api_key.slice(-4)}`),b.openai_api_key&&(b.openai_api_key=`…${b.openai_api_key.slice(-4)}`),e(a=>({...a,...b}))}}catch{}finally{k(!1)}},o=async()=>{await fetch((0,d.api)("/api/cortex/ingest/bootstrap"),{method:"POST"});let a=setInterval(async()=>{let b=await fetch((0,d.api)("/api/cortex/ingest/status")),c=await b.json();g(c),("complete"===c.status||"error"===c.status)&&clearInterval(a)},2e3)},p=a?.enabled??!1,q=p?"":"opacity-40 pointer-events-none";return(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("h3",{className:"text-sm font-medium text-gray-200",children:["Cortex",(0,b.jsx)("span",{className:"ml-2 text-[9px] font-medium uppercase tracking-wider text-purple-400 bg-purple-400/10 px-1.5 py-0.5 rounded",children:"Beta"})]}),(0,b.jsxs)("label",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Enable Cortex"}),(0,b.jsx)("input",{type:"checkbox",checked:p,disabled:!a,onChange:a=>n({enabled:a.target.checked}),className:"accent-purple-500"})]}),!a&&(0,b.jsx)("p",{className:"text-[10px] text-gray-500",children:"Loading…"}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Anthropic API key"}),a?.anthropic_api_key?(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("span",{className:"text-xs text-gray-500 font-mono",children:["sk-ant-",a.anthropic_api_key]}),(0,b.jsx)("button",{onClick:()=>n({anthropic_api_key:""}),className:"text-[10px] text-gray-600 hover:text-red-400",children:"remove"})]}):(0,b.jsxs)("div",{className:"flex gap-1",children:[(0,b.jsx)("input",{type:"password",value:l,onChange:a=>m(a.target.value),placeholder:"sk-ant-…",className:"flex-1 text-xs bg-white/5 border border-white/10 rounded px-2 py-1 text-gray-300 placeholder-gray-600"}),(0,b.jsx)("button",{onClick:()=>{l&&(n({anthropic_api_key:l}),m(""))},disabled:!l,className:"text-xs px-2 py-1 bg-purple-600 hover:bg-purple-500 text-white rounded disabled:opacity-30",children:"Save"})]}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600",children:"Used for LLM distillation. Falls back to ANTHROPIC_API_KEY env var."})]}),(0,b.jsxs)("label",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Debug logging"}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600",children:"Verbose memory, LanceDB, embedding, and distillation logs in server console"})]}),(0,b.jsx)("input",{type:"checkbox",checked:a?.debug??!1,onChange:a=>n({debug:a.target.checked}),className:"accent-purple-500 shrink-0 ml-3"})]}),(0,b.jsxs)("div",{className:`flex items-center justify-between ${q}`,children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Embedding provider"}),(0,b.jsx)("span",{className:"text-xs text-gray-300",children:a?.embedding?.provider||"auto"})]}),(0,b.jsxs)("div",{className:`block ${q}`,children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Context injection budget"}),(0,b.jsxs)("span",{className:"text-[10px] text-gray-500",children:[a?.injection?.max_tokens||2e3," tokens"]})]}),(0,b.jsx)("input",{type:"range",min:500,max:2e4,step:500,value:a?.injection?.max_tokens||2e3,onChange:a=>n({injection:{max_tokens:parseInt(a.target.value)}}),className:"w-full"}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600 mt-0.5",children:"Tokens of retrieved knowledge injected per prompt (Claude context: 200K)"})]}),(0,b.jsxs)("label",{className:`flex items-center justify-between ${q}`,children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"LLM distillation"}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600",children:"4 Haiku API calls per session end — cleaner knowledge at ~$0.03–0.05/session"})]}),(0,b.jsx)("input",{type:"checkbox",checked:a?.ingestion?.distillation??!0,onChange:a=>n({ingestion:{distillation:a.target.checked}}),className:"accent-purple-500 shrink-0 ml-3"})]}),(0,b.jsxs)("div",{className:`block ${q}`,children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Federation sync mode"}),(0,b.jsx)("p",{className:"text-[10px] text-gray-600 mb-1",children:"How knowledge is shared across multiple Spaces instances"}),(0,b.jsxs)("select",{value:a?.federation?.sync_mode||"query-only",onChange:a=>n({federation:{sync_mode:a.target.value}}),className:"w-full text-xs bg-white/5 border border-white/10 rounded px-2 py-1 text-gray-300",children:[(0,b.jsx)("option",{value:"query-only",children:"Query Only — read from remotes, no push"}),(0,b.jsx)("option",{value:"background-sync",children:"Background Sync — periodic two-way sync"}),(0,b.jsx)("option",{value:"real-time-sync",children:"Real-time Sync — sync on every store"})]})]}),h&&h.distillation?.calls>0&&(0,b.jsxs)("div",{className:"pt-2 border-t border-white/5",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,b.jsx)("span",{className:"text-xs text-gray-400",children:"Distillation usage"}),(0,b.jsx)("button",{onClick:()=>fetch((0,d.api)("/api/cortex/usage"),{method:"DELETE"}).then(()=>i(null)),className:"text-[10px] text-gray-600 hover:text-gray-400",children:"reset"})]}),(0,b.jsxs)("div",{className:"text-[10px] text-gray-500 space-y-0.5",children:[(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{children:"API calls"}),(0,b.jsx)("span",{className:"text-gray-400",children:h.distillation.calls.toLocaleString()})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsx)("span",{children:"Tokens in / out"}),(0,b.jsxs)("span",{className:"text-gray-400",children:[(h.distillation.input_tokens/1e3).toFixed(1),"K / ",(h.distillation.output_tokens/1e3).toFixed(1),"K"]})]}),(0,b.jsxs)("div",{className:"flex justify-between font-medium",children:[(0,b.jsx)("span",{children:"Estimated cost"}),(0,b.jsxs)("span",{className:"text-purple-400",children:["$",h.distillation.estimated_cost_usd.toFixed(4)]})]})]})]}),(0,b.jsxs)("div",{className:`pt-2 border-t border-white/5 ${q}`,children:[(0,b.jsx)("button",{onClick:o,disabled:f?.status==="running",className:"text-xs px-3 py-1.5 bg-purple-600 hover:bg-purple-500 text-white rounded disabled:opacity-50",children:f?.status==="running"?"Ingesting...":"Bootstrap Ingestion"}),f?.status==="running"&&(0,b.jsxs)("div",{className:"mt-2",children:[(0,b.jsx)("div",{className:"w-full h-1.5 bg-white/5 rounded-full overflow-hidden",children:(0,b.jsx)("div",{className:"h-full bg-purple-500 rounded-full transition-all",style:{width:`${f.processedFiles/Math.max(f.totalFiles,1)*100}%`}})}),(0,b.jsxs)("span",{className:"text-[10px] text-gray-500",children:[f.processedFiles,"/",f.totalFiles," files"]})]})]})]})}a.s(["CortexSettings",()=>e])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=_e7a9e2b0._.js.map
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
module.exports=[10924,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/sidebar.tsx <module evaluation>","Sidebar")},82671,a=>{"use strict";a.s(["Sidebar",()=>b]);let b=(0,a.i(11857).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/components/layout/sidebar.tsx","Sidebar")},45534,a=>{"use strict";a.i(10924);var b=a.i(82671);a.n(b)},96773,a=>{"use strict";var b=a.i(7997),c=a.i(45534);function d({children:a}){return(0,b.jsxs)("div",{className:"flex min-h-screen",children:[(0,b.jsx)(c.Sidebar,{}),(0,b.jsx)("main",{className:"flex-1 ml-56",children:a})]})}a.s(["default",()=>d])}];
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=src_133a7c8a._.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31278,e=>{"use strict";let t=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],31278)},66027,54616,e=>{"use strict";let t;var s=e.i(75555),i=e.i(40143),r=e.i(86491),n=e.i(15823),a=e.i(93803),o=e.i(19273),u=e.i(80166),c=class extends n.Subscribable{constructor(e,t){super(),this.options=t,this.#e=e,this.#t=null,this.#s=(0,a.pendingThenable)(),this.bindMethods(),this.setOptions(t)}#e;#i=void 0;#r=void 0;#n=void 0;#a;#o;#s;#t;#u;#c;#l;#h;#d;#p;#y=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#i.addObserver(this),l(this.#i,this.options)?this.#f():this.updateResult(),this.#m())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return h(this.#i,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return h(this.#i,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#i.removeObserver(this)}setOptions(e){let t=this.options,s=this.#i;if(this.options=this.#e.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,o.resolveEnabled)(this.options.enabled,this.#i))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#g(),this.#i.setOptions(this.options),t._defaulted&&!(0,o.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#i,observer:this});let i=this.hasListeners();i&&d(this.#i,s,this.options,t)&&this.#f(),this.updateResult(),i&&(this.#i!==s||(0,o.resolveEnabled)(this.options.enabled,this.#i)!==(0,o.resolveEnabled)(t.enabled,this.#i)||(0,o.resolveStaleTime)(this.options.staleTime,this.#i)!==(0,o.resolveStaleTime)(t.staleTime,this.#i))&&this.#v();let r=this.#j();i&&(this.#i!==s||(0,o.resolveEnabled)(this.options.enabled,this.#i)!==(0,o.resolveEnabled)(t.enabled,this.#i)||r!==this.#p)&&this.#R(r)}getOptimisticResult(e){var t,s;let i=this.#e.getQueryCache().build(this.#e,e),r=this.createResult(i,e);return t=this,s=r,(0,o.shallowEqualObjects)(t.getCurrentResult(),s)||(this.#n=r,this.#o=this.options,this.#a=this.#i.state),r}getCurrentResult(){return this.#n}trackResult(e,t){return new Proxy(e,{get:(e,s)=>(this.trackProp(s),t?.(s),"promise"===s&&(this.trackProp("data"),this.options.experimental_prefetchInRender||"pending"!==this.#s.status||this.#s.reject(Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(e,s))})}trackProp(e){this.#y.add(e)}getCurrentQuery(){return this.#i}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),s=this.#e.getQueryCache().build(this.#e,t);return s.fetch().then(()=>this.createResult(s,t))}fetch(e){return this.#f({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#f(e){this.#g();let t=this.#i.fetch(this.options,e);return e?.throwOnError||(t=t.catch(o.noop)),t}#v(){this.#b();let e=(0,o.resolveStaleTime)(this.options.staleTime,this.#i);if(o.isServer||this.#n.isStale||!(0,o.isValidTimeout)(e))return;let t=(0,o.timeUntilStale)(this.#n.dataUpdatedAt,e);this.#h=u.timeoutManager.setTimeout(()=>{this.#n.isStale||this.updateResult()},t+1)}#j(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#i):this.options.refetchInterval)??!1}#R(e){this.#x(),this.#p=e,!o.isServer&&!1!==(0,o.resolveEnabled)(this.options.enabled,this.#i)&&(0,o.isValidTimeout)(this.#p)&&0!==this.#p&&(this.#d=u.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||s.focusManager.isFocused())&&this.#f()},this.#p))}#m(){this.#v(),this.#R(this.#j())}#b(){this.#h&&(u.timeoutManager.clearTimeout(this.#h),this.#h=void 0)}#x(){this.#d&&(u.timeoutManager.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let s,i=this.#i,n=this.options,u=this.#n,c=this.#a,h=this.#o,y=e!==i?e.state:this.#r,{state:f}=e,m={...f},b=!1;if(t._optimisticResults){let s=this.hasListeners(),a=!s&&l(e,t),o=s&&d(e,i,t,n);(a||o)&&(m={...m,...(0,r.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(m.fetchStatus="idle")}let{error:x,errorUpdatedAt:g,status:v}=m;s=m.data;let j=!1;if(void 0!==t.placeholderData&&void 0===s&&"pending"===v){let e;u?.isPlaceholderData&&t.placeholderData===h?.placeholderData?(e=u.data,j=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,void 0!==e&&(v="success",s=(0,o.replaceData)(u?.data,e,t),b=!0)}if(t.select&&void 0!==s&&!j)if(u&&s===c?.data&&t.select===this.#u)s=this.#c;else try{this.#u=t.select,s=t.select(s),s=(0,o.replaceData)(u?.data,s,t),this.#c=s,this.#t=null}catch(e){this.#t=e}this.#t&&(x=this.#t,s=this.#c,g=Date.now(),v="error");let R="fetching"===m.fetchStatus,S="pending"===v,Q="error"===v,w=S&&R,T=void 0!==s,O={status:v,fetchStatus:m.fetchStatus,isPending:S,isSuccess:"success"===v,isError:Q,isInitialLoading:w,isLoading:w,data:s,dataUpdatedAt:m.dataUpdatedAt,error:x,errorUpdatedAt:g,failureCount:m.fetchFailureCount,failureReason:m.fetchFailureReason,errorUpdateCount:m.errorUpdateCount,isFetched:m.dataUpdateCount>0||m.errorUpdateCount>0,isFetchedAfterMount:m.dataUpdateCount>y.dataUpdateCount||m.errorUpdateCount>y.errorUpdateCount,isFetching:R,isRefetching:R&&!S,isLoadingError:Q&&!T,isPaused:"paused"===m.fetchStatus,isPlaceholderData:b,isRefetchError:Q&&T,isStale:p(e,t),refetch:this.refetch,promise:this.#s,isEnabled:!1!==(0,o.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==O.data,s="error"===O.status&&!t,r=e=>{s?e.reject(O.error):t&&e.resolve(O.data)},n=()=>{r(this.#s=O.promise=(0,a.pendingThenable)())},o=this.#s;switch(o.status){case"pending":e.queryHash===i.queryHash&&r(o);break;case"fulfilled":(s||O.data!==o.value)&&n();break;case"rejected":s&&O.error===o.reason||n()}}return O}updateResult(){let e=this.#n,t=this.createResult(this.#i,this.options);if(this.#a=this.#i.state,this.#o=this.options,void 0!==this.#a.data&&(this.#l=this.#i),(0,o.shallowEqualObjects)(t,e))return;this.#n=t;let s=()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,s="function"==typeof t?t():t;if("all"===s||!s&&!this.#y.size)return!0;let i=new Set(s??this.#y);return this.options.throwOnError&&i.add("error"),Object.keys(this.#n).some(t=>this.#n[t]!==e[t]&&i.has(t))};this.#S({listeners:s()})}#g(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#i)return;let t=this.#i;this.#i=e,this.#r=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#m()}#S(e){i.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#n)}),this.#e.getQueryCache().notify({query:this.#i,type:"observerResultsUpdated"})})}};function l(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&h(e,t,t.refetchOnMount)}function h(e,t,s){if(!1!==(0,o.resolveEnabled)(t.enabled,e)&&"static"!==(0,o.resolveStaleTime)(t.staleTime,e)){let i="function"==typeof s?s(e):s;return"always"===i||!1!==i&&p(e,t)}return!1}function d(e,t,s,i){return(e!==t||!1===(0,o.resolveEnabled)(i.enabled,e))&&(!s.suspense||"error"!==e.state.status)&&p(e,s)}function p(e,t){return!1!==(0,o.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,o.resolveStaleTime)(t.staleTime,e))}e.i(47167);var y=e.i(71645),f=e.i(12598);e.i(18050);var m=y.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),b=y.createContext(!1);b.Provider;var x=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function g(e,t){return function(e,t,s){let r,n=y.useContext(b),a=y.useContext(m),u=(0,f.useQueryClient)(s),c=u.defaultQueryOptions(e);u.getDefaultOptions().queries?._experimental_beforeQuery?.(c);let l=u.getQueryCache().get(c.queryHash);if(c._optimisticResults=n?"isRestoring":"optimistic",c.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=c.staleTime;c.staleTime="function"==typeof t?(...s)=>e(t(...s)):e(t),"number"==typeof c.gcTime&&(c.gcTime=Math.max(c.gcTime,1e3))}r=l?.state.error&&"function"==typeof c.throwOnError?(0,o.shouldThrowError)(c.throwOnError,[l.state.error,l]):c.throwOnError,(c.suspense||c.experimental_prefetchInRender||r)&&!a.isReset()&&(c.retryOnMount=!1),y.useEffect(()=>{a.clearReset()},[a]);let h=!u.getQueryCache().get(c.queryHash),[d]=y.useState(()=>new t(u,c)),p=d.getOptimisticResult(c),g=!n&&!1!==e.subscribed;if(y.useSyncExternalStore(y.useCallback(e=>{let t=g?d.subscribe(i.notifyManager.batchCalls(e)):o.noop;return d.updateResult(),t},[d,g]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),y.useEffect(()=>{d.setOptions(c)},[c,d]),c?.suspense&&p.isPending)throw x(c,d,a);if((({result:e,errorResetBoundary:t,throwOnError:s,query:i,suspense:r})=>e.isError&&!t.isReset()&&!e.isFetching&&i&&(r&&void 0===e.data||(0,o.shouldThrowError)(s,[e.error,i])))({result:p,errorResetBoundary:a,throwOnError:c.throwOnError,query:l,suspense:c.suspense}))throw p.error;if(u.getDefaultOptions().queries?._experimental_afterQuery?.(c,p),c.experimental_prefetchInRender&&!o.isServer&&p.isLoading&&p.isFetching&&!n){let e=h?x(c,d,a):l?.promise;e?.catch(o.noop).finally(()=>{d.updateResult()})}return c.notifyOnChangeProps?p:d.trackResult(p)}(e,c,t)}e.s(["useQuery",()=>g],66027);var v=e.i(14272),j=n,R=class extends j.Subscribable{#e;#n=void 0;#Q;#w;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#T()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#Q,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():this.#Q?.state.status==="pending"&&this.#Q.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#Q?.removeObserver(this)}onMutationUpdate(e){this.#T(),this.#S(e)}getCurrentResult(){return this.#n}reset(){this.#Q?.removeObserver(this),this.#Q=void 0,this.#T(),this.#S()}mutate(e,t){return this.#w=t,this.#Q?.removeObserver(this),this.#Q=this.#e.getMutationCache().build(this.#e,this.options),this.#Q.addObserver(this),this.#Q.execute(e)}#T(){let e=this.#Q?.state??(0,v.getDefaultState)();this.#n={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#S(e){i.notifyManager.batch(()=>{if(this.#w&&this.hasListeners()){let t=this.#n.variables,s=this.#n.context,i={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#w.onSuccess?.(e.data,t,s,i)}catch(e){Promise.reject(e)}try{this.#w.onSettled?.(e.data,null,t,s,i)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#w.onError?.(e.error,t,s,i)}catch(e){Promise.reject(e)}try{this.#w.onSettled?.(void 0,e.error,t,s,i)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#n)})})}};function S(e,t){let s=(0,f.useQueryClient)(t),[r]=y.useState(()=>new R(s,e));y.useEffect(()=>{r.setOptions(e)},[r,e]);let n=y.useSyncExternalStore(y.useCallback(e=>r.subscribe(i.notifyManager.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=y.useCallback((e,t)=>{r.mutate(e,t).catch(o.noop)},[r]);if(n.error&&(0,o.shouldThrowError)(r.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:a,mutateAsync:n.mutate}}e.s(["useMutation",()=>S],54616)},3999,e=>{"use strict";var t=e.i(66027),s=e.i(54616),i=e.i(12598),r=e.i(9165);function n(e={}){return(0,t.useQuery)({queryKey:["sessions",e],queryFn:async()=>{let t=new URLSearchParams;return e.projectId&&t.set("projectId",e.projectId),void 0!==e.starred&&t.set("starred",String(e.starred)),e.search&&t.set("search",e.search),e.agentType&&t.set("agentType",e.agentType),e.sortBy&&t.set("sortBy",e.sortBy),e.sortDir&&t.set("sortDir",e.sortDir),void 0!==e.offset&&t.set("offset",String(e.offset)),void 0!==e.limit&&t.set("limit",String(e.limit)),"all"===e.nodeFilter&&t.set("nodes","all"),(await fetch((0,r.api)(`/api/sessions?${t}`))).json()}})}function a(e){return(0,t.useQuery)({queryKey:["session",e],queryFn:async()=>{let t=await fetch((0,r.api)(`/api/sessions/${e}`));if(!t.ok)throw Error("Session not found");return t.json()},enabled:!!e})}function o(e,s=0,i=50,n){return(0,t.useQuery)({queryKey:["messages",e,s,i,n],queryFn:async()=>{let t=n?(0,r.api)(`/api/network/proxy/${n}/sessions/${e}/messages?offset=${s}&limit=${i}`):(0,r.api)(`/api/sessions/${e}/messages?offset=${s}&limit=${i}`);return(await fetch(t)).json()},enabled:!!e})}function u(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,r.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"star"})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function c(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,notes:t})=>(await fetch((0,r.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"notes",notes:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["session"]})}})}function l(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,r.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"tag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function h(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,tagName:t})=>(await fetch((0,r.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"removeTag",tagName:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]}),e.invalidateQueries({queryKey:["tags"]})}})}function d(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({sessionId:e,name:t})=>(await fetch((0,r.api)(`/api/sessions/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",name:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function p(){return(0,t.useQuery)({queryKey:["tags"],queryFn:async()=>(await fetch((0,r.api)("/api/tags"))).json()})}function y(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,r.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",tagId:e})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function f(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({tagId:e,color:t})=>(await fetch((0,r.api)("/api/tags"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"updateColor",tagId:e,color:t})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["tags"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function m(){return(0,t.useQuery)({queryKey:["workspaces"],queryFn:async()=>(await fetch((0,r.api)("/api/workspaces"))).json()})}function b(){return(0,t.useQuery)({queryKey:["workspaces","remote"],queryFn:async()=>(await fetch((0,r.api)("/api/workspaces?nodes=all"))).json()})}function x(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t,nodeId:s,title:i,cwd:n,agentType:a})=>{let o=await fetch((0,r.api)(`/api/workspaces/${e}/sessions`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t,nodeId:s,title:i,cwd:n,agentType:a})});if(!o.ok)throw Error("Failed to add session to workspace");return o.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function g(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async({workspaceId:e,sessionId:t})=>{let s=await fetch((0,r.api)(`/api/workspaces/${e}/sessions`),{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:t})});if(!s.ok)throw Error("Failed to remove session from workspace");return s.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["workspace-sessions"]}),e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["session"]})}})}function v(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,r.api)("/api/bulk"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["sessions"]}),e.invalidateQueries({queryKey:["workspaces"]}),e.invalidateQueries({queryKey:["tags"]})}})}function j(){return(0,t.useQuery)({queryKey:["projects"],queryFn:async()=>(await fetch((0,r.api)("/api/projects"))).json()})}function R(){return(0,t.useQuery)({queryKey:["analytics"],queryFn:async()=>(await fetch((0,r.api)("/api/analytics/overview"))).json()})}function S(){let e=(0,i.useQueryClient)();return(0,s.useMutation)({mutationFn:async()=>(await fetch((0,r.api)("/api/sync"),{method:"POST"})).json(),onSuccess:()=>{e.invalidateQueries()}})}e.s(["useAddSessionToWorkspace",()=>x,"useAddTag",()=>l,"useAnalytics",()=>R,"useBulkAction",()=>v,"useDeleteTag",()=>y,"useMessages",()=>o,"useProjects",()=>j,"useRemoteWorkspaces",()=>b,"useRemoveSessionFromWorkspace",()=>g,"useRemoveTag",()=>h,"useRenameSession",()=>d,"useSession",()=>a,"useSessions",()=>n,"useSync",()=>S,"useTags",()=>p,"useToggleStar",()=>u,"useUpdateNotes",()=>c,"useUpdateTagColor",()=>f,"useWorkspaces",()=>m])},71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",()=>t],71689)},91898,e=>{"use strict";var t=e.i(18050),s=e.i(18566),i=e.i(71689),r=e.i(75157);function n({title:e,showBack:n,backHref:a,right:o,className:u}){let c=(0,s.useRouter)();return(0,t.jsxs)("header",{className:(0,r.cn)("sticky top-0 z-40 bg-zinc-950/95 backdrop-blur-sm border-b border-zinc-800","flex items-center gap-3 px-4 h-14 flex-shrink-0",u),children:[n&&(0,t.jsx)("button",{onClick:()=>{a?c.push(a):c.back()},className:"p-1 -ml-1 text-zinc-400 hover:text-white",children:(0,t.jsx)(i.ArrowLeft,{className:"w-5 h-5"})}),(0,t.jsx)("h1",{className:"text-base font-semibold truncate flex-1",children:e}),o&&(0,t.jsx)("div",{className:"flex items-center gap-2 flex-shrink-0",children:o})]})}e.s(["MobileHeader",()=>n])},17923,e=>{"use strict";let t=(0,e.i(75254).default)("chart-column",[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]]);e.s(["BarChart3",()=>t],17923)},92270,e=>{"use strict";let t=(0,e.i(75254).default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]);e.s(["LogOut",()=>t],92270)},37727,e=>{"use strict";let t=(0,e.i(75254).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);e.s(["X",()=>t],37727)},7233,e=>{"use strict";let t=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>t],7233)},16715,e=>{"use strict";let t=(0,e.i(75254).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",()=>t],16715)},98919,e=>{"use strict";let t=(0,e.i(75254).default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);e.s(["Shield",()=>t],98919)},95468,11588,e=>{"use strict";var t=e.i(75254);let s=(0,t.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["CheckCircle2",()=>s],95468);let i=(0,t.default)("folder-code",[["path",{d:"M10 10.5 8 13l2 2.5",key:"m4t9c1"}],["path",{d:"m14 10.5 2 2.5-2 2.5",key:"14w2eb"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2z",key:"1u1bxd"}]]);e.s(["FolderCode",()=>i],11588)},54997,e=>{"use strict";var t=e.i(18050),s=e.i(71645),i=e.i(3999),r=e.i(18566),n=e.i(91898),a=e.i(16715),o=e.i(75505),u=e.i(31278),c=e.i(98919),l=e.i(95468),h=e.i(17923),d=e.i(39616),p=e.i(92270),y=e.i(7233),f=e.i(37727),m=e.i(11588),b=e.i(9165),x=e.i(9593),g=e.i(29320);function v(){let{hasAuth:e,tier:v,version:j}=(0,g.useTier)(),R=(0,r.useRouter)(),S=(0,i.useSync)(),[Q,w]=(0,s.useState)(""),[T,O]=(0,s.useState)([]),[C,k]=(0,s.useState)(""),[N,M]=(0,s.useState)(!1),[E,q]=(0,s.useState)(!0);(0,s.useEffect)(()=>{fetch((0,b.api)("/api/config")).then(e=>e.json()).then(e=>{M(e.telemetryOptOut),O(e.devDirectories||[]),q(!1)}).catch(()=>q(!1))},[]);let I=async e=>{O(e),await fetch((0,b.api)("/api/config"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({devDirectories:e})})},F=()=>{let e=C.trim();!e||T.includes(e)||(e.startsWith("/")||/^[A-Za-z]:[\\/]/.test(e))&&(I([...T,e]),k(""))},K=async()=>{let e=await S.mutateAsync();w(`Synced ${e.projects} projects, ${e.sessions} sessions`)},z=async()=>{let e=!N;M(e),(0,x.setOptOut)(e),await fetch((0,b.api)("/api/config"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({telemetryOptOut:e})})},P=async()=>{await fetch((0,b.api)("/api/auth/logout"),{method:"POST"}),R.push("/login")};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.MobileHeader,{title:"Settings"}),(0,t.jsxs)("div",{className:"px-4 py-4 space-y-4",children:[e&&(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(c.Shield,{className:"w-4 h-4"}),"Terminal Security"]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.CheckCircle2,{className:"w-4 h-4 text-green-500"}),(0,t.jsx)("span",{className:"text-xs text-green-500",children:"2FA Enabled"})]}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-500 mt-1.5",children:"2FA is managed through the login flow."})]}),(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(o.FolderOpen,{className:"w-4 h-4"}),"Data Source"]}),(0,t.jsxs)("div",{className:"space-y-2 text-xs",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-zinc-500",children:"Agent Data:"}),(0,t.jsx)("span",{className:"font-mono ml-2",children:"~/.claude/ ~/.codex/ ~/.gemini/"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-zinc-500",children:"Database:"}),(0,t.jsx)("span",{className:"font-mono ml-2",children:"~/.spaces/spaces.db"})]})]})]}),(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(m.FolderCode,{className:"w-4 h-4"}),"Dev Directories"]}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-500 mb-3",children:"Restrict pane creation to these project roots."}),T.length>0&&(0,t.jsx)("div",{className:"space-y-1.5 mb-3",children:T.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2.5 py-1.5 bg-zinc-800 rounded-md",children:[(0,t.jsx)(o.FolderOpen,{className:"w-3 h-3 text-amber-500/70 flex-shrink-0"}),(0,t.jsx)("span",{className:"font-mono text-[11px] flex-1 truncate",children:e}),(0,t.jsx)("button",{onClick:()=>{I(T.filter(t=>t!==e))},className:"text-zinc-500 hover:text-red-400",children:(0,t.jsx)(f.X,{className:"w-3 h-3"})})]},e))}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("input",{type:"text",placeholder:"u">typeof navigator&&navigator.platform?.startsWith("Win")?"C:\\Users\\you\\projects":"/home/user/projects",value:C,onChange:e=>k(e.target.value),onKeyDown:e=>"Enter"===e.key&&F(),className:"flex-1 px-2.5 py-1.5 text-xs bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 font-mono"}),(0,t.jsxs)("button",{onClick:F,disabled:!C.trim()||!(C.trim().startsWith("/")||/^[A-Za-z]:[\\/]/.test(C.trim())),className:"flex items-center gap-1 px-2.5 py-1.5 text-xs bg-indigo-600 text-white rounded-md disabled:opacity-50",children:[(0,t.jsx)(y.Plus,{className:"w-3 h-3"}),"Add"]})]})]}),(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(a.RefreshCw,{className:"w-4 h-4"}),"Data Sync"]}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-500 mb-3",children:"Re-scan all agent sessions."}),(0,t.jsxs)("button",{onClick:K,disabled:S.isPending,className:"flex items-center gap-2 px-3 py-2 text-xs bg-indigo-600 text-white rounded-lg disabled:opacity-50",children:[S.isPending?(0,t.jsx)(u.Loader2,{className:"w-3.5 h-3.5 animate-spin"}):(0,t.jsx)(a.RefreshCw,{className:"w-3.5 h-3.5"}),"Re-sync Now"]}),Q&&(0,t.jsx)("p",{className:"text-[11px] text-green-500 mt-2",children:Q})]}),(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(h.BarChart3,{className:"w-4 h-4"}),"Telemetry"]}),E?(0,t.jsx)(u.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"}):(0,t.jsxs)("label",{className:"flex items-center gap-3 cursor-pointer",children:[(0,t.jsx)("input",{type:"checkbox",checked:!N,onChange:z,className:"w-4 h-4 rounded border-zinc-700 text-indigo-500 focus:ring-indigo-500"}),(0,t.jsx)("span",{className:"text-xs",children:"Send anonymous usage data"})]})]}),(0,t.jsxs)("div",{className:"bg-zinc-900 border border-zinc-800 rounded-lg p-4",children:[(0,t.jsxs)("h3",{className:"text-sm font-semibold flex items-center gap-2 mb-2",children:[(0,t.jsx)(d.Settings,{className:"w-4 h-4"}),"About"]}),(0,t.jsxs)("div",{className:"text-xs space-y-1 text-zinc-400",children:[(0,t.jsxs)("p",{children:["Version: ",j||"..."]}),(0,t.jsxs)("p",{children:["Tier: ",(0,t.jsx)("span",{className:"capitalize",children:v})]}),(0,t.jsx)("p",{children:"Data access: Read-only"})]})]}),e&&(0,t.jsxs)("button",{onClick:P,className:"flex items-center gap-2 w-full px-4 py-3 text-sm text-red-400 bg-zinc-900 border border-zinc-800 rounded-lg",children:[(0,t.jsx)(p.LogOut,{className:"w-4 h-4"}),"Sign out"]})]})]})}e.s(["default",()=>v])}]);
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,9799,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(7233),n=e.i(31278),i=e.i(68054),r=e.i(55436),l=e.i(86311),c=e.i(75505),o=e.i(3116),d=e.i(64659),x=e.i(63059),p=e.i(75254);let h=(0,p.default)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);var m=e.i(27612),u=e.i(88699),f=e.i(43531),b=e.i(37727),g=e.i(74886),j=e.i(94351);let w=(0,p.default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),v=(0,p.default)("arrow-left-to-line",[["path",{d:"M3 19V5",key:"rwsyhb"}],["path",{d:"m13 6-6 6 6 6",key:"1yhaz7"}],["path",{d:"M7 12h14",key:"uoisry"}]]);var y=e.i(48256),N=e.i(63209),z=e.i(61911),k=e.i(55711),C=e.i(18566),S=e.i(24134),T=e.i(98003);let P=(0,p.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),$=(0,p.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);var E=e.i(55900),I=e.i(39616),M=e.i(9165);function L({value:e,onChange:a}){let[i,r]=(0,s.useState)(!1),[l,o]=(0,s.useState)([]),[d,p]=(0,s.useState)(!1),[h,m]=(0,s.useState)(""),[u,f]=(0,s.useState)(null),[b,g]=(0,s.useState)(!1),[j,w]=(0,s.useState)("list"),[v,y]=(0,s.useState)(!1),[N,z]=(0,s.useState)(""),[k,C]=(0,s.useState)(""),[S,T]=(0,s.useState)(!1),L=(0,s.useRef)(null);(0,s.useEffect)(()=>{fetch((0,M.api)("/api/config")).then(e=>e.json()).then(e=>{o(e.devDirectories||[]),p(!0)}).catch(()=>p(!0))},[]),(0,s.useEffect)(()=>{i&&"browse"===j&&h&&(g(!0),fetch((0,M.api)(`/api/folders?path=${encodeURIComponent(h)}`)).then(e=>e.json()).then(e=>{f(e),g(!1)}).catch(()=>g(!1)))},[i,j,h]),(0,s.useEffect)(()=>{let e=e=>{L.current&&!L.current.contains(e.target)&&r(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let F=()=>{i?r(!1):(1===l.length?(w("browse"),m(l[0])):w("list"),r(!0))},D=e=>{a(e),r(!1)},O=e=>{m(e)},R=async()=>{if(N.trim()&&u?.current){T(!0),C("");try{let e=await fetch((0,M.api)("/api/folders"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parent:u.current,name:N.trim()})});if(e.ok){let{path:t}=await e.json();y(!1),z(""),D(t)}else{let t=await e.json();C(t.error||"Failed to create folder")}}catch{C("Failed to create folder")}T(!1)}},A=l.find(e=>u?.current===e||u?.current?.startsWith(e+"/")),U=A?.split("/").pop()||"",K=A&&u?.current?u.current.slice(A.length):"",q=K?K.split("/").filter(Boolean):[];return(0,t.jsxs)("div",{ref:L,className:"relative",children:[(0,t.jsxs)("div",{className:"flex items-center gap-0",children:[(0,t.jsx)("input",{type:"text",placeholder:"Working directory",value:e,onChange:e=>a(e.target.value),onFocus:()=>{i||F()},className:"flex-1 px-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-l-md focus:outline-none focus:border-indigo-500 text-white font-mono"}),(0,t.jsx)("button",{type:"button",onClick:F,className:"px-3 py-2 text-sm bg-zinc-700 border border-zinc-700 border-l-0 rounded-r-md hover:bg-zinc-600 text-zinc-300 hover:text-white transition-colors",title:"Browse folders",children:(0,t.jsx)(c.FolderOpen,{className:"w-4 h-4"})})]}),i&&(0,t.jsxs)("div",{className:"absolute z-50 top-full left-0 right-0 mt-1 bg-zinc-800 border border-zinc-700 rounded-md shadow-xl overflow-hidden",children:[d?0===l.length&&"list"===j?(0,t.jsxs)("div",{className:"py-6 px-4 text-center",children:[(0,t.jsx)(I.Settings,{className:"w-5 h-5 text-zinc-500 mx-auto mb-2"}),(0,t.jsx)("p",{className:"text-xs text-zinc-400 mb-1",children:"No development directories configured"}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-500",children:"Add them in Settings to browse project folders here."})]}):"list"===j?(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"px-3 py-1.5 border-b border-zinc-700/50 text-[11px] text-zinc-500 font-medium",children:"Development Directories"}),(0,t.jsx)("div",{className:"max-h-[250px] overflow-y-auto",children:l.map(e=>(0,t.jsxs)("button",{className:"w-full flex items-center gap-2 px-3 py-2 text-xs hover:bg-zinc-700 transition-colors group",onClick:()=>{w("browse"),m(e)},onDoubleClick:()=>D(e),title:"Click to browse, double-click to select",children:[(0,t.jsx)(P,{className:"w-3.5 h-3.5 text-amber-500/70"}),(0,t.jsx)("span",{className:"font-mono text-white truncate flex-1 text-left",children:e}),(0,t.jsx)(x.ChevronRight,{className:"w-3 h-3 text-zinc-600 group-hover:text-zinc-400"})]},e))})]}):(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex items-center gap-0.5 px-2 py-1.5 border-b border-zinc-700/50 overflow-x-auto text-[11px] flex-nowrap",children:[l.length>1&&(0,t.jsx)("button",{onClick:()=>{w("list"),f(null),y(!1)},className:"text-zinc-400 hover:text-white flex-shrink-0 p-0.5 mr-0.5",title:"Back to dev directories",children:(0,t.jsx)(E.ChevronUp,{className:"w-3 h-3"})}),(0,t.jsx)("button",{onClick:()=>A&&O(A),className:"text-zinc-400 hover:text-white flex-shrink-0",children:U}),q.map((e,s)=>{let a=A+"/"+q.slice(0,s+1).join("/");return(0,t.jsxs)("span",{className:"flex items-center gap-0.5 flex-shrink-0",children:[(0,t.jsx)(x.ChevronRight,{className:"w-2.5 h-2.5 text-zinc-600"}),(0,t.jsx)("button",{onClick:()=>O(a),className:"text-zinc-400 hover:text-white hover:underline",children:e})]},s)})]}),(0,t.jsx)("div",{className:"max-h-[250px] overflow-y-auto",children:b||!u?(0,t.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"})}):u.error?(0,t.jsx)("div",{className:"py-4 px-3 text-xs text-red-400 text-center",children:u.error}):(0,t.jsxs)(t.Fragment,{children:[u?.parent&&(0,t.jsxs)("button",{onClick:()=>O(u.parent),className:"w-full flex items-center gap-2 px-3 py-1.5 text-xs text-zinc-400 hover:text-white hover:bg-zinc-700/50 transition-colors border-b border-zinc-700/30",children:[(0,t.jsx)(E.ChevronUp,{className:"w-3.5 h-3.5"}),(0,t.jsx)("span",{children:".."})]}),(0,t.jsxs)("button",{onClick:()=>D(u.current),className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-indigo-400 hover:bg-indigo-500/10 transition-colors border-b border-zinc-700/30 font-medium",children:[(0,t.jsx)(c.FolderOpen,{className:"w-3.5 h-3.5"}),(0,t.jsx)("span",{children:"Select this folder"}),(0,t.jsx)("span",{className:"ml-auto text-[10px] text-zinc-500 font-mono truncate max-w-[200px]",children:u.current.split("/").pop()})]}),v?(0,t.jsxs)("div",{className:"px-3 py-2 border-b border-zinc-700/30 space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("input",{autoFocus:!0,value:N,onChange:e=>{z(e.target.value),C("")},onKeyDown:e=>{"Enter"===e.key&&R(),"Escape"===e.key&&y(!1)},placeholder:"Folder name",className:"flex-1 px-2 py-1 text-xs bg-zinc-900 border border-zinc-600 rounded text-white focus:outline-none focus:border-green-500"}),(0,t.jsx)("button",{onClick:R,disabled:S||!N.trim(),className:"px-2.5 py-1 text-xs bg-green-600 hover:bg-green-500 text-white rounded disabled:opacity-40",children:S?"...":"Create"}),(0,t.jsx)("button",{onClick:()=>y(!1),className:"px-1.5 py-1 text-xs text-zinc-500 hover:text-white",children:"✕"})]}),k&&(0,t.jsx)("div",{className:"text-[10px] text-red-400",children:k})]}):(0,t.jsxs)("button",{onClick:()=>{y(!0),C("")},className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-green-400 hover:bg-green-500/10 transition-colors border-b border-zinc-700/30",children:[(0,t.jsx)($,{className:"w-3.5 h-3.5"}),(0,t.jsx)("span",{children:"New folder"})]}),u?.folders.length===0?(0,t.jsx)("div",{className:"py-3 px-3 text-[11px] text-zinc-500 text-center",children:"No subfolders"}):u?.folders.map(e=>(0,t.jsxs)("button",{onClick:()=>O(e.path),onDoubleClick:()=>D(e.path),className:"w-full flex items-center gap-2 px-3 py-1.5 text-xs text-white hover:bg-zinc-700 transition-colors",title:"Click to open, double-click to select",children:[(0,t.jsx)(P,{className:"w-3.5 h-3.5 text-amber-500/70"}),(0,t.jsx)("span",{className:"truncate",children:e.name})]},e.path))]})})]}):(0,t.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"})}),(0,t.jsx)("div",{className:"border-t border-zinc-700/50 px-2 py-1 flex justify-end",children:(0,t.jsx)("button",{onClick:()=>r(!1),className:"text-[11px] text-zinc-500 hover:text-white px-2 py-0.5",children:"Close"})})]})]})}var F=e.i(68407),D=e.i(29320);function O({value:e,onChange:s}){let{hasNetwork:a}=(0,D.useTier)(),{data:n}=(0,F.useNodes)(a);return Array.isArray(n)&&0!==n.length?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Node"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(y.Globe,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-zinc-500"}),(0,t.jsxs)("select",{value:e,onChange:e=>s(e.target.value),className:"w-full pl-8 pr-3 py-2 text-sm bg-zinc-800 border border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500 text-white appearance-none",children:[(0,t.jsx)("option",{value:"",children:"Local (this machine)"}),n.map(e=>(0,t.jsx)("option",{value:e.id,disabled:"offline"===e.status,children:"offline"===e.status?`${e.name} (offline)`:e.name},e.id))]})]})]}):null}var R=e.i(34623),A=e.i(73359),U=e.i(3999),K=e.i(14764);let q=(0,p.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var B=e.i(66027),H=e.i(54616),J=e.i(12598);function Q({workspaceId:e,panes:a,collapsed:n,onToggle:i}){let r,c,o,d,[p,h]=(0,s.useState)("messages"),[u,f]=(0,s.useState)(""),b=(0,s.useRef)(null),{data:g=[]}=(0,B.useQuery)({queryKey:["workspace-messages",e,void 0],queryFn:async()=>{let t=new URLSearchParams;return(await fetch((0,M.api)(`/api/workspaces/${e}/messages?${t}`))).json()},enabled:!!e,refetchInterval:3e3}),{data:j=[]}=(0,B.useQuery)({queryKey:["workspace-context",e],queryFn:async()=>(await fetch((0,M.api)(`/api/workspaces/${e}/context`))).json(),enabled:!!e}),w=(r=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async t=>(await fetch((0,M.api)(`/api/workspaces/${e}/messages`),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...t,senderName:t.senderName||"User",type:t.type||"message"})})).json(),onSuccess:()=>{r.invalidateQueries({queryKey:["workspace-messages",e]})}})),v=(c=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async({messageId:t,status:s})=>(await fetch((0,M.api)(`/api/workspaces/${e}/messages/${t}`),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:s})})).json(),onSuccess:()=>{c.invalidateQueries({queryKey:["workspace-messages",e]})}})),y=(o=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async()=>{await fetch((0,M.api)(`/api/workspaces/${e}/messages`),{method:"DELETE"})},onSuccess:()=>{o.invalidateQueries({queryKey:["workspace-messages",e]})}})),N=(d=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async()=>{await fetch((0,M.api)(`/api/workspaces/${e}/context`),{method:"DELETE"})},onSuccess:()=>{d.invalidateQueries({queryKey:["workspace-context",e]})}})),z=g.filter(e=>"pending_approval"===e.status).length;(0,s.useEffect)(()=>{b.current&&(b.current.scrollTop=b.current.scrollHeight)},[g]);let k=()=>{u.trim()&&e&&(w.mutate({content:u.trim()}),f(""))};return n?(0,t.jsxs)("button",{onClick:i,className:"flex-shrink-0 w-10 border-l border-zinc-800 bg-zinc-900 flex flex-col items-center pt-3 gap-2",children:[(0,t.jsx)(q,{className:"w-4 h-4 text-zinc-400"}),(0,t.jsx)(l.MessageSquare,{className:"w-4 h-4 text-zinc-400"}),z>0&&(0,t.jsx)("span",{className:"bg-amber-500 text-black text-xs font-bold rounded-full w-5 h-5 flex items-center justify-center",children:z})]}):(0,t.jsxs)("div",{className:"flex-shrink-0 w-80 border-l border-zinc-800 bg-zinc-900 flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800",children:[(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsxs)("button",{onClick:()=>h("messages"),className:`px-2 py-1 text-xs rounded ${"messages"===p?"bg-zinc-700 text-white":"text-zinc-400 hover:text-zinc-300"}`,children:["Messages",z>0&&(0,t.jsx)("span",{className:"ml-1 bg-amber-500 text-black text-xs font-bold rounded-full px-1.5",children:z})]}),(0,t.jsx)("button",{onClick:()=>h("context"),className:`px-2 py-1 text-xs rounded ${"context"===p?"bg-zinc-700 text-white":"text-zinc-400 hover:text-zinc-300"}`,children:"Context"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{onClick:()=>"messages"===p?y.mutate():N.mutate(),className:"text-zinc-500 hover:text-red-400",title:"messages"===p?"Clear all messages":"Clear all context",children:(0,t.jsx)(m.Trash2,{className:"w-3.5 h-3.5"})}),(0,t.jsx)("button",{onClick:i,className:"text-zinc-400 hover:text-zinc-300",children:(0,t.jsx)(x.ChevronRight,{className:"w-4 h-4"})})]})]}),"messages"===p&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{ref:b,className:"flex-1 overflow-y-auto p-2 space-y-2",children:[[...g].reverse().map(e=>(0,t.jsx)(_,{message:e,panes:a,onApprove:()=>v.mutate({messageId:e.id,status:"approved"}),onReject:()=>v.mutate({messageId:e.id,status:"rejected"})},e.id)),0===g.length&&(0,t.jsx)("p",{className:"text-zinc-500 text-xs text-center py-8",children:"No messages yet. Agents will appear here."})]}),(0,t.jsx)("div",{className:"border-t border-zinc-800 p-2",children:(0,t.jsxs)("div",{className:"flex gap-1",children:[(0,t.jsx)("input",{value:u,onChange:e=>f(e.target.value),onKeyDown:e=>"Enter"===e.key&&!e.shiftKey&&k(),placeholder:"Message workspace...",className:"flex-1 bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-sm text-zinc-200 placeholder-zinc-500 focus:outline-none focus:border-zinc-600"}),(0,t.jsx)("button",{onClick:k,disabled:!u.trim(),className:"px-2 py-1 bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-700 disabled:text-zinc-500 rounded text-sm",children:(0,t.jsx)(K.Send,{className:"w-3.5 h-3.5"})})]})})]}),"context"===p&&(0,t.jsx)(V,{workspaceId:e,context:j})]})}function _({message:e,panes:s,onApprove:a,onReject:n}){let i=s.find(t=>t.id===e.paneId),r="pending_approval"===e.status,l="rejected"===e.status;return(0,t.jsxs)("div",{className:`rounded p-2 text-xs ${r?"bg-amber-950/50 border border-amber-800/50":l?"bg-zinc-800/50 opacity-50":"bg-zinc-800/50"}`,children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsxs)("span",{className:"font-medium text-zinc-300",children:[i&&(0,t.jsx)("span",{className:"inline-block w-2 h-2 rounded-full mr-1",style:{backgroundColor:i.color||"#6366f1"}}),e.senderName]}),(0,t.jsx)("span",{className:"text-zinc-500",children:new Date(e.created).toLocaleTimeString()})]}),(0,t.jsx)("p",{className:"text-zinc-300 whitespace-pre-wrap",children:e.content}),r&&(0,t.jsxs)("div",{className:"flex gap-1 mt-2",children:[(0,t.jsxs)("button",{onClick:a,className:"flex items-center gap-1 px-2 py-0.5 bg-green-700 hover:bg-green-600 rounded text-white text-xs",children:[(0,t.jsx)(f.Check,{className:"w-3 h-3"})," Approve"]}),(0,t.jsxs)("button",{onClick:n,className:"flex items-center gap-1 px-2 py-0.5 bg-zinc-700 hover:bg-zinc-600 rounded text-zinc-300 text-xs",children:[(0,t.jsx)(b.X,{className:"w-3 h-3"})," Reject"]})]}),"rejected"===e.status&&(0,t.jsx)("span",{className:"text-red-400 text-xs mt-1 block",children:"Rejected"})]})}function V({workspaceId:e,context:a}){let n,i,[r,l]=(0,s.useState)(""),[c,o]=(0,s.useState)(""),d=(n=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async({key:t,value:s})=>(await fetch((0,M.api)(`/api/workspaces/${e}/context/${encodeURIComponent(t)}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:s})})).json(),onSuccess:()=>{n.invalidateQueries({queryKey:["workspace-context",e]})}})),x=(i=(0,J.useQueryClient)(),(0,H.useMutation)({mutationFn:async t=>{await fetch((0,M.api)(`/api/workspaces/${e}/context/${encodeURIComponent(t)}`),{method:"DELETE"})},onSuccess:()=>{i.invalidateQueries({queryKey:["workspace-context",e]})}})),p=()=>{r.trim()&&c.trim()&&(d.mutate({key:r.trim(),value:c.trim()}),l(""),o(""))};return(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-2 space-y-2",children:[a.map(e=>(0,t.jsxs)("div",{className:"bg-zinc-800/50 rounded p-2 text-xs",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,t.jsx)("span",{className:"font-mono font-medium text-indigo-300",children:e.key}),(0,t.jsx)("button",{onClick:()=>x.mutate(e.key),className:"text-zinc-500 hover:text-red-400",children:(0,t.jsx)(b.X,{className:"w-3 h-3"})})]}),(0,t.jsx)("p",{className:"text-zinc-300 whitespace-pre-wrap font-mono text-xs",children:e.value}),(0,t.jsxs)("span",{className:"text-zinc-500 text-xs",children:["by ",e.updatedBy]})]},e.key)),(0,t.jsxs)("div",{className:"border-t border-zinc-800 pt-2 space-y-1",children:[(0,t.jsx)("input",{value:r,onChange:e=>l(e.target.value),placeholder:"Key",className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 placeholder-zinc-500 focus:outline-none"}),(0,t.jsx)("input",{value:c,onChange:e=>o(e.target.value),placeholder:"Value",onKeyDown:e=>"Enter"===e.key&&p(),className:"w-full bg-zinc-800 border border-zinc-700 rounded px-2 py-1 text-xs text-zinc-200 placeholder-zinc-500 focus:outline-none"}),(0,t.jsx)("button",{onClick:p,disabled:!r.trim()||!c.trim(),className:"w-full px-2 py-1 bg-indigo-600 hover:bg-indigo-500 disabled:bg-zinc-700 disabled:text-zinc-500 rounded text-xs",children:"Add Entry"})]})]})}var W=e.i(9593),X=e.i(86536),G=e.i(77705),Y=e.i(51975);function Z({workspaceId:e,workspaceName:n}){let[i,r]=(0,s.useState)(null),[l,c]=(0,s.useState)([]),[o,d]=(0,s.useState)(!1),[x,p]=(0,s.useState)(""),[h,m]=(0,s.useState)(null);(0,s.useEffect)(()=>{Promise.all([fetch((0,M.api)(`/api/cortex/lobes/${e}`)).then(e=>{if(!e.ok)throw Error(`${e.status} ${e.statusText}`);return e.json()}),fetch((0,M.api)("/api/cortex/lobes")).then(e=>e.json()).catch(()=>({lobes:[]}))]).then(([t,s])=>{r(t.config??null),c((s.lobes||[]).filter(t=>t.workspaceId!==e))}).catch(e=>m(e.message||"Failed to load"))},[e]);let u=async t=>{if(i){r({...i,...t}),d(!0);try{let s=await fetch((0,M.api)(`/api/cortex/lobes/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json();a.config&&r(a.config)}catch{}finally{d(!1)}}},f=()=>{if(!i||!x.trim())return;let e=x.trim();i.tags.includes(e)||u({tags:[...i.tags,e]}),p("")};return h?(0,t.jsx)("div",{className:"text-[11px] text-red-400/80",children:h}):i?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Knowledge Lobe"}),(0,t.jsxs)("button",{onClick:()=>u({isPrivate:!i.isPrivate}),disabled:o,className:"flex items-center gap-2 w-full text-left group disabled:opacity-50",children:[(0,t.jsx)("span",{className:`flex items-center justify-center w-4 h-4 rounded border transition-colors ${i.isPrivate?"bg-amber-500/20 border-amber-500/40 text-amber-400":"bg-zinc-800 border-zinc-700 text-zinc-500 group-hover:border-zinc-500"}`,children:i.isPrivate?(0,t.jsx)(G.EyeOff,{className:"w-2.5 h-2.5"}):(0,t.jsx)(X.Eye,{className:"w-2.5 h-2.5"})}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 group-hover:text-zinc-300 transition-colors",children:i.isPrivate?"Private — hidden from other workspaces":"Visible to other workspaces"})]}),(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 text-[10px] text-zinc-500",children:[(0,t.jsx)(Y.Tag,{className:"w-3 h-3"}),(0,t.jsx)("span",{children:"Topics"}),(0,t.jsx)("span",{className:"text-zinc-700 ml-1",children:"— Cortex uses these to scope knowledge retrieval"})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1",children:[i.tags.map(e=>(0,t.jsxs)("span",{className:"flex items-center gap-1 px-1.5 py-0.5 bg-purple-500/10 border border-purple-500/20 rounded text-[11px] text-purple-300",children:[e,(0,t.jsx)("button",{onClick:()=>{i&&u({tags:i.tags.filter(t=>t!==e)})},className:"hover:text-red-400 transition-colors",children:(0,t.jsx)(b.X,{className:"w-2.5 h-2.5"})})]},e)),(0,t.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,t.jsx)("input",{type:"text",value:x,onChange:e=>p(e.target.value),onKeyDown:e=>{"Enter"===e.key&&f()},placeholder:"add topic...",className:"w-20 px-1.5 py-0.5 bg-zinc-800 border border-zinc-700 rounded text-[11px] text-zinc-300 placeholder-zinc-600 focus:outline-none focus:border-purple-500/50"}),x.trim()&&(0,t.jsx)("button",{onClick:f,className:"text-purple-400 hover:text-purple-300 transition-colors",children:(0,t.jsx)(a.Plus,{className:"w-3 h-3"})})]})]})]}),l.length>0&&!i.isPrivate&&(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsx)("div",{className:"text-[10px] text-zinc-500",children:"Sibling access — uncheck to block a workspace from this lobe"}),(0,t.jsx)("div",{className:"space-y-0.5",children:l.map(e=>{let s=i.excludedFrom.includes(e.workspaceId);return(0,t.jsxs)("button",{onClick:()=>{var t;return t=e.workspaceId,void(!i||u({excludedFrom:i.excludedFrom.includes(t)?i.excludedFrom.filter(e=>e!==t):[...i.excludedFrom,t]}))},disabled:o,className:"flex items-center gap-2 w-full px-2 py-1 rounded text-left hover:bg-zinc-800/50 transition-colors disabled:opacity-50",children:[(0,t.jsx)("span",{className:`w-3 h-3 rounded-sm border flex items-center justify-center transition-colors ${s?"border-zinc-700 bg-zinc-800":"border-purple-500/50 bg-purple-500/20"}`,children:!s&&(0,t.jsx)("svg",{className:"w-2 h-2 text-purple-400",viewBox:"0 0 12 12",fill:"none",children:(0,t.jsx)("path",{d:"M2 6l3 3 5-5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,t.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:`text-xs ${s?"text-zinc-600 line-through":"text-zinc-300"}`,children:e.name})]},e.workspaceId)})})]})]}):(0,t.jsx)("div",{className:"text-[11px] text-zinc-600",children:"Loading..."})}let ee=(0,p.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]);var et=e.i(78583);let es=(0,p.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),ea=(0,p.default)("file-braces",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1",key:"1oajmo"}],["path",{d:"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1",key:"mpwhp6"}]]),en=(0,p.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),ei=(0,p.default)("arrow-up",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);var er=e.i(78917);let el=(0,p.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),ec=(0,p.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]),eo="spaces-file-viewer",ed="spaces-file-viewer-state";function ex(){try{let e=localStorage.getItem(ed);if(e)return JSON.parse(e)}catch{}return{x:0,y:0,w:800,h:600,wasPoppedOut:!1}}function ep(e){try{let t=ex();localStorage.setItem(ed,JSON.stringify({...t,...e}))}catch{}}function eh(e){return e?({".ts":"text-blue-300",".tsx":"text-blue-300",".js":"text-yellow-300",".jsx":"text-yellow-300",".json":"text-green-300",".md":"text-zinc-300",".css":"text-pink-300",".scss":"text-pink-300",".html":"text-orange-300",".xml":"text-orange-300",".py":"text-emerald-300",".rb":"text-red-300",".go":"text-cyan-300",".rs":"text-orange-300",".sh":"text-green-300",".bash":"text-green-300",".yml":"text-purple-300",".yaml":"text-purple-300",".sql":"text-blue-200",".graphql":"text-pink-200"})[e]||"text-zinc-300":""}function em({item:e}){if(e.isDir)return(0,t.jsx)(P,{className:"w-3.5 h-3.5 text-amber-500/70 flex-shrink-0"});let s=e.ext||"";return[".png",".jpg",".jpeg",".gif",".webp",".svg",".ico",".bmp"].includes(s)?(0,t.jsx)(en,{className:"w-3.5 h-3.5 text-emerald-400/70 flex-shrink-0"}):[".ts",".tsx",".js",".jsx",".py",".rb",".go",".rs"].includes(s)?(0,t.jsx)(es,{className:"w-3.5 h-3.5 text-blue-400/70 flex-shrink-0"}):".json"===s?(0,t.jsx)(ea,{className:"w-3.5 h-3.5 text-green-400/70 flex-shrink-0"}):[".md",".txt",".yml",".yaml"].includes(s)?(0,t.jsx)(et.FileText,{className:"w-3.5 h-3.5 text-zinc-400/70 flex-shrink-0"}):(0,t.jsx)(ee,{className:"w-3.5 h-3.5 text-zinc-500/70 flex-shrink-0"})}function eu(e){return e<1024?`${e}B`:e<1048576?`${(e/1024).toFixed(1)}KB`:`${(e/1048576).toFixed(1)}MB`}function ef({onClose:e,navigateTo:a}){let[n,i]=(0,s.useState)([]),[r,l]=(0,s.useState)(""),[c,o]=(0,s.useState)(""),[d,x]=(0,s.useState)([]),[p,h]=(0,s.useState)(null),[m,u]=(0,s.useState)(new Set),[f,g]=(0,s.useState)(null),[j,w]=(0,s.useState)(!1),[y,N]=(0,s.useState)(!1),z=(0,s.useRef)(null),k=(0,s.useRef)(null),C=(0,s.useRef)(null),S=(0,s.useRef)(!0);(0,s.useEffect)(()=>(S.current=!0,k.current=new BroadcastChannel(eo),k.current.onmessage=e=>{e.data?.type==="pop-in"&&(ep({wasPoppedOut:!1}),N(!1),z.current=null,C.current&&(clearInterval(C.current),C.current=null))},()=>{S.current=!1,k.current?.close(),C.current&&clearInterval(C.current)}),[]),(0,s.useEffect)(()=>{fetch((0,M.api)("/api/config")).then(e=>e.json()).then(e=>{let t=e.devDirectories||[];i(t),t.length>0&&!r&&(l(t[0]),o(t[0]))}).catch(()=>{})},[]),(0,s.useEffect)(()=>{if(!a)return;let e=n.find(e=>a===e||a.startsWith(e+"/")||a.startsWith(e+"\\"));e?l(e):l(a),o(a),u(new Set)},[a,n]),(0,s.useEffect)(()=>{if(y&&f&&k.current)try{k.current.postMessage({type:"file-update",file:f})}catch{}},[f,y]);let T=(0,s.useRef)(!1);(0,s.useEffect)(()=>{T.current=!1;let e=ex();e.wasPoppedOut&&e.lastFilePath&&fetch((0,M.api)(`/api/files?file=${encodeURIComponent(e.lastFilePath)}`)).then(e=>e.json()).then(e=>{e&&!e.error&&(g(e),T.current||(T.current=!0,setTimeout(()=>E(e),50)))}).catch(()=>{})},[]),(0,s.useEffect)(()=>()=>{if(z.current&&!z.current.closed){ep({wasPoppedOut:!0});try{z.current.close()}catch{}}C.current&&(clearInterval(C.current),C.current=null)},[]);let P=(0,s.useCallback)(async e=>{try{let t=await fetch((0,M.api)(`/api/files?path=${encodeURIComponent(e)}`)),s=await t.json();return{items:s.items||[],parent:s.parent||null}}catch{return{items:[],parent:null}}},[]);(0,s.useEffect)(()=>{c&&(w(!0),P(c).then(e=>{x(e.items),h(e.parent),w(!1)}))},[c,P]);let $=async e=>{if(e.isDir)u(t=>{let s=new Set(t);return s.has(e.path)?s.delete(e.path):s.add(e.path),s});else try{let t=await fetch((0,M.api)(`/api/files?file=${encodeURIComponent(e.path)}`)),s=await t.json();g(s),ep({lastFilePath:e.path})}catch{g({name:e.name,path:e.path,size:0,ext:e.ext||"",error:"Failed to load"})}},E=e=>{let t=ex(),s=t.w||800,a=t.h||600,n=t.x||window.screenX+(window.outerWidth-s)/2,i=t.y||window.screenY+(window.outerHeight-a)/2,r=window.open("about:blank","spaces-file-viewer",`width=${s},height=${a},left=${n},top=${i}`);if(r){var l;z.current=r,N(!0),ep({wasPoppedOut:!0}),l=e.name,r.document.write(`<!DOCTYPE html><html><head><title>${l} — Spaces</title>
|
|
2
|
-
<style>
|
|
3
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
4
|
-
body { background: #0a0a0a; color: #e4e4e7; font-family: system-ui, sans-serif; overflow: auto; }
|
|
5
|
-
.header { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; border-bottom: 1px solid #27272a; background: #09090b; position: sticky; top: 0; z-index: 10; }
|
|
6
|
-
.header .name { font-size: 12px; font-family: 'Cascadia Code', 'Fira Code', monospace; opacity: 0.7; }
|
|
7
|
-
.header .meta { font-size: 10px; color: #666; }
|
|
8
|
-
.header button { background: none; border: 1px solid #333; color: #888; padding: 4px 10px; border-radius: 4px; cursor: pointer; font-size: 11px; }
|
|
9
|
-
.header button:hover { color: #fff; border-color: #555; }
|
|
10
|
-
.content { padding: 0; }
|
|
11
|
-
table { border-collapse: collapse; font-size: 12px; line-height: 18px; font-family: 'Cascadia Code', 'Fira Code', Consolas, monospace; width: 100%; }
|
|
12
|
-
td.ln { text-align: right; padding: 0 12px; color: #444; user-select: none; white-space: nowrap; }
|
|
13
|
-
td.code { padding: 0 12px; white-space: pre; }
|
|
14
|
-
tr:hover { background: rgba(255,255,255,0.02); }
|
|
15
|
-
.img-wrap { display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 40px); padding: 16px; }
|
|
16
|
-
.img-wrap img { max-width: 100%; max-height: calc(100vh - 56px); object-fit: contain; }
|
|
17
|
-
.center { display: flex; align-items: center; justify-content: center; height: calc(100vh - 40px); color: #666; font-size: 13px; }
|
|
18
|
-
iframe { width: 100%; height: calc(100vh - 40px); border: none; }
|
|
19
|
-
</style></head><body>
|
|
20
|
-
<div class="header">
|
|
21
|
-
<div><span class="name" id="fname">${l}</span> <span class="meta" id="fmeta"></span></div>
|
|
22
|
-
<button id="popin">Pop back in</button>
|
|
23
|
-
</div>
|
|
24
|
-
<div class="content" id="viewer"></div>
|
|
25
|
-
<script>
|
|
26
|
-
const channel = new BroadcastChannel('${eo}');
|
|
27
|
-
const storageKey = '${ed}';
|
|
28
|
-
|
|
29
|
-
document.getElementById('popin').onclick = () => {
|
|
30
|
-
savePos();
|
|
31
|
-
channel.postMessage({ type: 'pop-in' });
|
|
32
|
-
window.close();
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
function savePos() {
|
|
36
|
-
try {
|
|
37
|
-
const state = JSON.parse(localStorage.getItem(storageKey) || '{}');
|
|
38
|
-
state.x = window.screenX;
|
|
39
|
-
state.y = window.screenY;
|
|
40
|
-
state.w = window.outerWidth;
|
|
41
|
-
state.h = window.outerHeight;
|
|
42
|
-
state.wasPoppedOut = false;
|
|
43
|
-
localStorage.setItem(storageKey, JSON.stringify(state));
|
|
44
|
-
} catch {}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
window.addEventListener('beforeunload', () => {
|
|
48
|
-
savePos();
|
|
49
|
-
channel.postMessage({ type: 'pop-in' });
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
function renderFile(file) {
|
|
53
|
-
document.getElementById('fname').textContent = file.name;
|
|
54
|
-
document.title = file.name + ' — Spaces';
|
|
55
|
-
const meta = document.getElementById('fmeta');
|
|
56
|
-
meta.textContent = file.lines ? file.lines + ' lines' : '';
|
|
57
|
-
const el = document.getElementById('viewer');
|
|
58
|
-
|
|
59
|
-
if (file.error) {
|
|
60
|
-
el.innerHTML = '<div class="center">' + file.error + '</div>';
|
|
61
|
-
} else if (file.image && file.rawUrl) {
|
|
62
|
-
el.innerHTML = '<div class="img-wrap"><img src="' + file.rawUrl + '" /></div>';
|
|
63
|
-
} else if (file.pdf && file.rawUrl) {
|
|
64
|
-
el.innerHTML = '<iframe src="' + file.rawUrl + '"></iframe>';
|
|
65
|
-
} else if (file.binary) {
|
|
66
|
-
el.innerHTML = '<div class="center">Binary file (' + file.ext + ')</div>';
|
|
67
|
-
} else if (file.content !== undefined) {
|
|
68
|
-
const lines = file.content.split('\\n');
|
|
69
|
-
let html = '<table>';
|
|
70
|
-
for (let i = 0; i < lines.length; i++) {
|
|
71
|
-
const safe = lines[i].replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
|
|
72
|
-
html += '<tr><td class="ln">' + (i+1) + '</td><td class="code">' + (safe || ' ') + '</td></tr>';
|
|
73
|
-
}
|
|
74
|
-
html += '</table>';
|
|
75
|
-
el.innerHTML = html;
|
|
76
|
-
} else {
|
|
77
|
-
el.innerHTML = '<div class="center">Cannot preview this file</div>';
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
channel.onmessage = (e) => {
|
|
82
|
-
if (e.data?.type === 'file-update') renderFile(e.data.file);
|
|
83
|
-
if (e.data?.type === 'close-popup') { savePos(); window.close(); }
|
|
84
|
-
};
|
|
85
|
-
</script></body></html>`),r.document.close(),setTimeout(()=>{k.current?.postMessage({type:"file-update",file:e})},100),C.current&&clearInterval(C.current),C.current=setInterval(()=>{z.current?.closed&&(ep({wasPoppedOut:!1}),S.current&&N(!1),z.current=null,C.current&&(clearInterval(C.current),C.current=null))},500)}},I=(0,s.useRef)(null),[L,F]=(0,s.useState)(!1),[D,O]=(0,s.useState)(!1),R=async e=>{if(c&&0!==e.length){F(!0);try{let t=new FormData;for(let s of(t.append("dir",c),Array.from(e)))t.append("files",s);await fetch((0,M.api)("/api/files"),{method:"POST",body:t});let s=await P(c);x(s.items)}catch{}finally{F(!1)}}},A=r?c.replace(r,"").replace(/^[/\\]/,""):"",U=A?A.split(/[/\\]/):[],K=f&&!y,q=p&&c!==r;return r?(0,t.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,t.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,t.jsx)("button",{onClick:e,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,t.jsx)(b.X,{className:"w-3.5 h-3.5"})})]}),n.length>1&&(0,t.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:n.map(e=>{let s=e.split(/[/\\]/).pop()||e,a=e===r;return(0,t.jsx)("button",{onClick:()=>{l(e),o(e),u(new Set),g(null)},className:`px-2 py-0.5 text-[10px] rounded transition-colors flex-shrink-0 ${a?"bg-amber-500/15 text-amber-400 border border-amber-500/30":"text-zinc-500 hover:text-zinc-300 border border-transparent"}`,title:e,children:s},e)})}),(0,t.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:[q&&(0,t.jsx)("button",{onClick:()=>{p&&c!==r&&o(p)},className:"text-zinc-500 hover:text-zinc-300 flex-shrink-0",children:(0,t.jsx)(ei,{className:"w-3 h-3"})}),(0,t.jsx)("input",{ref:I,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&R(e.target.files),e.target.value=""}}),(0,t.jsx)("button",{onClick:()=>I.current?.click(),className:"text-zinc-600 hover:text-zinc-300 flex-shrink-0 ml-auto",title:"Upload files to current directory",children:(0,t.jsx)(ec,{className:"w-3 h-3"})}),(0,t.jsx)("button",{onClick:()=>o(r),className:"text-zinc-500 hover:text-zinc-300 truncate flex-shrink-0",children:r.split(/[/\\]/).pop()}),U.map((e,s)=>(0,t.jsxs)("span",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,t.jsx)("span",{className:"text-zinc-700",children:"/"}),(0,t.jsx)("button",{onClick:()=>{o(r+"/"+U.slice(0,s+1).join("/"))},className:"text-zinc-500 hover:text-zinc-300",children:e})]},s))]}),y&&f&&(0,t.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,t.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Viewing:"}),(0,t.jsx)("span",{className:"text-[10px] text-zinc-400 font-mono truncate flex-1",children:f.name}),(0,t.jsx)("button",{onClick:()=>{ep({wasPoppedOut:!1}),z.current&&!z.current.closed&&z.current.close(),z.current=null,N(!1),C.current&&(clearInterval(C.current),C.current=null)},className:"text-zinc-500 hover:text-zinc-300 transition-colors",title:"Pop back into panel",children:(0,t.jsx)(v,{className:"w-3 h-3"})})]}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,t.jsx)("div",{className:`overflow-y-auto ${K?"max-h-[40%] border-b border-zinc-800/30":"flex-1"} ${D?"ring-2 ring-inset ring-amber-500/50 bg-amber-500/5":""}`,onDragOver:e=>{e.preventDefault(),O(!0)},onDragLeave:()=>O(!1),onDrop:e=>{e.preventDefault(),O(!1),e.dataTransfer.files.length>0&&R(e.dataTransfer.files)},children:L?(0,t.jsx)("div",{className:"p-3 text-xs text-amber-400",children:"Uploading..."}):j?(0,t.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Loading..."}):0===d.length?(0,t.jsx)("div",{className:"p-3 text-xs text-zinc-600",children:"Empty directory"}):(0,t.jsx)("div",{className:"py-1",children:d.map(e=>(0,t.jsx)(eg,{item:e,depth:0,expanded:m.has(e.path),expandedDirs:m,onClick:$,loadDir:P,activeFile:f?.path},e.path))})}),K&&(0,t.jsxs)("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-zinc-800/30 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 min-w-0",children:[(0,t.jsx)("span",{className:`text-xs font-mono truncate ${eh(f.ext)}`,children:f.name}),(0,t.jsx)("span",{className:"text-[9px] text-zinc-600",children:f.lines?`${f.lines} lines`:eu(f.size)}),f.truncated&&(0,t.jsx)("span",{className:"text-[9px] text-amber-500",children:"(truncated)"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("button",{onClick:()=>{var e,t;let s;return f&&(e=f.path,t=f.name,void((s=document.createElement("a")).href=(0,M.api)(`/api/files?raw=${encodeURIComponent(e)}`),s.download=t,s.click()))},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Download file",children:(0,t.jsx)(el,{className:"w-3 h-3"})}),(0,t.jsx)("button",{onClick:()=>{f&&E(f)},className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",title:"Open in new window",children:(0,t.jsx)(er.ExternalLink,{className:"w-3 h-3"})}),(0,t.jsx)("button",{onClick:()=>g(null),className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,t.jsx)(b.X,{className:"w-3 h-3"})})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(eb,{file:f})})]})]})]}):(0,t.jsxs)("div",{className:"h-full flex flex-col bg-zinc-950 border-r border-zinc-800",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 border-b border-zinc-800/50 flex-shrink-0",children:[(0,t.jsx)("span",{className:"text-[10px] text-zinc-500 uppercase tracking-wider font-medium",children:"Files"}),(0,t.jsx)("button",{onClick:e,className:"p-0.5 text-zinc-600 hover:text-zinc-300 transition-colors",children:(0,t.jsx)(b.X,{className:"w-3.5 h-3.5"})})]}),(0,t.jsx)("div",{className:"p-3 text-xs text-zinc-500",children:0===n.length?"No development directories configured. Add them in Settings.":"Loading..."})]})}function eb({file:e}){return e.error?(0,t.jsx)("div",{className:"p-3 text-xs text-red-400",children:e.error}):e.image&&e.rawUrl?(0,t.jsx)("div",{className:"flex items-center justify-center p-4 min-h-[200px]",children:(0,t.jsx)("img",{src:(0,M.api)(e.rawUrl),alt:e.name,className:"max-w-full max-h-[60vh] object-contain rounded"})}):e.image&&e.tooLarge?(0,t.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Image too large (",eu(e.size),")"]}):e.pdf&&e.rawUrl?(0,t.jsx)("iframe",{src:(0,M.api)(e.rawUrl),className:"w-full h-full border-none",title:e.name}):e.binary?(0,t.jsxs)("div",{className:"p-3 text-xs text-zinc-500",children:["Binary file (",e.ext,", ",eu(e.size),")"]}):void 0!==e.content?(0,t.jsx)("pre",{className:"text-[11px] leading-4 font-mono p-0 m-0",children:(0,t.jsx)("table",{className:"border-collapse w-full",children:(0,t.jsx)("tbody",{children:e.content.split("\n").map((s,a)=>(0,t.jsxs)("tr",{className:"hover:bg-zinc-800/30",children:[(0,t.jsx)("td",{className:"text-right pr-3 pl-3 text-zinc-700 select-none w-[1%] whitespace-nowrap",children:a+1}),(0,t.jsx)("td",{className:`pr-3 whitespace-pre ${eh(e.ext)}`,children:s||" "})]},a))})})}):null}function eg({item:e,depth:a,expanded:n,expandedDirs:i,onClick:r,loadDir:l,activeFile:c}){let[o,p]=(0,s.useState)(null);(0,s.useEffect)(()=>{n&&e.isDir&&!o&&l(e.path).then(e=>p(e.items))},[n,e.isDir,e.path,o,l]);let h=c===e.path;return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:()=>r(e),className:`flex items-center gap-1.5 w-full text-left px-2 py-[3px] text-[11px] transition-colors ${h?"bg-indigo-500/10 text-indigo-300":"text-zinc-400 hover:bg-zinc-800/50 hover:text-zinc-200"}`,style:{paddingLeft:`${8+14*a}px`},children:[e.isDir?n?(0,t.jsx)(d.ChevronDown,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,t.jsx)(x.ChevronRight,{className:"w-3 h-3 text-zinc-600 flex-shrink-0"}):(0,t.jsx)("span",{className:"w-3 flex-shrink-0"}),(0,t.jsx)(em,{item:e}),(0,t.jsx)("span",{className:"truncate",children:e.name})]}),n&&e.isDir&&o&&o.map(e=>(0,t.jsx)(eg,{item:e,depth:a+1,expanded:i.has(e.path),expandedDirs:i,onClick:r,loadDir:l,activeFile:c},e.path))]})}function ej(){return(0,t.jsx)(R.TotpGate,{children:e=>(0,t.jsx)(ew,{terminalToken:e})})}function ew({terminalToken:e}){let p=(0,C.useRouter)(),{basePath:P,hasNetwork:$,hasCollaboration:E,hasCortex:I}=(0,D.useTier)(),[F,R]=(0,s.useState)([]),[K,q]=(0,s.useState)(!0),[B,H]=(0,s.useState)(!0),[_,V]=(0,s.useState)(!1),[X,G]=(0,s.useState)(null),[Y,ee]=(0,s.useState)(new Set),[et,es]=(0,s.useState)(!1),[ea,en]=(0,s.useState)(!0);!function(){let e=(0,J.useQueryClient)(),{hasCollaboration:t}=(0,D.useTier)();(0,s.useEffect)(()=>{if(!t)return;let s=new EventSource((0,M.api)("/api/events")),a=()=>{e.invalidateQueries({queryKey:["workspace-messages"]})},n=()=>{e.invalidateQueries({queryKey:["workspace-context"]})};return s.addEventListener("workspace:message",a),s.addEventListener("workspace:request",a),s.addEventListener("workspace:context_updated",n),()=>{s.removeEventListener("workspace:message",a),s.removeEventListener("workspace:request",a),s.removeEventListener("workspace:context_updated",n),s.close()}},[e,t])}();let[ei,er]=(0,s.useState)([]),[el,ec]=(0,s.useState)(null),[eo,ed]=(0,s.useState)(!1),[ex,ep]=(0,s.useState)(!1),[eh,em]=(0,s.useState)(""),[eu,eb]=(0,s.useState)("#6366f1"),[eg,ej]=(0,s.useState)(null),[ew,ev]=(0,s.useState)(""),[ey,eN]=(0,s.useState)(null),[ez,ek]=(0,s.useState)(!1),[eC,eS]=(0,s.useState)(null),eT=(0,s.useCallback)(e=>{eS(e),ek(!0)},[]),[eP,e$]=(0,s.useState)(""),[eE,eI]=(0,s.useState)(""),[eM,eL]=(0,s.useState)("#6366f1"),[eF,eD]=(0,s.useState)(""),[eO,eR]=(0,s.useState)("claude"),[eA,eU]=(0,s.useState)("new"),[eK,eq]=(0,s.useState)(""),[eB,eH]=(0,s.useState)(""),eJ=(0,U.useRemoteWorkspaces)(),[eQ,e_]=(0,s.useState)(new Set),eV=(0,s.useCallback)(e=>{e_(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),[eW,eX]=(0,s.useState)(""),[eG,eY]=(0,s.useState)([]),[eZ,e0]=(0,s.useState)(!1),[e1,e5]=(0,s.useState)(!1),[e2,e3]=(0,s.useState)(null),[e4,e6]=(0,s.useState)(!0),e7=(0,s.useRef)(null),e8=(0,s.useRef)(null),e9=(0,s.useRef)(null),te=(0,s.useCallback)(async()=>{let e=await fetch((0,M.api)("/api/workspaces")),t=await e.json();er(t);let s=t.find(e=>e.isActive);return ec(s||null),H(!1),s||null},[]),tt=(0,s.useCallback)(async()=>{let e=await fetch((0,M.api)("/api/panes")),t=await e.json();R(t);let s=new Set;for(let e of t)e.isPopout&&s.add(e.id);ee(s),q(!1)},[]);(0,s.useEffect)(()=>{te()},[te]),(0,s.useEffect)(()=>{et&&tt()},[et,tt]),(0,s.useEffect)(()=>{let e=new BroadcastChannel("spaces-panes");return e9.current=e,e.onmessage=e=>{let t=e.data;"popout-opened"===t.type?ee(e=>new Set(e).add(t.paneId)):"popout-closed"===t.type?(ee(e=>{let s=new Set(e);return s.delete(t.paneId),s}),R(e=>e.map(e=>e.id===t.paneId?{...e,isPopout:!1}:e))):"pane-updated"===t.type&&R(e=>e.map(e=>e.id===t.paneId?{...e,...t.data}:e))},()=>e.close()},[tt]);let[ts,ta]=(0,s.useState)(0);(0,s.useEffect)(()=>{if(!K)for(let e of F)e.isPopout&&tc(e)},[K,ts]),(0,s.useEffect)(()=>{if("claude"!==eO||"resume"!==eA)return;e0(!0);let e=setTimeout(()=>{let e=new URLSearchParams({sortBy:"modified",sortDir:"DESC",limit:"200"});eW&&e.set("search",eW),e4&&eE&&e.set("projectPath",eE),e.set("agentType",eO),fetch((0,M.api)(`/api/sessions?${e}`)).then(e=>e.json()).then(e=>{eY(e.sessions||[]),e0(!1)}).catch(()=>e0(!1))},300*!!eW);return()=>clearTimeout(e)},[eO,eA,eW,e4,eE]),(0,s.useEffect)(()=>{function e(e){e7.current&&!e7.current.contains(e.target)&&e5(!1),e8.current&&!e8.current.contains(e.target)&&ed(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let tn=(0,s.useCallback)(async()=>{let e,t=A.AGENT_TYPES[eO],s=eE||e2?.projectPath||"/";"shell"!==eO&&(e="resume"===eA&&t?.supportsResume?e2?.sessionId||eF:"new");let a=eP||(e2?e2.customName||e2.firstPrompt?.slice(0,50)||t?.name||"Agent":"")||("shell"===eO?"Terminal":t?.name||"Agent"),n=el?.collaboration&&"shell"!==eO,i=await fetch((0,M.api)("/api/panes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:a,color:eM,cwd:s,claudeSessionId:e,agentType:eO,customCommand:"custom"===eO?eK:void 0,nodeId:eB||void 0,isCollaborating:n||void 0})}),r=await i.json();R(e=>[...e,r]),(0,W.track)("pane_created",{agentType:eO}),V(!1),e$(""),eI(""),eL("#6366f1"),eD(""),eR("shell"),eU("new"),eq(""),eH(""),e3(null),eX("")},[eP,eE,eM,eF,eO,eA,eK,eB,e2]),ti=(0,s.useCallback)(async e=>{let t=F.find(t=>t.id===e);await fetch((0,M.api)(`/api/panes/${e}`),{method:"DELETE"}),R(t=>t.filter(t=>t.id!==e)),t&&(0,W.track)("pane_closed",{agentType:t.agentType}),X===e&&G(null),ee(t=>{let s=new Set(t);return s.delete(e),s})},[X,F]),tr=(0,s.useCallback)(async(e,t)=>{await fetch((0,M.api)(`/api/panes/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),R(s=>s.map(s=>s.id===e?{...s,...t}:s))},[]),tl=(0,s.useCallback)(e=>{G(t=>t===e?null:e)},[]),tc=(0,s.useCallback)(e=>{let t=e.winWidth||900,s=e.winHeight||600,a=e.winX??Math.round(screen.width/2-t/2),n=e.winY??Math.round(screen.height/2-s/2),i=`left=${a},top=${n},width=${t},height=${s},menubar=no,toolbar=no,location=no,status=no`;window.open((0,M.api)(`/terminal/pane/${e.id}`),`spaces-pane-${e.id}`,i),ee(t=>new Set(t).add(e.id)),fetch((0,M.api)(`/api/panes/${e.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!0,winX:a,winY:n,winWidth:t,winHeight:s})})},[]),to=(0,s.useCallback)(e=>{let t=F.find(t=>t.id===e);t&&tc(t)},[F,tc]),td=(0,s.useCallback)(async e=>{e9.current?.postMessage({type:"close-popouts"}),await fetch((0,M.api)(`/api/panes/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isPopout:!1})}),ee(t=>{let s=new Set(t);return s.delete(e),s})},[]),tx=(0,s.useCallback)(()=>{Y.size>0&&(e9.current?.postMessage({type:"close-popouts"}),ee(new Set))},[Y]),tp=(0,s.useCallback)(async e=>{tx(),await fetch((0,M.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"switch",workspaceId:e})}),G(null),await te(),await tt(),ed(!1),et?(0,W.track)("workspace_switched"):(0,W.track)("workspace_entered"),es(!0),ta(e=>e+1)},[te,tt,tx,et]),th=(0,s.useCallback)(async()=>{eh.trim()&&el&&(await fetch((0,M.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"duplicate",sourceId:el.id,name:eh.trim(),color:eu})}),em(""),eb("#6366f1"),ep(!1),await te())},[eh,eu,el,te]),tm=(0,s.useCallback)(async()=>{let e=await fetch((0,M.api)("/api/workspaces"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"New Space",color:"#6366f1"})}),t=await e.json();(0,W.track)("workspace_created"),await tp(t.id)},[tp]),tu=(0,s.useCallback)(async e=>{tx(),await fetch((0,M.api)(`/api/workspaces/${e}`),{method:"DELETE"}),(0,W.track)("workspace_deleted"),await te(),await tt(),ed(!1)},[te,tt,tx]),tf=(0,s.useCallback)(()=>{tx(),R([]),es(!1)},[tx]),tb=(0,s.useCallback)(async(e,t)=>{await fetch((0,M.api)(`/api/workspaces/${e}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t})}),ej(null),await te()},[te]),tg=F.filter(e=>!Y.has(e.id));return et?K?(0,t.jsx)("div",{className:"flex items-center justify-center h-screen bg-zinc-950",children:(0,t.jsx)(n.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,t.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-zinc-800 flex-shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("button",{onClick:tf,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,t.jsx)(j.Home,{className:"w-4 h-4"})}),(0,t.jsx)("div",{className:"w-px h-4 bg-zinc-800"}),(0,t.jsx)("h1",{className:"text-sm font-semibold",children:"Spaces"}),(0,t.jsxs)("div",{ref:e8,className:"relative",children:[(0,t.jsxs)("button",{onClick:()=>ed(!eo),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:[el&&(0,t.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:el.color}}),(0,t.jsx)("span",{className:"max-w-[150px] truncate",children:el?.name||"No space"}),(0,t.jsx)(d.ChevronDown,{className:"w-3 h-3 text-zinc-500"})]}),eo&&(0,t.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,t.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,t.jsx)("div",{className:"max-h-[300px] overflow-y-auto",children:ei.map(e=>(0,t.jsx)("div",{className:"flex items-center gap-2 hover:bg-zinc-700/50 transition-colors group",children:eg===e.id?(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-1 px-3 py-2",children:[(0,t.jsx)("input",{autoFocus:!0,value:ew,onChange:e=>ev(e.target.value),onKeyDown:t=>{"Enter"===t.key&&tb(e.id,ew),"Escape"===t.key&&ej(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,t.jsx)("button",{onClick:()=>tb(e.id,ew),className:"text-green-400 hover:text-green-300",children:(0,t.jsx)(f.Check,{className:"w-3 h-3"})})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("button",{onClick:()=>tp(e.id),className:"flex items-center gap-2 flex-1 px-3 py-2 text-left",children:[(0,t.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:e.color}}),(0,t.jsx)("span",{className:"text-xs text-white truncate flex-1",children:e.name}),(0,t.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[e.paneCount||0," panes"]}),e.isActive&&(0,t.jsx)("span",{className:"text-[10px] text-indigo-400",children:"active"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-0.5 pr-2 opacity-0 group-hover:opacity-100",children:[(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),ej(e.id),ev(e.name)},className:"p-1 text-zinc-500 hover:text-white rounded",title:"Rename",children:(0,t.jsx)(u.Pencil,{className:"w-2.5 h-2.5"})}),!e.isActive&&ei.length>1&&(0,t.jsx)("button",{onClick:t=>{t.stopPropagation(),confirm(`Delete space "${e.name}" and all its panes?`)&&tu(e.id)},className:"p-1 text-zinc-500 hover:text-red-400 rounded",title:"Delete",children:(0,t.jsx)(m.Trash2,{className:"w-2.5 h-2.5"})})]})]})},e.id))}),(0,t.jsxs)("div",{className:"border-t border-zinc-700/50 p-1.5 flex gap-1",children:[(0,t.jsxs)("button",{onClick:tm,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,t.jsx)(a.Plus,{className:"w-3 h-3"})," New Empty"]}),(0,t.jsxs)("button",{onClick:()=>{ep(!0),ed(!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,t.jsx)(g.Copy,{className:"w-3 h-3"})," Duplicate Current"]})]})]})]}),(0,t.jsxs)("span",{className:"text-[11px] text-zinc-500",children:[tg.length," pane",1!==tg.length?"s":"",Y.size>0&&` + ${Y.size} popped out`]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("button",{onClick:()=>ek(!ez),className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${ez?"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:ez?"Hide file explorer":"Show file explorer",children:[(0,t.jsx)(c.FolderOpen,{className:"w-3.5 h-3.5"}),"Files"]}),E&&el&&(0,t.jsxs)("button",{onClick:async()=>{let e=!el.collaboration;for(let t of(await fetch((0,M.api)(`/api/workspaces/${el.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({collaboration:e})}),ec(t=>t?{...t,collaboration:e}:t),er(t=>t.map(t=>t.id===el.id?{...t,collaboration:e}:t)),F.filter(e=>e.workspaceId===el.id&&"shell"!==e.agentType)))t.isCollaborating!==e&&await tr(t.id,{isCollaborating:e})},className:`flex items-center gap-1.5 px-2.5 py-1.5 text-xs rounded-md border transition-colors ${el.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:el.collaboration?"Collaboration enabled — click to disable":"Enable collaboration for this workspace",children:[(0,t.jsx)(z.Users,{className:"w-3.5 h-3.5"}),"Collab"]}),(0,t.jsxs)("button",{onClick:tf,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,t.jsx)(w,{className:"w-3.5 h-3.5"}),"Close"]}),(0,t.jsxs)("button",{onClick:()=>V(!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,t.jsx)(a.Plus,{className:"w-3.5 h-3.5"}),"Add Pane"]})]})]}),ex&&(0,t.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-3",children:(0,t.jsxs)("div",{className:"max-w-md flex items-center gap-2",children:[(0,t.jsx)(h,{className:"w-4 h-4 text-indigo-400 flex-shrink-0"}),(0,t.jsx)("input",{autoFocus:!0,type:"text",placeholder:"New space name...",value:eh,onChange:e=>em(e.target.value),onKeyDown:e=>"Enter"===e.key&&th(),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,t.jsx)(T.ColorPicker,{value:eu,onChange:eb}),(0,t.jsx)("button",{onClick:th,disabled:!eh.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,t.jsx)("button",{onClick:()=>ep(!1),className:"p-1.5 text-zinc-400 hover:text-white",children:(0,t.jsx)(b.X,{className:"w-4 h-4"})})]})}),_&&(0,t.jsx)("div",{className:"border-b border-zinc-800 bg-zinc-900 px-4 py-4",children:(0,t.jsxs)("div",{className:"max-w-lg space-y-3",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Add Pane"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Agent"}),(0,t.jsx)("div",{className:"grid grid-cols-3 gap-1.5",children:A.AGENT_LIST.map(e=>(0,t.jsxs)("button",{onClick:()=>{eR(e.id),eU("new"),e3(null),eD("")},className:`flex items-center gap-2 px-3 py-2 rounded-md border text-left transition-colors ${eO===e.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,t.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:e.color}}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("div",{className:"text-xs font-medium truncate",children:e.name}),(0,t.jsx)("div",{className:"text-[10px] text-zinc-500 truncate",children:e.description})]})]},e.id))})]}),A.AGENT_TYPES[eO]?.supportsResume&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("button",{onClick:()=>{eU("new"),e3(null),eD("")},className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"new"===eA?"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,t.jsx)("button",{onClick:()=>eU("resume"),className:`px-3 py-1.5 text-xs rounded-md border transition-colors ${"resume"===eA?"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"===eO&&(0,t.jsx)("input",{type:"text",placeholder:"Command to run (e.g. python agent.py)",value:eK,onChange:e=>eq(e.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,t.jsx)(O,{value:eB,onChange:eH}),(0,t.jsx)("input",{type:"text",placeholder:"Title (optional)",value:eP,onChange:e=>e$(e.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"}),eB?(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Working directory (on remote node)"}),(0,t.jsx)("input",{type:"text",placeholder:"e.g. /home/user/project or ~ for home",value:eE,onChange:e=>eI(e.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,t.jsx)(L,{value:eE,onChange:eI}),"claude"===eO&&"resume"===eA&&(0,t.jsxs)("div",{ref:e7,className:"relative",children:[e2?(0,t.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,t.jsx)(l.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 flex-shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-white truncate",children:e2.customName||e2.firstPrompt?.slice(0,60)||"Untitled"}),(0,t.jsxs)("div",{className:"text-[10px] text-zinc-500 flex items-center gap-2",children:[(0,t.jsx)("span",{children:e2.projectName}),(0,t.jsxs)("span",{children:[e2.messageCount," msgs"]}),(0,t.jsxs)("span",{className:"font-mono",children:[e2.sessionId.slice(0,8),"..."]})]})]}),(0,t.jsx)("button",{onClick:()=>{e3(null),e5(!0)},className:"text-zinc-400 hover:text-white text-xs",children:"Change"})]}):(0,t.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:()=>e5(!0),children:[(0,t.jsx)(r.Search,{className:"w-3.5 h-3.5 text-zinc-500"}),(0,t.jsx)("input",{type:"text",placeholder:"Search sessions by name, prompt, or project...",value:eW,onChange:e=>{eX(e.target.value),e5(!0)},onFocus:()=>e5(!0),className:"flex-1 bg-transparent focus:outline-none text-white placeholder:text-zinc-500"}),eE&&(0,t.jsx)("button",{onClick:e=>{e.stopPropagation(),e6(!e4)},className:`flex-shrink-0 px-1.5 py-0.5 text-[10px] rounded border transition-colors ${e4?"border-indigo-500/50 bg-indigo-600/20 text-indigo-400":"border-zinc-600 text-zinc-500 hover:text-zinc-400"}`,title:e4?"Showing sessions for this directory — click to show all":"Showing all sessions — click to filter by directory",children:e4?eE.split("/").pop():"All"}),(0,t.jsx)(d.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-500"})]}),e1&&!e2&&(0,t.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:eZ?(0,t.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"}),(0,t.jsx)("span",{className:"text-xs text-zinc-400 ml-2",children:"Loading sessions..."})]}):0===eG.length?(0,t.jsx)("div",{className:"py-4 px-3 text-xs text-zinc-500 text-center",children:eW?"No sessions match your search":"No sessions found"}):eG.map(e=>(0,t.jsx)("button",{onClick:()=>{e3(e),eD(e.sessionId),!eE&&e.projectPath&&eI(e.projectPath),eP||e$(e.customName||""),e5(!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,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(l.MessageSquare,{className:"w-3.5 h-3.5 text-indigo-400 mt-0.5 flex-shrink-0"}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-xs text-white truncate",children:e.customName||e.firstPrompt?.slice(0,70)||"Untitled session"}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,t.jsxs)("span",{className:"text-[10px] text-indigo-400/70 flex items-center gap-0.5",children:[(0,t.jsx)(c.FolderOpen,{className:"w-2.5 h-2.5"}),e.projectName]}),(0,t.jsxs)("span",{className:"text-[10px] text-zinc-500",children:[e.messageCount," msgs"]}),(0,t.jsxs)("span",{className:"text-[10px] text-zinc-500 flex items-center gap-0.5",children:[(0,t.jsx)(o.Clock,{className:"w-2.5 h-2.5"}),new Date(e.modified).toLocaleDateString()]}),e.starred&&(0,t.jsx)("span",{className:"text-[10px]",children:"★"})]}),e.tags?.length>0&&(0,t.jsx)("div",{className:"flex gap-1 mt-1",children:e.tags.map(e=>(0,t.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 bg-zinc-700 rounded text-zinc-400",children:e},e))})]})]})},e.sessionId))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-[11px] text-zinc-400 mb-1.5 block",children:"Color"}),(0,t.jsx)(T.ColorPicker,{value:eM,onChange:eL})]}),(0,t.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,t.jsx)("button",{onClick:tn,disabled:"custom"===eO&&!eK.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,t.jsx)("button",{onClick:()=>V(!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"})]})]})}),Y.size>0&&(0,t.jsxs)("div",{className:"flex items-center gap-2 px-4 py-1.5 border-b border-zinc-800 bg-zinc-900/50",children:[(0,t.jsx)("span",{className:"text-[10px] text-zinc-500",children:"Popped out:"}),F.filter(e=>Y.has(e.id)).map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,t.jsxs)("button",{onClick:()=>tc(e),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,t.jsx)("span",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:e.color}}),e.title]}),(0,t.jsx)("button",{onClick:()=>td(e.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,t.jsx)(v,{className:"w-2.5 h-2.5"})})]},e.id))]}),(0,t.jsxs)("div",{className:"flex-1 flex overflow-hidden min-h-0",children:[ez&&(0,t.jsx)("div",{className:"w-64 flex-shrink-0",children:(0,t.jsx)(ef,{onClose:()=>ek(!1),navigateTo:eC})}),0===tg.length&&0===Y.size?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center space-y-3",children:[(0,t.jsx)("img",{src:`${P}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto opacity-30"}),(0,t.jsx)("p",{className:"text-zinc-500",children:"No panes yet."}),(0,t.jsx)("p",{className:"text-zinc-600 text-xs",children:"Add a pane to start a shell, Claude, Codex, Gemini, or any agent."}),(0,t.jsxs)("button",{onClick:()=>V(!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,t.jsx)(a.Plus,{className:"w-4 h-4"}),"Add your first pane"]})]})}):0===tg.length?(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,t.jsxs)("div",{className:"text-center space-y-2",children:[(0,t.jsx)("p",{className:"text-zinc-500 text-sm",children:"All panes are popped out to separate windows."}),(0,t.jsxs)("button",{onClick:()=>V(!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,t.jsx)(a.Plus,{className:"w-3.5 h-3.5"}),"Add another pane"]})]})}):(0,t.jsx)("div",{className:"flex-1 p-2 gap-2 overflow-auto h-full relative",style:{display:"grid",gridTemplateColumns:1===tg.length?"1fr":tg.length<=2||tg.length<=4?"repeat(2, 1fr)":"repeat(3, 1fr)",gridAutoRows:tg.length<=2?"1fr":"minmax(300px, 1fr)"},children:tg.map(s=>X&&X!==s.id?null:(0,t.jsx)(S.TerminalPane,{pane:s,onClose:ti,onUpdate:tr,isMaximized:X===s.id,onToggleMaximize:tl,onPopout:to,onBrowse:eT,terminalToken:e,workspaceCollaboration:el?.collaboration},s.id))}),el?.collaboration&&(0,t.jsx)(Q,{workspaceId:el?.id??null,panes:tg.map(e=>({id:e.id,title:e.title,agentType:e.agentType,color:e.color})),collapsed:ea,onToggle:()=>en(!ea)})]})]}):(0,t.jsxs)("div",{className:"h-screen flex flex-col bg-zinc-950 text-zinc-100",children:[(0,t.jsx)("div",{className:"absolute top-4 left-4",children:(0,t.jsxs)("button",{onClick:()=>p.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,t.jsx)(j.Home,{className:"w-3.5 h-3.5"}),"Home"]})}),(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center p-8 overflow-y-auto min-h-0",children:(0,t.jsxs)("div",{className:"w-full max-w-2xl my-auto",children:[(0,t.jsxs)("div",{className:"text-center mb-10",children:[(0,t.jsx)("img",{src:`${P}/spaces_icon.png`,alt:"Spaces",className:"w-16 h-16 mx-auto mb-4"}),(0,t.jsx)("h1",{className:"text-2xl font-bold mb-2",children:"Spaces"}),(0,t.jsx)("p",{className:"text-zinc-400 text-sm",children:"Choose a workspace to open, or create a new one."})]}),B?(0,t.jsx)("div",{className:"flex justify-center py-12",children:(0,t.jsx)(n.Loader2,{className:"w-6 h-6 animate-spin text-indigo-500"})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3 mb-6",children:ei.map(e=>(0,t.jsxs)("div",{className:`relative bg-zinc-900 border rounded-lg transition-all ${ey===e.id?"border-zinc-600":"border-zinc-800 hover:border-zinc-600 hover:bg-zinc-800/50"}`,children:[(0,t.jsxs)("button",{onClick:()=>tp(e.id),className:"flex items-center gap-3 p-4 text-left w-full group",children:[(0,t.jsx)("span",{className:"w-3.5 h-3.5 rounded-full flex-shrink-0",style:{backgroundColor:e.color}}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-white truncate",children:e.name}),(0,t.jsxs)("div",{className:"text-xs text-zinc-500 mt-0.5",children:[e.paneCount||0," pane",1!==(e.paneCount||0)?"s":"",e.isActive&&(0,t.jsx)("span",{className:"text-indigo-400 ml-2",children:"last active"})]})]}),(0,t.jsx)(i.Terminal,{className:"w-4 h-4 text-zinc-600 group-hover:text-zinc-400 transition-colors"})]}),I&&(0,t.jsx)("button",{onClick:()=>eN(ey===e.id?null:e.id),className:`absolute top-2 right-2 p-1 rounded transition-colors ${ey===e.id?"text-purple-400 bg-purple-500/10":"text-zinc-700 hover:text-zinc-400"}`,title:"Knowledge lobe settings",children:(0,t.jsx)(k.Brain,{className:"w-3.5 h-3.5"})}),ey===e.id&&(0,t.jsx)("div",{className:"px-4 pb-4 border-t border-zinc-800/50 pt-3",children:(0,t.jsx)(Z,{workspaceId:e.id,workspaceName:e.name})})]},e.id))}),(0,t.jsx)("div",{className:"flex justify-center",children:(0,t.jsxs)("button",{onClick:tm,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,t.jsx)(a.Plus,{className:"w-4 h-4"}),"New Workspace"]})}),$&&eJ.isLoading&&(0,t.jsxs)("div",{className:"flex items-center justify-center gap-2 py-4 mt-6 border-t border-zinc-800",children:[(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"}),(0,t.jsx)("span",{className:"text-xs text-zinc-500",children:"Loading network spaces..."})]}),$&&eJ.data?.remote&&eJ.data.remote.length>0&&(0,t.jsxs)("div",{className:"mt-6 border-t border-zinc-800 pt-6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[(0,t.jsx)(y.Globe,{className:"w-4 h-4 text-zinc-500"}),(0,t.jsx)("h2",{className:"text-sm font-medium text-zinc-400",children:"Network Spaces"})]}),eJ.data.remote.map(e=>(0,t.jsxs)("div",{className:"mb-3",children:[(0,t.jsxs)("button",{onClick:()=>eV(e.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:[eQ.has(e.nodeId)?(0,t.jsx)(x.ChevronRight,{className:"w-3.5 h-3.5 text-zinc-600"}):(0,t.jsx)(d.ChevronDown,{className:"w-3.5 h-3.5 text-zinc-600"}),(0,t.jsx)(y.Globe,{className:"w-3 h-3 text-zinc-600"}),(0,t.jsx)("span",{className:"font-medium",children:e.nodeName}),(0,t.jsxs)("span",{className:"text-zinc-600",children:[e.workspaces.length," space",1!==e.workspaces.length?"s":""]})]}),!eQ.has(e.nodeId)&&(0,t.jsx)("div",{className:"grid grid-cols-2 gap-2 mt-2 ml-5",children:e.workspaces.map(s=>(0,t.jsxs)("button",{onClick:()=>{p.push(`/terminal/remote/${e.nodeId}/${s.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,t.jsx)("span",{className:"w-3 h-3 rounded-full flex-shrink-0 ring-1 ring-zinc-700",style:{backgroundColor:s.color}}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)("div",{className:"text-xs font-medium text-zinc-300 truncate",children:s.name}),(0,t.jsxs)("div",{className:"text-[10px] text-zinc-600 mt-0.5",children:[s.paneCount||0," pane",1!==(s.paneCount||0)?"s":""]})]}),(0,t.jsx)(y.Globe,{className:"w-3 h-3 text-zinc-700 group-hover:text-zinc-500 transition-colors"})]},`${e.nodeId}-${s.id}`))})]},e.nodeId)),eJ.data.errors&&eJ.data.errors.length>0&&(0,t.jsx)("div",{className:"mt-3 space-y-1",children:eJ.data.errors.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1.5 text-[10px] text-zinc-600",children:[(0,t.jsx)(N.AlertCircle,{className:"w-3 h-3 text-red-500/50"}),(0,t.jsxs)("span",{children:[e.nodeName,": ",e.error]})]},e.nodeId))})]})]})]})})]})}e.s(["default",()=>ej],9799)}]);
|