@jlongo78/agent-spaces 0.10.0-beta.2 → 0.10.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (721) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/server/app/(desktop)/admin/analytics/page_client-reference-manifest.js +1 -1
  4. package/.next/standalone/.next/server/app/(desktop)/admin/users/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/(desktop)/analytics/page_client-reference-manifest.js +1 -1
  6. package/.next/standalone/.next/server/app/(desktop)/cortex/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(desktop)/network/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/.next/server/app/(desktop)/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/(desktop)/projects/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(desktop)/sessions/[id]/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/.next/server/app/(desktop)/sessions/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(desktop)/settings/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(desktop)/terminal/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/(desktop)/terminal/pane/[id]/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(desktop)/terminal/remote/[nodeId]/[workspaceId]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(desktop)/workspaces/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  18. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  19. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  20. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  21. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  25. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  26. package/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  27. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  28. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  33. package/.next/standalone/.next/server/app/admin/analytics.html +1 -1
  34. package/.next/standalone/.next/server/app/admin/analytics.rsc +2 -2
  35. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics/__PAGE__.segment.rsc +1 -1
  36. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin/analytics.segment.rsc +1 -1
  37. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/admin/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/admin/analytics.segments/_full.segment.rsc +2 -2
  40. package/.next/standalone/.next/server/app/admin/analytics.segments/_head.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/admin/analytics.segments/_index.segment.rsc +2 -2
  42. package/.next/standalone/.next/server/app/admin/analytics.segments/_tree.segment.rsc +2 -2
  43. package/.next/standalone/.next/server/app/admin/users.html +1 -1
  44. package/.next/standalone/.next/server/app/admin/users.rsc +2 -2
  45. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users/__PAGE__.segment.rsc +1 -1
  46. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin/users.segment.rsc +1 -1
  47. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap/admin.segment.rsc +1 -1
  48. package/.next/standalone/.next/server/app/admin/users.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  49. package/.next/standalone/.next/server/app/admin/users.segments/_full.segment.rsc +2 -2
  50. package/.next/standalone/.next/server/app/admin/users.segments/_head.segment.rsc +1 -1
  51. package/.next/standalone/.next/server/app/admin/users.segments/_index.segment.rsc +2 -2
  52. package/.next/standalone/.next/server/app/admin/users.segments/_tree.segment.rsc +2 -2
  53. package/.next/standalone/.next/server/app/analytics.html +1 -1
  54. package/.next/standalone/.next/server/app/analytics.rsc +2 -2
  55. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics/__PAGE__.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap/analytics.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/analytics.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  58. package/.next/standalone/.next/server/app/analytics.segments/_full.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/analytics.segments/_head.segment.rsc +1 -1
  60. package/.next/standalone/.next/server/app/analytics.segments/_index.segment.rsc +2 -2
  61. package/.next/standalone/.next/server/app/analytics.segments/_tree.segment.rsc +2 -2
  62. package/.next/standalone/.next/server/app/api/admin/analytics/route.js +4 -2
  63. package/.next/standalone/.next/server/app/api/admin/analytics/route.js.nft.json +1 -1
  64. package/.next/standalone/.next/server/app/api/admin/users/[id]/route.js +4 -2
  65. package/.next/standalone/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/admin/users/route.js +4 -2
  67. package/.next/standalone/.next/server/app/api/admin/users/route.js.nft.json +1 -1
  68. package/.next/standalone/.next/server/app/api/analytics/overview/route.js +5 -4
  69. package/.next/standalone/.next/server/app/api/analytics/overview/route.js.nft.json +1 -1
  70. package/.next/standalone/.next/server/app/api/auth/login/route.js +3 -2
  71. package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  72. package/.next/standalone/.next/server/app/api/auth/logout/route.js +2 -2
  73. package/.next/standalone/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/auth/me/route.js +3 -2
  75. package/.next/standalone/.next/server/app/api/auth/me/route.js.nft.json +1 -1
  76. package/.next/standalone/.next/server/app/api/auth/totp/setup/route.js +2 -2
  77. package/.next/standalone/.next/server/app/api/auth/totp/setup/route.js.nft.json +1 -1
  78. package/.next/standalone/.next/server/app/api/auth/totp/status/route.js +2 -2
  79. package/.next/standalone/.next/server/app/api/auth/totp/status/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/auth/totp/verify/route.js +3 -2
  81. package/.next/standalone/.next/server/app/api/auth/totp/verify/route.js.nft.json +1 -1
  82. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js +4 -3
  83. package/.next/standalone/.next/server/app/api/benchmark/lobes/route.js.nft.json +1 -1
  84. package/.next/standalone/.next/server/app/api/benchmark/run/route.js +4 -3
  85. package/.next/standalone/.next/server/app/api/benchmark/run/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js +4 -3
  87. package/.next/standalone/.next/server/app/api/benchmark/runs/[id]/route.js.nft.json +1 -1
  88. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js +4 -3
  89. package/.next/standalone/.next/server/app/api/benchmark/runs/route.js.nft.json +1 -1
  90. package/.next/standalone/.next/server/app/api/benchmark/status/route.js +4 -3
  91. package/.next/standalone/.next/server/app/api/benchmark/status/route.js.nft.json +1 -1
  92. package/.next/standalone/.next/server/app/api/bulk/route.js +5 -4
  93. package/.next/standalone/.next/server/app/api/bulk/route.js.nft.json +1 -1
  94. package/.next/standalone/.next/server/app/api/chat/route.js +4 -2
  95. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  96. package/.next/standalone/.next/server/app/api/claude/usage/route.js +5 -4
  97. package/.next/standalone/.next/server/app/api/claude/usage/route.js.nft.json +1 -1
  98. package/.next/standalone/.next/server/app/api/config/route.js +3 -3
  99. package/.next/standalone/.next/server/app/api/config/route.js.nft.json +1 -1
  100. package/.next/standalone/.next/server/app/api/cortex/context/route.js +4 -3
  101. package/.next/standalone/.next/server/app/api/cortex/context/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js +4 -3
  103. package/.next/standalone/.next/server/app/api/cortex/curation/assess/route.js.nft.json +1 -1
  104. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js +4 -3
  105. package/.next/standalone/.next/server/app/api/cortex/curation/publish/route.js.nft.json +1 -1
  106. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js +4 -3
  107. package/.next/standalone/.next/server/app/api/cortex/curation/refine/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js +4 -3
  109. package/.next/standalone/.next/server/app/api/cortex/curation/review/route.js.nft.json +1 -1
  110. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js +4 -3
  111. package/.next/standalone/.next/server/app/api/cortex/curation/seed/route.js.nft.json +1 -1
  112. package/.next/standalone/.next/server/app/api/cortex/export/route.js +4 -3
  113. package/.next/standalone/.next/server/app/api/cortex/export/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js +4 -3
  115. package/.next/standalone/.next/server/app/api/cortex/federation/pending/route.js.nft.json +1 -1
  116. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js +4 -3
  117. package/.next/standalone/.next/server/app/api/cortex/federation/resolve/route.js.nft.json +1 -1
  118. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js +4 -3
  119. package/.next/standalone/.next/server/app/api/cortex/federation/search/route.js.nft.json +1 -1
  120. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js +4 -3
  121. package/.next/standalone/.next/server/app/api/cortex/federation/teach/route.js.nft.json +1 -1
  122. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js +4 -3
  123. package/.next/standalone/.next/server/app/api/cortex/graph/edges/route.js.nft.json +1 -1
  124. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js +4 -3
  125. package/.next/standalone/.next/server/app/api/cortex/graph/entities/[id]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js +4 -3
  127. package/.next/standalone/.next/server/app/api/cortex/graph/entities/route.js.nft.json +1 -1
  128. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js +4 -3
  129. package/.next/standalone/.next/server/app/api/cortex/graph/populate/route.js.nft.json +1 -1
  130. package/.next/standalone/.next/server/app/api/cortex/import/route.js +4 -3
  131. package/.next/standalone/.next/server/app/api/cortex/import/route.js.nft.json +1 -1
  132. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js +4 -3
  133. package/.next/standalone/.next/server/app/api/cortex/import/status/route.js.nft.json +1 -1
  134. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js +4 -3
  135. package/.next/standalone/.next/server/app/api/cortex/ingest/bootstrap/route.js.nft.json +1 -1
  136. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js +4 -3
  137. package/.next/standalone/.next/server/app/api/cortex/ingest/status/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js +4 -3
  139. package/.next/standalone/.next/server/app/api/cortex/knowledge/[id]/route.js.nft.json +1 -1
  140. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js +4 -3
  141. package/.next/standalone/.next/server/app/api/cortex/knowledge/route.js.nft.json +1 -1
  142. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js +4 -3
  143. package/.next/standalone/.next/server/app/api/cortex/lobes/[id]/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js +4 -3
  145. package/.next/standalone/.next/server/app/api/cortex/lobes/route.js.nft.json +1 -1
  146. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js +4 -3
  147. package/.next/standalone/.next/server/app/api/cortex/lobes/share/route.js.nft.json +1 -1
  148. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js +3 -3
  149. package/.next/standalone/.next/server/app/api/cortex/marketplace/browse/route.js.nft.json +1 -1
  150. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js +3 -3
  151. package/.next/standalone/.next/server/app/api/cortex/marketplace/preview/route.js.nft.json +1 -1
  152. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js +4 -3
  153. package/.next/standalone/.next/server/app/api/cortex/mcp/call/route.js.nft.json +1 -1
  154. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js +4 -3
  155. package/.next/standalone/.next/server/app/api/cortex/mcp/tools/route.js.nft.json +1 -1
  156. package/.next/standalone/.next/server/app/api/cortex/search/route.js +4 -3
  157. package/.next/standalone/.next/server/app/api/cortex/search/route.js.nft.json +1 -1
  158. package/.next/standalone/.next/server/app/api/cortex/settings/route.js +4 -3
  159. package/.next/standalone/.next/server/app/api/cortex/settings/route.js.nft.json +1 -1
  160. package/.next/standalone/.next/server/app/api/cortex/status/route.js +4 -3
  161. package/.next/standalone/.next/server/app/api/cortex/status/route.js.nft.json +1 -1
  162. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js +4 -3
  163. package/.next/standalone/.next/server/app/api/cortex/timeline/route.js.nft.json +1 -1
  164. package/.next/standalone/.next/server/app/api/cortex/usage/route.js +4 -3
  165. package/.next/standalone/.next/server/app/api/cortex/usage/route.js.nft.json +1 -1
  166. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js +4 -3
  167. package/.next/standalone/.next/server/app/api/cortex/workspace/[id]/context/route.js.nft.json +1 -1
  168. package/.next/standalone/.next/server/app/api/events/route.js +5 -3
  169. package/.next/standalone/.next/server/app/api/events/route.js.nft.json +1 -1
  170. package/.next/standalone/.next/server/app/api/files/route.js +3 -2
  171. package/.next/standalone/.next/server/app/api/files/route.js.nft.json +1 -1
  172. package/.next/standalone/.next/server/app/api/folders/route.js +3 -3
  173. package/.next/standalone/.next/server/app/api/folders/route.js.nft.json +1 -1
  174. package/.next/standalone/.next/server/app/api/network/connect-callback/route.js +2 -2
  175. package/.next/standalone/.next/server/app/api/network/connect-callback/route.js.nft.json +1 -1
  176. package/.next/standalone/.next/server/app/api/network/connect-request/[id]/route.js +2 -2
  177. package/.next/standalone/.next/server/app/api/network/connect-request/[id]/route.js.nft.json +1 -1
  178. package/.next/standalone/.next/server/app/api/network/connect-request/route.js +2 -2
  179. package/.next/standalone/.next/server/app/api/network/connect-request/route.js.nft.json +1 -1
  180. package/.next/standalone/.next/server/app/api/network/discovered/route.js +2 -2
  181. package/.next/standalone/.next/server/app/api/network/discovered/route.js.nft.json +1 -1
  182. package/.next/standalone/.next/server/app/api/network/handshake/route.js +4 -3
  183. package/.next/standalone/.next/server/app/api/network/handshake/route.js.nft.json +1 -1
  184. package/.next/standalone/.next/server/app/api/network/health/route.js +2 -2
  185. package/.next/standalone/.next/server/app/api/network/health/route.js.nft.json +1 -1
  186. package/.next/standalone/.next/server/app/api/network/identity/route.js +2 -2
  187. package/.next/standalone/.next/server/app/api/network/identity/route.js.nft.json +1 -1
  188. package/.next/standalone/.next/server/app/api/network/keys/[id]/route.js +2 -2
  189. package/.next/standalone/.next/server/app/api/network/keys/[id]/route.js.nft.json +1 -1
  190. package/.next/standalone/.next/server/app/api/network/keys/route.js +2 -2
  191. package/.next/standalone/.next/server/app/api/network/keys/route.js.nft.json +1 -1
  192. package/.next/standalone/.next/server/app/api/network/nodes/[id]/route.js +2 -2
  193. package/.next/standalone/.next/server/app/api/network/nodes/[id]/route.js.nft.json +1 -1
  194. package/.next/standalone/.next/server/app/api/network/nodes/check/route.js +2 -2
  195. package/.next/standalone/.next/server/app/api/network/nodes/check/route.js.nft.json +1 -1
  196. package/.next/standalone/.next/server/app/api/network/nodes/route.js +2 -2
  197. package/.next/standalone/.next/server/app/api/network/nodes/route.js.nft.json +1 -1
  198. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js +6 -5
  199. package/.next/standalone/.next/server/app/api/network/panes/[id]/route.js.nft.json +1 -1
  200. package/.next/standalone/.next/server/app/api/network/panes/route.js +6 -5
  201. package/.next/standalone/.next/server/app/api/network/panes/route.js.nft.json +1 -1
  202. package/.next/standalone/.next/server/app/api/network/projects/route.js +6 -5
  203. package/.next/standalone/.next/server/app/api/network/projects/route.js.nft.json +1 -1
  204. package/.next/standalone/.next/server/app/api/network/proxy/[nodeId]/[...path]/route.js +2 -2
  205. package/.next/standalone/.next/server/app/api/network/proxy/[nodeId]/[...path]/route.js.nft.json +1 -1
  206. package/.next/standalone/.next/server/app/api/network/search/route.js +6 -5
  207. package/.next/standalone/.next/server/app/api/network/search/route.js.nft.json +1 -1
  208. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js +6 -5
  209. package/.next/standalone/.next/server/app/api/network/sessions/[id]/messages/route.js.nft.json +1 -1
  210. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js +6 -5
  211. package/.next/standalone/.next/server/app/api/network/sessions/[id]/route.js.nft.json +1 -1
  212. package/.next/standalone/.next/server/app/api/network/sessions/route.js +6 -5
  213. package/.next/standalone/.next/server/app/api/network/sessions/route.js.nft.json +1 -1
  214. package/.next/standalone/.next/server/app/api/network/terminal/token/route.js +2 -2
  215. package/.next/standalone/.next/server/app/api/network/terminal/token/route.js.nft.json +1 -1
  216. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js +6 -5
  217. package/.next/standalone/.next/server/app/api/network/workspaces/[id]/route.js.nft.json +1 -1
  218. package/.next/standalone/.next/server/app/api/network/workspaces/route.js +6 -5
  219. package/.next/standalone/.next/server/app/api/network/workspaces/route.js.nft.json +1 -1
  220. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js +5 -4
  221. package/.next/standalone/.next/server/app/api/panes/[id]/diff/route.js.nft.json +1 -1
  222. package/.next/standalone/.next/server/app/api/panes/[id]/route.js +5 -4
  223. package/.next/standalone/.next/server/app/api/panes/[id]/route.js.nft.json +1 -1
  224. package/.next/standalone/.next/server/app/api/panes/route.js +5 -4
  225. package/.next/standalone/.next/server/app/api/panes/route.js.nft.json +1 -1
  226. package/.next/standalone/.next/server/app/api/projects/route.js +5 -4
  227. package/.next/standalone/.next/server/app/api/projects/route.js.nft.json +1 -1
  228. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js +3 -3
  229. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/[...path]/route.js.nft.json +1 -1
  230. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js +3 -3
  231. package/.next/standalone/.next/server/app/api/proxy/models/[modelId]/status/route.js.nft.json +1 -1
  232. package/.next/standalone/.next/server/app/api/search/route.js +6 -5
  233. package/.next/standalone/.next/server/app/api/search/route.js.nft.json +1 -1
  234. package/.next/standalone/.next/server/app/api/server-config/route.js +2 -2
  235. package/.next/standalone/.next/server/app/api/server-config/route.js.nft.json +1 -1
  236. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js +5 -3
  237. package/.next/standalone/.next/server/app/api/sessions/[id]/chat/route.js.nft.json +1 -1
  238. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js +5 -4
  239. package/.next/standalone/.next/server/app/api/sessions/[id]/messages/route.js.nft.json +1 -1
  240. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js +5 -4
  241. package/.next/standalone/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  242. package/.next/standalone/.next/server/app/api/sessions/route.js +6 -5
  243. package/.next/standalone/.next/server/app/api/sessions/route.js.nft.json +1 -1
  244. package/.next/standalone/.next/server/app/api/sync/route.js +4 -3
  245. package/.next/standalone/.next/server/app/api/sync/route.js.nft.json +1 -1
  246. package/.next/standalone/.next/server/app/api/tags/route.js +5 -4
  247. package/.next/standalone/.next/server/app/api/tags/route.js.nft.json +1 -1
  248. package/.next/standalone/.next/server/app/api/tier/route.js +4 -3
  249. package/.next/standalone/.next/server/app/api/tier/route.js.nft.json +1 -1
  250. package/.next/standalone/.next/server/app/api/updates/route.js +2 -2
  251. package/.next/standalone/.next/server/app/api/updates/route.js.nft.json +1 -1
  252. package/.next/standalone/.next/server/app/api/whisper/config/route.js +2 -2
  253. package/.next/standalone/.next/server/app/api/whisper/config/route.js.nft.json +1 -1
  254. package/.next/standalone/.next/server/app/api/whisper/route.js +2 -2
  255. package/.next/standalone/.next/server/app/api/whisper/route.js.nft.json +1 -1
  256. package/.next/standalone/.next/server/app/api/wizard/chat/route.js +3 -3
  257. package/.next/standalone/.next/server/app/api/wizard/chat/route.js.nft.json +1 -1
  258. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js +5 -3
  259. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/[key]/route.js.nft.json +1 -1
  260. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js +5 -3
  261. package/.next/standalone/.next/server/app/api/workspaces/[id]/context/route.js.nft.json +1 -1
  262. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js +5 -3
  263. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/[msgId]/route.js.nft.json +1 -1
  264. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js +5 -3
  265. package/.next/standalone/.next/server/app/api/workspaces/[id]/messages/route.js.nft.json +1 -1
  266. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js +5 -4
  267. package/.next/standalone/.next/server/app/api/workspaces/[id]/route.js.nft.json +1 -1
  268. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js +5 -4
  269. package/.next/standalone/.next/server/app/api/workspaces/[id]/sessions/route.js.nft.json +1 -1
  270. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js +5 -4
  271. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/[todoId]/route.js.nft.json +1 -1
  272. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js +5 -4
  273. package/.next/standalone/.next/server/app/api/workspaces/[id]/todos/route.js.nft.json +1 -1
  274. package/.next/standalone/.next/server/app/api/workspaces/route.js +6 -5
  275. package/.next/standalone/.next/server/app/api/workspaces/route.js.nft.json +1 -1
  276. package/.next/standalone/.next/server/app/cortex.html +1 -1
  277. package/.next/standalone/.next/server/app/cortex.rsc +2 -2
  278. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex/__PAGE__.segment.rsc +1 -1
  279. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap/cortex.segment.rsc +1 -1
  280. package/.next/standalone/.next/server/app/cortex.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  281. package/.next/standalone/.next/server/app/cortex.segments/_full.segment.rsc +2 -2
  282. package/.next/standalone/.next/server/app/cortex.segments/_head.segment.rsc +1 -1
  283. package/.next/standalone/.next/server/app/cortex.segments/_index.segment.rsc +2 -2
  284. package/.next/standalone/.next/server/app/cortex.segments/_tree.segment.rsc +2 -2
  285. package/.next/standalone/.next/server/app/icon.png/route.js +2 -2
  286. package/.next/standalone/.next/server/app/icon.png/route.js.nft.json +1 -1
  287. package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
  288. package/.next/standalone/.next/server/app/login.html +1 -1
  289. package/.next/standalone/.next/server/app/login.rsc +2 -2
  290. package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +2 -2
  291. package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  292. package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +2 -2
  293. package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  294. package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  295. package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  296. package/.next/standalone/.next/server/app/m/page_client-reference-manifest.js +1 -1
  297. package/.next/standalone/.next/server/app/m/projects/page_client-reference-manifest.js +1 -1
  298. package/.next/standalone/.next/server/app/m/projects.html +1 -1
  299. package/.next/standalone/.next/server/app/m/projects.rsc +2 -2
  300. package/.next/standalone/.next/server/app/m/projects.segments/_full.segment.rsc +2 -2
  301. package/.next/standalone/.next/server/app/m/projects.segments/_head.segment.rsc +1 -1
  302. package/.next/standalone/.next/server/app/m/projects.segments/_index.segment.rsc +2 -2
  303. package/.next/standalone/.next/server/app/m/projects.segments/_tree.segment.rsc +2 -2
  304. package/.next/standalone/.next/server/app/m/projects.segments/m/projects/__PAGE__.segment.rsc +1 -1
  305. package/.next/standalone/.next/server/app/m/projects.segments/m/projects.segment.rsc +1 -1
  306. package/.next/standalone/.next/server/app/m/projects.segments/m.segment.rsc +1 -1
  307. package/.next/standalone/.next/server/app/m/sessions/[id]/page_client-reference-manifest.js +1 -1
  308. package/.next/standalone/.next/server/app/m/sessions/page_client-reference-manifest.js +1 -1
  309. package/.next/standalone/.next/server/app/m/sessions.html +1 -1
  310. package/.next/standalone/.next/server/app/m/sessions.rsc +2 -2
  311. package/.next/standalone/.next/server/app/m/sessions.segments/_full.segment.rsc +2 -2
  312. package/.next/standalone/.next/server/app/m/sessions.segments/_head.segment.rsc +1 -1
  313. package/.next/standalone/.next/server/app/m/sessions.segments/_index.segment.rsc +2 -2
  314. package/.next/standalone/.next/server/app/m/sessions.segments/_tree.segment.rsc +2 -2
  315. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions/__PAGE__.segment.rsc +1 -1
  316. package/.next/standalone/.next/server/app/m/sessions.segments/m/sessions.segment.rsc +1 -1
  317. package/.next/standalone/.next/server/app/m/sessions.segments/m.segment.rsc +1 -1
  318. package/.next/standalone/.next/server/app/m/settings/page_client-reference-manifest.js +1 -1
  319. package/.next/standalone/.next/server/app/m/settings.html +1 -1
  320. package/.next/standalone/.next/server/app/m/settings.rsc +2 -2
  321. package/.next/standalone/.next/server/app/m/settings.segments/_full.segment.rsc +2 -2
  322. package/.next/standalone/.next/server/app/m/settings.segments/_head.segment.rsc +1 -1
  323. package/.next/standalone/.next/server/app/m/settings.segments/_index.segment.rsc +2 -2
  324. package/.next/standalone/.next/server/app/m/settings.segments/_tree.segment.rsc +2 -2
  325. package/.next/standalone/.next/server/app/m/settings.segments/m/settings/__PAGE__.segment.rsc +1 -1
  326. package/.next/standalone/.next/server/app/m/settings.segments/m/settings.segment.rsc +1 -1
  327. package/.next/standalone/.next/server/app/m/settings.segments/m.segment.rsc +1 -1
  328. package/.next/standalone/.next/server/app/m/terminal/page_client-reference-manifest.js +1 -1
  329. package/.next/standalone/.next/server/app/m/terminal.html +1 -1
  330. package/.next/standalone/.next/server/app/m/terminal.rsc +2 -2
  331. package/.next/standalone/.next/server/app/m/terminal.segments/_full.segment.rsc +2 -2
  332. package/.next/standalone/.next/server/app/m/terminal.segments/_head.segment.rsc +1 -1
  333. package/.next/standalone/.next/server/app/m/terminal.segments/_index.segment.rsc +2 -2
  334. package/.next/standalone/.next/server/app/m/terminal.segments/_tree.segment.rsc +2 -2
  335. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal/__PAGE__.segment.rsc +1 -1
  336. package/.next/standalone/.next/server/app/m/terminal.segments/m/terminal.segment.rsc +1 -1
  337. package/.next/standalone/.next/server/app/m/terminal.segments/m.segment.rsc +1 -1
  338. package/.next/standalone/.next/server/app/m.html +1 -1
  339. package/.next/standalone/.next/server/app/m.rsc +2 -2
  340. package/.next/standalone/.next/server/app/m.segments/_full.segment.rsc +2 -2
  341. package/.next/standalone/.next/server/app/m.segments/_head.segment.rsc +1 -1
  342. package/.next/standalone/.next/server/app/m.segments/_index.segment.rsc +2 -2
  343. package/.next/standalone/.next/server/app/m.segments/_tree.segment.rsc +2 -2
  344. package/.next/standalone/.next/server/app/m.segments/m/__PAGE__.segment.rsc +1 -1
  345. package/.next/standalone/.next/server/app/m.segments/m.segment.rsc +1 -1
  346. package/.next/standalone/.next/server/app/network.html +1 -1
  347. package/.next/standalone/.next/server/app/network.rsc +2 -2
  348. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network/__PAGE__.segment.rsc +1 -1
  349. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap/network.segment.rsc +1 -1
  350. package/.next/standalone/.next/server/app/network.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  351. package/.next/standalone/.next/server/app/network.segments/_full.segment.rsc +2 -2
  352. package/.next/standalone/.next/server/app/network.segments/_head.segment.rsc +1 -1
  353. package/.next/standalone/.next/server/app/network.segments/_index.segment.rsc +2 -2
  354. package/.next/standalone/.next/server/app/network.segments/_tree.segment.rsc +2 -2
  355. package/.next/standalone/.next/server/app/projects.html +1 -1
  356. package/.next/standalone/.next/server/app/projects.rsc +2 -2
  357. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects/__PAGE__.segment.rsc +1 -1
  358. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap/projects.segment.rsc +1 -1
  359. package/.next/standalone/.next/server/app/projects.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  360. package/.next/standalone/.next/server/app/projects.segments/_full.segment.rsc +2 -2
  361. package/.next/standalone/.next/server/app/projects.segments/_head.segment.rsc +1 -1
  362. package/.next/standalone/.next/server/app/projects.segments/_index.segment.rsc +2 -2
  363. package/.next/standalone/.next/server/app/projects.segments/_tree.segment.rsc +2 -2
  364. package/.next/standalone/.next/server/app/sessions.html +1 -1
  365. package/.next/standalone/.next/server/app/sessions.rsc +2 -2
  366. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions/__PAGE__.segment.rsc +1 -1
  367. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap/sessions.segment.rsc +1 -1
  368. package/.next/standalone/.next/server/app/sessions.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  369. package/.next/standalone/.next/server/app/sessions.segments/_full.segment.rsc +2 -2
  370. package/.next/standalone/.next/server/app/sessions.segments/_head.segment.rsc +1 -1
  371. package/.next/standalone/.next/server/app/sessions.segments/_index.segment.rsc +2 -2
  372. package/.next/standalone/.next/server/app/sessions.segments/_tree.segment.rsc +2 -2
  373. package/.next/standalone/.next/server/app/settings.html +1 -1
  374. package/.next/standalone/.next/server/app/settings.rsc +2 -2
  375. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings/__PAGE__.segment.rsc +1 -1
  376. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap/settings.segment.rsc +1 -1
  377. package/.next/standalone/.next/server/app/settings.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  378. package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +2 -2
  379. package/.next/standalone/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  380. package/.next/standalone/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  381. package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  382. package/.next/standalone/.next/server/app/terminal.html +1 -1
  383. package/.next/standalone/.next/server/app/terminal.rsc +3 -3
  384. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal/__PAGE__.segment.rsc +2 -2
  385. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap/terminal.segment.rsc +1 -1
  386. package/.next/standalone/.next/server/app/terminal.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  387. package/.next/standalone/.next/server/app/terminal.segments/_full.segment.rsc +3 -3
  388. package/.next/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  389. package/.next/standalone/.next/server/app/terminal.segments/_index.segment.rsc +2 -2
  390. package/.next/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +2 -2
  391. package/.next/standalone/.next/server/app/vr/page_client-reference-manifest.js +1 -1
  392. package/.next/standalone/.next/server/app/vr.html +1 -1
  393. package/.next/standalone/.next/server/app/vr.rsc +2 -2
  394. package/.next/standalone/.next/server/app/vr.segments/_full.segment.rsc +2 -2
  395. package/.next/standalone/.next/server/app/vr.segments/_head.segment.rsc +1 -1
  396. package/.next/standalone/.next/server/app/vr.segments/_index.segment.rsc +2 -2
  397. package/.next/standalone/.next/server/app/vr.segments/_tree.segment.rsc +2 -2
  398. package/.next/standalone/.next/server/app/vr.segments/vr/__PAGE__.segment.rsc +1 -1
  399. package/.next/standalone/.next/server/app/vr.segments/vr.segment.rsc +1 -1
  400. package/.next/standalone/.next/server/app/workspaces.html +1 -1
  401. package/.next/standalone/.next/server/app/workspaces.rsc +2 -2
  402. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces/__PAGE__.segment.rsc +1 -1
  403. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap/workspaces.segment.rsc +1 -1
  404. package/.next/standalone/.next/server/app/workspaces.segments/!KGRlc2t0b3Ap.segment.rsc +1 -1
  405. package/.next/standalone/.next/server/app/workspaces.segments/_full.segment.rsc +2 -2
  406. package/.next/standalone/.next/server/app/workspaces.segments/_head.segment.rsc +1 -1
  407. package/.next/standalone/.next/server/app/workspaces.segments/_index.segment.rsc +2 -2
  408. package/.next/standalone/.next/server/app/workspaces.segments/_tree.segment.rsc +2 -2
  409. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cf5ebdb._.js +3 -0
  410. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0f15af1e._.js +78 -0
  411. package/.next/standalone/.next/server/chunks/[root-of-the-server]__107eab8a._.js +3 -0
  412. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1094360c._.js +1 -1
  413. package/.next/standalone/.next/server/chunks/[root-of-the-server]__118ea5e0._.js +42 -0
  414. package/.next/standalone/.next/server/chunks/[root-of-the-server]__160e7c73._.js +5 -5
  415. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16d4da21._.js +3 -0
  416. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1c542684._.js +3 -0
  417. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f23bae4._.js +3 -0
  418. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1faefa3e._.js +19 -0
  419. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2145098e._.js +42 -0
  420. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2748c76c._.js +42 -0
  421. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2c08d908._.js +3 -0
  422. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2e29b4bd._.js +3 -0
  423. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__e3ecfd17._.js → [root-of-the-server]__34fd47d2._.js} +3 -3
  424. package/.next/standalone/.next/server/chunks/[root-of-the-server]__366b6cec._.js +78 -0
  425. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4d51508f._.js +3 -0
  426. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5663673e._.js +3 -0
  427. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57e0cc31._.js +133 -0
  428. package/.next/standalone/.next/server/chunks/[root-of-the-server]__57ebbe63._.js +42 -0
  429. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5d3345e4._.js +3 -0
  430. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5ee7aa9d._.js +11 -0
  431. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60caf825._.js +3 -0
  432. package/.next/standalone/.next/server/chunks/[root-of-the-server]__65c9857f._.js +3 -0
  433. package/.next/standalone/.next/server/chunks/[root-of-the-server]__678f6823._.js +3 -0
  434. package/.next/standalone/.next/server/chunks/[root-of-the-server]__685c95d8._.js +3 -0
  435. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__41d4d426._.js → [root-of-the-server]__69568dc2._.js} +1 -1
  436. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6a0bc4ae._.js +3 -0
  437. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b876561._.js +3 -0
  438. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e89713c._.js +42 -0
  439. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f713737._.js +3 -0
  440. package/.next/standalone/.next/server/chunks/[root-of-the-server]__725f10f4._.js +78 -0
  441. package/.next/standalone/.next/server/chunks/[root-of-the-server]__785b0597._.js +38 -0
  442. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7c728bed._.js +3 -0
  443. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7da958b5._.js +42 -0
  444. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7daed406._.js +3 -0
  445. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7f140e4b._.js +78 -0
  446. package/.next/standalone/.next/server/chunks/[root-of-the-server]__80d826f7._.js +3 -0
  447. package/.next/standalone/.next/server/chunks/[root-of-the-server]__83a3c97b._.js +3 -0
  448. package/.next/standalone/.next/server/chunks/[root-of-the-server]__84c15a0e._.js +3 -0
  449. package/.next/standalone/.next/server/chunks/[root-of-the-server]__85c33341._.js +42 -0
  450. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88f3d920._.js +78 -0
  451. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8c916e85._.js +3 -0
  452. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8deb2ae3._.js +3 -0
  453. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8df5a740._.js +3 -0
  454. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8f238bd9._.js +3 -0
  455. package/.next/standalone/.next/server/chunks/[root-of-the-server]__955ab668._.js +3 -0
  456. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9a061e91._.js +42 -0
  457. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a04a87d5._.js +42 -0
  458. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a803051f._.js +42 -0
  459. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac0a9b09._.js +3 -0
  460. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac3e37b6._.js +13 -0
  461. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__96685488._.js → [root-of-the-server]__add9e50d._.js} +1 -1
  462. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b57f4274._.js +3 -0
  463. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b84b3426._.js +3 -0
  464. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba8224a1._.js +42 -0
  465. package/.next/standalone/.next/server/chunks/[root-of-the-server]__bd1c1d0d._.js +42 -0
  466. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1442c38._.js +42 -0
  467. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c18bdab2._.js +42 -0
  468. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c1efc6a8._.js +3 -0
  469. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c697b87e._.js +3 -0
  470. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c6dc43c6._.js +3 -0
  471. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ccce7f4f._.js +78 -0
  472. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d92f347c._.js +3 -0
  473. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dac9e21e._.js +3 -0
  474. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3f9ddbc._.js +78 -0
  475. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e66fc05f._.js +3 -0
  476. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e7add82c._.js +3 -0
  477. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fa9a5ec0._.js +42 -0
  478. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ff9f6af0._.js +42 -0
  479. package/.next/standalone/.next/server/chunks/_0142f96b._.js +3 -0
  480. package/.next/standalone/.next/server/chunks/_0ebd30d3._.js +3 -0
  481. package/.next/standalone/.next/server/chunks/_19a59078._.js +3 -0
  482. package/.next/standalone/.next/server/chunks/_1bc02021._.js +11 -0
  483. package/.next/standalone/.next/server/chunks/_1e381a28._.js +3 -0
  484. package/.next/standalone/.next/server/chunks/_2699eda7._.js +3 -0
  485. package/.next/standalone/.next/server/chunks/_2fd02f70._.js +3 -0
  486. package/.next/standalone/.next/server/chunks/_373d522f._.js +3 -0
  487. package/.next/standalone/.next/server/chunks/_43fc1196._.js +3 -0
  488. package/.next/standalone/.next/server/chunks/_48ec4374._.js +3 -0
  489. package/.next/standalone/.next/server/chunks/_563d9ecc._.js +3 -0
  490. package/.next/standalone/.next/server/chunks/_583f9ae2._.js +3 -0
  491. package/.next/standalone/.next/server/chunks/_5a167705._.js +3 -0
  492. package/.next/standalone/.next/server/chunks/_5a8cc3a5._.js +3 -0
  493. package/.next/standalone/.next/server/chunks/_5d894fb4._.js +3 -0
  494. package/.next/standalone/.next/server/chunks/_6bbf8264._.js +3 -0
  495. package/.next/standalone/.next/server/chunks/_6c4bcec1._.js +3 -0
  496. package/.next/standalone/.next/server/chunks/_7a29d111._.js +3 -0
  497. package/.next/standalone/.next/server/chunks/_7d3bab25._.js +3 -0
  498. package/.next/standalone/.next/server/chunks/_7ed4d1a4._.js +3 -0
  499. package/.next/standalone/.next/server/chunks/_8072d20c._.js +3 -0
  500. package/.next/standalone/.next/server/chunks/_81b87c01._.js +3 -0
  501. package/.next/standalone/.next/server/chunks/_881b7b28._.js +3 -0
  502. package/.next/standalone/.next/server/chunks/_902a1d56._.js +3 -0
  503. package/.next/standalone/.next/server/chunks/_96258f1c._.js +3 -0
  504. package/.next/standalone/.next/server/chunks/_96f79f8f._.js +3 -0
  505. package/.next/standalone/.next/server/chunks/_a0379bc2._.js +3 -0
  506. package/.next/standalone/.next/server/chunks/_a0f604e8._.js +3 -0
  507. package/.next/standalone/.next/server/chunks/_a959b121._.js +3 -0
  508. package/.next/standalone/.next/server/chunks/_a975011f._.js +3 -0
  509. package/.next/standalone/.next/server/chunks/_aa956b66._.js +3 -0
  510. package/.next/standalone/.next/server/chunks/_ad7e7d57._.js +3 -0
  511. package/.next/standalone/.next/server/chunks/_aebf2285._.js +3 -0
  512. package/.next/standalone/.next/server/chunks/_b259dda0._.js +36 -0
  513. package/.next/standalone/.next/server/chunks/_b7c60fdc._.js +3 -0
  514. package/.next/standalone/.next/server/chunks/_bd23ddeb._.js +3 -0
  515. package/.next/standalone/.next/server/chunks/_cd02dfbe._.js +3 -0
  516. package/.next/standalone/.next/server/chunks/_d3ecca80._.js +3 -0
  517. package/.next/standalone/.next/server/chunks/_d48dfa43._.js +11 -0
  518. package/.next/standalone/.next/server/chunks/_dba648d6._.js +3 -0
  519. package/.next/standalone/.next/server/chunks/_df42ac6e._.js +3 -0
  520. package/.next/standalone/.next/server/chunks/_dfe0e460._.js +42 -0
  521. package/.next/standalone/.next/server/chunks/_ead2734e._.js +3 -0
  522. package/.next/standalone/.next/server/chunks/_eb4efd0a._.js +3 -0
  523. package/.next/standalone/.next/server/chunks/_eb66a871._.js +3 -0
  524. package/.next/standalone/.next/server/chunks/_ef715efd._.js +3 -0
  525. package/.next/standalone/.next/server/chunks/_f361a656._.js +3 -0
  526. package/.next/standalone/.next/server/chunks/_f54ddbf4._.js +3 -0
  527. package/.next/standalone/.next/server/chunks/_fe2866f2._.js +3 -0
  528. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_4c408326.js +3 -0
  529. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_5603adbc.js +3 -0
  530. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_7180f8ad.js +3 -0
  531. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_b6be66d9.js +3 -0
  532. package/.next/standalone/.next/server/chunks/node_modules_next_dist_esm_build_templates_app-route_f7054fd7.js +3 -0
  533. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__66aca5d4._.js +1 -1
  534. package/.next/standalone/.next/server/chunks/ssr/src_app_(desktop)_terminal_page_tsx_de5e8d85._.js +1 -1
  535. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__90eeddae._.js +1 -1
  536. package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__ca3f649e._.js +1 -1
  537. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  538. package/.next/standalone/.next/server/pages/404.html +1 -1
  539. package/.next/standalone/.next/server/pages/500.html +2 -2
  540. package/.next/standalone/.next/static/chunks/{732b7502f82e7c37.css → 044decb96250e420.css} +1 -1
  541. package/.next/standalone/.next/static/chunks/{23a9627a951672ed.js → 8b53c673e79b82f1.js} +3 -3
  542. package/.next/standalone/bin/scrub-standalone.js +5 -0
  543. package/.next/standalone/bin/spaces-dev.js +13 -3
  544. package/.next/standalone/bin/spaces.js +25 -4
  545. package/.next/standalone/package-lock.json +2 -2
  546. package/.next/standalone/package.json +3 -2
  547. package/.next/standalone/src/app/(desktop)/terminal/page.tsx +22 -1
  548. package/.next/standalone/src/app/api/network/discovered/route.ts +2 -2
  549. package/.next/standalone/src/app/api/network/nodes/check/route.ts +2 -2
  550. package/.next/standalone/src/app/api/network/nodes/route.ts +2 -2
  551. package/.next/standalone/src/app/api/server-config/route.ts +9 -18
  552. package/.next/standalone/src/lib/admin/api/analytics.ts +1 -8
  553. package/.next/standalone/src/lib/admin/api/users.ts +1 -8
  554. package/.next/standalone/src/lib/admin/api/usersById.ts +1 -8
  555. package/.next/standalone/src/lib/auth/guard.ts +46 -0
  556. package/.next/standalone/src/lib/auth/index.ts +1 -0
  557. package/.next/standalone/src/lib/db/queries.ts +11 -1
  558. package/.next/standalone/src/lib/network/api/discovered.ts +4 -1
  559. package/.next/standalone/src/lib/network/api/identity.ts +6 -0
  560. package/.next/standalone/src/lib/network/api/keys.ts +6 -0
  561. package/.next/standalone/src/lib/network/api/keysById.ts +3 -0
  562. package/.next/standalone/src/lib/network/api/nodes.ts +49 -3
  563. package/.next/standalone/src/lib/network/api/nodesById.ts +5 -0
  564. package/.next/standalone/src/lib/network/api/nodesCheck.ts +4 -1
  565. package/.next/standalone/src/lib/network/api/proxy.ts +5 -0
  566. package/.next/standalone/src/middleware.ts +24 -10
  567. package/.next/standalone/tsconfig.tsbuildinfo +1 -1
  568. package/bin/scrub-standalone.js +5 -0
  569. package/bin/spaces-dev.js +13 -3
  570. package/bin/spaces.js +25 -4
  571. package/package.json +3 -2
  572. package/.next/standalone/.next/server/chunks/[externals]_next_dist_b89b5a39._.js +0 -3
  573. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0153ac12._.js +0 -133
  574. package/.next/standalone/.next/server/chunks/[root-of-the-server]__01a4559c._.js +0 -3
  575. package/.next/standalone/.next/server/chunks/[root-of-the-server]__029ab763._.js +0 -133
  576. package/.next/standalone/.next/server/chunks/[root-of-the-server]__037992dc._.js +0 -141
  577. package/.next/standalone/.next/server/chunks/[root-of-the-server]__06bb204a._.js +0 -133
  578. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fd17dcf._.js +0 -3
  579. package/.next/standalone/.next/server/chunks/[root-of-the-server]__107439ea._.js +0 -133
  580. package/.next/standalone/.next/server/chunks/[root-of-the-server]__12dff461._.js +0 -78
  581. package/.next/standalone/.next/server/chunks/[root-of-the-server]__13eb511a._.js +0 -133
  582. package/.next/standalone/.next/server/chunks/[root-of-the-server]__141c8d34._.js +0 -172
  583. package/.next/standalone/.next/server/chunks/[root-of-the-server]__151efd48._.js +0 -3
  584. package/.next/standalone/.next/server/chunks/[root-of-the-server]__16c141c2._.js +0 -133
  585. package/.next/standalone/.next/server/chunks/[root-of-the-server]__17fee60c._.js +0 -133
  586. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a525be8._.js +0 -3
  587. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1aea45f5._.js +0 -3
  588. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1cb4ee6b._.js +0 -133
  589. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1e25d3db._.js +0 -133
  590. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f7566a3._.js +0 -3
  591. package/.next/standalone/.next/server/chunks/[root-of-the-server]__20382bee._.js +0 -133
  592. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2082a624._.js +0 -133
  593. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2091a7ed._.js +0 -42
  594. package/.next/standalone/.next/server/chunks/[root-of-the-server]__24525ae7._.js +0 -133
  595. package/.next/standalone/.next/server/chunks/[root-of-the-server]__284b02fc._.js +0 -42
  596. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2a1a1d0f._.js +0 -42
  597. package/.next/standalone/.next/server/chunks/[root-of-the-server]__2cf17888._.js +0 -42
  598. package/.next/standalone/.next/server/chunks/[root-of-the-server]__323ae5c9._.js +0 -133
  599. package/.next/standalone/.next/server/chunks/[root-of-the-server]__34db98f7._.js +0 -133
  600. package/.next/standalone/.next/server/chunks/[root-of-the-server]__39efba69._.js +0 -3
  601. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3aeedc57._.js +0 -133
  602. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3bbe9d04._.js +0 -78
  603. package/.next/standalone/.next/server/chunks/[root-of-the-server]__3c2324ba._.js +0 -42
  604. package/.next/standalone/.next/server/chunks/[root-of-the-server]__40df3f5d._.js +0 -172
  605. package/.next/standalone/.next/server/chunks/[root-of-the-server]__42a3fe3c._.js +0 -141
  606. package/.next/standalone/.next/server/chunks/[root-of-the-server]__42d5d5be._.js +0 -3
  607. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49821b61._.js +0 -133
  608. package/.next/standalone/.next/server/chunks/[root-of-the-server]__49f58cee._.js +0 -133
  609. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4b9c38dc._.js +0 -141
  610. package/.next/standalone/.next/server/chunks/[root-of-the-server]__4c0ee9c7._.js +0 -133
  611. package/.next/standalone/.next/server/chunks/[root-of-the-server]__530862c6._.js +0 -3
  612. package/.next/standalone/.next/server/chunks/[root-of-the-server]__55504160._.js +0 -133
  613. package/.next/standalone/.next/server/chunks/[root-of-the-server]__599f26fe._.js +0 -42
  614. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5efa69f5._.js +0 -3
  615. package/.next/standalone/.next/server/chunks/[root-of-the-server]__60483ece._.js +0 -3
  616. package/.next/standalone/.next/server/chunks/[root-of-the-server]__61135659._.js +0 -133
  617. package/.next/standalone/.next/server/chunks/[root-of-the-server]__66331034._.js +0 -133
  618. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6887294d._.js +0 -3
  619. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6b9396b4._.js +0 -133
  620. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6cfd7062._.js +0 -166
  621. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6e8d89e2._.js +0 -149
  622. package/.next/standalone/.next/server/chunks/[root-of-the-server]__6f5b3cfe._.js +0 -133
  623. package/.next/standalone/.next/server/chunks/[root-of-the-server]__71d5b087._.js +0 -133
  624. package/.next/standalone/.next/server/chunks/[root-of-the-server]__76434a8e._.js +0 -78
  625. package/.next/standalone/.next/server/chunks/[root-of-the-server]__798bafa7._.js +0 -133
  626. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7b873fdb._.js +0 -78
  627. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7d73f791._.js +0 -133
  628. package/.next/standalone/.next/server/chunks/[root-of-the-server]__7dc76d0e._.js +0 -133
  629. package/.next/standalone/.next/server/chunks/[root-of-the-server]__80a85d1f._.js +0 -133
  630. package/.next/standalone/.next/server/chunks/[root-of-the-server]__81f2a9b7._.js +0 -133
  631. package/.next/standalone/.next/server/chunks/[root-of-the-server]__82f11618._.js +0 -3
  632. package/.next/standalone/.next/server/chunks/[root-of-the-server]__834efefe._.js +0 -42
  633. package/.next/standalone/.next/server/chunks/[root-of-the-server]__853663ea._.js +0 -42
  634. package/.next/standalone/.next/server/chunks/[root-of-the-server]__861f2472._.js +0 -172
  635. package/.next/standalone/.next/server/chunks/[root-of-the-server]__882d0924._.js +0 -133
  636. package/.next/standalone/.next/server/chunks/[root-of-the-server]__88959e7f._.js +0 -133
  637. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8b6c05dc._.js +0 -133
  638. package/.next/standalone/.next/server/chunks/[root-of-the-server]__912a22a4._.js +0 -133
  639. package/.next/standalone/.next/server/chunks/[root-of-the-server]__93d21ad1._.js +0 -42
  640. package/.next/standalone/.next/server/chunks/[root-of-the-server]__94532b09._.js +0 -42
  641. package/.next/standalone/.next/server/chunks/[root-of-the-server]__97e87518._.js +0 -78
  642. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9c13c8d0._.js +0 -78
  643. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9cb13212._.js +0 -133
  644. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9d315363._.js +0 -133
  645. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9ec369db._.js +0 -13
  646. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f09ade5._.js +0 -133
  647. package/.next/standalone/.next/server/chunks/[root-of-the-server]__9f986ad2._.js +0 -133
  648. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a35913cf._.js +0 -172
  649. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a3641117._.js +0 -78
  650. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a76c75a0._.js +0 -133
  651. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a934c48d._.js +0 -133
  652. package/.next/standalone/.next/server/chunks/[root-of-the-server]__a9431ac6._.js +0 -133
  653. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aa3381a4._.js +0 -133
  654. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab1cc16c._.js +0 -133
  655. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ab22ca4f._.js +0 -133
  656. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ac20d518._.js +0 -78
  657. package/.next/standalone/.next/server/chunks/[root-of-the-server]__aee3bf91._.js +0 -172
  658. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b1114936._.js +0 -133
  659. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b15ade1f._.js +0 -133
  660. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b2bc7a81._.js +0 -133
  661. package/.next/standalone/.next/server/chunks/[root-of-the-server]__b51446e5._.js +0 -133
  662. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ba344563._.js +0 -133
  663. package/.next/standalone/.next/server/chunks/[root-of-the-server]__c3b2e20c._.js +0 -133
  664. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca93ae79._.js +0 -42
  665. package/.next/standalone/.next/server/chunks/[root-of-the-server]__cf4a76c0._.js +0 -133
  666. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d20bed9e._.js +0 -78
  667. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d2d59054._.js +0 -133
  668. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d4f1c0c0._.js +0 -38
  669. package/.next/standalone/.next/server/chunks/[root-of-the-server]__d6de7a45._.js +0 -133
  670. package/.next/standalone/.next/server/chunks/[root-of-the-server]__da33b519._.js +0 -133
  671. package/.next/standalone/.next/server/chunks/[root-of-the-server]__dc820e44._.js +0 -133
  672. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e1058e69._.js +0 -133
  673. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e1dfb4d4._.js +0 -3
  674. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e3606cd1._.js +0 -3
  675. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e55b6fc5._.js +0 -133
  676. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e6555dc3._.js +0 -133
  677. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e65c3971._.js +0 -3
  678. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ea9e2d75._.js +0 -133
  679. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ec37cbee._.js +0 -133
  680. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f3c19e4b._.js +0 -42
  681. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f445bd01._.js +0 -3
  682. package/.next/standalone/.next/server/chunks/[root-of-the-server]__f7b0b4da._.js +0 -133
  683. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fb4c016b._.js +0 -133
  684. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fd86530e._.js +0 -78
  685. package/.next/standalone/.next/server/chunks/[root-of-the-server]__fef9b1ec._.js +0 -133
  686. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-design.md +0 -133
  687. package/.next/standalone/docs/plans/2026-02-24-multi-agent-sessions-plan.md +0 -959
  688. package/.next/standalone/docs/plans/2026-03-07-service-command-design.md +0 -146
  689. package/.next/standalone/docs/plans/2026-03-07-service-command-plan.md +0 -254
  690. package/.next/standalone/docs/plans/2026-04-23-consolidate-addons-design.md +0 -212
  691. package/.next/standalone/docs/plans/2026-04-23-consolidate-addons-plan.md +0 -1509
  692. package/.next/standalone/docs/superpowers/plans/2026-03-12-spaces-cortex.md +0 -5270
  693. package/.next/standalone/docs/superpowers/plans/2026-03-13-cortex-wiring.md +0 -1387
  694. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-entity-graph.md +0 -1923
  695. package/.next/standalone/docs/superpowers/plans/2026-03-14-cortex-v2-knowledge-evolution.md +0 -1113
  696. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-boundary-engine.md +0 -853
  697. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-context-engine.md +0 -1274
  698. package/.next/standalone/docs/superpowers/plans/2026-03-15-cortex-v2-signal-ingestion.md +0 -933
  699. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-lobes.md +0 -1080
  700. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-gravity-system.md +0 -768
  701. package/.next/standalone/docs/superpowers/plans/2026-03-16-cortex-v2-ui.md +0 -1108
  702. package/.next/standalone/docs/superpowers/plans/2026-03-18-cortex-ui-integration.md +0 -1846
  703. package/.next/standalone/docs/superpowers/plans/2026-03-19-vr-phase1-shell.md +0 -1639
  704. package/.next/standalone/docs/superpowers/plans/2026-03-27-dockview-pane-layout.md +0 -98
  705. package/.next/standalone/docs/superpowers/plans/2026-04-21-workspace-todos.md +0 -1097
  706. package/.next/standalone/docs/superpowers/plans/2026-04-22-claude-usage-display.md +0 -749
  707. package/.next/standalone/docs/superpowers/specs/2026-03-11-universe-view-design.md +0 -320
  708. package/.next/standalone/docs/superpowers/specs/2026-03-12-spaces-brain-design.md +0 -720
  709. package/.next/standalone/docs/superpowers/specs/2026-03-13-cortex-wiring-design.md +0 -268
  710. package/.next/standalone/docs/superpowers/specs/2026-03-14-cortex-v2-design.md +0 -623
  711. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-lobes-design.md +0 -263
  712. package/.next/standalone/docs/superpowers/specs/2026-03-16-cortex-v2-ui-design.md +0 -240
  713. package/.next/standalone/docs/superpowers/specs/2026-03-16-pane-ux-design.md +0 -77
  714. package/.next/standalone/docs/superpowers/specs/2026-03-18-cortex-ui-integration-design.md +0 -341
  715. package/.next/standalone/docs/superpowers/specs/2026-03-19-vr-phase1-shell-design.md +0 -288
  716. package/.next/standalone/docs/superpowers/specs/2026-03-27-pane-diff-review-and-project-wizard-design.md +0 -322
  717. package/.next/standalone/docs/superpowers/specs/2026-04-21-workspace-todos-design.md +0 -180
  718. package/.next/standalone/docs/superpowers/specs/2026-04-22-claude-usage-display-design.md +0 -183
  719. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_buildManifest.js +0 -0
  720. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_clientMiddlewareManifest.json +0 -0
  721. /package/.next/standalone/.next/static/{Y9EeSGuSi-8qpkLvIBy0a → mimGB6C_ZmJMiVnOe9tqZ}/_ssgManifest.js +0 -0
