@jlongo78/agent-spaces 0.9.6 → 0.9.8

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 (917) hide show
  1. package/.next/standalone/.claude/settings.local.json +68 -0
  2. package/.next/standalone/.claude/spaces-env.json +1 -0
  3. package/.next/standalone/.next/BUILD_ID +1 -1
  4. package/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  5. package/.next/standalone/.next/build-manifest.json +2 -2
  6. package/.next/standalone/.next/prerender-manifest.json +3 -3
  7. package/.next/standalone/.next/required-server-files.json +19 -19
  8. package/.next/standalone/.next/routes-manifest.json +6 -0
  9. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +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_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  24. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  26. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  33. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  34. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  35. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  36. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  38. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  41. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  42. package/.next/standalone/.next/server/app/admin/analytics.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  44. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  45. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +2 -2
  48. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  51. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  52. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  53. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  54. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  55. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  58. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  59. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  60. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  61. package/.next/standalone/.next/server/app/analytics.html +1 -1
  62. package/.next/standalone/.next/server/app/analytics.rsc +2 -2
  63. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
  67. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  68. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  69. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  70. package/.next/standalone/.next/server/app/api/analytics/overview/route.js +1 -1
  71. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +1 -1
  75. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +1 -1
  77. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +1 -1
  79. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +1 -1
  81. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/bulk/route.js +1 -1
  83. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/config/route.js +1 -1
  85. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/cortex/context/route.js +1 -1
  87. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +1 -1
  89. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +1 -1
  91. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +1 -1
  93. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +1 -1
  95. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +1 -1
  97. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/cortex/export/route.js +1 -1
  99. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js +1 -1
  103. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js +1 -1
  105. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js +1 -1
  109. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js +1 -1
  111. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js +1 -1
  115. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/import/route.js +1 -1
  117. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js +1 -1
  119. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js +1 -1
  121. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js +1 -1
  123. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js +1 -1
  125. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js +1 -1
  127. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js +1 -1
  129. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js +1 -1
  131. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js +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 +1 -1
  135. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js +1 -1
  139. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js +1 -1
  141. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/search/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/cortex/settings/route.js +1 -1
  145. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/cortex/status/route.js +1 -1
  147. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js +1 -1
  149. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/cortex/usage/route.js +1 -1
  151. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js +1 -1
  153. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/events/route.js +1 -1
  155. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/files/route.js +1 -1
  157. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/folders/route.js +1 -1
  159. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/network/handshake/route.js +1 -1
  161. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js +1 -1
  163. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/network/panes/route.js +1 -1
  165. package/.next/standalone/.next/server/app/api/network/panes/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/network/projects/route.js +1 -1
  167. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/network/search/route.js +1 -1
  169. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +1 -1
  171. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +1 -1
  173. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/network/sessions/route.js +1 -1
  175. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +1 -1
  177. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +1 -1
  179. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js +1 -1
  181. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/panes/[id]/route.js +1 -1
  183. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/panes/route.js +1 -1
  185. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/projects/route.js +1 -1
  187. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js +1 -1
  189. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js +1 -1
  191. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/search/route.js +2 -2
  193. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +1 -1
  195. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js +1 -1
  197. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +1 -1
  199. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/sessions/route.js +2 -2
  201. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/sync/route.js +1 -1
  203. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/tags/route.js +1 -1
  205. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/tier/route.js +1 -1
  207. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/whisper/config/route.js +1 -1
  209. package/.next/standalone/.next/server/app/api/whisper/config/route.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  211. package/.next/standalone/.next/server/app/api/wizard/chart/route/app-paths-manifest.json +3 -0
  212. package/.next/standalone/.next/server/app/api/wizard/chart/route/build-manifest.json +11 -0
  213. package/.next/standalone/.next/server/app/api/wizard/chart/route/server-reference-manifest.json +4 -0
  214. package/.next/standalone/.next/server/app/api/wizard/chart/route.js +7 -0
  215. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.map +5 -0
  216. package/.next/standalone/.next/server/app/api/wizard/chart/route.js.nft.json +1 -0
  217. package/.next/standalone/.next/server/app/api/wizard/chart/route_client-reference-manifest.js +2 -0
  218. package/.next/standalone/.next/server/app/api/wizard/chat/route.js +1 -1
  219. package/.next/standalone/.next/server/app/api/wizard/chat/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js +1 -1
  221. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js +1 -1
  223. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js +1 -1
  225. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js +1 -1
  227. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js +1 -1
  229. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js +1 -1
  231. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/workspaces/route.js +2 -2
  233. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/app/cortex.html +1 -1
  235. package/.next/standalone/.next/server/app/cortex.rsc +3 -3
  236. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +2 -2
  237. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  238. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  239. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +3 -3
  240. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  241. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  242. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  243. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  244. package/.next/standalone/.next/server/app/login.html +1 -1
  245. package/.next/standalone/.next/server/app/login.rsc +2 -2
  246. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  247. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  248. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  249. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  250. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  251. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  252. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  253. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  254. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  255. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  256. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  257. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  258. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  259. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  260. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  261. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  262. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  263. package/.next/standalone/.next/server/app/m/sessions/[id]/page.js.nft.json +1 -1
  264. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  265. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  266. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  267. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  268. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  269. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  270. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  271. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  272. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  273. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  274. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  275. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  276. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  277. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  278. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  279. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  281. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  282. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  284. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  285. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  286. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  287. package/.next/standalone/.next/server/app/m/terminal.rsc +3 -3
  288. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +3 -3
  289. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  290. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  291. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  292. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +2 -2
  293. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  294. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/m.html +1 -1
  296. package/.next/standalone/.next/server/app/m.rsc +2 -2
  297. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  298. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  299. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  300. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  301. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  303. package/.next/standalone/.next/server/app/network.html +1 -1
  304. package/.next/standalone/.next/server/app/network.rsc +2 -2
  305. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  308. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  309. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  310. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  311. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/projects.html +1 -1
  313. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  314. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  315. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  317. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  318. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  319. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  320. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  321. package/.next/standalone/.next/server/app/sessions.html +1 -1
  322. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  323. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  324. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  325. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  327. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  329. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  330. package/.next/standalone/.next/server/app/settings.html +1 -1
  331. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  332. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  334. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  335. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  336. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  338. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  339. package/.next/standalone/.next/server/app/terminal.html +1 -1
  340. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  341. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  342. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  343. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  344. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  345. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  347. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  348. package/.next/standalone/.next/server/app/vr/page/react-loadable-manifest.json +1 -1
  349. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  350. package/.next/standalone/.next/server/app/vr.html +1 -1
  351. package/.next/standalone/.next/server/app/vr.rsc +3 -3
  352. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +3 -3
  353. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  354. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  356. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +2 -2
  357. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  359. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  360. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  361. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  363. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  364. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  365. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  366. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  367. package/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  368. package/.next/standalone/.next/server/chunks/[root-of-the-server]__00e90fc6._.js +98 -0
  369. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01ab8675._.js +98 -0
  370. package/.next/standalone/.next/server/chunks/[root-of-the-server]__03974f05._.js +98 -0
  371. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__bb331da9._.js → [root-of-the-server]__046c9b91._.js} +3 -3
  372. package/.next/standalone/.next/server/chunks/[root-of-the-server]__04ae6bf0._.js +98 -0
  373. package/.next/standalone/.next/server/chunks/[root-of-the-server]__056fa416._.js +1 -1
  374. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ac4ea3f._.js +3 -0
  375. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b8e64cb._.js +98 -0
  376. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__d95165f0._.js → [root-of-the-server]__0facd39e._.js} +3 -3
  377. package/.next/standalone/.next/server/chunks/[root-of-the-server]__10bc76a3._.js +3 -0
  378. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__9d68157b._.js → [root-of-the-server]__115f3934._.js} +3 -3
  379. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11f155f1._.js +3 -0
  380. package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +22 -33
  381. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__91e23c96._.js → [root-of-the-server]__17a3b966._.js} +3 -3
  382. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__277d9445._.js → [root-of-the-server]__17d3a2b2._.js} +3 -3
  383. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a86c055._.js +98 -0
  384. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20b5e9c4._.js +3 -0
  385. package/.next/standalone/.next/server/chunks/[root-of-the-server]__28d6fbd8._.js +98 -0
  386. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__04f04898._.js → [root-of-the-server]__2a3f866b._.js} +2 -2
  387. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__a95bb38b._.js → [root-of-the-server]__316617e7._.js} +2 -2
  388. package/.next/standalone/.next/server/chunks/[root-of-the-server]__32ad8f71._.js +98 -0
  389. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__6fe5e6c8._.js → [root-of-the-server]__35457394._.js} +2 -2
  390. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__1f054c65._.js → [root-of-the-server]__35de78e6._.js} +3 -3
  391. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3685ffcb._.js +98 -0
  392. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__614458b7._.js → [root-of-the-server]__38954988._.js} +3 -3
  393. package/.next/standalone/.next/server/chunks/[root-of-the-server]__426ad936._.js +106 -0
  394. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4985c034._.js +98 -0
  395. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c6ce9ed._.js +98 -0
  396. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5cebe58a._.js +98 -0
  397. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d5e4789._.js +98 -0
  398. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65676930._.js +3 -0
  399. package/.next/standalone/.next/server/chunks/[root-of-the-server]__67cab326._.js +58 -0
  400. package/.next/standalone/.next/server/chunks/[root-of-the-server]__698c6f01._.js +98 -0
  401. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6c64af29._.js +131 -0
  402. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73aed9f5._.js +98 -0
  403. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__ac84b704._.js → [root-of-the-server]__79b6a9bb._.js} +3 -3
  404. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e56abacf._.js → [root-of-the-server]__7db704c6._.js} +4 -4
  405. package/.next/standalone/.next/server/chunks/[root-of-the-server]__812ca02b._.js +98 -0
  406. package/.next/standalone/.next/server/chunks/[root-of-the-server]__821f50fa._.js +98 -0
  407. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8716b86e._.js +98 -0
  408. package/.next/standalone/.next/server/chunks/[root-of-the-server]__884ef754._.js +98 -0
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88cdbd68._.js +98 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__89d9aba9._.js +98 -0
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8d536cb5._.js +98 -0
  412. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df8c5d1._.js +98 -0
  413. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2d7a454e._.js → [root-of-the-server]__8f2ccc41._.js} +3 -3
  414. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2a2c5fc5._.js → [root-of-the-server]__95c9d682._.js} +4 -4
  415. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9e5d7774._.js +98 -0
  416. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__cc6e2885._.js → [root-of-the-server]__9edcff87._.js} +2 -2
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a049dfc2._.js +98 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a5b4bb9a._.js +98 -0
  419. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__929ea03a._.js → [root-of-the-server]__a83262a1._.js} +2 -2
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9cd1240._.js +98 -0
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9d7f822._.js +98 -0
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad08c221._.js +98 -0
  423. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad585f2f._.js +98 -0
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__afcb8f7d._.js +98 -0
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bc250d43._.js +98 -0
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bce2a6e7._.js +98 -0
  427. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c011bf91._.js +98 -0
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0ac2895._.js +3 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c130a00c._.js +1 -1
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c37d6380._.js +3 -0
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cae392eb._.js +98 -0
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cc2616bb._.js +3 -3
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d501fa9b._.js +98 -0
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d59c6c15._.js +98 -0
  435. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5c1db32._.js +98 -0
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d5d92527._.js +1 -1
  437. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dba60c86._.js +98 -0
  438. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__2384f98e._.js → [root-of-the-server]__de14b9ae._.js} +3 -3
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e10643d1._.js +98 -0
  440. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00fdfbda._.js → [root-of-the-server]__e2a996e5._.js} +2 -2
  441. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__4d903941._.js → [root-of-the-server]__e3477417._.js} +3 -3
  442. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__32dc5513._.js → [root-of-the-server]__e4db362e._.js} +2 -2
  443. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__49e42a3a._.js → [root-of-the-server]__e4e70b86._.js} +3 -3
  444. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__ac39ecc7._.js → [root-of-the-server]__e54925af._.js} +3 -3
  445. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e8edc5b0._.js +98 -0
  446. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__eafd040b._.js → [root-of-the-server]__eab4d83b._.js} +2 -2
  447. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ead29015._.js +1 -1
  448. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__194955d4._.js → [root-of-the-server]__f056fd83._.js} +3 -3
  449. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f0e99572._.js +98 -0
  450. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fe1e16d0._.js +98 -0
  451. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9cd277._.js +98 -0
  452. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ffaea2ce._.js +98 -0
  453. package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_wizard_chart_route_actions_888e2ec1.js +3 -0
  454. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2cffc362._.js +3 -0
  455. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__f1050870._.js → [root-of-the-server]__47c97637._.js} +2 -2
  456. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  457. package/.next/standalone/.next/server/chunks/ssr/_17b946fd._.js +3 -0
  458. package/.next/standalone/.next/server/chunks/ssr/_2a1d79e7._.js +1 -1
  459. package/.next/standalone/.next/server/chunks/ssr/_5c3c4cfa._.js +7 -5
  460. package/.next/standalone/.next/server/chunks/ssr/_ba432382._.js +7 -5
  461. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_cortex_page_tsx_0f33d8b3._.js +1 -1
  462. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +4 -4
  463. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  464. package/.next/standalone/.next/server/middleware-manifest.json +5 -5
  465. package/.next/standalone/.next/server/pages/404.html +1 -1
  466. package/.next/standalone/.next/server/pages/500.html +2 -2
  467. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  468. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  469. package/.next/standalone/.next/static/chunks/0852575eb90c1e8d.js +85 -0
  470. package/.next/standalone/.next/static/chunks/{74d0ac0b1d0a1b79.js → 10b00b4f66102dcf.js} +1 -1
  471. package/.next/standalone/.next/static/chunks/{16eb77953dee9ea3.js → 19c71a8376c23c58.js} +1 -1
  472. package/.next/standalone/.next/static/chunks/2b769d1597e4fc1c.css +3 -0
  473. package/.next/standalone/.next/static/chunks/{3e91fc608659c524.js → 350271fe79509caf.js} +1 -1
  474. package/.next/standalone/.next/static/chunks/{70423c7afd8abf5f.js → 597847c22200c212.js} +1 -1
  475. package/.next/standalone/.next/static/chunks/{fb0abd1933b2b2e1.js → 7f6a14f1849fa94d.js} +1 -1
  476. package/.next/standalone/.next/static/chunks/{7ecd9bbb0ce4d68a.js → b7c8fe9b7275a84f.js} +1 -1
  477. package/.next/standalone/.next/static/chunks/{6245135a7afb8c7b.js → c9b10fc55516d142.js} +8 -6
  478. package/.next/standalone/.next/static/chunks/d0065f48eab94944.js +1 -0
  479. package/.next/standalone/.next/static/chunks/{180c1b9ff31b979f.js → f7b34c807badf95d.js} +8 -6
  480. package/.next/standalone/.spaces/cortex-context.md +50 -144
  481. package/.next/standalone/LICENSE +661 -661
  482. package/.next/standalone/NOTICE +5 -5
  483. package/.next/standalone/README.md +131 -131
  484. package/.next/standalone/bin/cortex-hook.js +79 -79
  485. package/.next/standalone/bin/cortex-hook.sh +62 -62
  486. package/.next/standalone/bin/cortex-learn-hook.js +138 -138
  487. package/.next/standalone/bin/cortex-mcp.js +60 -60
  488. package/.next/standalone/bin/cortex-pi-extension.ts +170 -170
  489. package/.next/standalone/bin/fix-standalone-externals.js +79 -79
  490. package/.next/standalone/bin/lib/auto-setup.js +110 -110
  491. package/.next/standalone/bin/mdns-service.js +171 -171
  492. package/.next/standalone/bin/postinstall.js +35 -35
  493. package/.next/standalone/bin/setup-admin.js +195 -195
  494. package/.next/standalone/bin/spaces-dev.js +247 -247
  495. package/.next/standalone/bin/spaces-install.js +660 -660
  496. package/.next/standalone/bin/spaces-postinstall.js +50 -50
  497. package/.next/standalone/bin/spaces-reset-totp.js +50 -50
  498. package/.next/standalone/bin/spaces-service.js +1046 -1046
  499. package/.next/standalone/bin/spaces-setup.js +253 -253
  500. package/.next/standalone/bin/spaces.js +808 -805
  501. package/.next/standalone/bin/ssh-auth-keys.sh +68 -68
  502. package/.next/standalone/bin/terminal-server.js +2819 -2781
  503. package/.next/standalone/cortex-hook-debug.log +57 -23
  504. package/.next/standalone/docker-compose.yml +28 -28
  505. package/.next/standalone/docs/architecture.md +387 -387
  506. package/.next/standalone/docs/cortex-integration-reference.md +268 -268
  507. package/.next/standalone/docs/cortex.md +293 -293
  508. package/.next/standalone/docs/getting-started.md +96 -96
  509. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +133 -133
  510. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +959 -959
  511. package/.next/standalone/docs/plans/2026-03-02-security-audit.md +229 -229
  512. package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +146 -146
  513. package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +254 -254
  514. package/.next/standalone/docs/server-install.md +564 -564
  515. package/.next/standalone/docs/social-card.html +150 -150
  516. package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +5270 -5270
  517. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +1387 -1387
  518. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +1923 -1923
  519. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +1113 -1113
  520. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +853 -853
  521. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +1274 -1274
  522. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +933 -933
  523. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +1080 -1080
  524. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +768 -768
  525. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +1108 -1108
  526. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +1846 -1846
  527. package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +1639 -1639
  528. package/.next/standalone/docs/superpowers/plans/2026-03-27-dockview-pane-layout.md +98 -98
  529. package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +320 -320
  530. package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +720 -720
  531. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +268 -268
  532. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +623 -623
  533. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +263 -263
  534. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +240 -240
  535. package/.next/standalone/docs/superpowers/specs/2026-03-16-pane-ux-design.md +77 -77
  536. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +341 -341
  537. package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +288 -288
  538. package/.next/standalone/docs/superpowers/specs/2026-03-27-pane-diff-review-and-project-wizard-design.md +322 -322
  539. package/.next/standalone/docs/tiers.md +104 -104
  540. package/.next/standalone/eslint.config.mjs +18 -18
  541. package/.next/standalone/next.config.ts +20 -20
  542. package/.next/standalone/nginx.conf +53 -53
  543. package/.next/standalone/node_modules/@img/sharp-win32-x64/lib/sharp-win32-x64.node +0 -0
  544. package/.next/standalone/node_modules/@img/{sharp-linux-x64 → sharp-win32-x64}/package.json +39 -46
  545. package/.next/standalone/package-lock.json +14985 -14986
  546. package/.next/standalone/package.json +111 -111
  547. package/.next/standalone/postcss.config.mjs +7 -7
  548. package/.next/standalone/scripts/rebuild.cmd +65 -65
  549. package/.next/standalone/scripts/rebuild.sh +59 -59
  550. package/.next/standalone/server.js +1 -1
  551. package/.next/standalone/src/app/(desktop)/admin/analytics/page.tsx +266 -266
  552. package/.next/standalone/src/app/(desktop)/admin/users/page.tsx +399 -399
  553. package/.next/standalone/src/app/(desktop)/analytics/page.tsx +166 -166
  554. package/.next/standalone/src/app/(desktop)/cortex/page.tsx +81 -81
  555. package/.next/standalone/src/app/(desktop)/dashboard-client.tsx +56 -56
  556. package/.next/standalone/src/app/(desktop)/layout.tsx +18 -18
  557. package/.next/standalone/src/app/(desktop)/network/page.tsx +137 -137
  558. package/.next/standalone/src/app/(desktop)/page.tsx +17 -17
  559. package/.next/standalone/src/app/(desktop)/projects/page.tsx +68 -68
  560. package/.next/standalone/src/app/(desktop)/sessions/[id]/page.tsx +519 -519
  561. package/.next/standalone/src/app/(desktop)/sessions/page.tsx +145 -145
  562. package/.next/standalone/src/app/(desktop)/settings/page.tsx +446 -446
  563. package/.next/standalone/src/app/(desktop)/terminal/layout.tsx +7 -7
  564. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +1330 -1291
  565. package/.next/standalone/src/app/(desktop)/terminal/pane/[id]/page.tsx +211 -211
  566. package/.next/standalone/src/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page.tsx +252 -252
  567. package/.next/standalone/src/app/(desktop)/workspaces/page.tsx +12 -12
  568. package/.next/standalone/src/app/api/admin/analytics/route.ts +10 -10
  569. package/.next/standalone/src/app/api/admin/users/[id]/route.ts +20 -20
  570. package/.next/standalone/src/app/api/admin/users/route.ts +15 -15
  571. package/.next/standalone/src/app/api/analytics/overview/route.ts +80 -80
  572. package/.next/standalone/src/app/api/auth/login/route.ts +10 -10
  573. package/.next/standalone/src/app/api/auth/logout/route.ts +9 -9
  574. package/.next/standalone/src/app/api/auth/me/route.ts +22 -22
  575. package/.next/standalone/src/app/api/auth/totp/setup/route.ts +10 -10
  576. package/.next/standalone/src/app/api/auth/totp/status/route.ts +10 -10
  577. package/.next/standalone/src/app/api/auth/totp/verify/route.ts +10 -10
  578. package/.next/standalone/src/app/api/benchmark/lobes/route.ts +16 -16
  579. package/.next/standalone/src/app/api/benchmark/run/route.ts +113 -92
  580. package/.next/standalone/src/app/api/benchmark/runs/[id]/route.ts +26 -26
  581. package/.next/standalone/src/app/api/benchmark/runs/route.ts +16 -16
  582. package/.next/standalone/src/app/api/benchmark/status/route.ts +35 -35
  583. package/.next/standalone/src/app/api/bulk/route.ts +34 -34
  584. package/.next/standalone/src/app/api/chat/route.ts +85 -85
  585. package/.next/standalone/src/app/api/config/route.ts +30 -30
  586. package/.next/standalone/src/app/api/cortex/context/route.ts +78 -78
  587. package/.next/standalone/src/app/api/cortex/curation/assess/route.ts +27 -27
  588. package/.next/standalone/src/app/api/cortex/curation/publish/route.ts +23 -23
  589. package/.next/standalone/src/app/api/cortex/curation/refine/route.ts +23 -23
  590. package/.next/standalone/src/app/api/cortex/curation/review/route.ts +29 -29
  591. package/.next/standalone/src/app/api/cortex/curation/seed/route.ts +23 -23
  592. package/.next/standalone/src/app/api/cortex/export/route.ts +40 -40
  593. package/.next/standalone/src/app/api/cortex/federation/pending/route.ts +20 -20
  594. package/.next/standalone/src/app/api/cortex/federation/resolve/route.ts +43 -43
  595. package/.next/standalone/src/app/api/cortex/federation/search/route.ts +35 -35
  596. package/.next/standalone/src/app/api/cortex/federation/teach/route.ts +76 -76
  597. package/.next/standalone/src/app/api/cortex/graph/edges/route.ts +112 -112
  598. package/.next/standalone/src/app/api/cortex/graph/entities/[id]/route.ts +73 -73
  599. package/.next/standalone/src/app/api/cortex/graph/entities/route.ts +75 -75
  600. package/.next/standalone/src/app/api/cortex/graph/populate/route.ts +203 -203
  601. package/.next/standalone/src/app/api/cortex/import/route.ts +75 -75
  602. package/.next/standalone/src/app/api/cortex/import/status/route.ts +15 -15
  603. package/.next/standalone/src/app/api/cortex/ingest/bootstrap/route.ts +39 -39
  604. package/.next/standalone/src/app/api/cortex/ingest/status/route.ts +15 -15
  605. package/.next/standalone/src/app/api/cortex/knowledge/[id]/route.ts +91 -91
  606. package/.next/standalone/src/app/api/cortex/knowledge/route.ts +97 -97
  607. package/.next/standalone/src/app/api/cortex/lobes/[id]/route.ts +67 -67
  608. package/.next/standalone/src/app/api/cortex/lobes/route.ts +22 -22
  609. package/.next/standalone/src/app/api/cortex/lobes/share/route.ts +80 -80
  610. package/.next/standalone/src/app/api/cortex/marketplace/browse/route.ts +43 -43
  611. package/.next/standalone/src/app/api/cortex/marketplace/preview/route.ts +46 -46
  612. package/.next/standalone/src/app/api/cortex/mcp/call/route.ts +11 -11
  613. package/.next/standalone/src/app/api/cortex/mcp/tools/route.ts +8 -8
  614. package/.next/standalone/src/app/api/cortex/search/route.ts +57 -45
  615. package/.next/standalone/src/app/api/cortex/settings/route.ts +35 -35
  616. package/.next/standalone/src/app/api/cortex/status/route.ts +169 -169
  617. package/.next/standalone/src/app/api/cortex/timeline/route.ts +42 -42
  618. package/.next/standalone/src/app/api/cortex/usage/route.ts +31 -31
  619. package/.next/standalone/src/app/api/cortex/workspace/[id]/context/route.ts +41 -41
  620. package/.next/standalone/src/app/api/events/route.ts +40 -40
  621. package/.next/standalone/src/app/api/files/route.ts +187 -187
  622. package/.next/standalone/src/app/api/folders/route.ts +107 -97
  623. package/.next/standalone/src/app/api/network/connect-callback/route.ts +11 -11
  624. package/.next/standalone/src/app/api/network/connect-request/[id]/route.ts +11 -11
  625. package/.next/standalone/src/app/api/network/connect-request/route.ts +17 -17
  626. package/.next/standalone/src/app/api/network/discovered/route.ts +9 -9
  627. package/.next/standalone/src/app/api/network/handshake/route.ts +25 -25
  628. package/.next/standalone/src/app/api/network/health/route.ts +10 -10
  629. package/.next/standalone/src/app/api/network/identity/route.ts +15 -15
  630. package/.next/standalone/src/app/api/network/keys/[id]/route.ts +10 -10
  631. package/.next/standalone/src/app/api/network/keys/route.ts +15 -15
  632. package/.next/standalone/src/app/api/network/nodes/[id]/route.ts +15 -15
  633. package/.next/standalone/src/app/api/network/nodes/check/route.ts +9 -9
  634. package/.next/standalone/src/app/api/network/nodes/route.ts +15 -15
  635. package/.next/standalone/src/app/api/network/panes/[id]/route.ts +78 -62
  636. package/.next/standalone/src/app/api/network/panes/route.ts +61 -50
  637. package/.next/standalone/src/app/api/network/projects/route.ts +32 -25
  638. package/.next/standalone/src/app/api/network/proxy/[nodeId]/[...path]/route.ts +25 -25
  639. package/.next/standalone/src/app/api/network/search/route.ts +45 -38
  640. package/.next/standalone/src/app/api/network/sessions/[id]/messages/route.ts +43 -36
  641. package/.next/standalone/src/app/api/network/sessions/[id]/route.ts +41 -34
  642. package/.next/standalone/src/app/api/network/sessions/route.ts +50 -43
  643. package/.next/standalone/src/app/api/network/terminal/token/route.ts +10 -10
  644. package/.next/standalone/src/app/api/network/workspaces/[id]/route.ts +80 -71
  645. package/.next/standalone/src/app/api/network/workspaces/route.ts +87 -85
  646. package/.next/standalone/src/app/api/panes/[id]/diff/route.ts +121 -121
  647. package/.next/standalone/src/app/api/panes/[id]/route.ts +60 -60
  648. package/.next/standalone/src/app/api/panes/route.ts +39 -39
  649. package/.next/standalone/src/app/api/projects/route.ts +13 -13
  650. package/.next/standalone/src/app/api/proxy/models/[modelId]/[...path]/route.ts +80 -80
  651. package/.next/standalone/src/app/api/proxy/models/[modelId]/status/route.ts +33 -33
  652. package/.next/standalone/src/app/api/search/route.ts +47 -47
  653. package/.next/standalone/src/app/api/sessions/[id]/chat/route.ts +120 -120
  654. package/.next/standalone/src/app/api/sessions/[id]/messages/route.ts +34 -34
  655. package/.next/standalone/src/app/api/sessions/[id]/route.ts +73 -73
  656. package/.next/standalone/src/app/api/sessions/route.ts +64 -64
  657. package/.next/standalone/src/app/api/sync/route.ts +24 -24
  658. package/.next/standalone/src/app/api/tags/route.ts +35 -35
  659. package/.next/standalone/src/app/api/tier/route.ts +16 -16
  660. package/.next/standalone/src/app/api/updates/route.ts +65 -65
  661. package/.next/standalone/src/app/api/whisper/config/route.ts +50 -42
  662. package/.next/standalone/src/app/api/whisper/route.ts +91 -91
  663. package/.next/standalone/src/app/api/wizard/chart/route.ts +129 -0
  664. package/.next/standalone/src/app/api/wizard/chat/route.ts +113 -113
  665. package/.next/standalone/src/app/api/workspaces/[id]/context/[key]/route.ts +39 -39
  666. package/.next/standalone/src/app/api/workspaces/[id]/context/route.ts +28 -28
  667. package/.next/standalone/src/app/api/workspaces/[id]/messages/[msgId]/route.ts +17 -17
  668. package/.next/standalone/src/app/api/workspaces/[id]/messages/route.ts +39 -39
  669. package/.next/standalone/src/app/api/workspaces/[id]/route.ts +47 -47
  670. package/.next/standalone/src/app/api/workspaces/[id]/sessions/route.ts +62 -62
  671. package/.next/standalone/src/app/api/workspaces/route.ts +79 -79
  672. package/.next/standalone/src/app/globals.css +88 -88
  673. package/.next/standalone/src/app/layout.tsx +33 -33
  674. package/.next/standalone/src/app/login/layout.tsx +7 -7
  675. package/.next/standalone/src/app/login/page.tsx +315 -315
  676. package/.next/standalone/src/app/m/layout.tsx +16 -16
  677. package/.next/standalone/src/app/m/page.tsx +118 -118
  678. package/.next/standalone/src/app/m/projects/page.tsx +64 -64
  679. package/.next/standalone/src/app/m/sessions/[id]/page.tsx +168 -168
  680. package/.next/standalone/src/app/m/sessions/page.tsx +177 -177
  681. package/.next/standalone/src/app/m/settings/page.tsx +230 -230
  682. package/.next/standalone/src/app/m/terminal/page.tsx +413 -413
  683. package/.next/standalone/src/app/vr/page.tsx +21 -21
  684. package/.next/standalone/src/app/vr/vr-app.tsx +163 -163
  685. package/.next/standalone/src/app/vr/vr-controls.tsx +139 -139
  686. package/.next/standalone/src/app/vr/vr-door.tsx +82 -82
  687. package/.next/standalone/src/app/vr/vr-environment.tsx +71 -71
  688. package/.next/standalone/src/app/vr/vr-gaze.tsx +89 -89
  689. package/.next/standalone/src/app/vr/vr-layout.ts +49 -49
  690. package/.next/standalone/src/app/vr/vr-lobby.tsx +97 -97
  691. package/.next/standalone/src/app/vr/vr-pane.tsx +195 -195
  692. package/.next/standalone/src/app/vr/vr-room.tsx +79 -79
  693. package/.next/standalone/src/app/vr/vr-terminal.tsx +303 -303
  694. package/.next/standalone/src/components/auth/totp-gate.tsx +183 -183
  695. package/.next/standalone/src/components/bus/activity-panel.tsx +261 -261
  696. package/.next/standalone/src/components/common/color-picker.tsx +35 -35
  697. package/.next/standalone/src/components/common/dev-directory-picker.tsx +339 -339
  698. package/.next/standalone/src/components/common/folder-picker.tsx +200 -200
  699. package/.next/standalone/src/components/common/tag-picker.tsx +190 -190
  700. package/.next/standalone/src/components/common/workspace-picker.tsx +113 -113
  701. package/.next/standalone/src/components/cortex/benchmark-tab.tsx +894 -880
  702. package/.next/standalone/src/components/cortex/constants.ts +29 -29
  703. package/.next/standalone/src/components/cortex/cortex-dashboard.tsx +304 -304
  704. package/.next/standalone/src/components/cortex/cortex-indicator.tsx +44 -44
  705. package/.next/standalone/src/components/cortex/cortex-panel.tsx +140 -140
  706. package/.next/standalone/src/components/cortex/cortex-settings.tsx +280 -280
  707. package/.next/standalone/src/components/cortex/curation-tab.tsx +810 -810
  708. package/.next/standalone/src/components/cortex/entity-detail.tsx +101 -101
  709. package/.next/standalone/src/components/cortex/entity-graph.tsx +382 -382
  710. package/.next/standalone/src/components/cortex/import-dialog.tsx +212 -212
  711. package/.next/standalone/src/components/cortex/injection-badge.tsx +72 -72
  712. package/.next/standalone/src/components/cortex/knowledge-card.tsx +109 -109
  713. package/.next/standalone/src/components/cortex/knowledge-tab.tsx +158 -158
  714. package/.next/standalone/src/components/cortex/lobe-settings.tsx +215 -215
  715. package/.next/standalone/src/components/cortex/marketplace-card.tsx +126 -126
  716. package/.next/standalone/src/components/cortex/marketplace-tab.tsx +113 -113
  717. package/.next/standalone/src/components/dashboard/activity-chart.tsx +41 -41
  718. package/.next/standalone/src/components/dashboard/model-usage-chart.tsx +61 -61
  719. package/.next/standalone/src/components/dashboard/recent-sessions.tsx +68 -68
  720. package/.next/standalone/src/components/dashboard/stats-cards.tsx +36 -36
  721. package/.next/standalone/src/components/files/file-explorer.tsx +703 -703
  722. package/.next/standalone/src/components/layout/providers.tsx +38 -38
  723. package/.next/standalone/src/components/layout/sidebar.tsx +170 -170
  724. package/.next/standalone/src/components/layout/tier-provider.tsx +53 -53
  725. package/.next/standalone/src/components/layout/update-banner.tsx +92 -92
  726. package/.next/standalone/src/components/mobile/bottom-nav.tsx +46 -46
  727. package/.next/standalone/src/components/mobile/immersive-voice-button.tsx +123 -123
  728. package/.next/standalone/src/components/mobile/mobile-chat-input.tsx +244 -244
  729. package/.next/standalone/src/components/mobile/mobile-header.tsx +44 -44
  730. package/.next/standalone/src/components/mobile/mobile-session-card.tsx +56 -56
  731. package/.next/standalone/src/components/mobile/mobile-terminal-input.tsx +74 -74
  732. package/.next/standalone/src/components/mobile/mobile-terminal-pane.tsx +302 -302
  733. package/.next/standalone/src/components/mobile/mobile-terminal-toolbar.tsx +76 -76
  734. package/.next/standalone/src/components/mobile/pull-to-refresh.tsx +82 -82
  735. package/.next/standalone/src/components/mobile/voice-input.tsx +53 -53
  736. package/.next/standalone/src/components/network/api-key-list.tsx +190 -190
  737. package/.next/standalone/src/components/network/connection-requests.tsx +94 -94
  738. package/.next/standalone/src/components/network/node-add-dialog.tsx +131 -131
  739. package/.next/standalone/src/components/network/node-badge.tsx +26 -26
  740. package/.next/standalone/src/components/network/node-list.tsx +207 -207
  741. package/.next/standalone/src/components/network/node-selector.tsx +49 -49
  742. package/.next/standalone/src/components/sessions/session-filters.tsx +116 -116
  743. package/.next/standalone/src/components/sessions/session-list.tsx +485 -485
  744. package/.next/standalone/src/components/terminal/pane-diff-panel.tsx +179 -179
  745. package/.next/standalone/src/components/terminal/terminal-pane.tsx +1530 -1464
  746. package/.next/standalone/src/components/viewer/chat-input.tsx +275 -275
  747. package/.next/standalone/src/components/viewer/message-renderer.tsx +551 -551
  748. package/.next/standalone/src/components/wizard/chart-wizard.tsx +405 -0
  749. package/.next/standalone/src/components/wizard/project-wizard.tsx +153 -153
  750. package/.next/standalone/src/components/wizard/wizard-chat.tsx +99 -99
  751. package/.next/standalone/src/components/wizard/wizard-plan-summary.tsx +103 -103
  752. package/.next/standalone/src/components/wizard/wizard-review.tsx +225 -225
  753. package/.next/standalone/src/components/workspace/universe-cluster.tsx +131 -131
  754. package/.next/standalone/src/components/workspace/universe-orb.tsx +128 -128
  755. package/.next/standalone/src/components/workspace/universe-types.ts +22 -22
  756. package/.next/standalone/src/components/workspace/universe-utils.ts +11 -11
  757. package/.next/standalone/src/components/workspace/universe-view.tsx +397 -397
  758. package/.next/standalone/src/components/workspace/workspace-chooser.tsx +634 -634
  759. package/.next/standalone/src/hooks/use-benchmark.ts +72 -71
  760. package/.next/standalone/src/hooks/use-bus.ts +147 -147
  761. package/.next/standalone/src/hooks/use-idle-detection.ts +79 -79
  762. package/.next/standalone/src/hooks/use-network.ts +229 -229
  763. package/.next/standalone/src/hooks/use-sessions.ts +437 -437
  764. package/.next/standalone/src/hooks/use-speech-recognition.ts +114 -113
  765. package/.next/standalone/src/hooks/use-sse.ts +35 -35
  766. package/.next/standalone/src/hooks/use-tier.ts +39 -39
  767. package/.next/standalone/src/lib/agents.ts +97 -97
  768. package/.next/standalone/src/lib/aider/parser.ts +111 -111
  769. package/.next/standalone/src/lib/api.ts +19 -19
  770. package/.next/standalone/src/lib/auth.ts +47 -47
  771. package/.next/standalone/src/lib/claude/parser.ts +212 -212
  772. package/.next/standalone/src/lib/claude/stats.ts +204 -204
  773. package/.next/standalone/src/lib/codex/parser.test.ts +111 -111
  774. package/.next/standalone/src/lib/codex/parser.ts +287 -287
  775. package/.next/standalone/src/lib/config.ts +132 -132
  776. package/.next/standalone/src/lib/cortex/benchmark.ts +83 -67
  777. package/.next/standalone/src/lib/cortex/config.ts +42 -42
  778. package/.next/standalone/src/lib/cortex/debug.ts +10 -10
  779. package/.next/standalone/src/lib/cortex/distillation/usage-store.ts +18 -18
  780. package/.next/standalone/src/lib/cortex/graph/resolver.ts +10 -10
  781. package/.next/standalone/src/lib/cortex/graph/types.ts +22 -22
  782. package/.next/standalone/src/lib/cortex/index.ts +109 -56
  783. package/.next/standalone/src/lib/cortex/ingestion/bootstrap.ts +14 -14
  784. package/.next/standalone/src/lib/cortex/knowledge/compat.ts +14 -14
  785. package/.next/standalone/src/lib/cortex/knowledge/contradiction.ts +10 -10
  786. package/.next/standalone/src/lib/cortex/knowledge/types.ts +67 -67
  787. package/.next/standalone/src/lib/cortex/lobes/config.ts +16 -16
  788. package/.next/standalone/src/lib/cortex/lobes/resolver.ts +8 -8
  789. package/.next/standalone/src/lib/cortex/lobes/shares.ts +14 -14
  790. package/.next/standalone/src/lib/cortex/mcp/server.ts +12 -12
  791. package/.next/standalone/src/lib/cortex/portability/exporter.ts +6 -6
  792. package/.next/standalone/src/lib/cortex/portability/importer.ts +10 -10
  793. package/.next/standalone/src/lib/cortex/retrieval/context-engine.ts +10 -10
  794. package/.next/standalone/src/lib/cortex/types.ts +39 -39
  795. package/.next/standalone/src/lib/cost-calculator.ts +48 -48
  796. package/.next/standalone/src/lib/db/init.ts +71 -71
  797. package/.next/standalone/src/lib/db/queries.ts +740 -827
  798. package/.next/standalone/src/lib/db/schema.ts +206 -206
  799. package/.next/standalone/src/lib/events/sse.ts +36 -36
  800. package/.next/standalone/src/lib/forge/parser.ts +52 -52
  801. package/.next/standalone/src/lib/gemini/parser.ts +258 -258
  802. package/.next/standalone/src/lib/license.ts +56 -56
  803. package/.next/standalone/src/lib/pro.ts +31 -31
  804. package/.next/standalone/src/lib/shell-user.ts +101 -0
  805. package/.next/standalone/src/lib/sync/indexer.ts +504 -504
  806. package/.next/standalone/src/lib/sync/watcher.ts +64 -64
  807. package/.next/standalone/src/lib/teams.ts +31 -31
  808. package/.next/standalone/src/lib/telemetry.ts +75 -75
  809. package/.next/standalone/src/lib/terminal/server.ts +188 -188
  810. package/.next/standalone/src/lib/tier.ts +38 -38
  811. package/.next/standalone/src/lib/utils.ts +72 -72
  812. package/.next/standalone/src/lib/vms/manager.ts +121 -121
  813. package/.next/standalone/src/middleware.ts +133 -133
  814. package/.next/standalone/src/types/claude.ts +208 -208
  815. package/.next/standalone/src/types/network.ts +61 -61
  816. package/.next/standalone/tests/setup.ts +8 -8
  817. package/.next/standalone/tsconfig.json +34 -34
  818. package/.next/standalone/vitest.config.ts +24 -24
  819. package/LICENSE +661 -661
  820. package/README.md +131 -131
  821. package/bin/cortex-hook.js +79 -79
  822. package/bin/cortex-hook.sh +62 -62
  823. package/bin/cortex-learn-hook.js +138 -138
  824. package/bin/cortex-mcp.js +60 -60
  825. package/bin/cortex-pi-extension.ts +170 -170
  826. package/bin/fix-standalone-externals.js +79 -79
  827. package/bin/lib/auto-setup.js +110 -110
  828. package/bin/mdns-service.js +171 -171
  829. package/bin/postinstall.js +35 -35
  830. package/bin/setup-admin.js +195 -195
  831. package/bin/spaces-dev.js +247 -247
  832. package/bin/spaces-install.js +660 -660
  833. package/bin/spaces-postinstall.js +50 -50
  834. package/bin/spaces-reset-totp.js +50 -50
  835. package/bin/spaces-service.js +1046 -1046
  836. package/bin/spaces-setup.js +253 -253
  837. package/bin/spaces.js +808 -805
  838. package/bin/ssh-auth-keys.sh +68 -68
  839. package/bin/terminal-server.js +2819 -2781
  840. package/package.json +111 -111
  841. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0903a426._.js +0 -98
  842. package/.next/standalone/.next/server/chunks/[root-of-the-server]__09e8ccc9._.js +0 -98
  843. package/.next/standalone/.next/server/chunks/[root-of-the-server]__11c684b1._.js +0 -98
  844. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1572d4ef._.js +0 -98
  845. package/.next/standalone/.next/server/chunks/[root-of-the-server]__186cd0bb._.js +0 -3
  846. package/.next/standalone/.next/server/chunks/[root-of-the-server]__212760e6._.js +0 -98
  847. package/.next/standalone/.next/server/chunks/[root-of-the-server]__228595ec._.js +0 -98
  848. package/.next/standalone/.next/server/chunks/[root-of-the-server]__283c890f._.js +0 -3
  849. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f300a68._.js +0 -98
  850. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2f452778._.js +0 -98
  851. package/.next/standalone/.next/server/chunks/[root-of-the-server]__35f8e77e._.js +0 -98
  852. package/.next/standalone/.next/server/chunks/[root-of-the-server]__379fc2e9._.js +0 -98
  853. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3b40d79f._.js +0 -98
  854. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3d3dca2b._.js +0 -98
  855. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d5b78d2._.js +0 -98
  856. package/.next/standalone/.next/server/chunks/[root-of-the-server]__54163e52._.js +0 -98
  857. package/.next/standalone/.next/server/chunks/[root-of-the-server]__563c0817._.js +0 -3
  858. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5812f90a._.js +0 -98
  859. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5c5e87f5._.js +0 -98
  860. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60d15b16._.js +0 -98
  861. package/.next/standalone/.next/server/chunks/[root-of-the-server]__69d315e5._.js +0 -3
  862. package/.next/standalone/.next/server/chunks/[root-of-the-server]__71f29038._.js +0 -98
  863. package/.next/standalone/.next/server/chunks/[root-of-the-server]__74084e07._.js +0 -3
  864. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7921aa80._.js +0 -98
  865. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7e077dd8._.js +0 -98
  866. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7ebc4280._.js +0 -131
  867. package/.next/standalone/.next/server/chunks/[root-of-the-server]__857c60bb._.js +0 -98
  868. package/.next/standalone/.next/server/chunks/[root-of-the-server]__874fe565._.js +0 -98
  869. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8e2171f7._.js +0 -98
  870. package/.next/standalone/.next/server/chunks/[root-of-the-server]__95659b2d._.js +0 -98
  871. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9679b91e._.js +0 -98
  872. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a90729a1._.js +0 -98
  873. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ad4346fa._.js +0 -98
  874. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b0862d69._.js +0 -98
  875. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b43306ee._.js +0 -98
  876. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b689ff5e._.js +0 -106
  877. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba87daaa._.js +0 -98
  878. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c0461005._.js +0 -98
  879. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1deb5f3._.js +0 -98
  880. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c8a62f42._.js +0 -98
  881. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cabaac2b._.js +0 -98
  882. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cb027619._.js +0 -98
  883. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf608218._.js +0 -98
  884. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cfc1290d._.js +0 -98
  885. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d0109b9b._.js +0 -98
  886. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d0125483._.js +0 -3
  887. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d048ee6b._.js +0 -98
  888. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d12644e7._.js +0 -98
  889. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3cc946c._.js +0 -98
  890. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e6fd27f8._.js +0 -98
  891. package/.next/standalone/.next/server/chunks/[root-of-the-server]__efb8251e._.js +0 -98
  892. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f44c6882._.js +0 -98
  893. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f85283de._.js +0 -98
  894. package/.next/standalone/.next/server/chunks/[root-of-the-server]__feceb3e4._.js +0 -98
  895. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__843070a6._.js +0 -3
  896. package/.next/standalone/.next/server/chunks/ssr/_e84a0c06._.js +0 -3
  897. package/.next/standalone/.next/static/chunks/470cade58d4eceeb.css +0 -3
  898. package/.next/standalone/.next/static/chunks/9d4164833c2c1fd6.js +0 -85
  899. package/.next/standalone/.next/static/chunks/f091f4bf8d80fd07.js +0 -1
  900. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  901. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  902. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  903. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  904. package/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -42
  905. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  906. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -221
  907. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  908. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 +0 -0
  909. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -42
  910. package/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  911. package/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
  912. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
  913. package/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -46
  914. /package/.next/standalone/.next/static/{5S4TviTCiNiTjf6KjXjBo → u1pHON3drz1mBi7owkbBP}/_buildManifest.js +0 -0
  915. /package/.next/standalone/.next/static/{5S4TviTCiNiTjf6KjXjBo → u1pHON3drz1mBi7owkbBP}/_clientMiddlewareManifest.json +0 -0
  916. /package/.next/standalone/.next/static/{5S4TviTCiNiTjf6KjXjBo → u1pHON3drz1mBi7owkbBP}/_ssgManifest.js +0 -0
  917. /package/.next/standalone/node_modules/@img/{sharp-libvips-linux-x64 → sharp-win32-x64}/versions.json +0 -0
