@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.
Files changed (800) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +6 -0
  3. package/.next/standalone/.next/build-manifest.json +2 -2
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +19 -19
  6. package/.next/standalone/.next/routes-manifest.json +38 -0
  7. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/cortex/page/react-loadable-manifest.json +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/cortex/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/(desktop)/terminal/page.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  22. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  28. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  36. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  37. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  40. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  42. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  44. package/.next/standalone/.next/server/app/admin/analytics.rsc +6 -7
  45. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +2 -2
  46. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +6 -7
  50. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  54. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  55. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  61. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  63. package/.next/standalone/.next/server/app/analytics.html +1 -1
  64. package/.next/standalone/.next/server/app/analytics.rsc +3 -3
  65. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +2 -2
  66. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +3 -3
  69. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  70. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  71. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  72. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  73. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/app-paths-manifest.json +3 -0
  74. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/build-manifest.json +11 -0
  75. package/.next/standalone/.next/server/app/api/benchmark/lobes/route/server-reference-manifest.json +4 -0
  76. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +7 -0
  77. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.map +5 -0
  78. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -0
  79. package/.next/standalone/.next/server/app/api/benchmark/lobes/route_client-reference-manifest.js +2 -0
  80. package/.next/standalone/.next/server/app/api/benchmark/run/route/app-paths-manifest.json +3 -0
  81. package/.next/standalone/.next/server/app/api/benchmark/run/route/build-manifest.json +11 -0
  82. package/.next/standalone/.next/server/app/api/benchmark/run/route/server-reference-manifest.json +4 -0
  83. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +7 -0
  84. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.map +5 -0
  85. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -0
  86. package/.next/standalone/.next/server/app/api/benchmark/run/route_client-reference-manifest.js +2 -0
  87. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/app-paths-manifest.json +3 -0
  88. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/build-manifest.json +11 -0
  89. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route/server-reference-manifest.json +4 -0
  90. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +7 -0
  91. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.map +5 -0
  92. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -0
  93. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route_client-reference-manifest.js +2 -0
  94. package/.next/standalone/.next/server/app/api/benchmark/runs/route/app-paths-manifest.json +3 -0
  95. package/.next/standalone/.next/server/app/api/benchmark/runs/route/build-manifest.json +11 -0
  96. package/.next/standalone/.next/server/app/api/benchmark/runs/route/server-reference-manifest.json +4 -0
  97. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +7 -0
  98. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.map +5 -0
  99. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -0
  100. package/.next/standalone/.next/server/app/api/benchmark/runs/route_client-reference-manifest.js +2 -0
  101. package/.next/standalone/.next/server/app/api/benchmark/status/route/app-paths-manifest.json +3 -0
  102. package/.next/standalone/.next/server/app/api/benchmark/status/route/build-manifest.json +11 -0
  103. package/.next/standalone/.next/server/app/api/benchmark/status/route/server-reference-manifest.json +4 -0
  104. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +7 -0
  105. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.map +5 -0
  106. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -0
  107. package/.next/standalone/.next/server/app/api/benchmark/status/route_client-reference-manifest.js +2 -0
  108. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  109. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  117. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  119. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  121. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  125. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  127. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  129. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  131. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  133. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  137. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  139. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  143. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  145. package/.next/standalone/.next/server/app/api/files/route.js +1 -1
  146. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  147. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  149. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  151. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  153. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  157. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  159. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  161. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  163. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  165. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  167. package/.next/standalone/.next/server/app/api/whisper/route/app-paths-manifest.json +3 -0
  168. package/.next/standalone/.next/server/app/api/whisper/route/build-manifest.json +11 -0
  169. package/.next/standalone/.next/server/app/api/whisper/route/server-reference-manifest.json +4 -0
  170. package/.next/standalone/.next/server/app/api/whisper/route.js +7 -0
  171. package/.next/standalone/.next/server/app/api/whisper/route.js.map +5 -0
  172. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -0
  173. package/.next/standalone/.next/server/app/api/whisper/route_client-reference-manifest.js +2 -0
  174. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  175. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  177. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  179. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  181. package/.next/standalone/.next/server/app/cortex.html +1 -1
  182. package/.next/standalone/.next/server/app/cortex.rsc +3 -3
  183. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  184. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  185. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  186. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
  187. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  188. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  189. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  190. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  191. package/.next/standalone/.next/server/app/login.html +1 -1
  192. package/.next/standalone/.next/server/app/login.rsc +2 -2
  193. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  194. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  195. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  196. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  197. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  198. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  199. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  200. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  201. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  202. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  203. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  204. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  205. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  206. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  207. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  208. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  209. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  210. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  212. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  213. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  214. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  215. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  216. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  217. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  218. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  219. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  220. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  221. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  222. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  223. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  224. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  225. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  226. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  227. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  228. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  229. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  230. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  231. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  232. package/.next/standalone/.next/server/app/m/terminal/page.js.nft.json +1 -1
  233. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  234. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  235. package/.next/standalone/.next/server/app/m/terminal.rsc +3 -3
  236. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
  237. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  239. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  240. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  241. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  242. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  243. package/.next/standalone/.next/server/app/m.html +1 -1
  244. package/.next/standalone/.next/server/app/m.rsc +2 -2
  245. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  246. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  247. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  248. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  250. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  251. package/.next/standalone/.next/server/app/network.html +1 -1
  252. package/.next/standalone/.next/server/app/network.rsc +2 -2
  253. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  254. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  255. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  256. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  259. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  260. package/.next/standalone/.next/server/app/projects.html +1 -1
  261. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  262. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  264. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  265. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  266. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  267. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  268. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/sessions.html +1 -1
  270. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  271. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  272. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  275. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  276. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  277. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  278. package/.next/standalone/.next/server/app/settings.html +1 -1
  279. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  280. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  282. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  284. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  286. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  287. package/.next/standalone/.next/server/app/terminal.html +1 -1
  288. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  289. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  290. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  291. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  293. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  295. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  296. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +3 -3
  297. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/vr.html +1 -1
  299. package/.next/standalone/.next/server/app/vr.rsc +3 -3
  300. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
  301. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  304. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  305. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  307. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  308. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  309. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  311. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app-paths-manifest.json +6 -0
  316. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0041efe4._.js +2 -2
  317. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00bf0ace._.js +2 -2
  318. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0a837dd9._.js +98 -0
  319. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e71d908._.js +3 -3
  320. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e9142f3._.js +2 -2
  321. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10e47926._.js +1 -1
  322. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1665dc78._.js +2 -2
  323. package/.next/standalone/.next/server/chunks/[root-of-the-server]__175cbabf._.js +2 -2
  324. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1adae357._.js +2 -2
  325. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1d359752._.js +2 -2
  326. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e8fabeb._.js +2 -2
  327. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f8deca0._.js +8 -8
  328. package/.next/standalone/.next/server/chunks/[root-of-the-server]__253fdda1._.js +2 -2
  329. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28e6434f._.js +2 -2
  330. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a386564._.js +3 -3
  331. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c20fb38._.js +2 -2
  332. package/.next/standalone/.next/server/chunks/[root-of-the-server]__309132cd._.js +1 -1
  333. package/.next/standalone/.next/server/chunks/[root-of-the-server]__33fec964._.js +3 -3
  334. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3786d8ae._.js +2 -2
  335. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3ae92407._.js +2 -2
  336. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3beda9fe._.js +2 -2
  337. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4619e9bd._.js +1 -1
  338. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4a051043._.js +2 -2
  339. package/.next/standalone/.next/server/chunks/[root-of-the-server]__508002e4._.js +2 -2
  340. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5086c373._.js +2 -2
  341. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5913e097._.js +2 -2
  342. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5b5f68d2._.js +2 -2
  343. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c1f2459._.js +2 -2
  344. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ec8c977._.js +2 -2
  345. package/.next/standalone/.next/server/chunks/[root-of-the-server]__63cebc6c._.js +2 -2
  346. package/.next/standalone/.next/server/chunks/[root-of-the-server]__64d30d4d._.js +2 -2
  347. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c54fc2e._.js +2 -2
  348. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6dc1fb7e._.js +2 -2
  349. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e568102._.js +2 -2
  350. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6faa04c0._.js +2 -2
  351. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74a34dc3._.js +2 -2
  352. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7819e4cf._.js +98 -0
  353. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e7250a4._.js +2 -2
  354. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8309e0a4._.js +2 -2
  355. package/.next/standalone/.next/server/chunks/[root-of-the-server]__86cc0e2b._.js +6 -6
  356. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89c2565a._.js +2 -2
  357. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d178ad9._.js +2 -2
  358. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93ee06f3._.js +2 -2
  359. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e1f0137._.js +98 -0
  360. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e4c154a._.js +2 -2
  361. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d2e1d3._.js +2 -2
  362. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ae53d343._.js +2 -2
  363. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b3a04cef._.js +2 -2
  364. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b4270b77._.js +1 -1
  365. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b6b6ce60._.js +3 -3
  366. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0757773._.js +98 -0
  367. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c24cfa91._.js +3 -0
  368. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c7c47529._.js +3 -0
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c88b63f7._.js +2 -2
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cba5f007._.js +1 -1
  371. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cbf4ceb0._.js +2 -2
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cefdba2f._.js +2 -2
  373. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf9e82bb._.js +2 -2
  374. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2897392._.js +2 -2
  375. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d3b2d856._.js +2 -2
  376. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d73273ca._.js +2 -2
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d8417eb6._.js +2 -2
  378. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc2a55de._.js +2 -2
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e0d4690b._.js +2 -2
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3ea8547._.js +98 -0
  381. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e678dd53._.js +1 -1
  382. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e9223f55._.js +2 -2
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea630076._.js +2 -2
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f26ca49d._.js +1 -1
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f33e1101._.js +2 -2
  386. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f515f865._.js +2 -2
  387. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fceb5d60._.js +2 -2
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fed41403._.js +2 -2
  389. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff2e98c2._.js +2 -2
  390. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_lobes_route_actions_ea7beadb.js +3 -0
  391. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_run_route_actions_9ed0ba41.js +3 -0
  392. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_[id]_route_actions_39f90307.js +3 -0
  393. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_runs_route_actions_37cf958b.js +3 -0
  394. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_benchmark_status_route_actions_009e2cba.js +3 -0
  395. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_whisper_route_actions_be9a633d.js +3 -0
  396. package/.next/standalone/.next/server/chunks/ssr/{_c1cfdd09._.js → [root-of-the-server]__16621ac5._.js} +2 -2
  397. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  398. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9c81bd86._.js +3 -0
  399. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e3bf6054._.js +5 -0
  400. package/.next/standalone/.next/server/chunks/ssr/{_81abf587._.js → _31ada310._.js} +2 -2
  401. package/.next/standalone/.next/server/chunks/ssr/_648a8a2d._.js +3 -0
  402. package/.next/standalone/.next/server/chunks/ssr/_999dae61._.js +3 -0
  403. package/.next/standalone/.next/server/chunks/ssr/_c48c91e5._.js +3 -0
  404. package/.next/standalone/.next/server/chunks/ssr/_f8959434._.js +3 -0
  405. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
  406. package/.next/standalone/.next/server/chunks/ssr/src_components_terminal_terminal-pane_tsx_803c5e2c._.js +9 -0
  407. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__32a0045c._.js +1 -1
  408. package/.next/standalone/.next/server/edge/chunks/_d73df637._.js +1 -1
  409. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  410. package/.next/standalone/.next/server/pages/404.html +1 -1
  411. package/.next/standalone/.next/server/pages/500.html +2 -2
  412. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  413. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  414. package/.next/standalone/.next/static/chunks/157826a3253f8ccf.js +7 -0
  415. package/.next/standalone/.next/static/chunks/{396eac60f496f178.js → 2f9f09924ff9d447.js} +1 -1
  416. package/.next/standalone/.next/static/chunks/{e23f20b51a75a5bb.js → 4ced66ef12d91b38.js} +35 -12
  417. package/.next/standalone/.next/static/chunks/57d04d161b8a01b3.js +7 -0
  418. package/.next/standalone/.next/static/chunks/709c4608e5b935e8.js +1 -0
  419. package/.next/standalone/.next/static/chunks/{7424664c6ffa94bd.js → 7b14d4e609b55b9b.js} +1 -1
  420. package/.next/standalone/.next/static/chunks/7be37f4a56b8f575.js +1 -0
  421. package/.next/standalone/.next/static/chunks/8021d5a2269ff113.js +1 -0
  422. package/.next/standalone/.next/static/chunks/a3fd93a9dde3cacc.js +1 -0
  423. package/.next/standalone/.next/static/chunks/{412140a02893327a.js → afee31c7399daf2a.js} +1 -1
  424. package/.next/standalone/.next/static/chunks/b92fdbf858aeb0b3.js +1 -0
  425. package/.next/standalone/.next/static/chunks/c17274c2f95d4ba2.js +5 -0
  426. package/.next/standalone/.next/static/chunks/e116953dc83d4eec.js +1 -0
  427. package/.next/standalone/.next/static/chunks/e82f4414650587cf.js +7 -0
  428. package/.next/standalone/.next/static/chunks/f6464729e7aa0da0.css +3 -0
  429. package/.next/standalone/LICENSE +661 -0
  430. package/.next/standalone/NOTICE +5 -0
  431. package/.next/standalone/README.md +131 -0
  432. package/.next/standalone/bin/cortex-hook.sh +62 -62
  433. package/.next/standalone/bin/cortex-mcp.js +60 -60
  434. package/.next/standalone/bin/fix-standalone-externals.js +79 -0
  435. package/.next/standalone/bin/lib/auto-setup.js +110 -0
  436. package/.next/standalone/bin/mdns-service.js +171 -0
  437. package/.next/standalone/bin/postinstall.js +35 -0
  438. package/.next/standalone/bin/setup-admin.js +195 -0
  439. package/.next/standalone/bin/spaces-dev.js +247 -0
  440. package/.next/standalone/bin/spaces-install.js +638 -0
  441. package/.next/standalone/bin/spaces-reset-totp.js +50 -0
  442. package/.next/standalone/bin/spaces-service.js +1020 -0
  443. package/.next/standalone/bin/spaces-setup.js +253 -0
  444. package/.next/standalone/bin/spaces.js +788 -0
  445. package/.next/standalone/bin/ssh-auth-keys.sh +68 -0
  446. package/.next/standalone/bin/terminal-server.js +1807 -0
  447. package/.next/standalone/docker-compose.yml +28 -0
  448. package/.next/standalone/docs/architecture.md +387 -0
  449. package/.next/standalone/docs/cortex.md +293 -0
  450. package/.next/standalone/docs/getting-started.md +96 -0
  451. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +133 -0
  452. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +959 -0
  453. package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +146 -0
  454. package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +254 -0
  455. package/.next/standalone/docs/server-install.md +564 -0
  456. package/.next/standalone/docs/social-card.html +150 -0
  457. package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +5270 -0
  458. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +1387 -1387
  459. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +1923 -1923
  460. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +1113 -1113
  461. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +853 -853
  462. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +1274 -1274
  463. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +933 -933
  464. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +1080 -1080
  465. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +768 -768
  466. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +1108 -1108
  467. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -1846
  468. package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +1639 -0
  469. package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +320 -0
  470. package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +720 -0
  471. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +268 -268
  472. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +623 -623
  473. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +263 -263
  474. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +240 -240
  475. package/.next/standalone/docs/superpowers/specs/2026-03-16-pane-ux-design.md +77 -0
  476. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -341
  477. package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +288 -0
  478. package/.next/standalone/docs/tiers.md +104 -0
  479. package/.next/standalone/eslint.config.mjs +18 -0
  480. package/.next/standalone/next.config.ts +20 -0
  481. package/.next/standalone/nginx.conf +53 -0
  482. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
  483. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  484. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +1 -0
  485. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  486. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +42 -0
  487. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
  488. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +221 -0
  489. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +1 -0
  490. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  491. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +42 -0
  492. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +30 -0
  493. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  494. package/.next/standalone/node_modules/@img/{sharp-win32-x64 → sharp-linux-x64}/package.json +46 -39
  495. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  496. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +46 -0
  497. package/.next/standalone/package-lock.json +14154 -0
  498. package/.next/standalone/package.json +104 -103
  499. package/.next/standalone/postcss.config.mjs +7 -0
  500. package/.next/standalone/scripts/rebuild.cmd +65 -0
  501. package/.next/standalone/scripts/rebuild.sh +59 -0
  502. package/.next/standalone/server.js +1 -1
  503. package/.next/standalone/src/app/(desktop)/admin/analytics/page.tsx +266 -0
  504. package/.next/standalone/src/app/(desktop)/admin/users/page.tsx +399 -0
  505. package/.next/standalone/src/app/(desktop)/analytics/page.tsx +166 -0
  506. package/.next/standalone/src/app/(desktop)/cortex/page.tsx +81 -78
  507. package/.next/standalone/src/app/(desktop)/dashboard-client.tsx +56 -0
  508. package/.next/standalone/src/app/(desktop)/layout.tsx +18 -0
  509. package/.next/standalone/src/app/(desktop)/network/page.tsx +137 -0
  510. package/.next/standalone/src/app/(desktop)/page.tsx +17 -0
  511. package/.next/standalone/src/app/(desktop)/projects/page.tsx +68 -0
  512. package/.next/standalone/src/app/(desktop)/sessions/[id]/page.tsx +519 -0
  513. package/.next/standalone/src/app/(desktop)/sessions/page.tsx +145 -0
  514. package/.next/standalone/src/app/(desktop)/settings/page.tsx +446 -0
  515. package/.next/standalone/src/app/(desktop)/terminal/layout.tsx +7 -0
  516. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +1151 -0
  517. package/.next/standalone/src/app/(desktop)/terminal/pane/[id]/page.tsx +211 -0
  518. package/.next/standalone/src/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.tsx +192 -0
  519. package/.next/standalone/src/app/(desktop)/workspaces/page.tsx +12 -0
  520. package/.next/standalone/src/app/api/admin/analytics/route.ts +10 -0
  521. package/.next/standalone/src/app/api/admin/users/[id]/route.ts +20 -0
  522. package/.next/standalone/src/app/api/admin/users/route.ts +15 -0
  523. package/.next/standalone/src/app/api/analytics/overview/route.ts +80 -0
  524. package/.next/standalone/src/app/api/auth/login/route.ts +10 -0
  525. package/.next/standalone/src/app/api/auth/logout/route.ts +9 -0
  526. package/.next/standalone/src/app/api/auth/me/route.ts +22 -0
  527. package/.next/standalone/src/app/api/auth/totp/setup/route.ts +10 -0
  528. package/.next/standalone/src/app/api/auth/totp/status/route.ts +10 -0
  529. package/.next/standalone/src/app/api/auth/totp/verify/route.ts +10 -0
  530. package/.next/standalone/src/app/api/benchmark/lobes/route.ts +16 -0
  531. package/.next/standalone/src/app/api/benchmark/run/route.ts +92 -0
  532. package/.next/standalone/src/app/api/benchmark/runs/[id]/route.ts +26 -0
  533. package/.next/standalone/src/app/api/benchmark/runs/route.ts +16 -0
  534. package/.next/standalone/src/app/api/benchmark/status/route.ts +35 -0
  535. package/.next/standalone/src/app/api/bulk/route.ts +34 -0
  536. package/.next/standalone/src/app/api/chat/route.ts +85 -0
  537. package/.next/standalone/src/app/api/config/route.ts +30 -0
  538. package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
  539. package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -27
  540. package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -23
  541. package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -23
  542. package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -29
  543. package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -23
  544. package/.next/standalone/src/app/api/cortex/export/route.ts +40 -40
  545. package/.next/standalone/src/app/api/cortex/federation/pending/route.ts +20 -20
  546. package/.next/standalone/src/app/api/cortex/federation/resolve/route.ts +43 -43
  547. package/.next/standalone/src/app/api/cortex/federation/search/route.ts +35 -35
  548. package/.next/standalone/src/app/api/cortex/federation/teach/route.ts +76 -76
  549. package/.next/standalone/src/app/api/cortex/graph/edges/route.ts +112 -112
  550. package/.next/standalone/src/app/api/cortex/graph/entities/[id]/route.ts +73 -73
  551. package/.next/standalone/src/app/api/cortex/graph/entities/route.ts +75 -75
  552. package/.next/standalone/src/app/api/cortex/graph/populate/route.ts +203 -203
  553. package/.next/standalone/src/app/api/cortex/import/route.ts +75 -75
  554. package/.next/standalone/src/app/api/cortex/import/status/route.ts +15 -15
  555. package/.next/standalone/src/app/api/cortex/ingest/bootstrap/route.ts +29 -29
  556. package/.next/standalone/src/app/api/cortex/ingest/status/route.ts +15 -15
  557. package/.next/standalone/src/app/api/cortex/knowledge/[id]/route.ts +91 -91
  558. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +93 -93
  559. package/.next/standalone/src/app/api/cortex/lobes/[id]/route.ts +67 -67
  560. package/.next/standalone/src/app/api/cortex/lobes/route.ts +22 -22
  561. package/.next/standalone/src/app/api/cortex/lobes/share/route.ts +80 -80
  562. package/.next/standalone/src/app/api/cortex/marketplace/browse/route.ts +43 -43
  563. package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -46
  564. package/.next/standalone/src/app/api/cortex/mcp/call/route.ts +11 -11
  565. package/.next/standalone/src/app/api/cortex/mcp/tools/route.ts +6 -6
  566. package/.next/standalone/src/app/api/cortex/search/route.ts +43 -43
  567. package/.next/standalone/src/app/api/cortex/settings/route.ts +33 -33
  568. package/.next/standalone/src/app/api/cortex/status/route.ts +169 -169
  569. package/.next/standalone/src/app/api/cortex/timeline/route.ts +42 -42
  570. package/.next/standalone/src/app/api/cortex/usage/route.ts +31 -31
  571. package/.next/standalone/src/app/api/cortex/workspace/[id]/context/route.ts +41 -41
  572. package/.next/standalone/src/app/api/events/route.ts +40 -0
  573. package/.next/standalone/src/app/api/files/route.ts +187 -0
  574. package/.next/standalone/src/app/api/folders/route.ts +97 -0
  575. package/.next/standalone/src/app/api/network/connect-callback/route.ts +11 -0
  576. package/.next/standalone/src/app/api/network/connect-request/[id]/route.ts +11 -0
  577. package/.next/standalone/src/app/api/network/connect-request/route.ts +17 -0
  578. package/.next/standalone/src/app/api/network/discovered/route.ts +9 -0
  579. package/.next/standalone/src/app/api/network/handshake/route.ts +25 -0
  580. package/.next/standalone/src/app/api/network/health/route.ts +10 -0
  581. package/.next/standalone/src/app/api/network/identity/route.ts +15 -0
  582. package/.next/standalone/src/app/api/network/keys/[id]/route.ts +10 -0
  583. package/.next/standalone/src/app/api/network/keys/route.ts +15 -0
  584. package/.next/standalone/src/app/api/network/nodes/[id]/route.ts +15 -0
  585. package/.next/standalone/src/app/api/network/nodes/check/route.ts +9 -0
  586. package/.next/standalone/src/app/api/network/nodes/route.ts +15 -0
  587. package/.next/standalone/src/app/api/network/projects/route.ts +25 -0
  588. package/.next/standalone/src/app/api/network/proxy/[nodeId]/[...path]/route.ts +15 -0
  589. package/.next/standalone/src/app/api/network/search/route.ts +38 -0
  590. package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +36 -0
  591. package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +34 -0
  592. package/.next/standalone/src/app/api/network/sessions/route.ts +43 -0
  593. package/.next/standalone/src/app/api/network/terminal/token/route.ts +10 -0
  594. package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +34 -0
  595. package/.next/standalone/src/app/api/network/workspaces/route.ts +61 -0
  596. package/.next/standalone/src/app/api/panes/[id]/route.ts +60 -0
  597. package/.next/standalone/src/app/api/panes/route.ts +39 -0
  598. package/.next/standalone/src/app/api/projects/route.ts +13 -0
  599. package/.next/standalone/src/app/api/search/route.ts +47 -0
  600. package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +120 -0
  601. package/.next/standalone/src/app/api/sessions/[id]/messages/route.ts +28 -0
  602. package/.next/standalone/src/app/api/sessions/[id]/route.ts +73 -0
  603. package/.next/standalone/src/app/api/sessions/route.ts +64 -0
  604. package/.next/standalone/src/app/api/sync/route.ts +24 -0
  605. package/.next/standalone/src/app/api/tags/route.ts +35 -0
  606. package/.next/standalone/src/app/api/tier/route.ts +16 -0
  607. package/.next/standalone/src/app/api/updates/route.ts +53 -0
  608. package/.next/standalone/src/app/api/whisper/route.ts +90 -0
  609. package/.next/standalone/src/app/api/workspaces/[id]/context/[key]/route.ts +39 -0
  610. package/.next/standalone/src/app/api/workspaces/[id]/context/route.ts +28 -0
  611. package/.next/standalone/src/app/api/workspaces/[id]/messages/[msgId]/route.ts +17 -0
  612. package/.next/standalone/src/app/api/workspaces/[id]/messages/route.ts +39 -0
  613. package/.next/standalone/src/app/api/workspaces/[id]/route.ts +47 -0
  614. package/.next/standalone/src/app/api/workspaces/[id]/sessions/route.ts +62 -0
  615. package/.next/standalone/src/app/api/workspaces/route.ts +79 -0
  616. package/.next/standalone/src/app/globals.css +85 -0
  617. package/.next/standalone/src/app/icon.png +0 -0
  618. package/.next/standalone/src/app/layout.tsx +33 -0
  619. package/.next/standalone/src/app/login/layout.tsx +7 -0
  620. package/.next/standalone/src/app/login/page.tsx +315 -0
  621. package/.next/standalone/src/app/m/layout.tsx +16 -0
  622. package/.next/standalone/src/app/m/page.tsx +118 -0
  623. package/.next/standalone/src/app/m/projects/page.tsx +64 -0
  624. package/.next/standalone/src/app/m/sessions/[id]/page.tsx +168 -0
  625. package/.next/standalone/src/app/m/sessions/page.tsx +177 -0
  626. package/.next/standalone/src/app/m/settings/page.tsx +230 -0
  627. package/.next/standalone/src/app/m/terminal/page.tsx +413 -0
  628. package/.next/standalone/src/app/vr/page.tsx +21 -0
  629. package/.next/standalone/src/app/vr/vr-app.tsx +163 -0
  630. package/.next/standalone/src/app/vr/vr-controls.tsx +139 -0
  631. package/.next/standalone/src/app/vr/vr-door.tsx +82 -0
  632. package/.next/standalone/src/app/vr/vr-environment.tsx +71 -0
  633. package/.next/standalone/src/app/vr/vr-gaze.tsx +89 -0
  634. package/.next/standalone/src/app/vr/vr-layout.ts +49 -0
  635. package/.next/standalone/src/app/vr/vr-lobby.tsx +97 -0
  636. package/.next/standalone/src/app/vr/vr-pane.tsx +195 -0
  637. package/.next/standalone/src/app/vr/vr-room.tsx +79 -0
  638. package/.next/standalone/src/app/vr/vr-terminal.tsx +303 -0
  639. package/.next/standalone/src/components/auth/totp-gate.tsx +183 -0
  640. package/.next/standalone/src/components/bus/activity-panel.tsx +261 -0
  641. package/.next/standalone/src/components/common/color-picker.tsx +35 -0
  642. package/.next/standalone/src/components/common/dev-directory-picker.tsx +339 -0
  643. package/.next/standalone/src/components/common/folder-picker.tsx +200 -0
  644. package/.next/standalone/src/components/common/tag-picker.tsx +190 -0
  645. package/.next/standalone/src/components/common/workspace-picker.tsx +113 -0
  646. package/.next/standalone/src/components/cortex/benchmark-tab.tsx +880 -0
  647. package/.next/standalone/src/components/cortex/constants.ts +29 -29
  648. package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -304
  649. package/.next/standalone/src/components/cortex/cortex-indicator.tsx +44 -44
  650. package/.next/standalone/src/components/cortex/cortex-panel.tsx +140 -140
  651. package/.next/standalone/src/components/cortex/cortex-settings.tsx +221 -221
  652. package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -810
  653. package/.next/standalone/src/components/cortex/entity-detail.tsx +101 -101
  654. package/.next/standalone/src/components/cortex/entity-graph.tsx +382 -382
  655. package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -212
  656. package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
  657. package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -109
  658. package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -158
  659. package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -215
  660. package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -126
  661. package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -113
  662. package/.next/standalone/src/components/dashboard/activity-chart.tsx +41 -0
  663. package/.next/standalone/src/components/dashboard/model-usage-chart.tsx +61 -0
  664. package/.next/standalone/src/components/dashboard/recent-sessions.tsx +68 -0
  665. package/.next/standalone/src/components/dashboard/stats-cards.tsx +36 -0
  666. package/.next/standalone/src/components/files/file-explorer.tsx +703 -0
  667. package/.next/standalone/src/components/layout/providers.tsx +38 -0
  668. package/.next/standalone/src/components/layout/sidebar.tsx +170 -0
  669. package/.next/standalone/src/components/layout/tier-provider.tsx +53 -0
  670. package/.next/standalone/src/components/layout/update-banner.tsx +92 -0
  671. package/.next/standalone/src/components/mobile/bottom-nav.tsx +46 -0
  672. package/.next/standalone/src/components/mobile/mobile-chat-input.tsx +244 -0
  673. package/.next/standalone/src/components/mobile/mobile-header.tsx +44 -0
  674. package/.next/standalone/src/components/mobile/mobile-session-card.tsx +56 -0
  675. package/.next/standalone/src/components/mobile/mobile-terminal-input.tsx +71 -0
  676. package/.next/standalone/src/components/mobile/mobile-terminal-pane.tsx +300 -0
  677. package/.next/standalone/src/components/mobile/mobile-terminal-toolbar.tsx +53 -0
  678. package/.next/standalone/src/components/mobile/pull-to-refresh.tsx +82 -0
  679. package/.next/standalone/src/components/mobile/voice-input.tsx +53 -0
  680. package/.next/standalone/src/components/network/api-key-list.tsx +190 -0
  681. package/.next/standalone/src/components/network/connection-requests.tsx +94 -0
  682. package/.next/standalone/src/components/network/node-add-dialog.tsx +131 -0
  683. package/.next/standalone/src/components/network/node-badge.tsx +26 -0
  684. package/.next/standalone/src/components/network/node-list.tsx +207 -0
  685. package/.next/standalone/src/components/network/node-selector.tsx +49 -0
  686. package/.next/standalone/src/components/sessions/session-filters.tsx +116 -0
  687. package/.next/standalone/src/components/sessions/session-list.tsx +485 -0
  688. package/.next/standalone/src/components/terminal/terminal-pane.tsx +874 -0
  689. package/.next/standalone/src/components/viewer/chat-input.tsx +275 -0
  690. package/.next/standalone/src/components/viewer/message-renderer.tsx +551 -0
  691. package/.next/standalone/src/components/workspace/universe-cluster.tsx +131 -0
  692. package/.next/standalone/src/components/workspace/universe-orb.tsx +128 -0
  693. package/.next/standalone/src/components/workspace/universe-types.ts +22 -0
  694. package/.next/standalone/src/components/workspace/universe-utils.ts +11 -0
  695. package/.next/standalone/src/components/workspace/universe-view.tsx +397 -0
  696. package/.next/standalone/src/components/workspace/workspace-chooser.tsx +616 -0
  697. package/.next/standalone/src/hooks/use-benchmark.ts +71 -0
  698. package/.next/standalone/src/hooks/use-bus.ts +147 -0
  699. package/.next/standalone/src/hooks/use-idle-detection.ts +79 -0
  700. package/.next/standalone/src/hooks/use-network.ts +229 -0
  701. package/.next/standalone/src/hooks/use-sessions.ts +437 -0
  702. package/.next/standalone/src/hooks/use-speech-recognition.ts +113 -0
  703. package/.next/standalone/src/hooks/use-sse.ts +35 -0
  704. package/.next/standalone/src/hooks/use-tier.ts +39 -0
  705. package/.next/standalone/src/lib/agents.ts +70 -0
  706. package/.next/standalone/src/lib/aider/parser.ts +111 -0
  707. package/.next/standalone/src/lib/api.ts +19 -0
  708. package/.next/standalone/src/lib/auth.ts +47 -0
  709. package/.next/standalone/src/lib/claude/parser.ts +212 -0
  710. package/.next/standalone/src/lib/claude/stats.ts +204 -0
  711. package/.next/standalone/src/lib/codex/parser.ts +265 -0
  712. package/.next/standalone/src/lib/config.ts +115 -0
  713. package/.next/standalone/src/lib/cortex/benchmark.ts +67 -0
  714. package/.next/standalone/src/lib/cortex/config.ts +40 -40
  715. package/.next/standalone/src/lib/cortex/debug.ts +10 -10
  716. package/.next/standalone/src/lib/cortex/distillation/usage-store.ts +18 -18
  717. package/.next/standalone/src/lib/cortex/graph/resolver.ts +10 -10
  718. package/.next/standalone/src/lib/cortex/graph/types.ts +22 -22
  719. package/.next/standalone/src/lib/cortex/index.ts +56 -56
  720. package/.next/standalone/src/lib/cortex/ingestion/bootstrap.ts +14 -14
  721. package/.next/standalone/src/lib/cortex/knowledge/compat.ts +14 -14
  722. package/.next/standalone/src/lib/cortex/knowledge/contradiction.ts +10 -10
  723. package/.next/standalone/src/lib/cortex/knowledge/types.ts +67 -67
  724. package/.next/standalone/src/lib/cortex/lobes/config.ts +16 -16
  725. package/.next/standalone/src/lib/cortex/lobes/resolver.ts +8 -8
  726. package/.next/standalone/src/lib/cortex/lobes/shares.ts +14 -14
  727. package/.next/standalone/src/lib/cortex/mcp/server.ts +8 -8
  728. package/.next/standalone/src/lib/cortex/portability/exporter.ts +6 -6
  729. package/.next/standalone/src/lib/cortex/portability/importer.ts +10 -10
  730. package/.next/standalone/src/lib/cortex/retrieval/context-engine.ts +10 -10
  731. package/.next/standalone/src/lib/cortex/types.ts +39 -39
  732. package/.next/standalone/src/lib/cost-calculator.ts +48 -0
  733. package/.next/standalone/src/lib/db/init.ts +71 -0
  734. package/.next/standalone/src/lib/db/queries.ts +718 -0
  735. package/.next/standalone/src/lib/db/schema.ts +202 -0
  736. package/.next/standalone/src/lib/events/sse.ts +36 -0
  737. package/.next/standalone/src/lib/gemini/parser.ts +216 -0
  738. package/.next/standalone/src/lib/license.ts +56 -0
  739. package/.next/standalone/src/lib/pro.ts +31 -0
  740. package/.next/standalone/src/lib/sync/indexer.ts +429 -0
  741. package/.next/standalone/src/lib/sync/watcher.ts +64 -0
  742. package/.next/standalone/src/lib/teams.ts +31 -0
  743. package/.next/standalone/src/lib/telemetry.ts +75 -0
  744. package/.next/standalone/src/lib/terminal/server.ts +128 -0
  745. package/.next/standalone/src/lib/tier.ts +38 -0
  746. package/.next/standalone/src/lib/utils.ts +72 -0
  747. package/.next/standalone/src/middleware.ts +133 -0
  748. package/.next/standalone/src/types/claude.ts +208 -0
  749. package/.next/standalone/src/types/network.ts +61 -0
  750. package/.next/standalone/tests/setup.ts +8 -0
  751. package/.next/standalone/tsconfig.json +34 -34
  752. package/.next/standalone/vitest.config.ts +24 -0
  753. package/LICENSE +661 -661
  754. package/README.md +131 -131
  755. package/bin/cortex-hook.sh +62 -62
  756. package/bin/cortex-mcp.js +60 -60
  757. package/bin/fix-standalone-externals.js +79 -79
  758. package/bin/lib/auto-setup.js +110 -110
  759. package/bin/mdns-service.js +171 -171
  760. package/bin/postinstall.js +35 -35
  761. package/bin/setup-admin.js +195 -195
  762. package/bin/spaces-dev.js +247 -208
  763. package/bin/spaces-install.js +638 -599
  764. package/bin/spaces-reset-totp.js +50 -50
  765. package/bin/spaces-service.js +1020 -1020
  766. package/bin/spaces-setup.js +253 -253
  767. package/bin/spaces.js +788 -776
  768. package/bin/ssh-auth-keys.sh +68 -68
  769. package/bin/terminal-server.js +1807 -1683
  770. package/package.json +104 -103
  771. package/.next/standalone/.claude/settings.local.json +0 -55
  772. package/.next/standalone/.claude/spaces-env.json +0 -1
  773. package/.next/standalone/.next/server/chunks/[root-of-the-server]__eb8acb65._.js +0 -3
  774. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__e921fdfc._.js +0 -5
  775. package/.next/standalone/.next/server/chunks/ssr/_2230ad2d._.js +0 -3
  776. package/.next/standalone/.next/server/chunks/ssr/_5cf334fd._.js +0 -3
  777. package/.next/standalone/.next/server/chunks/ssr/_db0abd0a._.js +0 -3
  778. package/.next/standalone/.next/server/chunks/ssr/_db2fec84._.js +0 -3
  779. package/.next/standalone/.next/server/chunks/ssr/_f4e57187._.js +0 -3
  780. package/.next/standalone/.next/server/chunks/ssr/src_40fa36ce._.js +0 -7
  781. package/.next/standalone/.next/static/chunks/003e7aa1adfe577d.js +0 -1
  782. package/.next/standalone/.next/static/chunks/232d8aae4fefab70.js +0 -1
  783. package/.next/standalone/.next/static/chunks/5325351ef49cb65f.js +0 -1
  784. package/.next/standalone/.next/static/chunks/559735e598ca3cbb.js +0 -1
  785. package/.next/standalone/.next/static/chunks/5d5d7b0095dd52ae.js +0 -1
  786. package/.next/standalone/.next/static/chunks/7a7c0d9d875332a3.js +0 -1
  787. package/.next/standalone/.next/static/chunks/898f380eba90427a.js +0 -1
  788. package/.next/standalone/.next/static/chunks/95339e55722bb4ca.js +0 -5
  789. package/.next/standalone/.next/static/chunks/9cd594813c539df9.js +0 -1
  790. package/.next/standalone/.next/static/chunks/aae9e0fa485bd835.js +0 -5
  791. package/.next/standalone/.next/static/chunks/c1a95aebf6725f64.css +0 -3
  792. package/.next/standalone/.next/static/chunks/c515eb77d9410aa0.js +0 -5
  793. package/.next/standalone/.next/static/chunks/d9ae203a7f123546.js +0 -5
  794. package/.next/standalone/.next/static/chunks/f9f2628207848ac2.js +0 -1
  795. package/.next/standalone/.spaces/cortex-context.md +0 -70
  796. package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
  797. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_buildManifest.js +0 -0
  798. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_clientMiddlewareManifest.json +0 -0
  799. /package/.next/standalone/.next/static/{ncDe4k4gvD0788HAnq_3G → PcpzUspSK8QDdwzAJz8br}/_ssgManifest.js +0 -0
  800. /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