@@ -0,0 +1,3 @@
1
+ module.exports=[227577,e=>{"use strict";e.i(768724);var t=e.i(793765),r=e.i(908146),n=e.i(691180),s=e.i(279174);e.s(["clearSessionCookie",()=>n.clearSessionCookie,"getAuthRole",()=>t.getAuthRole,"getAuthUser",()=>t.getAuthUser,"getCurrentUser",()=>t.getCurrentUser,"getSessionSecretHex",()=>n.getSessionSecretHex,"issueSessionToken",()=>n.issueSessionToken,"requireAdmin",()=>r.requireAdmin,"setSessionCookie",()=>n.setSessionCookie,"totp",0,s,"verifySessionToken",()=>n.verifySessionToken,"withUser",()=>t.withUser])},792687,e=>{"use strict";var t=e.i(362562),r=e.i(814747);let n=null,s=!1;function a(){if(!s){let a=[r.default.join(process.cwd(),"package.json")];for(let e of(process.env.NODE_PATH||"").split(r.default.delimiter))e&&a.push(r.default.join(e,"_anchor.js"));for(let e of a)try{n=(0,t.createRequire)(e)("@spaces/cortex");break}catch{}if(s=!0,n&&!n.hasHostAdapter())try{let t=e.r(227577),r=e.r(798003),s=e.r(507304),a="1"===process.env.SPACES_HAS_CORTEX;n.setHostAdapter({getAuthUser:e=>t.getAuthUser(e),withUser:(e,r)=>t.withUser(e,r),getCurrentUser:()=>t.getCurrentUser(),getUserPaths:e=>r.getUserPaths(e),getDb:()=>s.getDb(),hasCortex:()=>a,isFederation:()=>!0})}catch{}}return n}function o(){return a()}async function i(){return a()?.getCortex()??null}function l(){return a()?.isCortexAvailable()??!1}function u(){c=null,a()?.resetCortex()}let c=null;async function d(){if(c)return c;let e=a();if(!e)return null;let t=await e.getCortex();if(!t)return null;try{let{createClient:r,EmbeddedConnection:n,RemoteConnection:s,loadConfig:a}=e,o=[new n({name:"local",domains:t.domainRegistry.list(),writable:!0,default:!0,primary:!0,engine:t})];try{for(let e of a().connections)"remote"===e.type&&o.push(new s(e))}catch{}return c=r({connections:o})}catch(e){return console.warn("[cortex] Client library not available, multi-server disabled:",e),null}}e.s(["getCortex",()=>i,"getCortexAddon",()=>o,"getCortexClient",()=>d,"isCortexAvailable",()=>l,"resetCortex",()=>u])},224076,e=>{"use strict";var t=e.i(792687),r=e.i(798003);e.i(768724);var n=e.i(793765),s=e.i(814747);let a=null;function o(){if(a)return a;let o=(0,t.getCortexAddon)();if(!o?.BenchmarkDataAccess)return null;let i=(0,n.getCurrentUser)(),{spacesDir:l}=(0,r.getUserPaths)(i),u=function(){try{let{createRequire:t}=e.r(362562),r=t(s.default.join(process.cwd(),"package.json"));return s.default.dirname(r.resolve("@spaces/cortex/package.json"))}catch{return null}}();for(let e of[s.default.join(l,"cortex","benchmark.db"),s.default.join(process.cwd(),"tests","benchmark","results","benchmark.db"),...u?[s.default.join(u,"tests","benchmark","results","benchmark.db")]:[]]){let t=new o.BenchmarkDataAccess(e);if(t.isAvailable())return a=t;t.close()}return null}let i=null;function l(){return i}function u(e){i=e}e.s(["getBenchmarkAccess",()=>o,"getBenchmarkProcess",()=>l,"setBenchmarkProcess",()=>u])},750227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},902157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},874533,(e,t,r)=>{t.exports=e.x("node:child_process",()=>require("node:child_process"))},383515,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),s=e.i(759756),a=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),f=e.i(626937),g=e.i(10372),x=e.i(193695);e.i(52474);var m=e.i(600220),v=e.i(89171);e.i(768724);var R=e.i(793765),C=e.i(874533),w=e.i(750227),A=e.i(902157),k=e.i(224076);async function b(t){let r=(0,R.getAuthUser)(t),n=await t.json();return(0,R.withUser)(r,async()=>{let t=(0,k.getBenchmarkProcess)();if(t&&!t.process.killed&&null===t.process.exitCode)return v.NextResponse.json({error:"A benchmark is already running"},{status:409});let{preset:r="quick",categories:s,noJudge:a=!1,model:o="claude-haiku-4-5",concurrency:i}=n,l=["tests/benchmark/index.ts"];if(l.push("--preset",r),s&&l.push("--category",s),a&&l.push("--no-judge"),l.push("--models",o),null!=i){let e=Math.min(5,Math.max(1,Math.floor(Number(i))||1));l.push("--concurrency",String(e))}let u=function(){let t=[];try{let{createRequire:r}=e.r(362562),n=r(w.default.join(process.cwd(),"package.json"));t.push(w.default.dirname(n.resolve("@spaces/cortex/package.json")))}catch{}for(let e of(process.env.HOME&&t.push(w.default.join(process.env.HOME,".spaces","packages","cortex")),t.push(w.default.resolve(process.cwd(),"../spaces-cortex"),w.default.resolve(process.cwd(),"../../spaces-cortex"),"C:\\projects\\spaces-cortex","/c/projects/spaces-cortex"),t))if(e&&A.default.existsSync(w.default.join(e,"tests","benchmark","index.ts")))return e;return null}();if(!u)return v.NextResponse.json({error:"Could not find @spaces/cortex directory"},{status:500});let c=(0,C.spawn)("npx",["tsx",...l],{cwd:u,stdio:["ignore","pipe","pipe"],shell:!0,detached:!1}),d="",p="";return c.stdout?.on("data",e=>{d+=e.toString()}),c.stderr?.on("data",e=>{p+=e.toString()}),(0,k.setBenchmarkProcess)({process:c,pid:c.pid??0,startedAt:new Date().toISOString(),preset:r,categories:s||"all",model:o,noJudge:a,getOutput:()=>d,getErrors:()=>p}),c.on("close",()=>{}),v.NextResponse.json({started:!0,pid:c.pid,preset:r,categories:s||"all",model:o})})}e.s(["POST",()=>b],598633);var y=e.i(598633);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/benchmark/run/route",pathname:"/api/benchmark/run",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/benchmark/run/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:S,workUnitAsyncStorage:U,serverHooks:P}=E;function T(){return(0,n.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:U})}async function j(e,t,n){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/benchmark/run/route";v=v.replace(/\/index$/,"")||"/";let R=await E.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:C,params:w,nextConfig:A,parsedUrl:k,isDraftMode:b,prerenderManifest:y,routerServerContext:S,isOnDemandRevalidate:U,revalidateOnlyGenerated:P,resolvedPathname:T,clientReferenceManifest:j,serverActionsManifest:N}=R,O=(0,i.normalizeAppPath)(v),_=!!(y.dynamicRoutes[O]||y.routes[T]),H=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,k,!1):t.end("This page could not be found"),null);if(_&&!b){let e=!!y.routes[T],t=y.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await H();throw new x.NoFallbackError}}let q=null;!_||E.isDev||b||(q="/index"===(q=T)?"/":q);let D=!0===E.isDev||!_,M=_&&!D;N&&j&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:j,serverActionsManifest:N});let I=e.method||"GET",B=(0,a.getTracer)(),F=B.getActiveScopeSpan(),$={params:w,prerenderManifest:y,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>E.onRequestError(e,t,n,s,S)},sharedContext:{buildId:C}},K=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(K,(0,u.signalFromNodeResponse)(t));try{let o=async e=>E.handle(X,$).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=B.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${I} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${I} ${v}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&U&&P&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=$.renderOpts.fetchMetrics;let l=$.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=$.renderOpts.collectedTags;if(!_)return await (0,p.sendResponse)(K,L,a,$.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==$.renderOpts.collectedRevalidate&&!($.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&$.renderOpts.collectedRevalidate,n=void 0===$.renderOpts.collectedExpire||$.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:$.renderOpts.collectedExpire;return{value:{kind:m.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:U})},!1,S),t}},c=await E.handleResponse({req:e,nextConfig:A,cacheKey:q,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:y,isRoutePPREnabled:!1,isOnDemandRevalidate:U,revalidateOnlyGenerated:P,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!_)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==m.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",U?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let x=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&_||x.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||x.get("Cache-Control")||x.set("Cache-Control",(0,f.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(K,L,new Response(c.value.body,{headers:x,status:c.value.status||200})),null};F?await l(F):await B.withPropagatedContext(e.headers,()=>B.trace(c.BaseServerSpan.handleRequest,{spanName:`${I} ${v}`,kind:a.SpanKind.SERVER,attributes:{"http.method":I,"http.target":e.url}},l))}catch(t){if(t instanceof x.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:M,isOnDemandRevalidate:U})},!1,S),_)throw t;return await (0,p.sendResponse)(K,L,new Response(null,{status:500})),null}}e.s(["handler",()=>j,"patchFetch",()=>T,"routeModule",()=>E,"serverHooks",()=>P,"workAsyncStorage",()=>S,"workUnitAsyncStorage",()=>U],383515)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__685c95d8._.js.map
@@ -1,3 +1,3 @@
1
1
  module.exports=[902157,(e,r,o)=>{r.exports=e.x("node:fs",()=>require("node:fs"))},750227,(e,r,o)=>{r.exports=e.x("node:path",()=>require("node:path"))},59639,(e,r,o)=>{r.exports=e.x("node:process",()=>require("node:process"))},857764,(e,r,o)=>{r.exports=e.x("node:url",()=>require("node:url"))},951615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},325897,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__22dff4e1._.js","server/chunks/[root-of-the-server]__90f0d053._.js"].map(r=>e.l(r))).then(()=>r(255057)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__41d4d426._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__69568dc2._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(e,t,n)=>{t.exports=e.x("child_process",()=>require("child_process"))},451200,(e,t,n)=>{"use strict";let s=null;t.exports.init=function(e){s=e},t.exports.getDeps=function(){return s}},365836,e=>{"use strict";var t=e.i(507304),n=e.i(460569);e.i(768724);var s=e.i(793765),a=e.i(451200),r=e.i(618393);let i=new Set,o=new Set,l=!1,u=0;async function c(){let c=(0,s.getCurrentUser)();if(i.has(c)){let e=Date.now();e-u>3e5&&(u=e,(0,n.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),i.add(c),!l){l=!0;let{sseManager:n}=await e.A(972354);a.init({getDb:t.getDb,sseManager:n}),"function"==typeof r.runMigrations&&r.runMigrations((0,t.getDb)())}if(!o.has(c)){o.add(c);try{let e=await (0,n.fullSync)();console.log(`[spaces:${c}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,n.enrichMissingSessions)();t>0&&console.log(`[spaces:${c}] Enriched ${t} sessions from JSONL`),u=Date.now(),(0,n.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${c}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${c}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${c}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${c}] Sync error:`,e)}finally{o.delete(c)}}}e.s(["ensureInitialized",()=>c])},496279,e=>{"use strict";var t=e.i(747909),n=e.i(174017),s=e.i(996250),a=e.i(759756),r=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),g=e.i(626937),R=e.i(10372),f=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(89171);e.i(768724);var x=e.i(793765),m=e.i(365836),E=e.i(550837);async function y(e,{params:t}){let n=(0,x.getAuthUser)(e);return(0,x.withUser)(n,async()=>{await (0,m.ensureInitialized)();let{id:e}=await t,n=(0,E.getSessionById)(e);if(!n)return w.NextResponse.json({error:"Session not found"},{status:404});let s=(0,E.getSessionTags)(n.id),a=(0,E.getSessionWorkspaces)(n.id);return w.NextResponse.json({...n,tagObjects:s,workspaces:a})})}async function S(e,{params:t}){let n=(0,x.getAuthUser)(e);return(0,x.withUser)(n,async()=>{await (0,m.ensureInitialized)();let{id:n}=await t,s=await e.json();if("star"===s.action){let e=(0,E.toggleStar)(n);return w.NextResponse.json({starred:e})}return"notes"===s.action?((0,E.updateSessionNotes)(n,s.notes||""),w.NextResponse.json({success:!0})):"tag"===s.action?((0,E.addTagToSession)(n,s.tagName),w.NextResponse.json({success:!0})):"removeTag"===s.action?((0,E.removeTagFromSessionByName)(n,s.tagName),w.NextResponse.json({success:!0})):"rename"===s.action?((0,E.renameSession)(n,s.name),w.NextResponse.json({success:!0})):w.NextResponse.json({error:"Unknown action"},{status:400})})}e.s(["GET",()=>y,"PUT",()=>S],713346);var C=e.i(713346);let N=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/sessions/[id]/route",pathname:"/api/sessions/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/sessions/[id]/route.ts",nextConfigOutput:"standalone",userland:C}),{workAsyncStorage:T,workUnitAsyncStorage:A,serverHooks:b}=N;function _(){return(0,s.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:A})}async function P(e,t,s){N.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/sessions/[id]/route";w=w.replace(/\/index$/,"")||"/";let x=await N.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:m,params:E,nextConfig:y,parsedUrl:S,isDraftMode:C,prerenderManifest:T,routerServerContext:A,isOnDemandRevalidate:b,revalidateOnlyGenerated:_,resolvedPathname:P,clientReferenceManifest:O,serverActionsManifest:U}=x,I=(0,o.normalizeAppPath)(w),$=!!(T.dynamicRoutes[I]||T.routes[P]),j=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,S,!1):t.end("This page could not be found"),null);if($&&!C){let e=!!T.routes[P],t=T.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await j();throw new f.NoFallbackError}}let D=null;!$||N.isDev||C||(D="/index"===(D=P)?"/":D);let H=!0===N.isDev||!$,k=$&&!H;U&&O&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:O,serverActionsManifest:U});let q=e.method||"GET",M=(0,r.getTracer)(),F=M.getActiveScopeSpan(),K={params:E,prerenderManifest:T,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,s,a)=>N.onRequestError(e,t,s,a,A)},sharedContext:{buildId:m}},B=new l.NodeNextRequest(e),L=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(B,(0,u.signalFromNodeResponse)(t));try{let i=async e=>N.handle(z,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=M.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=n.get("next.route");if(s){let t=`${q} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${w}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var r,l;let u=async({previousCacheEntry:n})=>{try{if(!o&&b&&_&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let r=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!$)return await (0,p.sendResponse)(B,L,r,K.renderOpts.pendingWaitUntil),null;{let e=await r.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(r.headers);u&&(t[R.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,s=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:r.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:s}}}}catch(t){throw(null==n?void 0:n.isStale)&&await N.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:b})},!1,A),t}},c=await N.handleResponse({req:e,nextConfig:y,cacheKey:D,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:T,isRoutePPREnabled:!1,isOnDemandRevalidate:b,revalidateOnlyGenerated:_,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:o});if(!$)return null;if((null==c||null==(r=c.value)?void 0:r.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",b?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&$||f.delete(R.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,g.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(B,L,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${w}`,kind:r.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await N.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:k,isOnDemandRevalidate:b})},!1,A),$)throw t;return await (0,p.sendResponse)(B,L,new Response(null,{status:500})),null}}e.s(["handler",()=>P,"patchFetch",()=>_,"routeModule",()=>N,"serverHooks",()=>b,"workAsyncStorage",()=>T,"workUnitAsyncStorage",()=>A],496279)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6a0bc4ae._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>p};for(var u in l)n(i,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:o,maxage:i,path:l,samesite:u,secure:p,partitioned:c,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...p&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))o.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(i=a(t,r))||i.enumerable});return e})(n({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,s=!1;l();)if(","===(r=e.charAt(i))){for(n=i,i+=1,l(),a=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(s=!0,i=a,o.push(e.substring(t,n)),t=i):i=n+1}else i+=1;(!s||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},691180,e=>{"use strict";var t=e.i(254799),r=e.i(522734),n=e.i(814747);let a=n.default.join(process.env.HOME||process.env.USERPROFILE||e.r(446786).homedir(),".spaces","session_secret"),s=null;function o(){return s||(s=function(){if(process.env.SPACES_SESSION_SECRET)return Buffer.from(process.env.SPACES_SESSION_SECRET,"hex");if(r.default.existsSync(a))return Buffer.from(r.default.readFileSync(a,"utf-8").trim(),"hex");let e=t.default.randomBytes(32),s=n.default.dirname(a);return r.default.existsSync(s)||r.default.mkdirSync(s,{recursive:!0}),r.default.writeFileSync(a,e.toString("hex"),{mode:384}),e}()),s}function i(e,r){let n=JSON.stringify({sub:e,role:r,exp:Math.floor(Date.now()/1e3)+86400}),a=Buffer.from(n).toString("base64url"),s=t.default.createHmac("sha256",o()).update(a).digest("base64url");return`${a}.${s}`}function l(e){if(!e)return null;let r=e.split(".");if(2!==r.length)return null;let[n,a]=r,s=t.default.createHmac("sha256",o()).update(n).digest("base64url");if(!t.default.timingSafeEqual(Buffer.from(a),Buffer.from(s)))return null;try{let e=JSON.parse(Buffer.from(n,"base64url").toString());if(e.exp<Math.floor(Date.now()/1e3))return null;return{sub:e.sub,role:e.role||"user"}}catch{return null}}let u="spaces-session";function p(e,t){let r="1"===process.env.SPACES_SECURE_COOKIES,n=`${u}=${t}; HttpOnly; SameSite=Lax; Path=/; Max-Age=86400${r?"; Secure":""}`;e.headers.append("Set-Cookie",n)}function d(e){let t="1"===process.env.SPACES_SECURE_COOKIES,r=`${u}=; HttpOnly; SameSite=Lax; Path=/; Max-Age=0${t?"; Secure":""}`;e.headers.append("Set-Cookie",r)}function c(){return o().toString("hex")}e.s(["clearSessionCookie",()=>d,"getSessionSecretHex",()=>c,"issueSessionToken",()=>i,"setSessionCookie",()=>p,"verifySessionToken",()=>l])},683932,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(691180);async function y(){let e=Response.json({ok:!0});return(0,v.clearSessionCookie)(e),e}async function S(){return y()}e.s(["POST",()=>S],303703);var R=e.i(303703);let C=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/auth/logout/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:E,workUnitAsyncStorage:w,serverHooks:A}=C;function _(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:w})}async function b(e,t,n){C.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/auth/logout/route";v=v.replace(/\/index$/,"")||"/";let y=await C.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:S,params:R,nextConfig:E,parsedUrl:w,isDraftMode:A,prerenderManifest:_,routerServerContext:b,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,resolvedPathname:P,clientReferenceManifest:N,serverActionsManifest:j}=y,T=(0,i.normalizeAppPath)(v),$=!!(_.dynamicRoutes[T]||_.routes[P]),q=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,w,!1):t.end("This page could not be found"),null);if($&&!A){let e=!!_.routes[P],t=_.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await q();throw new g.NoFallbackError}}let H=null;!$||C.isDev||A||(H="/index"===(H=P)?"/":H);let I=!0===C.isDev||!$,U=$&&!I;j&&N&&(0,o.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:j});let D=e.method||"GET",M=(0,s.getTracer)(),B=M.getActiveScopeSpan(),F={params:R,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>C.onRequestError(e,t,n,a,b)},sharedContext:{buildId:S}},L=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>C.handle(J,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${D} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${D} ${v}`)}),i=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!i&&O&&k&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await o(a);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=F.renderOpts.collectedTags;if(!$)return await (0,c.sendResponse)(L,K,s,F.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,n=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:O})},!1,b),t}},p=await C.handleResponse({req:e,nextConfig:E,cacheKey:H,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:O,revalidateOnlyGenerated:k,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:i});if(!$)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",O?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return i&&$||g.delete(m.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(L,K,new Response(p.value.body,{headers:g,status:p.value.status||200})),null};B?await l(B):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${D} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:O})},!1,b),$)throw t;return await (0,c.sendResponse)(L,K,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>_,"routeModule",()=>C,"serverHooks",()=>A,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>w],683932)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6b876561._.js.map