@@ -1,11 +1,13 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,398361,e=>{"use strict";let t=(0,e.i(475254).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],398361)},367240,e=>{"use strict";let t=(0,e.i(475254).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],367240)},424134,778917,e=>{"use strict";var t=e.i(247167),r=e.i(843476),n=e.i(271645),i=e.i(174080),s=e.i(37727),a=e.i(788699),c=e.i(643531),o=e.i(367240),l=e.i(398361),d=e.i(475254);let u=(0,d.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),x=(0,d.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>x],778917);var h=e.i(248256),m=e.i(761911),f=e.i(387951),p=e.i(687246),b=e.i(569074),g=e.i(87309);let y=(0,d.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),w=(0,d.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var v=e.i(239616);let j=(0,d.default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]);var N=e.i(531278),z=e.i(174886),k=e.i(209165);function S({paneId:e,onClose:t}){let[i,a]=(0,n.useState)(null),[l,d]=(0,n.useState)(!0),[u,x]=(0,n.useState)(null),[h,m]=(0,n.useState)(!1),[f,p]=(0,n.useState)(null),b=()=>{d(!0),x(null),fetch((0,k.api)(`/api/panes/${e}/diff`)).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})).then(e=>{a(e),d(!1)}).catch(e=>{x(e.message),d(!1)})};(0,n.useEffect)(()=>{b()},[e]);let g=async()=>{await fetch((0,k.api)(`/api/panes/${e}/diff`),{method:"POST"}),b()};if(l)return(0,r.jsx)("div",{className:"flex items-center justify-center py-8 bg-zinc-900 border-t border-zinc-700",children:(0,r.jsx)(N.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"})});if(u)return(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900 border-t border-zinc-700 text-xs",children:[(0,r.jsx)("span",{className:"text-red-400",children:u}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",children:(0,r.jsx)(s.X,{className:"w-3 h-3"})})]});if(!i||0===i.files.length&&0===i.untracked.length)return(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900 border-t border-zinc-700 text-xs",children:[(0,r.jsx)("span",{className:"text-zinc-500",children:"No changes since baseline"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:g,className:"text-zinc-500 hover:text-white",title:"Reset baseline",children:(0,r.jsx)(o.RotateCcw,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",children:(0,r.jsx)(s.X,{className:"w-3 h-3"})})]})]});let y=i.diff.split("\n").map((e,t)=>{let r="text-zinc-400",n="";return e.startsWith("+")&&!e.startsWith("+++")?(r="text-green-400",n="bg-green-500/10"):e.startsWith("-")&&!e.startsWith("---")?(r="text-red-400",n="bg-red-500/10"):e.startsWith("@@")?(r="text-cyan-400",n="bg-cyan-500/5"):e.startsWith("diff ")&&(r="text-zinc-300 font-bold"),{line:e,cls:r,bg:n,idx:t}}),w=f?y.filter((e,t)=>{let r=!1;for(let e=0;e<=t;e++)y[e].line.startsWith("diff ")&&y[e].line.includes(f)?r=!0:y[e].line.startsWith("diff ")&&e>0&&(r=!1);return r}):y,v=[...i.files,...i.untracked.map(e=>({path:e,status:"added",additions:0,deletions:0}))];return(0,r.jsxs)("div",{className:"flex flex-col bg-zinc-900 border-t border-zinc-700",style:{height:"40%",minHeight:150},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-zinc-800 text-xs flex-shrink-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-zinc-500",children:[(0,r.jsxs)("span",{children:[v.length," file",1!==v.length?"s":""," changed"]}),(0,r.jsx)("span",{className:"text-zinc-700",children:"|"}),(0,r.jsxs)("span",{className:"font-mono text-[10px]",children:[i.baselineSha.slice(0,7),"..",i.currentSha.slice(0,7)]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("button",{onClick:g,className:"px-2 py-0.5 text-[10px] text-zinc-400 hover:text-white bg-zinc-800 rounded border border-zinc-700",title:"Mark as reviewed",children:"Reset Baseline"}),(0,r.jsx)("button",{onClick:()=>{i?.diff&&(navigator.clipboard.writeText(i.diff),m(!0),setTimeout(()=>m(!1),2e3))},className:"text-zinc-500 hover:text-white",title:"Copy diff",children:h?(0,r.jsx)(c.Check,{className:"w-3 h-3 text-green-400"}):(0,r.jsx)(z.Copy,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",title:"Close",children:(0,r.jsx)(s.X,{className:"w-3 h-3"})})]})]}),(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden min-h-0",children:[(0,r.jsxs)("div",{className:"w-48 flex-shrink-0 border-r border-zinc-800 overflow-y-auto",children:[(0,r.jsx)("button",{onClick:()=>p(null),className:`w-full text-left px-2 py-1 text-[10px] ${!f?"bg-zinc-800 text-zinc-200":"text-zinc-400 hover:bg-zinc-800/50"}`,children:"All files"}),v.map(e=>{var t;return(0,r.jsxs)("button",{onClick:()=>p(e.path),className:`w-full text-left px-2 py-1 text-[10px] flex items-center gap-1.5 ${f===e.path?"bg-zinc-800 text-zinc-200":"text-zinc-400 hover:bg-zinc-800/50"}`,children:["added"===(t=e.status)?(0,r.jsx)("span",{className:"text-green-400 text-[10px]",children:"A"}):"deleted"===t?(0,r.jsx)("span",{className:"text-red-400 text-[10px]",children:"D"}):"renamed"===t?(0,r.jsx)("span",{className:"text-blue-400 text-[10px]",children:"R"}):(0,r.jsx)("span",{className:"text-amber-400 text-[10px]",children:"M"}),(0,r.jsx)("span",{className:"truncate",children:e.path.split("/").pop()})]},e.path)})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-auto font-mono text-[11px] leading-[18px]",children:[w.map(({line:e,cls:t,bg:n,idx:i})=>(0,r.jsx)("div",{className:`px-3 ${n} ${t} whitespace-pre`,children:e||" "},i)),i.truncated&&(0,r.jsx)("div",{className:"px-3 py-2 text-amber-400 text-[10px]",children:"Diff truncated at 500KB"})]})]})]})}var C=e.i(975157),T=e.i(73359),R=e.i(28916);let E=t.default.env.NEXT_PUBLIC_WS_PATH;function A({pane:t,onClose:d,onUpdate:N,isMaximized:z,onToggleMaximize:k,onMinimize:A,onPopout:M,onBrowse:$,isPopout:D,terminalToken:P,workspaceCollaboration:I,dragHandleProps:O}){let{hasCortex:B}=(0,R.useTier)(),F=(0,n.useRef)(null),L=(0,n.useRef)(null),q=(0,n.useRef)(null),U=(0,n.useRef)(null),W=(0,n.useRef)(""),_=(0,n.useRef)(null),K=()=>{try{U.current?.fit()}catch{}},[G,H]=(0,n.useState)(!1),[J,V]=(0,n.useState)(!1),[Y,X]=(0,n.useState)(t.title),[Q,Z]=(0,n.useState)(!1),[ee,et]=(0,n.useState)({x:0,y:0}),er=(0,n.useRef)(null),en=(0,n.useRef)(null),[ei,es]=(0,n.useState)(!1),[ea,ec]=(0,n.useState)(0),[eo,el]=(0,n.useState)([]),[ed,eu]=(0,n.useState)(!1),[ex,eh]=(0,n.useState)(!1),[em,ef]=(0,n.useState)("idle"),ep=(0,n.useRef)(!1),[eb,eg]=(0,n.useState)(""),ey=(0,n.useRef)(null),[ew,ev]=(0,n.useState)("off"),ej=(0,n.useRef)(null),[eN,ez]=(0,n.useState)(!1),ek=(0,n.useRef)(0),[eS,eC]=(0,n.useState)(!1),eT=(0,n.useRef)(!1),eR=(0,n.useRef)(null),[eE,eA]=(0,n.useState)(35),eM=(0,n.useRef)(35),[e$,eD]=(0,n.useState)(2e3),eP=(0,n.useRef)(2e3),[eI,eO]=(0,n.useState)(!0),eB=(0,n.useRef)(!0),[eF,eL]=(0,n.useState)(!1),[eq,eU]=(0,n.useState)(!1),[eW,e_]=(0,n.useState)(null),[eK,eG]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=navigator.userAgent||"";eu(/Quest|Oculus|Pacific/i.test(e))},[]),(0,n.useEffect)(()=>{if(!t.customModelId)return;let e=()=>{fetch(`/api/proxy/models/${t.customModelId}/status`).then(e=>e.ok?e.json():null).then(e=>{e?.status&&eG(e.status)}).catch(()=>{})};e();let r=setInterval(e,15e3);return()=>clearInterval(r)},[t.customModelId]),(0,n.useEffect)(()=>{if(!t.diffBaselineSha)return;let e=()=>{fetch(`/api/panes/${t.id}/diff?countOnly=true`).then(e=>e.ok?e.json():null).then(e=>{e?.fileCount!==void 0&&e_(e.fileCount)}).catch(()=>{})};e();let r=setInterval(e,3e4);return()=>clearInterval(r)},[t.id,t.diffBaselineSha]);let eH=(0,n.useRef)(t);eH.current=t;let eJ=(0,n.useRef)(N);eJ.current=N;let eV=(0,n.useRef)(P);eV.current=P;let eY=(0,n.useRef)(()=>{}),eX=(0,n.useRef)(!1),eQ=(0,n.useRef)(!1),eZ=(0,n.useRef)(null),e0=(0,n.useRef)(0),e1=(0,n.useCallback)(async()=>{if(!F.current)return;eH.current,eQ.current=!1,e0.current=0;let{Terminal:t}=await e.A(116049),{FitAddon:r}=await e.A(359439),{WebLinksAddon:n}=await e.A(816091);L.current&&L.current.dispose();let i=/Quest|Oculus|Pacific/i.test(navigator.userAgent),s=new t({cursorBlink:!i,disableStdin:i,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', 'JetBrains Mono', Consolas, monospace",scrollback:1e4,fastScrollModifier:"alt",smoothScrollDuration:0,theme:{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#6366f1",selectionBackground:"#6366f133",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"},allowProposedApi:!0}),a=new r,c=new n;s.loadAddon(a),s.loadAddon(c),await new Promise(e=>requestAnimationFrame(()=>{if(F.current){s.open(F.current);try{a.fit()}catch{}if(i&&F.current){let e=F.current.querySelector("textarea");e&&(e.setAttribute("readonly","true"),e.setAttribute("inputmode","none"),e.style.opacity="0",e.style.pointerEvents="none")}}e()})),s.attachCustomKeyEventHandler(e=>"keydown"!==e.type||(e.ctrlKey&&"c"===e.key&&s.hasSelection()?(navigator.clipboard?.writeText(s.getSelection()),s.clearSelection(),!1):!e.ctrlKey||"v"!==e.key)),L.current=s,U.current=a,requestAnimationFrame(()=>requestAnimationFrame(K)),setTimeout(K,300);let o=()=>{let e,t,r,n,i;if(eQ.current)return;e0.current>0&&(s.write("\x1b[2J\x1b[H"),s.clear());let a=new WebSocket((t=new URLSearchParams({paneId:(e=eH.current).id,cwd:e.cwd,agentType:e.agentType||"shell",cols:String(s.cols),rows:String(s.rows)}),e.claudeSessionId&&t.set("agentSession",e.claudeSessionId),e.customCommand&&t.set("customCommand",e.customCommand),e.nodeId&&t.set("nodeId",e.nodeId),e.customModelId&&t.set("customModelId",e.customModelId),(r=eV.current)&&t.set("terminalToken",r),n=E||"/ws",i="https:"===location.protocol?"wss:":"ws:",`${i}//${location.host}${n}?${t}`));q.current=a,a.onopen=()=>{H(!0),es(!1),eX.current=!1,e0.current=0,setTimeout(K,150)},a.onmessage=e=>{try{let r=JSON.parse(e.data);if("data"===r.type){var t;t=r.data,W.current+=t,null===_.current&&(_.current=requestAnimationFrame(()=>{_.current=null;let e=W.current;W.current="",e&&L.current&&(e=e.replace(/\x1b\[3J/g,""),L.current.write(e))}))}else if("exit"===r.type){es(!0),eX.current=!0;let e=r.reason?` — ${r.reason}`:"";s.write(`\r
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,398361,e=>{"use strict";let t=(0,e.i(475254).default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>t],398361)},367240,e=>{"use strict";let t=(0,e.i(475254).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",()=>t],367240)},424134,778917,e=>{"use strict";var t=e.i(247167),r=e.i(843476),n=e.i(271645),i=e.i(174080),a=e.i(37727),s=e.i(788699),c=e.i(643531),o=e.i(367240),l=e.i(398361),d=e.i(475254);let u=(0,d.default)("minimize-2",[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]]),x=(0,d.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",()=>x],778917);var h=e.i(248256),m=e.i(761911),f=e.i(387951),p=e.i(687246),b=e.i(569074),g=e.i(87309);let y=(0,d.default)("minus",[["path",{d:"M5 12h14",key:"1ays0h"}]]),w=(0,d.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]);var v=e.i(239616);let j=(0,d.default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]);var N=e.i(531278),z=e.i(174886),k=e.i(209165);function S({paneId:e,onClose:t}){let[i,s]=(0,n.useState)(null),[l,d]=(0,n.useState)(!0),[u,x]=(0,n.useState)(null),[h,m]=(0,n.useState)(!1),[f,p]=(0,n.useState)(null),b=()=>{d(!0),x(null),fetch((0,k.api)(`/api/panes/${e}/diff`)).then(e=>e.ok?e.json():e.json().then(e=>{throw Error(e.error)})).then(e=>{s(e),d(!1)}).catch(e=>{x(e.message),d(!1)})};(0,n.useEffect)(()=>{b()},[e]);let g=async()=>{await fetch((0,k.api)(`/api/panes/${e}/diff`),{method:"POST"}),b()};if(l)return(0,r.jsx)("div",{className:"flex items-center justify-center py-8 bg-zinc-900 border-t border-zinc-700",children:(0,r.jsx)(N.Loader2,{className:"w-4 h-4 animate-spin text-zinc-500"})});if(u)return(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900 border-t border-zinc-700 text-xs",children:[(0,r.jsx)("span",{className:"text-red-400",children:u}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",children:(0,r.jsx)(a.X,{className:"w-3 h-3"})})]});if(!i||0===i.files.length&&0===i.untracked.length)return(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-2 bg-zinc-900 border-t border-zinc-700 text-xs",children:[(0,r.jsx)("span",{className:"text-zinc-500",children:"No changes since baseline"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:g,className:"text-zinc-500 hover:text-white",title:"Reset baseline",children:(0,r.jsx)(o.RotateCcw,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",children:(0,r.jsx)(a.X,{className:"w-3 h-3"})})]})]});let y=i.diff.split("\n").map((e,t)=>{let r="text-zinc-400",n="";return e.startsWith("+")&&!e.startsWith("+++")?(r="text-green-400",n="bg-green-500/10"):e.startsWith("-")&&!e.startsWith("---")?(r="text-red-400",n="bg-red-500/10"):e.startsWith("@@")?(r="text-cyan-400",n="bg-cyan-500/5"):e.startsWith("diff ")&&(r="text-zinc-300 font-bold"),{line:e,cls:r,bg:n,idx:t}}),w=f?y.filter((e,t)=>{let r=!1;for(let e=0;e<=t;e++)y[e].line.startsWith("diff ")&&y[e].line.includes(f)?r=!0:y[e].line.startsWith("diff ")&&e>0&&(r=!1);return r}):y,v=[...i.files,...i.untracked.map(e=>({path:e,status:"added",additions:0,deletions:0}))];return(0,r.jsxs)("div",{className:"flex flex-col bg-zinc-900 border-t border-zinc-700",style:{height:"40%",minHeight:150},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-zinc-800 text-xs flex-shrink-0",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-zinc-500",children:[(0,r.jsxs)("span",{children:[v.length," file",1!==v.length?"s":""," changed"]}),(0,r.jsx)("span",{className:"text-zinc-700",children:"|"}),(0,r.jsxs)("span",{className:"font-mono text-[10px]",children:[i.baselineSha.slice(0,7),"..",i.currentSha.slice(0,7)]})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("button",{onClick:g,className:"px-2 py-0.5 text-[10px] text-zinc-400 hover:text-white bg-zinc-800 rounded border border-zinc-700",title:"Mark as reviewed",children:"Reset Baseline"}),(0,r.jsx)("button",{onClick:()=>{i?.diff&&(navigator.clipboard.writeText(i.diff),m(!0),setTimeout(()=>m(!1),2e3))},className:"text-zinc-500 hover:text-white",title:"Copy diff",children:h?(0,r.jsx)(c.Check,{className:"w-3 h-3 text-green-400"}):(0,r.jsx)(z.Copy,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:t,className:"text-zinc-500 hover:text-white",title:"Close",children:(0,r.jsx)(a.X,{className:"w-3 h-3"})})]})]}),(0,r.jsxs)("div",{className:"flex flex-1 overflow-hidden min-h-0",children:[(0,r.jsxs)("div",{className:"w-48 flex-shrink-0 border-r border-zinc-800 overflow-y-auto",children:[(0,r.jsx)("button",{onClick:()=>p(null),className:`w-full text-left px-2 py-1 text-[10px] ${!f?"bg-zinc-800 text-zinc-200":"text-zinc-400 hover:bg-zinc-800/50"}`,children:"All files"}),v.map(e=>{var t;return(0,r.jsxs)("button",{onClick:()=>p(e.path),className:`w-full text-left px-2 py-1 text-[10px] flex items-center gap-1.5 ${f===e.path?"bg-zinc-800 text-zinc-200":"text-zinc-400 hover:bg-zinc-800/50"}`,children:["added"===(t=e.status)?(0,r.jsx)("span",{className:"text-green-400 text-[10px]",children:"A"}):"deleted"===t?(0,r.jsx)("span",{className:"text-red-400 text-[10px]",children:"D"}):"renamed"===t?(0,r.jsx)("span",{className:"text-blue-400 text-[10px]",children:"R"}):(0,r.jsx)("span",{className:"text-amber-400 text-[10px]",children:"M"}),(0,r.jsx)("span",{className:"truncate",children:e.path.split("/").pop()})]},e.path)})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-auto font-mono text-[11px] leading-[18px]",children:[w.map(({line:e,cls:t,bg:n,idx:i})=>(0,r.jsx)("div",{className:`px-3 ${n} ${t} whitespace-pre`,children:e||" "},i)),i.truncated&&(0,r.jsx)("div",{className:"px-3 py-2 text-amber-400 text-[10px]",children:"Diff truncated at 500KB"})]})]})]})}var C=e.i(975157),T=e.i(73359),$=e.i(28916);let R=t.default.env.NEXT_PUBLIC_WS_PATH;function E({pane:t,onClose:d,onUpdate:N,isMaximized:z,onToggleMaximize:k,onMinimize:E,onPopout:A,onBrowse:M,isPopout:P,terminalToken:D,workspaceCollaboration:I,dragHandleProps:O}){let{hasCortex:B}=(0,$.useTier)(),F=(0,n.useRef)(null),L=(0,n.useRef)(null),q=(0,n.useRef)(null),U=(0,n.useRef)(null),W=(0,n.useRef)(""),K=(0,n.useRef)(null),V=()=>{try{U.current?.fit()}catch{}},[_,J]=(0,n.useState)(!1),[G,H]=(0,n.useState)(!1),[Y,X]=(0,n.useState)(t.title),[Q,Z]=(0,n.useState)(!1),[ee,et]=(0,n.useState)({x:0,y:0}),er=(0,n.useRef)(null),en=(0,n.useRef)(null),[ei,ea]=(0,n.useState)(!1),[es,ec]=(0,n.useState)(0),[eo,el]=(0,n.useState)([]),[ed,eu]=(0,n.useState)(!1),[ex,eh]=(0,n.useState)(!1),[em,ef]=(0,n.useState)("idle"),ep=(0,n.useRef)(!1),[eb,eg]=(0,n.useState)(""),ey=(0,n.useRef)(null),[ew,ev]=(0,n.useState)("off"),ej=(0,n.useRef)(null),[eN,ez]=(0,n.useState)(!1),ek=(0,n.useRef)(0),[eS,eC]=(0,n.useState)(!1),eT=(0,n.useRef)(!1),e$=(0,n.useRef)(null),[eR,eE]=(0,n.useState)(35),eA=(0,n.useRef)(35),[eM,eP]=(0,n.useState)(2e3),eD=(0,n.useRef)(2e3),[eI,eO]=(0,n.useState)(!0),eB=(0,n.useRef)(!0),[eF,eL]=(0,n.useState)(!1),[eq,eU]=(0,n.useState)(!1),[eW,eK]=(0,n.useState)(null),[eV,e_]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=navigator.userAgent||"";eu(/Quest|Oculus|Pacific/i.test(e))},[]),(0,n.useEffect)(()=>{if(!t.customModelId)return;let e=()=>{fetch(`/api/proxy/models/${t.customModelId}/status`).then(e=>e.ok?e.json():null).then(e=>{e?.status&&e_(e.status)}).catch(()=>{})};e();let r=setInterval(e,15e3);return()=>clearInterval(r)},[t.customModelId]),(0,n.useEffect)(()=>{if(!t.diffBaselineSha)return;let e=()=>{fetch(`/api/panes/${t.id}/diff?countOnly=true`).then(e=>e.ok?e.json():null).then(e=>{e?.fileCount!==void 0&&eK(e.fileCount)}).catch(()=>{})};e();let r=setInterval(e,3e4);return()=>clearInterval(r)},[t.id,t.diffBaselineSha]);let eJ=(0,n.useRef)(t);eJ.current=t;let eG=(0,n.useRef)(N);eG.current=N;let eH=(0,n.useRef)(D);eH.current=D;let eY=(0,n.useRef)(()=>{}),eX=(0,n.useRef)(!1),eQ=(0,n.useRef)(!1),eZ=(0,n.useRef)(null),e0=(0,n.useRef)(0),e1=(0,n.useCallback)(async()=>{if(!F.current)return;eJ.current,eQ.current=!1,e0.current=0;let{Terminal:t}=await e.A(116049),{FitAddon:r}=await e.A(359439),{WebLinksAddon:n}=await e.A(816091);L.current&&L.current.dispose();let i=/Quest|Oculus|Pacific/i.test(navigator.userAgent),a=new t({cursorBlink:!i,disableStdin:i,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', 'JetBrains Mono', Consolas, monospace",scrollback:1e4,fastScrollModifier:"alt",smoothScrollDuration:0,theme:{background:"#0a0a0a",foreground:"#e4e4e7",cursor:"#6366f1",selectionBackground:"#6366f133",black:"#18181b",red:"#ef4444",green:"#22c55e",yellow:"#eab308",blue:"#3b82f6",magenta:"#a855f7",cyan:"#06b6d4",white:"#e4e4e7",brightBlack:"#52525b",brightRed:"#f87171",brightGreen:"#4ade80",brightYellow:"#facc15",brightBlue:"#60a5fa",brightMagenta:"#c084fc",brightCyan:"#22d3ee",brightWhite:"#fafafa"},allowProposedApi:!0}),s=new r,c=new n;a.loadAddon(s),a.loadAddon(c),await new Promise(e=>requestAnimationFrame(()=>{if(F.current){a.open(F.current);try{s.fit()}catch{}if(i&&F.current){let e=F.current.querySelector("textarea");e&&(e.setAttribute("readonly","true"),e.setAttribute("inputmode","none"),e.style.opacity="0",e.style.pointerEvents="none")}}e()})),a.attachCustomKeyEventHandler(e=>{if("keydown"!==e.type)return!0;if(e.ctrlKey&&"c"===e.key&&a.hasSelection()){let e=a.getSelection();return e&&navigator.clipboard?.writeText&&navigator.clipboard.writeText(e).catch(()=>{let t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}),a.clearSelection(),!1}return!e.ctrlKey||"v"!==e.key}),L.current=a,U.current=s,requestAnimationFrame(()=>requestAnimationFrame(V)),setTimeout(V,300);let o=()=>{let e,t,r,n,i;if(eQ.current)return;e0.current>0&&(a.write("\x1b[2J\x1b[H"),a.clear());let s=new WebSocket((t=new URLSearchParams({paneId:(e=eJ.current).id,cwd:e.cwd,agentType:e.agentType||"shell",cols:String(a.cols),rows:String(a.rows)}),e.claudeSessionId&&t.set("agentSession",e.claudeSessionId),e.customCommand&&t.set("customCommand",e.customCommand),e.nodeId&&t.set("nodeId",e.nodeId),e.customModelId&&t.set("customModelId",e.customModelId),(r=eH.current)&&t.set("terminalToken",r),n=R||"/ws",i="https:"===location.protocol?"wss:":"ws:",`${i}//${location.host}${n}?${t}`));q.current=s,s.onopen=()=>{J(!0),ea(!1),eX.current=!1,e0.current=0,setTimeout(V,150)},s.onmessage=e=>{try{let r=JSON.parse(e.data);if("data"===r.type){var t;t=r.data,W.current+=t,null===K.current&&(K.current=requestAnimationFrame(()=>{K.current=null;let e=W.current;W.current="",e&&L.current&&(e=e.replace(/\x1b\[3J/g,""),L.current.write(e))}))}else if("exit"===r.type){ea(!0),eX.current=!0;let e=r.reason?` — ${r.reason}`:"";a.write(`\r
2
2
  \x1b[90m[Process exited with code ${r.exitCode}${e}]\x1b[0m\r
3
- `)}else"error"===r.type?s.write(`\r
3
+ `)}else"error"===r.type?a.write(`\r
4
4
  \x1b[31m${r.data}\x1b[0m\r
5
- `):"session-detected"===r.type?eJ.current(eH.current.id,{claudeSessionId:r.sessionId}):"cortex-injection"===r.type?(ec(r.count||0),r.items&&el(r.items)):"collab-updated"===r.type&&eJ.current(eH.current.id,{isCollaborating:r.isCollaborating})}catch{}},a.onclose=()=>{if(H(!1),!eX.current&&!eQ.current){let e=e0.current;if(e<20){let t=Math.min(1e3*Math.pow(1.5,e),3e4);e0.current=e+1,eZ.current=setTimeout(o,t)}}},a.onerror=()=>{H(!1)}};s.onData(e=>{q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"data",data:e}))}),s.onResize(({cols:e,rows:t})=>{q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"resize",cols:e,rows:t}))}),o()},[]);(0,n.useEffect)(()=>(e1(),()=>{eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose()}),[e1]),(0,n.useEffect)(()=>{let e,t=new ResizeObserver(()=>{cancelAnimationFrame(e),e=requestAnimationFrame(K)});return F.current&&t.observe(F.current),()=>{cancelAnimationFrame(e),t.disconnect()}},[]),(0,n.useEffect)(()=>{setTimeout(K,50)},[z,ed]);let e5=()=>{N(t.id,{title:Y}),V(!1)},e3=e=>{q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"data",data:e}))},e2=async()=>{if("off"!==ew){ej.current?.state==="recording"&&ej.current.stop();return}ev("listening");try{let e=await fetch("/api/whisper/config"),t=e.ok?await e.json():null,r=await navigator.mediaDevices.getUserMedia({audio:!0}),n=new AudioContext,i=n.createMediaStreamSource(r),s=n.createAnalyser();s.fftSize=512,i.connect(s);let a=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",c=new MediaRecorder(r,{mimeType:a}),o=[],l=!1;c.ondataavailable=e=>{e.data.size>0&&o.push(e.data)},c.onstop=async()=>{r.getTracks().forEach(e=>e.stop());try{i.disconnect()}catch{}try{n.close()}catch{}if(ej.current=null,!l||0===o.length)return void ev("off");let e=new Blob(o,{type:"audio/webm"});if(e.size<500)return void ev("off");ev("transcribing");try{let r="";if(t?.apiKey){let n=new FormData;n.append("file",e,"audio.webm"),n.append("model",t.model),n.append("response_format","json"),n.append("language","en");let i=await fetch(t.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${t.apiKey}`},body:n});i.ok&&(r=(await i.json()).text||"")}else{let t=new FormData;t.append("audio",e,"dictation.webm");let n=await fetch("/api/whisper",{method:"POST",body:t});n.ok&&(r=(await n.json()).text||"")}r.trim()&&eg(e=>e?`${e} ${r.trim()}`:r.trim())}catch{}ev("off")};let d=new Uint8Array(s.frequencyBinCount),u=0,x=0,h=Date.now(),m=()=>{ej.current&&"recording"===ej.current.state&&((s.getByteFrequencyData(d),d.reduce((e,t)=>e+t,0)/d.length>20?(x++,u=Date.now(),x>=10&&(l=!0)):l||(x=0),l&&Date.now()-u>1500||!l&&Date.now()-h>1e4)?ej.current.stop():requestAnimationFrame(m))};c.start(250),ej.current=c,requestAnimationFrame(m)}catch(e){L.current&&L.current.write(`\r
5
+ `):"session-detected"===r.type?eG.current(eJ.current.id,{claudeSessionId:r.sessionId}):"cortex-injection"===r.type?(ec(r.count||0),r.items&&el(r.items)):"collab-updated"===r.type&&eG.current(eJ.current.id,{isCollaborating:r.isCollaborating})}catch{}},s.onclose=()=>{if(J(!1),!eX.current&&!eQ.current){let e=e0.current;if(e<20){let t=Math.min(1e3*Math.pow(1.5,e),3e4);e0.current=e+1,eZ.current=setTimeout(o,t)}}},s.onerror=()=>{J(!1)}};a.onData(e=>{q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"data",data:e}))}),a.onResize(({cols:e,rows:t})=>{q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"resize",cols:e,rows:t}))}),o()},[]);(0,n.useEffect)(()=>(e1(),()=>{eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose()}),[e1]),(0,n.useEffect)(()=>{let e,t=new ResizeObserver(()=>{cancelAnimationFrame(e),e=requestAnimationFrame(V)});return F.current&&t.observe(F.current),()=>{cancelAnimationFrame(e),t.disconnect()}},[]),(0,n.useEffect)(()=>{setTimeout(V,50)},[z,ed]);let e5=()=>{N(t.id,{title:Y}),H(!1)},e3=e=>{console.log("[Voice]",e);try{localStorage.getItem("spaces-voice-debug")&&L.current&&L.current.write(`\r
6
+ \x1b[93m[Voice] ${e}\x1b[0m\r
7
+ `)}catch{}},e2=e=>{q.current?.readyState===WebSocket.OPEN?q.current.send(JSON.stringify({type:"data",data:e})):e3(`sendKey failed: WebSocket state=${q.current?.readyState}`)},e4=async()=>{if("off"!==ew){ej.current?.state==="recording"&&ej.current.stop();return}ev("listening");try{let e=await fetch("/api/whisper/config"),t=e.ok?await e.json():null,r=await navigator.mediaDevices.getUserMedia({audio:!0}),n=new AudioContext,i=n.createMediaStreamSource(r),a=n.createAnalyser();a.fftSize=512,i.connect(a);let s=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",c=new MediaRecorder(r,{mimeType:s}),o=[],l=!1;c.ondataavailable=e=>{e.data.size>0&&o.push(e.data)},c.onstop=async()=>{r.getTracks().forEach(e=>e.stop());try{i.disconnect()}catch{}try{n.close()}catch{}if(ej.current=null,!l||0===o.length)return void ev("off");let e=new Blob(o,{type:"audio/webm"});if(e.size<500)return void ev("off");ev("transcribing");try{let r="";if(t?.apiKey){console.log("[Voice] Transcribing via",t.backend||"direct");let n=new FormData;n.append("file",e,"audio.webm"),n.append("model",t.model),n.append("response_format","json"),n.append("language","en");let i=await fetch(t.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${t.apiKey}`},body:n});i.ok?r=(await i.json()).text||"":console.error("[Voice] API error:",i.status,await i.text().catch(()=>""))}else{console.log("[Voice] Transcribing via server proxy, cfg:",t);let n=new FormData;n.append("audio",e,"dictation.webm");let i=await fetch("/api/whisper",{method:"POST",body:n});i.ok?r=(await i.json()).text||"":console.error("[Voice] Server proxy error:",i.status,await i.text().catch(()=>""))}console.log("[Voice] Result:",JSON.stringify(r)),r.trim()&&eg(e=>e?`${e} ${r.trim()}`:r.trim())}catch(e){console.error("[Voice] Exception:",e)}ev("off")};let d=new Uint8Array(a.frequencyBinCount),u=0,x=0,h=Date.now(),m=()=>{ej.current&&"recording"===ej.current.state&&((a.getByteFrequencyData(d),d.reduce((e,t)=>e+t,0)/d.length>20?(x++,u=Date.now(),x>=10&&(l=!0)):l||(x=0),l&&Date.now()-u>1500||!l&&Date.now()-h>1e4)?ej.current.stop():requestAnimationFrame(m))};c.start(250),ej.current=c,requestAnimationFrame(m)}catch(e){L.current&&L.current.write(`\r
6
8
  \x1b[91m[Mic] ${e.name||"Error"}: ${e.message||"Failed to access microphone"}\x1b[0m\r
7
- `),ev("off")}},e4=async()=>{if(eT.current){ev("listening");try{if(!eR.current){let e=await fetch("/api/whisper/config");e.ok&&(eR.current=await e.json())}if(!eT.current)return;let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(!eT.current)return void e.getTracks().forEach(e=>e.stop());let t=new AudioContext,r=t.createMediaStreamSource(e),n=t.createAnalyser();n.fftSize=512,r.connect(n);let i=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",s=new MediaRecorder(e,{mimeType:i}),a=[],c=!1;s.ondataavailable=e=>{e.data.size>0&&a.push(e.data)},s.onstop=async()=>{e.getTracks().forEach(e=>e.stop());try{r.disconnect()}catch{}try{t.close()}catch{}if(ej.current=null,!eT.current&&!e7.current)return void ev("off");if(!c||0===a.length){e7.current=!1,eT.current?setTimeout(e4,300):ev("off");return}let n=new Blob(a,{type:"audio/webm"});if(n.size<500)return void setTimeout(e4,300);ev("transcribing");let i=eR.current;try{let e="";if(i?.apiKey){let t=new FormData;t.append("file",n,"audio.webm"),t.append("model",i.model),t.append("response_format","json"),t.append("language","en");let r=await fetch(i.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${i.apiKey}`},body:t});r.ok&&(e=(await r.json()).text||"")}else{let t=new FormData;t.append("audio",n,"dictation.webm");let r=await fetch("/api/whisper",{method:"POST",body:t});r.ok&&(e=(await r.json()).text||"")}e.trim()&&(eT.current||e7.current)&&(eB.current?e3(e.trim()+"\r"):eg(t=>t?t+" "+e.trim():e.trim()))}catch{}e7.current=!1,eT.current?setTimeout(e4,800):ev("off")};let o=new Uint8Array(n.frequencyBinCount),l=0,d=0,u=Date.now(),x=()=>{ej.current&&"recording"===ej.current.state&&(eT.current?(n.getByteFrequencyData(o),o.reduce((e,t)=>e+t,0)/o.length>eM.current?(d++,l=Date.now(),d>=15&&(c=!0)):c||(d=0),c&&Date.now()-l>eP.current||!c&&Date.now()-u>1e4)?ej.current.stop():requestAnimationFrame(x):ej.current.stop())};s.start(250),ej.current=s,requestAnimationFrame(x)}catch(e){L.current&&L.current.write(`\r
9
+ `),ev("off")}},e7=async()=>{if(eT.current){ev("listening");try{if(!e$.current){e3("Fetching whisper config...");let e=await fetch("/api/whisper/config");e.ok?(e$.current=await e.json(),e3(`Config: backend=${e$.current?.backend||"none"} hasKey=${!!e$.current?.apiKey}`)):e3(`Config fetch failed: ${e.status} ${await e.text().catch(()=>"")}`)}if(!eT.current)return;let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(!eT.current)return void e.getTracks().forEach(e=>e.stop());let t=new AudioContext,r=t.createMediaStreamSource(e),n=t.createAnalyser();n.fftSize=512,r.connect(n);let i=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":"audio/webm",a=new MediaRecorder(e,{mimeType:i}),s=[],c=!1;a.ondataavailable=e=>{e.data.size>0&&s.push(e.data)},a.onstop=async()=>{e.getTracks().forEach(e=>e.stop());try{r.disconnect()}catch{}try{t.close()}catch{}if(ej.current=null,!eT.current&&!e6.current)return void ev("off");if(!c||0===s.length){e3(`No speech detected (hasSpeech=${c} chunks=${s.length}) — restarting`),e6.current=!1,eT.current?setTimeout(e7,300):ev("off");return}let n=new Blob(s,{type:"audio/webm"});if(n.size<500){e3(`Blob too small (${n.size}b) — restarting`),setTimeout(e7,300);return}ev("transcribing");let i=e$.current;e3(`Transcribing blob=${n.size}b hasCfg=${!!i} hasKey=${!!i?.apiKey}`);try{let e="";if(i?.apiKey){e3(`Calling ${i.backend}: ${i.apiUrl}`);let t=new FormData;t.append("file",n,"audio.webm"),t.append("model",i.model),t.append("response_format","json"),t.append("language","en");let r=await fetch(i.apiUrl,{method:"POST",headers:{Authorization:`Bearer ${i.apiKey}`},body:t});if(r.ok)e=(await r.json()).text||"",e3(`Transcribed: "${e}"`);else{let e=await r.text().catch(()=>"");e3(`API error: ${r.status} ${e.slice(0,200)}`)}}else{e3("No API key — using server proxy /api/whisper");let t=new FormData;t.append("audio",n,"dictation.webm");let r=await fetch("/api/whisper",{method:"POST",body:t});if(r.ok)e=(await r.json()).text||"",e3(`Transcribed: "${e}"`);else{let e=await r.text().catch(()=>"");e3(`Proxy error: ${r.status} ${e.slice(0,200)}`)}}e3(`Result: "${e}" ws=${q.current?.readyState} immersive=${eT.current} draining=${e6.current}`),e.trim()&&(eT.current||e6.current)&&(eB.current?(e3(`Sending: "${e.trim()}" + Enter`),e2(e.trim()+"\r")):(e3(`Putting in input: "${e.trim()}"`),eg(t=>t?t+" "+e.trim():e.trim())))}catch(e){e3(`Exception: ${e.message||e}`)}e6.current=!1,eT.current?setTimeout(e7,800):ev("off")};let o=new Uint8Array(n.frequencyBinCount),l=0,d=0,u=Date.now(),x=()=>{ej.current&&"recording"===ej.current.state&&(eT.current?(n.getByteFrequencyData(o),o.reduce((e,t)=>e+t,0)/o.length>eA.current?(d++,l=Date.now(),d>=15&&(c=!0)):c||(d=0),c&&Date.now()-l>eD.current||!c&&Date.now()-u>1e4)?ej.current.stop():requestAnimationFrame(x):ej.current.stop())};a.start(250),ej.current=a,requestAnimationFrame(x)}catch(e){L.current&&L.current.write(`\r
8
10
  \x1b[91m[Mic] ${e.name||"Error"}: ${e.message||"Failed to access microphone"}\x1b[0m\r
9
- `),eT.current?setTimeout(e4,2e3):ev("off")}}},e7=(0,n.useRef)(!1),e6=(0,n.useRef)(null),e9=!("u">typeof navigator&&/Quest|Oculus|Pacific/i.test(navigator.userAgent))&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window),e8=e=>{if(!ep.current)return;let t=window.SpeechRecognition||window.webkitSpeechRecognition;if(!t)return;let r=new t;r.continuous=!0,r.interimResults=!0,r.lang="en-US";let n=0;r.onresult=t=>{if(!ep.current)return;let r="";for(let e=0;e<t.results.length;e++)t.results[e].isFinal&&(r+=t.results[e][0].transcript);if(r.length>n){let t=r.slice(n);if(e&&eB.current)e3(t.trim()+"\r");else{var i=t.trim();if(q.current?.readyState===WebSocket.OPEN){let e=`\x1b[200~${i}\x1b[201~`;q.current.send(JSON.stringify({type:"data",data:e}))}}n=r.length}},r.onerror=t=>{if("not-allowed"===t.error||"service-not-allowed"===t.error){ep.current=!1,eh(!1),ef("idle");return}ep.current&&setTimeout(()=>e8(e),500)},r.onend=()=>{ep.current&&"visible"===document.visibilityState?setTimeout(()=>e8(e),100):ep.current||ef("idle")},r.onstart=()=>ef("listening"),e6.current=r,r.start()};(0,n.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&ep.current&&!e6.current&&e8(!0)};return document.addEventListener("visibilitychange",e),()=>{if(document.removeEventListener("visibilitychange",e),ep.current=!1,e6.current)try{e6.current.abort()}catch{}}},[]);let[te,tt]=(0,n.useState)(null),[tr,tn]=(0,n.useState)(!1),ti=(0,n.useRef)(null);return eY.current=(0,n.useCallback)(async e=>{if(0===e.length)return;let t=eH.current.cwd||"/",r=new FormData;for(let n of(r.append("dir",t),e))r.append("files",n);let n=e.map(e=>e.name).join(", ");tt(`Uploading ${e.length} file${e.length>1?"s":""}...`),ti.current&&clearTimeout(ti.current);try{let e=await fetch("/api/files",{method:"POST",body:r});if(e.ok){let r=await e.json();tt(`Uploaded ${r.files?.join(", ")||n} to ${t}`);let i=L.current;i&&i.write(`\r
11
+ `),eT.current?setTimeout(e7,2e3):ev("off")}}},e6=(0,n.useRef)(!1),e9=(0,n.useRef)(null),e8=!("u">typeof navigator&&/Quest|Oculus|Pacific/i.test(navigator.userAgent))&&("SpeechRecognition"in window||"webkitSpeechRecognition"in window),te=e=>{if(!ep.current)return;let t=window.SpeechRecognition||window.webkitSpeechRecognition;if(!t)return;let r=new t;r.continuous=!0,r.interimResults=!0,r.lang="en-US";let n=0;r.onresult=t=>{if(!ep.current)return;let r="";for(let e=0;e<t.results.length;e++)t.results[e].isFinal&&(r+=t.results[e][0].transcript);if(r.length>n){let t=r.slice(n);if(console.log("[Voice] recognized:",JSON.stringify(t.trim()),"autoSend:",e,"ws:",q.current?.readyState),e&&eB.current)e2(t.trim()+"\r");else{var i=t.trim();if(q.current?.readyState===WebSocket.OPEN){let e=`\x1b[200~${i}\x1b[201~`;q.current.send(JSON.stringify({type:"data",data:e}))}else e3(`sendPaste failed: WebSocket state=${q.current?.readyState}`)}n=r.length}},r.onerror=t=>{if("not-allowed"===t.error||"service-not-allowed"===t.error){ep.current=!1,eh(!1),ef("idle");return}ep.current&&setTimeout(()=>te(e),500)},r.onend=()=>{ep.current&&"visible"===document.visibilityState?setTimeout(()=>te(e),100):ep.current||ef("idle")},r.onstart=()=>ef("listening"),e9.current=r,r.start()};(0,n.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&ep.current&&!e9.current&&te(!0)};return document.addEventListener("visibilitychange",e),()=>{if(document.removeEventListener("visibilitychange",e),ep.current=!1,e9.current)try{e9.current.abort()}catch{}}},[]);let[tt,tr]=(0,n.useState)(null),[tn,ti]=(0,n.useState)(!1),ta=(0,n.useRef)(null);return eY.current=(0,n.useCallback)(async e=>{if(0===e.length)return;let t=eJ.current.cwd||"/",r=new FormData;for(let n of(r.append("dir",t),e))r.append("files",n);let n=e.map(e=>e.name).join(", ");tr(`Uploading ${e.length} file${e.length>1?"s":""}...`),ta.current&&clearTimeout(ta.current);try{let e=await fetch("/api/files",{method:"POST",body:r});if(e.ok){let r=await e.json();tr(`Uploaded ${r.files?.join(", ")||n} to ${t}`);let i=L.current;i&&i.write(`\r
10
12
  \x1b[90m[Uploaded ${r.files?.join(", ")||n} → ${t}]\x1b[0m\r
11
- `)}else tt("Upload failed")}catch{tt("Upload failed")}ti.current=setTimeout(()=>tt(null),4e3)},[]),(0,n.useEffect)(()=>{let e=F.current;if(!e)return;let t=t=>{if(!e.contains(t.target))return;let r=t.clipboardData?.items;if(!r)return;let n=[];for(let e=0;e<r.length;e++){let t=r[e];if("file"===t.kind){let e=t.getAsFile();e&&n.push(e)}}n.length>0&&(t.preventDefault(),t.stopPropagation(),eY.current(n))};document.addEventListener("paste",t,!0);let r=e=>{e.preventDefault(),e.stopPropagation(),tn(!0)},n=t=>{t.preventDefault(),e&&!e.contains(t.relatedTarget)&&tn(!1)},i=e=>{e.preventDefault(),e.stopPropagation(),tn(!1);let t=[];if(e.dataTransfer?.files)for(let r=0;r<e.dataTransfer.files.length;r++)t.push(e.dataTransfer.files[r]);t.length>0&&eY.current(t)};return e.addEventListener("dragover",r),e.addEventListener("dragleave",n),e.addEventListener("drop",i),()=>{document.removeEventListener("paste",t,!0),e.removeEventListener("dragover",r),e.removeEventListener("dragleave",n),e.removeEventListener("drop",i)}},[]),(0,n.useEffect)(()=>{if(!Q)return;let e=e=>{let t=e.target;er.current&&!er.current.contains(t)&&en.current&&!en.current.contains(t)&&Z(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[Q]),(0,r.jsxs)("div",{className:(0,C.cn)("flex flex-col border rounded-lg overflow-hidden",z?"h-full !rounded-none":"h-full","border-zinc-700"),style:{borderColor:`${t.color}60`},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs select-none flex-shrink-0",style:{backgroundColor:`${t.color}30`,borderBottom:`1px solid ${t.color}40`},children:[O&&!D&&(0,r.jsx)("div",{...O,className:"flex-shrink-0 cursor-grab active:cursor-grabbing text-zinc-500 hover:text-zinc-300 -ml-1",children:(0,r.jsx)(w,{className:"w-3.5 h-3.5"})}),(0,r.jsxs)("div",{ref:er,className:"flex-shrink-0",children:[(0,r.jsx)("button",{onClick:e=>{let t=e.currentTarget.getBoundingClientRect();et({x:t.left,y:t.bottom+6}),Z(!Q)},className:"w-3 h-3 rounded-full hover:ring-2 hover:ring-zinc-500 ring-offset-1 ring-offset-zinc-900 transition-shadow cursor-pointer",style:{backgroundColor:t.color},title:"Change color"}),Q&&(0,i.createPortal)((0,r.jsx)("div",{ref:en,className:"fixed z-[9999] bg-zinc-800 border border-zinc-600 rounded-xl p-3 shadow-2xl",style:{left:ee.x,top:ee.y},children:(0,r.jsx)("div",{className:"grid grid-cols-4 gap-2.5",style:{width:132},children:["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c"].map(e=>(0,r.jsx)("button",{onClick:()=>{N(t.id,{color:e}),Z(!1)},className:`w-7 h-7 rounded-full border-2 transition-all hover:scale-110 ${t.color===e?"border-white scale-110 shadow-lg":"border-transparent hover:border-zinc-500"}`,style:{backgroundColor:e}},e))})}),document.body)]}),J?(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1",children:[(0,r.jsx)("input",{autoFocus:!0,value:Y,onChange:e=>X(e.target.value),onKeyDown:e=>{"Enter"===e.key&&e5(),"Escape"===e.key&&(X(t.title),V(!1))},className:"flex-1 bg-transparent border border-zinc-600 rounded px-1.5 py-0.5 text-xs focus:outline-none focus:border-indigo-400"}),(0,r.jsx)("button",{onClick:e5,className:"text-green-400 hover:text-green-300",children:(0,r.jsx)(c.Check,{className:"w-3 h-3"})})]}):(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1 min-w-0 group/title",children:[(0,r.jsx)("span",{onDoubleClick:()=>V(!0),className:"truncate text-zinc-300 font-medium cursor-default",children:t.title}),(0,r.jsx)("button",{onClick:()=>V(!0),className:"text-zinc-600 hover:text-zinc-300 opacity-0 group-hover/title:opacity-100 transition-opacity flex-shrink-0",title:"Rename",children:(0,r.jsx)(a.Pencil,{className:"w-2.5 h-2.5"})})]}),(0,r.jsx)("button",{onClick:()=>$?.(t.cwd),className:"text-[10px] text-zinc-500 truncate max-w-[120px] hover:text-amber-400 transition-colors",title:`Browse ${t.cwd}`,children:t.cwd.split(/[/\\]/).pop()}),t.agentType&&"shell"!==t.agentType&&(0,r.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium flex items-center gap-1",style:{backgroundColor:`${T.AGENT_TYPES[t.agentType]?.color||"#6366f1"}20`,color:T.AGENT_TYPES[t.agentType]?.color||"#6366f1"},children:[T.AGENT_TYPES[t.agentType]?.name||t.agentType,t.customModelId&&(0,r.jsx)("span",{className:"flex items-center gap-1 border-l border-current pl-1 ml-0.5",children:(0,r.jsx)("span",{className:(0,C.cn)("w-1.5 h-1.5 rounded-full","RUNNING"===eK?"bg-green-500":"PROVISIONING"===eK||"STAGING"===eK?"bg-yellow-500 animate-pulse":"bg-red-500"),title:eK||"UNKNOWN"})})]}),t.nodeId&&(0,r.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium bg-blue-500/10 text-blue-400 flex items-center gap-0.5",children:[(0,r.jsx)(h.Globe,{className:"w-2.5 h-2.5"}),"remote"]}),I&&"shell"!==t.agentType&&(0,r.jsx)("button",{onClick:async()=>{let e=!t.isCollaborating;await N(t.id,{isCollaborating:e}),q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"collab-toggle",isCollaborating:e}))},className:`transition-colors ${t.isCollaborating?"text-indigo-400 hover:text-indigo-300":"text-zinc-600 hover:text-zinc-400"}`,title:t.isCollaborating?"Collaborating — click to opt out":"Not collaborating — click to opt in",children:(0,r.jsx)(m.Users,{className:"w-3 h-3"})}),!G&&!ei&&(0,r.jsx)("span",{className:"text-[10px] text-yellow-500",children:"connecting..."}),ei&&(0,r.jsx)("button",{onClick:()=>{eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose(),es(!1),eX.current=!1,setTimeout(e1,100)},className:"text-zinc-400 hover:text-white",title:"Restart",children:(0,r.jsx)(o.RotateCcw,{className:"w-3 h-3"})}),!D&&M&&(0,r.jsx)("button",{onClick:()=>{M&&(eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose(),M(t.id))},className:"text-zinc-300 hover:text-white",title:"Pop out to new window",children:(0,r.jsx)(x,{className:"w-3 h-3"})}),t.diffBaselineSha&&(0,r.jsxs)("button",{onClick:()=>eU(!eq),className:(0,C.cn)("relative text-zinc-300 hover:text-white",eq&&"text-indigo-400"),title:eq?"Hide diff":"Review changes",children:[(0,r.jsx)(j,{className:"w-3 h-3"}),null!=eW&&eW>0&&!eq&&(0,r.jsx)("span",{className:"absolute -top-1.5 -right-1.5 text-[8px] bg-indigo-500 text-white rounded-full w-3.5 h-3.5 flex items-center justify-center font-bold",children:eW>9?"9+":eW})]}),A&&!D&&(0,r.jsx)("button",{onClick:()=>A(t.id),className:"text-zinc-300 hover:text-yellow-400",title:"Minimize",children:(0,r.jsx)(y,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:()=>k(t.id),className:"text-zinc-300 hover:text-white",title:z?"Restore":"Maximize",children:z?(0,r.jsx)(u,{className:"w-3 h-3"}):(0,r.jsx)(l.Maximize2,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:()=>{confirm("Close this terminal?")&&d(t.id)},className:"text-zinc-300 hover:text-red-400",title:"Close",children:(0,r.jsx)(s.X,{className:"w-3 h-3"})})]}),(0,r.jsxs)("div",{ref:F,className:"flex-1 relative bg-[#0a0a0a]",style:{minHeight:0,flex:1},onClick:ed?e=>{e.preventDefault()}:void 0,onWheel:ed?e=>{e.preventDefault();let t=Date.now();Math.abs(e.deltaY)>10&&t-ek.current>200&&(ek.current=t,e3(e.deltaY<0?"\x1b[A":"\x1b[B"))}:void 0,children:[tr&&(0,r.jsx)("div",{className:"absolute inset-0 z-10 bg-indigo-500/10 border-2 border-dashed border-indigo-400 flex items-center justify-center pointer-events-none",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 bg-zinc-900/90 px-4 py-2 rounded-lg text-sm text-indigo-300",children:[(0,r.jsx)(b.Upload,{className:"w-4 h-4"}),"Drop files to upload to ",t.cwd.split(/[/\\]/).pop()||t.cwd]})}),te&&(0,r.jsx)("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 z-10 bg-zinc-800/95 border border-zinc-600 px-3 py-1.5 rounded-lg text-xs text-zinc-300 shadow-lg",children:te})]}),eq&&(0,r.jsx)(S,{paneId:t.id,onClose:()=>eU(!1)}),ed&&(0,r.jsxs)("div",{className:"flex flex-col gap-1 px-2 py-1.5 flex-shrink-0 border-t border-zinc-700",style:{backgroundColor:`${t.color}15`,borderTopColor:`${t.color}30`},children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("input",{ref:ey,type:"text",value:eb,readOnly:!eN,onChange:e=>eg(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),e3(eb?eb+"\r":"\r"),eg(""),ez(!1),ey.current?.blur())},onBlur:()=>ez(!1),placeholder:eS&&"listening"===ew?"Speak now...":eS&&"transcribing"===ew?"Sending...":eS?"Immersive mode active":"listening"===ew?"Listening...":"transcribing"===ew?"Transcribing...":eN?"Type here...":"Tap mic, keyboard, or type",className:(0,C.cn)("flex-1 text-zinc-200 text-sm px-3 py-2 rounded border focus:outline-none font-mono",eN?"bg-zinc-900 border-zinc-400 placeholder:text-zinc-500":"bg-zinc-900/50 border-zinc-700 placeholder:text-zinc-600"),autoComplete:"off",autoCorrect:"on",spellCheck:!1}),!eS&&(0,r.jsx)("button",{onClick:e2,className:(0,C.cn)("p-2 rounded border transition-all","off"===ew||eS?"bg-zinc-800 border-zinc-700 text-zinc-400 hover:text-white":"bg-red-500 border-red-400 text-white animate-pulse"),title:"Voice → input (review before send)",children:"off"===ew||eS?(0,r.jsx)(f.Mic,{className:"w-4 h-4"}):(0,r.jsx)(p.MicOff,{className:"w-4 h-4"})}),(0,r.jsx)("button",{onClick:()=>{if(eT.current){if(eT.current=!1,eC(!1),ej.current?.state==="recording"){e7.current=!0,ev("transcribing");try{ej.current.stop()}catch{}}else ev("off");eR.current=null}else eT.current=!0,eC(!0),e4()},className:(0,C.cn)("p-2 rounded-full border transition-all",eS?"bg-green-600 border-green-400 text-white shadow-[0_0_12px_rgba(34,197,94,0.5)] animate-pulse":"bg-zinc-800 border-zinc-700 text-zinc-500 hover:text-green-400 hover:border-green-600"),title:eS?"Exit immersive voice":"Immersive voice (auto-send)",children:(0,r.jsx)(g.AudioLines,{className:"w-4 h-4"})}),eS&&(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("button",{onClick:()=>eL(!eF),className:(0,C.cn)("p-1.5 rounded border transition-all",eF?"bg-zinc-700 border-zinc-600 text-zinc-200":"bg-zinc-800 border-zinc-700 text-zinc-500 hover:text-zinc-300"),title:"Voice settings",children:(0,r.jsx)(v.Settings,{className:"w-3.5 h-3.5"})}),eF&&(0,r.jsxs)("div",{className:"absolute bottom-full right-0 mb-2 p-3 bg-zinc-800 border border-zinc-600 rounded-lg shadow-xl z-50 min-w-[180px]",children:[(0,r.jsx)("div",{className:"text-[10px] text-zinc-400 font-medium mb-2",children:"Voice Settings"}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between text-[9px] text-zinc-500 mb-1",children:[(0,r.jsx)("span",{children:"Sensitivity"}),(0,r.jsx)("span",{className:"font-mono",children:eE})]}),(0,r.jsx)("input",{type:"range",min:10,max:120,value:eE,onChange:e=>{let t=Number(e.target.value);eA(t),eM.current=t},className:"w-full h-1.5 accent-green-500"}),(0,r.jsxs)("div",{className:"flex justify-between text-[8px] text-zinc-600",children:[(0,r.jsx)("span",{children:"Quiet"}),(0,r.jsx)("span",{children:"Loud"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between text-[9px] text-zinc-500 mb-1",children:[(0,r.jsx)("span",{children:"Pause before send"}),(0,r.jsxs)("span",{className:"font-mono",children:[(e$/1e3).toFixed(1),"s"]})]}),(0,r.jsx)("input",{type:"range",min:1e3,max:5e3,step:250,value:e$,onChange:e=>{let t=Number(e.target.value);eD(t),eP.current=t},className:"w-full h-1.5 accent-green-500"}),(0,r.jsxs)("div",{className:"flex justify-between text-[8px] text-zinc-600",children:[(0,r.jsx)("span",{children:"Fast"}),(0,r.jsx)("span",{children:"Patient"})]})]}),(0,r.jsxs)("label",{className:"flex items-center justify-between cursor-pointer",children:[(0,r.jsx)("span",{className:"text-[9px] text-zinc-500",children:"Auto-send"}),(0,r.jsx)("div",{onClick:()=>{let e=!eI;eO(e),eB.current=e},className:(0,C.cn)("w-7 h-4 rounded-full relative transition-colors cursor-pointer",eI?"bg-green-600":"bg-zinc-600"),children:(0,r.jsx)("div",{className:(0,C.cn)("absolute top-0.5 w-3 h-3 rounded-full bg-white transition-transform",eI?"translate-x-3.5":"translate-x-0.5")})})]})]})]})]}),(0,r.jsx)("button",{onClick:()=>{e3(eb?eb+"\r":"\r"),eg("")},className:"px-3 py-2 text-[11px] font-mono bg-indigo-600 hover:bg-indigo-500 text-white rounded border border-indigo-500 font-medium",children:"Send"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{onClick:()=>{ez(!0),setTimeout(()=>ey.current?.focus(),50)},className:(0,C.cn)("px-2 py-1 text-[10px] font-mono rounded border",eN?"bg-indigo-600 border-indigo-500 text-white":"bg-zinc-800 hover:bg-zinc-700 text-zinc-400 border-zinc-700"),children:"⌨"}),(0,r.jsx)("button",{onClick:()=>e3("\x1b"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Esc"}),(0,r.jsx)("button",{onClick:()=>e3(" "),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Tab"}),(0,r.jsx)("button",{onClick:()=>e3("\x03"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Ctrl+C"}),(0,r.jsx)("button",{onClick:()=>e3("\x1b[A"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↑"}),(0,r.jsx)("button",{onClick:()=>e3("\x1b[B"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↓"}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)("button",{onClick:()=>eg(""),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Clear"})]})]}),!ed&&e9&&(0,r.jsxs)("div",{className:"flex items-center justify-end gap-1.5 px-2 py-1 flex-shrink-0 border-t border-zinc-700/50",style:{backgroundColor:`${t.color}08`},children:[ex&&(0,r.jsx)("span",{className:"text-[10px] text-green-400 animate-pulse mr-1",children:"listening"===em?"Listening...":"Voice active"}),(0,r.jsx)("button",{onClick:()=>{if(ep.current){if(ep.current=!1,eh(!1),ef("idle"),e6.current){try{e6.current.abort()}catch{}e6.current=null}}else e9&&(ep.current=!0,eh(!0),e8(!1),setTimeout(()=>L.current?.focus(),100))},className:(0,C.cn)("p-1 rounded border transition-all",ex&&!eS?"bg-green-900/50 border-green-500 text-green-400 hover:bg-red-900/50 hover:border-red-600 hover:text-red-400 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"bg-zinc-800/50 border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:bg-zinc-700"),title:"Dictation (text appears, you press Enter)",children:(0,r.jsx)(f.Mic,{className:"w-3.5 h-3.5"})}),(0,r.jsx)("button",{onClick:()=>{if(ep.current){if(ep.current=!1,eh(!1),ef("idle"),e6.current){try{e6.current.abort()}catch{}e6.current=null}}else e9&&(ep.current=!0,eh(!0),e8(!0),setTimeout(()=>L.current?.focus(),100))},className:(0,C.cn)("p-1 rounded-full border transition-all",ex&&!eS?"bg-green-600 border-green-400 text-white shadow-[0_0_10px_rgba(34,197,94,0.5)] animate-pulse":eS?"bg-zinc-800/50 border-zinc-700 text-zinc-600":"bg-zinc-800/50 border-zinc-700 text-zinc-500 hover:text-green-400 hover:border-green-600"),title:"Immersive voice (auto-send on silence)",children:(0,r.jsx)(g.AudioLines,{className:"w-3.5 h-3.5"})})]})]})}e.s(["TerminalPane",()=>A],424134)}]);
13
+ `)}else tr("Upload failed")}catch{tr("Upload failed")}ta.current=setTimeout(()=>tr(null),4e3)},[]),(0,n.useEffect)(()=>{let e=F.current;if(!e)return;let t=t=>{if(!e.contains(t.target))return;let r=t.clipboardData?.items;if(!r)return;let n=[];for(let e=0;e<r.length;e++){let t=r[e];if("file"===t.kind){let e=t.getAsFile();e&&n.push(e)}}n.length>0&&(t.preventDefault(),t.stopPropagation(),eY.current(n))};document.addEventListener("paste",t,!0);let r=e=>{e.preventDefault(),e.stopPropagation(),ti(!0)},n=t=>{t.preventDefault(),e&&!e.contains(t.relatedTarget)&&ti(!1)},i=e=>{e.preventDefault(),e.stopPropagation(),ti(!1);let t=[];if(e.dataTransfer?.files)for(let r=0;r<e.dataTransfer.files.length;r++)t.push(e.dataTransfer.files[r]);t.length>0&&eY.current(t)};return e.addEventListener("dragover",r),e.addEventListener("dragleave",n),e.addEventListener("drop",i),()=>{document.removeEventListener("paste",t,!0),e.removeEventListener("dragover",r),e.removeEventListener("dragleave",n),e.removeEventListener("drop",i)}},[]),(0,n.useEffect)(()=>{if(!Q)return;let e=e=>{let t=e.target;er.current&&!er.current.contains(t)&&en.current&&!en.current.contains(t)&&Z(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[Q]),(0,r.jsxs)("div",{className:(0,C.cn)("flex flex-col border rounded-lg overflow-hidden",z?"h-full !rounded-none":"h-full","border-zinc-700"),style:{borderColor:`${t.color}60`},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 text-xs select-none flex-shrink-0",style:{backgroundColor:`${t.color}30`,borderBottom:`1px solid ${t.color}40`},children:[O&&!P&&(0,r.jsx)("div",{...O,className:"flex-shrink-0 cursor-grab active:cursor-grabbing text-zinc-500 hover:text-zinc-300 -ml-1",children:(0,r.jsx)(w,{className:"w-3.5 h-3.5"})}),(0,r.jsxs)("div",{ref:er,className:"flex-shrink-0",children:[(0,r.jsx)("button",{onClick:e=>{let t=e.currentTarget.getBoundingClientRect();et({x:t.left,y:t.bottom+6}),Z(!Q)},className:"w-3 h-3 rounded-full hover:ring-2 hover:ring-zinc-500 ring-offset-1 ring-offset-zinc-900 transition-shadow cursor-pointer",style:{backgroundColor:t.color},title:"Change color"}),Q&&(0,i.createPortal)((0,r.jsx)("div",{ref:en,className:"fixed z-[9999] bg-zinc-800 border border-zinc-600 rounded-xl p-3 shadow-2xl",style:{left:ee.x,top:ee.y},children:(0,r.jsx)("div",{className:"grid grid-cols-4 gap-2.5",style:{width:132},children:["#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c"].map(e=>(0,r.jsx)("button",{onClick:()=>{N(t.id,{color:e}),Z(!1)},className:`w-7 h-7 rounded-full border-2 transition-all hover:scale-110 ${t.color===e?"border-white scale-110 shadow-lg":"border-transparent hover:border-zinc-500"}`,style:{backgroundColor:e}},e))})}),document.body)]}),G?(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1",children:[(0,r.jsx)("input",{autoFocus:!0,value:Y,onChange:e=>X(e.target.value),onKeyDown:e=>{"Enter"===e.key&&e5(),"Escape"===e.key&&(X(t.title),H(!1))},className:"flex-1 bg-transparent border border-zinc-600 rounded px-1.5 py-0.5 text-xs focus:outline-none focus:border-indigo-400"}),(0,r.jsx)("button",{onClick:e5,className:"text-green-400 hover:text-green-300",children:(0,r.jsx)(c.Check,{className:"w-3 h-3"})})]}):(0,r.jsxs)("div",{className:"flex items-center gap-1 flex-1 min-w-0 group/title",children:[(0,r.jsx)("span",{onDoubleClick:()=>H(!0),className:"truncate text-zinc-300 font-medium cursor-default",children:t.title}),(0,r.jsx)("button",{onClick:()=>H(!0),className:"text-zinc-600 hover:text-zinc-300 opacity-0 group-hover/title:opacity-100 transition-opacity flex-shrink-0",title:"Rename",children:(0,r.jsx)(s.Pencil,{className:"w-2.5 h-2.5"})})]}),(0,r.jsx)("button",{onClick:()=>M?.(t.cwd),className:"text-[10px] text-zinc-500 truncate max-w-[120px] hover:text-amber-400 transition-colors",title:`Browse ${t.cwd}`,children:t.cwd.split(/[/\\]/).pop()}),t.agentType&&"shell"!==t.agentType&&(0,r.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium flex items-center gap-1",style:{backgroundColor:`${T.AGENT_TYPES[t.agentType]?.color||"#6366f1"}20`,color:T.AGENT_TYPES[t.agentType]?.color||"#6366f1"},children:[T.AGENT_TYPES[t.agentType]?.name||t.agentType,t.customModelId&&(0,r.jsx)("span",{className:"flex items-center gap-1 border-l border-current pl-1 ml-0.5",children:(0,r.jsx)("span",{className:(0,C.cn)("w-1.5 h-1.5 rounded-full","RUNNING"===eV?"bg-green-500":"PROVISIONING"===eV||"STAGING"===eV?"bg-yellow-500 animate-pulse":"bg-red-500"),title:eV||"UNKNOWN"})})]}),t.nodeId&&(0,r.jsxs)("span",{className:"text-[9px] px-1.5 py-0.5 rounded font-medium bg-blue-500/10 text-blue-400 flex items-center gap-0.5",children:[(0,r.jsx)(h.Globe,{className:"w-2.5 h-2.5"}),"remote"]}),I&&"shell"!==t.agentType&&(0,r.jsx)("button",{onClick:async()=>{let e=!t.isCollaborating;await N(t.id,{isCollaborating:e}),q.current?.readyState===WebSocket.OPEN&&q.current.send(JSON.stringify({type:"collab-toggle",isCollaborating:e}))},className:`transition-colors ${t.isCollaborating?"text-indigo-400 hover:text-indigo-300":"text-zinc-600 hover:text-zinc-400"}`,title:t.isCollaborating?"Collaborating — click to opt out":"Not collaborating — click to opt in",children:(0,r.jsx)(m.Users,{className:"w-3 h-3"})}),!_&&!ei&&(0,r.jsx)("span",{className:"text-[10px] text-yellow-500",children:"connecting..."}),ei&&(0,r.jsx)("button",{onClick:()=>{eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose(),ea(!1),eX.current=!1,setTimeout(e1,100)},className:"text-zinc-400 hover:text-white",title:"Restart",children:(0,r.jsx)(o.RotateCcw,{className:"w-3 h-3"})}),!P&&A&&(0,r.jsx)("button",{onClick:()=>{A&&(eQ.current=!0,eZ.current&&clearTimeout(eZ.current),q.current?.close(),L.current?.dispose(),A(t.id))},className:"text-zinc-300 hover:text-white",title:"Pop out to new window",children:(0,r.jsx)(x,{className:"w-3 h-3"})}),t.diffBaselineSha&&(0,r.jsxs)("button",{onClick:()=>eU(!eq),className:(0,C.cn)("relative text-zinc-300 hover:text-white",eq&&"text-indigo-400"),title:eq?"Hide diff":"Review changes",children:[(0,r.jsx)(j,{className:"w-3 h-3"}),null!=eW&&eW>0&&!eq&&(0,r.jsx)("span",{className:"absolute -top-1.5 -right-1.5 text-[8px] bg-indigo-500 text-white rounded-full w-3.5 h-3.5 flex items-center justify-center font-bold",children:eW>9?"9+":eW})]}),E&&!P&&(0,r.jsx)("button",{onClick:()=>E(t.id),className:"text-zinc-300 hover:text-yellow-400",title:"Minimize",children:(0,r.jsx)(y,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:()=>k(t.id),className:"text-zinc-300 hover:text-white",title:z?"Restore":"Maximize",children:z?(0,r.jsx)(u,{className:"w-3 h-3"}):(0,r.jsx)(l.Maximize2,{className:"w-3 h-3"})}),(0,r.jsx)("button",{onClick:()=>{confirm("Close this terminal?")&&d(t.id)},className:"text-zinc-300 hover:text-red-400",title:"Close",children:(0,r.jsx)(a.X,{className:"w-3 h-3"})})]}),(0,r.jsxs)("div",{ref:F,className:"flex-1 relative bg-[#0a0a0a]",style:{minHeight:0,flex:1},onClick:ed?e=>{e.preventDefault()}:void 0,onWheel:ed?e=>{e.preventDefault();let t=Date.now();Math.abs(e.deltaY)>10&&t-ek.current>200&&(ek.current=t,e2(e.deltaY<0?"\x1b[A":"\x1b[B"))}:void 0,children:[tn&&(0,r.jsx)("div",{className:"absolute inset-0 z-10 bg-indigo-500/10 border-2 border-dashed border-indigo-400 flex items-center justify-center pointer-events-none",children:(0,r.jsxs)("div",{className:"flex items-center gap-2 bg-zinc-900/90 px-4 py-2 rounded-lg text-sm text-indigo-300",children:[(0,r.jsx)(b.Upload,{className:"w-4 h-4"}),"Drop files to upload to ",t.cwd.split(/[/\\]/).pop()||t.cwd]})}),tt&&(0,r.jsx)("div",{className:"absolute bottom-2 left-1/2 -translate-x-1/2 z-10 bg-zinc-800/95 border border-zinc-600 px-3 py-1.5 rounded-lg text-xs text-zinc-300 shadow-lg",children:tt})]}),eq&&(0,r.jsx)(S,{paneId:t.id,onClose:()=>eU(!1)}),ed&&(0,r.jsxs)("div",{className:"flex flex-col gap-1 px-2 py-1.5 flex-shrink-0 border-t border-zinc-700",style:{backgroundColor:`${t.color}15`,borderTopColor:`${t.color}30`},children:[(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("input",{ref:ey,type:"text",value:eb,readOnly:!eN,onChange:e=>eg(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),e2(eb?eb+"\r":"\r"),eg(""),ez(!1),ey.current?.blur())},onBlur:()=>ez(!1),placeholder:eS&&"listening"===ew?"Speak now...":eS&&"transcribing"===ew?"Sending...":eS?"Immersive mode active":"listening"===ew?"Listening...":"transcribing"===ew?"Transcribing...":eN?"Type here...":"Tap mic, keyboard, or type",className:(0,C.cn)("flex-1 text-zinc-200 text-sm px-3 py-2 rounded border focus:outline-none font-mono",eN?"bg-zinc-900 border-zinc-400 placeholder:text-zinc-500":"bg-zinc-900/50 border-zinc-700 placeholder:text-zinc-600"),autoComplete:"off",autoCorrect:"on",spellCheck:!1}),!eS&&(0,r.jsx)("button",{onClick:e4,className:(0,C.cn)("p-2 rounded border transition-all","off"===ew||eS?"bg-zinc-800 border-zinc-700 text-zinc-400 hover:text-white":"bg-red-500 border-red-400 text-white animate-pulse"),title:"Voice → input (review before send)",children:"off"===ew||eS?(0,r.jsx)(f.Mic,{className:"w-4 h-4"}):(0,r.jsx)(p.MicOff,{className:"w-4 h-4"})}),(0,r.jsx)("button",{onClick:()=>{if(eT.current){if(eT.current=!1,eC(!1),ej.current?.state==="recording"){e6.current=!0,ev("transcribing");try{ej.current.stop()}catch{}}else ev("off");e$.current=null}else eT.current=!0,eC(!0),e7()},className:(0,C.cn)("p-2 rounded-full border transition-all",eS?"bg-green-600 border-green-400 text-white shadow-[0_0_12px_rgba(34,197,94,0.5)] animate-pulse":"bg-zinc-800 border-zinc-700 text-zinc-500 hover:text-green-400 hover:border-green-600"),title:eS?"Exit immersive voice":"Immersive voice (auto-send)",children:(0,r.jsx)(g.AudioLines,{className:"w-4 h-4"})}),eS&&(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("button",{onClick:()=>eL(!eF),className:(0,C.cn)("p-1.5 rounded border transition-all",eF?"bg-zinc-700 border-zinc-600 text-zinc-200":"bg-zinc-800 border-zinc-700 text-zinc-500 hover:text-zinc-300"),title:"Voice settings",children:(0,r.jsx)(v.Settings,{className:"w-3.5 h-3.5"})}),eF&&(0,r.jsxs)("div",{className:"absolute bottom-full right-0 mb-2 p-3 bg-zinc-800 border border-zinc-600 rounded-lg shadow-xl z-50 min-w-[180px]",children:[(0,r.jsx)("div",{className:"text-[10px] text-zinc-400 font-medium mb-2",children:"Voice Settings"}),(0,r.jsxs)("div",{className:"space-y-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between text-[9px] text-zinc-500 mb-1",children:[(0,r.jsx)("span",{children:"Sensitivity"}),(0,r.jsx)("span",{className:"font-mono",children:eR})]}),(0,r.jsx)("input",{type:"range",min:10,max:120,value:eR,onChange:e=>{let t=Number(e.target.value);eE(t),eA.current=t},className:"w-full h-1.5 accent-green-500"}),(0,r.jsxs)("div",{className:"flex justify-between text-[8px] text-zinc-600",children:[(0,r.jsx)("span",{children:"Quiet"}),(0,r.jsx)("span",{children:"Loud"})]})]}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between text-[9px] text-zinc-500 mb-1",children:[(0,r.jsx)("span",{children:"Pause before send"}),(0,r.jsxs)("span",{className:"font-mono",children:[(eM/1e3).toFixed(1),"s"]})]}),(0,r.jsx)("input",{type:"range",min:1e3,max:5e3,step:250,value:eM,onChange:e=>{let t=Number(e.target.value);eP(t),eD.current=t},className:"w-full h-1.5 accent-green-500"}),(0,r.jsxs)("div",{className:"flex justify-between text-[8px] text-zinc-600",children:[(0,r.jsx)("span",{children:"Fast"}),(0,r.jsx)("span",{children:"Patient"})]})]}),(0,r.jsxs)("label",{className:"flex items-center justify-between cursor-pointer",children:[(0,r.jsx)("span",{className:"text-[9px] text-zinc-500",children:"Auto-send"}),(0,r.jsx)("div",{onClick:()=>{let e=!eI;eO(e),eB.current=e},className:(0,C.cn)("w-7 h-4 rounded-full relative transition-colors cursor-pointer",eI?"bg-green-600":"bg-zinc-600"),children:(0,r.jsx)("div",{className:(0,C.cn)("absolute top-0.5 w-3 h-3 rounded-full bg-white transition-transform",eI?"translate-x-3.5":"translate-x-0.5")})})]})]})]})]}),(0,r.jsx)("button",{onClick:()=>{e2(eb?eb+"\r":"\r"),eg("")},className:"px-3 py-2 text-[11px] font-mono bg-indigo-600 hover:bg-indigo-500 text-white rounded border border-indigo-500 font-medium",children:"Send"})]}),(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)("button",{onClick:()=>{ez(!0),setTimeout(()=>ey.current?.focus(),50)},className:(0,C.cn)("px-2 py-1 text-[10px] font-mono rounded border",eN?"bg-indigo-600 border-indigo-500 text-white":"bg-zinc-800 hover:bg-zinc-700 text-zinc-400 border-zinc-700"),children:"⌨"}),(0,r.jsx)("button",{onClick:()=>e2("\x1b"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Esc"}),(0,r.jsx)("button",{onClick:()=>e2(" "),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Tab"}),(0,r.jsx)("button",{onClick:()=>e2("\x03"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Ctrl+C"}),(0,r.jsx)("button",{onClick:()=>e2("\x1b[A"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↑"}),(0,r.jsx)("button",{onClick:()=>e2("\x1b[B"),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"↓"}),(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)("button",{onClick:()=>eg(""),className:"px-2 py-1 text-[10px] font-mono bg-zinc-800 hover:bg-zinc-700 text-zinc-400 rounded border border-zinc-700",children:"Clear"})]})]}),!ed&&e8&&(0,r.jsxs)("div",{className:"flex items-center justify-end gap-1.5 px-2 py-1 flex-shrink-0 border-t border-zinc-700/50",style:{backgroundColor:`${t.color}08`},children:[ex&&(0,r.jsx)("span",{className:"text-[10px] text-green-400 animate-pulse mr-1",children:"listening"===em?"Listening...":"Voice active"}),(0,r.jsx)("button",{onClick:()=>{if(ep.current){if(ep.current=!1,eh(!1),ef("idle"),e9.current){try{e9.current.abort()}catch{}e9.current=null}}else e8&&(ep.current=!0,eh(!0),te(!1),setTimeout(()=>L.current?.focus(),100))},className:(0,C.cn)("p-1 rounded border transition-all",ex&&!eS?"bg-green-900/50 border-green-500 text-green-400 hover:bg-red-900/50 hover:border-red-600 hover:text-red-400 shadow-[0_0_8px_rgba(34,197,94,0.3)]":"bg-zinc-800/50 border-zinc-700 text-zinc-500 hover:text-zinc-300 hover:bg-zinc-700"),title:"Dictation (text appears, you press Enter)",children:(0,r.jsx)(f.Mic,{className:"w-3.5 h-3.5"})}),(0,r.jsx)("button",{onClick:()=>{if(ep.current){if(ep.current=!1,eh(!1),ef("idle"),e9.current){try{e9.current.abort()}catch{}e9.current=null}}else e8&&(ep.current=!0,eh(!0),te(!0),setTimeout(()=>L.current?.focus(),100))},className:(0,C.cn)("p-1 rounded-full border transition-all",ex&&!eS?"bg-green-600 border-green-400 text-white shadow-[0_0_10px_rgba(34,197,94,0.5)] animate-pulse":eS?"bg-zinc-800/50 border-zinc-700 text-zinc-600":"bg-zinc-800/50 border-zinc-700 text-zinc-500 hover:text-green-400 hover:border-green-600"),title:"Immersive voice (auto-send on silence)",children:(0,r.jsx)(g.AudioLines,{className:"w-3.5 h-3.5"})})]})]})}e.s(["TerminalPane",()=>E],424134)}]);
@@ -1,145 +1,51 @@
1
- <cortex-context>
2
- Relevant context from your workspace history:
3
-
4
- [Conversation] 2026-03-12: [user]: jlongo@production-1:~/development/spaces$ spaces
5
- No running server found on port 3457
6
-
7
- Spaces - Agent Workspace Manager
8
- =================================
9
-
10
- Tier: federation
11
- Admin DB: /home/jlongo/.spaces/admin.db
12
- Collaboration: @spaces/teams loaded OK
13
-
14
- [SSH] Authorized service key for user jlongo
15
- [SSH] Authorized service key for user cmohaniii_gmail_com
16
- [SSH] Authorized service key for user kdiulus
17
- [SSH] Authorized service key for user mscalise
18
- [Analytics] Writable admin DB connected, stale sessions cleaned up
19
- [mDNS] Advertising as "production-1" (cbe2d93e) on port 3457
20
- Starting server on http://localhost:3457
21
-
22
- Next.js 16.1.6
23
- - Local: http://localhost:3400
24
- - Network: http://0.0.0.0:3400
25
-
26
- Starting...
27
- ✓ Ready in 214ms
28
-
29
- Ready at http://localhost:3457
30
-
31
- Open http://localhost:3457 in your browser
32
- [spaces] File watcher started on /home/jlongo/.claude/projects
33
- [spaces] File watcher started on /home/jlongo/.codex/sessions
34
- [spaces] File watcher started on /home/jlongo/.gemini/tmp
35
- [Auth] pane=67fce1a2 cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
36
- [Auth] Authenticated via session cookie: jlongo
37
- [Spawn] user=jlongo shell=/bin/bash args=[] cwd=/home/jlongo agentType=claude
38
- [Session CWD] b825e17f: /home/jlongo
39
- [Auth] pane=28fdb715 cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
40
- [Auth] Authenticated via session cookie: jlongo
41
- [Spawn] user=jlongo shell=/bin/bash args=[] cwd=/home/jlongo/development agentType=shell
42
- [Cortex] No knowledge found for "jlongo"
43
- [Auth] pane=8c40dfff cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
44
- [Auth] Authenticated via session cookie: jlongo
45
- [Spawn] user=jlongo shell=/bin/bash args=[] cwd=/home/jlongo/storage/airflow/dags agentType=claude
46
- [Session CWD] 2f1c4619: /home/jlongo/storage/airflow/dags
47
- [Cortex] No knowledge found for "dags"
48
- [Auth] pane=50db8a62 cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
49
- [Auth] Authenticated via session cookie: jlongo
50
- [Spawn] user=jlongo shell=/bin/bash args=[] cwd=/home/jlongo/storage/RRPS agentType=claude
51
- [Session Detect] Pane 50db8a62 (jlongo): snapshot 365 existing sessions
52
- [Cortex] No knowledge found for "RRPS"
53
- [Auth] pane=0eb34b28 cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
54
- [Auth] Authenticated via session cookie: jlongo
55
- [Spawn] user=jlongo shell=/bin/bash args=[] cwd=/home/jlongo agentType=shell
56
- [spaces:jlongo] Synced 30 projects, 368 sessions
57
- [spaces:jlongo] Enriched 201 sessions from JSONL
58
- [Auth] pane=78d94e89 cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
59
- [Auth] Authenticated via session cookie: mscalise
60
- [SSH] Authorized service key for user mscalise
61
- [Spawn] user=mscalise shell=/usr/bin/ssh args=["-4","-o","StrictHostKeyChecking=accept-new","-o","UserKnownHostsFile=/home/jlongo/.spaces/known_hosts","-i","/home/jlongo/.spaces/service_key","-t","mscalise@localhost"] cwd=/ agentType=shell
62
- [spaces:mscalise] Sync error: Error: EACCES: permission denied, scandir '/home/mscalise/.claude/projects'
63
- at <unknown> (.next/server/chunks/[root-of-the-server]__160e7c73._.js:133:239)
64
- at <unknown> (.next/server/chunks/[root-of-the-server]__160e7c73._.js:133:1894)
65
- at er (.next/server/chunks/[root-of-the-server]__160e7c73._.js:133:8524)
66
- at c (.next/server/chunks/[root-of-the-server]__5bd0f118._.js:96:483)
67
- at <unknown> (.next/server/chunks/[root-of-the-server]__130dee4b._.js:96:1708)
68
- at i (.next/server/chunks/[root-of-the-server]__5bd0f118._.js:1:2478)
69
- at I (.next/server/chunks/[root-of-the-server]__130dee4b._.js:96:1666) {
70
- errno: -13,
71
- code: 'EACCES',
72
- syscall: 'scandir',
73
- path: '/home/mscalise/.claude/projects'
74
- }
75
- [MessageWatcher] Started polling
76
- [Auth] pane=75d1509d cookie=present sessionValid=true terminalToken=session-auth nodeId=NONE apiKey=NONE
77
- [Auth] Authenticated via session cookie: mscalise
78
- [SS
79
- Source: session 98646dcf-fd30-42fb-b895-ff84756e20ea, confidence: 40%
80
-
81
- [Conversation] 2026-03-19: [user]: jlongo@production-1:~$ grep -i maxstartups /etc/ssh/sshd_configgrep -i maxstartups /etc/ssh/sshd_config
82
- grep: /etc/ssh/sshd_configgrep: No such file or directory
83
- grep: maxstartups: No such file or directory
84
- /etc/ssh/sshd_config:MaxStartups 50:30:200
85
- jlongo@production-1:~$ jlongo@production-1:~$ grep -i maxstartups /etc/ssh/sshd_configgrep -i maxstartups /etc/ssh/sshd_config
86
-
87
- grep: /etc/ssh/sshd_configgrep: No such file or directory
88
-
89
- grep: maxstartups: No such file or directory
90
-
91
- /etc/ssh/sshd_config:MaxStartups 50:30:200
92
-
93
- jlongo@production-1:~$ he does not get the same key_exchange error. they just remain blank. you check the db
94
-
95
- [assistant]: These are all **your** panes (local workspaces, `node_id` is NULL). There are no workspaces/panes with user-level scoping in the DB schema — workspaces don't have a `user_id` column.
96
-
97
- This is the issue: when Chuck connects via federation and opens a workspace, the panes he sees have `cwd` paths like `/home/jlongo/development/...` — those paths don't exist on **his** machine. The panes are yours, not his.
98
-
99
- The federation scoping fix made it so Chuck sees his own workspaces via the API, but does Chuck actually have any workspaces created on your server under his account? Or is he seeing your workspaces and trying to open panes that point to your home directory?
100
-
101
- Can you check what the federated endpoint actually returns for him:
102
-
103
- ```bash
104
- # Find Chuck's API key and test what workspaces it returns
105
- curl -s -H "Authorization: Bearer $(sqlite3 /home/jlongo/.spaces/network.db "SELECT key_prefix FROM api_keys WHERE username='cmohan'")" http://localhost:3457/api/workspaces | python3 -m json.tool
106
- ```
107
-
108
- Or — what workspaces does Chuck see listed on his end?
109
- Source: session 25c57645-12f5-4001-85ed-d1844ce047e3, confidence: 40%
110
-
111
- [Conversation] 2026-04-03: [user]: set up a new Space called 'New Server Build' with these 2 sessions
112
-
113
- [assistant]: I don't have MCP tools for the Spaces app directly. Let me check if there's a CLI or API I can use.
114
-
115
- [assistant]: The CLI is for server management, not content. Let me check the running API for space/session creation.
116
-
117
- [assistant]: The API requires authentication (redirecting to login). Let me check the source for the API routes and how to authenticate programmatically.
118
-
119
- [assistant]: I need to authenticate with the API. Let me check the auth mechanism.
120
-
121
- [assistant]: There's an internal API bypass using the first 16 chars of the session secret. Let me use that.
122
-
123
- [assistant]: Now let me check how to create a workspace and add sessions to it.
124
-
125
- [assistant]: Now I need to find how to add sessions to a workspace. Let me check the workspace detail API.
126
-
127
- [assistant]: I need to find how sessions are linked to workspaces. Let me check the sessions API for adding to workspaces.
128
-
129
- [assistant]: Now let me check how the session API handles adding to workspaces.
130
-
131
- [assistant]: I don't see an add-to-workspace action on the session endpoint. Let me check if there's a dedicated endpoint or if it's on the workspace side.
132
-
133
- [assistant]: Now I have everything I need. Let me create the workspace and add both sessions.
134
-
135
- [assistant]: Workspace created (id: 22). Now let me add both sessions.
136
-
137
- [assistant]: Done. Created the **"New Server Build"** workspace with both sessions:
138
-
139
- 1. **`53b6db51`** (Mar 18) — the original VM split planning session from `~/`
140
- 2. **`8cdbdd17`** (Mar 25) — the follow-up session from `~/development/arc_projects`
141
-
142
- You should see it in Spaces now.
143
- Source: session ad020df1-3ef9-4fbe-9e42-6e32e789c88b, confidence: 40%
144
-
1
+ <cortex-context>
2
+ Relevant context from your workspace history:
3
+
4
+ [Preference] 2026-04-14: The 'spaces' command runs from npm-published build which is older and doesn't have the wizard wired in yet
5
+
6
+ [Error Fix] 2026-04-14: error: cannot find button, fix: button is in Workspace Chooser screen next to New Workspace
7
+
8
+ [Conversation] 2026-04-14: i don't see the button
9
+
10
+ It's in the Workspace Chooser — the "Plan a Project" button. Let me check where it sits in the layout.
11
+
12
+ The button is there — it's the indigo "Plan a Project" button with the wand icon, sitting next to "New Workspace" in the Workspace Chooser screen. You see it when you're on the workspace selection view (the screen that lists all your workspaces).
13
+
14
+ Are you looking at a running instance right now? It's possible the build you're running is older than the code in main. You might need to rebuild (`...
15
+
16
+ [Conversation] 2026-04-14: not there.
17
+
18
+ Let me find where the WorkspaceChooser is actually rendered in the app.
19
+
20
+ There's the problem — `WorkspaceChooser` is never imported anywhere. The component exists but nothing renders it. It's dead code — the button literally can't appear because the component isn't wired into any page.
21
+
22
+ Let me find what's actually used for workspace selection.
23
+
24
+ Yeah — the wizard is completely disconnected. The `WorkspaceChooser` component (which has the "Plan a Project" button) is never imported or rendered by a...
25
+
26
+ [Decision] 2026-04-14: WorkspaceChooser component should be imported and rendered in the app
27
+
28
+ [Decision] 2026-04-14: Use 'npm run dev' command to test local changes instead of 'spaces' command
29
+
30
+ [Decision] 2026-04-14: Provide 'Plan a Project' button alongside 'New Workspace' and Quick Start Templates as alternative entry points
31
+
32
+ [Conversation] 2026-04-14: give me a description of our project creation wizard functionality
33
+
34
+ Here's a description of the project creation wizard:
35
+
36
+ ## Project Creation Wizard
37
+
38
+ The wizard is an AI-assisted, two-phase flow for setting up new workspaces with pre-configured agent panes.
39
+
40
+ ### Entry Point
41
+ Users access it via the **"Plan a Project"** button in the Workspace Chooser (alongside the simpler "New Workspace" option and Quick Start Templates).
42
+
43
+ ### Phase 1 Conversational Planning (`wizard-chat.tsx`)
44
+ - A chat interface where the user describes their project goals
45
+ - Claude Haiku proc...
46
+
47
+ [Pattern] 2026-04-14: Diagnosing tool usage issues by suggesting alternative execution methods (e.g., 'spaces' command vs 'npm run dev')
48
+
49
+ [Context] 2026-04-14: still there. i ran it using the 'spaces' command. should I run it some other way?
50
+
145
51
  </cortex-context>