@jlongo78/agent-spaces 0.7.6 → 0.8.0
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 +6 -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 +38 -0
- package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/cortex/page/react-loadable-manifest.json +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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page.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.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_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 +6 -7
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +6 -7
- package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.html +1 -1
- package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/analytics.html +1 -1
- package/.next/standalone/.next/server/app/analytics.rsc +3 -3
- 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 +1 -1
- package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +3 -3
- 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/benchmark/lobes/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +7 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/benchmark/lobes/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route.js +7 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/benchmark/run/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +7 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +7 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/benchmark/runs/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route.js +7 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/benchmark/status/route_client-reference-manifest.js +2 -0
- package/.next/standalone/.next/server/app/api/bulk/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.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
- 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.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
- 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/files/route.js +1 -1
- package/.next/standalone/.next/server/app/api/files/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.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/whisper/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/whisper/route/build-manifest.json +11 -0
- package/.next/standalone/.next/server/app/api/whisper/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/whisper/route.js +7 -0
- package/.next/standalone/.next/server/app/api/whisper/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/whisper/route_client-reference-manifest.js +2 -0
- 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 +3 -3
- 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 +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/projects.html +1 -1
- package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions/[id]/page.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_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/sessions.html +1 -1
- package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/m/settings.html +1 -1
- package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m/terminal/page.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 +3 -3
- package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
- 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 +1 -1
- package/.next/standalone/.next/server/app/m.html +1 -1
- package/.next/standalone/.next/server/app/m.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.html +1 -1
- package/.next/standalone/.next/server/app/network.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.html +1 -1
- package/.next/standalone/.next/server/app/projects.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.html +1 -1
- package/.next/standalone/.next/server/app/sessions.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.html +1 -1
- package/.next/standalone/.next/server/app/terminal.rsc +3 -3
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +3 -3
- package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/vr.html +1 -1
- package/.next/standalone/.next/server/app/vr.rsc +3 -3
- package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.html +1 -1
- package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app-paths-manifest.json +6 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a837dd9._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +3 -3
- 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 +2 -2
- 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 +3 -3
- 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]__33fec964._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7819e4cf._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e1f0137._.js +98 -0
- 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 +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0757773._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c24cfa91._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c7c47529._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__cba5f007._.js +1 -1
- 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 +2 -2
- 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 +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3ea8547._.js +98 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +1 -1
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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_benchmark_lobes_route_actions_ea7beadb.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_run_route_actions_9ed0ba41.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_[id]_route_actions_39f90307.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_route_actions_37cf958b.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_status_route_actions_009e2cba.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_whisper_route_actions_be9a633d.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_c1cfdd09._.js → [root-of-the-server]__16621ac5._.js} +2 -2
- 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]__9c81bd86._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e3bf6054._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/{_81abf587._.js → _31ada310._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_648a8a2d._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_999dae61._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_c48c91e5._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_f8959434._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_components_terminal_terminal-pane_tsx_803c5e2c._.js +9 -0
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__32a0045c._.js +1 -1
- 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/157826a3253f8ccf.js +7 -0
- package/.next/standalone/.next/static/chunks/{396eac60f496f178.js → 2f9f09924ff9d447.js} +1 -1
- package/.next/standalone/.next/static/chunks/{e23f20b51a75a5bb.js → 4ced66ef12d91b38.js} +35 -12
- package/.next/standalone/.next/static/chunks/57d04d161b8a01b3.js +7 -0
- package/.next/standalone/.next/static/chunks/709c4608e5b935e8.js +1 -0
- package/.next/standalone/.next/static/chunks/{7424664c6ffa94bd.js → 7b14d4e609b55b9b.js} +1 -1
- package/.next/standalone/.next/static/chunks/7be37f4a56b8f575.js +1 -0
- package/.next/standalone/.next/static/chunks/8021d5a2269ff113.js +1 -0
- package/.next/standalone/.next/static/chunks/a3fd93a9dde3cacc.js +1 -0
- package/.next/standalone/.next/static/chunks/{412140a02893327a.js → afee31c7399daf2a.js} +1 -1
- package/.next/standalone/.next/static/chunks/b92fdbf858aeb0b3.js +1 -0
- package/.next/standalone/.next/static/chunks/c17274c2f95d4ba2.js +5 -0
- package/.next/standalone/.next/static/chunks/e116953dc83d4eec.js +1 -0
- package/.next/standalone/.next/static/chunks/e82f4414650587cf.js +7 -0
- package/.next/standalone/.next/static/chunks/f6464729e7aa0da0.css +3 -0
- package/.next/standalone/LICENSE +661 -0
- package/.next/standalone/NOTICE +5 -0
- package/.next/standalone/README.md +131 -0
- package/.next/standalone/bin/cortex-hook.sh +62 -62
- package/.next/standalone/bin/cortex-mcp.js +60 -60
- package/.next/standalone/bin/fix-standalone-externals.js +79 -0
- package/.next/standalone/bin/lib/auto-setup.js +110 -0
- package/.next/standalone/bin/mdns-service.js +171 -0
- package/.next/standalone/bin/postinstall.js +35 -0
- package/.next/standalone/bin/setup-admin.js +195 -0
- package/.next/standalone/bin/spaces-dev.js +247 -0
- package/.next/standalone/bin/spaces-install.js +638 -0
- package/.next/standalone/bin/spaces-reset-totp.js +50 -0
- package/.next/standalone/bin/spaces-service.js +1020 -0
- package/.next/standalone/bin/spaces-setup.js +253 -0
- package/.next/standalone/bin/spaces.js +788 -0
- package/.next/standalone/bin/ssh-auth-keys.sh +68 -0
- package/.next/standalone/bin/terminal-server.js +1807 -0
- package/.next/standalone/docker-compose.yml +28 -0
- package/.next/standalone/docs/architecture.md +387 -0
- package/.next/standalone/docs/cortex.md +293 -0
- package/.next/standalone/docs/getting-started.md +96 -0
- package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +133 -0
- package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +959 -0
- package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +146 -0
- package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +254 -0
- package/.next/standalone/docs/server-install.md +564 -0
- package/.next/standalone/docs/social-card.html +150 -0
- package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +5270 -0
- 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 -1846
- package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +1639 -0
- package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +320 -0
- package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +720 -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-16-pane-ux-design.md +77 -0
- package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -341
- package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +288 -0
- package/.next/standalone/docs/tiers.md +104 -0
- package/.next/standalone/eslint.config.mjs +18 -0
- package/.next/standalone/next.config.ts +20 -0
- package/.next/standalone/nginx.conf +53 -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-lock.json +14154 -0
- package/.next/standalone/package.json +104 -103
- package/.next/standalone/postcss.config.mjs +7 -0
- package/.next/standalone/scripts/rebuild.cmd +65 -0
- package/.next/standalone/scripts/rebuild.sh +59 -0
- package/.next/standalone/server.js +1 -1
- package/.next/standalone/src/app/(desktop)/admin/analytics/page.tsx +266 -0
- package/.next/standalone/src/app/(desktop)/admin/users/page.tsx +399 -0
- package/.next/standalone/src/app/(desktop)/analytics/page.tsx +166 -0
- package/.next/standalone/src/app/(desktop)/cortex/page.tsx +81 -78
- package/.next/standalone/src/app/(desktop)/dashboard-client.tsx +56 -0
- package/.next/standalone/src/app/(desktop)/layout.tsx +18 -0
- package/.next/standalone/src/app/(desktop)/network/page.tsx +137 -0
- package/.next/standalone/src/app/(desktop)/page.tsx +17 -0
- package/.next/standalone/src/app/(desktop)/projects/page.tsx +68 -0
- package/.next/standalone/src/app/(desktop)/sessions/[id]/page.tsx +519 -0
- package/.next/standalone/src/app/(desktop)/sessions/page.tsx +145 -0
- package/.next/standalone/src/app/(desktop)/settings/page.tsx +446 -0
- package/.next/standalone/src/app/(desktop)/terminal/layout.tsx +7 -0
- package/.next/standalone/src/app/(desktop)/terminal/page.tsx +1151 -0
- package/.next/standalone/src/app/(desktop)/terminal/pane/[id]/page.tsx +211 -0
- package/.next/standalone/src/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.tsx +192 -0
- package/.next/standalone/src/app/(desktop)/workspaces/page.tsx +12 -0
- package/.next/standalone/src/app/api/admin/analytics/route.ts +10 -0
- package/.next/standalone/src/app/api/admin/users/[id]/route.ts +20 -0
- package/.next/standalone/src/app/api/admin/users/route.ts +15 -0
- package/.next/standalone/src/app/api/analytics/overview/route.ts +80 -0
- package/.next/standalone/src/app/api/auth/login/route.ts +10 -0
- package/.next/standalone/src/app/api/auth/logout/route.ts +9 -0
- package/.next/standalone/src/app/api/auth/me/route.ts +22 -0
- package/.next/standalone/src/app/api/auth/totp/setup/route.ts +10 -0
- package/.next/standalone/src/app/api/auth/totp/status/route.ts +10 -0
- package/.next/standalone/src/app/api/auth/totp/verify/route.ts +10 -0
- package/.next/standalone/src/app/api/benchmark/lobes/route.ts +16 -0
- package/.next/standalone/src/app/api/benchmark/run/route.ts +92 -0
- package/.next/standalone/src/app/api/benchmark/runs/[id]/route.ts +26 -0
- package/.next/standalone/src/app/api/benchmark/runs/route.ts +16 -0
- package/.next/standalone/src/app/api/benchmark/status/route.ts +35 -0
- package/.next/standalone/src/app/api/bulk/route.ts +34 -0
- package/.next/standalone/src/app/api/chat/route.ts +85 -0
- package/.next/standalone/src/app/api/config/route.ts +30 -0
- package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
- package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -27
- package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -23
- package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -23
- package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -29
- package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -23
- 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 -75
- 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 -43
- package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -46
- 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 -169
- 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/app/api/events/route.ts +40 -0
- package/.next/standalone/src/app/api/files/route.ts +187 -0
- package/.next/standalone/src/app/api/folders/route.ts +97 -0
- package/.next/standalone/src/app/api/network/connect-callback/route.ts +11 -0
- package/.next/standalone/src/app/api/network/connect-request/[id]/route.ts +11 -0
- package/.next/standalone/src/app/api/network/connect-request/route.ts +17 -0
- package/.next/standalone/src/app/api/network/discovered/route.ts +9 -0
- package/.next/standalone/src/app/api/network/handshake/route.ts +25 -0
- package/.next/standalone/src/app/api/network/health/route.ts +10 -0
- package/.next/standalone/src/app/api/network/identity/route.ts +15 -0
- package/.next/standalone/src/app/api/network/keys/[id]/route.ts +10 -0
- package/.next/standalone/src/app/api/network/keys/route.ts +15 -0
- package/.next/standalone/src/app/api/network/nodes/[id]/route.ts +15 -0
- package/.next/standalone/src/app/api/network/nodes/check/route.ts +9 -0
- package/.next/standalone/src/app/api/network/nodes/route.ts +15 -0
- package/.next/standalone/src/app/api/network/projects/route.ts +25 -0
- package/.next/standalone/src/app/api/network/proxy/[nodeId]/[...path]/route.ts +15 -0
- package/.next/standalone/src/app/api/network/search/route.ts +38 -0
- package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +36 -0
- package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +34 -0
- package/.next/standalone/src/app/api/network/sessions/route.ts +43 -0
- package/.next/standalone/src/app/api/network/terminal/token/route.ts +10 -0
- package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +34 -0
- package/.next/standalone/src/app/api/network/workspaces/route.ts +61 -0
- package/.next/standalone/src/app/api/panes/[id]/route.ts +60 -0
- package/.next/standalone/src/app/api/panes/route.ts +39 -0
- package/.next/standalone/src/app/api/projects/route.ts +13 -0
- package/.next/standalone/src/app/api/search/route.ts +47 -0
- package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +120 -0
- package/.next/standalone/src/app/api/sessions/[id]/messages/route.ts +28 -0
- package/.next/standalone/src/app/api/sessions/[id]/route.ts +73 -0
- package/.next/standalone/src/app/api/sessions/route.ts +64 -0
- package/.next/standalone/src/app/api/sync/route.ts +24 -0
- package/.next/standalone/src/app/api/tags/route.ts +35 -0
- package/.next/standalone/src/app/api/tier/route.ts +16 -0
- package/.next/standalone/src/app/api/updates/route.ts +53 -0
- package/.next/standalone/src/app/api/whisper/route.ts +90 -0
- package/.next/standalone/src/app/api/workspaces/[id]/context/[key]/route.ts +39 -0
- package/.next/standalone/src/app/api/workspaces/[id]/context/route.ts +28 -0
- package/.next/standalone/src/app/api/workspaces/[id]/messages/[msgId]/route.ts +17 -0
- package/.next/standalone/src/app/api/workspaces/[id]/messages/route.ts +39 -0
- package/.next/standalone/src/app/api/workspaces/[id]/route.ts +47 -0
- package/.next/standalone/src/app/api/workspaces/[id]/sessions/route.ts +62 -0
- package/.next/standalone/src/app/api/workspaces/route.ts +79 -0
- package/.next/standalone/src/app/globals.css +85 -0
- package/.next/standalone/src/app/icon.png +0 -0
- package/.next/standalone/src/app/layout.tsx +33 -0
- package/.next/standalone/src/app/login/layout.tsx +7 -0
- package/.next/standalone/src/app/login/page.tsx +315 -0
- package/.next/standalone/src/app/m/layout.tsx +16 -0
- package/.next/standalone/src/app/m/page.tsx +118 -0
- package/.next/standalone/src/app/m/projects/page.tsx +64 -0
- package/.next/standalone/src/app/m/sessions/[id]/page.tsx +168 -0
- package/.next/standalone/src/app/m/sessions/page.tsx +177 -0
- package/.next/standalone/src/app/m/settings/page.tsx +230 -0
- package/.next/standalone/src/app/m/terminal/page.tsx +413 -0
- package/.next/standalone/src/app/vr/page.tsx +21 -0
- package/.next/standalone/src/app/vr/vr-app.tsx +163 -0
- package/.next/standalone/src/app/vr/vr-controls.tsx +139 -0
- package/.next/standalone/src/app/vr/vr-door.tsx +82 -0
- package/.next/standalone/src/app/vr/vr-environment.tsx +71 -0
- package/.next/standalone/src/app/vr/vr-gaze.tsx +89 -0
- package/.next/standalone/src/app/vr/vr-layout.ts +49 -0
- package/.next/standalone/src/app/vr/vr-lobby.tsx +97 -0
- package/.next/standalone/src/app/vr/vr-pane.tsx +195 -0
- package/.next/standalone/src/app/vr/vr-room.tsx +79 -0
- package/.next/standalone/src/app/vr/vr-terminal.tsx +303 -0
- package/.next/standalone/src/components/auth/totp-gate.tsx +183 -0
- package/.next/standalone/src/components/bus/activity-panel.tsx +261 -0
- package/.next/standalone/src/components/common/color-picker.tsx +35 -0
- package/.next/standalone/src/components/common/dev-directory-picker.tsx +339 -0
- package/.next/standalone/src/components/common/folder-picker.tsx +200 -0
- package/.next/standalone/src/components/common/tag-picker.tsx +190 -0
- package/.next/standalone/src/components/common/workspace-picker.tsx +113 -0
- package/.next/standalone/src/components/cortex/benchmark-tab.tsx +880 -0
- package/.next/standalone/src/components/cortex/constants.ts +29 -29
- package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -304
- 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 -810
- 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 -212
- package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
- package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -109
- package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -158
- package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -215
- package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -126
- package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -113
- package/.next/standalone/src/components/dashboard/activity-chart.tsx +41 -0
- package/.next/standalone/src/components/dashboard/model-usage-chart.tsx +61 -0
- package/.next/standalone/src/components/dashboard/recent-sessions.tsx +68 -0
- package/.next/standalone/src/components/dashboard/stats-cards.tsx +36 -0
- package/.next/standalone/src/components/files/file-explorer.tsx +703 -0
- package/.next/standalone/src/components/layout/providers.tsx +38 -0
- package/.next/standalone/src/components/layout/sidebar.tsx +170 -0
- package/.next/standalone/src/components/layout/tier-provider.tsx +53 -0
- package/.next/standalone/src/components/layout/update-banner.tsx +92 -0
- package/.next/standalone/src/components/mobile/bottom-nav.tsx +46 -0
- package/.next/standalone/src/components/mobile/mobile-chat-input.tsx +244 -0
- package/.next/standalone/src/components/mobile/mobile-header.tsx +44 -0
- package/.next/standalone/src/components/mobile/mobile-session-card.tsx +56 -0
- package/.next/standalone/src/components/mobile/mobile-terminal-input.tsx +71 -0
- package/.next/standalone/src/components/mobile/mobile-terminal-pane.tsx +300 -0
- package/.next/standalone/src/components/mobile/mobile-terminal-toolbar.tsx +53 -0
- package/.next/standalone/src/components/mobile/pull-to-refresh.tsx +82 -0
- package/.next/standalone/src/components/mobile/voice-input.tsx +53 -0
- package/.next/standalone/src/components/network/api-key-list.tsx +190 -0
- package/.next/standalone/src/components/network/connection-requests.tsx +94 -0
- package/.next/standalone/src/components/network/node-add-dialog.tsx +131 -0
- package/.next/standalone/src/components/network/node-badge.tsx +26 -0
- package/.next/standalone/src/components/network/node-list.tsx +207 -0
- package/.next/standalone/src/components/network/node-selector.tsx +49 -0
- package/.next/standalone/src/components/sessions/session-filters.tsx +116 -0
- package/.next/standalone/src/components/sessions/session-list.tsx +485 -0
- package/.next/standalone/src/components/terminal/terminal-pane.tsx +874 -0
- package/.next/standalone/src/components/viewer/chat-input.tsx +275 -0
- package/.next/standalone/src/components/viewer/message-renderer.tsx +551 -0
- package/.next/standalone/src/components/workspace/universe-cluster.tsx +131 -0
- package/.next/standalone/src/components/workspace/universe-orb.tsx +128 -0
- package/.next/standalone/src/components/workspace/universe-types.ts +22 -0
- package/.next/standalone/src/components/workspace/universe-utils.ts +11 -0
- package/.next/standalone/src/components/workspace/universe-view.tsx +397 -0
- package/.next/standalone/src/components/workspace/workspace-chooser.tsx +616 -0
- package/.next/standalone/src/hooks/use-benchmark.ts +71 -0
- package/.next/standalone/src/hooks/use-bus.ts +147 -0
- package/.next/standalone/src/hooks/use-idle-detection.ts +79 -0
- package/.next/standalone/src/hooks/use-network.ts +229 -0
- package/.next/standalone/src/hooks/use-sessions.ts +437 -0
- package/.next/standalone/src/hooks/use-speech-recognition.ts +113 -0
- package/.next/standalone/src/hooks/use-sse.ts +35 -0
- package/.next/standalone/src/hooks/use-tier.ts +39 -0
- package/.next/standalone/src/lib/agents.ts +70 -0
- package/.next/standalone/src/lib/aider/parser.ts +111 -0
- package/.next/standalone/src/lib/api.ts +19 -0
- package/.next/standalone/src/lib/auth.ts +47 -0
- package/.next/standalone/src/lib/claude/parser.ts +212 -0
- package/.next/standalone/src/lib/claude/stats.ts +204 -0
- package/.next/standalone/src/lib/codex/parser.ts +265 -0
- package/.next/standalone/src/lib/config.ts +115 -0
- package/.next/standalone/src/lib/cortex/benchmark.ts +67 -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 -39
- package/.next/standalone/src/lib/cost-calculator.ts +48 -0
- package/.next/standalone/src/lib/db/init.ts +71 -0
- package/.next/standalone/src/lib/db/queries.ts +718 -0
- package/.next/standalone/src/lib/db/schema.ts +202 -0
- package/.next/standalone/src/lib/events/sse.ts +36 -0
- package/.next/standalone/src/lib/gemini/parser.ts +216 -0
- package/.next/standalone/src/lib/license.ts +56 -0
- package/.next/standalone/src/lib/pro.ts +31 -0
- package/.next/standalone/src/lib/sync/indexer.ts +429 -0
- package/.next/standalone/src/lib/sync/watcher.ts +64 -0
- package/.next/standalone/src/lib/teams.ts +31 -0
- package/.next/standalone/src/lib/telemetry.ts +75 -0
- package/.next/standalone/src/lib/terminal/server.ts +128 -0
- package/.next/standalone/src/lib/tier.ts +38 -0
- package/.next/standalone/src/lib/utils.ts +72 -0
- package/.next/standalone/src/middleware.ts +133 -0
- package/.next/standalone/src/types/claude.ts +208 -0
- package/.next/standalone/src/types/network.ts +61 -0
- package/.next/standalone/tests/setup.ts +8 -0
- package/.next/standalone/tsconfig.json +34 -34
- package/.next/standalone/vitest.config.ts +24 -0
- 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 +247 -208
- package/bin/spaces-install.js +638 -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 +788 -776
- package/bin/ssh-auth-keys.sh +68 -68
- package/bin/terminal-server.js +1807 -1683
- package/package.json +104 -103
- package/.next/standalone/.claude/settings.local.json +0 -55
- package/.next/standalone/.claude/spaces-env.json +0 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e921fdfc._.js +0 -5
- package/.next/standalone/.next/server/chunks/ssr/_2230ad2d._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_5cf334fd._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_db0abd0a._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_db2fec84._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_f4e57187._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/src_40fa36ce._.js +0 -7
- package/.next/standalone/.next/static/chunks/003e7aa1adfe577d.js +0 -1
- package/.next/standalone/.next/static/chunks/232d8aae4fefab70.js +0 -1
- package/.next/standalone/.next/static/chunks/5325351ef49cb65f.js +0 -1
- package/.next/standalone/.next/static/chunks/559735e598ca3cbb.js +0 -1
- package/.next/standalone/.next/static/chunks/5d5d7b0095dd52ae.js +0 -1
- package/.next/standalone/.next/static/chunks/7a7c0d9d875332a3.js +0 -1
- package/.next/standalone/.next/static/chunks/898f380eba90427a.js +0 -1
- package/.next/standalone/.next/static/chunks/95339e55722bb4ca.js +0 -5
- package/.next/standalone/.next/static/chunks/9cd594813c539df9.js +0 -1
- package/.next/standalone/.next/static/chunks/aae9e0fa485bd835.js +0 -5
- package/.next/standalone/.next/static/chunks/c1a95aebf6725f64.css +0 -3
- package/.next/standalone/.next/static/chunks/c515eb77d9410aa0.js +0 -5
- package/.next/standalone/.next/static/chunks/d9ae203a7f123546.js +0 -5
- package/.next/standalone/.next/static/chunks/f9f2628207848ac2.js +0 -1
- 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/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_clientMiddlewareManifest.json +0 -0
- /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_ssgManifest.js +0 -0
- /package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-libvips-linux-x64}/versions.json +0 -0
|
@@ -0,0 +1,288 @@
|
|
|
1
|
+
# Spaces VR — Phase 1: VR Shell + Static Rooms
|
|
2
|
+
|
|
3
|
+
> Phase 1 of 5. Builds the spatial environment on Quest 3 using Unity + Meta XR SDK. Fetches workspace data from the Spaces server to populate the lobby. No live terminal data yet — that's Phase 2+3.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Decisions
|
|
8
|
+
|
|
9
|
+
- **Platform**: Meta Quest 3, native Unity app (not WebXR)
|
|
10
|
+
- **Engine**: Unity 2022 LTS + Meta XR SDK (v68+) + Meta Interaction SDK
|
|
11
|
+
- **Interaction**: Eye tracking (gaze focus) + hand tracking (grab/move/resize). No controllers.
|
|
12
|
+
- **Server communication**: HTTP REST calls to existing Spaces API (WebSocket comes in Phase 2)
|
|
13
|
+
- **Scope**: Lobby + workspace rooms + pane placeholders. No live data, no voice.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. Unity Project Structure
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
spaces-vr/
|
|
21
|
+
├── Assets/
|
|
22
|
+
│ ├── Scenes/
|
|
23
|
+
│ │ ├── Lobby.unity # Central hub with workspace doors
|
|
24
|
+
│ │ └── WorkspaceRoom.unity # Template room, instantiated per workspace
|
|
25
|
+
│ ├── Scripts/
|
|
26
|
+
│ │ ├── Core/
|
|
27
|
+
│ │ │ ├── SpacesConnection.cs # HTTP client to Spaces API
|
|
28
|
+
│ │ │ ├── SessionManager.cs # Auth token management
|
|
29
|
+
│ │ │ └── WorkspaceData.cs # Data models (workspace, pane metadata)
|
|
30
|
+
│ │ ├── Lobby/
|
|
31
|
+
│ │ │ ├── LobbyManager.cs # Spawn doors from workspace list
|
|
32
|
+
│ │ │ ├── WorkspaceDoor.cs # Individual door behavior + preview
|
|
33
|
+
│ │ │ └── DoorInteraction.cs # Gaze-select + confirm to enter
|
|
34
|
+
│ │ ├── Room/
|
|
35
|
+
│ │ │ ├── RoomManager.cs # Arrange panes in semicircle, scale room
|
|
36
|
+
│ │ │ ├── PaneSurface.cs # Pane placeholder (floating surface)
|
|
37
|
+
│ │ │ ├── PaneLayout.cs # Semicircle positioning math
|
|
38
|
+
│ │ │ └── PaneInteraction.cs # Grab, move, resize via hand tracking
|
|
39
|
+
│ │ ├── Interaction/
|
|
40
|
+
│ │ │ ├── GazeManager.cs # Eye tracking → focused object
|
|
41
|
+
│ │ │ ├── GazeFocusHighlight.cs # Visual feedback on gazed pane
|
|
42
|
+
│ │ │ ├── HandGrabHandler.cs # Pinch-grab for pane manipulation
|
|
43
|
+
│ │ │ └── PalmMenu.cs # Look-at-palm → home button
|
|
44
|
+
│ │ └── UI/
|
|
45
|
+
│ │ ├── PaneHeader.cs # Agent name/type label on pane
|
|
46
|
+
│ │ └── StatusIndicator.cs # Glow/color for pane state
|
|
47
|
+
│ ├── Prefabs/
|
|
48
|
+
│ │ ├── WorkspaceDoor.prefab
|
|
49
|
+
│ │ ├── PaneSurface.prefab
|
|
50
|
+
│ │ └── PalmMenu.prefab
|
|
51
|
+
│ ├── Materials/
|
|
52
|
+
│ │ ├── PaneSurface.mat # Dark terminal-style surface
|
|
53
|
+
│ │ ├── PaneHighlight.mat # Gaze-focus highlight shader
|
|
54
|
+
│ │ └── DoorFrame.mat # Workspace door styling
|
|
55
|
+
│ └── Shaders/
|
|
56
|
+
│ └── TerminalSurface.shader # SDF text rendering on pane surfaces
|
|
57
|
+
├── Packages/
|
|
58
|
+
│ └── manifest.json # Meta XR SDK, Interaction SDK, TextMeshPro
|
|
59
|
+
├── ProjectSettings/
|
|
60
|
+
│ └── ... # Quest 3 build settings, eye/hand tracking permissions
|
|
61
|
+
└── README.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## 2. Lobby
|
|
67
|
+
|
|
68
|
+
### Layout
|
|
69
|
+
A central circular or octagonal room. The user spawns at the center. Workspace doors are arranged around the perimeter, evenly spaced.
|
|
70
|
+
|
|
71
|
+
### Door Rendering
|
|
72
|
+
Each door is a prefab containing:
|
|
73
|
+
- **Frame** — archway or panel frame, tinted with the workspace's color (from Spaces API)
|
|
74
|
+
- **Label** — workspace name as TextMeshPro above the door
|
|
75
|
+
- **Preview panel** — small info card showing: pane count, active agent count, status color (green/amber/red)
|
|
76
|
+
- **Glow** — subtle ambient glow in the workspace color
|
|
77
|
+
|
|
78
|
+
### Data Fetching
|
|
79
|
+
On lobby load:
|
|
80
|
+
```
|
|
81
|
+
GET /api/workspaces → [{ id, name, color, paneCount, ... }]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
`paneCount` is already returned by the workspaces endpoint (computed via JOIN). No need for a separate pane list call for lobby previews.
|
|
85
|
+
|
|
86
|
+
When entering a room:
|
|
87
|
+
```
|
|
88
|
+
GET /api/panes?workspace_id=N → [{ id, agent_type, title, ... }]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Note:** The `GET /api/panes` route currently ignores query params and returns all active panes. Phase 1 requires adding `workspace_id` filter support to this route (small server-side change).
|
|
92
|
+
|
|
93
|
+
### Auth
|
|
94
|
+
Session cookie from `POST /api/auth/login` (when `@spaces/teams` is installed). Unity's `UnityWebRequest` supports cookies. If auth is not configured (Community tier, no login), the API is unauthenticated — `SpacesConnection.cs` should detect this and skip login.
|
|
95
|
+
|
|
96
|
+
### Server Unreachable State
|
|
97
|
+
If the server is unreachable on launch or during polling, the lobby shows a single "Offline" panel at center with the server URL and a "Retry" gaze-button. No doors rendered until connection succeeds.
|
|
98
|
+
|
|
99
|
+
### Entering a Room
|
|
100
|
+
- Gaze at a door for 1.5 seconds → confirmation ring fills around crosshair
|
|
101
|
+
- On confirm → fade to black (0.5s) → load workspace room → fade in (0.5s)
|
|
102
|
+
- Alternative: walk physically toward the door (proximity trigger at 1m)
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 3. Workspace Room
|
|
107
|
+
|
|
108
|
+
### Pane Arrangement
|
|
109
|
+
Panes are arranged in a semicircle at 2m radius from room center, at standing eye height (~1.6m). Arrangement adapts to pane count:
|
|
110
|
+
|
|
111
|
+
| Panes | Arc | Spacing |
|
|
112
|
+
|-------|-----|---------|
|
|
113
|
+
| 1 | Directly ahead | — |
|
|
114
|
+
| 2 | ±20° from center | 40° apart |
|
|
115
|
+
| 3-4 | ±40° arc | Even spacing |
|
|
116
|
+
| 5-6 | ±60° arc | Even spacing |
|
|
117
|
+
| 7-8 | ±80° arc | Even spacing |
|
|
118
|
+
|
|
119
|
+
Panes angle inward to face the user (billboarded on the Y axis only — they tilt toward center, not toward the user's head).
|
|
120
|
+
|
|
121
|
+
### Room Scaling
|
|
122
|
+
The room environment subtly scales with pane count:
|
|
123
|
+
- 1-2 panes: small office feel, warm lighting
|
|
124
|
+
- 3-5 panes: standard room
|
|
125
|
+
- 6-8 panes: larger space, cooler lighting, slight command-center vibe
|
|
126
|
+
|
|
127
|
+
### Pane Placeholder Surface
|
|
128
|
+
Each pane is a floating quad (default 1.2m wide × 0.8m tall, ~16:10 ratio). In Phase 1, it shows:
|
|
129
|
+
- Dark background (matching Spaces terminal theme: `#0a0a0f`)
|
|
130
|
+
- Pane header bar: agent name, agent type icon, workspace color accent
|
|
131
|
+
- Placeholder text: "Connecting..." or agent type name
|
|
132
|
+
- Status indicator: colored dot (green=active, gray=idle, amber=waiting, red=error)
|
|
133
|
+
|
|
134
|
+
### Returning to Lobby
|
|
135
|
+
- Look at open palm → palm menu appears (small floating UI near hand)
|
|
136
|
+
- Gaze at "Home" icon for 1s → fade transition back to lobby
|
|
137
|
+
- Voice shortcut: say "go home" (Phase 4 — do not wire in Phase 1)
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 4. Eye Tracking (Gaze)
|
|
142
|
+
|
|
143
|
+
### Setup
|
|
144
|
+
- Enable `Eye Tracking` in OVRManager
|
|
145
|
+
- Request runtime eye tracking permission (Quest 3 requires user consent)
|
|
146
|
+
- Use `OVREyeGaze` component to get gaze ray
|
|
147
|
+
- Raycast from gaze origin in gaze direction each frame
|
|
148
|
+
- **Fallback**: if user denies eye tracking permission, fall back to head-gaze (raycast from `OVRCameraRig.centerEyeAnchor.forward`). All interaction works the same, just less precise.
|
|
149
|
+
|
|
150
|
+
### Focus System
|
|
151
|
+
- When gaze ray hits a `PaneSurface` collider, that pane becomes "focused"
|
|
152
|
+
- Focus requires 300ms of sustained gaze (prevents flicker from glancing)
|
|
153
|
+
- On focus: pane border brightens, slight scale-up (1.02x), subtle audio tick
|
|
154
|
+
- On unfocus: reverse the highlight over 200ms
|
|
155
|
+
- Only one pane can be focused at a time
|
|
156
|
+
- When no pane is focused after 2s, a subtle "resting" state — all panes equally dim
|
|
157
|
+
|
|
158
|
+
### Gaze Cursor
|
|
159
|
+
- No visible crosshair/reticle in normal use (breaks immersion)
|
|
160
|
+
- During door selection or palm menu: a thin ring appears as the confirmation timer
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 5. Hand Tracking
|
|
165
|
+
|
|
166
|
+
### Grab to Move
|
|
167
|
+
- Pinch (thumb + index) while hand overlaps pane collider → grab
|
|
168
|
+
- While grabbed: pane follows hand position (with smoothing, 10ms lerp)
|
|
169
|
+
- Release pinch → pane stays at new position
|
|
170
|
+
- Constraint: panes stay between 1m and 4m from room center, and between 0.5m and 3m height
|
|
171
|
+
|
|
172
|
+
### Pinch to Resize
|
|
173
|
+
- Two-hand pinch: grab corners/edges with both hands
|
|
174
|
+
- Pull apart → scale up, push together → scale down
|
|
175
|
+
- Minimum size: 0.6m × 0.4m, Maximum: 2.4m × 1.6m
|
|
176
|
+
- Aspect ratio preserved during resize
|
|
177
|
+
|
|
178
|
+
### Scroll (Optional stretch — needed in Phase 3)
|
|
179
|
+
- Pinch and drag vertically near a pane surface (not grabbing the pane itself) → scroll
|
|
180
|
+
- If time permits, wire the gesture handler with a no-op callback. Otherwise defer entirely.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 6. Server Communication (Phase 1 Scope)
|
|
185
|
+
|
|
186
|
+
Phase 1 uses **HTTP only** — just enough to populate the lobby and rooms.
|
|
187
|
+
|
|
188
|
+
### SpacesConnection.cs
|
|
189
|
+
```csharp
|
|
190
|
+
// Configurable server URL (default: http://localhost:3457)
|
|
191
|
+
// Auth: POST /api/auth/login → session token stored in SessionManager
|
|
192
|
+
// Workspace list: GET /api/workspaces → WorkspaceData[]
|
|
193
|
+
// Pane list: GET /api/panes?workspace_id=N → PaneData[]
|
|
194
|
+
// Polling: refresh workspace list every 30s while in lobby
|
|
195
|
+
// refresh pane list every 10s while in a room
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Data Models
|
|
199
|
+
```csharp
|
|
200
|
+
[Serializable]
|
|
201
|
+
public class WorkspaceData {
|
|
202
|
+
public int id;
|
|
203
|
+
public string name;
|
|
204
|
+
public string color;
|
|
205
|
+
public int paneCount; // from GET /api/workspaces (already computed server-side)
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
[Serializable]
|
|
209
|
+
public class PaneData {
|
|
210
|
+
public string id;
|
|
211
|
+
public string agentType; // "claude", "codex", "shell", etc.
|
|
212
|
+
public string title;
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
**Note on pane status:** The DB has no `status` column. For Phase 1, all pane placeholders show as "idle" (gray dot). Phase 2's WebSocket connection will provide real-time status updates. The `StatusIndicator` component should accept a status enum but default to idle for now.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## 7. Performance Budget
|
|
221
|
+
|
|
222
|
+
Target: 90fps (11.1ms frame time), 5ms GPU budget on Quest 3 (Adreno 740).
|
|
223
|
+
|
|
224
|
+
| Scene | Triangle Budget | Draw Calls | Texture Memory |
|
|
225
|
+
|-------|----------------|------------|----------------|
|
|
226
|
+
| Lobby (8 doors) | 50K | 20 | 64MB |
|
|
227
|
+
| Room (8 panes) | 100K | 30 | 128MB |
|
|
228
|
+
|
|
229
|
+
- Pane surfaces: simple quads with SDF text shader. No post-processing.
|
|
230
|
+
- Fixed foveated rendering: High (reduces peripheral pixel count by ~50%)
|
|
231
|
+
- Room geometry: low-poly, baked lighting, no real-time shadows
|
|
232
|
+
- TextMeshPro: SDF font atlas, single material per font size
|
|
233
|
+
|
|
234
|
+
### HTTP Polling & Error Handling
|
|
235
|
+
- Lobby polls workspace list every 30s. Room polls pane list every 10s.
|
|
236
|
+
- Timeout: 5s per request. On timeout: skip this poll cycle, retry next interval.
|
|
237
|
+
- 3 consecutive failures: show "Connection Lost" overlay, switch to 60s retry interval.
|
|
238
|
+
- On reconnect: refresh all data immediately, resume normal polling.
|
|
239
|
+
- Auth token expiry: re-attempt login once, show "Session Expired" if login fails.
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## 8. Build & Test
|
|
244
|
+
|
|
245
|
+
### Development Without Headset
|
|
246
|
+
- **Meta XR Simulator** in Unity Editor: simulates eye tracking, hand tracking, room-scale movement
|
|
247
|
+
- Keyboard shortcuts: WASD move, mouse look, click to simulate gaze confirm
|
|
248
|
+
- All pane interaction testable in editor play mode
|
|
249
|
+
|
|
250
|
+
### Quest 3 Build Settings
|
|
251
|
+
- Target: Android (ARM64)
|
|
252
|
+
- Graphics API: Vulkan
|
|
253
|
+
- Min SDK: Android 12 (API 32)
|
|
254
|
+
- Enable: Eye Tracking, Hand Tracking, Passthrough (for Phase 5)
|
|
255
|
+
- Refresh rate: 90Hz target, 72Hz fallback
|
|
256
|
+
- Fixed foveated rendering: High (performance optimization)
|
|
257
|
+
|
|
258
|
+
### Testing with Headset
|
|
259
|
+
- Quest Link for live iteration (USB-C or Air Link over WiFi)
|
|
260
|
+
- SideQuest for standalone APK deployment
|
|
261
|
+
- Server must be reachable from Quest (same network, or port forwarded)
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## 9. Out of Scope (Later Phases)
|
|
266
|
+
|
|
267
|
+
- Live terminal output rendering (Phase 3)
|
|
268
|
+
- WebSocket streaming (Phase 2)
|
|
269
|
+
- Voice input/output (Phase 4)
|
|
270
|
+
- Spatial audio (Phase 4)
|
|
271
|
+
- Pane position persistence (Phase 5)
|
|
272
|
+
- Passthrough/MR mode (Phase 5)
|
|
273
|
+
- Attention signals (chime/glow) for panes needing input (Phase 4)
|
|
274
|
+
- Room ambiance, lighting, polish (Phase 5)
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 10. Success Criteria
|
|
279
|
+
|
|
280
|
+
Phase 1 is done when:
|
|
281
|
+
1. You put on the Quest 3 (or run in Meta XR Simulator) and see a lobby with doors for your actual workspaces
|
|
282
|
+
2. You look at a door and the confirmation ring fills — you enter the room
|
|
283
|
+
3. Inside, pane placeholders are arranged in a semicircle with correct agent names/types
|
|
284
|
+
4. You can grab a pane with your hand and move it to a new position
|
|
285
|
+
5. You can resize a pane with two-hand pinch
|
|
286
|
+
6. Looking at a pane highlights it (eye tracking focus)
|
|
287
|
+
7. Palm menu returns you to the lobby
|
|
288
|
+
8. It runs at 90fps on Quest 3
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Spaces Product Tiers
|
|
2
|
+
|
|
3
|
+
Spaces follows an **open-core** model:
|
|
4
|
+
|
|
5
|
+
- **Community** is fully open source (MIT) and free.
|
|
6
|
+
- **Server**, **Team**, and **Federation** require the private `@spaces/pro` package.
|
|
7
|
+
|
|
8
|
+
The tier is controlled by the `NEXT_PUBLIC_TIER` environment variable, but paid tiers are gated on `@spaces/pro` being installed. If the env var is set to a paid tier but `@spaces/pro` is missing, Spaces falls back to Community with a console warning.
|
|
9
|
+
|
|
10
|
+
## Tier Comparison
|
|
11
|
+
|
|
12
|
+
| Feature | Community | Server | Team | Federation |
|
|
13
|
+
|---------|-----------|--------|------|------------|
|
|
14
|
+
| Multi-pane terminals | Yes | Yes | Yes | Yes |
|
|
15
|
+
| Session browser & search | Yes | Yes | Yes | Yes |
|
|
16
|
+
| Dashboard & analytics | Yes | Yes | Yes | Yes |
|
|
17
|
+
| All agent types | Yes | Yes | Yes | Yes |
|
|
18
|
+
| Browser access | Yes | Yes | Yes | Yes |
|
|
19
|
+
| Login & TOTP auth | - | Yes | Yes | Yes |
|
|
20
|
+
| Multi-user accounts | - | - | Yes | Yes |
|
|
21
|
+
| Admin panel (Users) | - | - | Yes | Yes |
|
|
22
|
+
| Usage analytics (admin) | - | - | Yes | Yes |
|
|
23
|
+
| Network / Nodes | - | - | - | Yes |
|
|
24
|
+
| Remote workspaces | - | - | - | Yes |
|
|
25
|
+
| mDNS discovery | - | - | - | Yes |
|
|
26
|
+
|
|
27
|
+
## Choosing a Tier
|
|
28
|
+
|
|
29
|
+
### Community
|
|
30
|
+
**Target:** Solo developer, local machine.
|
|
31
|
+
**Tagline:** *AI agent workspaces on your machine. Open source, forever free.*
|
|
32
|
+
|
|
33
|
+
Use Community when you want a local workspace in a browser. Everything runs locally, no login required. No `@spaces/pro` dependency.
|
|
34
|
+
|
|
35
|
+
### Server
|
|
36
|
+
**Target:** Solo developer, remote access.
|
|
37
|
+
**Tagline:** *Your Spaces, anywhere. Self-hosted web access from any browser.*
|
|
38
|
+
**Requires:** `@spaces/pro`
|
|
39
|
+
|
|
40
|
+
Use Server when you want to access Spaces from a browser on a remote machine. Includes login authentication and TOTP but supports only a single user.
|
|
41
|
+
|
|
42
|
+
### Team
|
|
43
|
+
**Target:** Developer teams.
|
|
44
|
+
**Tagline:** *One server, every developer. Shared workspaces with user management.*
|
|
45
|
+
**Requires:** `@spaces/pro`
|
|
46
|
+
|
|
47
|
+
Use Team when multiple developers share a single Spaces server. Includes multi-user accounts, an admin panel, and usage analytics.
|
|
48
|
+
|
|
49
|
+
### Federation
|
|
50
|
+
**Target:** Organizations and networks.
|
|
51
|
+
**Tagline:** *Connect every machine. Unified workspaces across your entire network.*
|
|
52
|
+
**Requires:** `@spaces/pro`
|
|
53
|
+
|
|
54
|
+
Use Federation when you need to connect multiple Spaces servers. Includes everything in Team plus network node management, remote workspace proxying, and mDNS auto-discovery.
|
|
55
|
+
|
|
56
|
+
## Tier Gating Mechanism
|
|
57
|
+
|
|
58
|
+
The tier system is implemented in `src/lib/tier.ts`. On startup it:
|
|
59
|
+
|
|
60
|
+
1. Reads `NEXT_PUBLIC_TIER` (or the legacy `NEXT_PUBLIC_EDITION` fallback).
|
|
61
|
+
2. If a `SPACES_LICENSE` JWT is present, verifies it with an Ed25519 public key (`src/lib/license.ts`).
|
|
62
|
+
3. Checks whether `@spaces/pro` is installed via `src/lib/pro.ts`.
|
|
63
|
+
4. If a paid tier is requested but `@spaces/pro` is not available, falls back to `community`.
|
|
64
|
+
|
|
65
|
+
Feature flags exported from `tier.ts`:
|
|
66
|
+
|
|
67
|
+
| Flag | Meaning |
|
|
68
|
+
|------|---------|
|
|
69
|
+
| `IS_SERVER` | Any tier above community |
|
|
70
|
+
| `IS_TEAM` | Team or federation |
|
|
71
|
+
| `IS_FEDERATION` | Federation only |
|
|
72
|
+
| `HAS_AUTH` | Login is required (same as `IS_SERVER`) |
|
|
73
|
+
| `HAS_MULTIUSER` | Multiple user accounts (same as `IS_TEAM`) |
|
|
74
|
+
| `HAS_ADMIN` | Admin panel available (same as `IS_TEAM`) |
|
|
75
|
+
| `HAS_NETWORK` | Federation networking (same as `IS_FEDERATION`) |
|
|
76
|
+
| `IS_DESKTOP` | Community tier (note: name is misleading — really means "personal/local mode") |
|
|
77
|
+
|
|
78
|
+
## Configuration
|
|
79
|
+
|
|
80
|
+
Set the tier via environment variable:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Desktop / browser (Community)
|
|
84
|
+
NEXT_PUBLIC_TIER=community
|
|
85
|
+
|
|
86
|
+
# Single-user server
|
|
87
|
+
NEXT_PUBLIC_TIER=server
|
|
88
|
+
|
|
89
|
+
# Multi-user team server
|
|
90
|
+
NEXT_PUBLIC_TIER=team
|
|
91
|
+
|
|
92
|
+
# Federated network
|
|
93
|
+
NEXT_PUBLIC_TIER=federation
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The terminal server also accepts `SPACES_TIER` for gating mDNS and proxy features:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
SPACES_TIER=federation node bin/terminal-server.js
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Backward Compatibility
|
|
103
|
+
|
|
104
|
+
If `NEXT_PUBLIC_TIER` is not set but `NEXT_PUBLIC_EDITION=server` is present, the tier defaults to `federation` (matching the previous behavior where all server features were enabled).
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineConfig, globalIgnores } from "eslint/config";
|
|
2
|
+
import nextVitals from "eslint-config-next/core-web-vitals";
|
|
3
|
+
import nextTs from "eslint-config-next/typescript";
|
|
4
|
+
|
|
5
|
+
const eslintConfig = defineConfig([
|
|
6
|
+
...nextVitals,
|
|
7
|
+
...nextTs,
|
|
8
|
+
// Override default ignores of eslint-config-next.
|
|
9
|
+
globalIgnores([
|
|
10
|
+
// Default ignores of eslint-config-next:
|
|
11
|
+
".next/**",
|
|
12
|
+
"out/**",
|
|
13
|
+
"build/**",
|
|
14
|
+
"next-env.d.ts",
|
|
15
|
+
]),
|
|
16
|
+
]);
|
|
17
|
+
|
|
18
|
+
export default eslintConfig;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { NextConfig } from "next";
|
|
2
|
+
|
|
3
|
+
const basePath = process.env.SPACES_BASE_PATH || '';
|
|
4
|
+
|
|
5
|
+
const nextConfig: NextConfig = {
|
|
6
|
+
reactStrictMode: false,
|
|
7
|
+
output: process.env.STANDALONE === '1' ? 'standalone' : undefined,
|
|
8
|
+
basePath: basePath || undefined,
|
|
9
|
+
trailingSlash: true,
|
|
10
|
+
// Inline SPACES_BASE_PATH into the client bundle so api() can use it
|
|
11
|
+
env: { SPACES_BASE_PATH: basePath },
|
|
12
|
+
serverExternalPackages: ['better-sqlite3', 'node-pty', 'ws', 'chokidar', '@spaces/pro', '@spaces/teams', '@lancedb/lancedb'],
|
|
13
|
+
allowedDevOrigins: ['arc.robindale.com'],
|
|
14
|
+
devIndicators: false,
|
|
15
|
+
turbopack: {
|
|
16
|
+
root: process.cwd(),
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default nextConfig;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
worker_processes auto;
|
|
2
|
+
pid /tmp/nginx.pid;
|
|
3
|
+
|
|
4
|
+
events {
|
|
5
|
+
worker_connections 1024;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
http {
|
|
9
|
+
include /etc/nginx/mime.types;
|
|
10
|
+
default_type application/octet-stream;
|
|
11
|
+
sendfile on;
|
|
12
|
+
|
|
13
|
+
# Map for conditional WebSocket upgrade headers
|
|
14
|
+
map $http_upgrade $connection_upgrade {
|
|
15
|
+
default upgrade;
|
|
16
|
+
'' close;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
server {
|
|
20
|
+
listen 80;
|
|
21
|
+
server_name _;
|
|
22
|
+
|
|
23
|
+
# WebSocket proxy → terminal-server on host
|
|
24
|
+
# Rewrite /spaces/ws → /ws so dev server's pathname check matches
|
|
25
|
+
location /spaces/ws {
|
|
26
|
+
proxy_pass http://host.docker.internal:3457/ws;
|
|
27
|
+
proxy_http_version 1.1;
|
|
28
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
29
|
+
proxy_set_header Connection "upgrade";
|
|
30
|
+
proxy_set_header Host $host;
|
|
31
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
32
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
33
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
34
|
+
proxy_set_header Cookie $http_cookie;
|
|
35
|
+
proxy_read_timeout 86400;
|
|
36
|
+
proxy_send_timeout 86400;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
# Next.js SSR + API + static assets → Next.js on host
|
|
40
|
+
# Pass through /spaces/ prefix — Next.js basePath handles it
|
|
41
|
+
# Includes WebSocket upgrade support for HMR (_next/webpack-hmr)
|
|
42
|
+
location /spaces/ {
|
|
43
|
+
proxy_pass http://host.docker.internal:3457/spaces/;
|
|
44
|
+
proxy_http_version 1.1;
|
|
45
|
+
proxy_set_header Upgrade $http_upgrade;
|
|
46
|
+
proxy_set_header Connection $connection_upgrade;
|
|
47
|
+
proxy_set_header Host $host;
|
|
48
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
49
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
50
|
+
proxy_set_header X-Forwarded-Proto $scheme;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# `@img/sharp-libvips-linux-x64`
|
|
2
|
+
|
|
3
|
+
Prebuilt libvips and dependencies for use with sharp on Linux (glibc) x64.
|
|
4
|
+
|
|
5
|
+
## Licensing
|
|
6
|
+
|
|
7
|
+
This software contains third-party libraries
|
|
8
|
+
used under the terms of the following licences:
|
|
9
|
+
|
|
10
|
+
| Library | Used under the terms of |
|
|
11
|
+
|---------------|-----------------------------------------------------------------------------------------------------------|
|
|
12
|
+
| aom | BSD 2-Clause + [Alliance for Open Media Patent License 1.0](https://aomedia.org/license/patent-license/) |
|
|
13
|
+
| cairo | Mozilla Public License 2.0 |
|
|
14
|
+
| cgif | MIT Licence |
|
|
15
|
+
| expat | MIT Licence |
|
|
16
|
+
| fontconfig | [fontconfig Licence](https://gitlab.freedesktop.org/fontconfig/fontconfig/blob/main/COPYING) (BSD-like) |
|
|
17
|
+
| freetype | [freetype Licence](https://git.savannah.gnu.org/cgit/freetype/freetype2.git/tree/docs/FTL.TXT) (BSD-like) |
|
|
18
|
+
| fribidi | LGPLv3 |
|
|
19
|
+
| glib | LGPLv3 |
|
|
20
|
+
| harfbuzz | MIT Licence |
|
|
21
|
+
| highway | Apache-2.0 License, BSD 3-Clause |
|
|
22
|
+
| lcms | MIT Licence |
|
|
23
|
+
| libarchive | BSD 2-Clause |
|
|
24
|
+
| libexif | LGPLv3 |
|
|
25
|
+
| libffi | MIT Licence |
|
|
26
|
+
| libheif | LGPLv3 |
|
|
27
|
+
| libimagequant | [BSD 2-Clause](https://github.com/lovell/libimagequant/blob/main/COPYRIGHT) |
|
|
28
|
+
| libnsgif | MIT Licence |
|
|
29
|
+
| libpng | [libpng License](https://github.com/pnggroup/libpng/blob/master/LICENSE) |
|
|
30
|
+
| librsvg | LGPLv3 |
|
|
31
|
+
| libspng | [BSD 2-Clause, libpng License](https://github.com/randy408/libspng/blob/master/LICENSE) |
|
|
32
|
+
| libtiff | [libtiff License](https://gitlab.com/libtiff/libtiff/blob/master/LICENSE.md) (BSD-like) |
|
|
33
|
+
| libvips | LGPLv3 |
|
|
34
|
+
| libwebp | New BSD License |
|
|
35
|
+
| libxml2 | MIT Licence |
|
|
36
|
+
| mozjpeg | [zlib License, IJG License, BSD-3-Clause](https://github.com/mozilla/mozjpeg/blob/master/LICENSE.md) |
|
|
37
|
+
| pango | LGPLv3 |
|
|
38
|
+
| pixman | MIT Licence |
|
|
39
|
+
| proxy-libintl | LGPLv3 |
|
|
40
|
+
| zlib-ng | [zlib Licence](https://github.com/zlib-ng/zlib-ng/blob/develop/LICENSE.md) |
|
|
41
|
+
|
|
42
|
+
Use of libraries under the terms of the LGPLv3 is via the
|
|
43
|
+
"any later version" clause of the LGPLv2 or LGPLv2.1.
|
|
44
|
+
|
|
45
|
+
Please report any errors or omissions via
|
|
46
|
+
https://github.com/lovell/sharp-libvips/issues/new
|