@@ -0,0 +1,42 @@
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,s=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},u={RequestCookies:()=>m,ResponseCookies:()=>y,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var l in u)n(o,l,{get:u[l],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,s]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=s?s:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=p(e),{domain:s,expires:a,httponly:i,maxage:o,path:u,samesite:l,secure:d,partitioned:c,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var y,E,g={name:t,value:decodeURIComponent(r),domain:s,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:u,...l&&{sameSite:h.includes(y=(y=l).toLowerCase())?y:void 0},...d&&{secure:!0},...m&&{priority:f.includes(E=(E=m).toLowerCase())?E:void 0},...c&&{partitioned:!0}};let e={};for(let t in g)g[t]&&(e[t]=g[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=s(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},y=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const s=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(s)?s:function(e){if(!e)return[];var t,r,n,s,a,i=[],o=0;function u(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,a=!1;u();)if(","===(r=e.charAt(o))){for(n=o,o+=1,u(),s=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=s,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(s)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,s=this._parsed;return s.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(s,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},299357,e=>{"use strict";let t="1"===process.env.SPACES_MULTIUSER||"1"===process.env.NEXT_PUBLIC_MULTIUSER,r=!t;function n(){let n="0.0.0";try{n=e.r(804730).version}catch{}return{tier:t?"team":"community",version:n,hasAuth:t,hasAdmin:t,hasCollaboration:t,hasNetwork:!0,hasMultiuser:t,hasCortex:"1"===process.env.SPACES_HAS_CORTEX,isDesktop:r,basePath:""}}e.s(["IS_MULTIUSER",0,t,"getTierFlags",()=>n])},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.10.0-beta.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js","spaces-msg":"./bin/spaces-msg.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",prepack:"node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0",otpauth:"^9.0.0",qrcode:"^1.5.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},908146,e=>{"use strict";var t=e.i(89171),r=e.i(299357);let n=["127.","::1","::ffff:127."];function s(e){let s;return r.IS_MULTIUSER?"admin"!==e.headers.get("x-auth-role")?t.NextResponse.json({error:"Admin required"},{status:403}):null:(s=e.headers.get("x-spaces-remote-ip")||"",n.some(e=>s.startsWith(e)))?null:t.NextResponse.json({error:"Management endpoints are restricted to localhost in desktop mode. Run in multiuser mode (SPACES_MULTIUSER=1) for remote admin."},{status:403})}e.s(["requireAdmin",()=>s])},785148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},139195,e=>{"use strict";var t=e.i(785148),r=e.i(254799),n=e.i(814747),s=e.i(522734),a=e.i(446786);let i=n.default.join(a.default.homedir(),".spaces","network.db"),o=n.default.join(a.default.homedir(),".spaces","terminal_secret"),u=null;function l(){if(u)return u;let e=n.default.dirname(i);s.default.existsSync(e)||s.default.mkdirSync(e,{recursive:!0});let r=new t.default(i);r.pragma("journal_mode = WAL"),r.pragma("synchronous = NORMAL"),r.pragma("foreign_keys = ON"),r.exec(`
2
+ CREATE TABLE IF NOT EXISTS nodes (
3
+ id TEXT PRIMARY KEY,
4
+ name TEXT NOT NULL,
5
+ url TEXT NOT NULL,
6
+ api_key_encrypted TEXT NOT NULL,
7
+ api_key_hint TEXT NOT NULL DEFAULT '',
8
+ status TEXT NOT NULL DEFAULT 'unknown',
9
+ last_seen TEXT,
10
+ last_error TEXT,
11
+ session_count INTEGER DEFAULT 0,
12
+ version TEXT,
13
+ discovered_via TEXT DEFAULT 'manual',
14
+ created TEXT DEFAULT (datetime('now')),
15
+ updated TEXT DEFAULT (datetime('now'))
16
+ );
17
+
18
+ CREATE TABLE IF NOT EXISTS api_keys (
19
+ id TEXT PRIMARY KEY,
20
+ name TEXT NOT NULL,
21
+ key_hash TEXT NOT NULL,
22
+ key_prefix TEXT NOT NULL DEFAULT '',
23
+ permissions TEXT NOT NULL DEFAULT 'read',
24
+ last_used TEXT,
25
+ created TEXT DEFAULT (datetime('now')),
26
+ expires TEXT,
27
+ username TEXT
28
+ );
29
+ `);try{r.exec("ALTER TABLE api_keys ADD COLUMN username TEXT")}catch{}return u=r,r}function d(){if(s.default.existsSync(o))return Buffer.from(s.default.readFileSync(o,"utf-8").trim(),"hex");let e=r.default.randomBytes(32),t=n.default.dirname(o);return s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0}),s.default.writeFileSync(o,e.toString("hex"),{mode:384}),e}function p(e){return{id:e.id,name:e.name,url:e.url,apiKeyHint:e.api_key_hint,status:e.status,lastSeen:e.last_seen,lastError:e.last_error,sessionCount:e.session_count,version:e.version,discoveredVia:e.discovered_via,created:e.created,updated:e.updated}}function c(e){return{id:e.id,name:e.name,keyPrefix:e.key_prefix,permissions:e.permissions,lastUsed:e.last_used,created:e.created,expires:e.expires,username:e.username||null}}function h(e){var t;let n,s,a,i,o,u=l(),p=e.id||r.default.randomUUID(),c=(t=e.apiKey,n=d(),s=r.default.randomBytes(12),a=r.default.createCipheriv("aes-256-gcm",n,s),i=Buffer.concat([a.update(t,"utf-8"),a.final()]),o=a.getAuthTag(),`${s.toString("base64")}:${o.toString("base64")}:${i.toString("base64")}`),h=e.apiKey.slice(-4);return u.prepare(`
30
+ INSERT INTO nodes (id, name, url, api_key_encrypted, api_key_hint, discovered_via)
31
+ VALUES (?, ?, ?, ?, ?, ?)
32
+ ON CONFLICT(id) DO UPDATE SET
33
+ name=excluded.name, url=excluded.url,
34
+ api_key_encrypted=excluded.api_key_encrypted,
35
+ api_key_hint=excluded.api_key_hint,
36
+ updated=datetime('now')
37
+ `).run(p,e.name,e.url,c,h,e.discoveredVia||"manual"),m(p)}function f(e){l().prepare("DELETE FROM nodes WHERE id = ?").run(e)}function m(e){let t=l().prepare("SELECT * FROM nodes WHERE id = ?").get(e);return t?p(t):null}function y(){return l().prepare("SELECT * FROM nodes ORDER BY created").all().map(p)}function E(e,t,r){let n=l(),s=["status = ?","updated = datetime('now')"],a=[t];"online"===t&&s.push("last_seen = datetime('now')"),r?.lastError!==void 0&&(s.push("last_error = ?"),a.push(r.lastError)),r?.sessionCount!==void 0&&(s.push("session_count = ?"),a.push(r.sessionCount)),r?.version!==void 0&&(s.push("version = ?"),a.push(r.version)),r?.name!==void 0&&(s.push("name = ?"),a.push(r.name)),a.push(e),n.prepare(`UPDATE nodes SET ${s.join(", ")} WHERE id = ?`).run(...a)}function g(e,t){let r=l(),n=["updated = datetime('now')"],s=[];void 0!==t.name&&(n.push("name = ?"),s.push(t.name)),void 0!==t.url&&(n.push("url = ?"),s.push(t.url)),s.push(e),r.prepare(`UPDATE nodes SET ${n.join(", ")} WHERE id = ?`).run(...s)}function x(e){let t=l().prepare("SELECT api_key_encrypted FROM nodes WHERE id = ?").get(e);if(!t)return null;try{return function(e){let t=d(),[n,s,a]=e.split(":");if(!n||!s||!a)throw Error("Invalid encrypted key format");let i=Buffer.from(n,"base64"),o=Buffer.from(s,"base64"),u=Buffer.from(a,"base64"),l=r.default.createDecipheriv("aes-256-gcm",t,i);return l.setAuthTag(o),Buffer.concat([l.update(u),l.final()]).toString("utf-8")}(t.api_key_encrypted)}catch{return null}}function v(e,t="read",n){let s,a,i=l(),o=r.default.randomUUID(),u=`spk_${r.default.randomBytes(32).toString("hex")}`,d=(s=r.default.randomBytes(16).toString("hex"),a=r.default.scryptSync(u,s,64).toString("hex"),`${s}:${a}`),p=u.slice(0,12);return i.prepare(`
38
+ INSERT INTO api_keys (id, name, key_hash, key_prefix, permissions, username)
39
+ VALUES (?, ?, ?, ?, ?, ?)
40
+ `).run(o,e,d,p,t,n||null),{rawKey:u,record:c(i.prepare("SELECT * FROM api_keys WHERE id = ?").get(o))}}function T(e){let t=l();for(let n of t.prepare("SELECT * FROM api_keys").all())if(!(n.expires&&new Date(n.expires)<new Date)&&function(e,t){let[n,s]=t.split(":");if(!n||!s)return!1;let a=r.default.scryptSync(e,n,64).toString("hex");try{return r.default.timingSafeEqual(Buffer.from(s,"hex"),Buffer.from(a,"hex"))}catch{return!1}}(e,n.key_hash))return t.prepare("UPDATE api_keys SET last_used = datetime('now') WHERE id = ?").run(n.id),c(n);return null}function R(e){let t=l();return e?t.prepare("SELECT * FROM api_keys WHERE username = ? ORDER BY created").all(e).map(c):t.prepare("SELECT * FROM api_keys ORDER BY created").all().map(c)}function _(e){l().prepare("DELETE FROM api_keys WHERE id = ?").run(e)}function A(){return l().prepare("SELECT * FROM nodes WHERE discovered_via = 'mdns' AND api_key_encrypted = '' ORDER BY created").all().map(p)}e.s(["addNode",()=>h,"createApiKey",()=>v,"getDiscoveredNodes",()=>A,"getNetworkDb",()=>l,"getNode",()=>m,"getNodeApiKey",()=>x,"listApiKeys",()=>R,"listNodes",()=>y,"removeNode",()=>f,"revokeApiKey",()=>_,"updateNode",()=>g,"updateNodeStatus",()=>E,"validateApiKey",()=>T])},637943,e=>{"use strict";var t=e.i(89171),r=e.i(139195),n=e.i(908146),s=e.i(446786);async function a(e){let a=(0,n.requireAdmin)(e);if(a)return a;let i=e.headers.get("x-auth-user")||s.default.userInfo().username,o=(0,r.listApiKeys)(i);return t.NextResponse.json(o)}async function i(s){let a=(0,n.requireAdmin)(s);if(a)return a;let{name:i,permissions:o}=await s.json();if(!i||"string"!=typeof i||!i.trim())return t.NextResponse.json({error:"Name is required"},{status:400});let u=s.headers.get("x-auth-user")||e.r(446786).userInfo().username,{rawKey:l,record:d}=(0,r.createApiKey)(i.trim(),o||"read",u);return t.NextResponse.json({rawKey:l,...d},{status:201})}e.s(["GET",()=>a,"POST",()=>i])},982606,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),s=e.i(759756),a=e.i(561916),i=e.i(174677),o=e.i(869741),u=e.i(316795),l=e.i(487718),d=e.i(995169),p=e.i(47587),c=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),y=e.i(193695);e.i(52474);var E=e.i(600220),g=e.i(637943);async function x(e){return g.GET(e)}async function v(e){return g.POST(e)}e.s(["GET",()=>x,"POST",()=>v],213165);var T=e.i(213165);let R=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/network/keys/route",pathname:"/api/network/keys",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/network/keys/route.ts",nextConfigOutput:"standalone",userland:T}),{workAsyncStorage:_,workUnitAsyncStorage:A,serverHooks:k}=R;function S(){return(0,n.patchFetch)({workAsyncStorage:_,workUnitAsyncStorage:A})}async function b(e,t,n){R.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let g="/api/network/keys/route";g=g.replace(/\/index$/,"")||"/";let x=await R.prepare(e,t,{srcPage:g,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:v,params:T,nextConfig:_,parsedUrl:A,isDraftMode:k,prerenderManifest:S,routerServerContext:b,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,resolvedPathname:N,clientReferenceManifest:O,serverActionsManifest:L}=x,U=(0,o.normalizeAppPath)(g),D=!!(S.dynamicRoutes[U]||S.routes[N]),j=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,A,!1):t.end("This page could not be found"),null);if(D&&!k){let e=!!S.routes[N],t=S.dynamicRoutes[U];if(t&&!1===t.fallback&&!e){if(_.experimental.adapterPath)return await j();throw new y.NoFallbackError}}let P=null;!D||R.isDev||k||(P="/index"===(P=N)?"/":P);let I=!0===R.isDev||!D,q=D&&!I;L&&O&&(0,i.setManifestsSingleton)({page:g,clientReferenceManifest:O,serverActionsManifest:L});let M=e.method||"GET",F=(0,a.getTracer)(),$=F.getActiveScopeSpan(),H={params:T,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!_.experimental.authInterrupts},cacheComponents:!!_.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:_.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,s)=>R.onRequestError(e,t,n,s,b)},sharedContext:{buildId:v}},X=new u.NodeNextRequest(e),B=new u.NodeNextResponse(t),K=l.NextRequestAdapter.fromNodeNextRequest(X,(0,l.signalFromNodeResponse)(t));try{let i=async e=>R.handle(K,H).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${M} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${g}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),u=async s=>{var a,u;let l=async({previousCacheEntry:r})=>{try{if(!o&&w&&C&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(s);e.fetchMetrics=H.renderOpts.fetchMetrics;let u=H.renderOpts.pendingWaitUntil;u&&n.waitUntil&&(n.waitUntil(u),u=void 0);let l=H.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(X,B,a,H.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==H.renderOpts.collectedRevalidate&&!(H.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&H.renderOpts.collectedRevalidate,n=void 0===H.renderOpts.collectedExpire||H.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:H.renderOpts.collectedExpire;return{value:{kind:E.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await R.onRequestError(e,t,{routerKind:"App Router",routePath:g,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:w})},!1,b),t}},d=await R.handleResponse({req:e,nextConfig:_,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:w,revalidateOnlyGenerated:C,responseGenerator:l,waitUntil:n.waitUntil,isMinimalMode:o});if(!D)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==E.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(u=d.value)?void 0:u.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",w?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),k&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let y=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&D||y.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||y.get("Cache-Control")||y.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(X,B,new Response(d.value.body,{headers:y,status:d.value.status||200})),null};$?await u($):await F.withPropagatedContext(e.headers,()=>F.trace(d.BaseServerSpan.handleRequest,{spanName:`${M} ${g}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},u))}catch(t){if(t instanceof y.NoFallbackError||await R.onRequestError(e,t,{routerKind:"App Router",routePath:U,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:w})},!1,b),D)throw t;return await (0,c.sendResponse)(X,B,new Response(null,{status:500})),null}}e.s(["handler",()=>b,"patchFetch",()=>S,"routeModule",()=>R,"serverHooks",()=>k,"workAsyncStorage",()=>_,"workUnitAsyncStorage",()=>A],982606)}];
41
+
42
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6e89713c._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(e,t,n)=>{t.exports=e.x("child_process",()=>require("child_process"))},451200,(e,t,n)=>{"use strict";let r=null;t.exports.init=function(e){r=e},t.exports.getDeps=function(){return r}},365836,e=>{"use strict";var t=e.i(507304),n=e.i(460569);e.i(768724);var r=e.i(793765),a=e.i(451200),s=e.i(618393);let i=new Set,o=new Set,l=!1,u=0;async function c(){let c=(0,r.getCurrentUser)();if(i.has(c)){let e=Date.now();e-u>3e5&&(u=e,(0,n.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),i.add(c),!l){l=!0;let{sseManager:n}=await e.A(972354);a.init({getDb:t.getDb,sseManager:n}),"function"==typeof s.runMigrations&&s.runMigrations((0,t.getDb)())}if(!o.has(c)){o.add(c);try{let e=await (0,n.fullSync)();console.log(`[spaces:${c}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,n.enrichMissingSessions)();t>0&&console.log(`[spaces:${c}] Enriched ${t} sessions from JSONL`),u=Date.now(),(0,n.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${c}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${c}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${c}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${c}] Sync error:`,e)}finally{o.delete(c)}}}e.s(["ensureInitialized",()=>c])},698907,e=>{"use strict";var t=e.i(747909),n=e.i(174017),r=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),R=e.i(626937),g=e.i(10372),w=e.i(193695);e.i(52474);var f=e.i(600220),v=e.i(89171);e.i(768724);var E=e.i(793765),x=e.i(365836),y=e.i(550837);async function m(e,{params:t}){let n=(0,E.getAuthUser)(e);return(0,E.withUser)(n,async()=>{await (0,x.ensureInitialized)();let{id:e}=await t,n=parseInt(e,10),r=(0,y.getPanesByWorkspace)(n),a=(0,y.getWorkspaceSessions)(n);return v.NextResponse.json({panes:r,sessions:a})})}async function C(e,{params:t}){let n=(0,E.getAuthUser)(e);return(0,E.withUser)(n,async()=>{await (0,x.ensureInitialized)();let{id:n}=await t,r=await e.json();return(0,y.updateWorkspace)(parseInt(n,10),r),v.NextResponse.json({success:!0})})}async function A(e,{params:t}){let n=(0,E.getAuthUser)(e);return(0,E.withUser)(n,async()=>{await (0,x.ensureInitialized)();let{id:e}=await t;return(0,y.deleteWorkspaceFull)(parseInt(e,10)),v.NextResponse.json({success:!0})})}e.s(["DELETE",()=>A,"GET",()=>m,"PUT",()=>C],68568);var S=e.i(68568);let T=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/workspaces/[id]/route",pathname:"/api/workspaces/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/workspaces/[id]/route.ts",nextConfigOutput:"standalone",userland:S}),{workAsyncStorage:b,workUnitAsyncStorage:_,serverHooks:N}=T;function P(){return(0,r.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:_})}async function I(e,t,r){T.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/workspaces/[id]/route";v=v.replace(/\/index$/,"")||"/";let E=await T.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!E)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:x,params:y,nextConfig:m,parsedUrl:C,isDraftMode:A,prerenderManifest:S,routerServerContext:b,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,resolvedPathname:P,clientReferenceManifest:I,serverActionsManifest:U}=E,k=(0,o.normalizeAppPath)(v),O=!!(S.dynamicRoutes[k]||S.routes[P]),D=async()=>((null==b?void 0:b.render404)?await b.render404(e,t,C,!1):t.end("This page could not be found"),null);if(O&&!A){let e=!!S.routes[P],t=S.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(m.experimental.adapterPath)return await D();throw new w.NoFallbackError}}let $=null;!O||T.isDev||A||($="/index"===($=P)?"/":$);let H=!0===T.isDev||!O,q=O&&!H;U&&I&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:I,serverActionsManifest:U});let M=e.method||"GET",j=(0,s.getTracer)(),F=j.getActiveScopeSpan(),K={params:y,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!m.experimental.authInterrupts},cacheComponents:!!m.cacheComponents,supportsDynamicResponse:H,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:m.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,a)=>T.onRequestError(e,t,r,a,b)},sharedContext:{buildId:x}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),W=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let i=async e=>T.handle(W,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=j.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${M} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:n})=>{try{if(!o&&_&&N&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:f.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await T.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:_})},!1,b),t}},c=await T.handleResponse({req:e,nextConfig:m,cacheKey:$,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:N,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:o});if(!O)return null;if((null==c||null==(s=c.value)?void 0:s.kind)!==f.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let w=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return o&&O||w.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||w.get("Cache-Control")||w.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(L,B,new Response(c.value.body,{headers:w,status:c.value.status||200})),null};F?await l(F):await j.withPropagatedContext(e.headers,()=>j.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof w.NoFallbackError||await T.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:q,isOnDemandRevalidate:_})},!1,b),O)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>I,"patchFetch",()=>P,"routeModule",()=>T,"serverHooks",()=>N,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>_],698907)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__6f713737._.js.map
@@ -0,0 +1,78 @@
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>E,ResponseCookies:()=>f,parseCookie:()=>p,parseSetCookie:()=>c,stringifyCookie:()=>d};for(var u in l)s(o,u,{get:l[u],enumerable:!0});function d(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function p(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...s]=p(e),{domain:n,expires:a,httponly:i,maxage:o,path:l,samesite:u,secure:d,partitioned:c,priority:E}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,g,T={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:m.includes(f=(f=u).toLowerCase())?f:void 0},...d&&{secure:!0},...E&&{priority:h.includes(g=(g=E).toLowerCase())?g:void 0},...c&&{partitioned:!0}};let e={};for(let t in T)T[t]&&(e[t]=T[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))i.call(e,r)||void 0===r||s(e,r,{get:()=>t[r],enumerable:!(o=n(t,r))||o.enumerable});return e})(s({},"__esModule",{value:!0}),o);var m=["strict","lax","none"],h=["low","medium","high"],E=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of p(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>d(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>d(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,s,n,a,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,a=!1;l();)if(","===(r=e.charAt(o))){for(s=o,o+=1,l(),n=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(a=!0,o=n,i.push(e.substring(t,s)),t=o):o=s+1}else o+=1;(!a||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(n)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=d(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(d).join("; ")}}},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},362562,(e,t,r)=>{t.exports=e.x("module",()=>require("module"))},708784,e=>{"use strict";var t=e.i(362562),r=e.i(254799),s=e.i(814747),n=e.i(522734),a=e.i(446786);let i=(0,t.createRequire)("/ROOT/src/lib/admin/db.ts")("better-sqlite3"),o=s.default.join(a.default.homedir(),".spaces","admin.db"),l=null;function u(){if(l)return l;let e=s.default.dirname(o);n.default.existsSync(e)||n.default.mkdirSync(e,{recursive:!0});let t=new i(o);return t.pragma("journal_mode = WAL"),t.pragma("synchronous = NORMAL"),t.pragma("foreign_keys = ON"),t.exec(`
2
+ CREATE TABLE IF NOT EXISTS users (
3
+ id TEXT PRIMARY KEY,
4
+ username TEXT NOT NULL UNIQUE,
5
+ password_hash TEXT NOT NULL,
6
+ display_name TEXT NOT NULL DEFAULT '',
7
+ shell_user TEXT NOT NULL,
8
+ role TEXT NOT NULL DEFAULT 'user',
9
+ totp_secret TEXT,
10
+ totp_enabled INTEGER DEFAULT 0,
11
+ created TEXT DEFAULT (datetime('now'))
12
+ );
13
+
14
+ CREATE TABLE IF NOT EXISTS login_events (
15
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
16
+ username TEXT NOT NULL,
17
+ timestamp TEXT NOT NULL DEFAULT (datetime('now')),
18
+ ip_address TEXT,
19
+ user_agent TEXT
20
+ );
21
+
22
+ CREATE TABLE IF NOT EXISTS terminal_sessions (
23
+ id TEXT PRIMARY KEY,
24
+ username TEXT NOT NULL,
25
+ agent_type TEXT NOT NULL DEFAULT 'shell',
26
+ started_at TEXT NOT NULL DEFAULT (datetime('now')),
27
+ ended_at TEXT,
28
+ duration_seconds INTEGER
29
+ );
30
+
31
+ CREATE INDEX IF NOT EXISTS idx_login_events_username ON login_events(username);
32
+ CREATE INDEX IF NOT EXISTS idx_login_events_timestamp ON login_events(timestamp);
33
+ CREATE INDEX IF NOT EXISTS idx_terminal_sessions_username ON terminal_sessions(username);
34
+ CREATE INDEX IF NOT EXISTS idx_terminal_sessions_started_at ON terminal_sessions(started_at);
35
+ `),l=t,t}function d(e){let t=r.default.randomBytes(16).toString("hex"),s=r.default.scryptSync(e,t,64).toString("hex");return`${t}:${s}`}function p(e,t){let[s,n]=t.split(":");if(!s||!n)return!1;let a=r.default.scryptSync(e,s,64).toString("hex");return r.default.timingSafeEqual(Buffer.from(n,"hex"),Buffer.from(a,"hex"))}function c(e){let t=u(),s=r.default.randomUUID(),n=d(e.password);return t.prepare(`
36
+ INSERT INTO users (id, username, password_hash, display_name, shell_user, role)
37
+ VALUES (?, ?, ?, ?, ?, ?)
38
+ `).run(s,e.username,n,e.displayName,e.shellUser,e.role||"user"),m(e.username)}function m(e){return u().prepare("SELECT * FROM users WHERE username = ?").get(e)}function h(e){return u().prepare("SELECT * FROM users WHERE id = ?").get(e)}function E(){return u().prepare("SELECT * FROM users ORDER BY created").all()}function f(e,t){let r=u(),s=[],n=[];void 0!==t.displayName&&(s.push("display_name = ?"),n.push(t.displayName)),void 0!==t.shellUser&&(s.push("shell_user = ?"),n.push(t.shellUser)),void 0!==t.role&&(s.push("role = ?"),n.push(t.role)),void 0!==t.password&&(s.push("password_hash = ?"),n.push(d(t.password))),void 0!==t.totpSecret&&(s.push("totp_secret = ?"),n.push(t.totpSecret)),void 0!==t.totpEnabled&&(s.push("totp_enabled = ?"),n.push(+!!t.totpEnabled)),0!==s.length&&(n.push(e),r.prepare(`UPDATE users SET ${s.join(", ")} WHERE id = ?`).run(...n),T.clear())}function g(e){u().prepare("DELETE FROM users WHERE id = ?").run(e),T.clear()}let T=new Map;function R(e){let t=T.get(e);if(t&&t.expires>Date.now())return t.shellUser;let r=m(e),s=r?.shell_user||e;return T.set(e,{shellUser:s,expires:Date.now()+6e4}),s}function _(e,t,r){u().prepare("INSERT INTO login_events (username, ip_address, user_agent) VALUES (?, ?, ?)").run(e,t||null,r||null)}function x(e){return u().prepare(`
39
+ SELECT username, timestamp, ip_address, user_agent
40
+ FROM login_events
41
+ WHERE timestamp >= datetime('now', ?)
42
+ ORDER BY timestamp DESC
43
+ `).all(`-${e} days`)}function y(e){return u().prepare(`
44
+ SELECT id, username, agent_type, started_at, ended_at, duration_seconds
45
+ FROM terminal_sessions
46
+ WHERE started_at >= datetime('now', ?)
47
+ ORDER BY started_at DESC
48
+ `).all(`-${e} days`)}function v(){return u().prepare("SELECT COUNT(*) as count FROM terminal_sessions WHERE ended_at IS NULL").get().count}function O(e){return u().prepare(`
49
+ SELECT date(timestamp) as date, COUNT(*) as count
50
+ FROM login_events
51
+ WHERE timestamp >= datetime('now', ?)
52
+ GROUP BY date(timestamp)
53
+ ORDER BY date
54
+ `).all(`-${e} days`)}function S(e){return u().prepare(`
55
+ SELECT date(started_at) as date,
56
+ CAST(SUM(COALESCE(duration_seconds, 0)) / 60.0 AS REAL) as minutes
57
+ FROM terminal_sessions
58
+ WHERE started_at >= datetime('now', ?)
59
+ GROUP BY date(started_at)
60
+ ORDER BY date
61
+ `).all(`-${e} days`)}function A(e){return u().prepare(`
62
+ SELECT
63
+ ts.username,
64
+ COUNT(ts.id) as session_count,
65
+ CAST(SUM(COALESCE(ts.duration_seconds, 0)) / 60.0 AS REAL) as total_minutes,
66
+ MAX(le.last_login) as last_login
67
+ FROM terminal_sessions ts
68
+ LEFT JOIN (
69
+ SELECT username, MAX(timestamp) as last_login
70
+ FROM login_events
71
+ GROUP BY username
72
+ ) le ON ts.username = le.username
73
+ WHERE ts.started_at >= datetime('now', ?)
74
+ GROUP BY ts.username
75
+ ORDER BY total_minutes DESC
76
+ `).all(`-${e} days`)}e.s(["createUser",()=>c,"deleteUser",()=>g,"getActiveSessionCount",()=>v,"getDailyLoginCounts",()=>O,"getDailySessionMinutes",()=>S,"getLoginEvents",()=>x,"getTerminalSessions",()=>y,"getUser",()=>m,"getUserById",()=>h,"getUserSessionSummary",()=>A,"listUsers",()=>E,"recordLogin",()=>_,"resolveShellUser",()=>R,"updateUser",()=>f,"verifyPassword",()=>p])},714591,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),n=e.i(759756),a=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),d=e.i(995169),p=e.i(47587),c=e.i(666012),m=e.i(570101),h=e.i(626937),E=e.i(10372),f=e.i(193695);e.i(52474);var g=e.i(600220),T=e.i(708784),R=e.i(446786);async function _(e){let t=e.headers.get("x-auth-user")||R.default.userInfo().username,r=(0,T.getUser)(t);return Response.json({enabled:!!r?.totp_enabled,required:!0})}async function x(e){return _(e)}e.s(["GET",()=>x],83344);var y=e.i(83344);let v=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/auth/totp/status/route",pathname:"/api/auth/totp/status",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/auth/totp/status/route.ts",nextConfigOutput:"standalone",userland:y}),{workAsyncStorage:O,workUnitAsyncStorage:S,serverHooks:A}=v;function C(){return(0,s.patchFetch)({workAsyncStorage:O,workUnitAsyncStorage:S})}async function N(e,t,s){v.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let T="/api/auth/totp/status/route";T=T.replace(/\/index$/,"")||"/";let R=await v.prepare(e,t,{srcPage:T,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:_,params:x,nextConfig:y,parsedUrl:O,isDraftMode:S,prerenderManifest:A,routerServerContext:C,isOnDemandRevalidate:N,revalidateOnlyGenerated:w,resolvedPathname:U,clientReferenceManifest:L,serverActionsManifest:b}=R,I=(0,o.normalizeAppPath)(T),D=!!(A.dynamicRoutes[I]||A.routes[U]),M=async()=>((null==C?void 0:C.render404)?await C.render404(e,t,O,!1):t.end("This page could not be found"),null);if(D&&!S){let e=!!A.routes[U],t=A.dynamicRoutes[I];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await M();throw new f.NoFallbackError}}let P=null;!D||v.isDev||S||(P="/index"===(P=U)?"/":P);let k=!0===v.isDev||!D,F=D&&!k;b&&L&&(0,i.setManifestsSingleton)({page:T,clientReferenceManifest:L,serverActionsManifest:b});let X=e.method||"GET",j=(0,a.getTracer)(),$=j.getActiveScopeSpan(),q={params:x,prerenderManifest:A,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:k,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>v.onRequestError(e,t,s,n,C)},sharedContext:{buildId:_}},H=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),Y=u.NextRequestAdapter.fromNodeNextRequest(H,(0,u.signalFromNodeResponse)(t));try{let i=async e=>v.handle(Y,q).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=j.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==d.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${X} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${X} ${T}`)}),o=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&N&&w&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await i(n);e.fetchMetrics=q.renderOpts.fetchMetrics;let l=q.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let u=q.renderOpts.collectedTags;if(!D)return await (0,c.sendResponse)(H,B,a,q.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[E.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==q.renderOpts.collectedRevalidate&&!(q.renderOpts.collectedRevalidate>=E.INFINITE_CACHE)&&q.renderOpts.collectedRevalidate,s=void 0===q.renderOpts.collectedExpire||q.renderOpts.collectedExpire>=E.INFINITE_CACHE?void 0:q.renderOpts.collectedExpire;return{value:{kind:g.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await v.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,C),t}},d=await v.handleResponse({req:e,nextConfig:y,cacheKey:P,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:N,revalidateOnlyGenerated:w,responseGenerator:u,waitUntil:s.waitUntil,isMinimalMode:o});if(!D)return null;if((null==d||null==(a=d.value)?void 0:a.kind)!==g.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(l=d.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",N?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),S&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,m.fromNodeOutgoingHttpHeaders)(d.value.headers);return o&&D||f.delete(E.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,h.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(H,B,new Response(d.value.body,{headers:f,status:d.value.status||200})),null};$?await l($):await j.withPropagatedContext(e.headers,()=>j.trace(d.BaseServerSpan.handleRequest,{spanName:`${X} ${T}`,kind:a.SpanKind.SERVER,attributes:{"http.method":X,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await v.onRequestError(e,t,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:F,isOnDemandRevalidate:N})},!1,C),D)throw t;return await (0,c.sendResponse)(H,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>C,"routeModule",()=>v,"serverHooks",()=>A,"workAsyncStorage",()=>O,"workUnitAsyncStorage",()=>S],714591)}];
77
+
78
+ //# sourceMappingURL=%5Broot-of-the-server%5D__725f10f4._.js.map
@@ -0,0 +1,38 @@
1
+ module.exports=[254799,(e,t,r)=>{t.exports=e.x("crypto",()=>require("crypto"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var s=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i={},l={RequestCookies:()=>g,ResponseCookies:()=>f,parseCookie:()=>d,parseSetCookie:()=>u,stringifyCookie:()=>c};for(var p in l)s(i,p,{get:l[p],enumerable:!0});function c(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),s=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?s:`${s}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[s,n]=[r.slice(0,e),r.slice(e+1)];try{t.set(s,decodeURIComponent(null!=n?n:"true"))}catch{}}return t}function u(e){if(!e)return;let[[t,r],...s]=d(e),{domain:n,expires:a,httponly:o,maxage:i,path:l,samesite:p,secure:c,partitioned:u,priority:g}=Object.fromEntries(s.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var f,x,y={name:t,value:decodeURIComponent(r),domain:n,...a&&{expires:new Date(a)},...o&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...p&&{sameSite:h.includes(f=(f=p).toLowerCase())?f:void 0},...c&&{secure:!0},...g&&{priority:m.includes(x=(x=g).toLowerCase())?x:void 0},...u&&{partitioned:!0}};let e={};for(let t in y)y[t]&&(e[t]=y[t]);return e}}t.exports=((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of a(t))o.call(e,r)||void 0===r||s(e,r,{get:()=>t[r],enumerable:!(i=n(t,r))||i.enumerable});return e})(s({},"__esModule",{value:!0}),i);var h=["strict","lax","none"],m=["low","medium","high"],g=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===s).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,s=this._parsed;return s.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(s).map(([e,t])=>c(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>c(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},f=class{constructor(e){var t,r,s;this._parsed=new Map,this._headers=e;const n=null!=(s=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?s:[];for(const e of Array.isArray(n)?n:function(e){if(!e)return[];var t,r,s,n,a,o=[],i=0;function l(){for(;i<e.length&&/\s/.test(e.charAt(i));)i+=1;return i<e.length}for(;i<e.length;){for(t=i,a=!1;l();)if(","===(r=e.charAt(i))){for(s=i,i+=1,l(),n=i;i<e.length&&"="!==(r=e.charAt(i))&&";"!==r&&","!==r;)i+=1;i<e.length&&"="===e.charAt(i)?(a=!0,i=n,o.push(e.substring(t,s)),t=i):i=s+1}else i+=1;(!a||i>=e.length)&&o.push(e.substring(t,e.length))}return o}(n)){const t=u(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let s="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===s)}has(e){return this._parsed.has(e)}set(...e){let[t,r,s]=1===e.length?[e[0].name,e[0].value,e[0]]:e,n=this._parsed;return n.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...s})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=c(r);t.append("set-cookie",e)}}(n,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(c).join("; ")}}},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},299357,e=>{"use strict";let t="1"===process.env.SPACES_MULTIUSER||"1"===process.env.NEXT_PUBLIC_MULTIUSER,r=!t;function s(){let s="0.0.0";try{s=e.r(804730).version}catch{}return{tier:t?"team":"community",version:s,hasAuth:t,hasAdmin:t,hasCollaboration:t,hasNetwork:!0,hasMultiuser:t,hasCortex:"1"===process.env.SPACES_HAS_CORTEX,isDesktop:r,basePath:""}}e.s(["IS_MULTIUSER",0,t,"getTierFlags",()=>s])},918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},804730,e=>{e.v({name:"@jlongo78/agent-spaces",version:"0.10.0-beta.4",description:"Agent workspace manager for Claude, Codex, Gemini, and more",bin:{spaces:"./bin/spaces.js","spaces-msg":"./bin/spaces-msg.js"},files:["bin/",".next/standalone/"],engines:{node:">=20.9.0"},repository:{type:"git",url:"git+https://github.com/jlongo78/spaces.git"},keywords:["ai","agent","workspace","terminal","claude","codex","gemini"],homepage:"http://www.agentspaces.co",license:"AGPL-3.0-only",scripts:{start:"node bin/spaces.js",dev:"node bin/spaces-dev.js",build:"cross-env STANDALONE=1 next build && node -e \"const fs=require('fs');fs.cpSync('.next/static','.next/standalone/.next/static',{recursive:true});fs.cpSync('public','.next/standalone/public',{recursive:true})\" && node bin/fix-standalone-externals.js",postinstall:"node bin/spaces-postinstall.js || true",prepublishOnly:"npm run build",prepack:"node bin/scrub-standalone.js",setup:"node bin/spaces-setup.js","setup-admin":"node bin/setup-admin.js","server:build":"next build","server:start":"next start --port 3457",test:"vitest run","test:watch":"vitest","test:coverage":"vitest run --coverage",lint:"eslint"},dependencies:{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@google-cloud/compute":"^6.9.0","@huggingface/transformers":"^3.8.1","@lancedb/lancedb":"^0.26.2","@modelcontextprotocol/sdk":"^1.27.1","@react-three/drei":"^10.7.7","@react-three/fiber":"^9.5.0","@react-three/postprocessing":"^3.0.4","@react-three/xr":"^6.6.29","@xterm/addon-canvas":"^0.7.0","better-sqlite3":"^12.6.2","bonjour-service":"^1.3.0","dockview-react":"^5.2.0","force-graph":"^1.51.2","node-pty":"^1.1.0",otpauth:"^9.0.0",qrcode:"^1.5.0","react-resizable-panels":"^4.7.6",three:"^0.183.2",ws:"^8.19.0"},devDependencies:{"@tailwindcss/postcss":"^4","@tanstack/react-query":"^5.90.21","@types/better-sqlite3":"^7.6.13","@types/node":"^20","@types/qrcode":"^1.5.6","@types/react":"^19","@types/react-dom":"^19","@types/three":"^0.183.1","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.0.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0",chokidar:"^5.0.0","class-variance-authority":"^0.7.1",clsx:"^2.1.1","cross-env":"^10.1.0","date-fns":"^4.1.0",eslint:"^9","eslint-config-next":"16.1.6",geist:"^1.4.1","lucide-react":"^0.575.0",next:"16.1.6",otpauth:"^9.5.0","posthog-js":"^1.352.0","posthog-node":"^5.21.2",qrcode:"^1.5.4",react:"19.2.3","react-dom":"19.2.3","react-markdown":"^10.1.0",recharts:"^3.7.0","rehype-highlight":"^7.0.2","remark-gfm":"^4.0.1","tailwind-merge":"^3.5.0",tailwindcss:"^4",typescript:"^5",vitest:"^4.0.18",xterm:"^5.3.0"},optionalDependencies:{"@types/qrcode":"^1.5.6",otpauth:"^9.5.0",qrcode:"^1.5.4"}})},908146,e=>{"use strict";var t=e.i(89171),r=e.i(299357);let s=["127.","::1","::ffff:127."];function n(e){let n;return r.IS_MULTIUSER?"admin"!==e.headers.get("x-auth-role")?t.NextResponse.json({error:"Admin required"},{status:403}):null:(n=e.headers.get("x-spaces-remote-ip")||"",s.some(e=>n.startsWith(e)))?null:t.NextResponse.json({error:"Management endpoints are restricted to localhost in desktop mode. Run in multiuser mode (SPACES_MULTIUSER=1) for remote admin."},{status:403})}e.s(["requireAdmin",()=>n])},435333,e=>{"use strict";var t=e.i(747909),r=e.i(174017),s=e.i(996250),n=e.i(759756),a=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),p=e.i(487718),c=e.i(995169),d=e.i(47587),u=e.i(666012),h=e.i(570101),m=e.i(626937),g=e.i(10372),f=e.i(193695);e.i(52474);var x=e.i(600220),y=e.i(89171);e.i(768724);var v=e.i(793765),w=e.i(798003);let b=`You are a project planning assistant for Agent Spaces — a workspace manager for AI coding agents.
2
+
3
+ Your job: help the user plan a new project workspace through conversation. Ask 1-2 questions at a time (not a wall). Converge toward a concrete plan.
4
+
5
+ Available agent types:
6
+ - claude: Claude Code — best for complex coding, architecture, debugging
7
+ - codex: Codex CLI — good for quick code generation
8
+ - gemini: Gemini CLI — Google's coding assistant
9
+ - aider: Aider — git-aware pair programming
10
+ - shell: Plain terminal/bash — for manual commands, scripts, builds
11
+ - custom: Custom command — user specifies the command
12
+
13
+ After each exchange, output an updated project plan as a JSON block. Format:
14
+
15
+ \`\`\`json
16
+ {
17
+ "workspace": { "name": "...", "description": "...", "color": "#6366f1" },
18
+ "panes": [
19
+ { "title": "...", "agentType": "claude", "cwd": "...", "initialPrompt": "...", "description": "..." }
20
+ ],
21
+ "summary": "One paragraph summary"
22
+ }
23
+ \`\`\`
24
+
25
+ Guidelines:
26
+ - Ask about: project purpose, tech stack, scope, working directory, what agents would help
27
+ - Suggest agent configurations based on the project description
28
+ - Use sensible defaults (color #6366f1, cwd based on project name)
29
+ - Keep pane count reasonable (2-5 for most projects)
30
+ - For initialPrompt, write what the agent should start working on
31
+ - When the plan looks solid, suggest the user review it`;async function R(t){let r=(0,v.getAuthUser)(t);return(0,v.withUser)(r,async()=>{let{configPath:s}=(0,w.getUserPaths)(r),n={};try{let{readCortexConfig:t}=await e.A(93818);n=t(s)}catch{}let a=n.anthropic_api_key||process.env.ANTHROPIC_API_KEY;if(!a)return y.NextResponse.json({error:"No API key configured. Add your Anthropic key in Settings > Cortex."},{status:400});let{messages:o,currentPlan:i}=await t.json(),l=o.map(e=>({role:e.role,content:e.content})),p=b;i&&(p+=`
32
+
33
+ Current plan state:
34
+ \`\`\`json
35
+ ${JSON.stringify(i,null,2)}
36
+ \`\`\``);try{let e=await fetch("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"Content-Type":"application/json","x-api-key":a,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:"claude-haiku-4-5-20251001",max_tokens:2048,system:p,messages:l}),signal:AbortSignal.timeout(3e4)});if(!e.ok)return await e.text(),y.NextResponse.json({error:`API error: ${e.status}`},{status:502});let t=await e.json(),r=t.content?.[0]?.text||"",s=i,n=r.match(/```json\s*([\s\S]*?)```/);if(n)try{s=JSON.parse(n[1])}catch{}let o=r.replace(/```json[\s\S]*?```/g,"").trim();return y.NextResponse.json({reply:o,plan:s})}catch(e){return y.NextResponse.json({error:e.message},{status:500})}})}e.s(["POST",()=>R,"dynamic",0,"force-dynamic"],880713);var A=e.i(880713);let k=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/wizard/chat/route",pathname:"/api/wizard/chat",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/wizard/chat/route.ts",nextConfigOutput:"standalone",userland:A}),{workAsyncStorage:C,workUnitAsyncStorage:S,serverHooks:j}=k;function _(){return(0,s.patchFetch)({workAsyncStorage:C,workUnitAsyncStorage:S})}async function E(e,t,s){k.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let y="/api/wizard/chat/route";y=y.replace(/\/index$/,"")||"/";let v=await k.prepare(e,t,{srcPage:y,multiZoneDraftMode:!1});if(!v)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:b,nextConfig:R,parsedUrl:A,isDraftMode:C,prerenderManifest:S,routerServerContext:j,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,resolvedPathname:O,clientReferenceManifest:P,serverActionsManifest:N}=v,T=(0,i.normalizeAppPath)(y),q=!!(S.dynamicRoutes[T]||S.routes[O]),U=async()=>((null==j?void 0:j.render404)?await j.render404(e,t,A,!1):t.end("This page could not be found"),null);if(q&&!C){let e=!!S.routes[O],t=S.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(R.experimental.adapterPath)return await U();throw new f.NoFallbackError}}let I=null;!q||k.isDev||C||(I="/index"===(I=O)?"/":I);let D=!0===k.isDev||!q,$=q&&!D;N&&P&&(0,o.setManifestsSingleton)({page:y,clientReferenceManifest:P,serverActionsManifest:N});let M=e.method||"GET",H=(0,a.getTracer)(),L=H.getActiveScopeSpan(),F={params:b,prerenderManifest:S,renderOpts:{experimental:{authInterrupts:!!R.experimental.authInterrupts},cacheComponents:!!R.cacheComponents,supportsDynamicResponse:D,incrementalCache:(0,n.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:R.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,n)=>k.onRequestError(e,t,s,n,j)},sharedContext:{buildId:w}},K=new l.NodeNextRequest(e),z=new l.NodeNextResponse(t),G=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let o=async e=>k.handle(G,F).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${M} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t)}else e.updateName(`${M} ${y}`)}),i=!!(0,n.getRequestMeta)(e,"minimalMode"),l=async n=>{var a,l;let p=async({previousCacheEntry:r})=>{try{if(!i&&_&&E&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(n);e.fetchMetrics=F.renderOpts.fetchMetrics;let l=F.renderOpts.pendingWaitUntil;l&&s.waitUntil&&(s.waitUntil(l),l=void 0);let p=F.renderOpts.collectedTags;if(!q)return await (0,u.sendResponse)(K,z,a,F.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);p&&(t[g.NEXT_CACHE_TAGS_HEADER]=p),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==F.renderOpts.collectedRevalidate&&!(F.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&F.renderOpts.collectedRevalidate,s=void 0===F.renderOpts.collectedExpire||F.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:F.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await k.onRequestError(e,t,{routerKind:"App Router",routePath:y,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:_})},!1,j),t}},c=await k.handleResponse({req:e,nextConfig:R,cacheKey:I,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:S,isRoutePPREnabled:!1,isOnDemandRevalidate:_,revalidateOnlyGenerated:E,responseGenerator:p,waitUntil:s.waitUntil,isMinimalMode:i});if(!q)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",_?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&q||f.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,m.getCacheControlHeader)(c.cacheControl)),await (0,u.sendResponse)(K,z,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};L?await l(L):await H.withPropagatedContext(e.headers,()=>H.trace(c.BaseServerSpan.handleRequest,{spanName:`${M} ${y}`,kind:a.SpanKind.SERVER,attributes:{"http.method":M,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await k.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:_})},!1,j),q)throw t;return await (0,u.sendResponse)(K,z,new Response(null,{status:500})),null}}e.s(["handler",()=>E,"patchFetch",()=>_,"routeModule",()=>k,"serverHooks",()=>j,"workAsyncStorage",()=>C,"workUnitAsyncStorage",()=>S],435333)},93818,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__1094360c._.js"].map(t=>e.l(t))).then(()=>t(176050)))}];
37
+
38
+ //# sourceMappingURL=%5Broot-of-the-server%5D__785b0597._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[918622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},556704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},832319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},324725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},814747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},193695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},442315,(e,t,r)=>{"use strict";t.exports=e.r(918622)},347540,(e,t,r)=>{"use strict";t.exports=e.r(442315).vendored["react-rsc"].React},819481,(e,t,r)=>{"use strict";var n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o={},l={RequestCookies:()=>m,ResponseCookies:()=>g,parseCookie:()=>d,parseSetCookie:()=>c,stringifyCookie:()=>p};for(var u in l)n(o,u,{get:l[u],enumerable:!0});function p(e){var t;let r=["path"in e&&e.path&&`Path=${e.path}`,"expires"in e&&(e.expires||0===e.expires)&&`Expires=${("number"==typeof e.expires?new Date(e.expires):e.expires).toUTCString()}`,"maxAge"in e&&"number"==typeof e.maxAge&&`Max-Age=${e.maxAge}`,"domain"in e&&e.domain&&`Domain=${e.domain}`,"secure"in e&&e.secure&&"Secure","httpOnly"in e&&e.httpOnly&&"HttpOnly","sameSite"in e&&e.sameSite&&`SameSite=${e.sameSite}`,"partitioned"in e&&e.partitioned&&"Partitioned","priority"in e&&e.priority&&`Priority=${e.priority}`].filter(Boolean),n=`${e.name}=${encodeURIComponent(null!=(t=e.value)?t:"")}`;return 0===r.length?n:`${n}; ${r.join("; ")}`}function d(e){let t=new Map;for(let r of e.split(/; */)){if(!r)continue;let e=r.indexOf("=");if(-1===e){t.set(r,"true");continue}let[n,a]=[r.slice(0,e),r.slice(e+1)];try{t.set(n,decodeURIComponent(null!=a?a:"true"))}catch{}}return t}function c(e){if(!e)return;let[[t,r],...n]=d(e),{domain:a,expires:s,httponly:i,maxage:o,path:l,samesite:u,secure:p,partitioned:c,priority:m}=Object.fromEntries(n.map(([e,t])=>[e.toLowerCase().replace(/-/g,""),t]));{var g,x,v={name:t,value:decodeURIComponent(r),domain:a,...s&&{expires:new Date(s)},...i&&{httpOnly:!0},..."string"==typeof o&&{maxAge:Number(o)},path:l,...u&&{sameSite:h.includes(g=(g=u).toLowerCase())?g:void 0},...p&&{secure:!0},...m&&{priority:f.includes(x=(x=m).toLowerCase())?x:void 0},...c&&{partitioned:!0}};let e={};for(let t in v)v[t]&&(e[t]=v[t]);return e}}t.exports=((e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of s(t))i.call(e,r)||void 0===r||n(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e})(n({},"__esModule",{value:!0}),o);var h=["strict","lax","none"],f=["low","medium","high"],m=class{constructor(e){this._parsed=new Map,this._headers=e;const t=e.get("cookie");if(t)for(const[e,r]of d(t))this._parsed.set(e,{name:e,value:r})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed);if(!e.length)return r.map(([e,t])=>t);let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(([e])=>e===n).map(([e,t])=>t)}has(e){return this._parsed.has(e)}set(...e){let[t,r]=1===e.length?[e[0].name,e[0].value]:e,n=this._parsed;return n.set(t,{name:t,value:r}),this._headers.set("cookie",Array.from(n).map(([e,t])=>p(t)).join("; ")),this}delete(e){let t=this._parsed,r=Array.isArray(e)?e.map(e=>t.delete(e)):t.delete(e);return this._headers.set("cookie",Array.from(t).map(([e,t])=>p(t)).join("; ")),r}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(e=>`${e.name}=${encodeURIComponent(e.value)}`).join("; ")}},g=class{constructor(e){var t,r,n;this._parsed=new Map,this._headers=e;const a=null!=(n=null!=(r=null==(t=e.getSetCookie)?void 0:t.call(e))?r:e.get("set-cookie"))?n:[];for(const e of Array.isArray(a)?a:function(e){if(!e)return[];var t,r,n,a,s,i=[],o=0;function l(){for(;o<e.length&&/\s/.test(e.charAt(o));)o+=1;return o<e.length}for(;o<e.length;){for(t=o,s=!1;l();)if(","===(r=e.charAt(o))){for(n=o,o+=1,l(),a=o;o<e.length&&"="!==(r=e.charAt(o))&&";"!==r&&","!==r;)o+=1;o<e.length&&"="===e.charAt(o)?(s=!0,o=a,i.push(e.substring(t,n)),t=o):o=n+1}else o+=1;(!s||o>=e.length)&&i.push(e.substring(t,e.length))}return i}(a)){const t=c(e);t&&this._parsed.set(t.name,t)}}get(...e){let t="string"==typeof e[0]?e[0]:e[0].name;return this._parsed.get(t)}getAll(...e){var t;let r=Array.from(this._parsed.values());if(!e.length)return r;let n="string"==typeof e[0]?e[0]:null==(t=e[0])?void 0:t.name;return r.filter(e=>e.name===n)}has(e){return this._parsed.has(e)}set(...e){let[t,r,n]=1===e.length?[e[0].name,e[0].value,e[0]]:e,a=this._parsed;return a.set(t,function(e={name:"",value:""}){return"number"==typeof e.expires&&(e.expires=new Date(e.expires)),e.maxAge&&(e.expires=new Date(Date.now()+1e3*e.maxAge)),(null===e.path||void 0===e.path)&&(e.path="/"),e}({name:t,value:r,...n})),function(e,t){for(let[,r]of(t.delete("set-cookie"),e)){let e=p(r);t.append("set-cookie",e)}}(a,this._headers),this}delete(...e){let[t,r]="string"==typeof e[0]?[e[0]]:[e[0].name,e[0]];return this.set({...r,name:t,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(p).join("; ")}}},522734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},446786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},389147,e=>{"use strict";var t=e.i(747909),r=e.i(174017),n=e.i(996250),a=e.i(759756),s=e.i(561916),i=e.i(174677),o=e.i(869741),l=e.i(316795),u=e.i(487718),p=e.i(995169),d=e.i(47587),c=e.i(666012),h=e.i(570101),f=e.i(626937),m=e.i(10372),g=e.i(193695);e.i(52474);var x=e.i(600220),v=e.i(89171),y=e.i(522734),R=e.i(814747),w=e.i(446786);let A=R.default.join(w.default.homedir(),".spaces","update-check.json");async function C(){try{let e="@jlongo78/agent-spaces",t="0.0.0";try{let e=JSON.parse(y.default.readFileSync(A,"utf-8"));e.current&&(t=e.current)}catch{}if("0.0.0"===t)try{let e=JSON.parse(y.default.readFileSync(R.default.join(process.cwd(),"package.json"),"utf-8"));e.version&&(t=e.version)}catch{}"0.0.0"===t&&process.env.npm_package_version&&(t=process.env.npm_package_version);let r=await fetch(`https://registry.npmjs.org/${encodeURIComponent(e)}/latest`,{signal:AbortSignal.timeout(5e3)});if(!r.ok)return null;let n=await r.json(),a={current:t,latest:n.version,available:n.version!==t&&n.version>t,checkedAt:Date.now(),name:e};try{y.default.writeFileSync(A,JSON.stringify(a,null,2))}catch{}return a}catch{return null}}async function b(){try{if(y.default.existsSync(A)){let e=JSON.parse(y.default.readFileSync(A,"utf-8"));if(Date.now()-(e.checkedAt||0)<144e5)return v.NextResponse.json(e)}}catch{}let e=await C();return v.NextResponse.json(e??{available:!1})}e.s(["GET",()=>b,"dynamic",0,"force-dynamic"],936926);var _=e.i(936926);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/updates/route",pathname:"/api/updates",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/updates/route.ts",nextConfigOutput:"standalone",userland:_}),{workAsyncStorage:E,workUnitAsyncStorage:k,serverHooks:O}=S;function j(){return(0,n.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:k})}async function N(e,t,n){S.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/updates/route";v=v.replace(/\/index$/,"")||"/";let y=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!y)return t.statusCode=400,t.end("Bad Request"),null==n.waitUntil||n.waitUntil.call(n,Promise.resolve()),null;let{buildId:R,params:w,nextConfig:A,parsedUrl:C,isDraftMode:b,prerenderManifest:_,routerServerContext:E,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,resolvedPathname:j,clientReferenceManifest:N,serverActionsManifest:P}=y,T=(0,o.normalizeAppPath)(v),q=!!(_.dynamicRoutes[T]||_.routes[j]),$=async()=>((null==E?void 0:E.render404)?await E.render404(e,t,C,!1):t.end("This page could not be found"),null);if(q&&!b){let e=!!_.routes[j],t=_.dynamicRoutes[T];if(t&&!1===t.fallback&&!e){if(A.experimental.adapterPath)return await $();throw new g.NoFallbackError}}let D=null;!q||S.isDev||b||(D="/index"===(D=j)?"/":D);let U=!0===S.isDev||!q,I=q&&!U;P&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:P});let H=e.method||"GET",M=(0,s.getTracer)(),F=M.getActiveScopeSpan(),K={params:w,prerenderManifest:_,renderOpts:{experimental:{authInterrupts:!!A.experimental.authInterrupts},cacheComponents:!!A.cacheComponents,supportsDynamicResponse:U,incrementalCache:(0,a.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:A.cacheLife,waitUntil:n.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,n,a)=>S.onRequestError(e,t,n,a,E)},sharedContext:{buildId:R}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),J=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let i=async e=>S.handle(J,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=M.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==p.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let n=r.get("next.route");if(n){let t=`${H} ${n}`;e.setAttributes({"next.route":n,"http.route":n,"next.span_name":t}),e.updateName(t)}else e.updateName(`${H} ${v}`)}),o=!!(0,a.getRequestMeta)(e,"minimalMode"),l=async a=>{var s,l;let u=async({previousCacheEntry:r})=>{try{if(!o&&k&&O&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(a);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&n.waitUntil&&(n.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(L,B,s,K.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);u&&(t[m.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,n=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:n}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,E),t}},p=await S.handleResponse({req:e,nextConfig:A,cacheKey:D,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:_,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:O,responseGenerator:u,waitUntil:n.waitUntil,isMinimalMode:o});if(!q)return null;if((null==p||null==(s=p.value)?void 0:s.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(l=p.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",k?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),b&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let g=(0,h.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&q||g.delete(m.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||g.get("Cache-Control")||g.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,c.sendResponse)(L,B,new Response(p.value.body,{headers:g,status:p.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(p.BaseServerSpan.handleRequest,{spanName:`${H} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},l))}catch(t){if(t instanceof g.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:T,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:k})},!1,E),q)throw t;return await (0,c.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>N,"patchFetch",()=>j,"routeModule",()=>S,"serverHooks",()=>O,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>k],389147)}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__7c728bed._.js.map
@@ -0,0 +1,42 @@
1
+ module.exports=[590231,e=>{"use strict";var t=e.i(298564),r=e.i(254799),s=e.i(522734),n=e.i(446786),a=e.i(814747);let i=a.default.join(n.default.homedir(),".spaces","terminal_secret"),o=null;async function u(e){let u,d,l,c,p;try{if(u=(0,t.requireNetworkAuth)(e),"terminal"!==u.permissions&&"admin"!==u.permissions)return Response.json({error:`API key has "${u.permissions}" permission — "terminal" or "admin" is required.`},{status:403})}catch(e){if(e instanceof t.NetworkAuthError)return Response.json({error:e.message},{status:401});throw e}let f=(l={sub:u.username||n.default.userInfo().username,exp:Math.floor(Date.now()/1e3)+28800},c=Buffer.from(JSON.stringify(l)).toString("base64url"),p=r.default.createHmac("sha256",function(){if(o)return o;if(s.default.existsSync(i))return o=Buffer.from(s.default.readFileSync(i,"utf-8").trim(),"hex");let e=r.default.randomBytes(32),t=a.default.dirname(i);return s.default.existsSync(t)||s.default.mkdirSync(t,{recursive:!0}),s.default.writeFileSync(i,e.toString("hex"),{mode:384}),o=e,e}()).update(c).digest("base64url"),`${c}.${p}`),m=e.headers.get("host")||"localhost:3457",h="https"===e.headers.get("x-forwarded-proto")?"wss":"ws",y=process.env.NEXT_PUBLIC_WS_PATH,N=process.env.SPACES_WS_PORT;return d=y?`${h}://${m.split(":")[0]}${y}`:N?`ws://${m.split(":")[0]}:${N}`:`${h}://${m}/ws`,Response.json({token:f,wsUrl:d})}e.s(["POST",()=>u])},866910,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146);async function n(e){let n=(0,s.requireAdmin)(e);if(n)return n;let a=(0,r.listNodes)();return t.NextResponse.json(a)}async function a(e){let n,a=(0,s.requireAdmin)(e);if(a)return a;let{url:i,apiKey:o,name:u}=await e.json();if(!i||!o)return t.NextResponse.json({error:"URL and API key are required"},{status:400});if("string"!=typeof i)return t.NextResponse.json({error:"URL must be a string"},{status:400});let d=i.replace(/\/+$/,""),l=function(e){let t;try{t=new URL(e)}catch{return"URL is not parseable"}if("http:"!==t.protocol&&"https:"!==t.protocol)return"URL must be http or https";let r=t.hostname.toLowerCase();if(["localhost","0.0.0.0"].includes(r))return"Loopback hostnames are not allowed";let s=r.match(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/);if(s){let[e,t]=[parseInt(s[1],10),parseInt(s[2],10)];if(127===e)return"Loopback IPs are not allowed";if(10===e||192===e&&168===t||172===e&&t>=16&&t<=31)return"Private IPs are not allowed";if(169===e&&254===t)return"Link-local IPs are not allowed";if(0===e)return"Reserved IPs are not allowed"}return r.startsWith("[::1")||"::1"===r?"Loopback IPs are not allowed":r.startsWith("[fe80")||r.startsWith("fe80:")?"Link-local IPs are not allowed":r.startsWith("[fc")||r.startsWith("[fd")||r.startsWith("fc")||r.startsWith("fd")?"Private IPs are not allowed":null}(d);if(l)return t.NextResponse.json({error:l},{status:400});try{let e=`${d}/api/network/handshake/`,r=await fetch(e,{headers:{Authorization:`Bearer ${o}`},signal:AbortSignal.timeout(1e4)});if(!r.ok)return t.NextResponse.json({error:`Handshake failed with status ${r.status}`},{status:400});n=await r.json()}catch(e){return t.NextResponse.json({error:`Cannot reach node: ${e.message}`},{status:400})}(0,r.addNode)({id:n.nodeId,name:u||n.nodeName,url:d,apiKey:o}),(0,r.updateNodeStatus)(n.nodeId,"online",{sessionCount:n.sessionCount,version:n.version,name:u||n.nodeName});let c=(0,r.getNode)(n.nodeId);return t.NextResponse.json(c,{status:201})}e.s(["GET",()=>n,"POST",()=>a])},973436,526804,e=>{"use strict";e.i(866910),e.i(94668),e.i(585550),e.i(288938),e.i(637943),e.i(936896),e.i(70832),e.i(222853),e.i(321185),e.i(89171),e.i(298564),e.i(590231),e.i(618765),e.i(525997);var t=e.i(139195);class r{baseUrl;apiKey;nodeId;constructor(e,t){this.baseUrl=e.url.replace(/\/+$/,""),this.apiKey=t,this.nodeId=e.id}async request(e,t){let r=process.env.NODE_TLS_REJECT_UNAUTHORIZED;this.baseUrl.startsWith("https")&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED="0");try{let r=await fetch(`${this.baseUrl}${e}`,{...t,headers:{Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json",...t?.headers},redirect:"follow",signal:AbortSignal.timeout(1e4)});if(!r.ok){let e=await r.text();return{ok:!1,error:`HTTP ${r.status}: ${e}`,nodeId:this.nodeId}}let s=await r.json();return{ok:!0,data:s}}catch(e){return{ok:!1,error:e.message||"Request failed",nodeId:this.nodeId}}finally{void 0===r?delete process.env.NODE_TLS_REJECT_UNAUTHORIZED:process.env.NODE_TLS_REJECT_UNAUTHORIZED=r}}async handshake(){return this.request("/api/network/handshake")}async health(){return this.request("/api/network/health")}async getSessions(e){let t=new URLSearchParams(e||{});return this.request(`/api/network/sessions?${t}`)}async getSession(e){return this.request(`/api/network/sessions/${e}`)}async getMessages(e,t=0,r=50){return this.request(`/api/network/sessions/${e}/messages?offset=${t}&limit=${r}`)}async search(e,t){let r=new URLSearchParams({q:e,...t});return this.request(`/api/network/search?${r}`)}async getProjects(){return this.request("/api/network/projects")}async getWorkspaces(){return this.request("/api/network/workspaces/")}async getWorkspacePanes(e){return this.request(`/api/network/workspaces/${e}/`)}async getTerminalToken(){return this.request("/api/network/terminal/token",{method:"POST"})}}async function s(e,s){let n=(0,t.listNodes)().filter(e=>"offline"!==e.status),a=[],i=e.sessions.map(e=>({...e})),o=e.total;return await Promise.allSettled(n.map(async e=>{let n=(0,t.getNodeApiKey)(e.id);if(!n)return void a.push({nodeId:e.id,nodeName:e.name,error:"No API key"});let u=new r(e,n),d=await u.getSessions(s);if(d.ok){for(let t of d.data.sessions)i.push({...t,nodeId:e.id,nodeName:e.name});o+=d.data.total}else a.push({nodeId:e.id,nodeName:e.name,error:d.error})})),i.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime()),{sessions:i,total:o,errors:a}}async function n(e,s,n){let a=(0,t.listNodes)().filter(e=>"offline"!==e.status),i=[],o=e.map(e=>({...e}));return await Promise.allSettled(a.map(async e=>{let a=(0,t.getNodeApiKey)(e.id);if(!a)return void i.push({nodeId:e.id,nodeName:e.name,error:"No API key"});let u=new r(e,a),d=await u.search(s,n);if(d.ok)for(let t of d.data.results)o.push({...t,nodeId:e.id,nodeName:e.name});else i.push({nodeId:e.id,nodeName:e.name,error:d.error})})),o.sort((e,t)=>e.rank-t.rank),{results:o,errors:i}}async function a(){let e=(0,t.listNodes)().filter(e=>"offline"!==e.status),s=[],n=[];return await Promise.allSettled(e.map(async e=>{let a=(0,t.getNodeApiKey)(e.id);if(!a)return void s.push({nodeId:e.id,nodeName:e.name,error:"No API key"});let i=new r(e,a),o=await i.getWorkspaces();if(o.ok){let t=o.data.workspaces.map(t=>({...t,nodeId:e.id,nodeName:e.name}));n.push({nodeId:e.id,nodeName:e.name,workspaces:t})}else s.push({nodeId:e.id,nodeName:e.name,error:o.error})})),{nodes:n,errors:s}}e.s(["aggregateSearch",()=>n,"aggregateSessions",()=>s,"aggregateWorkspaces",()=>a],526804),e.s([],973436)},585550,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146);async function n(e){let n=(0,s.requireAdmin)(e);if(n)return n;let a=(0,r.listNodes)(),i=[];return await Promise.allSettled(a.map(async e=>{let t=(0,r.getNodeApiKey)(e.id);if(!t){(0,r.updateNodeStatus)(e.id,"error",{lastError:"No API key"}),i.push({nodeId:e.id,status:"error",error:"No API key"});return}try{let s=await fetch(`${e.url}/api/network/health`,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});if(s.ok){let n,a=await s.json();try{let r=await fetch(`${e.url}/api/network/handshake`,{headers:{Authorization:`Bearer ${t}`},signal:AbortSignal.timeout(1e4)});r.ok&&(n=(await r.json()).sessionCount)}catch{}(0,r.updateNodeStatus)(e.id,"online",{version:a.version,lastError:null,sessionCount:n}),i.push({nodeId:e.id,status:"online"})}else{let t=await s.text();(0,r.updateNodeStatus)(e.id,"error",{lastError:`HTTP ${s.status}: ${t}`}),i.push({nodeId:e.id,status:"error",error:`HTTP ${s.status}`})}}catch(t){(0,r.updateNodeStatus)(e.id,"offline",{lastError:t.message}),i.push({nodeId:e.id,status:"offline",error:t.message})}})),t.NextResponse.json({results:i})}e.s(["POST",()=>n])},321185,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146);async function n(e,{params:n}){let a=(0,s.requireAdmin)(e);if(a)return a;let{nodeId:i,path:o}=await n,u=(0,r.getNode)(i);if(!u)return t.NextResponse.json({error:"Node not found"},{status:404});let d=(0,r.getNodeApiKey)(i);if(!d)return t.NextResponse.json({error:"No API key for node"},{status:500});let l=`/api/network/${o.join("/")}`,c=e.nextUrl.search,p=`${u.url}${l}${c}`;try{let e=await fetch(p,{headers:{Authorization:`Bearer ${d}`},signal:AbortSignal.timeout(15e3)}),r=await e.json();return t.NextResponse.json(r,{status:e.status})}catch(e){return t.NextResponse.json({error:`Proxy error: ${e.message}`},{status:502})}}async function a(e,{params:n}){let a=(0,s.requireAdmin)(e);if(a)return a;let{nodeId:i,path:o}=await n,u=(0,r.getNode)(i);if(!u)return t.NextResponse.json({error:"Node not found"},{status:404});let d=(0,r.getNodeApiKey)(i);if(!d)return t.NextResponse.json({error:"No API key for node"},{status:500});let l=`/api/network/${o.join("/")}`,c=e.nextUrl.search,p=`${u.url}${l}${c}`;try{let r=await e.text(),s=await fetch(p,{method:"POST",headers:{Authorization:`Bearer ${d}`,"Content-Type":"application/json"},body:r,signal:AbortSignal.timeout(15e3)}),n=await s.json();return t.NextResponse.json(n,{status:s.status})}catch(e){return t.NextResponse.json({error:`Proxy error: ${e.message}`},{status:502})}}e.s(["GET",()=>n,"POST",()=>a])},94668,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146);async function n(e,{params:n}){let a=(0,s.requireAdmin)(e);if(a)return a;let{id:i}=await n,o=await e.json();if(!(0,r.getNode)(i))return t.NextResponse.json({error:"Node not found"},{status:404});(0,r.updateNode)(i,o);let u=(0,r.getNode)(i);return t.NextResponse.json(u)}async function a(e,{params:n}){let a=(0,s.requireAdmin)(e);if(a)return a;let{id:i}=await n;return(0,r.getNode)(i)?((0,r.removeNode)(i),t.NextResponse.json({ok:!0})):t.NextResponse.json({error:"Node not found"},{status:404})}e.s(["DELETE",()=>a,"PUT",()=>n])},637943,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146),n=e.i(446786);async function a(e){let a=(0,s.requireAdmin)(e);if(a)return a;let i=e.headers.get("x-auth-user")||n.default.userInfo().username,o=(0,r.listApiKeys)(i);return t.NextResponse.json(o)}async function i(n){let a=(0,s.requireAdmin)(n);if(a)return a;let{name:i,permissions:o}=await n.json();if(!i||"string"!=typeof i||!i.trim())return t.NextResponse.json({error:"Name is required"},{status:400});let u=n.headers.get("x-auth-user")||e.r(446786).userInfo().username,{rawKey:d,record:l}=(0,r.createApiKey)(i.trim(),o||"read",u);return t.NextResponse.json({rawKey:d,...l},{status:201})}e.s(["GET",()=>a,"POST",()=>i])},618765,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146);async function n(e){let n=(0,s.requireAdmin)(e);if(n)return n;let a=(0,r.getDiscoveredNodes)();return t.NextResponse.json(a)}e.s(["GET",()=>n])},70832,e=>{"use strict";var t=e.i(89171),r=e.i(298564),s=e.i(525997);async function n(e){try{(0,r.requireNetworkAuth)(e)}catch(e){if(e instanceof r.NetworkAuthError)return t.NextResponse.json({error:e.message},{status:401});throw e}let n=(0,s.getNodeIdentity)();return t.NextResponse.json({nodeId:n.nodeId,nodeName:n.nodeName,version:n.version,sessionCount:0,projectCount:0,workspaceCount:0})}e.s(["GET",()=>n])},936896,e=>{"use strict";var t=e.i(89171),r=e.i(139195),s=e.i(908146),n=e.i(446786);async function a(e,{params:a}){let i=(0,s.requireAdmin)(e);if(i)return i;let{id:o}=await a,u=e.headers.get("x-auth-user")||n.default.userInfo().username,d=(0,r.getNetworkDb)().prepare("SELECT username FROM api_keys WHERE id = ?").get(o);return d?d.username&&d.username!==u?t.NextResponse.json({error:"Not authorized to revoke this key"},{status:403}):((0,r.revokeApiKey)(o),t.NextResponse.json({ok:!0})):t.NextResponse.json({error:"Key not found"},{status:404})}e.s(["DELETE",()=>a])},288938,e=>{"use strict";var t=e.i(89171),r=e.i(525997),s=e.i(908146);async function n(){let e=(0,r.getNodeIdentity)();return t.NextResponse.json(e)}async function a(e){let n=(0,s.requireAdmin)(e);if(n)return n;let{name:a}=await e.json();if(!a||"string"!=typeof a||!a.trim())return t.NextResponse.json({error:"Name is required"},{status:400});(0,r.setNodeName)(a.trim());let i=(0,r.getNodeIdentity)();return t.NextResponse.json(i)}e.s(["GET",()=>n,"PUT",()=>a])},233405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},451200,(e,t,r)=>{"use strict";let s=null;t.exports.init=function(e){s=e},t.exports.getDeps=function(){return s}},365836,e=>{"use strict";var t=e.i(507304),r=e.i(460569);e.i(768724);var s=e.i(793765),n=e.i(451200),a=e.i(618393);let i=new Set,o=new Set,u=!1,d=0;async function l(){let l=(0,s.getCurrentUser)();if(i.has(l)){let e=Date.now();e-d>3e5&&(d=e,(0,r.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),i.add(l),!u){u=!0;let{sseManager:r}=await e.A(972354);n.init({getDb:t.getDb,sseManager:r}),"function"==typeof a.runMigrations&&a.runMigrations((0,t.getDb)())}if(!o.has(l)){o.add(l);try{let e=await (0,r.fullSync)();console.log(`[spaces:${l}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,r.enrichMissingSessions)();t>0&&console.log(`[spaces:${l}] Enriched ${t} sessions from JSONL`),d=Date.now(),(0,r.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${l}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${l}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${l}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${l}] Sync error:`,e)}finally{o.delete(l)}}}e.s(["ensureInitialized",()=>l])},525997,e=>{"use strict";var t=e.i(254799),r=e.i(522734),s=e.i(814747),n=e.i(446786);let a=s.default.join(n.default.homedir(),".spaces","node.json"),i=null;function o(){try{let e=s.default.join(process.cwd(),"package.json");return JSON.parse(r.default.readFileSync(e,"utf-8")).version||"0.0.0"}catch{return"0.0.0"}}function u(){if(i)return{...i,version:o()};let e=s.default.dirname(a);if(r.default.existsSync(e)||r.default.mkdirSync(e,{recursive:!0}),r.default.existsSync(a))try{let e=JSON.parse(r.default.readFileSync(a,"utf-8"));return i={nodeId:e.nodeId,nodeName:e.nodeName||n.default.hostname(),version:o(),createdAt:e.createdAt}}catch{}let u={nodeId:t.default.randomUUID(),nodeName:n.default.hostname(),version:o(),createdAt:new Date().toISOString()};return r.default.writeFileSync(a,JSON.stringify({nodeId:u.nodeId,nodeName:u.nodeName,createdAt:u.createdAt},null,2),{mode:384}),i=u,u}function d(e){let t=u(),s={nodeId:t.nodeId,nodeName:e,createdAt:t.createdAt};r.default.writeFileSync(a,JSON.stringify(s,null,2),{mode:384}),i={...s,version:o()}}e.s(["getNodeIdentity",()=>u,"setNodeName",()=>d])},139195,e=>{"use strict";var t=e.i(785148),r=e.i(254799),s=e.i(814747),n=e.i(522734),a=e.i(446786);let i=s.default.join(a.default.homedir(),".spaces","network.db"),o=s.default.join(a.default.homedir(),".spaces","terminal_secret"),u=null;function d(){if(u)return u;let e=s.default.dirname(i);n.default.existsSync(e)||n.default.mkdirSync(e,{recursive:!0});let r=new t.default(i);r.pragma("journal_mode = WAL"),r.pragma("synchronous = NORMAL"),r.pragma("foreign_keys = ON"),r.exec(`
2
+ CREATE TABLE IF NOT EXISTS nodes (
3
+ id TEXT PRIMARY KEY,
4
+ name TEXT NOT NULL,
5
+ url TEXT NOT NULL,
6
+ api_key_encrypted TEXT NOT NULL,
7
+ api_key_hint TEXT NOT NULL DEFAULT '',
8
+ status TEXT NOT NULL DEFAULT 'unknown',
9
+ last_seen TEXT,
10
+ last_error TEXT,
11
+ session_count INTEGER DEFAULT 0,
12
+ version TEXT,
13
+ discovered_via TEXT DEFAULT 'manual',
14
+ created TEXT DEFAULT (datetime('now')),
15
+ updated TEXT DEFAULT (datetime('now'))
16
+ );
17
+
18
+ CREATE TABLE IF NOT EXISTS api_keys (
19
+ id TEXT PRIMARY KEY,
20
+ name TEXT NOT NULL,
21
+ key_hash TEXT NOT NULL,
22
+ key_prefix TEXT NOT NULL DEFAULT '',
23
+ permissions TEXT NOT NULL DEFAULT 'read',
24
+ last_used TEXT,
25
+ created TEXT DEFAULT (datetime('now')),
26
+ expires TEXT,
27
+ username TEXT
28
+ );
29
+ `);try{r.exec("ALTER TABLE api_keys ADD COLUMN username TEXT")}catch{}return u=r,r}function l(){if(n.default.existsSync(o))return Buffer.from(n.default.readFileSync(o,"utf-8").trim(),"hex");let e=r.default.randomBytes(32),t=s.default.dirname(o);return n.default.existsSync(t)||n.default.mkdirSync(t,{recursive:!0}),n.default.writeFileSync(o,e.toString("hex"),{mode:384}),e}function c(e){return{id:e.id,name:e.name,url:e.url,apiKeyHint:e.api_key_hint,status:e.status,lastSeen:e.last_seen,lastError:e.last_error,sessionCount:e.session_count,version:e.version,discoveredVia:e.discovered_via,created:e.created,updated:e.updated}}function p(e){return{id:e.id,name:e.name,keyPrefix:e.key_prefix,permissions:e.permissions,lastUsed:e.last_used,created:e.created,expires:e.expires,username:e.username||null}}function f(e){var t;let s,n,a,i,o,u=d(),c=e.id||r.default.randomUUID(),p=(t=e.apiKey,s=l(),n=r.default.randomBytes(12),a=r.default.createCipheriv("aes-256-gcm",s,n),i=Buffer.concat([a.update(t,"utf-8"),a.final()]),o=a.getAuthTag(),`${n.toString("base64")}:${o.toString("base64")}:${i.toString("base64")}`),f=e.apiKey.slice(-4);return u.prepare(`
30
+ INSERT INTO nodes (id, name, url, api_key_encrypted, api_key_hint, discovered_via)
31
+ VALUES (?, ?, ?, ?, ?, ?)
32
+ ON CONFLICT(id) DO UPDATE SET
33
+ name=excluded.name, url=excluded.url,
34
+ api_key_encrypted=excluded.api_key_encrypted,
35
+ api_key_hint=excluded.api_key_hint,
36
+ updated=datetime('now')
37
+ `).run(c,e.name,e.url,p,f,e.discoveredVia||"manual"),h(c)}function m(e){d().prepare("DELETE FROM nodes WHERE id = ?").run(e)}function h(e){let t=d().prepare("SELECT * FROM nodes WHERE id = ?").get(e);return t?c(t):null}function y(){return d().prepare("SELECT * FROM nodes ORDER BY created").all().map(c)}function N(e,t,r){let s=d(),n=["status = ?","updated = datetime('now')"],a=[t];"online"===t&&n.push("last_seen = datetime('now')"),r?.lastError!==void 0&&(n.push("last_error = ?"),a.push(r.lastError)),r?.sessionCount!==void 0&&(n.push("session_count = ?"),a.push(r.sessionCount)),r?.version!==void 0&&(n.push("version = ?"),a.push(r.version)),r?.name!==void 0&&(n.push("name = ?"),a.push(r.name)),a.push(e),s.prepare(`UPDATE nodes SET ${n.join(", ")} WHERE id = ?`).run(...a)}function E(e,t){let r=d(),s=["updated = datetime('now')"],n=[];void 0!==t.name&&(s.push("name = ?"),n.push(t.name)),void 0!==t.url&&(s.push("url = ?"),n.push(t.url)),n.push(e),r.prepare(`UPDATE nodes SET ${s.join(", ")} WHERE id = ?`).run(...n)}function T(e){let t=d().prepare("SELECT api_key_encrypted FROM nodes WHERE id = ?").get(e);if(!t)return null;try{return function(e){let t=l(),[s,n,a]=e.split(":");if(!s||!n||!a)throw Error("Invalid encrypted key format");let i=Buffer.from(s,"base64"),o=Buffer.from(n,"base64"),u=Buffer.from(a,"base64"),d=r.default.createDecipheriv("aes-256-gcm",t,i);return d.setAuthTag(o),Buffer.concat([d.update(u),d.final()]).toString("utf-8")}(t.api_key_encrypted)}catch{return null}}function g(e,t="read",s){let n,a,i=d(),o=r.default.randomUUID(),u=`spk_${r.default.randomBytes(32).toString("hex")}`,l=(n=r.default.randomBytes(16).toString("hex"),a=r.default.scryptSync(u,n,64).toString("hex"),`${n}:${a}`),c=u.slice(0,12);return i.prepare(`
38
+ INSERT INTO api_keys (id, name, key_hash, key_prefix, permissions, username)
39
+ VALUES (?, ?, ?, ?, ?, ?)
40
+ `).run(o,e,l,c,t,s||null),{rawKey:u,record:p(i.prepare("SELECT * FROM api_keys WHERE id = ?").get(o))}}function w(e){let t=d();for(let s of t.prepare("SELECT * FROM api_keys").all())if(!(s.expires&&new Date(s.expires)<new Date)&&function(e,t){let[s,n]=t.split(":");if(!s||!n)return!1;let a=r.default.scryptSync(e,s,64).toString("hex");try{return r.default.timingSafeEqual(Buffer.from(n,"hex"),Buffer.from(a,"hex"))}catch{return!1}}(e,s.key_hash))return t.prepare("UPDATE api_keys SET last_used = datetime('now') WHERE id = ?").run(s.id),p(s);return null}function k(e){let t=d();return e?t.prepare("SELECT * FROM api_keys WHERE username = ? ORDER BY created").all(e).map(p):t.prepare("SELECT * FROM api_keys ORDER BY created").all().map(p)}function S(e){d().prepare("DELETE FROM api_keys WHERE id = ?").run(e)}function A(){return d().prepare("SELECT * FROM nodes WHERE discovered_via = 'mdns' AND api_key_encrypted = '' ORDER BY created").all().map(c)}e.s(["addNode",()=>f,"createApiKey",()=>g,"getDiscoveredNodes",()=>A,"getNetworkDb",()=>d,"getNode",()=>h,"getNodeApiKey",()=>T,"listApiKeys",()=>k,"listNodes",()=>y,"removeNode",()=>m,"revokeApiKey",()=>S,"updateNode",()=>E,"updateNodeStatus",()=>N,"validateApiKey",()=>w])},298564,e=>{"use strict";var t=e.i(139195);function r(e){let r=function(e){let r=e.headers.get("authorization");if(!r)return null;let s=r.match(/^Bearer\s+(spk_\w+)$/);return s?(0,t.validateApiKey)(s[1]):null}(e);if(!r)throw new s("Invalid or missing API key");return r}class s extends Error{constructor(e){super(e),this.name="NetworkAuthError"}}e.s(["NetworkAuthError",()=>s,"requireNetworkAuth",()=>r])},222853,e=>{"use strict";var t=e.i(89171),r=e.i(298564),s=e.i(525997);async function n(e){try{(0,r.requireNetworkAuth)(e)}catch(e){if(e instanceof r.NetworkAuthError)return t.NextResponse.json({error:e.message},{status:401});throw e}let n=(0,s.getNodeIdentity)();return t.NextResponse.json({status:"ok",nodeId:n.nodeId,nodeName:n.nodeName,version:n.version,uptime:process.uptime()})}e.s(["GET",()=>n])}];
41
+
42
+ //# sourceMappingURL=%5Broot-of-the-server%5D__7da958b5._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[233405,(e,t,n)=>{t.exports=e.x("child_process",()=>require("child_process"))},451200,(e,t,n)=>{"use strict";let r=null;t.exports.init=function(e){r=e},t.exports.getDeps=function(){return r}},365836,e=>{"use strict";var t=e.i(507304),n=e.i(460569);e.i(768724);var r=e.i(793765),s=e.i(451200),a=e.i(618393);let o=new Set,i=new Set,l=!1,u=0;async function c(){let c=(0,r.getCurrentUser)();if(o.has(c)){let e=Date.now();e-u>3e5&&(u=e,(0,n.buildFtsIndex)().catch(()=>{}));return}if((0,t.getDb)(),o.add(c),!l){l=!0;let{sseManager:n}=await e.A(972354);s.init({getDb:t.getDb,sseManager:n}),"function"==typeof a.runMigrations&&a.runMigrations((0,t.getDb)())}if(!i.has(c)){i.add(c);try{let e=await (0,n.fullSync)();console.log(`[spaces:${c}] Synced ${e.projects} projects, ${e.sessions} sessions`);let t=await (0,n.enrichMissingSessions)();t>0&&console.log(`[spaces:${c}] Enriched ${t} sessions from JSONL`),u=Date.now(),(0,n.buildFtsIndex)((e,t)=>{e>0&&e%10==0&&console.log(`[spaces:${c}] FTS indexing: ${e}/${t}`)}).then(e=>{e>0&&console.log(`[spaces:${c}] FTS indexed ${e} sessions`)}).catch(e=>{console.error(`[spaces:${c}] FTS indexing error:`,e)})}catch(e){console.error(`[spaces:${c}] Sync error:`,e)}finally{i.delete(c)}}}e.s(["ensureInitialized",()=>c])},939979,e=>{"use strict";var t=e.i(747909),n=e.i(174017),r=e.i(996250),s=e.i(759756),a=e.i(561916),o=e.i(174677),i=e.i(869741),l=e.i(316795),u=e.i(487718),c=e.i(995169),d=e.i(47587),p=e.i(666012),h=e.i(570101),R=e.i(626937),g=e.i(10372),f=e.i(193695);e.i(52474);var v=e.i(600220),w=e.i(89171);e.i(768724);var x=e.i(793765),E=e.i(365836),m=e.i(550837);async function y(e){let t=(0,x.getAuthUser)(e);return(0,x.withUser)(t,async()=>{await (0,E.ensureInitialized)();let t=await e.json(),{sessionIds:n,action:r}=t;if(!Array.isArray(n)||0===n.length)return w.NextResponse.json({error:"No sessions selected"},{status:400});switch(r){case"tag":return(0,m.bulkAddTag)(n,t.tagName),w.NextResponse.json({success:!0,count:n.length});case"workspace":return(0,m.bulkAddToWorkspace)(n,t.workspaceId),w.NextResponse.json({success:!0,count:n.length});case"star":return(0,m.bulkStar)(n,!0),w.NextResponse.json({success:!0,count:n.length});case"unstar":return(0,m.bulkStar)(n,!1),w.NextResponse.json({success:!0,count:n.length});default:return w.NextResponse.json({error:"Unknown action"},{status:400})}})}e.s(["POST",()=>y],322670);var b=e.i(322670);let C=new t.AppRouteRouteModule({definition:{kind:n.RouteKind.APP_ROUTE,page:"/api/bulk/route",pathname:"/api/bulk",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/bulk/route.ts",nextConfigOutput:"standalone",userland:b}),{workAsyncStorage:A,workUnitAsyncStorage:N,serverHooks:S}=C;function T(){return(0,r.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:N})}async function _(e,t,r){C.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/bulk/route";w=w.replace(/\/index$/,"")||"/";let x=await C.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!x)return t.statusCode=400,t.end("Bad Request"),null==r.waitUntil||r.waitUntil.call(r,Promise.resolve()),null;let{buildId:E,params:m,nextConfig:y,parsedUrl:b,isDraftMode:A,prerenderManifest:N,routerServerContext:S,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:O}=x,$=(0,i.normalizeAppPath)(w),D=!!(N.dynamicRoutes[$]||N.routes[k]),I=async()=>((null==S?void 0:S.render404)?await S.render404(e,t,b,!1):t.end("This page could not be found"),null);if(D&&!A){let e=!!N.routes[k],t=N.dynamicRoutes[$];if(t&&!1===t.fallback&&!e){if(y.experimental.adapterPath)return await I();throw new f.NoFallbackError}}let U=null;!D||C.isDev||A||(U="/index"===(U=k)?"/":U);let j=!0===C.isDev||!D,H=D&&!j;O&&P&&(0,o.setManifestsSingleton)({page:w,clientReferenceManifest:P,serverActionsManifest:O});let q=e.method||"GET",M=(0,a.getTracer)(),F=M.getActiveScopeSpan(),K={params:m,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:j,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:y.cacheLife,waitUntil:r.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,n,r,s)=>C.onRequestError(e,t,r,s,S)},sharedContext:{buildId:E}},L=new l.NodeNextRequest(e),B=new l.NodeNextResponse(t),z=u.NextRequestAdapter.fromNodeNextRequest(L,(0,u.signalFromNodeResponse)(t));try{let o=async e=>C.handle(z,K).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let n=M.getRootSpanAttributes();if(!n)return;if(n.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${n.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=n.get("next.route");if(r){let t=`${q} ${r}`;e.setAttributes({"next.route":r,"http.route":r,"next.span_name":t}),e.updateName(t)}else e.updateName(`${q} ${w}`)}),i=!!(0,s.getRequestMeta)(e,"minimalMode"),l=async s=>{var a,l;let u=async({previousCacheEntry:n})=>{try{if(!i&&T&&_&&!n)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let a=await o(s);e.fetchMetrics=K.renderOpts.fetchMetrics;let l=K.renderOpts.pendingWaitUntil;l&&r.waitUntil&&(r.waitUntil(l),l=void 0);let u=K.renderOpts.collectedTags;if(!D)return await (0,p.sendResponse)(L,B,a,K.renderOpts.pendingWaitUntil),null;{let e=await a.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(a.headers);u&&(t[g.NEXT_CACHE_TAGS_HEADER]=u),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let n=void 0!==K.renderOpts.collectedRevalidate&&!(K.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&K.renderOpts.collectedRevalidate,r=void 0===K.renderOpts.collectedExpire||K.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:K.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:a.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:n,expire:r}}}}catch(t){throw(null==n?void 0:n.isStale)&&await C.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),t}},c=await C.handleResponse({req:e,nextConfig:y,cacheKey:U,routeKind:n.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:_,responseGenerator:u,waitUntil:r.waitUntil,isMinimalMode:i});if(!D)return null;if((null==c||null==(a=c.value)?void 0:a.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==c||null==(l=c.value)?void 0:l.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});i||t.setHeader("x-nextjs-cache",T?"REVALIDATED":c.isMiss?"MISS":c.isStale?"STALE":"HIT"),A&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,h.fromNodeOutgoingHttpHeaders)(c.value.headers);return i&&D||f.delete(g.NEXT_CACHE_TAGS_HEADER),!c.cacheControl||t.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,R.getCacheControlHeader)(c.cacheControl)),await (0,p.sendResponse)(L,B,new Response(c.value.body,{headers:f,status:c.value.status||200})),null};F?await l(F):await M.withPropagatedContext(e.headers,()=>M.trace(c.BaseServerSpan.handleRequest,{spanName:`${q} ${w}`,kind:a.SpanKind.SERVER,attributes:{"http.method":q,"http.target":e.url}},l))}catch(t){if(t instanceof f.NoFallbackError||await C.onRequestError(e,t,{routerKind:"App Router",routePath:$,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:T})},!1,S),D)throw t;return await (0,p.sendResponse)(L,B,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>T,"routeModule",()=>C,"serverHooks",()=>S,"workAsyncStorage",()=>A,"workUnitAsyncStorage",()=>N],939979)},972354,e=>{e.v(t=>Promise.all(["server/chunks/src_lib_events_sse_ts_1ad73980._.js"].map(t=>e.l(t))).then(()=>t(920776)))}];
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__7daed406._.js.map