@jlongo78/agent-spaces 0.7.3 → 0.7.5
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/prerender-manifest.json +3 -3
- package/.next/standalone/.next/required-server-files.json +19 -19
- 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/analytics/overview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
- package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
- 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/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/import/status/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/ingest/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/lobes/share/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/mcp/call/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/workspaces/route.js +1 -1
- package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/workspaces/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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +2 -2
- 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 +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +8 -8
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cf3c60c2._.js → [root-of-the-server]__33fec964._.js} +4 -4
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +2 -2
- 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 +2 -2
- 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 +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +6 -6
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +2 -2
- 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]__eee4c5e8._.js → [root-of-the-server]__cba5f007._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +3 -3
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +2 -2
- 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]__19afc53d._.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/{_7dd2ac82._.js → _078dd64d._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_163d0838._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_a4eeff0d._.js → _2230ad2d._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{_9303a965._.js → _701606d5._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_72b1de37._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_d39bcfda._.js → _93ef0f79._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_950142a4._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_a22b5eb0._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_aeeff784._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_c1cfdd09._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_c2d3f6de._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_8167090e._.js → _db2fec84._.js} +2 -2
- 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/chunks/ssr/src_components_terminal_terminal-pane_tsx_803c5e2c._.js +2 -2
- package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +2 -2
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/25b7a243a404a1a7.js +1 -0
- package/.next/standalone/.next/static/chunks/2b997e211a5d547b.js +1 -0
- package/.next/standalone/.next/static/chunks/5e08abb00653754a.js +1 -0
- package/.next/standalone/.next/static/chunks/61f2ed39b75b1efc.js +1 -0
- package/.next/standalone/.next/static/chunks/6c78a1dfa7ec2959.css +3 -0
- package/.next/standalone/.next/static/chunks/7246f1ee445f7024.js +1 -0
- package/.next/standalone/.next/static/chunks/7424664c6ffa94bd.js +1 -0
- package/.next/standalone/.next/static/chunks/7e0091ab6c5ee8bd.js +1 -0
- package/.next/standalone/.next/static/chunks/8b3f4572fec83caa.js +5 -0
- package/.next/standalone/.next/static/chunks/{a7b2795949a6c63e.js → 9899cf4c2bdbe61d.js} +2 -2
- package/.next/standalone/.next/static/chunks/ac339e970df82fa5.js +5 -0
- package/.next/standalone/.next/static/chunks/{0e61e67b7b8fc3f3.js → c418112e102673ce.js} +1 -1
- package/.next/standalone/.next/static/chunks/e2f0a2330dedff4b.js +85 -0
- package/.next/standalone/.next/static/chunks/f0c8b3f8cc1939ec.js +1 -0
- package/.next/standalone/.next/static/chunks/f9f2628207848ac2.js +1 -0
- package/.next/standalone/bin/cortex-hook.sh +62 -62
- package/.next/standalone/bin/cortex-mcp.js +60 -60
- package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +1387 -1387
- package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +1923 -1923
- package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +1113 -1113
- package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +853 -853
- package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +1274 -1274
- package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +933 -933
- package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +1080 -1080
- package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +768 -768
- package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +1108 -1108
- package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -0
- package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +268 -268
- package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +623 -623
- package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +263 -263
- package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +240 -240
- package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
- package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
- package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-linux-x64}/package.json +46 -39
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
- package/.next/standalone/package.json +102 -102
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/app/(desktop)/cortex/page.tsx +78 -75
- package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
- 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/export/route.ts +40 -40
- package/.next/standalone/src/app/api/cortex/federation/pending/route.ts +20 -20
- package/.next/standalone/src/app/api/cortex/federation/resolve/route.ts +43 -43
- package/.next/standalone/src/app/api/cortex/federation/search/route.ts +35 -35
- package/.next/standalone/src/app/api/cortex/federation/teach/route.ts +76 -76
- package/.next/standalone/src/app/api/cortex/graph/edges/route.ts +112 -112
- package/.next/standalone/src/app/api/cortex/graph/entities/[id]/route.ts +73 -73
- package/.next/standalone/src/app/api/cortex/graph/entities/route.ts +75 -75
- package/.next/standalone/src/app/api/cortex/graph/populate/route.ts +203 -203
- package/.next/standalone/src/app/api/cortex/import/route.ts +75 -43
- package/.next/standalone/src/app/api/cortex/import/status/route.ts +15 -15
- package/.next/standalone/src/app/api/cortex/ingest/bootstrap/route.ts +29 -29
- package/.next/standalone/src/app/api/cortex/ingest/status/route.ts +15 -15
- package/.next/standalone/src/app/api/cortex/knowledge/[id]/route.ts +91 -91
- package/.next/standalone/src/app/api/cortex/knowledge/route.ts +93 -93
- package/.next/standalone/src/app/api/cortex/lobes/[id]/route.ts +67 -67
- package/.next/standalone/src/app/api/cortex/lobes/route.ts +22 -22
- package/.next/standalone/src/app/api/cortex/lobes/share/route.ts +80 -80
- 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/mcp/call/route.ts +11 -11
- package/.next/standalone/src/app/api/cortex/mcp/tools/route.ts +6 -6
- package/.next/standalone/src/app/api/cortex/search/route.ts +43 -43
- package/.next/standalone/src/app/api/cortex/settings/route.ts +33 -33
- package/.next/standalone/src/app/api/cortex/status/route.ts +169 -129
- package/.next/standalone/src/app/api/cortex/timeline/route.ts +42 -42
- package/.next/standalone/src/app/api/cortex/usage/route.ts +31 -31
- package/.next/standalone/src/app/api/cortex/workspace/[id]/context/route.ts +41 -41
- package/.next/standalone/src/components/cortex/constants.ts +29 -0
- package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -228
- package/.next/standalone/src/components/cortex/cortex-indicator.tsx +44 -44
- package/.next/standalone/src/components/cortex/cortex-panel.tsx +140 -140
- package/.next/standalone/src/components/cortex/cortex-settings.tsx +221 -221
- package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -0
- package/.next/standalone/src/components/cortex/entity-detail.tsx +101 -101
- package/.next/standalone/src/components/cortex/entity-graph.tsx +382 -382
- package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -0
- package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
- package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -127
- package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -56
- package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -199
- 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/config.ts +40 -40
- package/.next/standalone/src/lib/cortex/debug.ts +10 -10
- package/.next/standalone/src/lib/cortex/distillation/usage-store.ts +18 -18
- package/.next/standalone/src/lib/cortex/graph/resolver.ts +10 -10
- package/.next/standalone/src/lib/cortex/graph/types.ts +22 -22
- package/.next/standalone/src/lib/cortex/index.ts +56 -56
- package/.next/standalone/src/lib/cortex/ingestion/bootstrap.ts +14 -14
- package/.next/standalone/src/lib/cortex/knowledge/compat.ts +14 -14
- package/.next/standalone/src/lib/cortex/knowledge/contradiction.ts +10 -10
- package/.next/standalone/src/lib/cortex/knowledge/types.ts +67 -67
- package/.next/standalone/src/lib/cortex/lobes/config.ts +16 -16
- package/.next/standalone/src/lib/cortex/lobes/resolver.ts +8 -8
- package/.next/standalone/src/lib/cortex/lobes/shares.ts +14 -14
- package/.next/standalone/src/lib/cortex/mcp/server.ts +8 -8
- package/.next/standalone/src/lib/cortex/portability/exporter.ts +6 -6
- package/.next/standalone/src/lib/cortex/portability/importer.ts +10 -10
- package/.next/standalone/src/lib/cortex/retrieval/context-engine.ts +10 -10
- package/.next/standalone/src/lib/cortex/types.ts +39 -38
- package/.next/standalone/tsconfig.json +34 -34
- package/LICENSE +661 -661
- package/README.md +131 -131
- package/bin/cortex-hook.sh +62 -62
- package/bin/cortex-mcp.js +60 -60
- package/bin/fix-standalone-externals.js +79 -79
- package/bin/lib/auto-setup.js +110 -110
- package/bin/mdns-service.js +171 -171
- package/bin/postinstall.js +35 -35
- package/bin/setup-admin.js +195 -195
- package/bin/spaces-dev.js +208 -208
- package/bin/spaces-install.js +599 -599
- package/bin/spaces-reset-totp.js +50 -50
- package/bin/spaces-service.js +1020 -1020
- package/bin/spaces-setup.js +253 -253
- package/bin/spaces.js +776 -728
- package/bin/ssh-auth-keys.sh +68 -68
- package/bin/terminal-server.js +1649 -1646
- package/package.json +102 -102
- package/.next/standalone/.claude/settings.local.json +0 -55
- package/.next/standalone/.claude/spaces-env.json +0 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0ecce08b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_7e63066a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_a012c43b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_b4db3983._.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/_ed6c285b._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_133a7c8a._.js +0 -3
- package/.next/standalone/.next/static/chunks/17d164c01fa1aaa9.js +0 -5
- package/.next/standalone/.next/static/chunks/19da759dde107f02.js +0 -1
- package/.next/standalone/.next/static/chunks/58d78765e5140dcb.js +0 -1
- package/.next/standalone/.next/static/chunks/596bd56e0ad09173.js +0 -5
- package/.next/standalone/.next/static/chunks/78dd908e70bf8c4b.js +0 -85
- package/.next/standalone/.next/static/chunks/79aacab676df80c4.js +0 -1
- package/.next/standalone/.next/static/chunks/846d6ef408f69390.js +0 -1
- package/.next/standalone/.next/static/chunks/8de5e432a2fc563a.js +0 -1
- 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/e35e863c09511a51.js +0 -1
- package/.next/standalone/.next/static/chunks/f644c11ace7a0d9d.css +0 -3
- package/.next/standalone/.spaces/cortex-context.md +0 -70
- package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
- package/.next/standalone/src/components/cortex/context-tab.tsx +0 -171
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → 77VYbwIoyxFNr5xevTrCu}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → 77VYbwIoyxFNr5xevTrCu}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{B207XFa7QvXAYS7Sqq2_4 → 77VYbwIoyxFNr5xevTrCu}/_ssgManifest.js +0 -0
- /package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-libvips-linux-x64}/versions.json +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/9b2c5451f0b67975.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--77VYbwIoyxFNr5xevTrCu--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/9b2c5451f0b67975.js"/><script src="/_next/static/chunks/8977251fc56ec5d7.js" async=""></script><script src="/_next/static/chunks/e7772d64463868eb.js" async=""></script><script src="/_next/static/chunks/c0e3303ecca1ef39.js" async=""></script><script src="/_next/static/chunks/f091501564eb2ea3.js" async=""></script><script src="/_next/static/chunks/turbopack-4c21186b79fb4c10.js" async=""></script><script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script><script src="/_next/static/chunks/483effa74d32093a.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/9b2c5451f0b67975.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n3:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n4:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"ViewportBoundary\"]\n9:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"MetadataBoundary\"]\nb:I[68027,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/483effa74d32093a.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"77VYbwIoyxFNr5xevTrCu\",\"c\":[\"\",\"_global-error\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/ff1a16fafef87110.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/483effa74d32093a.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"URyA+0eEC/6+9JHRig5lC/iLyXiq1Gr6BRhhU4x4Y00=\"\n}"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"BailoutToCSR",{enumerable:!0,get:function(){return l}});let a=e.r(32061);function l({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new a.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},9885,(e,t,s)=>{"use strict";function a(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"encodeURIPath",{enumerable:!0,get:function(){return a}})},52157,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"PreloadChunks",{enumerable:!0,get:function(){return c}});let a=e.r(18050),l=e.r(74080),r=e.r(63599),i=e.r(9885),n=e.r(43369);function c({moduleIds:e}){if("u">typeof window)return null;let t=r.workAsyncStorage.getStore();if(void 0===t)return null;let s=[];if(t.reactLoadableManifest&&e){let a=t.reactLoadableManifest;for(let t of e){if(!a[t])continue;let e=a[t].files;s.push(...e)}}if(0===s.length)return null;let c=(0,n.getDeploymentIdQueryOrEmptyString)();return(0,a.jsx)(a.Fragment,{children:s.map(e=>{let s=`${t.assetPrefix}/_next/${(0,i.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,a.jsx)("link",{precedence:"dynamic",href:s,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,l.preload)(s,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},69093,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return d}});let a=e.r(18050),l=e.r(71645),r=e.r(67585),i=e.r(52157);function n(e){return{default:e&&"default"in e?e.default:e}}let c={loader:()=>Promise.resolve(n(()=>null)),loading:null,ssr:!0},d=function(e){let t={...c,...e},s=(0,l.lazy)(()=>t.loader().then(n)),d=t.loading;function o(e){let n=d?(0,a.jsx)(d,{isLoading:!0,pastDelay:!0,error:null}):null,c=!t.ssr||!!t.loading,o=c?l.Suspense:l.Fragment,x=t.ssr?(0,a.jsxs)(a.Fragment,{children:["u"<typeof window?(0,a.jsx)(i.PreloadChunks,{moduleIds:t.modules}):null,(0,a.jsx)(s,{...e})]}):(0,a.jsx)(r.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(s,{...e})});return(0,a.jsx)(o,{...c?{fallback:n}:{},children:x})}return o.displayName="LoadableComponent",o}},70703,(e,t,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),Object.defineProperty(s,"default",{enumerable:!0,get:function(){return l}});let a=e.r(55682)._(e.r(69093));function l(e,t){let s={};"function"==typeof e&&(s.loader=e);let l={...s,...t};return(0,a.default)({...l,modules:l.loadableGenerated?.modules})}("function"==typeof s.default||"object"==typeof s.default&&null!==s.default)&&void 0===s.default.__esModule&&(Object.defineProperty(s.default,"__esModule",{value:!0}),Object.assign(s.default,s),t.exports=s.default)},65061,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(70703),l=e.i(9165),r=e.i(55436),i=e.i(64659),n=e.i(55900),c=e.i(27612),d=e.i(78894);let o={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"},x={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"},m={debugging:"text-red-400",architecture:"text-blue-400",onboarding:"text-green-400",policy:"text-purple-400","how-to":"text-amber-400",review:"text-pink-400",security:"text-red-500",general:"text-gray-400"};function p({unit:e,onDelete:s,compact:a}){var r;let i,n=o[e.type]||o.context,m=(r=e.created,0===(i=Math.floor((Date.now()-new Date(r).getTime())/864e5))?"today":1===i?"1d ago":i<30?`${i}d ago`:i<365?`${Math.floor(i/30)}mo ago`:`${Math.floor(i/365)}y ago`),p=(e.contradiction_refs?.length??0)>0,u=e.evidence_score??e.confidence,h=null!=e.evidence_score?`${u.toFixed(2)} evidence`:`${Math.round(100*u)}%`,g=async()=>{await fetch((0,l.api)(`/api/cortex/knowledge/${e.id}`),{method:"DELETE"}),s?.(e.id)};return(0,t.jsxs)("div",{className:"group border border-white/5 rounded-lg p-3 hover:border-white/10 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${n}`,children:e.type.replace("_"," ")}),e.sensitivity&&(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${x[e.sensitivity]||x.internal}`,children:e.sensitivity}),e.scope&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-purple-500/10 text-purple-400",children:e.scope.level}),(e.stale_score??0)>.3&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded font-medium bg-amber-500/20 text-amber-400",children:"stale"}),p&&(0,t.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,t.jsx)(d.AlertTriangle,{className:"w-2.5 h-2.5"})," contested"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 text-[10px] text-gray-500 shrink-0",children:[(0,t.jsx)("span",{children:m}),s&&(0,t.jsx)("button",{onClick:g,className:"opacity-0 group-hover:opacity-100 transition-opacity text-red-400 hover:text-red-300",children:(0,t.jsx)(c.Trash2,{className:"w-3 h-3"})})]})]}),(0,t.jsx)("p",{className:"text-xs text-gray-300 mt-1.5 leading-relaxed line-clamp-3",children:e.text}),!a&&e.origin&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 mt-1.5 text-[10px] text-gray-500 flex-wrap",children:[(0,t.jsxs)("span",{children:["by ",e.origin.creator_entity_id.replace("person-","")]}),(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{children:["via ",e.origin.source_type.replace("_"," ")]}),(e.corroborations??0)>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{children:"·"}),(0,t.jsxs)("span",{className:"text-green-400",children:[e.corroborations," corr."]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2 mt-2",children:[(0,t.jsx)("div",{className:"flex-1 h-1 bg-white/5 rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full bg-purple-500/50 rounded-full",style:{width:`${Math.round(100*u)}%`}})}),(0,t.jsx)("span",{className:"text-[10px] text-gray-500 tabular-nums",children:h})]})]})}function u(){let[e,a]=(0,s.useState)(""),[c,d]=(0,s.useState)([]),[x,u]=(0,s.useState)(!1),[h,g]=(0,s.useState)(!1),[b,j]=(0,s.useState)(""),[y,f]=(0,s.useState)(null),[v,N]=(0,s.useState)(!1),w=async()=>{if(b.trim()){N(!0);try{let e=await fetch((0,l.api)(`/api/cortex/context?q=${encodeURIComponent(b)}&limit=5`));e.ok&&f(await e.json())}catch{}N(!1)}},k=(0,s.useCallback)(async e=>{u(!0);try{let t=new URLSearchParams({limit:"30"});e&&t.set("q",e);let s=await fetch((0,l.api)(`/api/cortex/search?${t}`));s.ok&&d((await s.json()).results||[])}catch{}u(!1)},[]);(0,s.useEffect)(()=>{k()},[k]);let _=e=>d(t=>t.filter(t=>t.id!==e));return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsx)("div",{className:"p-4 border-b border-white/5",children:(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(r.Search,{className:"absolute left-3 top-2.5 w-4 h-4 text-gray-500"}),(0,t.jsx)("input",{value:e,onChange:e=>a(e.target.value),onKeyDown:t=>"Enter"===t.key&&k(e.trim()||void 0),placeholder:"Search knowledge...",className:"w-full pl-9 pr-4 py-2 text-sm bg-white/5 border border-white/10 rounded-lg text-gray-300 placeholder-gray-600 focus:outline-none focus:border-purple-500/50"})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-2xl space-y-2",children:[x&&(0,t.jsx)("p",{className:"text-sm text-gray-500 text-center py-8",children:"Loading..."}),!x&&0===c.length&&(0,t.jsx)("p",{className:"text-sm text-gray-500 text-center py-8",children:"No knowledge found"}),c.map(e=>(0,t.jsx)(p,{unit:e,onDelete:_},e.id)),(0,t.jsxs)("div",{className:"border-t border-white/5 mt-4 pt-4",children:[(0,t.jsxs)("button",{onClick:()=>g(!h),className:"flex items-center gap-2 text-xs text-gray-500 hover:text-gray-300 mb-3",children:[h?(0,t.jsx)(n.ChevronUp,{className:"w-3 h-3"}):(0,t.jsx)(i.ChevronDown,{className:"w-3 h-3"}),"Query Analyzer"]}),h&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"flex gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"flex-1 relative",children:[(0,t.jsx)(r.Search,{className:"absolute left-3 top-2.5 w-4 h-4 text-gray-500"}),(0,t.jsx)("input",{value:b,onChange:e=>j(e.target.value),onKeyDown:e=>"Enter"===e.key&&w(),placeholder:"Enter a query to analyze...",className:"w-full pl-9 pr-4 py-2 text-sm bg-white/5 border border-white/10 rounded-lg text-gray-300 placeholder-gray-600 focus:outline-none focus:border-purple-500/50"})]}),(0,t.jsx)("button",{onClick:w,disabled:v,className:"px-5 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50",children:v?"Analyzing...":"Analyze"})]}),!y&&!v&&(0,t.jsx)("p",{className:"text-sm text-gray-600 text-center py-8",children:"Enter a query to see how the Context Engine processes it"}),y&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3 mb-4",children:[(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/5 rounded-lg p-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-600 uppercase mb-1",children:"Intent"}),(0,t.jsx)("div",{className:`text-lg font-semibold ${m[y.intent?.intent]||"text-gray-400"}`,children:y.intent?.intent||"?"}),(0,t.jsxs)("div",{className:"text-[10px] text-gray-600",children:["confidence: ",(y.intent?.confidence??0).toFixed(2)]})]}),(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/5 rounded-lg p-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-600 uppercase mb-1",children:"Entities"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-1 mt-1",children:[(y.entities||[]).map((e,s)=>(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 bg-white/5 border border-white/10 rounded text-gray-300",children:[e.entity?.type,":",e.entity?.name]},s)),(!y.entities||0===y.entities.length)&&(0,t.jsx)("span",{className:"text-[10px] text-gray-600",children:"none detected"})]})]}),(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/5 rounded-lg p-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-600 uppercase mb-1",children:"Timing"}),(0,t.jsxs)("div",{className:"text-lg font-semibold text-green-400",children:[y.timing?.totalMs??"?","ms"]}),(0,t.jsxs)("div",{className:"text-[10px] text-gray-600",children:["intent ",y.timing?.intentMs,"ms · search ",y.timing?.searchMs,"ms"]})]})]}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsxs)("div",{className:"text-[10px] text-gray-600 uppercase mb-2",children:["Results (",(y.results||[]).length,")"]}),(0,t.jsx)("div",{className:"space-y-1",children:(y.results||[]).map((e,s)=>(0,t.jsxs)("div",{className:"flex items-center gap-2 bg-white/[0.02] border border-white/5 rounded-lg px-3 py-2",children:[(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${o[e.type]||o.context}`,children:e.type?.replace("_"," ")}),(0,t.jsx)("span",{className:"text-xs text-gray-300 truncate flex-1",children:e.text}),(0,t.jsx)("span",{className:"text-[10px] text-gray-600 tabular-nums shrink-0",children:(e.relevance_score??0).toFixed(3)})]},s))})]})]})]})]})]})})]})}var h=e.i(49889);function g(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:e<0x40000000?`${(e/1048576).toFixed(1)} MB`:`${(e/0x40000000).toFixed(2)} GB`}function b({items:e,maxValue:s}){return(0,t.jsx)("div",{className:"space-y-1.5",children:e.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[10px] text-gray-500 w-24 text-right truncate",title:e.label,children:e.label}),(0,t.jsx)("div",{className:"flex-1 h-3 bg-white/[0.03] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${Math.max(2,e.value/Math.max(s,1)*100)}%`,backgroundColor:e.color}})}),(0,t.jsx)("span",{className:"text-[10px] text-gray-400 w-14 text-right tabular-nums",children:e.value.toLocaleString()})]},e.label))})}function j({label:e,value:s,sub:a,color:l}){return(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase tracking-wider mb-1",children:e}),(0,t.jsx)("div",{className:`text-lg font-semibold tabular-nums ${l||"text-white"}`,children:s}),a&&(0,t.jsx)("div",{className:"text-[10px] text-gray-600 mt-0.5",children:a})]})}let y=["#7c3aed","#06b6d4","#10b981","#f59e0b","#ef4444","#8b5cf6","#14b8a6","#22c55e","#eab308","#f97316"],f={decision:"#3b82f6",pattern:"#22c55e",preference:"#ec4899",error_fix:"#f59e0b",context:"#6b7280",code_pattern:"#06b6d4",command:"#f97316",conversation:"#64748b",summary:"#8b5cf6"};function v(){let[e,a]=(0,s.useState)(null),[r,i]=(0,s.useState)(!0);if((0,s.useEffect)(()=>{fetch((0,l.api)("/api/cortex/status")).then(e=>e.json()).then(e=>{e.enabled&&a(e)}).catch(()=>{}).finally(()=>i(!1))},[]),r)return(0,t.jsx)("div",{className:"p-6 text-sm text-gray-500",children:"Loading dashboard..."});if(!e)return(0,t.jsx)("div",{className:"p-6 text-sm text-gray-500",children:"Cortex is not active."});let n=Object.entries(e.lobes).sort((e,t)=>t[1].count-e[1].count),c=Math.max(...n.map(([,e])=>e.count),1),d=Math.max(...n.map(([,e])=>e.sizeBytes),1),o=e.usage,m=o?.distillation;return(0,t.jsxs)("div",{className:"p-6 max-w-4xl space-y-6",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[(0,t.jsx)(j,{label:"Knowledge Units",value:e.totalCount.toLocaleString(),sub:`across ${n.length} lobes`,color:"text-purple-400"}),(0,t.jsx)(j,{label:"Storage",value:g(e.totalSizeBytes),sub:`${e.embedding_provider} (${e.embedding_dimensions}d)`}),(0,t.jsx)(j,{label:"Coverage",value:e.quality?e.quality.coverage_score.toFixed(2):"—",sub:e.quality?`${Math.round(100*e.quality.coverage_score)}% distilled`:"no data",color:e.quality?e.quality.coverage_score>.7?"text-green-400":e.quality.coverage_score>.3?"text-amber-400":"text-red-400":"text-gray-500"}),(0,t.jsx)(j,{label:"Distillation",value:m?`$${m.estimated_cost_usd.toFixed(2)}`:"Off",sub:m?`${m.calls.toLocaleString()} calls`:e.distillation?"No API key":"Disabled",color:m?"text-amber-400":"text-gray-500"})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"Knowledge by Lobe"}),(0,t.jsx)(b,{items:n.map(([e,t],s)=>({label:t.label||e,value:t.count,color:y[s%y.length]})),maxValue:c})]}),(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"Storage by Lobe"}),(0,t.jsx)(b,{items:n.map(([e,t],s)=>({label:t.label||e,value:t.sizeBytes,color:y[s%y.length]})),maxValue:d}),(0,t.jsxs)("div",{className:"mt-2 flex justify-between text-[10px] text-gray-600",children:[(0,t.jsxs)("span",{children:["Smallest: ",g(Math.min(...n.map(([,e])=>e.sizeBytes)))]}),(0,t.jsxs)("span",{children:["Total: ",g(e.totalSizeBytes)]})]})]})]}),e.quality&&(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"Type Distribution"}),(0,t.jsx)(b,{items:Object.entries(e.quality.type_distribution).sort((e,t)=>t[1]-e[1]).map(([e,t])=>({label:e.replace("_"," "),value:t,color:f[e]||"#7c3aed"})),maxValue:Math.max(...Object.values(e.quality.type_distribution),1)})]}),(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"Lobe Health"}),(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex justify-between text-[11px]",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Stale units"}),(0,t.jsx)("span",{className:e.quality.stale_count>10?"text-amber-400":"text-gray-300",children:e.quality.stale_count})]}),(0,t.jsxs)("div",{className:"flex justify-between text-[11px]",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Avg confidence"}),(0,t.jsx)("span",{className:"text-gray-300",children:e.quality.avg_confidence.toFixed(2)})]}),e.quality.top_accessed.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 mb-1",children:"Top accessed"}),(0,t.jsxs)("div",{className:"text-[11px] text-gray-400 truncate",children:["“",e.quality.top_accessed[0].text,"”"]})]}),e.quality.sensitivity_counts&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 mb-1",children:"Sensitivity"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:Object.entries(e.quality.sensitivity_counts).map(([e,s])=>(0,t.jsxs)("span",{className:`text-[9px] px-1.5 py-0.5 rounded ${x[e]||x.internal}`,children:[s," ",e]},e))})]})]})]})]}),m&&(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"Distillation Activity"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500",children:"API Calls"}),(0,t.jsx)("div",{className:"text-sm font-medium text-white tabular-nums",children:m.calls.toLocaleString()})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500",children:"Input Tokens"}),(0,t.jsxs)("div",{className:"text-sm font-medium text-white tabular-nums",children:[(m.input_tokens/1e3).toFixed(1),"K"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500",children:"Output Tokens"}),(0,t.jsxs)("div",{className:"text-sm font-medium text-white tabular-nums",children:[(m.output_tokens/1e3).toFixed(1),"K"]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500",children:"Estimated Cost"}),(0,t.jsxs)("div",{className:"text-sm font-medium text-amber-400 tabular-nums",children:["$",m.estimated_cost_usd.toFixed(4)]})]})]}),m.last_updated&&(0,t.jsxs)("div",{className:"mt-2 text-[10px] text-gray-600",children:["Last distillation: ",new Date(m.last_updated).toLocaleString()]}),o.by_model&&Object.keys(o.by_model).length>0&&(0,t.jsxs)("div",{className:"mt-3 border-t border-white/[0.04] pt-3",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 mb-2",children:"By Model"}),Object.entries(o.by_model).map(([e,s])=>(0,t.jsxs)("div",{className:"flex items-center justify-between text-[10px]",children:[(0,t.jsx)("span",{className:"text-gray-400 font-mono",children:e}),(0,t.jsxs)("span",{className:"text-gray-500",children:[s.calls," calls · $",s.estimated_cost_usd.toFixed(4)]})]},e))]})]}),(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.06] rounded-lg p-4",children:[(0,t.jsx)("h3",{className:"text-xs font-medium text-gray-400 mb-3",children:"System"}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-1.5 text-[11px]",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Status"}),(0,t.jsx)("span",{className:"text-green-400",children:e.status})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Embedding"}),(0,t.jsxs)("span",{className:"text-gray-300",children:[e.embedding_provider," (",e.embedding_dimensions,"d)"]})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Distillation"}),(0,t.jsx)("span",{className:e.distillation?"text-green-400":"text-gray-600",children:e.distillation?"Enabled":"Disabled"})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{className:"text-gray-500",children:"Lobes"}),(0,t.jsxs)("span",{className:"text-gray-300",children:[n.length," active"]})]})]})]})]})}var N=e.i(69074),w=e.i(17923),k=e.i(16715);let _=(0,e.i(75254).default)("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var S=e.i(31278);let C=[{id:"seed",label:"Seed",icon:(0,t.jsx)(N.Upload,{className:"w-3.5 h-3.5"})},{id:"assess",label:"Assess",icon:(0,t.jsx)(w.BarChart3,{className:"w-3.5 h-3.5"})},{id:"review",label:"Review",icon:(0,t.jsx)(r.Search,{className:"w-3.5 h-3.5"})},{id:"refine",label:"Refine",icon:(0,t.jsx)(k.RefreshCw,{className:"w-3.5 h-3.5"})},{id:"publish",label:"Publish",icon:(0,t.jsx)(_,{className:"w-3.5 h-3.5"})}],$={decision:"#3b82f6",pattern:"#22c55e",preference:"#ec4899",error_fix:"#f59e0b",context:"#6b7280",code_pattern:"#06b6d4",command:"#f97316",conversation:"#64748b",summary:"#8b5cf6"};function P(){let e,[a,i]=(0,s.useState)([]),[n,c]=(0,s.useState)(""),[d,x]=(0,s.useState)("seed"),[m,p]=(0,s.useState)(""),[u,h]=(0,s.useState)(""),[g,b]=(0,s.useState)("auto"),[j,y]=(0,s.useState)(""),[f,v]=(0,s.useState)(!0),[P,O]=(0,s.useState)(!1),[M,E]=(0,s.useState)(null),[L,R]=(0,s.useState)(!1),[T,D]=(0,s.useState)(null),[A,q]=(0,s.useState)(""),[F,I]=(0,s.useState)("25"),[B,U]=(0,s.useState)(!1),[z,K]=(0,s.useState)(null),[V,G]=(0,s.useState)(""),[W,J]=(0,s.useState)({decisions:!0,patterns:!0,preferences:!0,error_fixes:!0}),[Y,H]=(0,s.useState)(!1),[Q,X]=(0,s.useState)(null),[Z,ee]=(0,s.useState)(""),[et,es]=(0,s.useState)(""),[ea,el]=(0,s.useState)(""),[er,ei]=(0,s.useState)(""),[en,ec]=(0,s.useState)("1.0.0"),[ed,eo]=(0,s.useState)("MIT"),[ex,em]=(0,s.useState)(!1),[ep,eu]=(0,s.useState)(null),eh=(0,s.useCallback)(()=>{E(null),D(null),K(null),X(null),eu(null),p("")},[]);(0,s.useEffect)(()=>{fetch((0,l.api)("/api/workspaces")).then(e=>e.json()).then(e=>{i(e),e.length>0&&c(e[0].id)}).catch(()=>{})},[]);let eg=async()=>{if(u.trim()&&n){O(!0),p(""),E(null);try{let e=await fetch((0,l.api)("/api/cortex/curation/seed"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:u,format:g,source_ref:j||void 0,workspace_id:n,distill:f})}),t=await e.json();if(!e.ok)throw Error(t.error||t.message||"Seed failed");E(t)}catch(e){p(e instanceof Error?e.message:"Seed failed")}finally{O(!1)}}},eb=async()=>{if(n){R(!0),p(""),D(null);try{let e=await fetch((0,l.api)(`/api/cortex/curation/assess?workspace_id=${encodeURIComponent(n)}`)),t=await e.json();if(!e.ok)throw Error(t.error||t.message||"Assessment failed");D(t)}catch(e){p(e instanceof Error?e.message:"Assessment failed")}finally{R(!1)}}},ej=async()=>{if(n&&A.trim()){U(!0),p(""),K(null);try{let e=new URLSearchParams({workspace_id:n,topic:A.trim(),limit:F}),t=await fetch((0,l.api)(`/api/cortex/curation/review?${e}`)),s=await t.json();if(!t.ok)throw Error(s.error||s.message||"Review failed");K(s)}catch(e){p(e instanceof Error?e.message:"Review failed")}finally{U(!1)}}},ey=async()=>{if(n){H(!0),p(""),X(null);try{let e=Object.keys(W).filter(e=>W[e]),t=await fetch((0,l.api)("/api/cortex/curation/refine"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace_id:n,domain_context:V||void 0,types:e})}),s=await t.json();if(!t.ok)throw Error(s.error||s.message||"Refine failed");X(s)}catch(e){p(e instanceof Error?e.message:"Refine failed")}finally{H(!1)}}},ef=async()=>{if(n&&Z.trim()){em(!0),p(""),eu(null);try{let e=await fetch((0,l.api)("/api/cortex/curation/publish"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace_id:n,name:Z,author:et||void 0,description:ea||void 0,tags:er?er.split(",").map(e=>e.trim()).filter(Boolean):[],version:en,license:ed})}),t=await e.json();if(!e.ok)throw Error(t.error||t.message||"Publish failed");eu(t)}catch(e){p(e instanceof Error?e.message:"Publish failed")}finally{em(!1)}}},ev="w-full px-3 py-2 text-sm bg-white/5 border border-white/10 rounded-lg text-gray-300 placeholder-gray-600 focus:outline-none focus:border-purple-500/50",eN="text-[11px] text-gray-500 mb-1 block",ew="bg-white/[0.02] border border-white/[0.06] rounded-lg p-4";return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"px-4 pt-4 pb-3 border-b border-white/5",children:[(0,t.jsx)("label",{className:eN,children:"Workspace"}),(0,t.jsxs)("select",{value:n,onChange:e=>{c(e.target.value),eh()},className:`${ev} max-w-xs`,children:[0===a.length&&(0,t.jsx)("option",{value:"",disabled:!0,children:"No workspaces found"}),a.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))]})]}),(0,t.jsx)("div",{className:"px-4 py-3 border-b border-white/5",children:(0,t.jsx)("div",{className:"flex items-center",children:C.map((e,s)=>(0,t.jsxs)("div",{className:"flex items-center",children:[(0,t.jsxs)("button",{onClick:()=>{x(e.id),eh()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-xs font-medium border transition-colors ${d===e.id?"bg-purple-500/20 border-purple-500/30 text-purple-400":"bg-white/[0.03] border-white/[0.06] text-gray-500 hover:text-gray-300 hover:bg-white/[0.06]"}`,children:[e.icon,e.label]}),s<C.length-1&&(0,t.jsx)("div",{className:"w-8 h-px bg-white/[0.06]"})]},e.id))})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:(0,t.jsxs)("div",{className:"max-w-2xl space-y-4",children:[m&&(0,t.jsx)("div",{className:"bg-red-500/10 border border-red-500/20 text-red-400 rounded-lg px-4 py-2.5 text-sm",children:m}),"seed"===d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Document content"}),(0,t.jsx)("textarea",{value:u,onChange:e=>h(e.target.value),placeholder:"Paste document content here...",rows:8,className:ev})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Format"}),(0,t.jsxs)("select",{value:g,onChange:e=>b(e.target.value),className:ev,children:[(0,t.jsx)("option",{value:"auto",children:"Auto-detect"}),(0,t.jsx)("option",{value:"markdown",children:"Markdown"}),(0,t.jsx)("option",{value:"plaintext",children:"Plain text"}),(0,t.jsx)("option",{value:"csv",children:"CSV"})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Source reference"}),(0,t.jsx)("input",{value:j,onChange:e=>y(e.target.value),placeholder:"e.g. docs/guide.md",className:ev})]})]}),(0,t.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[(0,t.jsx)("input",{type:"checkbox",checked:f,onChange:e=>v(e.target.checked),className:"rounded border-white/20 bg-white/5 accent-purple-500"}),(0,t.jsx)("span",{className:"text-xs text-gray-400",children:"Distill after seeding"})]}),(0,t.jsxs)("button",{onClick:eg,disabled:P||!u.trim()||!n,className:"flex items-center gap-2 px-4 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:[P?(0,t.jsx)(S.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(N.Upload,{className:"w-4 h-4"}),"Seed Documents"]}),M&&(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-xs font-medium text-gray-400 mb-3",children:"Seed Results"}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Chunks Created"}),(0,t.jsx)("div",{className:"text-lg font-semibold text-green-400 tabular-nums",children:M.chunksCreated})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Chunks Skipped"}),(0,t.jsx)("div",{className:"text-lg font-semibold text-amber-400 tabular-nums",children:M.chunksSkipped})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Errors"}),(0,t.jsx)("div",{className:`text-lg font-semibold tabular-nums ${M.errors.length>0?"text-red-400":"text-gray-500"}`,children:M.errors.length})]})]}),M.errors.length>0&&(0,t.jsx)("div",{className:"mt-3 space-y-1",children:M.errors.map((e,s)=>(0,t.jsx)("div",{className:"text-xs text-red-400/80",children:e},s))})]})]}),"assess"===d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("button",{onClick:eb,disabled:L||!n,className:"flex items-center gap-2 px-4 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:[L?(0,t.jsx)(S.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(w.BarChart3,{className:"w-4 h-4"}),"Run Assessment"]}),T&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-1",children:"Coverage Score"}),(0,t.jsx)("div",{className:`text-2xl font-semibold tabular-nums ${(e=T.coverage_score)>.7?"text-green-400":e>.3?"text-amber-400":"text-red-400"}`,children:T.coverage_score.toFixed(2)}),(0,t.jsxs)("div",{className:"text-[10px] text-gray-600 mt-0.5",children:[Math.round(100*T.coverage_score),"% covered"]})]}),(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-1",children:"Total Units"}),(0,t.jsx)("div",{className:"text-2xl font-semibold text-white tabular-nums",children:T.total_units.toLocaleString()})]}),(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-1",children:"Stale Count"}),(0,t.jsx)("div",{className:`text-2xl font-semibold tabular-nums ${T.stale_count>10?"text-amber-400":"text-gray-300"}`,children:T.stale_count})]})]}),T.type_distribution&&Object.keys(T.type_distribution).length>0&&(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-xs font-medium text-gray-400 mb-3",children:"Type Distribution"}),(0,t.jsx)("div",{className:"space-y-1.5",children:Object.entries(T.type_distribution).sort((e,t)=>t[1]-e[1]).map(([e,s])=>{let a=Math.max(...Object.values(T.type_distribution),1);return(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-[10px] text-gray-500 w-24 text-right truncate",children:e.replace("_"," ")}),(0,t.jsx)("div",{className:"flex-1 h-3 bg-white/[0.03] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full rounded-full transition-all duration-500",style:{width:`${Math.max(2,s/a*100)}%`,backgroundColor:$[e]||"#7c3aed"}})}),(0,t.jsx)("span",{className:"text-[10px] text-gray-400 w-10 text-right tabular-nums",children:s})]},e)})})]})]})]}),"review"===d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex gap-3",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:eN,children:"Topic filter"}),(0,t.jsx)("input",{value:A,onChange:e=>q(e.target.value),onKeyDown:e=>"Enter"===e.key&&ej(),placeholder:"Filter by topic (optional)",className:ev})]}),(0,t.jsxs)("div",{className:"w-28",children:[(0,t.jsx)("label",{className:eN,children:"Limit"}),(0,t.jsxs)("select",{value:F,onChange:e=>I(e.target.value),className:ev,children:[(0,t.jsx)("option",{value:"10",children:"10"}),(0,t.jsx)("option",{value:"25",children:"25"}),(0,t.jsx)("option",{value:"50",children:"50"})]})]})]}),(0,t.jsxs)("button",{onClick:ej,disabled:B||!n||!A.trim(),className:"flex items-center gap-2 px-4 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:[B?(0,t.jsx)(S.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(r.Search,{className:"w-4 h-4"}),"Review"]}),z&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"text-[11px] text-gray-500",children:[z.total_matches," match",1!==z.total_matches?"es":""," for “",z.topic,"”"]}),Object.entries(z.by_type).map(([e,s])=>(0,t.jsxs)("details",{open:!0,className:ew,children:[(0,t.jsxs)("summary",{className:"flex items-center gap-2 cursor-pointer list-none",children:[(0,t.jsx)("span",{className:`text-[10px] px-1.5 py-0.5 rounded font-medium ${o[e]||o.context}`,children:e.replace("_"," ")}),(0,t.jsxs)("span",{className:"text-xs text-gray-500",children:[s.length," unit",1!==s.length?"s":""]})]}),(0,t.jsx)("div",{className:"mt-3 space-y-2",children:s.map((e,s)=>(0,t.jsxs)("div",{className:"bg-white/[0.02] border border-white/[0.04] rounded px-3 py-2",children:[(0,t.jsx)("div",{className:"text-xs text-gray-300 leading-relaxed",children:e.text}),(0,t.jsxs)("div",{className:"mt-1 text-[10px] text-gray-600",children:["confidence: ",e.confidence?.toFixed(2)," · similarity: ",e.similarity?.toFixed(3)]})]},s))})]},e))]})]}),"refine"===d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"bg-amber-500/10 border border-amber-500/20 text-amber-400 rounded-lg px-4 py-2.5 text-xs leading-relaxed",children:"Refine uses LLM distillation and requires an API key configured in Cortex settings. Without a key, refinement will run in passthrough mode."}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Domain context"}),(0,t.jsx)("textarea",{value:V,onChange:e=>G(e.target.value),placeholder:"Describe the domain or project context to guide distillation...",rows:4,className:ev})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Distillation passes"}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-2",children:Object.keys(W).map(e=>(0,t.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[(0,t.jsx)("input",{type:"checkbox",checked:W[e],onChange:t=>J(s=>({...s,[e]:t.target.checked})),className:"rounded border-white/20 bg-white/5 accent-purple-500"}),(0,t.jsx)("span",{className:"text-xs text-gray-400 capitalize",children:e.replace("_"," ")})]},e))})]}),(0,t.jsxs)("button",{onClick:ey,disabled:Y||!n,className:"flex items-center gap-2 px-4 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:[Y?(0,t.jsx)(S.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(k.RefreshCw,{className:"w-4 h-4"}),"Refine Lobe"]}),Q&&(0,t.jsxs)("div",{className:ew,children:[(0,t.jsx)("div",{className:"text-xs font-medium text-gray-400 mb-3",children:"Refine Results"}),(0,t.jsxs)("div",{className:"grid grid-cols-3 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Source Units"}),(0,t.jsx)("div",{className:"text-lg font-semibold text-white tabular-nums",children:Q.source_units_found})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Purged"}),(0,t.jsx)("div",{className:"text-lg font-semibold text-amber-400 tabular-nums",children:Q.distilled_purged})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"New Units"}),(0,t.jsx)("div",{className:"text-lg font-semibold text-green-400 tabular-nums",children:Q.new_units_created})]})]})]})]}),"publish"===d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Package name *"}),(0,t.jsx)("input",{value:Z,onChange:e=>ee(e.target.value),placeholder:"my-knowledge-pack",className:ev})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Author"}),(0,t.jsx)("input",{value:et,onChange:e=>es(e.target.value),placeholder:"Your name or org",className:ev})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Description"}),(0,t.jsx)("textarea",{value:ea,onChange:e=>el(e.target.value),placeholder:"Describe the knowledge pack...",rows:3,className:ev})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Tags (comma-separated)"}),(0,t.jsx)("input",{value:er,onChange:e=>ei(e.target.value),placeholder:"e.g. typescript, react, patterns",className:ev})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"Version"}),(0,t.jsx)("input",{value:en,onChange:e=>ec(e.target.value),placeholder:"1.0.0",className:ev})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:eN,children:"License"}),(0,t.jsxs)("select",{value:ed,onChange:e=>eo(e.target.value),className:ev,children:[(0,t.jsx)("option",{value:"MIT",children:"MIT"}),(0,t.jsx)("option",{value:"Apache-2.0",children:"Apache 2.0"}),(0,t.jsx)("option",{value:"GPL-3.0",children:"GPL 3.0"}),(0,t.jsx)("option",{value:"BSD-3-Clause",children:"BSD 3-Clause"}),(0,t.jsx)("option",{value:"CC-BY-4.0",children:"CC BY 4.0"}),(0,t.jsx)("option",{value:"Proprietary",children:"Proprietary"})]})]})]}),(0,t.jsxs)("button",{onClick:ef,disabled:ex||!Z.trim()||!n,className:"flex items-center gap-2 px-4 py-2 text-sm bg-purple-600 hover:bg-purple-500 text-white rounded-lg disabled:opacity-50 transition-colors",children:[ex?(0,t.jsx)(S.Loader2,{className:"w-4 h-4 animate-spin"}):(0,t.jsx)(_,{className:"w-4 h-4"}),"Publish to Marketplace"]}),ep&&(0,t.jsxs)("div",{className:ew,children:[ep.quality_warning&&(0,t.jsx)("div",{className:"mb-3 bg-amber-500/10 border border-amber-500/20 text-amber-400 rounded px-3 py-2 text-xs",children:ep.quality_warning}),(0,t.jsx)("div",{className:"text-xs font-medium text-gray-400 mb-3",children:"Published"}),ep.output_path&&(0,t.jsxs)("div",{className:"mb-2",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-0.5",children:"Output Path"}),(0,t.jsx)("div",{className:"text-xs text-gray-300 font-mono break-all",children:ep.output_path})]}),ep.pii_scrub&&(0,t.jsxs)("div",{className:"mt-2 pt-2 border-t border-white/[0.06]",children:[(0,t.jsx)("div",{className:"text-[10px] text-gray-500 uppercase mb-1",children:"PII Scrub"}),(0,t.jsxs)("div",{className:"flex gap-4 text-[11px] text-gray-400",children:[(0,t.jsxs)("span",{children:[ep.pii_scrub.records_checked.toLocaleString()," records checked"]}),(0,t.jsxs)("span",{children:[ep.pii_scrub.fields_scrubbed.toLocaleString()," fields scrubbed"]})]})]})]})]})]})})]})}var O=e.i(75505);function M({filename:e,manifest:a,onImport:l}){let[r,c]=(0,s.useState)(!1),d=a.marketplace??{},o=d.name||e,x=a.version||d.version||"0.0.0",m=d.author||a.author||"Unknown",p=d.description||a.description||"",u=d.tags||a.tags||[],h=d.license||a.license||"",g="number"==typeof d.coverage_score?d.coverage_score:-1,b="number"==typeof a.unit_count?a.unit_count:Array.isArray(a.units)?a.units.length:0,j=d.preview||a.preview||"",y=g<0?"N/A":`${Math.round(100*g)}%`;return(0,t.jsxs)("div",{className:"border border-white/10 rounded-xl p-4 bg-white/[0.02] flex flex-col gap-3 hover:border-white/20 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"shrink-0 w-9 h-9 rounded-lg bg-purple-500/10 flex items-center justify-center",children:(0,t.jsx)(_,{className:"w-4 h-4 text-purple-400"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,t.jsx)("span",{className:"text-sm font-semibold text-gray-100 truncate",children:o}),(0,t.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 font-mono shrink-0",children:["v",x]})]}),(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mt-0.5",children:m})]})]}),p&&(0,t.jsx)("p",{className:"text-xs text-gray-400 leading-relaxed line-clamp-2",children:p}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[u.map(e=>(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-white/5 text-gray-400 border border-white/5",children:e},e)),h&&(0,t.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-purple-500/10 text-purple-400 border border-purple-500/20 font-medium",children:h})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4 text-[11px]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-gray-600",children:"Coverage:"}),(0,t.jsx)("span",{className:`font-semibold tabular-nums ${g<0?"text-gray-500":g>.7?"text-green-400":g>.3?"text-amber-400":"text-red-400"}`,children:y})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("span",{className:"text-gray-600",children:"Units:"}),(0,t.jsx)("span",{className:"text-gray-300 font-semibold tabular-nums",children:b})]})]}),j&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>c(e=>!e),className:"flex items-center gap-1 text-[11px] text-gray-500 hover:text-gray-300 transition-colors",children:[r?(0,t.jsx)(n.ChevronUp,{className:"w-3 h-3"}):(0,t.jsx)(i.ChevronDown,{className:"w-3 h-3"}),r?"Hide preview":"Show preview"]}),r&&(0,t.jsx)("pre",{className:"mt-2 text-[10px] text-gray-400 bg-white/[0.03] border border-white/5 rounded-lg p-3 overflow-x-auto whitespace-pre-wrap break-all",children:j})]}),(0,t.jsx)("button",{onClick:()=>l(e,a),className:"w-full py-2 text-sm font-medium bg-purple-600 hover:bg-purple-500 text-white rounded-lg transition-colors",children:"Import"})]})}var E=e.i(37727);function L({filename:e,hasDomainContext:a,onClose:r,onComplete:i}){let[n,c]=(0,s.useState)("personal"),[d,o]=(0,s.useState)(""),[x,m]=(0,s.useState)([]),[p,u]=(0,s.useState)("append"),[h,g]=(0,s.useState)(!1),[b,j]=(0,s.useState)(!1),[y,f]=(0,s.useState)(!1),[v,N]=(0,s.useState)(null);(0,s.useEffect)(()=>{"workspace"===n&&fetch((0,l.api)("/api/workspaces")).then(e=>e.ok?e.json():null).then(e=>{let t=e?.workspaces??e??[];m(t),t.length>0&&!d&&o(t[0].id)}).catch(()=>{})},[n]);let w=async()=>{f(!0),N(null);try{let t={marketplace_file:e,target_layer:n,merge_strategy:p,re_embed:h};"workspace"===n&&d&&(t.workspace_id=d),a&&(t.apply_domain_context=b);let s=await fetch((0,l.api)("/api/cortex/import"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!s.ok){let e=await s.json().catch(()=>({}));throw Error(e?.error||`Request failed (${s.status})`)}i()}catch(e){N(e?.message||"Import failed")}finally{f(!1)}};return(0,t.jsx)("div",{className:"fixed inset-0 z-50 bg-black/60 flex items-center justify-center p-4",children:(0,t.jsxs)("div",{className:"bg-gray-900 border border-white/10 rounded-xl p-6 max-w-md w-full flex flex-col gap-5",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-100",children:"Import Pack"}),(0,t.jsx)("p",{className:"text-[11px] text-gray-500 mt-0.5 font-mono break-all",children:e})]}),(0,t.jsx)("button",{onClick:r,className:"shrink-0 text-gray-500 hover:text-gray-300 transition-colors","aria-label":"Close",children:(0,t.jsx)(E.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 uppercase tracking-wide mb-2",children:"Target layer"}),(0,t.jsx)("div",{className:"flex gap-2",children:[{value:"personal",label:"Personal"},{value:"workspace",label:"Workspace"},{value:"team",label:"Team"}].map(e=>(0,t.jsx)("button",{onClick:()=>c(e.value),className:`flex-1 py-1.5 text-xs font-medium rounded-lg border transition-colors ${n===e.value?"bg-purple-600 border-purple-500 text-white":"bg-white/5 border-white/10 text-gray-400 hover:border-white/20 hover:text-gray-200"}`,children:e.label},e.value))})]}),"workspace"===n&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 uppercase tracking-wide mb-2",children:"Workspace"}),0===x.length?(0,t.jsx)("p",{className:"text-xs text-gray-600",children:"No workspaces found"}):(0,t.jsx)("select",{value:d,onChange:e=>o(e.target.value),className:"w-full py-2 px-3 text-sm bg-white/5 border border-white/10 rounded-lg text-gray-300 focus:outline-none focus:border-purple-500/50",children:x.map(e=>(0,t.jsx)("option",{value:e.id,children:e.name},e.id))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-[11px] text-gray-500 uppercase tracking-wide mb-2",children:"Merge strategy"}),(0,t.jsx)("div",{className:"flex gap-2",children:[{value:"append",label:"Append"},{value:"merge",label:"Merge"},{value:"replace",label:"Replace"}].map(e=>(0,t.jsx)("button",{onClick:()=>u(e.value),className:`flex-1 py-1.5 text-xs font-medium rounded-lg border transition-colors ${p===e.value?"bg-purple-600 border-purple-500 text-white":"bg-white/5 border-white/10 text-gray-400 hover:border-white/20 hover:text-gray-200"}`,children:e.label},e.value))})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-2.5",children:[(0,t.jsxs)("label",{className:"flex items-center gap-2.5 cursor-pointer select-none group",children:[(0,t.jsx)("input",{type:"checkbox",checked:h,onChange:e=>g(e.target.checked),className:"w-3.5 h-3.5 accent-purple-500"}),(0,t.jsx)("span",{className:"text-xs text-gray-400 group-hover:text-gray-200 transition-colors",children:"Re-embed on import"})]}),a&&(0,t.jsxs)("label",{className:"flex items-center gap-2.5 cursor-pointer select-none group",children:[(0,t.jsx)("input",{type:"checkbox",checked:b,onChange:e=>j(e.target.checked),className:"w-3.5 h-3.5 accent-purple-500"}),(0,t.jsx)("span",{className:"text-xs text-gray-400 group-hover:text-gray-200 transition-colors",children:"Apply domain context"})]})]}),v&&(0,t.jsx)("p",{className:"text-xs text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2",children:v}),(0,t.jsxs)("button",{onClick:w,disabled:y,className:"w-full py-2 text-sm font-medium bg-purple-600 hover:bg-purple-500 text-white rounded-lg transition-colors disabled:opacity-50 flex items-center justify-center gap-2",children:[y&&(0,t.jsx)(S.Loader2,{className:"w-3.5 h-3.5 animate-spin"}),y?"Importing...":"Import"]})]})})}function R(){let[e,a]=(0,s.useState)([]),[r,i]=(0,s.useState)(""),[n,c]=(0,s.useState)(!1),[d,o]=(0,s.useState)(null),x=(0,s.useCallback)(async()=>{c(!0);try{let e=await fetch((0,l.api)("/api/cortex/marketplace/browse"));if(e.ok){let t=await e.json();a(t.packs??[]),t.directory&&i(t.directory)}}catch{}c(!1)},[]);(0,s.useEffect)(()=>{x()},[x]);let m=(e,t)=>{o({filename:e,manifest:t})},p=d?.manifest?.marketplace?.domain_context!=null||d?.manifest?.domain_context!=null;return(0,t.jsxs)("div",{className:"flex flex-col h-full",children:[(0,t.jsxs)("div",{className:"p-4 border-b border-white/5 flex items-center justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-gray-100",children:"Marketplace"}),r&&(0,t.jsx)("p",{className:"text-[11px] text-gray-600 font-mono mt-0.5 truncate",children:r})]}),(0,t.jsxs)("button",{onClick:x,disabled:n,className:"flex items-center gap-1.5 text-xs text-gray-400 hover:text-gray-200 transition-colors disabled:opacity-50",children:[(0,t.jsx)(k.RefreshCw,{className:`w-3.5 h-3.5 ${n?"animate-spin":""}`}),"Refresh"]})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto p-4",children:[n&&0===e.length&&(0,t.jsx)("p",{className:"text-sm text-gray-500 text-center py-12",children:"Loading..."}),!n&&0===e.length&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-3 py-16 text-gray-600",children:[(0,t.jsx)(O.FolderOpen,{className:"w-8 h-8"}),(0,t.jsx)("p",{className:"text-sm",children:"No .cortexpack files found"})]}),e.length>0&&(0,t.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:e.map(e=>(0,t.jsx)(M,{filename:e.filename,manifest:e.manifest,onImport:m},e.filename))})]}),d&&(0,t.jsx)(L,{filename:d.filename,hasDomainContext:p,onClose:()=>o(null),onComplete:()=>{o(null),x()}})]})}let T=(0,a.default)(()=>e.A(37673).then(e=>({default:e.EntityGraphView})),{loadableGenerated:{modules:[56409]},ssr:!1,loading:()=>(0,t.jsx)("div",{className:"flex-1 flex items-center justify-center text-gray-500 text-sm",children:"Loading graph..."})});function D(){let[e,a]=(0,s.useState)("dashboard"),[r,i]=(0,s.useState)(null);(0,s.useEffect)(()=>{fetch((0,l.api)("/api/cortex/status")).then(e=>e.json()).then(i).catch(()=>{})},[]);let n=r?Object.values(r.layers||{}).reduce((e,t)=>e+(t.count||0),0):0;return(0,t.jsxs)("div",{className:"flex flex-col h-screen bg-gray-950",children:[(0,t.jsxs)("div",{className:"flex items-center border-b border-white/5 px-4 shrink-0",children:[(0,t.jsx)("div",{className:"flex",children:[{key:"dashboard",label:"Dashboard"},{key:"graph",label:"Graph"},{key:"knowledge",label:"Knowledge"},{key:"curation",label:"Curation"},{key:"marketplace",label:"Marketplace"},{key:"settings",label:"Settings"}].map(s=>(0,t.jsx)("button",{onClick:()=>a(s.key),className:`px-5 py-3 text-sm font-medium transition-colors border-b-2 ${e===s.key?"text-purple-400 border-purple-400":"text-gray-500 border-transparent hover:text-gray-300"}`,children:s.label},s.key))}),(0,t.jsxs)("div",{className:"ml-auto text-xs text-gray-600",children:[n," knowledge units"]})]}),(0,t.jsxs)("div",{className:"flex-1 overflow-y-auto",children:["dashboard"===e&&(0,t.jsx)(v,{}),"graph"===e&&(0,t.jsx)(T,{}),"knowledge"===e&&(0,t.jsx)(u,{}),"curation"===e&&(0,t.jsx)(P,{}),"marketplace"===e&&(0,t.jsx)(R,{}),"settings"===e&&(0,t.jsx)("div",{className:"p-6 max-w-2xl space-y-8",children:(0,t.jsx)(h.CortexSettings,{})})]})]})}e.s(["default",()=>D],65061)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,31278,e=>{"use strict";let s=(0,e.i(75254).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>s],31278)},88699,e=>{"use strict";let s=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>s],88699)},7233,e=>{"use strict";let s=(0,e.i(75254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",()=>s],7233)},27612,e=>{"use strict";let s=(0,e.i(75254).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"}]]);e.s(["Trash2",()=>s],27612)},28394,e=>{"use strict";var s=e.i(18050),t=e.i(71645),a=e.i(61911),i=e.i(7233),n=e.i(88699),r=e.i(27612),l=e.i(31278);let d=(0,e.i(75254).default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var c=e.i(37727),o=e.i(9165);function x(){let[e,x]=(0,t.useState)([]),[m,p]=(0,t.useState)(!0),[u,h]=(0,t.useState)(""),[b,g]=(0,t.useState)(!1),[j,y]=(0,t.useState)({username:"",password:"",displayName:"",shellUser:"",role:"user"}),[N,f]=(0,t.useState)(""),[z,v]=(0,t.useState)(!1),[k,w]=(0,t.useState)(null),[U,C]=(0,t.useState)({displayName:"",shellUser:"",role:"",password:""}),[S,T]=(0,t.useState)(""),[M,P]=(0,t.useState)(!1),E=async()=>{try{let e=await fetch((0,o.api)("/api/admin/users"));if(!e.ok)throw Error("Failed to load users");x(await e.json())}catch(e){h(e.message)}p(!1)};(0,t.useEffect)(()=>{E()},[]);let A=async s=>{s.preventDefault(),v(!0),f("");let t=await fetch((0,o.api)("/api/admin/users"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)}),a=await t.json();(v(!1),t.ok)?(x([...e,a]),g(!1),y({username:"",password:"",displayName:"",shellUser:"",role:"user"})):f(a.error)},D=async s=>{if(s.preventDefault(),!k)return;P(!0),T("");let t={displayName:U.displayName,shellUser:U.shellUser,role:U.role};U.password&&(t.password=U.password);let a=await fetch((0,o.api)(`/api/admin/users/${k.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await a.json();(P(!1),a.ok)?(x(e.map(e=>e.id===k.id?i:e)),w(null)):T(i.error)},L=async s=>{if(!confirm(`Reset 2FA for ${s.username}? They will need to set up TOTP again on next login.`))return;let t=await fetch((0,o.api)(`/api/admin/users/${s.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({totpReset:!0})}),a=await t.json();t.ok&&x(e.map(e=>e.id===s.id?a:e))},O=async s=>{if(!confirm(`Delete user "${s.username}"? This cannot be undone.`))return;let t=await fetch((0,o.api)(`/api/admin/users/${s.id}`),{method:"DELETE"}),a=await t.json();t.ok?x(e.filter(e=>e.id!==s.id)):alert(a.error||"Failed to delete user")};return m?(0,s.jsxs)("div",{className:"p-6 flex items-center gap-2 text-zinc-400",children:[(0,s.jsx)(l.Loader2,{className:"w-4 h-4 animate-spin"}),"Loading users..."]}):(0,s.jsxs)("div",{className:"p-6 max-w-4xl",children:[(0,s.jsxs)("div",{className:"mb-6 flex items-center justify-between",children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[(0,s.jsx)(a.Users,{className:"w-6 h-6"}),"User Management"]}),(0,s.jsx)("p",{className:"text-muted-foreground text-sm mt-1",children:"Manage users and their OS shell user mappings"})]}),(0,s.jsxs)("button",{onClick:()=>g(!b),className:"flex items-center gap-2 px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500",children:[(0,s.jsx)(i.Plus,{className:"w-4 h-4"}),"Add User"]})]}),u&&(0,s.jsx)("p",{className:"text-red-400 text-sm mb-4",children:u}),b&&(0,s.jsxs)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-5 mb-6",children:[(0,s.jsx)("h3",{className:"font-semibold mb-4",children:"New User"}),(0,s.jsxs)("form",{onSubmit:A,className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Username"}),(0,s.jsx)("input",{type:"text",value:j.username,onChange:e=>y({...j,username:e.target.value}),required:!0,className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Password"}),(0,s.jsx)("input",{type:"password",value:j.password,onChange:e=>y({...j,password:e.target.value}),required:!0,minLength:8,className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Display Name"}),(0,s.jsx)("input",{type:"text",value:j.displayName,onChange:e=>y({...j,displayName:e.target.value}),placeholder:"Optional",className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Shell User (OS user)"}),(0,s.jsx)("input",{type:"text",value:j.shellUser,onChange:e=>y({...j,shellUser:e.target.value}),required:!0,placeholder:"e.g. devuser",className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Role"}),(0,s.jsxs)("select",{value:j.role,onChange:e=>y({...j,role:e.target.value}),className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"admin",children:"Admin"})]})]}),(0,s.jsxs)("div",{className:"flex items-end gap-2",children:[(0,s.jsxs)("button",{type:"submit",disabled:z,className:"flex items-center gap-2 px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:[z&&(0,s.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin"}),"Create"]}),(0,s.jsx)("button",{type:"button",onClick:()=>g(!1),className:"px-4 py-2 text-sm text-zinc-400 hover:text-white",children:"Cancel"})]}),N&&(0,s.jsx)("p",{className:"text-red-400 text-sm col-span-2",children:N})]})]}),k&&(0,s.jsxs)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-5 mb-6",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,s.jsxs)("h3",{className:"font-semibold",children:["Edit: ",k.username]}),(0,s.jsx)("button",{onClick:()=>w(null),className:"text-zinc-400 hover:text-white",children:(0,s.jsx)(c.X,{className:"w-4 h-4"})})]}),(0,s.jsxs)("form",{onSubmit:D,className:"grid grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Display Name"}),(0,s.jsx)("input",{type:"text",value:U.displayName,onChange:e=>C({...U,displayName:e.target.value}),className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Shell User"}),(0,s.jsx)("input",{type:"text",value:U.shellUser,onChange:e=>C({...U,shellUser:e.target.value}),className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"Role"}),(0,s.jsxs)("select",{value:U.role,onChange:e=>C({...U,role:e.target.value}),className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500",children:[(0,s.jsx)("option",{value:"user",children:"User"}),(0,s.jsx)("option",{value:"admin",children:"Admin"})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"text-xs text-zinc-400 block mb-1",children:"New Password (leave empty to keep)"}),(0,s.jsx)("input",{type:"password",value:U.password,onChange:e=>C({...U,password:e.target.value}),placeholder:"Unchanged",minLength:8,className:"w-full px-3 py-2 text-sm bg-zinc-50 dark:bg-zinc-800 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:border-indigo-500"})]}),(0,s.jsxs)("div",{className:"flex items-end gap-2 col-span-2",children:[(0,s.jsxs)("button",{type:"submit",disabled:M,className:"flex items-center gap-2 px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:[M&&(0,s.jsx)(l.Loader2,{className:"w-3 h-3 animate-spin"}),"Save"]}),(0,s.jsx)("button",{type:"button",onClick:()=>w(null),className:"px-4 py-2 text-sm text-zinc-400 hover:text-white",children:"Cancel"})]}),S&&(0,s.jsx)("p",{className:"text-red-400 text-sm col-span-2",children:S})]})]}),(0,s.jsx)("div",{className:"bg-white dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg overflow-hidden",children:(0,s.jsxs)("table",{className:"w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-zinc-50 dark:bg-zinc-800/50",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"Username"}),(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"Display Name"}),(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"Shell User"}),(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"Role"}),(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"2FA"}),(0,s.jsx)("th",{className:"text-left px-4 py-3 font-medium text-zinc-500",children:"Created"}),(0,s.jsx)("th",{className:"text-right px-4 py-3 font-medium text-zinc-500",children:"Actions"})]})}),(0,s.jsxs)("tbody",{className:"divide-y divide-zinc-100 dark:divide-zinc-800",children:[e.map(e=>(0,s.jsxs)("tr",{className:"hover:bg-zinc-50 dark:hover:bg-zinc-800/30",children:[(0,s.jsx)("td",{className:"px-4 py-3 font-mono",children:e.username}),(0,s.jsx)("td",{className:"px-4 py-3",children:e.displayName}),(0,s.jsx)("td",{className:"px-4 py-3 font-mono text-zinc-400",children:e.shellUser}),(0,s.jsx)("td",{className:"px-4 py-3",children:(0,s.jsx)("span",{className:`inline-flex items-center px-2 py-0.5 rounded text-xs font-medium ${"admin"===e.role?"bg-indigo-100 text-indigo-700 dark:bg-indigo-900/30 dark:text-indigo-300":"bg-zinc-100 text-zinc-600 dark:bg-zinc-800 dark:text-zinc-400"}`,children:e.role})}),(0,s.jsx)("td",{className:"px-4 py-3",children:(0,s.jsx)("span",{className:`text-xs ${e.totpEnabled?"text-green-500":"text-zinc-500"}`,children:e.totpEnabled?"Enabled":"Not set"})}),(0,s.jsx)("td",{className:"px-4 py-3 text-zinc-400 text-xs",children:e.created?new Date(e.created+"Z").toLocaleDateString():""}),(0,s.jsx)("td",{className:"px-4 py-3 text-right",children:(0,s.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,s.jsx)("button",{onClick:()=>{w(e),C({displayName:e.displayName,shellUser:e.shellUser,role:e.role,password:""}),T("")},className:"p-1.5 text-zinc-400 hover:text-indigo-400 rounded",title:"Edit",children:(0,s.jsx)(n.Pencil,{className:"w-3.5 h-3.5"})}),e.totpEnabled&&(0,s.jsx)("button",{onClick:()=>L(e),className:"p-1.5 text-zinc-400 hover:text-amber-400 rounded",title:"Reset 2FA",children:(0,s.jsx)(d,{className:"w-3.5 h-3.5"})}),(0,s.jsx)("button",{onClick:()=>O(e),className:"p-1.5 text-zinc-400 hover:text-red-400 rounded",title:"Delete",children:(0,s.jsx)(r.Trash2,{className:"w-3.5 h-3.5"})})]})})]},e.id)),0===e.length&&(0,s.jsx)("tr",{children:(0,s.jsxs)("td",{colSpan:7,className:"px-4 py-8 text-center text-zinc-500",children:["No users yet. Run ",(0,s.jsx)("code",{className:"bg-zinc-800 px-1.5 py-0.5 rounded text-xs",children:"npm run setup-admin"})," to create the first admin."]})})]})]})})]})}e.s(["default",()=>x],28394)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,33525,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},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)},48256,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Globe",()=>t],48256)},75254,e=>{"use strict";var t=e.i(71645);let r=(...e)=>e.filter((e,t,r)=>!!e&&""!==e.trim()&&r.indexOf(e)===t).join(" ").trim(),n=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,r)=>r?r.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)};var a={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 i=(0,t.forwardRef)(({color:e="currentColor",size:n=24,strokeWidth:i=2,absoluteStrokeWidth:s,className:o="",children:l,iconNode:c,...u},d)=>(0,t.createElement)("svg",{ref:d,...a,width:n,height:n,stroke:e,strokeWidth:s?24*Number(i)/Number(n):i,className:r("lucide",o),...!l&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0;return!1})(u)&&{"aria-hidden":"true"},...u},[...c.map(([e,r])=>(0,t.createElement)(e,r)),...Array.isArray(l)?l:[l]])),s=(e,a)=>{let s=(0,t.forwardRef)(({className:s,...o},l)=>(0,t.createElement)(i,{ref:l,iconNode:a,className:r(`lucide-${n(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${e}`,s),...o}));return s.displayName=n(e),s};e.s(["default",()=>s],75254)},7670,e=>{"use strict";function t(){for(var e,t,r=0,n="",a=arguments.length;r<a;r++)(e=arguments[r])&&(t=function e(t){var r,n,a="";if("string"==typeof t||"number"==typeof t)a+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(r=0;r<i;r++)t[r]&&(n=e(t[r]))&&(a&&(a+=" "),a+=n)}else for(n in t)t[n]&&(a&&(a+=" "),a+=n);return a}(e))&&(n&&(n+=" "),n+=t);return n}e.s(["clsx",()=>t])},18566,(e,t,r)=>{t.exports=e.r(76562)},39616,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Settings",()=>t],39616)},75505,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["FolderOpen",()=>t],75505)},86311,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["MessageSquare",()=>t],86311)},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return l},searchParamsToUrlQuery:function(){return i},urlQueryToSearchParams:function(){return o}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});function i(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function s(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,s(e));else t.set(r,s(n));return t}function l(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return c},urlObjectKeys:function(){return l}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809)._(e.r(98183)),s=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:r}=e,n=e.protocol||"",a=e.pathname||"",o=e.hash||"",l=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:r&&(c=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(c+=":"+e.port)),l&&"object"==typeof l&&(l=String(i.urlQueryToSearchParams(l)));let u=e.search||l&&`?${l}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||s.test(n))&&!1!==c?(c="//"+(c||""),a&&"/"!==a[0]&&(a="/"+a)):c||(c=""),o&&"#"!==o[0]&&(o="#"+o),u&&"?"!==u[0]&&(u="?"+u),a=a.replace(/[?#]/g,encodeURIComponent),u=u.replace("#","%23"),`${n}${c}${a}${u}${o}`}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function c(e){return o(e)}},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return a}});let n=e.r(71645);function a(e,t){let r=(0,n.useRef)(null),a=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=a.current;t&&(a.current=null,t())}else e&&(r.current=i(e,n)),t&&(a.current=i(t,n))},[e,t])}function i(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return y},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return k},NormalizeError:function(){return b},PageNotFoundError:function(){return x},SP:function(){return m},ST:function(){return g},WEB_VITALS:function(){return i},execOnce:function(){return s},getDisplayName:function(){return d},getLocationOrigin:function(){return c},getURL:function(){return u},isAbsoluteUrl:function(){return l},isResSent:function(){return f},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return j}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=["CLS","FCP","FID","INP","LCP","TTFB"];function s(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let o=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,l=e=>o.test(e);function c(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function u(){let{href:e}=window.location,t=c();return e.substring(t.length)}function d(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function p(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${d(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let m="u">typeof performance,g=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class y extends Error{}class b extends Error{}class x extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class k extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function j(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return i}});let n=e.r(18967),a=e.r(52817);function i(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,a.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return y},useLinkStatus:function(){return x}};for(var a in n)Object.defineProperty(r,a,{enumerable:!0,get:n[a]});let i=e.r(90809),s=e.r(18050),o=i._(e.r(71645)),l=e.r(95057),c=e.r(8372),u=e.r(18581),d=e.r(18967),f=e.r(5550);e.r(33525);let h=e.r(91949),p=e.r(73668),m=e.r(9396);function g(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}function y(t){var r;let n,a,i,[l,y]=(0,o.useOptimistic)(h.IDLE_LINK_STATUS),x=(0,o.useRef)(null),{href:k,as:v,children:j,prefetch:w=null,passHref:N,replace:P,shallow:M,scroll:O,onClick:S,onMouseEnter:_,onTouchStart:z,legacyBehavior:E=!1,onNavigate:C,ref:A,unstable_dynamicOnHover:L,...T}=t;n=j,E&&("string"==typeof n||"number"==typeof n)&&(n=(0,s.jsx)("a",{children:n}));let R=o.default.useContext(c.AppRouterContext),U=!1!==w,$=!1!==w?null===(r=w)||"auto"===r?m.FetchStrategy.PPR:m.FetchStrategy.Full:m.FetchStrategy.PPR,{href:I,as:B}=o.default.useMemo(()=>{let e=g(k);return{href:e,as:v?g(v):e}},[k,v]);if(E){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=o.default.Children.only(n)}let F=E?a&&"object"==typeof a&&a.ref:A,D=o.default.useCallback(e=>(null!==R&&(x.current=(0,h.mountLinkInstance)(e,I,R,$,U,y)),()=>{x.current&&((0,h.unmountLinkForCurrentNavigation)(x.current),x.current=null),(0,h.unmountPrefetchableInstance)(e)}),[U,I,R,$,y]),q={ref:(0,u.useMergedRef)(D,F),onClick(t){E||"function"!=typeof S||S(t),E&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!R||t.defaultPrevented||function(t,r,n,a,i,s,l){if("u">typeof window){let c,{nodeName:u}=t.currentTarget;if("A"===u.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,p.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:d}=e.r(99781);o.default.startTransition(()=>{d(n||r,i?"replace":"push",s??!0,a.current)})}}(t,I,B,x,P,O,C)},onMouseEnter(e){E||"function"!=typeof _||_(e),E&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),R&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===L)},onTouchStart:function(e){E||"function"!=typeof z||z(e),E&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),R&&U&&(0,h.onNavigationIntent)(e.currentTarget,!0===L)}};return(0,d.isAbsoluteUrl)(B)?q.href=B:E&&!N&&("a"!==a.type||"href"in a.props)||(q.href=(0,f.addBasePath)(B)),i=E?o.default.cloneElement(a,q):(0,s.jsx)("a",{...T,...q,children:n}),(0,s.jsx)(b.Provider,{value:l,children:i})}e.r(84508);let b=(0,o.createContext)(h.IDLE_LINK_STATUS),x=()=>(0,o.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61911,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Users",()=>t],61911)},52008,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Layers",()=>t],52008)},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)},55436,e=>{"use strict";let t=(0,e.i(75254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",()=>t],55436)},55711,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Brain",()=>t],55711)},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)},21218,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Activity",()=>t],21218)},60289,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["LayoutDashboard",()=>t],60289)},95914,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(22016),a=e.i(18566),i=e.i(60289),s=e.i(86311),o=e.i(75505),l=e.i(52008),c=e.i(17923),u=e.i(39616),d=e.i(55436),f=e.i(61911),h=e.i(21218),p=e.i(92270),m=e.i(48256),g=e.i(55711),y=e.i(75157),b=e.i(9593),x=e.i(9165),k=e.i(29320);let v=[{href:"/terminal",label:"Spaces",icon:l.Layers},{href:"/",label:"Dashboard",icon:i.LayoutDashboard},{href:"/sessions",label:"Sessions",icon:s.MessageSquare},{href:"/projects",label:"Projects",icon:o.FolderOpen},{href:"/analytics",label:"Analytics",icon:c.BarChart3},{href:"/network",label:"Network",icon:m.Globe},{href:"/cortex",label:"Cortex",icon:g.Brain},{href:"/settings",label:"Settings",icon:u.Settings}],j={"/":"dashboard","/terminal":"terminal","/sessions":"sessions","/projects":"projects","/analytics":"analytics","/network":"network","/cortex":"cortex","/settings":"settings","/admin/users":"admin_users","/admin/analytics":"admin_analytics"};function w(){let e=(0,a.usePathname)(),i=(0,a.useRouter)(),{hasAuth:s,hasAdmin:o,hasNetwork:l,hasCortex:c,basePath:u}=(0,k.useTier)(),[m,g]=(0,r.useState)(null);(0,r.useEffect)(()=>{let t=j[e]||(e.startsWith("/sessions/")?"session_detail":e.slice(1));(0,b.trackPageView)(t)},[e]),(0,r.useEffect)(()=>{s&&fetch((0,x.api)("/api/auth/me")).then(e=>e.json()).then(e=>g(e.role)).catch(()=>{})},[s]);let w=async()=>{await fetch((0,x.api)("/api/auth/logout"),{method:"POST"}),i.push("/login")};return(0,t.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,t.jsx)("div",{className:"p-4 border-b border-zinc-200 dark:border-zinc-800",children:(0,t.jsx)(n.default,{href:"/",children:(0,t.jsx)("img",{src:`${u}/spaces_logo.png`,alt:"Spaces",width:180,height:60})})}),(0,t.jsxs)("nav",{className:"flex-1 p-2 space-y-1",children:[v.filter(({href:e})=>"/network"===e?l:"/cortex"!==e||c).map(({href:r,label:a,icon:i})=>{let s="/"===r?"/"===e:e.startsWith(r);return(0,t.jsxs)(n.default,{href:r,className:(0,y.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",s?"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,t.jsx)(i,{className:"w-4 h-4"}),a]},r)}),o&&"admin"===m&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.default,{href:"/admin/users",className:(0,y.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",e.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,t.jsx)(f.Users,{className:"w-4 h-4"}),"Users"]}),(0,t.jsxs)(n.default,{href:"/admin/analytics",className:(0,y.cn)("flex items-center gap-3 px-3 py-2 rounded-md text-sm transition-colors",e.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,t.jsx)(h.Activity,{className:"w-4 h-4"}),"Activity"]})]})]}),(0,t.jsxs)("div",{className:"p-3 border-t border-zinc-200 dark:border-zinc-800 space-y-1",children:[(0,t.jsxs)(n.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,t.jsx)(d.Search,{className:"w-4 h-4"}),(0,t.jsx)("span",{children:"Search"}),(0,t.jsx)("kbd",{className:"ml-auto text-[10px] bg-zinc-200 dark:bg-zinc-800 px-1.5 py-0.5 rounded",children:"Ctrl+K"})]}),s&&(0,t.jsxs)("button",{onClick:w,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,t.jsx)(p.LogOut,{className:"w-4 h-4"}),(0,t.jsx)("span",{children:"Sign out"})]})]})]})}e.s(["Sidebar",()=>w])},18931,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(37727),a=e.i(9165);function i(){let[e,i]=(0,r.useState)(null),[s,o]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{let e=()=>{fetch((0,a.api)("/api/updates")).then(e=>e.json()).then(e=>{let t=e.addons&&Object.values(e.addons).some(e=>e.behind);(e.available||t)&&i(e)}).catch(()=>{})};e();let t=setInterval(e,144e5);return()=>clearInterval(t)},[]),!e||s)return null;let l=e.addons?Object.entries(e.addons).filter(([,e])=>e.behind):[];return e.available||0!==l.length?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-1 px-4 py-2 bg-indigo-500/10 border-b border-indigo-500/20 text-xs shrink-0",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 flex-wrap",children:[e.npm?.available&&(0,t.jsxs)("span",{className:"text-indigo-300",children:[(0,t.jsx)("span",{className:"font-mono",children:e.current})," → ",(0,t.jsx)("span",{className:"font-mono font-medium text-indigo-200",children:e.npm.latest}),(0,t.jsxs)("code",{className:"ml-2 text-[10px] text-indigo-400/70 bg-indigo-500/10 px-1.5 py-0.5 rounded",children:["npm i -g ",e.name]})]}),e.github?.available&&(!e.npm?.available||e.github.latest>(e.npm?.latest||""))&&(0,t.jsxs)("span",{className:"text-cyan-300",children:[e.github.prerelease?"Pre-release":"Release",": ",(0,t.jsx)("span",{className:"font-mono font-medium",children:e.github.latest}),e.github.url&&(0,t.jsx)("a",{href:e.github.url,target:"_blank",rel:"noopener noreferrer",className:"ml-1.5 text-[10px] text-cyan-400/70 hover:text-cyan-300 underline",children:"view"})]}),l.map(([e,r])=>(0,t.jsxs)("span",{className:"text-amber-300",children:["@spaces/",e,": ",r.commitsBehind," commit",1!==r.commitsBehind?"s":""," behind",(0,t.jsxs)("code",{className:"ml-1.5 text-[10px] text-amber-400/70 bg-amber-500/10 px-1.5 py-0.5 rounded",children:["spaces upgrade ",e]})]},e))]}),(0,t.jsx)("button",{onClick:()=>o(!0),className:"text-indigo-500/50 hover:text-indigo-300 ml-auto shrink-0",children:(0,t.jsx)(n.X,{className:"w-3 h-3"})})]}):null}e.s(["UpdateBanner",()=>i])}]);
|
|
@@ -0,0 +1 @@
|
|
|
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),r=e.i(40143),i=e.i(86491),n=e.i(15823),a=e.i(93803),c=e.i(19273),o=e.i(80166),l=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;#r=void 0;#i=void 0;#n=void 0;#a;#c;#s;#t;#o;#l;#d;#u;#h;#m;#x=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#r.addObserver(this),d(this.#r,this.options)?this.#p():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return u(this.#r,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return u(this.#r,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#f(),this.#r.removeObserver(this)}setOptions(e){let t=this.options,s=this.#r;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,c.resolveEnabled)(this.options.enabled,this.#r))throw Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#g(),this.#r.setOptions(this.options),t._defaulted&&!(0,c.shallowEqualObjects)(this.options,t)&&this.#e.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#r,observer:this});let r=this.hasListeners();r&&h(this.#r,s,this.options,t)&&this.#p(),this.updateResult(),r&&(this.#r!==s||(0,c.resolveEnabled)(this.options.enabled,this.#r)!==(0,c.resolveEnabled)(t.enabled,this.#r)||(0,c.resolveStaleTime)(this.options.staleTime,this.#r)!==(0,c.resolveStaleTime)(t.staleTime,this.#r))&&this.#v();let i=this.#j();r&&(this.#r!==s||(0,c.resolveEnabled)(this.options.enabled,this.#r)!==(0,c.resolveEnabled)(t.enabled,this.#r)||i!==this.#m)&&this.#k(i)}getOptimisticResult(e){var t,s;let r=this.#e.getQueryCache().build(this.#e,e),i=this.createResult(r,e);return t=this,s=i,(0,c.shallowEqualObjects)(t.getCurrentResult(),s)||(this.#n=i,this.#c=this.options,this.#a=this.#r.state),i}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.#x.add(e)}getCurrentQuery(){return this.#r}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.#p({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#n))}#p(e){this.#g();let t=this.#r.fetch(this.options,e);return e?.throwOnError||(t=t.catch(c.noop)),t}#v(){this.#b();let e=(0,c.resolveStaleTime)(this.options.staleTime,this.#r);if(c.isServer||this.#n.isStale||!(0,c.isValidTimeout)(e))return;let t=(0,c.timeUntilStale)(this.#n.dataUpdatedAt,e);this.#u=o.timeoutManager.setTimeout(()=>{this.#n.isStale||this.updateResult()},t+1)}#j(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#r):this.options.refetchInterval)??!1}#k(e){this.#f(),this.#m=e,!c.isServer&&!1!==(0,c.resolveEnabled)(this.options.enabled,this.#r)&&(0,c.isValidTimeout)(this.#m)&&0!==this.#m&&(this.#h=o.timeoutManager.setInterval(()=>{(this.options.refetchIntervalInBackground||s.focusManager.isFocused())&&this.#p()},this.#m))}#y(){this.#v(),this.#k(this.#j())}#b(){this.#u&&(o.timeoutManager.clearTimeout(this.#u),this.#u=void 0)}#f(){this.#h&&(o.timeoutManager.clearInterval(this.#h),this.#h=void 0)}createResult(e,t){let s,r=this.#r,n=this.options,o=this.#n,l=this.#a,u=this.#c,x=e!==r?e.state:this.#i,{state:p}=e,y={...p},b=!1;if(t._optimisticResults){let s=this.hasListeners(),a=!s&&d(e,t),c=s&&h(e,r,t,n);(a||c)&&(y={...y,...(0,i.fetchState)(p.data,e.options)}),"isRestoring"===t._optimisticResults&&(y.fetchStatus="idle")}let{error:f,errorUpdatedAt:g,status:v}=y;s=y.data;let j=!1;if(void 0!==t.placeholderData&&void 0===s&&"pending"===v){let e;o?.isPlaceholderData&&t.placeholderData===u?.placeholderData?(e=o.data,j=!0):e="function"==typeof t.placeholderData?t.placeholderData(this.#d?.state.data,this.#d):t.placeholderData,void 0!==e&&(v="success",s=(0,c.replaceData)(o?.data,e,t),b=!0)}if(t.select&&void 0!==s&&!j)if(o&&s===l?.data&&t.select===this.#o)s=this.#l;else try{this.#o=t.select,s=t.select(s),s=(0,c.replaceData)(o?.data,s,t),this.#l=s,this.#t=null}catch(e){this.#t=e}this.#t&&(f=this.#t,s=this.#l,g=Date.now(),v="error");let k="fetching"===y.fetchStatus,N="pending"===v,w="error"===v,z=N&&k,R=void 0!==s,C={status:v,fetchStatus:y.fetchStatus,isPending:N,isSuccess:"success"===v,isError:w,isInitialLoading:z,isLoading:z,data:s,dataUpdatedAt:y.dataUpdatedAt,error:f,errorUpdatedAt:g,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:y.dataUpdateCount>0||y.errorUpdateCount>0,isFetchedAfterMount:y.dataUpdateCount>x.dataUpdateCount||y.errorUpdateCount>x.errorUpdateCount,isFetching:k,isRefetching:k&&!N,isLoadingError:w&&!R,isPaused:"paused"===y.fetchStatus,isPlaceholderData:b,isRefetchError:w&&R,isStale:m(e,t),refetch:this.refetch,promise:this.#s,isEnabled:!1!==(0,c.resolveEnabled)(t.enabled,e)};if(this.options.experimental_prefetchInRender){let t=void 0!==C.data,s="error"===C.status&&!t,i=e=>{s?e.reject(C.error):t&&e.resolve(C.data)},n=()=>{i(this.#s=C.promise=(0,a.pendingThenable)())},c=this.#s;switch(c.status){case"pending":e.queryHash===r.queryHash&&i(c);break;case"fulfilled":(s||C.data!==c.value)&&n();break;case"rejected":s&&C.error===c.reason||n()}}return C}updateResult(){let e=this.#n,t=this.createResult(this.#r,this.options);if(this.#a=this.#r.state,this.#c=this.options,void 0!==this.#a.data&&(this.#d=this.#r),(0,c.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.#x.size)return!0;let r=new Set(s??this.#x);return this.options.throwOnError&&r.add("error"),Object.keys(this.#n).some(t=>this.#n[t]!==e[t]&&r.has(t))};this.#N({listeners:s()})}#g(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#r)return;let t=this.#r;this.#r=e,this.#i=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#N(e){r.notifyManager.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#n)}),this.#e.getQueryCache().notify({query:this.#r,type:"observerResultsUpdated"})})}};function d(e,t){return!1!==(0,c.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&("error"!==e.state.status||!1!==t.retryOnMount)||void 0!==e.state.data&&u(e,t,t.refetchOnMount)}function u(e,t,s){if(!1!==(0,c.resolveEnabled)(t.enabled,e)&&"static"!==(0,c.resolveStaleTime)(t.staleTime,e)){let r="function"==typeof s?s(e):s;return"always"===r||!1!==r&&m(e,t)}return!1}function h(e,t,s,r){return(e!==t||!1===(0,c.resolveEnabled)(r.enabled,e))&&(!s.suspense||"error"!==e.state.status)&&m(e,s)}function m(e,t){return!1!==(0,c.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,c.resolveStaleTime)(t.staleTime,e))}e.i(47167);var x=e.i(71645),p=e.i(12598);e.i(18050);var y=x.createContext((t=!1,{clearReset:()=>{t=!1},reset:()=>{t=!0},isReset:()=>t})),b=x.createContext(!1);b.Provider;var f=(e,t,s)=>t.fetchOptimistic(e).catch(()=>{s.clearReset()});function g(e,t){return function(e,t,s){let i,n=x.useContext(b),a=x.useContext(y),o=(0,p.useQueryClient)(s),l=o.defaultQueryOptions(e);o.getDefaultOptions().queries?._experimental_beforeQuery?.(l);let d=o.getQueryCache().get(l.queryHash);if(l._optimisticResults=n?"isRestoring":"optimistic",l.suspense){let e=e=>"static"===e?e:Math.max(e??1e3,1e3),t=l.staleTime;l.staleTime="function"==typeof t?(...s)=>e(t(...s)):e(t),"number"==typeof l.gcTime&&(l.gcTime=Math.max(l.gcTime,1e3))}i=d?.state.error&&"function"==typeof l.throwOnError?(0,c.shouldThrowError)(l.throwOnError,[d.state.error,d]):l.throwOnError,(l.suspense||l.experimental_prefetchInRender||i)&&!a.isReset()&&(l.retryOnMount=!1),x.useEffect(()=>{a.clearReset()},[a]);let u=!o.getQueryCache().get(l.queryHash),[h]=x.useState(()=>new t(o,l)),m=h.getOptimisticResult(l),g=!n&&!1!==e.subscribed;if(x.useSyncExternalStore(x.useCallback(e=>{let t=g?h.subscribe(r.notifyManager.batchCalls(e)):c.noop;return h.updateResult(),t},[h,g]),()=>h.getCurrentResult(),()=>h.getCurrentResult()),x.useEffect(()=>{h.setOptions(l)},[l,h]),l?.suspense&&m.isPending)throw f(l,h,a);if((({result:e,errorResetBoundary:t,throwOnError:s,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&void 0===e.data||(0,c.shouldThrowError)(s,[e.error,r])))({result:m,errorResetBoundary:a,throwOnError:l.throwOnError,query:d,suspense:l.suspense}))throw m.error;if(o.getDefaultOptions().queries?._experimental_afterQuery?.(l,m),l.experimental_prefetchInRender&&!c.isServer&&m.isLoading&&m.isFetching&&!n){let e=u?f(l,h,a):d?.promise;e?.catch(c.noop).finally(()=>{h.updateResult()})}return l.notifyOnChangeProps?m:h.trackResult(m)}(e,l,t)}e.s(["useQuery",()=>g],66027);var v=e.i(14272),j=n,k=class extends j.Subscribable{#e;#n=void 0;#w;#z;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#R()}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,c.shallowEqualObjects)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#w,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,c.hashKey)(t.mutationKey)!==(0,c.hashKey)(this.options.mutationKey)?this.reset():this.#w?.state.status==="pending"&&this.#w.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#w?.removeObserver(this)}onMutationUpdate(e){this.#R(),this.#N(e)}getCurrentResult(){return this.#n}reset(){this.#w?.removeObserver(this),this.#w=void 0,this.#R(),this.#N()}mutate(e,t){return this.#z=t,this.#w?.removeObserver(this),this.#w=this.#e.getMutationCache().build(this.#e,this.options),this.#w.addObserver(this),this.#w.execute(e)}#R(){let e=this.#w?.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}}#N(e){r.notifyManager.batch(()=>{if(this.#z&&this.hasListeners()){let t=this.#n.variables,s=this.#n.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#z.onSuccess?.(e.data,t,s,r)}catch(e){Promise.reject(e)}try{this.#z.onSettled?.(e.data,null,t,s,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#z.onError?.(e.error,t,s,r)}catch(e){Promise.reject(e)}try{this.#z.onSettled?.(void 0,e.error,t,s,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#n)})})}};function N(e,t){let s=(0,p.useQueryClient)(t),[i]=x.useState(()=>new k(s,e));x.useEffect(()=>{i.setOptions(e)},[i,e]);let n=x.useSyncExternalStore(x.useCallback(e=>i.subscribe(r.notifyManager.batchCalls(e)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),a=x.useCallback((e,t)=>{i.mutate(e,t).catch(c.noop)},[i]);if(n.error&&(0,c.shouldThrowError)(i.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:a,mutateAsync:n.mutate}}e.s(["useMutation",()=>N],54616)},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)},27612,e=>{"use strict";let t=(0,e.i(75254).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"}]]);e.s(["Trash2",()=>t],27612)},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)},88699,e=>{"use strict";let t=(0,e.i(75254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",()=>t],88699)},43531,e=>{"use strict";let t=(0,e.i(75254).default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);e.s(["Check",()=>t],43531)},74886,e=>{"use strict";let t=(0,e.i(75254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",()=>t],74886)},68407,e=>{"use strict";var t=e.i(66027),s=e.i(54616),r=e.i(12598),i=e.i(9165);function n(){return(0,t.useQuery)({queryKey:["node-identity"],queryFn:async()=>(await fetch((0,i.api)("/api/network/identity"))).json()})}function a(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/network/identity"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["node-identity"]})}})}function c(e=!0){return(0,t.useQuery)({queryKey:["network-nodes"],queryFn:async()=>{let e=await fetch((0,i.api)("/api/network/nodes"));if(!e.ok)return[];let t=await e.json();return Array.isArray(t)?t:[]},enabled:e})}function o(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>{let t=await fetch((0,i.api)("/api/network/nodes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error((await t.json()).error||"Failed to add node");return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["network-nodes"]})}})}function l(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>{let t=await fetch((0,i.api)("/api/network/nodes"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:e.url,apiKey:e.apiKey,name:e.name})});if(!t.ok)throw Error((await t.json()).error||"Failed to connect");return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["network-nodes"]})}})}function d(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)(`/api/network/nodes/${e}`),{method:"DELETE"})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["network-nodes"]})}})}function u(){return(0,t.useQuery)({queryKey:["network-api-keys"],queryFn:async()=>(await fetch((0,i.api)("/api/network/keys"))).json()})}function h(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)("/api/network/keys"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["network-api-keys"]})}})}function m(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>(await fetch((0,i.api)(`/api/network/keys/${e}`),{method:"DELETE"})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["network-api-keys"]})}})}function x(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async()=>(await fetch((0,i.api)("/api/network/nodes/check"),{method:"POST"})).json(),onSuccess:()=>{e.invalidateQueries({queryKey:["network-nodes"]})}})}function p(){return(0,t.useQuery)({queryKey:["connection-requests"],queryFn:async()=>{let e=await fetch((0,i.api)("/api/network/connect-request"));return e.ok?e.json():{incoming:[],outgoing:[]}},refetchInterval:5e3})}function y(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>{let t=await fetch((0,i.api)("/api/network/connect-request"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({_sendRequest:!0,targetNodeId:e.nodeId,targetNodeName:e.nodeName,targetNodeUrl:e.nodeUrl})});if(!t.ok)throw Error((await t.json().catch(()=>({error:"Request failed"}))).error||`Request failed (${t.status})`);return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["connection-requests"]})}})}function b(){let e=(0,r.useQueryClient)();return(0,s.useMutation)({mutationFn:async e=>{let t=await fetch((0,i.api)(`/api/network/connect-request/${e.id}`),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:e.action})});if(!t.ok)throw Error((await t.json().catch(()=>({error:"Failed"}))).error||"Failed to respond");return t.json()},onSuccess:()=>{e.invalidateQueries({queryKey:["connection-requests"]}),e.invalidateQueries({queryKey:["network-nodes"]})}})}e.s(["useAddNode",()=>o,"useApiKeys",()=>u,"useCheckHealth",()=>x,"useConnectDiscoveredNode",()=>l,"useConnectionRequests",()=>p,"useCreateApiKey",()=>h,"useNodeIdentity",()=>n,"useNodes",()=>c,"useRemoveNode",()=>d,"useRespondToRequest",()=>b,"useRevokeApiKey",()=>m,"useSendConnectionRequest",()=>y,"useUpdateNodeName",()=>a])},46020,e=>{"use strict";var t=e.i(18050),s=e.i(71645),r=e.i(68407),i=e.i(37727),n=e.i(31278);function a({onClose:e,prefillUrl:a,prefillName:c,nodeId:o}){let l=(0,r.useAddNode)(),[d,u]=(0,s.useState)(a||""),[h,m]=(0,s.useState)(""),[x,p]=(0,s.useState)(c||""),[y,b]=(0,s.useState)(""),f=!!a,g=(0,r.useConnectDiscoveredNode)(),v=async()=>{b("");try{f&&o?await g.mutateAsync({id:o,url:d,apiKey:h,name:x||void 0}):await l.mutateAsync({url:d,apiKey:h,name:x||void 0}),e()}catch(e){b(e.message||"Failed to connect")}},j=l.isPending||g.isPending;return(0,t.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:(0,t.jsxs)("div",{className:"bg-white dark:bg-zinc-900 rounded-xl shadow-2xl border border-zinc-200 dark:border-zinc-800 w-full max-w-md mx-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between px-5 py-4 border-b border-zinc-200 dark:border-zinc-800",children:[(0,t.jsx)("h2",{className:"text-base font-semibold",children:f?"Connect to Node":"Add Node"}),(0,t.jsx)("button",{onClick:e,className:"text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-200",children:(0,t.jsx)(i.X,{className:"w-4 h-4"})})]}),(0,t.jsxs)("div",{className:"p-5 space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-zinc-600 dark:text-zinc-400 mb-1.5 block",children:"Node URL"}),(0,t.jsx)("input",{autoFocus:!f,type:"url",value:d,onChange:e=>u(e.target.value),readOnly:f,placeholder:"https://my-server.example.com/spaces",className:`w-full px-3 py-2 text-sm border rounded-md focus:outline-none focus:ring-1 focus:ring-indigo-500 ${f?"bg-zinc-50 dark:bg-zinc-900 border-zinc-200 dark:border-zinc-700 text-zinc-500":"bg-white dark:bg-zinc-950 border-zinc-200 dark:border-zinc-700"}`}),f?(0,t.jsx)("p",{className:"text-[11px] text-zinc-400 mt-1",children:"Auto-discovered on your network"}):(0,t.jsx)("p",{className:"text-[11px] text-zinc-400 mt-1",children:"The base URL of the remote Spaces instance"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs font-medium text-zinc-600 dark:text-zinc-400 mb-1.5 block",children:"API Key"}),(0,t.jsx)("input",{autoFocus:f,type:"password",value:h,onChange:e=>m(e.target.value),placeholder:"spk_...",className:"w-full px-3 py-2 text-sm font-mono bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:ring-1 focus:ring-indigo-500"}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-400 mt-1",children:"Generated on the remote node's Network page"})]}),!f&&(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"text-xs font-medium text-zinc-600 dark:text-zinc-400 mb-1.5 block",children:["Display Name ",(0,t.jsx)("span",{className:"text-zinc-400",children:"(optional)"})]}),(0,t.jsx)("input",{type:"text",value:x,onChange:e=>p(e.target.value),placeholder:"Auto-detected from remote node",className:"w-full px-3 py-2 text-sm bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:ring-1 focus:ring-indigo-500"})]}),y&&(0,t.jsx)("div",{className:"text-sm text-red-600 dark:text-red-400 bg-red-50 dark:bg-red-950/30 border border-red-200 dark:border-red-800 rounded-md px-3 py-2",children:y})]}),(0,t.jsxs)("div",{className:"flex justify-end gap-2 px-5 py-4 border-t border-zinc-200 dark:border-zinc-800",children:[(0,t.jsx)("button",{onClick:e,className:"px-4 py-2 text-sm border border-zinc-200 dark:border-zinc-700 rounded-md hover:bg-zinc-50 dark:hover:bg-zinc-800",children:"Cancel"}),(0,t.jsxs)("button",{onClick:v,disabled:!d.trim()||!h.trim()||j,className:"flex items-center gap-2 px-4 py-2 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:[j&&(0,t.jsx)(n.Loader2,{className:"w-3.5 h-3.5 animate-spin"}),"Connect"]})]})]})})}var c=e.i(7233),o=e.i(27612),l=e.i(16715),d=e.i(48256),u=e.i(75254);let h=(0,u.default)("link",[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]]),m=(0,u.default)("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);var x=e.i(75157);let p={online:{color:"text-green-600 dark:text-green-400",bg:"bg-green-500",label:"Online"},offline:{color:"text-red-600 dark:text-red-400",bg:"bg-red-500",label:"Offline"},error:{color:"text-amber-600 dark:text-amber-400",bg:"bg-amber-500",label:"Error"},unknown:{color:"text-zinc-500",bg:"bg-zinc-400",label:"Unknown"}};function y(){let{data:e,isLoading:i}=(0,r.useNodes)(),u=(0,r.useRemoveNode)(),y=(0,r.useCheckHealth)(),b=(0,r.useSendConnectionRequest)(),[f,g]=(0,s.useState)(!1),[v,j]=(0,s.useState)(null);if(i)return(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(n.Loader2,{className:"w-5 h-5 animate-spin text-zinc-400"})});let k=e?.filter(e=>e.apiKeyHint)||[],N=e?.filter(e=>"mdns"===e.discoveredVia&&!e.apiKeyHint)||[];return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsxs)("button",{onClick:()=>g(!0),className:"flex items-center gap-1.5 px-3 py-1.5 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500",children:[(0,t.jsx)(c.Plus,{className:"w-3.5 h-3.5"}),"Add Node"]}),k.length>0&&(0,t.jsxs)("button",{onClick:()=>y.mutate(),disabled:y.isPending,className:"flex items-center gap-1.5 px-3 py-1.5 text-sm border border-zinc-200 dark:border-zinc-700 rounded-md hover:bg-zinc-50 dark:hover:bg-zinc-800 disabled:opacity-50",children:[(0,t.jsx)(l.RefreshCw,{className:`w-3.5 h-3.5 ${y.isPending?"animate-spin":""}`}),"Check All"]})]}),k.length>0?(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:k.map(e=>{let s=p[e.status]||p.unknown;return(0,t.jsxs)("div",{className:"border border-zinc-200 dark:border-zinc-800 rounded-lg p-4 hover:border-zinc-300 dark:hover:border-zinc-700 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${s.bg}`}),(0,t.jsx)("h3",{className:"font-medium text-sm",children:e.name})]}),(0,t.jsx)("button",{onClick:()=>{confirm(`Remove node "${e.name}"? You can re-add it later.`)&&u.mutate(e.id)},className:"p-1 text-zinc-400 hover:text-red-500 rounded",title:"Remove node",children:(0,t.jsx)(o.Trash2,{className:"w-3.5 h-3.5"})})]}),(0,t.jsxs)("div",{className:"space-y-1 text-xs text-zinc-500",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 font-mono truncate",title:e.url,children:[(0,t.jsx)(d.Globe,{className:"w-3 h-3 flex-shrink-0"}),e.url]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:s.color,children:s.label}),e.lastSeen&&(0,t.jsxs)("span",{children:["Last seen ",(0,x.formatRelativeTime)(e.lastSeen)]})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("span",{children:[e.sessionCount," sessions"]}),e.version&&(0,t.jsxs)("span",{children:["v",e.version]})]}),e.lastError&&"online"!==e.status&&(0,t.jsx)("div",{className:"text-amber-600 dark:text-amber-400 text-[11px] truncate",title:e.lastError,children:e.lastError}),(0,t.jsxs)("div",{className:"text-[10px] text-zinc-400 font-mono",children:["Key: ...",e.apiKeyHint]})]})]},e.id)})}):(0,t.jsxs)("div",{className:"text-center py-8 text-sm text-zinc-500",children:[(0,t.jsx)(d.Globe,{className:"w-8 h-8 mx-auto mb-2 text-zinc-300 dark:text-zinc-700"}),(0,t.jsx)("p",{children:"No connected nodes."}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Add a node to see sessions and terminals from other Spaces instances."})]}),N.length>0&&(0,t.jsxs)("div",{className:"mt-6",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-2",children:"Discovered on Network"}),(0,t.jsx)("p",{className:"text-[11px] text-zinc-400 mb-3",children:"These nodes were found via mDNS. Request a connection or enter an API key manually."}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:N.map(e=>{let s=p[e.status]||p.unknown;return(0,t.jsxs)("div",{className:"border border-dashed border-zinc-300 dark:border-zinc-700 rounded-lg p-4 hover:border-indigo-400 dark:hover:border-indigo-600 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between mb-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:`w-2 h-2 rounded-full ${s.bg}`}),(0,t.jsx)("h3",{className:"font-medium text-sm",children:e.name})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)("button",{onClick:()=>b.mutate({nodeUrl:e.url,nodeId:e.id,nodeName:e.name}),disabled:b.isPending,className:"flex items-center gap-1 px-2 py-1 text-xs bg-green-600 text-white rounded hover:bg-green-500 disabled:opacity-50",title:"Request connection (no API key needed)",children:[b.isPending?(0,t.jsx)(n.Loader2,{className:"w-3 h-3 animate-spin"}):(0,t.jsx)(m,{className:"w-3 h-3"}),"Request"]}),(0,t.jsxs)("button",{onClick:()=>j({id:e.id,url:e.url,name:e.name}),className:"flex items-center gap-1 px-2 py-1 text-xs border border-zinc-300 dark:border-zinc-600 text-zinc-600 dark:text-zinc-300 rounded hover:bg-zinc-100 dark:hover:bg-zinc-800",title:"Connect with API key",children:[(0,t.jsx)(h,{className:"w-3 h-3"}),"API Key"]}),(0,t.jsx)("button",{onClick:()=>{confirm(`Remove "${e.name}" from discovered list?`)&&u.mutate(e.id)},className:"p-1 text-zinc-400 hover:text-red-500 rounded",title:"Dismiss",children:(0,t.jsx)(o.Trash2,{className:"w-3 h-3"})})]})]}),(0,t.jsxs)("div",{className:"space-y-1 text-xs text-zinc-500",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1 font-mono truncate",title:e.url,children:[(0,t.jsx)(d.Globe,{className:"w-3 h-3 flex-shrink-0"}),e.url]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:s.color,children:s.label}),e.version&&(0,t.jsxs)("span",{children:["v",e.version]})]})]})]},e.id)})})]}),f&&(0,t.jsx)(a,{onClose:()=>g(!1)}),v&&(0,t.jsx)(a,{onClose:()=>j(null),prefillUrl:v.url,prefillName:v.name,nodeId:v.id})]})}var b=e.i(74886),f=e.i(43531);let g=(0,u.default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);function v(){let{data:e,isLoading:i}=(0,r.useApiKeys)(),a=(0,r.useCreateApiKey)(),l=(0,r.useRevokeApiKey)(),[d,u]=(0,s.useState)(!1),[h,m]=(0,s.useState)(""),[p,y]=(0,s.useState)("terminal"),[v,j]=(0,s.useState)(null),[k,N]=(0,s.useState)(!1),w=async()=>{h.trim()&&(j((await a.mutateAsync({name:h.trim(),permissions:p})).rawKey),m(""),u(!1))},z=async()=>{if(v){try{await navigator.clipboard.writeText(v)}catch{let e=document.createElement("textarea");e.value=v,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}N(!0),setTimeout(()=>N(!1),2e3)}};return i?(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(n.Loader2,{className:"w-5 h-5 animate-spin text-zinc-400"})}):(0,t.jsxs)("div",{className:"space-y-3",children:[v&&(0,t.jsxs)("div",{className:"bg-green-50 dark:bg-green-950/30 border border-green-200 dark:border-green-800 rounded-lg p-4",children:[(0,t.jsx)("p",{className:"text-sm font-medium text-green-800 dark:text-green-200 mb-2",children:"API key created. Copy it now — it won't be shown again."}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("code",{className:"flex-1 text-xs font-mono bg-white dark:bg-zinc-900 border border-green-200 dark:border-green-800 rounded px-3 py-2 select-all break-all",children:v}),(0,t.jsx)("button",{onClick:z,className:"flex-shrink-0 p-2 text-green-700 dark:text-green-300 hover:bg-green-100 dark:hover:bg-green-900 rounded-md",children:k?(0,t.jsx)(f.Check,{className:"w-4 h-4"}):(0,t.jsx)(b.Copy,{className:"w-4 h-4"})})]}),(0,t.jsx)("button",{onClick:()=>j(null),className:"text-xs text-green-600 dark:text-green-400 mt-2 hover:underline",children:"Dismiss"})]}),e&&e.length>0?(0,t.jsx)("div",{className:"border border-zinc-200 dark:border-zinc-800 rounded-lg overflow-hidden",children:(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{children:(0,t.jsxs)("tr",{className:"bg-zinc-50 dark:bg-zinc-900 text-left text-xs text-zinc-500",children:[(0,t.jsx)("th",{className:"px-4 py-2 font-medium",children:"Name"}),(0,t.jsx)("th",{className:"px-4 py-2 font-medium",children:"Prefix"}),(0,t.jsx)("th",{className:"px-4 py-2 font-medium",children:"Permissions"}),(0,t.jsx)("th",{className:"px-4 py-2 font-medium",children:"Last Used"}),(0,t.jsx)("th",{className:"px-4 py-2 font-medium",children:"Created"}),(0,t.jsx)("th",{className:"px-4 py-2 font-medium w-10"})]})}),(0,t.jsx)("tbody",{className:"divide-y divide-zinc-100 dark:divide-zinc-800",children:e.map(e=>(0,t.jsxs)("tr",{className:"hover:bg-zinc-50 dark:hover:bg-zinc-900/50",children:[(0,t.jsx)("td",{className:"px-4 py-2.5 font-medium",children:e.name}),(0,t.jsxs)("td",{className:"px-4 py-2.5 font-mono text-xs text-zinc-500",children:[e.keyPrefix,"..."]}),(0,t.jsx)("td",{className:"px-4 py-2.5",children:(0,t.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400",children:e.permissions})}),(0,t.jsx)("td",{className:"px-4 py-2.5 text-zinc-500 text-xs",children:e.lastUsed?(0,x.formatRelativeTime)(e.lastUsed):"Never"}),(0,t.jsx)("td",{className:"px-4 py-2.5 text-zinc-500 text-xs",children:(0,x.formatRelativeTime)(e.created)}),(0,t.jsx)("td",{className:"px-4 py-2.5",children:(0,t.jsx)("button",{onClick:()=>{confirm(`Revoke API key "${e.name}"? Remote nodes using this key will lose access.`)&&l.mutate(e.id)},className:"p-1 text-zinc-400 hover:text-red-500 rounded",title:"Revoke key",children:(0,t.jsx)(o.Trash2,{className:"w-3.5 h-3.5"})})})]},e.id))})]})}):(0,t.jsxs)("div",{className:"text-center py-8 text-sm text-zinc-500",children:[(0,t.jsx)(g,{className:"w-8 h-8 mx-auto mb-2 text-zinc-300 dark:text-zinc-700"}),(0,t.jsx)("p",{children:"No API keys yet."}),(0,t.jsx)("p",{className:"text-xs mt-1",children:"Create a key so other nodes can connect to this one."})]}),d?(0,t.jsxs)("div",{className:"flex items-end gap-2 bg-zinc-50 dark:bg-zinc-900 border border-zinc-200 dark:border-zinc-800 rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"flex-1",children:[(0,t.jsx)("label",{className:"text-xs text-zinc-500 mb-1 block",children:"Key Name"}),(0,t.jsx)("input",{autoFocus:!0,type:"text",value:h,onChange:e=>m(e.target.value),onKeyDown:e=>"Enter"===e.key&&w(),placeholder:"e.g., Team Server",className:"w-full px-3 py-1.5 text-sm bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:ring-1 focus:ring-indigo-500"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"text-xs text-zinc-500 mb-1 block",children:"Permissions"}),(0,t.jsxs)("select",{value:p,onChange:e=>y(e.target.value),className:"px-3 py-1.5 text-sm bg-white dark:bg-zinc-950 border border-zinc-200 dark:border-zinc-700 rounded-md focus:outline-none focus:ring-1 focus:ring-indigo-500",children:[(0,t.jsx)("option",{value:"read",children:"Read"}),(0,t.jsx)("option",{value:"terminal",children:"Terminal"}),(0,t.jsx)("option",{value:"admin",children:"Admin"})]})]}),(0,t.jsx)("button",{onClick:w,disabled:!h.trim()||a.isPending,className:"px-3 py-1.5 text-sm bg-indigo-600 text-white rounded-md hover:bg-indigo-500 disabled:opacity-50",children:"Create"}),(0,t.jsx)("button",{onClick:()=>{u(!1),m("")},className:"px-3 py-1.5 text-sm border border-zinc-200 dark:border-zinc-700 rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-800",children:"Cancel"})]}):(0,t.jsxs)("button",{onClick:()=>u(!0),className:"flex items-center gap-1.5 text-sm text-indigo-600 dark:text-indigo-400 hover:text-indigo-500",children:[(0,t.jsx)(c.Plus,{className:"w-3.5 h-3.5"}),"Create API Key"]})]})}function j(){let{data:e,isLoading:s}=(0,r.useConnectionRequests)(),a=(0,r.useRespondToRequest)(),c=e?.incoming||[],o=e?.outgoing||[];return s||0===c.length&&0===o.length?null:(0,t.jsxs)("div",{className:"space-y-4",children:[c.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-2",children:"Incoming Requests"}),(0,t.jsx)("div",{className:"space-y-2",children:c.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 bg-indigo-50 dark:bg-indigo-950/30 border border-indigo-200 dark:border-indigo-800 rounded-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(m,{className:"w-4 h-4 text-indigo-500 animate-pulse"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e.nodeName}),(0,t.jsxs)("div",{className:"text-xs text-zinc-500",children:[e.nodeUrl," · ",(0,x.formatRelativeTime)(e.created)]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsxs)("button",{onClick:()=>a.mutate({id:e.id,action:"accept"}),disabled:a.isPending,className:"flex items-center gap-1 px-3 py-1.5 text-xs bg-green-600 text-white rounded-md hover:bg-green-500 disabled:opacity-50",children:[a.isPending?(0,t.jsx)(n.Loader2,{className:"w-3 h-3 animate-spin"}):(0,t.jsx)(f.Check,{className:"w-3 h-3"}),"Accept"]}),(0,t.jsxs)("button",{onClick:()=>a.mutate({id:e.id,action:"deny"}),disabled:a.isPending,className:"flex items-center gap-1 px-3 py-1.5 text-xs border border-zinc-300 dark:border-zinc-600 rounded-md hover:bg-zinc-100 dark:hover:bg-zinc-800 disabled:opacity-50",children:[(0,t.jsx)(i.X,{className:"w-3 h-3"}),"Deny"]})]})]},e.id))})]}),o.length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-xs font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-2",children:"Pending Requests"}),(0,t.jsx)("div",{className:"space-y-2",children:o.map(e=>(0,t.jsxs)("div",{className:"flex items-center justify-between p-3 border border-zinc-200 dark:border-zinc-800 rounded-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)(n.Loader2,{className:"w-4 h-4 text-zinc-400 animate-spin"}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:e.nodeName}),(0,t.jsxs)("div",{className:"text-xs text-zinc-500",children:["Waiting for approval · ",(0,x.formatRelativeTime)(e.created)]})]})]}),(0,t.jsx)("span",{className:"text-xs text-zinc-400",children:"Expires in ~10 min"})]},e.id))})]})]})}var k=e.i(88699);function N(){let{data:e,isLoading:a}=(0,r.useNodeIdentity)(),c=(0,r.useUpdateNodeName)(),[o,l]=(0,s.useState)(!1),[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(!1),x=()=>{d.trim()&&c.mutate(d.trim()),l(!1)};return(0,t.jsxs)("div",{className:"p-6 max-w-4xl",children:[(0,t.jsxs)("div",{className:"mb-8",children:[(0,t.jsx)("h1",{className:"text-2xl font-bold",children:"Network"}),(0,t.jsx)("p",{className:"text-muted-foreground text-sm mt-1",children:"Connect to other Spaces instances and manage API keys"})]}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-3",children:"This Node"}),a?(0,t.jsxs)("div",{className:"flex items-center gap-2 py-4",children:[(0,t.jsx)(n.Loader2,{className:"w-4 h-4 animate-spin text-zinc-400"}),(0,t.jsx)("span",{className:"text-sm text-zinc-400",children:"Loading..."})]}):e?(0,t.jsxs)("div",{className:"border border-zinc-200 dark:border-zinc-800 rounded-lg p-4 space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-zinc-500 w-16",children:"Name"}),o?(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("input",{autoFocus:!0,value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&x(),"Escape"===e.key&&l(!1)},className:"px-2 py-0.5 text-sm bg-white dark:bg-zinc-950 border border-indigo-400 rounded focus:outline-none"}),(0,t.jsx)("button",{onClick:x,className:"text-green-500 hover:text-green-400 p-0.5",children:(0,t.jsx)(f.Check,{className:"w-3.5 h-3.5"})}),(0,t.jsx)("button",{onClick:()=>l(!1),className:"text-zinc-400 hover:text-zinc-300 p-0.5",children:(0,t.jsx)(i.X,{className:"w-3.5 h-3.5"})})]}):(0,t.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.nodeName}),(0,t.jsx)("button",{onClick:()=>{u(e.nodeName),l(!0)},className:"opacity-0 group-hover:opacity-100 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-200 p-0.5",children:(0,t.jsx)(k.Pencil,{className:"w-3 h-3"})})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-zinc-500 w-16",children:"Node ID"}),(0,t.jsx)("span",{className:"text-sm font-mono text-zinc-600 dark:text-zinc-400",children:e.nodeId}),(0,t.jsx)("button",{onClick:()=>{e?.nodeId&&(navigator.clipboard.writeText(e.nodeId),m(!0),setTimeout(()=>m(!1),2e3))},className:"text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-200 p-0.5",title:"Copy node ID",children:h?(0,t.jsx)(f.Check,{className:"w-3 h-3 text-green-500"}):(0,t.jsx)(b.Copy,{className:"w-3 h-3"})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-xs text-zinc-500 w-16",children:"Version"}),(0,t.jsx)("span",{className:"text-sm text-zinc-600 dark:text-zinc-400",children:e.version})]})]}):null]}),(0,t.jsx)("section",{className:"mb-8",children:(0,t.jsx)(j,{})}),(0,t.jsxs)("section",{className:"mb-8",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-3",children:"API Keys"}),(0,t.jsx)("p",{className:"text-xs text-zinc-400 mb-3",children:"Share an API key with other nodes so they can connect to this instance."}),(0,t.jsx)(v,{})]}),(0,t.jsxs)("section",{children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-zinc-500 dark:text-zinc-400 uppercase tracking-wider mb-3",children:"Nodes"}),(0,t.jsx)("p",{className:"text-xs text-zinc-400 mb-3",children:"Remote Spaces instances on your network. Connect with an API key to share sessions and terminals."}),(0,t.jsx)(y,{})]})]})}e.s(["default",()=>N],46020)}]);
|